数据可视化-Matplotlib中的3D图表

2019-08-23 11:29:29 浏览数 (1)

背景介绍

今天我们演示绘制在极坐标中定义的曲面3D图。并使用matplotlib中内置的color map做展示。

入门实例

先看视频演示效果:

代码块

代码语言:javascript复制
'''
=================================
3D表面与极坐标
=================================
演示绘制在极坐标中定义的曲面。
使用YlGnBu color map反转版本.
示例由Armin Moser提供.
'''
#导入Axes3D注册3D投影
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
#定义子图表,添加3D投影
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# 在极坐标中创建网格并计算相应的Z值.
r = np.linspace(0, 1.25, 50)
p = np.linspace(0, 2*np.pi, 50)
R, P = np.meshgrid(r, p)
Z = ((R**2 - 1)**2)
#在笛卡尔系统中表示网格 
X, Y = R*np.cos(P), R*np.sin(P)
# 绘制表面.
ax.plot_surface(X, Y, Z, 
    cmap=plt.cm.YlGnBu_r)
# 调整限制并添加数字标签
ax.set_zlim(0, 1)
ax.set_xlabel(r'$phi_mathrm{real}$')
ax.set_ylabel(r'$phi_mathrm{im}$')
ax.set_zlabel(r'$V(phi)$')
#表格展示
plt.show()

0 人点赞