2017-08-29 114 views
1

我发现了一些类似的贴子到这个话题。但他们对我没有帮助。在条形图上显示值

我对Python和Seaborn比较陌生。

这是我的代码:

import seaborn as sns 
import matplotlib.pyplot as plt 
%matplotlib inline 

x_axis = ["A", "B","C","D","E","F"] 
y_axis = [78.5, 79.6, 81.6, 75.4, 78.3, 79.6] 

plt.ylabel('Accuracy') 
plt.title('Accuracy of Classifier') 

g=sns.barplot(x_axis, y_axis, color="red") 

我只是想在每栏的顶部显示来自Y_AXIS值。

回答

3

通过补丁循环并注释栏。

import seaborn as sns 
import matplotlib.pyplot as plt 
%matplotlib inline 

x_axis = ["A", "B","C","D","E","F"] 
y_axis = [78.5, 79.6, 81.6, 75.4, 78.3, 79.6] 

plt.ylabel('Accuracy') 
plt.title('Accuracy of Classifier') 

g=sns.barplot(x_axis, y_axis, color="red") 
ax=g 
#annotate axis = seaborn axis 
for p in ax.patches: 
      ax.annotate("%.2f" % p.get_height(), (p.get_x() + p.get_width()/2., p.get_height()), 
       ha='center', va='center', fontsize=11, color='gray', xytext=(0, 20), 
       textcoords='offset points') 
_ = g.set_ylim(0,120) #To make space for the annotations 

输出:

enter image description here

+0

非常感谢。有用。 – dstrbd