Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 行的曲面图_Python_Matplotlib - Fatal编程技术网

Python 行的曲面图

Python 行的曲面图,python,matplotlib,Python,Matplotlib,我有一个txt文件,其中包含一个矩阵,其中包含N行和M列。我想创建一些曲面图,在这里我可以看到不同的曲线,每一条曲线都绘制该行中的所有元素 head output.txt 0.001194 0.001184 0.001499 0.002410 0.002337 0.002323 0.001685 0.01194 0.002260 0.002152 0.002390 0.001305 0.001270 0.001303 0.001155 0.01194 0.001232

我有一个txt文件,其中包含一个矩阵,其中包含
N
行和
M
列。我想创建一些曲面图,在这里我可以看到不同的曲线,每一条曲线都绘制该行中的所有元素

head output.txt

0.001194  0.001184  0.001499  0.002410  0.002337  0.002323  0.001685 0.01194
0.002260  0.002152  0.002390  0.001305  0.001270  0.001303  0.001155 0.01194
0.001232  0.002307  0.002127  0.001672  0.002278  0.002427  0.002136 0.01194
0.001950  0.001359  0.001137  0.001168  0.001208  0.001189  0.002564 0.01194   
0.002334  0.002345  0.002461  0.002223  0.002138  0.002352  0.001299 0.01194
0.001320  0.001184  0.001239  0.001466  0.002454  0.002349  0.002383 0.01194
我当前使用的代码

import numpy as np
import matplotlib.pyplot as plt

data = np.loadtxt('output.txt')

X = np.arange(len(data))
plt.plot(X, data)

plt.show()
但这只是生成一个二维图

我还尝试了以下方法:

from mpl_toolkits.mplot3d import Axes3D

nx = len(data)
ny = len(data[0])
x = range(nx)
y = range(ny)

hf = plt.figure()
ha = hf.add_subplot(111, projection='3d')

X, Y = np.meshgrid(x, y)  
ha.plot_surface(X, Y, data)
然而,这给出了一个错误

ValueError: shape mismatch: objects cannot be broadcast to a single shape

我让它工作了。问题出在
nx
ny

nx = len(data[0])
ny = len(data)

x = range(nx)
y = range(ny)

hf = plt.figure()
ha = hf.add_subplot(111, projection='3d')

X, Y = np.meshgrid(x, y)  
ha.plot_surface(X, Y, data)

你能添加样本数据来重现你的例子吗?@RobJan添加了一个小样本数据。你可以在这里找到答案:@BossaNova谢谢!我以前到过那里,但不清楚你什么时候已经有了预定义的数据。@Manolete你的Z坐标在哪里?