当前位置: 首页 > 面试题库 >

使用Python的matplotlib在x轴上绘制日期

丌官哲彦
2023-03-14
问题内容

我正在尝试根据日期绘制信息。我有日期列表,格式为“ 01/02/1991”。

我通过执行以下操作来转换它们:

x = parser.parse(date).strftime('%Y%m%d'))

这使 19910102

然后我尝试使用num2date

import matplotlib.dates as dates
new_x = dates.num2date(x)

绘图:

plt.plot_date(new_x, other_data, fmt="bo", tz=None, xdate=True)

但是我得到一个错误。它显示“ ValueError:年份超出范围”。有什么办法吗?


问题答案:

就像@KyssTaohelp(dates.num2date)所说的那样,x必须是一个浮点数,其中要给出从0001-01-01开始的天数加一。因此,19910102它不是1991年1月2日,因为如果您从0001-01-01开始算起19910101天,那么您将在54513年或类似的年份获得收入(除以365.25,即一年中的天数)。

datestr2num改为使用(请参阅help(dates.datestr2num)):

new_x = dates.datestr2num(date) # where date is '01/02/1991'


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

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

  • 我试图在一个5年的时间序列图上绘制日期(N=50),我很难弄清楚如何在for循环上运行迭代。下面是我试图绘制日期的一个例子。 我正在绘制日期的视觉效果 目前,我正在尝试: 我收到一个错误: 我不确定这是否与dtype是datetime有关,或者我是否需要尝试另一种方法,但是任何建议/指导都非常感谢! 谢谢你! 这就是我试图完成的:示例图像 编辑:生成打印的代码 ` 这将复制我使用的精确数据的样本。

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

  • 本文向大家介绍Python 用matplotlib画以时间日期为x轴的图像,包括了Python 用matplotlib画以时间日期为x轴的图像的使用技巧和注意事项,需要的朋友参考一下 1.效果展示 主要效果就是,x轴 显示时间单位。 下图展示的就是想要到达的效果。 其实主要是运用了datetime.date这个类型的变量作为x轴坐标的数据输入。 2. 源码 将data.txt中的数据读入,用mat

  • 问题内容: 我有一个格式为(HH:MM:SS.mmmmmm)的时间戳数组和另一个浮点数数组,每个浮点数对应于timestamp数组中的一个值。 我可以使用Matplotlib在x轴上绘制时间,在y轴上绘制数字吗? 我试图这样做,但是不知何故它只接受浮点数数组。如何获得时间图?我必须以任何方式修改格式吗? 问题答案: 你必须首先将时间戳转换为对象(使用)。然后使用将日期转换为格式。 使用以下方式绘制