def plot_ring(self, Nb_pts=201):
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
if self.X is None or self.Y is None:
raise Exception(" X and Y must be grid or a list for plotting")
fig = plt.figure()
ax = fig.gca(projection='3d')
X = np.array([self.X[0]])
Y = np.array([self.Y[0]])
intensity = np.array([self.intensity[0]])
ax.plot(X, Y, intensity, '^', label='ring number 0')
ring_number = 1
while (ring_number * Nb_pts < len(self.X)):
X = self.X[(ring_number - 1) * Nb_pts + 1:ring_number * Nb_pts + 1]
Y = self.Y[(ring_number - 1) * Nb_pts + 1:ring_number * Nb_pts + 1]
intensity = self.intensity[(ring_number - 1) * Nb_pts + 1:ring_number * Nb_pts + 1]
ax.plot(X, Y, intensity, label='ring number %d' % ring_number)
ring_number += 1
ax.set_xlabel("X")
ax.set_ylabel('Y')
ax.set_zlabel("itensity")
ax.legend()
plt.show()
评论列表
文章目录