Python 如何在绘图上添加x轴?
我试图绘制一些数据,但我不知道如何在图形的x轴上添加日期值。这是我的密码:Python 如何在绘图上添加x轴?,python,python-3.x,matplotlib,plot,Python,Python 3.x,Matplotlib,Plot,我试图绘制一些数据,但我不知道如何在图形的x轴上添加日期值。这是我的密码: import pandas as pd import numpy as np %matplotlib inline %pylab inline import matplotlib.pyplot as plt pylab.rcParams['figure.figsize'] = (15, 9) df["msft"].plot(grid = True) 图像的描述是一个绘图,但x轴只有数字,但我正在寻找x轴上显示的日
import pandas as pd
import numpy as np
%matplotlib inline
%pylab inline
import matplotlib.pyplot as plt
pylab.rcParams['figure.figsize'] = (15, 9)
df["msft"].plot(grid = True)
图像的描述是一个绘图,但x轴只有数字,但我正在寻找x轴上显示的日期。日期在数据框的日期列中
以下是dataframe的外观:
date msft nok aapl ibm amzn
1 2018-01-01 09:00:00 112 1 143 130 1298
2 2018-01-01 10:00:00 109 10 185 137 1647
3 2018-01-01 11:00:00 98 11 146 105 1331
4 2018-01-01 12:00:00 83 3 214 131 1355
你能就我缺少的东西提供一些帮助吗?一种方法是函数,尽管T先生的答案是正确的
ax = plt.subplot(111)
df["msft"].plot(grid = True)
ax.set_xticklabels(df['date'])
plt.xticks(np.arange(4))
根据提供的数据:
您的列
日期
只是pandas的另一列,您必须告诉程序您要根据此特定列进行绘图。一种方法是根据此列进行绘图:
from matplotlib import pyplot as plt
import pandas as pd
#load dataframe
df = pd.read_csv("test.txt", delim_whitespace=True)
#convert date column to datetime object, if it is not already one
df["date"] = pd.to_datetime(df["date"])
#plot the specified columns vs dates
df.plot(x = "date", y = ["msft", "ibm"], kind = "line", grid = True)
plt.show()
有关更多熊猫绘图选项,请查看
另一种方法是将date
设置为数据帧的索引。然后您可以使用您的方法:
df.set_index("date", inplace = True)
df[["msft", "ibm"]].plot(grid = True)
plt.show()
自动日期标签可能不是您想要显示的。但是有一些方法可以格式化输出和。谢谢,但我想知道如何从数据框中提取日期并将其应用到x轴。在我的示例中,我在x轴上有索引。