如何用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生成日历实例解析
Aug 21 Python
零基础写python爬虫之爬虫框架Scrapy安装配置
Nov 06 Python
Python实现简单的四则运算计算器
Nov 02 Python
关于Python中异常(Exception)的汇总
Jan 18 Python
详解python 拆包可迭代数据如tuple, list
Dec 29 Python
快速了解python leveldb
Jan 18 Python
python matlibplot绘制多条曲线图
Feb 19 Python
python变量赋值方法(可变与不可变)
Jan 12 Python
Python Datetime模块和Calendar模块用法实例分析
Apr 15 Python
Python函数参数匹配模型通用规则keyword-only参数详解
Jun 10 Python
解决Django中调用keras的模型出现的问题
Aug 07 Python
3行Python代码实现图像照片抠图和换底色的方法
Oct 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程序的方法
2009/03/09 PHP
zen cart新进商品的随机排序修改方法
2010/09/10 PHP
php include类文件超时问题处理
2015/02/06 PHP
PHP的Yii框架中过滤器相关的使用总结
2016/03/29 PHP
PHP判断数组是否为空的常用方法(五种方法)
2017/02/08 PHP
Jquery UI震动效果实现原理及步骤
2013/02/04 Javascript
jquery动态增加删除表格行的小例子
2013/11/14 Javascript
JavaScript中指定函数名称的相关方法
2015/06/04 Javascript
js 声明数组和向数组中添加对象变量的简单实例
2016/07/28 Javascript
原生js实现轮播图的示例代码
2017/02/20 Javascript
bootstrap模态框远程示例代码分享
2017/05/22 Javascript
JavaScript中set与get方法用法示例
2018/08/15 Javascript
深入理解Vue 的钩子函数
2018/09/05 Javascript
vue-cli中vue本地实现跨域调试接口
2019/01/16 Javascript
小程序开发中如何使用async-await并封装公共异步请求的方法
2019/01/20 Javascript
简单了解vue.js数组的常用操作
2019/06/17 Javascript
javascript操作元素的常见方法小结
2019/11/13 Javascript
[30:51]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#1Liquid VS MVP.Phx第一局
2016/03/04 DOTA
python字符串str和字节数组相互转化方法
2017/03/18 Python
Python 获取当前所在目录的方法详解
2017/08/02 Python
Python字符串格式化的方法(两种)
2017/09/19 Python
python使用numpy读取、保存txt数据的实例
2018/10/14 Python
python匿名函数用法实例分析
2019/08/03 Python
scikit-learn线性回归,多元回归,多项式回归的实现
2019/08/29 Python
python脚本使用阿里云slb对恶意攻击进行封堵的实现
2021/02/04 Python
Intersport西班牙:在线体育商店
2019/11/06 全球购物
eBay荷兰购物网站:eBay.nl
2020/06/26 全球购物
如何设置Java的运行环境
2013/04/05 面试题
开办加工厂创业计划书
2014/01/03 职场文书
xxx同志考察材料
2014/02/07 职场文书
食堂采购员岗位职责
2014/03/17 职场文书
2014教师党员个人自我评议
2014/09/20 职场文书
2014年招商引资工作总结
2014/11/22 职场文书
企业团队精神心得体会
2016/01/19 职场文书
pytorch 6 batch_train 批训练操作
2021/05/28 Python
MySQL范围查询优化的场景实例详解
2022/06/10 MySQL