Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在绘图上添加x轴?_Python_Python 3.x_Matplotlib_Plot - Fatal编程技术网

Python 如何在绘图上添加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轴上显示的日

我试图绘制一些数据,但我不知道如何在图形的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轴上有索引。