Matplotlib x轴过度拥挤标签渲染
Matplotlib x-axis overcrowded label rendering
我想简单地绘制一个 numpy 数组,但我遇到了麻烦,尤其是在 x 轴上获取刻度和标签的数量时。
我正在处理一个名为 percents 的数组,如下所示:
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 barplots 简单地绘制这个数组时,我在 x 轴上遇到了噩梦。
categ = percents.index.tolist()
vals = percents.values.tolist()
fig = plt.figure(figsize = (8,6))
ax = fig.add_subplot(111)
sns.barplot(categ, vals)
想也许使用 xticks
来解决这个问题,我尝试添加这段代码,实际上这使它变得更糟:
plt.xticks(np.arange(-80,80,10), np.arange(-80,80,10))
我该如何解决这个问题?
Seaborn 的坐标轴似乎有点不同。如果您改为调用 plt.bar() ,则您的解决方案有效。它看起来不是基于数据范围(即 -80 到 80),而是从 0 到 160。
这对我有用(使用 Seaborn 图):
plt.xticks(np.arange(0, 160, 10), np.arange(-80, 80, 10))
我想简单地绘制一个 numpy 数组,但我遇到了麻烦,尤其是在 x 轴上获取刻度和标签的数量时。
我正在处理一个名为 percents 的数组,如下所示:
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 barplots 简单地绘制这个数组时,我在 x 轴上遇到了噩梦。
categ = percents.index.tolist()
vals = percents.values.tolist()
fig = plt.figure(figsize = (8,6))
ax = fig.add_subplot(111)
sns.barplot(categ, vals)
想也许使用 xticks
来解决这个问题,我尝试添加这段代码,实际上这使它变得更糟:
plt.xticks(np.arange(-80,80,10), np.arange(-80,80,10))
我该如何解决这个问题?
Seaborn 的坐标轴似乎有点不同。如果您改为调用 plt.bar() ,则您的解决方案有效。它看起来不是基于数据范围(即 -80 到 80),而是从 0 到 160。 这对我有用(使用 Seaborn 图):
plt.xticks(np.arange(0, 160, 10), np.arange(-80, 80, 10))