Plot.ly:共享 X 轴的子图的不同高度

背景


具有相同高度 (✘) 的不同子图 (✔)

我可以创建一个带有共享 X 轴的子图(示例改编自Plot.ly doc),子图之间有适当的分隔,并且您可以通过subplot_titles以下方式为每个子图插入特定标题:


from plotly import tools

import plotly.plotly as py

import plotly.graph_objs as go


trace1 = go.Scatter(

    x=[0, 1, 2],

    y=[10, 11, 12]

)

trace2 = go.Scatter(

    x=[2, 3, 4],

    y=[100, 110, 120],

)

trace3 = go.Scatter(

    x=[3, 4, 5],

    y=[1000, 1100, 1200],

)

fig = tools.make_subplots(rows=3, cols=1, specs=[[{}], [{}], [{}]],

                          shared_xaxes=True, shared_yaxes=True,

                          vertical_spacing=0.1, subplot_titles=('subtitle 1', 

                          'subtitle 2', 'subtitle 3'))

fig.append_trace(trace1, 3, 1)

fig.append_trace(trace2, 2, 1)

fig.append_trace(trace3, 1, 1)


fig['layout'].update(height=600, width=600, title='Subplots with Shared X-Axes')

py.plot(fig, filename='subplots-shared-xaxes')

http://img.mukewang.com/60f7dd92000166cb05840576.jpg

狐的传说
浏览 438回答 1
1回答

慕丝7291255

Kully 在PR #1245 中解决了这个错误,并在dash v3.4.0.以下代码 - 仅使用 3 个子图row_width=[0.2, 0.4, 0.2]- 因此应该可以完美运行:from plotly import toolsimport plotly.plotly as pyimport plotly.graph_objs as gotrace1 = go.Scatter(    x=[0, 1, 2],    y=[10, 11, 12])trace2 = go.Scatter(    x=[2, 3, 4],    y=[100, 110, 120],)trace3 = go.Scatter(    x=[3, 4, 5],    y=[1000, 1100, 1200],)fig = tools.make_subplots(rows=3, cols=1,                          shared_xaxes=True,                          vertical_spacing=0.1,                          subplot_titles=('subtitle 1', 'subtitle 2', 'subtitle 3'),                          row_width=[0.2, 0.4, 0.2]                         )fig.append_trace(trace1, 3, 1)fig.append_trace(trace2, 2, 1)fig.append_trace(trace3, 1, 1)fig['layout'].update(height=600, width=600, title='Subplots with Shared X-Axes')go.FigureWidget(fig)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python