
正文
python快速绘制雷达图函数 python绘制雷达图代码
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
PYTHON MATPLOTLIB画雷达图的例子
import numpy as np
import pylab as pl
class Radar(object):
def __init__(self, fig, titles, labels, rect=None):
if rect is None:
rect = [0.05, 0.05, 0.95, 0.95]
self.n = len(titles)
self.angles = np.arange(90, 90+360, 360.0/self.n)
self.axes = [fig.add_axes(rect, projection="polar", label="axes%d" % i)
for i in range(self.n)]
self.ax = self.axes[0]
self.ax.set_thetagrids(angles, labels=titles, fontsize=14)
for ax in self.axes[1:]:
ax.patch.set_visible(False)
ax.grid("off")
ax.xaxis.set_visible(False)
for ax, angle, label in zip(self.axes, self.angles, labels):
ax.set_rgrids(range(1, 6), angle=angle, labels=label)
ax.spines["polar"].set_visible(False)
ax.set_ylim(0, 5)
def plot(self, values, *args, **kw):
angle = np.deg2rad(np.r_[self.angles, self.angles[0]])
values = np.r_[values, values[0]]
self.ax.plot(angle, values, *args, **kw)
titles = list("ABCDE")
labels = [
list("abcde"), list("12345"), list("uvwxy"),
["one", "two", "three", "four", "five"],
list("jklmn")
]
fig = pl.figure(figsize=(6, 6))
titles = list("ABCDE")
labels = [
list("abcde"), list("12345"), list("uvwxy"),
["one", "two", "three", "four", "five"],
list("jklmn")
]
radar = Radar(fig, titles, labels)
radar.plot([1, 3, 2, 5, 4], "-", lw=2, color="b", alpha=0.4, label="first")
radar.plot([2.3, 2, 3, 3, 2],"-", lw=2, color="r", alpha=0.4, label="second")
radar.plot([3, 4, 3, 4, 2], "-", lw=2, color="g", alpha=0.4, label="third")
radar.ax.legend()
相关问答
Q1: 用python将数据(实时变化)显示到雷达图上。
1、以固定点画多个圆
2、每个点的坐标必须预先知道(当然坐标一直在边,那么在每次坐标变化后,都要获取到最新的坐标值)
3、依据坐标值在图上画出圆点。
这只是思路,没有源代码,只能帮到此步
Q2: Igor绘制雷达图
目标:绘制气溶胶激光雷达图。
素材:气溶胶消光系数。数据矩阵:13183*667,其中13183为时间,分辨率约为5分钟,667为高度,分辨率为7.5m,范围为0-5km。
准备:先用python将原始数据进行整理,将时间项处理为igor可识别的格式,导出为csv格式。
正式绘图:
①:将csv文件导入igor,导入时设置为matrix
Q3: Python matplotlib用绘制雷达图实战案例
import pandasas pd
import matplotlib.pyplotas plt
import numpyas np
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
plt.rcParams['axes.unicode_minus'] =False
data = pd.read_csv(r'D:\bigData\radarMap.csv')
data = data.dropna(axis=1)
data = data.set_index('性能评价指标')
data = data.T
data.index.name ='品牌'
def plot_radar(data, feature):
columns = ['动力性', '燃油经济性', '制动性', '操控稳定性', '行驶平顺性', '通过性', '安全性', '环保性', '方便性', '舒适性', '经济性', '容量性']
colors = ['r', 'g', 'y']
# 设置雷达图的角度,用于平分切开一个平面
# linspace(1,10,x) 创建1-10的等差数组,个数为 x,默认50个;endpoint参数指定是否包含终值,默认值为True,即包含终值。
angles = np.linspace(0.1 * np.pi, 2.1 * np.pi, len(columns), endpoint=False)
# 使雷达图封闭起来
angles = np.concatenate((angles, [angles[0]]))
# figsize:指定figure的宽和高,单位为英寸;
figure = plt.figure(figsize=(6, 6))
# 设置为极坐标格式;subplot(nrows,ncols,sharex,sharey,subplot_kw,**fig_kw)创建单个子图,下面两句效果相同
ax = figure.add_subplot(111, polar=True)
for i, cin enumerate(feature):
stats = data.loc[c]
stats = np.concatenate((stats, [stats[0]]))
ax.plot(angles, stats, '-', linewidth=2, c=colors[i], label=str(c))
ax.fill(angles, stats, color=colors[i], alpha=0.75)
# bbox_to_anchor这个参数,可以把图例放在图外面
# bbox_to_anchor:表示legend的位置,前一个表示左右,后一个表示上下。
# 当使用这个参数时。loc将不再起正常的作用,ncol=3表示图例三列显示。
ax.legend(loc=4, bbox_to_anchor=(1.15, -0.07))
# 设置极轴范围
ax.set_ylim(0, 10)
# ax.set_yticklabels([2, 4, 6, 8, 10])
# 添加每个特质的标签
columns = np.concatenate((columns, [columns[0]]))
ax.set_thetagrids(angles *180 / np.pi, columns, fontsize=12)
# 添加标题
plt.title('汽车性能指标雷达图')
plt.show()
return figure
figure = plot_radar(data, ['A品牌', 'B品牌', 'C品牌'])
Q4: ggplot2|扩展包从0开始绘制雷达图
雷达图通常在财务报表分析中使用较多python快速绘制雷达图函数,当前在描述性统计分析中,雷达图正在被越来越多的人使用。
本文利用R语言 ggplot2 的一款扩展主题包——ggradar 包从头开始绘制简单漂亮的雷达图。
一 加载函数包
ggradar包需要通过 github 来安装,安装方法如下:
devtools::install_github("ricardo-bion/ggradar", dependencies=TRUE)
library(ggradar)
二 创建数据集绘制雷达图
2.1 设定种子,构造python快速绘制雷达图函数了一个区间为0~1,个数为24的4行6列随机数矩阵
set.seed(123)
mydata-matrix(runif(24,0,1),4,6)
rownames(mydata) - LETTERS[1:4]
colnames(mydata) - c("Apple","Google","Amozon","Tencent","Alibaba","Baidu")#使用以上文本向量为矩阵列命名,方便展示
mynewdata-data.frame(mydata)
Name-c("USA","CHN","UK","RUS")
mynewdata-data.frame(Name,mynewdata)
2.2 绘制USA的雷达图
ggradar(mynewdata[1,],grid.line.width = 0.5)
2.3 绘制所有变量的雷达图
ggradar(mynewdata)
三 使用car数据集展示雷达图
利用内置car数据集进行雷达图绘制,主要是对数据进行scale,然后绘制
library(ggradar)
library(scales)
library(tibble)
library(dplyr)
查看最后四种车型,在mpg ,cyl ,disp ,hp ,drat方面的“性能”情况
mtcars %%rownames_to_column(var="group") %%#保留行名称
mutate_at(vars(-group),funs(rescale)) %%tail(4) %%select(1:6) - mtcars_radar
绘制雷达图,更改基本参数
ggradar(mtcars_radar, grid.line.width =0.5,axis.label.size=5,group.line.width =1,group.point.size =2)
四 ggradar主要的函数功能
ggradar(plot.data, axis.labels = colnames(plot.data)[-1], grid.min=0,grid.mid =0.5, grid.max=1, centre.y = grid.min- ((1/9) * (grid.max-grid.min)), plot.extent.x.sf =1, plot.extent.y.sf =1.2,x.centre.range =0.02* (grid.max- centre.y), label.centre.y =FALSE,grid.line.width =0.5, gridline.min.linetype ="longdash",gridline.mid.linetype ="longdash", gridline.max.linetype ="longdash",gridline.min.colour ="grey", gridline.mid.colour ="#007A87",gridline.max.colour ="grey", grid.label.size =7,gridline.label.offset = -0.1* (grid.max- centre.y),label.gridline.min=TRUE, axis.label.offset =1.15,axis.label.size =8, axis.line.colour ="grey", group.line.width =1.5,group.point.size =6, background.circle.colour ="#D7D6D1",background.circle.transparency =0.2, plot.legend =if(nrow(plot.data) 1)TRUEelseFALSE, legend.title ="", legend.text.size = grid.label.size)
五 参考资料
找到各企业对于生信工程师的JD,然后根据R,Python,Linux,Bio Pipeline ,NGS 等的要求程度绘制雷达图,就可以直观的知道生信工程师相对更重要的是什么能力了,,,嘿嘿😁。。。
更多关于生信 ,R ,Python的内容请扫码关注小号,谢谢。
Q5: python画雷达图
用雷达图做两个类别的特征对比,对比两个类别在各特征下的差异
由于7个特征的量程都在0-1之间,因此不需要在做特征标准化,直接用原始值绘制雷达图
python快速绘制雷达图函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于python绘制雷达图代码、python快速绘制雷达图函数的信息别忘了在本站进行查找喔。






