三十二、总结

欢迎阅读最后的 Matplotlib 教程。 在这里我们将整理整个系列,并显示一个稍微更复杂的 3D 线框图:

  1. from mpl_toolkits.mplot3d import axes3d
  2. import matplotlib.pyplot as plt
  3. import numpy as np
  4. from matplotlib import style
  5. style.use('ggplot')
  6. fig = plt.figure()
  7. ax1 = fig.add_subplot(111, projection='3d')
  8. x, y, z = axes3d.get_test_data()
  9. print(axes3d.__file__)
  10. ax1.plot_wireframe(x,y,z, rstride = 3, cstride = 3)
  11. ax1.set_xlabel('x axis')
  12. ax1.set_ylabel('y axis')
  13. ax1.set_zlabel('z axis')
  14. plt.show()

三十二、总结 - 图1

如果你从一开始就关注这个教程的话,那么你已经学会了 Matplotlib 提供的大部分内容。 你可能不相信,但Matplotlib 仍然可以做很多其他的事情! 请继续学习,你可以随时访问 Matplotlib.org,并查看示例和图库页面。

如果你发现自己大量使用 Matplotlib,请考虑捐助给 John Hunter Memorial 基金

注:空间曲面的画法

  1. # 二次抛物面 z = x^2 + y^2
  2. x = np.linspace(-10, 10, 101)
  3. y = x
  4. x, y = np.meshgrid(x, y)
  5. z = x ** 2 + y ** 2
  6. ax = plot.subplot(111, projection='3d')
  7. ax.plot_wireframe(x, y, z)
  8. plot.show()

三十二、总结 - 图2

  1. # 半径为 1 的球
  2. t = np.linspace(0, np.pi * 2, 100)
  3. s = np.linspace(0, np.pi, 100)
  4. t, s = np.meshgrid(t, s)
  5. x = np.cos(t) * np.sin(s)
  6. y = np.sin(t) * np.sin(s)
  7. z = np.cos(s)
  8. ax = plot.subplot(111, projection='3d')
  9. ax.plot_wireframe(x, y, z)
  10. plot.show()

三十二、总结 - 图3