python - 如何更改我的绘图图的 X 轴以表示在我的 pandas 数据框中存储为行标题的日期?2020 年 Python 财务食谱
问题描述
我正在阅读 Packt 于 2020 年出版的《Python For Finance Cookbook》一书。在第 1 章中,plotly 用于绘制股票价格、回报和对数回报。然而,在本书出版后立即更新了他们的文档,所以我很难复制这个情节。这是 repo 的链接https://github.com/erykml/Python-for-Finance-Cookbook/tree/master/Chapter%2001。我想使用相同的 x 轴绘制 3 个线图,这将是日期。我知道了,但我无法更改 x 轴以反映年份,它停留在计算 1990 年到 2020 年的天数上。谢谢。
import pandas as pd
import yfinance as yf
import numpy as np
import cufflinks as cf
from plotly.offline import iplot, init_notebook_mode
import plotly.graph_objects as go
import plotly.express as px
from plotly.subplots import make_subplots
init_notebook_mode()
df = yf.download('MSFT', auto_adjust = False, progress=False)
df = df.loc[:, ['Adj Close']]
df.rename(columns={'Adj Close': 'adj_close'}, inplace=True)
df['simple_rtn'] = df.adj_close.pct_change()
df['log_rtn'] = np.log(df.adj_close / df.adj_close.shift(1))
df.dropna(how = 'any', inplace = True)
px.line(data_frame=df, title='MSFT time series')
fig = make_subplots(rows=3, cols=1,
shared_xaxes=True,
vertical_spacing=0.02)
fig.add_trace(go.Scatter(y = df['adj_close']),
row=1, col=1)
fig.add_trace(go.Scatter(y = df['simple_rtn']),
row=2, col=1)
fig.add_trace(go.Scatter(y = df['log_rtn']),
row=3, col=1)
解决方案
我明白了,大声笑非常简单的修复。我刚设置x=df.index
推荐阅读
- java - 使用 Socket IO 重新连接到旧连接
- python - 从 Dataframe 在 Python Docx 中添加表非常慢
- oracle - 动态执行 RAISE 错误时出错
- python - Gedit python插件滚动1行(Ubuntu 20.04)
- c# - 尝试插入具有 1:N 关系的实体时,重复键值违反了 EntityFramework 中的唯一约束“PK_Users”错误
- python - 在语料库中查找包含两个“g”(不一定相邻)的单词
- javascript - 使用在 showFileUpload 之后发送表单的自定义函数进行反应和上传
- android - Android Studio Preview 看起来很模糊
- julia - 如何在 Flux.jl 中进行主动学习?
- typescript - 指定对象中键的类型