Matplotlib实例教程(十五) 3D散点图

Posted K同学啊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matplotlib实例教程(十五) 3D散点图相关的知识,希望对你有一定的参考价值。

前言

你可能需要安装的包

  • statsmodels
  • seaborn

安装命令(在cmd中输入该命令即可)

  • pip install seaborn
  • pip install statsmodels

如果你不知道如何打开命令行,请看这里:如何打开CMD命令行

代码实现

import pandas  as pd
import numpy   as np
import seaborn as sns
sns.set_style("white")

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号

import warnings
warnings.filterwarnings("ignore")#忽略警告信息
from mpl_toolkits.mplot3d import Axes3D  

fig = plt.figure()
ax = fig.gca(projection='3d')

# 使用x和y轴绘制 sin曲线。
x = np.linspace(0, 1, 100)
y = np.sin(x * 2 * np.pi) / 2 + 0.5
ax.plot(x, y, zs=0, zdir='z', label='curve in (x,y)')

# 在X和Z轴上绘制散点图数据(每种颜色20个点)。
colors = ('r', 'g', 'b', 'k')

np.random.seed(1)

x = np.random.sample(20 * len(colors))
y = np.random.sample(20 * len(colors))
c_list = []
for c in colors:
    c_list.extend([c] * 20)
# 通过使用zdir ='y',这些点的y值固定为zs值0
# 并且(x,y)点绘制在x和z轴上。
ax.scatter(x, y, zs=0, zdir='y', c=c_list, label='points in (x,z)')

# 设置图例、X、Y轴
ax.legend()
ax.set_xlim(0, 1)
ax.set_ylim(0, 1)
ax.set_zlim(0, 1)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')

# 自定义视图角度,以便看到分散点
ax.view_init(elev=20., azim=-35)

plt.show()

👇🏻 扫一扫下方二维码,获取7900+本电子书👇🏻

以上是关于Matplotlib实例教程(十五) 3D散点图的主要内容,如果未能解决你的问题,请参考以下文章

带有颜色渐变的 Matplotlib 3D 散点图

如何在 matplotlib 中制作 3D 散点图

使用 Python Matplotlib 在 3D 轴上为振动传感器读数创建动画散点图

如何将标签注释到 3D matplotlib 散点图?

使用matplotlib将3D散点图动画为gif最终为空

python matplotlib绘制 3D图像专题 (三维柱状图曲面图散点图曲线图合集)