我有 2 个不同的条形图,它们有一个共同的 X 轴和 2 个不同的 Y 轴。我想使用 python 将这两个使用 X 轴的图合并为一个
Posted
技术标签:
【中文标题】我有 2 个不同的条形图,它们有一个共同的 X 轴和 2 个不同的 Y 轴。我想使用 python 将这两个使用 X 轴的图合并为一个【英文标题】:I have 2 different bar charts with a common X axis and 2 different Y axis. I want to combine those 2 graphs using the X axis into one using python 【发布时间】:2021-09-29 22:01:47 【问题描述】:第一张图片的代码:
import plotly.express as px
fig = px.bar(data, x='date', y='oi_diff_nifty15800CE',title='Oi chain of Nifty 15800CE')
fig.update_layout(width=650,height=500)
fig.show()
第二张图片的代码:
import plotly.express as px
fig = px.bar(data, x='date', y='oi_diff_nifty15800PE',title='Oi chain of Nifty 15800PE')
fig.update_layout(width=650,height=500)
fig.show()
【问题讨论】:
【参考方案1】: 您确实需要说明您在组合之外想要实现的目标 有模拟数据 这里有两种方法-
使用
add_traces()
将跟踪从一个图形添加到另一个图形
只需更改px.bar()
参数,使其生成为单个图形
import pandas as pd
import numpy as np
import plotly.express as px
# simulate data...
data = pd.DataFrame("date": pd.date_range("21-jun-2021", periods=2),
"oi_diff_nifty15800CE": np.random.randint(5, 15, 2),
"oi_diff_nifty15800PE": np.random.randint(5, 15, 2),)
fig = px.bar(data, x="date", y="oi_diff_nifty15800CE", title="Oi chain of Nifty 15800CE")
# build from two different figures
fig.update_layout(width=650, height=300).add_traces(
px.bar(data, x="date", y="oi_diff_nifty15800PE", title="Oi chain of Nifty 15800PE").data).show()
# just change params...
px.bar(data, x="date", y=["oi_diff_nifty15800PE","oi_diff_nifty15800CE"], barmode="group").update_layout(width=650, height=300).show()
【讨论】:
您好,感谢您的回复。实际上,我正在尝试为股票数据的看涨期权和看跌期权创建一个期权链,我想在其中合并这两个图表并并排显示看涨期权和看跌期权图表。 我无法理解您所说的哪些参数需要在 px.bar() 中更改,您能指定吗? 从您的评论中,我相信您想要的是将 y 定义为列表而不是字符串。代码中的第二个示例以上是关于我有 2 个不同的条形图,它们有一个共同的 X 轴和 2 个不同的 Y 轴。我想使用 python 将这两个使用 X 轴的图合并为一个的主要内容,如果未能解决你的问题,请参考以下文章