Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.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 将X、Y、Z值转换为Matrixplot_Python_Python 3.x_Matplotlib - Fatal编程技术网

Python 将X、Y、Z值转换为Matrixplot

Python 将X、Y、Z值转换为Matrixplot,python,python-3.x,matplotlib,Python,Python 3.x,Matplotlib,我有以下清单: x_list = [7,10,3,9,9] y_list = [2,5,1,3,2] z_list = [4,1,5,2,3] 对于每个x值和y值,都有一个z值。例如:x=7和y=2的z值为4 我想将其转换为矩阵,例如: …为了能够创建具有正确x轴和y轴以及颜色条的矩阵图(此处缺少颜色条,最好将零值设置为黑色): 在Excel中执行此操作相当简单,但在python中执行此操作时遇到困难,因为我对matplotlib非常陌生 编辑 我可能会使用plt.imshow()来绘制

我有以下清单:

x_list = [7,10,3,9,9]
y_list = [2,5,1,3,2]

z_list = [4,1,5,2,3]
对于每个
x
值和
y
值,都有一个
z
值。例如:
x=7
y=2
z
值为
4

我想将其转换为矩阵,例如:

…为了能够创建具有正确x轴和y轴以及颜色条的矩阵图(此处缺少颜色条,最好将零值设置为黑色):

在Excel中执行此操作相当简单,但在python中执行此操作时遇到困难,因为我对matplotlib非常陌生

编辑 我可能会使用plt.imshow()来绘制图

NumPy's,这里的函数是您的朋友,用于根据您的坐标设置正确的网格。然后,您只需要在生成的
X
Y
中找到与您的坐标对应的适当索引。最后,在一些与
X
Y
尺寸相同的全零
Z
矩阵中,您可以将刚找到的索引处的元素设置为原始
Z
数据

下面是一些代码:

将numpy导入为np
x=np.数组([7,10,3,9,9])
y=np.数组([2,5,1,3,2])
z=np.数组([4,1,5,2,3])
#从X和Y计算X,Y网格,用零初始化Z数据
十、 Y=np.meshgrid(np.unique(X),np.unique(Y))
Z=np.零(X.形)
#在网格中找到合适的索引,并相应地设置Z值
对于np.int32(np.arange(X.size))中的idx,idx=np.square([np.argwhere(np.logical_和(X==X[idx],Y==Y[idx]))
Z[idx[:,0],idx[:,1]=Z
打印(Z)
并且,输出是:

[[5.0.0.0]
[0. 4. 3. 0.]
[0. 0. 2. 0.]
[0. 0. 0. 1.]]
关于绘图:我想不出一个Matplotlib函数来创建与所示类似的绘图。所以,也许给你一个额外的提示,你在想什么功能


希望有帮助

非常感谢你的回答!可能是plt.imshow(Z),但我不知道如何正确设置颜色和颜色栏