如何用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自动裁剪图像代码分享
Nov 25 Python
浅谈Python中的zip()与*zip()函数详解
Feb 24 Python
Python numpy 提取矩阵的某一行或某一列的实例
Apr 03 Python
python smtplib模块自动收发邮件功能(一)
May 22 Python
基于python OpenCV实现动态人脸检测
May 25 Python
Python+OpenCV实现图像融合的原理及代码
Dec 03 Python
python Elasticsearch索引建立和数据的上传详解
Aug 04 Python
pandas的resample重采样的使用
Apr 24 Python
浅谈TensorFlow中读取图像数据的三种方式
Jun 30 Python
python利用platform模块获取系统信息
Oct 09 Python
python 逆向爬虫正确调用 JAR 加密逻辑
Jan 12 Python
python 利用matplotlib在3D空间中绘制平面的案例
Feb 06 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中SESSION使用中的一点经验总结
2012/03/30 PHP
php实现搜索一维数组元素并删除二维数组对应元素的方法
2015/07/06 PHP
PHP文件缓存类实现代码
2015/10/26 PHP
PHP自带方法验证邮箱是否存在
2016/02/01 PHP
PHP实现的链式队列结构示例
2017/09/15 PHP
PHP精确到毫秒秒杀倒计时实例详解
2019/03/14 PHP
再谈ie和firefox下的document.all属性
2009/10/21 Javascript
原生javascript兼容性测试实例
2013/07/01 Javascript
ie与ff下的event事件使用介绍
2013/11/25 Javascript
jQuery将所有被选中的checkbox某个属性值连接成字符串的方法
2015/01/24 Javascript
JavaScript实现添加、查找、删除元素
2015/07/02 Javascript
检查表单元素的值是否为空的实例代码
2016/06/16 Javascript
js自定义QQ菜单效果
2017/01/10 Javascript
javascript作用域链与执行环境详解
2017/03/25 Javascript
vue时间格式化实例代码
2017/06/13 Javascript
Angular学习教程之RouterLink花式跳转
2018/05/03 Javascript
通过实例解析js简易模块加载器
2019/06/17 Javascript
jQuery属性选择器用法实例分析
2019/06/28 jQuery
Node.js API详解之 tty功能与用法实例分析
2020/04/27 Javascript
原生js 实现表单验证功能
2021/02/08 Javascript
[09:22]2014DOTA2西雅图国际邀请赛 主赛事第二日TOPPLAY
2014/07/21 DOTA
[34:39]Secret vs VG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
python爬取网站数据保存使用的方法
2013/11/20 Python
python基于pygame实现响应游戏中事件的方法(附源码)
2015/11/11 Python
对python 匹配字符串开头和结尾的方法详解
2018/10/27 Python
Python创建一个空的dataframe,并循环赋值的方法
2018/11/08 Python
python 实现兔子生兔子示例
2019/11/21 Python
Python手绘可视化工具cutecharts使用实例
2019/12/05 Python
详解利用css3的var()实现运行时改变scss的变量值
2021/03/02 HTML / CSS
情人节活动策划方案
2014/02/27 职场文书
公司总经理岗位职责范本
2014/08/15 职场文书
优秀乡村医生先进事迹材料
2014/08/23 职场文书
党的群众路线专项整治方案
2014/11/03 职场文书
新员工试用期自我评价
2015/03/10 职场文书
SpringCloud Feign请求头删除修改的操作代码
2022/03/20 Java/Android
MySQL 执行数据库更新update操作的时候数据库卡死了
2022/05/02 MySQL