import numpy as np import pandas as pd import time import matplotlib.pyplot as plt # 指定文件名 inputFilename = './file.dpmrpt' outputFilename = 'out' # 分组数 N = 101 sm = 1.3e-4 # 计时开始 tic = time.time() # 规范化数据 print('规范化数据中...') content = '' with open(inputFilename) as f: content = f.read() content = content.replace( '(', '' ) content = content.replace( ')', '' ) content = content.replace( 'injection-0:', '' ) # 输出文件名 filename = './file.dpmrpt.csv' print('规范化写出到{}!'.format( filename ) ) with open(filename,'w') as csv: csv.write(content) print('规范化完成!') # 加载规范化后的数据 print('加载规范化后的数据...') data = np.loadtxt(filename, skiprows=17)#读取文件并跳过前两行数据 x, y, z, u, v, w, ve = data[:,1], data[:,2], data[:,3], data[:,4], data[:,5], data[:,6], data[:,7] bin = np.linspace(x.min(), x.max(), N)#创建等差数列,将X分成N个组 out = np.zeros((N-1,7))#out为N-1行,4列矩阵 z_sym = z.copy() z_sym = -z_sym z = np.concatenate((z,z_sym))/0.002 x = np.concatenate((x,x))/0.002 y = np.concatenate((y,y))/0.002 u = np.concatenate((u,u)) print('横截面平均完成。') from mpl_toolkits.mplot3d import Axes3D fig = plt.figure(figsize=(12,10)) #ax1 = plt.axes(projection='3d') s1 = 1e-2 c1 = 40.0*u ax = fig.add_subplot(111,projection='3d') #这种方法可以画多个子图 ax.scatter3D(x, z, y, s = s1, c = c1, cmap='plasma',marker = ',') ax.set_xlabel('x/D', fontname='Times New Roman') ax.set_ylabel('z/D', fontname='Times New Roman') ax.set_zlabel('y/D', fontname='Times New Roman') ax.set_xlim([-15.0,30.0]) ax.set_ylim([-10.0,10.0]) ax.set_zlim([0.0,25.0]) ax.set_box_aspect(aspect=(45,20,25)) ax.tick_params(axis='x', which='major', pad=8, labelsize=8) ax.tick_params(axis='y', which='major', pad=8, labelsize=8) ax.tick_params(axis='z', which='major', pad=8, labelsize=8) plt.show() # 计时结束 toc = time.time() print('Time cost {} s'.format(toc-tic )) print('结束'),如何调整输出的三维图到合适的视角
时间: 2023-12-25 08:03:50 浏览: 176
你可以使用 `view_init()` 方法来调整三维图的视角。这个方法接受两个参数:`elev` 和 `azim`,分别代表仰角和方位角。你可以通过改变这两个参数的值来调整视角。例如,如果你想要将视角调整为从正上方俯视,可以将 `elev` 设为 90,`azim` 设为 0。代码示例如下:
```python
ax.view_init(elev=90, azim=0)
```
你可以根据自己的需要调整 `elev` 和 `azim` 的值,以得到合适的视角。
相关问题
import pandas as pd import numpy as np import matplotlib.pyplot as plt
当你在 Python 中使用 `import pandas as pd`, `import numpy as np`, 和 `import matplotlib.pyplot as plt` 这些语句时,你是在导入几个非常流行的数据分析和可视化库:
1. **pandas**: pandas 是一个强大的数据处理库,常用于数据清洗、整理、分析和操作。它提供了 DataFrame 对象,这是用于存储表格型数据的主要数据结构,以及 Series 对象,类似一维数组,非常适合进行数据操作和分析。
2. **numpy**: numpy 是科学计算的基础库,主要专注于高效地处理大型数组和矩阵运算,提供了大量的数学函数和工具,是其他许多数据处理库的基础。
3. **matplotlib.pyplot**: matplotlib 是一个绘图库,通过 `pyplot` 模块提供了一个简单的接口来创建各种图表,包括线图、柱状图、散点图等。它是 Python 最常用的绘图工具之一。
有了这三者,你可以方便地处理数据、执行数值计算,并将结果以可视化的方式呈现出来。
import numpy as np import pandas as pd import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
这段代码是用于引入numpy、pandas和matplotlib.pyplot库。numpy是一个用于数值计算的库,pandas是一个用于数据分析的库,matplotlib.pyplot是一个用于绘制图表的库。
阅读全文