2014-12-20 118 views
1

這就是我迄今爲止所做的。然而,我的問題是,我無法打印條形圖的y軸上的值/比例?有任何想法嗎?我還要添加哪些其他風格?如何在條形圖的y軸上打印值/刻度

import seaborn as sb 
from matplotlib import pyplot 

%matplotlib inline 

sb.axes_style("white") 
sb.set_style("ticks") 
sb.set_context("talk") 

x1 = np.array(['U', 'G']) 
x2 = np.array(['H', 'W']) 

f, (ax1, ax2) = pyplot.subplots(1, 2, figsize=(12, 6)) 

y1 = np.array([831824, 3306662]) 
y2 = np.array([1798043, 1508619]) 

sb.barplot(x1, y1, ci=None, palette="Blues", hline=.0001, ax=ax1) 
sb.barplot(x1, y2, ci=None, palette="Reds", hline=.0001, ax=ax2) 

ax1.set_ylabel("Occurences") 
ax1.set_xlabel("Totals") 

ax2.set_ylabel("Occurences") 
ax2.set_xlabel("Types") 

sb.despine(bottom=True) 
pyplot.setp(f.axes, yticks=[]) 
pyplot.tight_layout(h_pad=3) 

sb.despine() 

enter image description here

回答

2

基於@約翰 - cipponeri的回答是:

使用使用pyplot.*只在最後打開軸操作稱爲軸運行,你的情況ax2,這是正確的陰謀功能。使用軸實例在需要的地方生效。這一個替換代碼的巡演的最後一塊,我希望它對應於你的預期情節:

ax1.grid(axis='y', linestyle='-') 
ax2.grid(axis='y', linestyle='-') 
pyplot.tight_layout(h_pad=3) 
sb.despine() 
1

你可以試試線條樣式。

pyplot.grid(axis='y', linestyle='-') 
+0

感謝,但它不工作:( – user706838

+0

pyplot.setp(f.axes,yticks = [])你將yticks設置爲一個空數組,它是否不包含你的y軸的值? –

+0

太棒了,它可以工作,但只能在右邊的subplot上。這是什麼原因? – user706838

相關問題