带有MatplotLib的Pandas:以log-x标度绘制回归线

i5desfxk  于 2022-11-20  发布在  其他
关注(0)|答案(1)|浏览(111)

问题是这样的:
我试图根据从Panda DataFrame获得的两个Pandas Series在散点图上绘制线性回归线。这些Series中的每一个都代表DataFrame的一列。在这里,散点图的“X”轴以对数刻度表示。
我在这里也发现了类似的问题:Plotting regression line with log y scale
然而,尽管我已经查阅了那篇文章,但我还是无法得到我想要的结果,因为在本例中,用对数刻度表示的轴是“X”而不是“Y”,传递给绘图函数的参数是Pandas Series而不是NumPy数组,最后,我使用的是从子绘图函数中解压缩的图和轴,而不是直接使用绘图函数(这是:“ax.scatter...”而不是“plt.scatter...”)
下面是我的代码和到目前为止的结果(“municipios”是我的DataFrame):

虽然我已经尝试了很多事情的基础上提到的职位,我总是得到一个意想不到的和错误的结果,其中包括一条线绘制了许多不规则的线段。
有人知道我做错了什么或者我应该怎么做吗?
多谢了!

55ooxyrt

55ooxyrt1#

我可以使用Seborn来实现这一点,就像这样(“municipios”是我的整个Pandas数据框):

x=np.log(municipios['DENSIDAD_HABITACIONAL'])
y=municipios['PORCENTAJE_NBI']

s=sns.regplot(x=x, y=y,fit_reg=True)
s.figure.set_size_inches(18.5, 10.5)

sns.despine()

还有:

x=np.log(municipios['POBLACION'])
y=np.log(municipios['SUPERFICIE'])

s=sns.regplot(x=x, y=y,fit_reg=True)
s.figure.set_size_inches(18.5, 10.5)

sns.despine()

相关问题