当前位置: 首页 > 知识库问答 >
问题:

在x轴上绘制时间序列中的日期[重复]

尉迟哲瀚
2023-03-14

我试图在一个5年的时间序列图上绘制日期(N=50),我很难弄清楚如何在for循环上运行迭代。下面是我试图绘制日期的一个例子。

我正在绘制日期的视觉效果

目前,我正在尝试:

for date in dataframe_with_dates.DATE:
    plt.axvline(x = date, color = 'g')

plt.show()

我收到一个错误:无法将值转换为轴单位:“日期”

我不确定这是否与dtype是datetime有关,或者我是否需要尝试另一种方法,但是任何建议/指导都非常感谢!

谢谢你!

这就是我试图完成的:示例图像

编辑:生成打印的代码

def plot_df(df_1, x, y, title = '', xlabel = 'DATE', ylabel = 'VALUE', dpi = 100):
    plt.figure(figsize = (25,5), dpi = dpi)
    plt.plot(x, y, color = 'tab:red')
    plt.gca().set(title = title, xlabel = xlabel, ylabel = ylabel)
    plt.show()

plot_df(df_VIX, x = df_VIX.DATE, y = df_VIX.AVG_VALUE, title = 'Daily VIX since 1990')

`

data_test = [['2016-01-04', 22.48, 23.36, 20.67, 20.70, 21.8025],
         ['2016-01-05', 20.75, 21.06, 19.25, 19.34, 20.1],
         ['2016-01-06', 21.67, 21.86, 19.8, 20.59, 20.98],
         ['2016-01-07', 23.22, 25.86, 22.4, 24.99, 24.1175],
         ['2016-01-08', 22.96, 25.86, 22.40, 24.99, 24.89]]
df_test = pd.DataFrame(data_test, columns = ['DATE','OPEN','HIGH','LOW','CLOSE', 'AVG_VALUE'])

df_test['DATE'] = pd.to_datetime(df_test['DATE'])

这将复制我使用的精确数据的样本。

共有1个答案

梁烨
2023-03-14

我想这就是你想要的:

df_test.plot(x='DATE', y='OPEN')

或者将y='OPEN'替换为要打印的另一列。pandas将自动设置x轴的格式,使其与图中显示的相似。

 类似资料:
  • 问题内容: 我正在尝试根据日期绘制信息。我有日期列表,格式为“ 01/02/1991”。 我通过执行以下操作来转换它们: 这使 然后我尝试使用num2date 绘图: 但是我得到一个错误。它显示“ ValueError:年份超出范围”。有什么办法吗? 问题答案: 就像@KyssTao所说的那样,必须是一个浮点数,其中要给出从0001-01-01开始的天数加一。因此,它不是1991年1月2日,因为如

  • 问题内容: 我尝试使用以下代码在具有日期时间x轴的图形上绘制矩形: 但是,我得到了错误: 怎么了 (我正在使用matplotlib 1.0.1版) 问题答案: 问题在于,matplotlib使用其自己的日期/时间表示形式(浮动天数),因此您必须先进行转换。此外,您将不得不告诉xaxis它应该具有日期/时间刻度和标签。下面的代码可以做到这一点: 结果: 注意 :Matplotlib 1.0.1 非常

  • 问题内容: 我有一个由日期-值对组成的数据集。我想将它们绘制在x轴上具有特定日期的条形图中。 我的问题是在整个日期范围内分配;并使用点绘制数据。 日期是所有对象。这是数据集的示例: 这是使用的可运行代码示例 问题摘要: 我的情况更像是我已经准备好一个实例(在上面的代码中由引用),并且我想执行以下操作: 使对应于确切的日期值。我听说过,但我不知道如何创建一个对象,然后将其与特定对象关联。 严格控制使

  • 我使用MPChart来显示条形图。我的价值观有积极的也有消极的。我想展示传统数学中使用的x轴。使用这个代码我的图表显示垂直线(只需要零) 请提供一些样本,删除所有水平线,但零 编辑:即使当< code > yaxis . setlabelcount(1)(1因为需要显示零值)时,impl看起来像: 那么,是否建议覆盖这个实现呢?

  • 问题内容: 我想在x轴较长的地方绘制数据。如果我绘制整个x轴,则图会缩小并且几乎无法读取。我在SO上找到了这个答案,它指向以下scipy / matplotlib代码。但是,当我尝试运行上述代码时,出现以下错误: PS:也欢迎其他解决方案(最好是python,R或一些简单的多平台解决方案) PPS:我已经打开了提到的错误的问题 问题答案: 您是否考虑过使用matplotlib滑块小部件? 这里有一

  • 问题内容: 我试图用pyplot在x轴上的对象列表上绘制一些数据。但是日期以标准格式显示(太长)。我可以通过使用创建日期字符串列表来规避此问题,而改用它。我也知道,可以使用某种对象固有的对象代替。 但是,有没有一种方法可以显示对象的格式?无需将所有内容都转换为字符串或另一种对象? 谢谢。 问题答案: 您可以使用: