Plotting data only on secondary_y axes ignores subplot grid
オープン
まだ誰も着手していません。
bug
P3
- 主要言語
- Python
- スター
- 18.8k
- フォーク
- 2.8k
- 平均マージ
- 16時間 26分
- マージ済み PR(30日)
- 21
説明
Hello,
running the following code will produce a 2x2 subplot grid with data on the primary_y axes and data on one secondary_y axes.
from plotly.subplots import make_subplots
import plotly.graph_objects as go
import numpy as np
rows = 2
cols = 2
fig = make_subplots(rows=rows, cols=cols, specs=[[{"secondary_y": True}] * cols] * rows)
fig.add_trace(go.Scatter(x=np.arange(5), y=np.arange(5), name='1:1 primary_y',),
secondary_y=False, row=1, col=1)
fig.add_trace(go.Scatter(x=np.arange(5), y=np.arange(5), name=f'1:2 primary_y',),
secondary_y=False, row=1, col=2)
fig.add_trace(go.Scatter(x=np.arange(5), y=np.arange(5), name=f'2:1 primary_y',),
secondary_y=False, row=2, col=1)
fig.add_trace(go.Scatter(x=np.arange(5), y=np.arange(5), name=f'2:2 primary_y',),
secondary_y=False, row=2, col=2)
# plot on secondary_y
fig.add_trace(go.Scatter(x=np.arange(5) + 1, y=np.arange(5), name=f'2:2 secondary_y',),
secondary_y=True, row=2, col=2)
fig.update_layout(height=400, width=600)
fig.write_html('test_bug.html')
however if you don’t plot any data on a primary_y axes but leave the data on the secondary_y axes the height of the axes will take up the whole height of the figure
from plotly.subplots import make_subplots
import plotly.graph_objects as go
import numpy as np
rows = 2
cols = 2
fig = make_subplots(rows=rows, cols=cols, specs=[[{"secondary_y": True}] * cols] * rows)
fig.add_trace(go.Scatter(x=np.arange(5), y=np.arange(5), name='1:1 primary_y',),
secondary_y=False, row=1, col=1)
fig.add_trace(go.Scatter(x=np.arange(5), y=np.arange(5), name=f'1:2 primary_y',),
secondary_y=False, row=1, col=2)
fig.add_trace(go.Scatter(x=np.arange(5), y=np.arange(5), name=f'2:1 primary_y',),
secondary_y=False, row=2, col=1)
# fig.add_trace(go.Scatter(x=np.arange(5), y=np.arange(5), name=f'2:2 primary_y',),
# secondary_y=False, row=2, col=2)
# plot on secondary_y
fig.add_trace(go.Scatter(x=np.arange(5) + 1, y=np.arange(5), name=f'2:2 secondary_y',),
secondary_y=True, row=2, col=2)
fig.update_layout(height=400, width=600)
fig.write_html('test_bug.html')
is this behaviour intentional?
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
make_subplots、add_trace、および secondary_y オプションを使用して 2 つの例を再現し、生成された test_bug.html ファイルを比較します。2 行目 2 列目のプライマリトレースを省略した場合に、サブプロットグリッドが軸のドメインをどのように割り当てるかを調査します。セカンダリ軸のみのデータが図全体に拡張されず、2x2 のサブプロットセル内に収まることを確認できれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- numpy, python
- 領域
- data-visualization
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 38/100