我一直在尝试从两个单独的 CSV 文件获取数据以显示在一张图表上,以便可以对数据进行直观比较。脚本运行后,我可以打印这两个结果,但无法在图表上显示该数据。我确信我在这里遗漏了一些东西,但我已经坚持了一段时间了。
这是源代码:
import pandas as pd
import matplotlib.pyplot as plt
from sklearn import linear_model
df1 = pd.read_csv(r'/home/morgankemp/Downloads/Data2.csv')
df = pd.read_csv(r'/home/morgankemp/Downloads/Data.csv')
print (df)
print(df1)
X = list(df.iloc[:, 0])
Y = list(df.iloc[:, 1])
plt.scatter(X, Y, color='b')
plt.title("Levels of Methane (CH4) Emissions (Tonnes) From Denmark 2010 - 2019")
plt.xlabel("Years")
plt.ylabel("Number of Tonnes")
plt.show()
如果有人能指出我正确的方向,谢谢。
代码输出:
图表仅显示一组结果:
您可以尝试以下方法来循环每个文件和颜色组合:
import pandas as pd
import matplotlib.pyplot as plt
from sklearn import linear_model
data = [
[r'/home/morgankemp/Downloads/Data.csv', 'b'],
[r'/home/morgankemp/Downloads/Data2.csv', 'g']
]
for filename, colour in data:
df = pd.read_csv(filename)
X = list(df.iloc[:, 0])
Y = list(df.iloc[:, 1])
plt.scatter(X, Y, color=colour)
plt.title("Levels of Methane (CH4) Emissions (Tonnes) From Denmark 2010 - 2019")
plt.xlabel("Years")
plt.ylabel("Number of Tonnes")
plt.show()
没有文本格式的数据很难测试。
我认为你可以做到:
plt.scatter(df1['Year'],df1['Long header here'])
plt.scatter(df2['Year'],df2['Long header here'])
plt.show()