注释删除plt中的先前格式

时间:2019-05-13 21:21:18

标签: python matplotlib visualization

我想有一个输出,但是我有两个,当我尝试在图中添加一些百分比时,它会将其放在旧的Barchart中,而忽略了我在上一个输出中实现的更改格式。这是在注释功能之后完成的,当我按show时,它包括百分比,但在旧的条形图中。

为什么plt不保存以前的更改,例如我在标签和图例等中所做的更改。

我知道如何使用所有开发人员都喜欢的Artist层解决该问题。但是,我真的想弄清楚为什么plt会将百分比放到旧的图表中,而不是放在我所做的更改中。

import matplotlib as mpl
import matplotlib.pyplot as plt
colors_list = ['#5cb85c','#5bc0de','#d9534f']
df_ds_per.div(df_ds_per.sum(1), axis=0)).plot(kind='bar',figsize=(15,4),width = 0.8,color = colors_list,edgecolor=None)
df_ds_per.plot(kind="bar",figsize=(20, 8),width=0.8,color = colors_list,edgecolor=None)  

plt.xticks(fontsize=14)
plt.yticks([])

#Remove the axes
for spine in plt.gca().spines.values():             
    spine.set_visible(False)

plt.legend(labels=df_ds_per.columns,fontsize= 14)
plt.title("Percentage of Respondents' Interest in Data Science 
Areas",fontsize= 16)

#Add the percentages
for p in df_ds_per.plot(kind="bar",figsize=(20, 8),width=0.8,color = 
colors_list,edgecolor=None).patches:
    width, height = p.get_width(), p.get_height()
    x, y = p.get_xy() 
    plt.annotate('{:.0%}'.format(height), (x, y + height + 0.01)) 


plt.show()

0 个答案:

没有答案