这是一个非常简单的问题。我有x年的轴,y轴的数字线性增加100。用pandas和matplotlib进行绘制时,会得到一个不表示任何数据的图形。我需要一些帮助来解决这个问题,因为它的代码量很小:
CSV如下:
A,B
2012,100
2013,200
2014,300
2015,400
2016,500
2017,600
2018,700
2012,800
2013,900
2014,1000
2015,1100
2016,1200
2017,1300
2018,1400
代码:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
data = pd.read_csv("CSV/DSNY.csv")
data.set_index("A", inplace=True)
data.plot()
plt.show()
产生的图形是:
这显然与数据不一致-有什么建议吗?
答案 0 :(得分:4)
matplotlib / pandas的默认行为是在连续的数据点之间画一条线,而不是用符号标记每个数据点。
修复:将data.plot()
更改为data.plot(style='o')
或df.plot(marker='o', linewidth=0)
。
答案 1 :(得分:1)