我有一个seaborn热图,我使用mpldatacursor
在正方形上显示注释,在本例中,是x轴坐标:
我通过以下行显示悬停工具提示:
datacursor(hover=True, axes = self.axh, formatter = "Value: {x:.0f}".format)
问题是,我的数据从70开始,热图的x轴索引从0开始,这就是为什么图像中的值是7。我要做的是找到一些方法来“添加”值的偏移量,这样我就能得到正确的值,即77。我尝试了以下方法:
formatter = str(eval(str("{x:.0f}".format) + "70")).format
但它不起作用…我怎么能做到呢?在
这应该是有效的:
所以之前的问题是我不明白应该为
^{pr2}$formatter
参数提供什么。示例代码之所以显示format
的错误用法,是因为格式化程序实际上使用字典参数调用函数(在本例中是方法)。所以就变成这样:将参数添加到其中。但是要修改字典的内容,您需要使用一个lambda,它接受dict,然后通过必要的修改将其解包。我们用键}对来自参数:
"x"
取这个值,然后加上70。在
d
之前的那些星将根据给定的关键字参数组成字典。因此,当函数f(**d)
被这样调用时:f(a=1, b=2, c=3)
将有一个字典d
,其中{{"a":1, "b":2, "c":3}
。这允许函数接受任何数量的参数,并将它们都很好地存储在字典中供您使用。在看起来你调用格式不正确。您需要指定要格式化的内容。下面是一个例子:
结果是:
^{pr2}$如果你想用它来增加70,你可以试试这个:
结果是:
最后,将其转换为lambda函数:
希望这就是你想要的。在
相关问题 更多 >
编程相关推荐