python - 在 matplotlib imshow 上更改坐标的格式/单位
问题描述
我希望光标的坐标是整数而不是 5.75e+03。我和这个用户有同样的问题(matplotlib 坐标格式),我使用了向他们建议的对他们有用的解决方案,但它对我不起作用。这是解决方案
ax.format_coord = lambda x, y: "({0:f}, ".format(y) + "{0:f})".format(x)
解决方案
您可能想使用该格式:.0f
,而不仅仅是:f
. 后者不固定小数位数。默认情况下,matplotlib 会根据可用空间自动选择格式。如果调整窗口大小,默认格式可能会改变。但这种选择在每种情况下似乎都不是合乎逻辑的。
在 Python 3.6f-strings
中引入,它简化了格式化的编写方式。有关可用格式说明符的详细列表,请参阅此文档。
这是一个最小的例子:
from matplotlib import pyplot as plt
import numpy as np
plt.imshow(np.random.rand(3, 5), extent=(0, 5000, 0, 3000))
plt.gca().format_coord = lambda x, y: f"({x:.0f}, {y:.0f})"
plt.show()
对于较旧的 Python 版本,您可以设置format_coord
为lambda x, y: "({0:.0f}, {1:.0f})".format(x, y)
推荐阅读
- javascript - 带有 Gatsby JS 和 Contentful 的 Onepage,如何导入我的第一个简单字符串
- azure - 如何设置虚拟机映像详细信息,例如发布者、报价、sku 和版本
- ruby - 如何仅在视图模板中在 Rails 表单中添加显示/隐藏操作
- jms - 使 JMS 队列了解正在处理的事件的状态。是否可以在 ActiveMQ 中进行配置?
- php - 在特征中查找类属性,但仅查找类的属性
- docker - Mosquitto 不在 Docker 容器中启动
- entity-framework - Web Api 2 - 数据库“主”中的 CREATE DATABASE 权限被拒绝。","ExceptionType":"System.Data.SqlClient.SqlException
- vue.js - vuex的奇怪行为
- c# - IViewLocationExpander 不适用于部分视图(MVC 核心)
- typescript - Storybook Vue Typescript:找不到模块:错误:无法解决