python - 如何在 plotly 中修改网格尺寸?

标签 python grid plotly surface

我有一个 X 值列表和一个 Y 值列表,对于每一对 (X,Y),我有一个矩阵形式的值 Z。

我想在 python 中使用 plotly 来表示它并修改绘制表面的网格,使 x 轴比平常大,得到矩形的形状。

考虑以下示例:

import plotly.plotly as py
import plotly.graph_objs as go
import numpy as np
x = np.arange(1, 22, 1)
y = np.array([1, 3.1, 5.7, 10, 15, 20])
mean = [0]*21
cov = np.identity(21)
z = np.random.multivariate_normal(mean, cov, 18)
data = [go.Surface(x=x, y=y, z=z)]
py.plot(data)

enter image description here

这里,x 轴和 y 轴在网格中的长度相同,但我希望 x 轴的长度是实际长度的两倍。我一直在 plotly 中寻找一种比例参数,但没有找到答案。

最佳答案

您可以在图形布局中手动设置坐标轴的纵横比:

data = [go.Surface(x=x, y=y, z=z)]

layout = go.Layout(
    scene = go.layout.Scene(
    aspectmode='manual',
    aspectratio=go.layout.scene.Aspectratio(
        x=2, y=1, z=0.5
    ))
)
fig = go.Figure(data=data, layout=layout)

py.plot(fig)

这会将 X 轴设置为 Y 轴的两倍,将 Z 轴设置为 Y 轴的一半:

Plotly output after fixing aspect ratio

参见 official Plotly examples .

关于python - 如何在 plotly 中修改网格尺寸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55907854/

相关文章:

python - 使用 Plotly 或 Matplotlib 的带有 xaxis bin 的条形图?

python - 如何在 Python 中使用循环从 txt 文件中提取单词(行中的第二个和第三个)

python - 删除 pandas 的双 for 循环

python - 使用 SPHINX、FURO、AUTODOC 构建 html 文档。错误样式表

grid - 如何在表单中使用 RecId 作为外键

python - Plotly 未显示所有数据

matlab - 在 MATLAB 上创建正方形网格时如何去除 'fishbowl' 效果?

javascript - 删除 QML 网格的子项

r - 在 ggplot/Plotly 中设置图例的 alpha

javascript - 如何在 plotly.js 中隐藏/删除 slider 刻度/步骤及其标签?