繁体   English   中英

如何从多个 2d arrays 和一个 1d 阵列 plot 到 3d 表面?

[英]How to plot a 3d surface from multiple 2d arrays and one 1d array?

我正在尝试 plot 以下数据,因此它看起来像所附图像:每个文本文件都是一个 2X40 矩阵。

xi,yi 线应根据 z 数组在 Z 方向偏移。 我想通过表面连接那些线

z = np.array([0.5, 1, 1.5, 2, 2.5, 3, 3.3, 3.5, 4, 4.5, 5])

x0, y0 = np.loadtxt('Conv_Vd(Vk)_Vg=0.5.txt', delimiter='\t', unpack=True)
x1, y1 = np.loadtxt('Conv_Vd(Vk)_Vg=1.txt', delimiter='\t', unpack=True)
x2, y2 = np.loadtxt('Conv_Vd(Vk)_Vg=1.5.txt', delimiter='\t', unpack=True)
x3, y3 = np.loadtxt('Conv_Vd(Vk)_Vg=2.txt', delimiter='\t', unpack=True)
x4, y4 = np.loadtxt('Conv_Vd(Vk)_Vg=2.5.txt', delimiter='\t', unpack=True)
x5, y5 = np.loadtxt('Conv_Vd(Vk)_Vg=3.txt', delimiter='\t', unpack=True)
x6, y6 = np.loadtxt('Conv_Vd(Vk)_Vg=3.3.txt', delimiter='\t', unpack=True)
x7, y7 = np.loadtxt('Conv_Vd(Vk)_Vg=3.5.txt', delimiter='\t', unpack=True)
x8, y8 = np.loadtxt('Conv_Vd(Vk)_Vg=4.txt', delimiter='\t', unpack=True)
x9, y9 = np.loadtxt('Conv_Vd(Vk)_Vg=4.5.txt', delimiter='\t', unpack=True)
x10, y10 = np.loadtxt('Conv_Vd(Vk)_Vg=5.txt', delimiter='\t', unpack=True)

在此处输入图像描述

您想要一个3D 线框 plot这意味着您需要将数据强制转换为 x、y、z 格式。 通常,“z”是因变量。 猜测您当前的数据结构,您有一堆 x,y 集合,其中 x 是独立的,y 是依赖的。 然后,您想添加一个新的“深度”维度,称为“z”。

您最终需要得到 3 个 1D arrays x,y,z。 您可以简单地连接现有的 x1,x2,x3..., y1,y2,y3... arrays,并创建一个最终大小相同的“z”数组,其中包含您指定的 z 值。 然后将其全部输入plot_wireframe ,记住您正在交换 y 和 z 约定。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM