Python 如何在绘图中修改网格尺寸?

Python 如何在绘图中修改网格尺寸?,python,grid,plotly,surface,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]

我有一个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)


这里,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轴的一半: