比较(六)利用python绘制径向柱图
径向柱图(Circular Barplot)简介
径向柱图基于同心圆网格来绘制条形图,虽然不如普通条形图表达准确,但却有抓人眼球的效果。其衍生的南丁格尔玫瑰图则广为人知。
快速绘制
-
基于matplotlib
import pandas as pd import numpy as np import matplotlib.pyplot as plt import matplotlib.cm as cm np.random.seed(0) # 设置随机种子为0 # 自定义数据 df = pd.DataFrame( { 'Name': ['item ' + str(i) for i in list(range(1, 51)) ], 'Value': np.random.randint(low=10, high=100, size=50) }) # 初始化布局-极坐标图 plt.figure(figsize=(10,8)) ax = plt.subplot(111, polar=True) # 移除网格 plt.axis('off') # 坐标限制 upperLimit = 100 lowerLimit = 30 # 计算极值 max_value = df['Value'].max() # 数据缩放 slope = (max_value - lowerLimit) / max_value heights = slope * df.Value + lowerLimit # 计算每个条形的宽度 width = 2*np.pi / len(df.index) # 计算角度 indexes = list(range(1, len(df.index)+1)) angles = [element * width for element in indexes] angles # 增加条形图 bars = ax.bar( x=angles, height=heights, width=width, bottom=lowerLimit, linewidth=2, edgecolor="white", color="#61a4b2",)
定制多样化的径向柱图
自定义径向柱图一般是结合使用场景对相关参数进行修改,并辅以其他的绘图知识。参数信息可以通过官网进行查看,其他的绘图知识则更多来源于实战经验,大家不妨将接下来的绘图作为一种学习经验,以便于日后总结。
-
添加标签
import pandas as pd import numpy as np import matplotlib.pyplot as plt import matplotlib.cm as cm np.random.seed(0) # 设置随机种子为0 # 自定义数据 df = pd.DataFrame( { 'Name': ['item ' + str(i) for i in list(range(1, 51)) ], 'Value': np.random.randint(low=10, high=100, size=50) }) # 初始化布局-极坐标图 plt.figure(figsize=(10,8