如何用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自然语言编码转换模块codecs介绍
Apr 08 Python
Python中的random()方法的使用介绍
May 15 Python
老生常谈python函数参数的区别(必看篇)
May 29 Python
Python实现的计数排序算法示例
Nov 29 Python
python flask中静态文件的管理方法
Mar 20 Python
使用Python的Dataframe取两列时间值相差一年的所有行方法
Jul 10 Python
python去掉 unicode 字符串前面的u方法
Oct 21 Python
在Python中分别打印列表中的每一个元素方法
Nov 07 Python
python opencv 二值化 计算白色像素点的实例
Jul 03 Python
七个Python必备的GUI库
Apr 27 Python
利用Selenium添加cookie实现自动登录的示例代码(fofa)
May 08 Python
python数字图像处理:图像简单滤波
Jun 28 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
论建造顺序的重要性
2020/03/04 星际争霸
利用php+mysql来做一个功能强大的在线计算器
2010/10/12 PHP
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
2013/07/03 PHP
php 字符串中的\n换行符无效、不能换行的解决方法
2014/04/02 PHP
laravel安装和配置教程
2014/10/29 PHP
PHP简单实现HTTP和HTTPS跨域共享session解决办法
2015/05/27 PHP
WordPress中给媒体文件添加分类和标签的PHP功能实现
2015/12/31 PHP
详解php用static方法的原因
2018/09/12 PHP
如何利用PHP实现上传图片功能详解
2020/09/24 PHP
js获取变量
2006/08/24 Javascript
不错的JS中变量相关的细节分析
2007/08/13 Javascript
JavaScript ECMA-262-3 深入解析.第三章.this
2011/09/28 Javascript
js调用activeX获取u盘序列号的代码
2011/11/21 Javascript
AngularJS的表单使用详解
2015/06/17 Javascript
js仿手机页面文件下拉刷新效果
2016/10/14 Javascript
10分钟掌握XML、JSON及其解析
2020/12/06 Javascript
关于在vue-cli中使用微信自动登录和分享的实例
2017/06/22 Javascript
详解Vue webapp项目通过HBulider打包原生APP(vue+webpack+HBulider)
2019/02/02 Javascript
Python返回真假值(True or False)小技巧
2015/04/10 Python
用Python中的字典来处理索引统计的方法
2015/05/05 Python
Python编程实现数学运算求一元二次方程的实根算法示例
2017/04/02 Python
python高级特性和高阶函数及使用详解
2018/10/17 Python
pandas 空的dataframe 插入列名的示例
2018/10/30 Python
5行Python代码实现图像分割的步骤详解
2020/05/25 Python
PyCharm 解决找不到新打开项目的窗口问题
2021/01/15 Python
html5教程调用绘图api画简单的圆形代码分享
2013/12/04 HTML / CSS
Tessabit日本:集世界奢侈品和设计师品牌的意大利精品买手店
2020/01/07 全球购物
实习教师个人的自我评价
2013/11/08 职场文书
幼儿园数学教学反思
2014/02/02 职场文书
初三班主任寄语大全
2014/04/04 职场文书
学前班评语大全
2014/05/04 职场文书
物理学专业自荐信
2014/06/11 职场文书
师范毕业生求职信
2014/07/11 职场文书
基层党员学习党的群众路线教育实践活动心得体会
2014/11/04 职场文书
就业意向协议书
2015/01/29 职场文书
如何使用SQL Server语句创建表
2022/04/12 SQL Server