如何用python绘制雷达图


Posted in Python onApril 24, 2021

雷达图是以从同一点开始的轴上表示的三个或更多个定量变量的二维图表的形式显示多变量数据的图形方法,雷达图通常用于综合分析多个指标,具有完整,清晰和直观的优点。

如何用python绘制雷达图

下面以实际例子给大家讲解一下雷达图的应用场景和绘制方法:

一、比较汽车性能

这类雷达图一般用于比较同类事物不同纬度性能的优劣,以奥迪A4L时尚动感型和凯迪拉克CT4精英型为例,我们来画一下这两种汽车的雷达图,代码如下:

import pyecharts.options as opts
from pyecharts.charts import Radar
v1 = [[110, 9.7, 6.2, 56, 150, 1610]]
v2 = [[174, 6.9, 6.8, 66, 237, 1540]]
c=(
    Radar(init_opts=opts.InitOpts(bg_color="#3CB371"))   #设置背景颜色
    .add_schema(
        schema=[
            opts.RadarIndicatorItem(name="最大功率率(KW)", max_=200),
            opts.RadarIndicatorItem(name="百米提速(秒)", max_=12),
            opts.RadarIndicatorItem(name="综合油耗(L/100KM)", max_=20),
            opts.RadarIndicatorItem(name="油箱容积(L)", max_=100),
            opts.RadarIndicatorItem(name="马力(Ps)", max_=300),
            opts.RadarIndicatorItem(name="整车质量KG()", max_=2000),
        ],
        splitarea_opt=opts.SplitAreaOpts(
            is_show=True, areastyle_opts=opts.AreaStyleOpts(opacity=1)  #是否显示分隔区域,透明度设置为1
        ),
        textstyle_opts=opts.TextStyleOpts(color="#fff"),
    )
    .add(
        series_name="奥迪A4L时尚动感型",
        data=v1,
        linestyle_opts=opts.LineStyleOpts(color="#8B008B",width=2),   #线的颜色、宽度
    )
    .add(
        series_name="凯迪拉克CT4精英型",
        data=v2,
        linestyle_opts=opts.LineStyleOpts(color="#FFA500",width=2),   #线的颜色、宽度
    )
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))  #不显示数字
    .set_global_opts(
        title_opts=opts.TitleOpts(title="汽车性能比较"), legend_opts=opts.LegendOpts()
    )
)
c.render_notebook()

如何用python绘制雷达图

参数介绍:
1.通过设置InitOpts的bg_color参数,可以改变背景颜色
2.通过设置add_schema的schema参数,可以添加更多纬度变量
3.通过设置LineStyleOpts的color参数,可以设置线的颜色和宽度

通过雷达图,可以清晰的比较两种汽车性能指标的好坏,非常直观

如果感觉两台车不过瘾,我们可以再加1台:

如何用python绘制雷达图

二、比较不同城市近期天气状况

from pyecharts import options as opts
from pyecharts.charts import Radar

value_bj = [
    [55, 9, 56, 0.46, 18, 6, 1],
    [25, 11, 21, 0.65, 34, 9, 2],
    [56, 7, 63, 0.3, 14, 5, 3],
    [33, 7, 29, 0.33, 16, 6, 4],
    [42, 24, 44, 0.76, 40, 16, 5],
    [82, 58, 90, 1.77, 68, 33, 6],
    [74, 49, 77, 1.46, 48, 27, 7],
    [78, 55, 80, 1.29, 59, 29, 8],
    [267, 216, 280, 4.8, 108, 64, 9],
    [185, 127, 216, 2.52, 61, 27, 10],
    [39, 19, 38, 0.57, 31, 15, 11],
    [41, 11, 40, 0.43, 21, 7, 12],
]
value_sh = [
    [91, 45, 125, 0.82, 34, 23, 1],
    [65, 27, 78, 0.86, 45, 29, 2],
    [83, 60, 84, 1.09, 73, 27, 3],
    [109, 81, 121, 1.28, 68, 51, 4],
    [106, 77, 114, 1.07, 55, 51, 5],
    [109, 81, 121, 1.28, 68, 51, 6],
    [106, 77, 114, 1.07, 55, 51, 7],
    [89, 65, 78, 0.86, 51, 26, 8],
    [53, 33, 47, 0.64, 50, 17, 9],
    [80, 55, 80, 1.01, 75, 24, 10],
    [117, 81, 124, 1.03, 45, 24, 11],
    [99, 71, 142, 1.1, 62, 42, 12],
]
c_schema = [
    {"name": "AQI", "max": 300, "min": 5},
    {"name": "PM2.5", "max": 250, "min": 20},
    {"name": "PM10", "max": 300, "min": 5},
    {"name": "CO", "max": 5},
    {"name": "NO2", "max": 200},
    {"name": "SO2", "max": 100},
]
c = (
    Radar(init_opts=opts.InitOpts(bg_color="#8B658B"))
    .add_schema(schema=c_schema, shape="polygon")
    .add("北京", value_bj,color="#8B008B",linestyle_opts=opts.LineStyleOpts(width=2))
    .add("上海", value_sh,color="#FF4500",linestyle_opts=opts.LineStyleOpts(width=2))
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(title_opts=opts.TitleOpts(title="一线城市空气质量比较"))
)
c.render_notebook()

