根据这个答案:https://stackoverflow.com/a/20471251/14736707,从左上角到右下角,从0开始添加标签,我怎样才能改变它,标签从左下角开始,然后向右上角工作呢?
我指的特别代码是
for j in range(ny):
y=myInterval/2+j*myInterval
for i in range(nx):
x=myInterval/2.+float(i)*myInterval
ax.text(x,y,'{:d}'.format(i+j*nx),color='w',ha='center',va='center')其结果如下:

我想要的是以下内容,根据图像的不同,我可以从一个特定的数字开始返回值--在这种情况下,X轴为10,Y为12,从左下角开始工作。

发布于 2022-07-07 16:53:24
将代码更改为
for j in range(ny):
y=myInterval/2+j*myInterval
for i in range(nx):
x=myInterval/2+i*myInterval
ax.text(x,y,f'{i+10}_{j+12}',color='b',ha='center',va='center')基于链接的示例:
import matplotlib.pyplot as plt
import matplotlib.ticker as plticker
fig, ax = plt.subplots()
myInterval=100
loc = plticker.MultipleLocator(base=myInterval)
ax.xaxis.set_major_locator(loc)
ax.yaxis.set_major_locator(loc)
ax.xaxis.set_major_formatter(plticker.NullFormatter())
ax.yaxis.set_major_formatter(plticker.NullFormatter())
ax.tick_params(bottom=False, left=False)
ax.grid(which='major', axis='both', linestyle='-')
ax.set(xlim=(0,400), ylim=(0,400))
nx=abs(int((ax.get_xlim()[1]-ax.get_xlim()[0])/myInterval))
ny=abs(int((ax.get_ylim()[1]-ax.get_ylim()[0])/myInterval))
for j in range(ny):
y=myInterval/2+j*myInterval
for i in range(nx):
x=myInterval/2+i*myInterval
ax.text(x,y,f'{i+10}_{j+12}',color='b',ha='center',va='center')

https://stackoverflow.com/questions/72901087
复制相似问题