2014-12-20 3 views
1

Это то, что я сделал до сих пор. Моя проблема, однако, заключается в том, что я не могу напечатать значения/масштаб на оси у штрихового графика? Есть идеи? Какие еще стили, которые я могу добавить?Как печатать значения/масштаб по оси 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

Удивительно, это работает, но только на правом подзаголовке. В чем причина? – user706838

Смежные вопросы