首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >重新排列matplotlib网格文本标签

重新排列matplotlib网格文本标签
EN

Stack Overflow用户
提问于 2022-07-07 16:09:51
回答 1查看 28关注 0票数 0

根据这个答案:https://stackoverflow.com/a/20471251/14736707,从左上角到右下角,从0开始添加标签,我怎样才能改变它,标签从左下角开始,然后向右上角工作呢?

我指的特别代码是

代码语言:javascript
运行
复制
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,从左下角开始工作。

EN

Stack Overflow用户

回答已采纳

发布于 2022-07-07 16:53:24

将代码更改为

代码语言:javascript
运行
复制
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')

基于链接的示例:

代码语言:javascript
运行
复制
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')

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72901087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档