用seaborn设置对数刻度

时间:2019-04-14 02:35:10

标签: matplotlib seaborn

我有两个具有整数值的列表,并且我想使用python中的seaborn并排绘制它们的两个直方图:

fig, [ax1, ax2] = plt.subplots(nrows=1, ncols=2, figsize=(16,6))

sns.set(style="whitegrid")
sns.distplot(list1, bins=30, rug=True, kde=False, ax=ax1)
sns.distplot(list2, bins=30, rug=True, kde=False, ax=ax2)
ax1.set_yscale('log')
ax2.set_yscale('log')
plt.show()

这是情节: enter image description here

因为条形图的高度是整数,所以很明显,右边的图无用。因此,我对看到0到1之间的数字的对数刻度完全没有兴趣,即我想摆脱10 ^ {-power}。如何以十个符号的幂强制右图的标签为0、1、10、100和1000?就像左图所示。谢谢。

1 个答案:

答案 0 :(得分:0)

尽管这样做的原因,但我还是发布了一个解决问题的答案。这个想法是为y比例设置一个限制:

ax.set_ylim([0.5, 1000])

产生正确的情节。