python雷达图radar()

ops/2024/12/15 13:29:55/

各坐标不同最大值/最小值

法一: (推荐)

 

#!/usr/local/bin/python3
# @IDE: PyCharm
# @.py: radar_p
#-*- coding : utf-8
# @Author:may
# @Time: 2024/5/20
# pip3 install pyecharts
import pyecharts.options as op
from pyecharts.charts import Radar# 传入多维数据,数据点最多6个
v1 = [[8.5, 75, 90, 70, 90]]
v2 = [[8.7, 72, 95, 75, 95]]
v3 = [[8.0, 95, 70, 85, 80]]
v4 = [[8.5, 90, 75, 85, 75]]
v5 = [[8.5, 85, 80, 80, 85]]
v6 = [[7.5, 90, 82, 85, 88]]# 调整雷达各维度的范围大小,维度要求四维以上
x_schema = [{"name": "舒适性", "max": 9, "min": 8, "color": 'black', "font_size": 18},{"name": "油耗", "max": 100, "min": 65, "color": 'black', "font_size": 18},{"name": "性能", "max": 100, "min": 65, "color": 'black', "font_size": 18},{"name": "安全", "max": 100, "min": 65, "color": 'black', "font_size": 18},{"name": "操控", "max": 100, "min": 65, "color": 'black', "font_size": 18}]# 画图
radar_x = Radar()
radar_x.add_schema(x_schema)
radar_x.add('帕萨特', v1, color='red').set_colors(['red'])
radar_x.add('迈腾', v2, color='green').set_colors(['green'])
radar_x.add('凯美瑞', v3, color='orange').set_colors(['orange'])
radar_x.add('亚洲龙', v4, color='blue').set_colors(['blue'])
radar_x.add('天籁', v5, color='purple').set_colors(['purple'])
radar_x.add('雅阁', v6, color='yellow').set_colors(['yellow'])radar_x.set_global_opts(title_opts=op.TitleOpts(title="car_type", pos_right="center"),legend_opts=op.LegendOpts(legend_icon="roundRect", align="left", pos_left='7%',pos_bottom='14%', orient='vertical'))radar_x.render("car_type.html")

 法二:

#!/usr/local/bin/python3
# @IDE: PyCharm
# @.py: test
# -*- coding : utf-8
# @Author:may
# @Time: 2024/5/18
import numpy as np
import matplotlib# matplotlib.use('TkAgg')  OS报错macOS 12 (1207) or later required, have instead 12 (1206) !
matplotlib.use('Qt5Agg')
import matplotlib.pyplot as pltclass Radar(object):def __init__(self, figure, title, labels, epoch, rect=None):if rect is None:rect = [0.05, 0.05, 0.9, 0.9]self.n = len(title)self.angles = np.arange(0, 360, 360.0 / self.n)self.axes = [figure.add_axes(rect, projection='polar', label='axes%d' % i) for i in range(self.n)]self.ax = self.axes[0]self.ax.set_thetagrids(self.angles, labels=title, fontsize=14)for ax in self.axes[1:]:ax.patch.set_visible(False)ax.grid(False)ax.xaxis.set_visible(False)for ax, angle, label, i in zip(self.axes, self.angles, labels, epoch):ax.set_rgrids(i[1:], angle=angle, labels=label)  # 这里的range(1,6)应该是对应标签的个数ax.spines['polar'].set_visible(False)ax.set_ylim(i[0], i[7])  # 这里应该是对应轴的刻度def plot(self, values, *args, **kw):angle = np.deg2rad(np.r_[self.angles, self.angles[0]])limits = []# 把value的值进行一个换算limits.append(values[1] - 5)limits.append(values[2] - 50)limits.append((values[3] - 45) / 5)limits.append((values[4] + 15) / 10)values[1] = (limits[0]) * 0.5 + 4.5values[2] = (limits[1]) * 0.5 + 4.5values[3] = (limits[2]) * 0.5 + 4.5values[4] = (limits[3]) * 0.5 + 4.5values = np.r_[values, values[0]]self.ax.plot(angle, values, *args, **kw)if __name__ == '__main__':fig = plt.figure(figsize=(8, 8))# tit = list(('人均GDP/万元','年均GDP增速','第三产业占比','城镇化率','碳排放强度下降幅度'))tit = ["峰值速率(Gbit/s)", "移动性(km/h)", "流量密度(10Tbit/(s.km))", "端到端时延(ms)", "连接数密度(设备/km)"]lab = [list(('4.5', '5.0', '5.5', '6.0', '6.5', '7.0', '7.5')),list(('5', '6', '7', '8', '9', '10', '11')),list(('50', '51', '52', '53', '54', '55', '56')),list(('45', '50', '55', '60', '65', '70', '75')),list(('-15', '-5', '5', '15', '25', '35', '45')),]epo = [[4.0, 4.5, 5.0, 5.5, 6.0, 6.5, 7.0, 7.5],[4, 5, 6, 7, 8, 9, 10, 11],[49, 50, 51, 52, 53, 54, 55, 56],[40, 45, 50, 55, 60, 65, 70, 75],[-25, -15, -5, 5, 15, 25, 35, 45]]# plt.rcParams['font.sans-serif'] = ['SimHei.ttf']plt.rcParams['font.sans-serif'] = ['Songti SC']  # 用来正常显示中文标签(macO系统))radar = Radar(fig, tit, lab, epo)# radar.plot([4.5,5,50,45,-15],'-', lw=2, color='r', alpha=0.4, label='全国平均')   #范例# 绘制图3radar.plot([4.58, 7.52, 51.20, 49.67, 19.72], '-', lw=2, color='r', alpha=0.4, label='A')radar.plot([7.03, 7.60, 54.27, 60.60, 13.34], '-', lw=2, color='b', alpha=0.4, label='B')radar.ax.legend()plt.savefig('fig-3.png', dpi=300)plt.show()

