Python Matplotlib文本未显示在绘图中
我试图通过为坐标轴提供相对范围为0-1的坐标,将文本注释添加到pandas绘图中,但当前文本未显示。以下是一些示例代码和结果图: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() 我正在使用以下版本: 熊猫
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。