我希望光标的同弦是一个整数,而不是5.75e+03。我和这个用户(matplotlib坐标格式)有同样的问题,我使用了为他们提供的解决方案,但对我来说不起作用。这就是解决办法
ax.format_coord = lambda x, y: "({0:f}, ".format(y) + "{0:f})".format(x)
这是我的阴谋:
发布于 2021-02-22 11:40:41
您可能希望使用:.0f
格式,而不是只使用:f
。后者不确定小数的数目。默认情况下,matplotlib会根据可用空间自动选择格式。如果调整窗口的大小,默认格式可能会更改。但在每一种情况下,这一选择似乎并不合乎逻辑。
在Python3.6中引入了f-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)
https://stackoverflow.com/questions/66314675
复制相似问题