各坐标相同大小

import pygalradar_chart = pygal.Radar()
radar_chart.title = 'V8 benchmark results'
radar_chart.x_labels = ['Richards', 'DeltaBlue', 'Crypto', 'RayTrace', 'EarleyBoyer', 'RegExp', 'Splay', 'NavierStokes']
radar_chart.add('Chrome', [6395, 8212, 7520, 7218, 12464, 1660, 2123, 8607])
radar_chart.add('Firefox', [7473, 8099, 11700, 2651, 6361, 1044, 3797, 9450])
radar_chart.add('Opera', [3472, 2933, 4203, 5229, 5810, 1828, 9013, 4669])
radar_chart.add('IE', [43, 41, 59, 79, 144, 136, 34, 102])
radar_chart.render_to_file('bar_chart.svg')


http://www.ppmy.cn/ops/42474.html

相关文章

有些错误,常犯常新、常新常犯:记录一个使用element-plus的tooltip组件的错误

使用element-plus的tooltip组件&#xff0c;最开始的写法是这样的&#xff1a; <el-tooltipclass"box-item"effect"dark"content"tooltip content" ><el-button v-if"isDisabled" :underline"false" type"pr…

【计算机网络原理】浅谈应用层协议的自定义和传输层UDP协议的总结

˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好&#xff0c;我是xiaoxie.希望你看完之后,有不足之处请多多谅解&#xff0c;让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如…

帧动画播放出现oom异常分析及解决

问题描述 需要播放序列帧&#xff0c;帧数特别多的时候会oom 问题分析 源代码每一帧都创建一次bitmap&#xff0c;极度消耗内存 bitmap.recycle并不会立刻回收内存&#xff0c;内存还是会很紧张 问题解决 利用inbitmap&#xff0c;每一帧复用同一片内存区域 //设置Bitmap…

Kasawaki川崎机器人故障维修

在当今的自动化工业领域&#xff0c;川崎工业机器人以其卓越的性能和可靠的工作效率赢得了广泛的赞誉。作为机器人的核心组成部分&#xff0c;伺服电机的作用至关重要。然而&#xff0c;就像所有机械设备一样&#xff0c;也可能会遭遇电机磨损或故障&#xff0c;需要适时的川崎…

Docker部署Minio小记

概述 因为工作需要搭建对象存储的测试环境&#xff0c;故而使用Docker部署Minio&#xff0c;测试通过博文记录用以备忘 步骤 拉取镜像 docker pull minio/minio启动容器 docker run -p 9000:9000 -p 9090:9090 \--name minio \-d --restartalways \-e "MINIO_ACCESS_K…

Steam致富:玩免费游戏Banana获得可交易道具

最近&#xff0c;Steam平台上一款普普通通的免费游戏《Banana》引起了轰动&#xff0c;接近2万人同时在线&#xff0c;好评率高达94&#xff05;&#xff0c;究竟是什么让这款游戏如此受欢迎呢&#xff1f;原来&#xff0c;玩家们都在争相获取稀有的香蕉。 《Banana》属于点击放…

Edge浏览器报错:Ref A Ref B: Ref C

今天发现微软Edge浏览器非常频繁的出现以下报错&#xff1a;Ref A: 0BF6B9E03845450C8E6A6C31006AD7B9 Ref B: BJ1EDGE1116 Ref C: 2024-05-23T12:41:30Z 通过搜索发现用如下问题解决&#xff1a; 1.打开Edge浏览器 2.进入设置选项 3.找到隐私、搜索和服务 4.关闭跟踪防护后面…

深度学习之基于Tensorflow+Keras+CNN模型实时对手写数字进行分类

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与意义 随着深度学习和计算机视觉技术的快速发展&#xff0c;手写数字识别已成为一个重要的应用场景。…