如何解决创建一个基于值excel填充的饼图?
我想在 excel 中创建一个基于值填充的 Piechart。因此,它将具有与表中的行一样多的切片,并且根据行的实际数量,它会相应地填充切片。下面,我在饼图中展示了我要寻找的内容的粗略草图,以清楚地解释它。假设有 8 行,总数为 100;由于没有切片已满,因此没有总行数为 100 的行。如果你认为有一个可以用 python 编码的解决方案,那么请你推荐一个可以看的地方?
显然不能按比例缩放解决方法
您可以使用 matplotlib 中存在的极轴条形图
示例代码
import numpy as np
import matplotlib.pyplot as plt
# Fixing random state for reproducibility
np.random.seed(19680801)
# Compute pie slices
N = 20
theta = np.linspace(0.0,2 * np.pi,N,endpoint=False)
radii = 10 * np.random.rand(N)
width = np.pi / 4 * np.random.rand(N)
colors = plt.cm.viridis(radii / 10.)
ax = plt.subplot(111,projection='polar')
ax.bar(theta,radii,width=width,bottom=0.0,color=colors,alpha=0.5)
plt.show()
,
这是我对您的问题的尝试:
示例代码:
# Create sample dataset:
index= ['A','B','C','D']
columns= ['pctLoad','pctTotal']
values= [[35,41],[39,12],[54,22],[27,25]]
df= pd.DataFrame(values,index=index,columns=columns,dtype= float)
索引 | pctLoad | pctTotal |
---|---|---|
A | 35 | 41 |
B | 39 | 12 |
C | 54 | 22 |
D | 27 | 25 |
假设 pctLoad
作为变量在其自身范围内使用的指标(百分比),即条形图。其中 pctTotal
代表每个变量(A、B、C 和 D)的百分比份额,即饼图。
width= df['pctTotal']/100*2*np.pi
theta= [0]
for i,j in enumerate(width):
theta.append(theta[-1] + j)
del(theta[-1])
fig,ax= plt.subplots(figsize= (5,5))
ax = plt.subplot(projection='polar')
ax.bar(theta,df['pctLoad'],width= width,align='edge',color= ['tab:blue','lightblue','grey','lightgrey'],alpha= 0.5,edgecolor= 'k')
ax.set_xticklabels([])
plt.show()
结果:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。