我试图简单地绘制一个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条形图绘制该数组时,我在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))