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

Posted

技术标签:

【中文标题】如何在绘图中修改网格尺寸?【英文标题】:How to modify grid dimension in plotly? 【发布时间】:2019-09-18 08:14:23 【问题描述】:

我有一个 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 中寻找一种比例参数,但没有找到答案。

【问题讨论】:

【参考方案1】:

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

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

请参阅official Plotly examples。

【讨论】:

以上是关于如何在绘图中修改网格尺寸?的主要内容,如果未能解决你的问题,请参考以下文章

如何在绘图网格中的行/列上设置属性?

如何调整包含绘图的 div 以绘制尺寸,使其不与文档重叠

如何在 ggplot2 中正确绘制投影网格数据?

如何使用细化在网格上绘图?

如何在 UITableView 单元格中创建自定尺寸网格?

ansys中建模长方体太薄,如何划分网格