Python Matplotlib文本未显示在绘图中

Python Matplotlib文本未显示在绘图中,python,pandas,matplotlib,Python,Pandas,Matplotlib,我试图通过为坐标轴提供相对范围为0-1的坐标,将文本注释添加到pandas绘图中,但当前文本未显示。以下是一些示例代码和结果图: import seaborn as sns import pandas as pd import matplotlib.pyplot as plt df = sns.load_dataset('iris') df['sepal_length'].plot() plt.text(0.7, 0.7, 'test') plt.show() 我正在使用以下版本: 熊猫

我试图通过为坐标轴提供相对范围为0-1的坐标,将文本注释添加到pandas绘图中,但当前文本未显示。以下是一些示例代码和结果图:

import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt


df = sns.load_dataset('iris')
df['sepal_length'].plot()
plt.text(0.7, 0.7, 'test')
plt.show()

我正在使用以下版本: 熊猫:0.24.2 matplotlib:3.0.3

在Ubuntu18上

annotate()函数似乎也不起作用


关于文本为什么不显示的任何线索?

由于绘图的边界超过了您传递的值,您应该尝试传递不同的参数,例如:

import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt


df = sns.load_dataset('iris')
df['sepal_length'].plot()
plt.text(70,7, 'test')
plt.show()

由于绘图边界超出了已传递的值,因此应尝试传递不同的参数,例如:

import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt


df = sns.load_dataset('iris')
df['sepal_length'].plot()
plt.text(70,7, 'test')
plt.show()

好的,多亏了@ImportanceOfBeingErnest,我误解了plt.text()的参数。默认情况下,x和y坐标位于“数据”维度中。要将轴的范围改为0-1,可以执行以下操作:

ax = df['sepal_length'].plot()
plt.text(0.1, 0.7, 'test', transform=ax.transAxes)

文档(尤其是“transform”参数的选项)中并没有特别清楚,但在一个示例中:

好的,多亏了@ImportanceOfBeingErnest,我误解了plt.text()的参数。默认情况下,x和y坐标位于“数据”维度中。要将轴的范围改为0-1,可以执行以下操作:

ax = df['sepal_length'].plot()
plt.text(0.1, 0.7, 'test', transform=ax.transAxes)

这在文档(尤其是“transform”参数的选项)中不是非常清楚,但在一个示例中:

正如其他人所提到的,您使用的测试点超出了打印范围。测试范围内的一个点,它应该按预期工作

这是测试点(60,5)


如其他人所述,您使用的测试点超出了打印范围。测试范围内的一个点,它应该按预期工作

这是测试点(60,5)


(0.7,0.7)
超出了绘图范围。可以使用
(20,7)
来代替。@words经过同意。
(0.7,0.7)
超出了绘图范围。可以使用
(20,7)
来代替。@Words forthewise Agreed。