python - Python Ploty Graph Objects - 将某些子图上的 y 轴更改为百分比
问题描述
我正在尝试将某些子图的 y 轴格式化为百分比。我希望将 ROIC、ROE、GM% 和 CROCI 子图上的 y 轴格式化为百分比。我尝试插入 tickformat: ',.0%',有几种不同的方法,但我无法正确获取语法。有人能指出我正确的方向吗?这是我正在制作的图表:
这是我的代码:
df = big_df.loc[symbol].tail(20).copy()
from plotly.subplots import make_subplots
import plotly.graph_objects as go
fig = make_subplots(rows=3, cols=2,
subplot_titles=("Revenue", "ROIC", "Shares Outstanding", "ROE", "GM %", 'CROCI'))
fig.update_layout(height=500, width=700,
title_text=symbol)
fig.add_trace(go.Scatter(x=df['Report Date'], y=df['revenue'], mode='lines+markers', name=symbol), row=1, col=1)
fig.add_trace(go.Scatter(x=df['Report Date'], y=df['ROIC'], mode='lines+markers'), row=1, col=2)
fig.add_trace(go.Scatter(x=df['Report Date'], y=df['shares_(diluted)'], mode='lines+markers'), row=2, col=1)
fig.add_trace(go.Scatter(x=df['Report Date'], y=df['ROE'], mode='lines+markers'), row=2, col=2)
fig.add_trace(go.Scatter(x=df['Report Date'], y=df['gross_margin'], mode='lines+markers'), row=3, col=1)
fig.add_trace(go.Scatter(x=df['Report Date'], y=df['CROCI'], mode='lines+markers'), row=3, col=2)
fig.update_layout(showlegend=False)
fig.show()
解决方案
答案是每个子图都有自己的数字,从 1 到 X(跨行然后向下)。您可以通过像这样显式引用它来控制任何子图的格式:
fig.update_layout(yaxis2_tickformat = '%') #对于ROIC图表
fig.update_layout(yaxis4_tickformat = '%') #对于ROE图
推荐阅读
- three.js - 有没有可能在threejs中使用GIF动画?
- javascript - @babel/plugin-transform-modules-amd 的行为不符合预期
- gremlin - 使用带有 unname 和密码的 gremlin-python 连接到远程 gremlin-server
- c# - 是否可以指定条件输出绑定?
- php - 使用php在文本框中显示sql变量
- spring-boot - 添加 cloud-contracts 依赖会破坏 nebula.release 插件
- perforce - Perforce:修复破碎的历史
- amazon-web-services - Lumen 中的命令未与 AWS RDS 连接
- firebase - 在 Cordova/iOS Web 应用程序上使用 FirebaseUI-web “使用 Facebook 登录”是否成功?
- azure-devops - 尝试使用 azure-pipelines.yml 将管道池设置为默认代理池时出错