在我的matplotlib散点图上画一条对角线?

igetnqfo  于 2023-02-13  发布在  其他
关注(0)|答案(2)|浏览(336)

我试图在我的图上画一条对角线来展示我的数据与别人的数据相比如何,所以我想用一条线来表示1:1的关系。我试图使用plt.plot来画两点之间的线,但我的图上没有线。这是我的代码+图。有人能告诉我为什么它不工作吗?

plot23 = sns.regplot(x = Combined['log10(L/L_solar)'], y = Combined['logLum'], 
fit_reg=False).set_title('Figure 23: Comparing luminosities')
plt.xlabel('logL from my data', fontsize=13)
plt.ylabel('logL from Drout', fontsize=13)
plt.axis((4, 6, 4, 6))
plt.plot([0,0], [6,6], 'k-')
plt.show()
plot23.figure.savefig("figure23.png")
ma8fv8wu

ma8fv8wu1#

您在使用plt.plot时犯了一个错误。语法为
plt.绘图(x数组、y数组...)
。这应该是:

plt.plot([0,6], [0,6], 'k-')
3z6pesqy

3z6pesqy2#

要以指定Angular (例如,通过原点(0,0)的45度角)绘制无限长线,可以使用

plt.axline( (0,0),slope=-1,linestyle='--',color='red')

这条线将跨越整个轴框,而不考虑数据极值,并且您不必首先确定轴限值或数据限值。
这是 * plt. axhline()* 和 * plt. axvline()* 的一般化,这两个函数用于绘制无限长的水平线和垂直线。
参考:https://matplotlib.org/stable/gallery/pyplots/axline.html

相关问题