我现在正试图通过Pandas绘制数据帧。一切都很好,但我不知道如何定义y轴和x轴刻度。例如,在下文中,我想用y轴刻度而不是0.0到0.7来显示从1.0到0.0的图形。
以上是上图的代码。
In [90]: df
Out[90]:
history lit science social accuracy
2014-11-18 0.680851 0.634146 0.452381 0.595745 0.01
2014-12-10 0.680851 0.634146 0.452381 0.595745 0.01
In [91]: df.plot()
Out[91]: <matplotlib.axes._subplots.AxesSubplot at 0x7f9f3e7c9410>
此外,我想为每个点显示标记'x'。例如,DataFrame df有两行,所以我想为图表上的每个点标记'x'或'o'。
更新
在应用了Ffisegydd的优秀解决方案之后,我得到了以下我想要的图表。
In [6]: df.plot(ylim=(0,1), marker='x')
答案 0 :(得分:2)
pandas.DataFrame.plot()
将返回matplotlib轴对象。这可用于使用ax.set_ylim()
修改y限制之类的内容。
或者,当您调用df.plot()
时,您可以传递样式的参数,其中一个参数可以是ylim=(minimum_value, maximum_value)
,这意味着您在绘图后不必手动使用ax.set_ylim()
您还可以传递传递给matplotlib绘图例程的额外关键字参数,您可以使用此参数将标记设置为x
marker='x'
。
下面给出了一个玩具示例,其中ylim已设置为(0,5)
,而x
调用中的标记为df.plot()
。
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame(data={'x':[0,1,2,3,4], 'y':[0,0.5,1,1.5,2]})
ax = df.plot(ylim=(0,5), marker='x')
plt.show()