如何在pyvista中独立缩放轴?

问题描述 投票:0回答:1

假设我有

x
y
z
x2
y2
z2
数组。我在 pyvista 中将它们绘制为 2 个不同的 3d 样条线。

import numpy as np
import pyvista as pv

network = pv.MultiBlock()

points_1 = np.column_stack((x, y, z))
spline_1 = pv.Spline(points_1, 500).tube(radius=0.1)

points_2 = np.column_stack((x2, y2, z2))
spline_2 = pv.Spline(points_2, 500).tube(radius=0.1)

network.append(spline_1)
network.append(spline_2)

p = pv.Plotter()
labels = dict(zlabel='l1', xlabel='l2', ylabel='l2')
p.show_grid(**labels)
p.add_axes(**labels)
p.add_mesh(spline_1, color="red", line_width=3)
p.add_mesh(spline_2, color="blue", line_width=3)

该图的问题是一个轴过于压缩:

y
轴值约为 300,而
x
轴范围为 0 到 20。看来该图对所有轴使用相同的比例。另外,
x
y
的数量不同,所以我不想比较它们。

例如,

Matplotlib
自动缩放轴并在
y
x
轴上使用相同的比例
ax.set_aspect("equalxy")

在这种情况下,轴已经缩放,我想让它使用不同的尺寸。我怎样才能做到这一点?

python 3d scale pyvista
1个回答
0
投票

PyVista 在物理笛卡尔空间中绘图,因此您需要使用

pl.set_scale()
在场景上设置比例,请参阅文档:https://docs.pyvista.org/version/stable/api/plotting/_autosummary/pyvista。 Plotter.set_scale.html#pyvista.Plotter.set_scale

© www.soinside.com 2019 - 2024. All rights reserved.