0


我在同一个图中绘制了许多子图。我遇到了 xtick 标签相互拦截的问题。我不希望子图之间有任何空间。这是一个例子:
正方形和线条的示例

特别是我希望 xtick 标签不要高于/低于绿线,就像它发生在用红色方块指示的点上一样。
到目前为止,我的一个想法是,在我的 max=4 和 min=0 的情况下,我会在它们各自的位置(例如 1、2、3)绘制 1 2 和 3 的刻度标签。然后我会在 3.8 的位置画 4,在 0.2 的位置画 0。有任何想法吗?
谢谢!

4

3 回答 3

2

不完全符合您的要求,但一个快速的解决方案是设置对齐参数:

pylab.xticks(..., horizontalalignment='left')
pylab.yticks(..., verticalalignment='bottom')

这将适用于所有刻度。

于 2012-05-25T14:46:09.747 回答
1

我会这样做:

axScatter.set_xticks([0, 1, 2, 3, 4 ,5 ,6])
axScatter.set_yticks([-8, -6, -4, -2, 0, 2, 4, 6])

你可以使用:

axScatter.yaxis.set_major_formatter(nullfmt)

使右上角和右下角的 y 轴标签消失。

于 2014-07-14T16:44:17.620 回答
0

整个 plt.figure 例程应该如下所示:

fig = plt.figure()

axplot_topleft = fig.add_subplot(2,2,1)
axplot_topleft.xaxis.set_major_formatter(nullfmt)
axplot_topleft.set_yticks([-8, -6, -4, -2, 0, 2, 4, 6])

axplot_topright = fig.add_subplot(2,2,2)
axplot_topright.xaxis.set_major_formatter(nullfmt)
axplot_topright.yaxis.set_major_formatter(nullfmt)

axplot_bottomleft = fig.add_subplot(2,2,3)
axplot_bottomleft.set_xticks([0, 1, 2, 3, 4 ,5 ,6])
axplot_bottomleft.set_yticks([-8, -6, -4, -2, 0, 2, 4, 6])

axplot_bottomright = fig.add_subplot(2,2,4)
axplot_bottomright.yaxis.set_major_formatter(nullfmt)
axplot_bottomright.set_xticks([0, 1, 2, 3, 4 ,5 ,6])
于 2014-07-26T12:30:06.360 回答