如何摆脱散点图中奇怪的杂散线[重复]

问题描述 投票:0回答:1

我正在处理众所周知的

Gapminder
数据文件(此处: https://www.kaggle.com/datasets/tklimonova/gapminder-datacamp-2007?select=gapminder_full.csv)

df.head():

        country     year    population  continent   life_exp         gdp_cap
0   Afghanistan     2007      31889923       Asia     43.828      974.580338
1   Albania         2007       3600523     Europe     76.423     5937.029526
2   Algeria         2007      33333216     Africa     72.301     6223.367465
3   Angola          2007      12420476     Africa     42.731     4797.231267
4   Argentina       2007      40301927   Americas     75.320    12779.379640

我尝试了

scatter plot
,但对图中出现的许多线条感到困惑:

plt.style.use('seaborn')

x = np.array(df['gdp_cap'])
y = np.array(df['life_exp'])

plt.scatter(x, y, marker = 'o', alpha = 1)

coeff = np.polyfit(x, y, 2)

plt.plot(x, coeff[0]*(x**2) + coeff[1]*x + coeff[2])

plt.show()

我做错了什么???

python numpy matplotlib scatter-plot data-fitting
1个回答
0
投票

你的第二个图透支了第一个图。请添加另一个

plt.show()
以防止透支:

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

plt.style.use('seaborn')

x = np.array(df['gdp_cap'])
y = np.array(df['life_exp'])

plt.scatter(x, y, marker = 'o', alpha = 1)
plt.show()

coeff = np.polyfit(x, y, 2)
plt.plot(x, coeff[0]*(x**2) + coeff[1]*x + coeff[2])

plt.show()

输出:

© www.soinside.com 2019 - 2024. All rights reserved.