如何用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读取Excel的方法实例分析
Jul 11 Python
Python使用poplib模块和smtplib模块收发电子邮件的教程
Jul 02 Python
详解Python 2.6 升级至 Python 2.7 的实践心得
Apr 27 Python
Python实现中文数字转换为阿拉伯数字的方法示例
May 26 Python
python实现批量注册网站用户的示例
Feb 22 Python
Python 中的参数传递、返回值、浅拷贝、深拷贝
Jun 25 Python
用vue.js组件模拟v-model指令实例方法
Jul 05 Python
django连接mysql数据库及建表操作实例详解
Dec 10 Python
python3 xpath和requests应用详解
Mar 06 Python
keras中的卷积层&池化层的用法
May 22 Python
python urllib和urllib3知识点总结
Feb 08 Python
详解python的内存分配机制
May 10 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 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
2012/10/05 PHP
深入浅析yii2-gii自定义模板的方法
2016/04/26 PHP
Code:findPosX 和 findPosY
2006/12/20 Javascript
解javascript 混淆加密收藏
2009/01/16 Javascript
js删除所有的cookie的代码
2010/11/25 Javascript
jQuery 删除/替换DOM元素的几种方式
2014/05/20 Javascript
node.js中的fs.writeFile方法使用说明
2014/12/14 Javascript
javascript引用类型指针的工作方式
2015/04/13 Javascript
使用bootstrapValidator插件进行动态添加表单元素并校验
2016/09/28 Javascript
Bootstrap table使用方法详细介绍
2016/12/09 Javascript
javascript设计模式之Adapter模式【适配器模式】实现方法示例
2017/01/13 Javascript
Node.js pipe实现源码解析
2017/08/12 Javascript
对于input 框限定输入值为浮点型的js代码
2017/09/25 Javascript
nodejs中Express与Koa2对比分析
2018/02/06 NodeJs
vue小白入门教程
2018/04/02 Javascript
node.js微信小程序配置消息推送的实现
2019/02/13 Javascript
electron踩坑之remote of undefined的解决
2020/10/06 Javascript
[03:49]显微镜下的DOTA2第十五期—VG登基之路完美团
2014/06/24 DOTA
python操作MySQL数据库的方法分享
2012/05/29 Python
用python删除java文件头上版权信息的方法
2014/07/31 Python
详解python中字典的循环遍历的两种方式
2017/02/07 Python
flask框架视图函数用法示例
2018/07/19 Python
实例讲解Python中整数的最大值输出
2019/03/17 Python
关于pytorch中网络loss传播和参数更新的理解
2019/08/20 Python
Python3运算符常见用法分析
2020/02/14 Python
Python实现Word表格转成Excel表格的示例代码
2020/04/16 Python
如何理解python面向对象编程
2020/06/01 Python
Tensorflow--取tensorf指定列的操作方式
2020/06/30 Python
Sisley法国希思黎中国官网:享誉全球的奢华植物美容品牌
2019/06/30 全球购物
监理中标通知书
2015/04/16 职场文书
大国崛起日本观后感
2015/06/02 职场文书
教师继续教育反思周记
2015/06/25 职场文书
感恩教师主题班会
2015/08/12 职场文书
创业计划书之书店
2019/09/10 职场文书
quickjs 封装 JavaScript 沙箱详情
2021/11/02 Javascript
Python语法学习之进程的创建与常用方法详解
2022/04/08 Python