[英]Plotly, same scale for x and y axis
我在 python 中使用 plotly,我無法設置x
和y
軸,因此它們可以具有相同的比例:
這是我的布局:
layout = Layout(
xaxis=XAxis(
range=[-150, 150],
showgrid=True,
zeroline=True,
showline=True,
gridcolor='#bdbdbd',
gridwidth=2,
zerolinecolor='#969696',
zerolinewidth=4,
linecolor='#636363',
linewidth=6
),
yaxis=YAxis(
range=[-150,150],
showgrid=True,
zeroline=True,
showline=True,
gridcolor='#bdbdbd',
gridwidth=2,
zerolinecolor='#969696',
zerolinewidth=4,
linecolor='#636363',
linewidth=6
)
)
然后我得到了這樣的東西!
為什么 x 和 y 的比例不同? 這會影響我的可視化。
如何獲得帶有方形單元格的網格?
最后實現了這個功能。
layout = go.Layout(yaxis=dict(scaleanchor="x", scaleratio=1))
更新:在新版本的 plotly 中,使用以下內容:
fig.update_yaxes(
scaleanchor = "x",
scaleratio = 1,
)
您可以在布局中為高度和寬度分配相同的長度。 下面是一個例子:
layout = Layout(
xaxis=XAxis(
range=[-150, 150],
showgrid=True,
zeroline=True,
showline=True,
gridcolor='#bdbdbd',
gridwidth=2,
zerolinecolor='#969696',
zerolinewidth=4,
linecolor='#636363',
linewidth=6
),
yaxis=YAxis(
range=[-150,150],
showgrid=True,
zeroline=True,
showline=True,
gridcolor='#bdbdbd',
gridwidth=2,
zerolinecolor='#969696',
zerolinewidth=4,
linecolor='#636363',
linewidth=6
),
height=600,
width=600,
)
@neda 的答案僅適用於 x 和 y 的相等范圍 - 這種情況很少見。 這似乎是很多人都在要求的東西,比如 matplotlib 的軸('相等')。 見https://github.com/plotly/plotly.py/issues/70
現在,我分別對兩個范圍使用乘數——本質上定義了每個單位長度在每個軸上的長度。
height=(yMax - yMin) * mul
width= (xMax - xMin) * mul
即使這樣做,網格也不是 %100 完美正方形..
ml_mx = max(Curve)
ml_mn = min(Curve)
ap_mx = max(Curve2)
ap_mn = min(Curve2)
if ml_mx > ap_mx:
mx = ml_mx
else:
mx = ap_mx
if ml_mn < ap_mn:
mn = ml_mn
else:
mn = ap_mn
mx = mx + mx * 0.2
mn = mn - mn * 0.2
fig_graficas.update_yaxes(
range = [mn,mx]
)
fig_graficas.update_xaxes(
range = [mn,mx]
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.