Python 值的饼图\u counts()输出,使用字典将文本映射到数值标签
我有一个df.value_counts()输出,如下所示Python 值的饼图\u counts()输出,使用字典将文本映射到数值标签,python,matplotlib,plot,Python,Matplotlib,Plot,我有一个df.value_counts()输出,如下所示 > dat = pd.Series(data = np.array([48,37,19]), index=np.array([1.0,2.0,3.0]), name='department') 1.0 48 2.0 37 3.0 19 Name: department, dtype: int32 如果我做一个plt.pie(dat),没有标签,plt.pie(dat,labels=dat.index)的标签是1
> dat = pd.Series(data = np.array([48,37,19]), index=np.array([1.0,2.0,3.0]), name='department')
1.0 48
2.0 37
3.0 19
Name: department, dtype: int32
如果我做一个plt.pie(dat)
,没有标签,plt.pie(dat,labels=dat.index)的标签是1.0、2.0和3.0
我还有一本字典:
dct= {1:'HR', 2:'RnD', 3:'Manufacturing', 4:'Fun Department'}
如何从dct而不是dat索引中获取标签?做
plt.pie(dat, labels=dct.values())
返回错误ValueError:“label”的长度必须为“x”
我如何才能做到,真正只为前三个值(1.0、2.0和3.0)设置字符串标签?您可以替换索引和绘图:
dat.index = dat.index.map(dct)
dat.plot.pie()
输出:
这很有效。当使用ax.pie()打印时,我没有得到标签,我必须添加plt.pie(dat,labels=dat.index)。但是谢谢!