如何用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 正则式使用心得
May 07 Python
K-近邻算法的python实现代码分享
Dec 09 Python
python3.5+tesseract+adb实现西瓜视频或头脑王者辅助答题
Jan 17 Python
在Pycharm中使用GitHub的方法步骤
Jun 13 Python
python之当你发现QTimer不能用时的解决方法
Jun 21 Python
Django 对IP访问频率进行限制的例子
Aug 30 Python
python Dijkstra算法实现最短路径问题的方法
Sep 19 Python
python模拟点击网页按钮实现方法
Feb 25 Python
Python实现CAN报文转换工具教程
May 05 Python
基于python和flask实现http接口过程解析
Jun 15 Python
Python识别处理照片中的条形码
Nov 16 Python
DjangoRestFramework 使用 simpleJWT 登陆认证完整记录
Jun 22 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
《魔兽争霸3:重制版》更新 多项视觉效果调整
2020/05/04 魔兽争霸
php中global和$GLOBALS[]的分析之一
2012/02/02 PHP
如何正确配置Nginx + PHP
2016/07/15 PHP
yii2 url重写并隐藏index.php方法
2018/12/10 PHP
PHP命名空间简单用法示例
2018/12/28 PHP
JS模拟的QQ面板上的多级可展开的菜单
2009/10/10 Javascript
jQuery 前的按键判断代码
2010/03/19 Javascript
Jquery实现带动画效果的经典二级导航菜单
2013/03/22 Javascript
浅谈jquery中的each方法$.each、this.each、$.fn.each
2016/06/23 Javascript
JavaScript中访问id对象 属性的方式访问属性(实例代码)
2016/10/28 Javascript
JS闭包与延迟求值用法示例
2016/12/22 Javascript
js实现用户输入的小写字母自动转大写字母的方法
2017/01/21 Javascript
vue 打包后的文件部署到express服务器上的方法
2017/08/09 Javascript
微信小程序slider组件使用详解
2018/01/31 Javascript
Vue2.0实现调用摄像头进行拍照功能 exif.js实现图片上传功能
2018/04/28 Javascript
vue 项目中当访问路由不存在的时候默认访问404页面操作
2020/08/31 Javascript
在HTML中使用JavaScript的两种方法
2020/12/24 Javascript
python 实现堆排序算法代码
2012/06/05 Python
python的描述符(descriptor)、装饰器(property)造成的一个无限递归问题分享
2014/07/09 Python
django 2.0更新的10条注意事项总结
2018/01/05 Python
Python实现Kmeans聚类算法
2020/06/10 Python
Python版中国省市经纬度
2020/02/11 Python
Python爬取阿拉丁统计信息过程图解
2020/05/12 Python
使用Keras预训练好的模型进行目标类别预测详解
2020/06/27 Python
美国精品家居用品网站:US-Mattress
2016/08/24 全球购物
ZINVO手表官网:男士和女士手表
2019/03/10 全球购物
Made in Design德国:设计师家具、灯具和装饰
2019/10/31 全球购物
请用用Java代码写一个堆栈
2012/01/26 面试题
销售工作岗位职责
2013/12/24 职场文书
师说教学反思
2014/02/07 职场文书
文明市民先进事迹
2014/05/15 职场文书
生产助理岗位职责
2014/06/18 职场文书
奥巴马当选演讲稿
2014/09/10 职场文书
学生违纪检讨书200字
2014/10/21 职场文书
python之PySide2安装使用及QT Designer UI设计案例教程
2021/07/26 Python
python多次执行绘制条形图
2022/04/20 Python