我有一个图表,在matplotlib中显示。悬停时,它将显示右上角点的坐标以及其下方的值。然而,我试图改变值部分,使其不在科学记数法中,而是将其显示为全整数(或任何格式)。
我使用了本节中的format_coordinates
来格式化坐标,所以我认为它也会在本节中。但是,我找不到要传递的内容来格式化值本身。下面的代码负责使悬停时的坐标捕捉到最接近的整数:
def format_coordinates_int(self,x,y) :
return "X=%i Y=%i" % (int(x+0.5), int(y+0.5))
axes.format_coord = self.format_coordinates_int
我应该将这种格式传递到什么中才能对值产生相同的效果?
1条答案
按热度按时间eimct9ow1#
为了将悬停时显示的值格式化为整数,您应该使用matplotlib.ticker模块中的ScalarFormatter类。
它根据值的范围自动确定记号标签的格式。
默认情况下,ScalarFormatter使用科学符号表示大值或小值...但是,设置“useOffset=False”和“useMathText=False”,我们可以获得普通的整数格式。
format_data 方法返回它的字符串表示形式。