Matplotlib实例教程(十五) 3D散点图
Posted K同学啊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matplotlib实例教程(十五) 3D散点图相关的知识,希望对你有一定的参考价值。
前言
- 🔗 运行环境:python3
- 🚩 作者:K同学啊
- 🥇 精选专栏:《深度学习100例》
- 🔥 推荐专栏:《小白入门深度学习》
- 📚 选自专栏:《Matplotlib教程》
- 🧿 优秀专栏:《Python入门100题》
你可能需要安装的包
- 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()
以上是关于Matplotlib实例教程(十五) 3D散点图的主要内容,如果未能解决你的问题,请参考以下文章