2015-02-01 3 views
0

Я рисую гистограмму, беря логарифм количества перед построением графика (вместо того, чтобы выбирать логарифмический масштаб для моего графика) и в метках метки по оси x я, очевидно, получаю логарифм. Я бы хотел, чтобы метки отображали научную нотацию: другими словами, я бы хотел, например, использовать 10^3 вместо 3.Matplotlib: не логарифмические метки при построении логарифма

Есть ли способ сделать это? Я видел другие вопросы, такие как Matplotlib - logarithmic scale, but require non-logarithmic labels, но это не одно и то же, я не использовал ax.set_xscale('log'). Вот строка моего кода:

ax[0, 0].hist(np.log10(bh_100[:, 0]),bins=15, ls='dashed', color= 'b', log=True, label = 'Bh-bh') 

ответ

1

Вы всегда можете использовать set_xticklabels установить ярлыки, как вы требуете их

Например, вы можете сделать:

ax.set_xticklabels(['10^{%d}'%i for i in range(5)]) 

или LaTeX- style:

ax.set_xticklabels(['$10^{%d}$'%i for i in range(5)]) 
+0

Я думал об этом, но это было бы сложно, это многоплоскостная фигура. – Argentina

+0

Я не знаю, как сделать то, что вы хотите. Как насчет написания вашей собственной функции, которая перебирает все подзаголовки и меняет ярлыки? – kazemakase

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