Python 使用matplotlib打印时更改记号标签的位置(移动)

Python 使用matplotlib打印时更改记号标签的位置(移动),python,matplotlib,plot,label,Python,Matplotlib,Plot,Label,我在用matplotlib策划。代码如下(zvals具有以下值) 这将导致以下图片: 我想把XTICK(1,2,3,…)的标签移到左边一点,这样它们就在相应的颜色框下面了。相应地,我还想将Ytick(user1和user2)的标签向下移动一点,以便正确显示它们。如何做到这一点 编辑:事实上,我可以更改以下行 xlocations=na.数组(范围(30))+0.5 到 xlocations=na.数组(范围(30)) 然后生成的图片如下所示: 请注意网格正在“穿过”彩色框,这不是我想要的。我

我在用matplotlib策划。代码如下(zvals具有以下值)

这将导致以下图片:

我想把XTICK(1,2,3,…)的标签移到左边一点,这样它们就在相应的颜色框下面了。相应地,我还想将Ytick(user1和user2)的标签向下移动一点,以便正确显示它们。如何做到这一点

编辑:事实上,我可以更改以下行 xlocations=na.数组(范围(30))+0.5 到 xlocations=na.数组(范围(30))

然后生成的图片如下所示:

请注意网格正在“穿过”彩色框,这不是我想要的。我想网格边缘的彩色框,如上图所示。在本版本中,尽管标签(1,2,3,…)正确放置在箱子下方。如何正确放置标签(在彩色框下方)和一个围绕彩色框而不是穿过彩色框中间的网格

解决方案

此解决方案有效(如答案所示):


结果:hxxp://imageshack.us/a/img9/7325/histogrammoverview.png我想你可以通过

  • 将主刻度位置设置到每个正方形的中间
  • 将次要记号设置为每个正方形的边
  • 将栅格设置为仅在小刻度中显示
网格只能在小刻度中显示,使用

plt.grid(True, which='minor')

我也会将线条样式设置为
'-'

是啊,这奏效了。我使用的代码是:
xlocations=na.array(range(periods))xminorlocations=na.array(range(periods))+0.5xticks(xlocations,[str(x+1)表示arange(periods)],rotation=0,size=5)plt.setxticks(xminorlocations,minor=True)grid(True,which='minor',linestyle='-')结果:
periods = 30
xlocations = na.array(range(periods))
xminorlocations = na.array(range(periods))+0.5
xticks(xlocations, [str(x+1) for x in arange(periods)], rotation=0, size=5)
plt.set_xticks(xminorlocations, minor=True)
grid(True, which='minor', linestyle='-')
plt.grid(True, which='minor')