更新时间:2022-05-09 来源:黑马程序员 浏览量:
“一闪一闪亮晶晶,满天都是小星星......”
相信很多人都听过这首《小星星》。Python大数据学习中,经常会碰到用3D散点图实现数据的情况,下面就绘制包含若干个五角星的3D散点图,并在不同的坐标范围内显示不同颜色的五角星,具体代码如下。
# 01_stars_in_3d import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D plt.rcParams["font.sans-serif"] = ["SimHei"] plt.rcParams["axes.unicode_minus"] = False # 生成测试数据 x = np.random.randint(0, 40, 30) y = np.random.randint(0, 40, 30) z = np.random.randint(0, 40, 30) # 创建三维坐标系的绘图区域,并在该区域中绘制3D散点图 fig = plt.figure() ax = fig.add_subplot(111, projection='3d') for xx, yy, zz in zip(x, y, z): color = 'y' if 10 < zz <20: color = '#C71585' elif zz >=20: color = '#C71585' ax.scatter(xx, yy, zz, c=color, marker='*', s=160, linewidth=1, edgecolor='black') ax.set_xlabel('X轴') ax.set_ylabel('y轴') ax.set_zlabel('z轴') ax.set_title('3D散点图', fontproperties='simhei', fontsize=14) plt.tight_layout() plt.show()
运行程序,效果如图7-3所示。
图7-3 3D散点图