如何将二维数据打印成三维数据,用python从文件中读取数据

2024-09-30 03:22:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我想打印我的二维数据到三维与python作为照片在下面的图像。目前我正在从文件中读取我的数据,其中我有两列的x和y数字。任何帮助都将得到重视。打印二维数据的代码如下所示:

 import numpy as np
 import pylab as pl
 import matplotlib as mpl

 data1 = np.loadtxt('NL_extb_1.xye')
 data2 = np.loadtxt('NL_extb_2.xye')
 data3 = np.loadtxt('NL_extb_3.xye')
 data4 = np.loadtxt('NL_extb_4.xye')
 data5 = np.loadtxt('NL_extb_5.xye')       

 pl.plot(data1[:,0], data1[:,1] , 'black') 
 pl.plot(data2[:,0], data2[:,1], 'black')  
 pl.plot(data3[:,0], data3[:,1] ,'black')
 pl.plot(data4[:,0], data4[:,1] ,'black')
 pl.plot(data5[:,0], data5[:,1] ,'black')


 pl.xlabel("2Theta")
 pl.ylabel("Counts")

 pl.show()

enter image description here


Tags: 数据importplotasnlnpblackpl
1条回答
网友
1楼 · 发布于 2024-09-30 03:22:14

图像中的绘图看起来像是在mplot3d中制作的。下面是一个如何在tutorial中执行此操作的示例:

from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

X, Y, Z = axes3d.get_test_data(0.05)   #<  REPLACE THIS LINE WITH YOUR DATA

ax.plot_wireframe(X, Y, Z, rstride=10, cstride=10)
plt.show()

rstridecstride设置为0将获得所需的绘图类型。在

现在,您唯一应该做的就是创建正确的输入变量X, Y, Z。我假设所有的datai都有相同的长度,比如N,并且所有xdatai[:0]都是相同的。(如果没有,则需要更多的工作。) 那么

^{pr2}$

并且Z由数据中的所有y列连接成与X and Y形状相同的数组(所有这些列都应该是nx5数组或5xn数组)。在

相关问题 更多 >

    热门问题