Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matplotlib 向轮廓添加标签_Matplotlib - Fatal编程技术网

Matplotlib 向轮廓添加标签

Matplotlib 向轮廓添加标签,matplotlib,Matplotlib,此代码: import numpy as np import matplotlib.pyplot as plt plt.contourf(np.random.random((10,10)), label='my_label') plt.legend() 产生以下警告: warnings.warn(“未找到带标签的对象”) 有人知道如何标记轮廓吗? 我只想以最简单的方式在绘图窗口内对自动生成的等高线进行注释。我使用该函数标记填充的等高线: 在上面的代码中,我使用了: plt.annotate

此代码:

import numpy as np
import matplotlib.pyplot as plt

plt.contourf(np.random.random((10,10)), label='my_label')
plt.legend()
产生以下警告:

warnings.warn(“未找到带标签的对象”)

有人知道如何标记轮廓吗?
我只想以最简单的方式在绘图窗口内对自动生成的等高线进行注释。

我使用该函数标记填充的等高线:

在上面的代码中,我使用了:

plt.annotate('my_label',(8,1),backgroundcolor='w')

因此,与
label
参数相比,唯一需要考虑的是,用户需要知道文本位置的坐标。我想大概是这样

更新:根据注释中的建议,用户可以为
xycoords
参数选择
axes fraction
类型,并使用范围[0,1]中的相对参考来设置强制
xy
点参数:


plt.annotate('my_label',(.9,.1),xycoords='axes fraction',backgroundcolor='w')

这里的示例是否符合您的要求?我对你使用图例和说你想注释曲线感到困惑。这些是填充轮廓。在您的链接示例中,这是轮廓线上的经典图例。我不想那样做。我想命名绘图,但不是使用
title()
,它将显示在绘图窗口外部,而是内部。我想尝试使用标签,就像在常规绘图中一样,但它不起作用。好的,我想我可以使用
annotate()
函数,然后我会将其作为答案发布?啊,根本不明白你的问题;)您可以使用带有注释的轴单位,请参见kwarg
xycoords
textcoords
上的文档,这就是为什么我写道用户需要知道打印坐标(数组形状),而标签可以在不考虑这些因素的情况下定位(即“左上”、“中心”、“最佳”等),您使用的是数据坐标。轴坐标从
[0,0]
(左下)到
[1,1]
(右上)并且是轴高度和宽度的分数。谢谢@tcaswell,我更新了我的答案以包含您的发现。