如何用python绘制雷达图

通过增加数据种类,可以比较同一纬度、不同时间下的差距,如上图,通过展示北京、上海两座城市12天的天气情况,可以清晰的看出上海的天气要比北京好。

以上就是如何用python绘制雷达图的详细内容,更多关于python绘制雷达图的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python解析树及树的遍历
Feb 03 Python
解决Python pandas df 写入excel 出现的问题
Jul 04 Python
Flask模拟实现CSRF攻击的方法
Jul 24 Python
Python中整数的缓存机制讲解
Feb 16 Python
解决python flask中config配置管理的问题
Jul 26 Python
Flask框架实现的前端RSA加密与后端Python解密功能详解
Aug 13 Python
python中的逆序遍历实例
Dec 25 Python
Python常用模块sys,os,time,random功能与用法实例分析
Jan 07 Python
python的列表List求均值和中位数实例
Mar 03 Python
pyCharm 实现关闭代码检查
Jun 09 Python
Python:__eq__和__str__函数的使用示例
Sep 26 Python
python超详细实现完整学生成绩管理系统
Mar 17 Python
两行代码解决Jupyter Notebook中文不能显示的问题
python基础详解之if循环语句
Apr 24 #Python
解决jupyter notebook图片显示模糊和保存清晰图片的操作
Jupyter notebook 输出部分显示不全的解决方案
Apr 24 #Python
Python opencv缺陷检测的实现及问题解决
解决jupyter notebook启动后没有token的坑
numpy数据类型dtype转换实现
Apr 24 #Python
You might like
解析php addslashes()与addclashes()函数的区别和比较
2013/06/24 PHP
php socket客户端及服务器端应用实例
2014/07/04 PHP
Laravel搭建后台登录系统步骤详解
2016/07/26 PHP
Yii2选项卡的简单使用
2017/05/26 PHP
PHP迭代器和迭代的实现与使用方法分析
2018/04/19 PHP
PHP 使用位运算实现四则运算的代码
2021/03/09 PHP
Eval and new funciton not the same thing
2012/12/27 Javascript
JavaScript实现复制功能各浏览器支持情况实测
2013/07/18 Javascript
jquery的ajax简单结构示例代码
2014/02/17 Javascript
wangEditor编辑器失去焦点后仍然可以在原位置插入图片分析
2015/05/06 Javascript
Bootstrap实现下拉菜单效果
2016/04/29 Javascript
jquery实现下拉框功能效果【实例代码】
2016/05/06 Javascript
Angular 中 select指令用法详解
2016/09/29 Javascript
AngularJS入门教程一:路由用法初探
2017/05/27 Javascript
基于jQuery实现图片推拉门动画效果的两种方法
2017/08/26 jQuery
Javacript中自定义的map.js  的方法
2017/11/26 Javascript
新手入门带你学习JavaScript引擎运行原理
2019/06/24 Javascript
uniapp电商小程序实现订单30分钟倒计时
2020/11/01 Javascript
[02:29]完美世界高校联赛上海赛区回顾
2015/12/15 DOTA
python实现博客文章爬虫示例
2014/02/26 Python
解析Python中的二进制位运算符
2015/05/13 Python
在Python中定义和使用抽象类的方法
2016/06/30 Python
Python Grid使用和布局详解
2018/06/30 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/27 Python
实例讲解python中的协程
2018/10/08 Python
Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解
2020/02/18 Python
python爬取微博评论的实例讲解
2021/01/15 Python
对CSS3选择器的研究(详解)
2016/09/16 HTML / CSS
html5教你做炫酷的碎片式图片切换 (canvas)
2017/07/28 HTML / CSS
StubHub西班牙:购买和出售全球活动门票
2017/06/05 全球购物
JDK安装目录下有哪些内容
2014/08/25 面试题
致跳远、跳高运动员广播稿
2014/01/09 职场文书
小学开学寄语
2014/01/19 职场文书
2014年党务公开实施方案
2014/02/27 职场文书
2015年助理工程师工作总结
2015/04/03 职场文书
2015年社区关工委工作总结
2015/04/03 职场文书