如何在python中的同一轴上绘制具有不同时间频率的两个时间序列数据?

杰克·奥尔

我有2个时间序列数据。

  1. 公司ABC的每日股票回报
  2. 农行年收入

我想将这两个系列绘制在同一图形(相同的x轴)上,以便可以直观地看到这两个数据如何相互关联,如下图所示。我如何使用pandas和matplotlib在python中实现呢?

在此处输入图片说明

plasmon360

我希望这就是你想要的

import numpy as np 
import pandas as pd
import matplotlib.pyplot as plt

# Made up Stock price data
stock_price = np.random.random_sample(size=100)*20+np.exp(0.05*np.arange(100))
stock_price_df = pd.DataFrame({'dates':pd.date_range(start='1/1/2018', end='1/08/2023',periods=len(stock_price)), 'stock price':stock_price})
stock_price_df = stock_price_df.set_index('dates')

# Made up revenue data
revenue = np.random.random_sample(size=100)*20+np.exp(0.02*np.arange(100))
revenue_df= pd.DataFrame({'dates':pd.date_range(start='1/1/2018', end='1/08/2023',periods=len(revenue)), 'revenue': revenue})
revenue_df = revenue_df.set_index('dates')
revenue_df_agg = revenue_df.resample('Y').mean().reset_index()

# Plot two of them together
fig, ax = plt.subplots()
ax.bar(pd.to_datetime(revenue_df_agg['dates'].dt.year, format='%Y'), revenue_df_agg['revenue'], width=200)
ax.set_ylabel('Revenue')
ax1 = ax.twinx()
s = stock_price_df['stock price'].plot(ax = ax1, style = '-r')
ax1.set_ylabel('Stock price')
ax1.yaxis.label.set_color('r')
ax1.yaxis.label.set_color('r')
ax1.tick_params(axis='y', colors='r')
plt.savefig('collage-2.png')
plt.show()

结果是

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Python Matplotlib中绘制两个具有不同时间间隔的数据集并使它们共享轴

SparkSQL:如何对两个具有不同时间戳的时间序列数据集求和

如何在同一图表中在xAxis中绘制具有不同数据时间的两个系列

如何在同一轴上绘制来自三个不同时间段的 x/y 数据点以进行分析?

同一ChartJs图表上具有不同时间实例的两个数据集

如何合并具有不同时间戳的两个不同数据帧?

如何合并具有不同时间戳密度的两个熊猫数据帧?

合并两个具有不同时间粒度的时间序列

如何在Python的同一图上绘制两个不同的时间序列

在Python中合并具有不同时间频率的系列/数据框

如何并排组合两个具有不同时间框架但有空白的 Panda 数据框

如何在带有传说和次要Y轴的同一地块上绘制两个熊猫时间序列?

如何合并两个具有不同时间戳的熊猫

如何在同一个Activity中调用将在同一文件上但在不同时间使用的两个方法?

合并具有不同时间戳(不同时间间隔)的两个数据帧

使用xts在R中绘制具有不同时间索引的多个时间序列

如何将具有不同时间轴的 2 个或多个 maesurements(csv) 绘制成一个带有熊猫的图形并绘图

Bash 命令对具有不同时间序列行的两个 csv 文件进行列合并

绘制两个具有不同x轴的时间序列

Pandas:在两个不同时间序列中按日期顺序分组在同一 ID 下的列表中显示事件

从具有不同 y 间隔的两个数据集绘制两个时间序列

如何在R中同步具有部分不同时间戳的数据

如何计算R中具有不同时间范围和NA的时间序列数据的均值

同一日期两个不同时间之间的值差

在Sql中按日期和同一日期的两个不同时间分组

合并/合并熊猫中具有不同频率时间序列索引的两个数据帧?

SQL查询以合并两个具有不同时间戳的表作为索引

在具有不同时间戳的两个文档之间减去数字字段

将具有相同时间范围的两个时间序列数据添加到单个数据帧或xts数据的最佳方法