Matplotlib 数据点之间的网格线

Matplotlib 数据点之间的网格线,matplotlib,grid,Matplotlib,Grid,是否有办法将网格线移动到数据点之间而不是数据点上 import matplotlib.pyplot as plt import numpy as np # Fixing random state for reproducibility np.random.seed(19680801) plt.rcdefaults() fig, ax = plt.subplots() # Example data people = ('Tom', 'Dick', 'Harry', 'Slim', 'Jim

是否有办法将网格线移动到数据点之间而不是数据点上

import matplotlib.pyplot as plt
import numpy as np

# Fixing random state for reproducibility
np.random.seed(19680801)


plt.rcdefaults()
fig, ax = plt.subplots()

# Example data
people = ('Tom', 'Dick', 'Harry', 'Slim', 'Jim')
y_pos = np.arange(len(people))
performance = 3 + 10 * np.random.rand(len(people))

ax.barh(y_pos, performance, align='center')
ax.set_yticks(y_pos)
ax.set_yticklabels(people)
ax.invert_yaxis()  # labels read top-to-bottom

plt.grid(color='black')

plt.show()

您可以对网格使用小刻度。下面是一些示例代码,可以帮助您开始:

导入matplotlib.pyplot作为plt
从matplotlib.ticker导入MultipleLocator
将numpy作为np导入
#为再现性确定随机状态
np.随机种子(196801)
plt.rcdefaults()
图,ax=plt.子批次()
#示例数据
人物=(‘汤姆’、‘迪克’、‘哈利’、‘斯利姆’、‘吉姆’)
y_pos=np.arange(len(人))
性能=3+10*np.rand.rand(len(人))
ax.barh(y_位置,性能,对齐并居中)
轴设置锁定(y位置)
ax.设置标签(人)
ax.yaxis.set_minor_定位器(多路传送器(0.5))
ax.set_ylim(-0.5,len(y_pos)-0.5)#默认情况下,填充太多,看起来不好看
ax.invert_yaxis()#标签从上到下读取
ax.grid(颜色为“黑色”,轴为“x”,哪个轴为“主轴”)
轴网格(颜色为“黑色”,轴为“y”,哪个轴为“次要”)
plt.show()

Thansk很多:)