Python Matplotlib x轴过度拥挤标签渲染
我试图简单地绘制一个numpy数组,但我遇到了麻烦,尤其是在x轴上获得正确的刻度和标签的数量Python Matplotlib x轴过度拥挤标签渲染,python,arrays,numpy,matplotlib,seaborn,Python,Arrays,Numpy,Matplotlib,Seaborn,我试图简单地绘制一个numpy数组,但我遇到了麻烦,尤其是在x轴上获得正确的刻度和标签的数量 categ = percents.index.tolist() vals = percents.values.tolist() fig = plt.figure(figsize = (8,6)) ax = fig.add_subplot(111) sns.barplot(categ, vals) 我正在处理一个名为percents的数组,该数组如下所示: percents: -74 0.0
categ = percents.index.tolist()
vals = percents.values.tolist()
fig = plt.figure(figsize = (8,6))
ax = fig.add_subplot(111)
sns.barplot(categ, vals)
我正在处理一个名为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。 这对我来说很有用(有一个海生的情节):
我也会在这里使用
plt.bar
。将主定位器重置为和可能是仅次于使用ax.bar
的第二个最佳解决方案。在引擎盖下plt.xticks
将定位器和格式化程序都设置为固定的种类,这对交互性来说不是很好。它也让我有点害怕,让刻度从带有数字标签的数据空间单元中去耦合。