Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 值的饼图\u counts()输出,使用字典将文本映射到数值标签_Python_Matplotlib_Plot - Fatal编程技术网

Python 值的饼图\u 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

我有一个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.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)。但是谢谢!