Matplotlib x轴过度拥挤的标签渲染

时间:2015-08-01 20:00:39

标签: python arrays numpy matplotlib seaborn

我试图简单地绘制一个numpy数组,但我遇到了麻烦,特别是在x轴上获得了滴答和标签的数量。

我正在处理一个名为百分数的数组,如下所示:

percents:

-74    0.000041
-61    0.000041
-60    0.000041
-59    0.000041
-57    0.000041
...
 71    0.000041
 73    0.000041
 75    0.000041
 77    0.000041
 80    0.000081

索引的范围是-74到80,值本身是从0到高70(在零附近​​的索引附近)。

当我使用Seaborn条形图绘制这个数组时,我在x轴上遇到了一个噩梦。

categ = percents.index.tolist()
vals = percents.values.tolist()

fig = plt.figure(figsize = (8,6))
ax = fig.add_subplot(111)

sns.barplot(categ, vals)

enter image description here

想要使用xticks来解决这个问题,我尝试添加此代码,实际上更糟糕的是:

plt.xticks(np.arange(-80,80,10), np.arange(-80,80,10))

enter image description here

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

看来Seaborn的轴有点不同。如果您调用plt.bar(),您的解决方案将起作用。它看起来不是基于数据范围(即-80到80),而是从0到160。 这对我有用(带有Seaborn图):

plt.xticks(np.arange(0, 160, 10), np.arange(-80, 80, 10))