我正在使用plotly for python而我无法设置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的比例不同?这将影响我的可视化。
如何获得带方形单元格的网格?
答案 0 :(得分:18)
最后,此功能已实施。
layout = go.Layout(yaxis=dict(scaleanchor="x", scaleratio=1))
答案 1 :(得分:6)
您可以在布局中为 height 和 width 指定相同的长度。这是一个例子:
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,
)
答案 2 :(得分:2)
@ neda的答案仅适用于x和y的相等范围 - 这种情况很少发生。这似乎是许多人要求的东西,比如matplotlib的轴('等于')。见https://github.com/plotly/plotly.py/issues/70
现在,我分别使用两个范围的乘数 - 基本上定义了每个轴上每个单位长度的长度。
height=(yMax - yMin) * mul
width= (xMax - xMin) * mul
即使这样做,网格也不是%100完美正方形..
答案 3 :(得分:0)
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]
)