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

绘制一年时间序列的每周刻度数据

麹正业
2023-03-14

我有一个时间序列,列出了几个月交易历史中期货合约的成交价格数据。我希望有一个图表(折线图),显示时间序列中最近4周内每周滴答数据的交易历史(该序列不断更新)

X轴将显示周一至周五的日期,图表上任何时候都会有4条单独的线详细说明刻度数据。我已经设法做到这一点,使用一些代码,绘制最后一笔交易的每一天,但我需要的是滴答数据绘图,而不是仅仅一个数据点,每天为每一行。

这是一张Excel图表(!)在我试图用记号数据表示的内容中,只有线条会更不稳定,因为会有更多的数据点
基本上,一张图表上有4条线显示了过去四周的交易滴答数据:

我没有我试过的代码(它正在工作),但明天可以上传。

共有1个答案

仉姚石
2023-03-14

给你一些假数据:

In [11]: rng = pd.date_range('2013', freq='H', periods=1000)

In [12]: df = pd.DataFrame(np.random.randn(len(rng)), index=rng, columns=['data'])

首先,填充星期号(作为列):

In [13]: df['week'] = df.index.week

接下来,计算一周开始以来的时间(可能有更优雅的方法):

In [14]: df['week_beginning'] = df.index.to_period('W').to_timestamp()

In [15]: df['week_time'] = df.index.to_series() - df['week_beginning']

现在您可以使用透视表

In [16]: df.pivot_table(values='data', rows='week_time', cols='week')
Out[16]: 
<class 'pandas.core.frame.DataFrame'>
Int64Index: 168 entries, 0 to 601200000000000
Data columns (total 7 columns):
33    120  non-null values
34    168  non-null values
35    168  non-null values
36    168  non-null values
37    168  non-null values
38    168  non-null values
39    40  non-null values
dtypes: float64(7)

听起来这就是你想要描绘的东西(使用你之前问题中的技巧):

In [17]: df.pivot_table('data', 'week_time', 'week').rename(columns=lambda x: 'Week ' + str(x)).plot()

注意:这个特定的图相当混乱,因为有很多数据点,提前聚合一些数据可能是有意义的。

 类似资料:
  • 我们在蜂巢中有一个表,它将每天结束时的交易订单数据存储为order_date。其他重要的列是产品、合同、价格(订单价格)、ttime(交易时间)状态(插入、更新或删除)价格(订单价格) 我们必须以滴答数据的方式从主表中构建一个图表表,其中包含从市场开盘到开盘的上午每行(订单)的最大和最小价格订单。i、 e对于给定的订单,我们将有4列填充为maxPrice(到目前为止的最高价格)、maxpriceO

  • 问题内容: 假设我使用以下方法创建一个完全随机的“Dataframe”: 这将导致数据帧显示在这篇文章的底部。我想 使用 时间序列 “seaborn”中的可视化功能使我得到了以下线索 我如何解决这个问题?从我读到的 笔记本](http://www.stanford.edu/~mwaskom/software/seaborn/timeseries_plots.html), 电话应该是: 但这似乎需要

  • 我正在使用JFreeChart制作一个条形图与时间。由于某些原因,在这些图表上,x轴上的刻度标签变为“…”偶尔地似乎有足够的空间来扩展标签,但它只是切断了整个事情。我怎样才能解决这个问题。 我试着用图片按钮上传一张图片,但它似乎不起作用。 下面是与我的项目设置相似的代码。奇怪的是,它的行为不同于我的建筑。在我的上面,不是说“侯......”,而是说“......”。请忽略评论和所有其他未编辑的东西

  • 使用jfreechart fx渲染带有垂直刻度标签的时间序列图表时,标签意外地与域轴重叠,有时在调整大小时会发生更改。我无法用Swing或纯Java2D重现这一点,如图所示。我欢迎任何指导。

  • 我希望有办法解决这个问题,因为关于pyplot中的xtick格式有很多问题,但我没有发现任何与这个问题相关的东西。 我有以下代码: 它工作得很好,但是输出有点混乱,因为这是每周的数据。 一些样本数据: 输出: xticks标签是不可读的,我想知道是否有人知道如何拥有相同的每周图表,但xticks只代表一年。我尝试了几种不同的方法,但是要么(1)它将图形缩小到屏幕的最左边,要么(2)我得到一个错误,

  • 问题内容: 我在我的应用程序中使用了自定义日历。我已为用户提供了选择一周中第一天的选项,可能是: 我想获取一个月中的星期数-取决于星期几的开始时间,而不是星期几的默认值- 。 码: 问题答案: 尝试 在您的情况下,您可能需要执行以下操作: 并用诸如