我正在尝试通过将网格线放置到一些特定位置来创建热图,我已经完成了这一操作。假设,我尝试在长度为640,640的矩阵中的位置358和589制作网格线。之后,我想将标签从358更改为定义值999,并将589更改为指定值1023。然而,无法更改两条网格线中心位置的x和y标签。例如,我尝试了以下方法:
data = np.random.rand(640, 640)
fig, ax = plt.subplots()
im = ax.imshow(data,cmap='coolwarm')
ax.set_xticks([358,589])
ax.set_yticks([358,589])
ax.set_xticklabels([999,1023])
ax.set_yticklabels([999,1023])
ax.grid(which='major',color='black',linestyle='--',linewidth=1,alpha=0.5)
plt.show()
创建如下图像:Heatmap with customized labelling
但是我想把标签放在两条网格线的中间而不是网格线的位置。怎么做呢?
1条答案
按热度按时间brccelvz1#
默认情况下,刻度标签和网格线都由主刻度决定。要更改此设置,可以使用次刻度来定位刻度标签的网格线和主刻度: