前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python可视化图表生成-Matplotlib

Python可视化图表生成-Matplotlib

作者头像
用户9925864
发布2022-07-27 08:52:34
7210
发布2022-07-27 08:52:34
举报
文章被收录于专栏:算法工程师的学习日志

Matplotlib 是Python中类似 MATLAB 的绘图工具,熟悉 MATLAB 也可以很快的上手 Matplotlib

安装

代码语言:javascript
复制
pip install matplotlib

折线图

代码语言:javascript
复制
import numpy as np
import matplotlib.pyplot as plt
import matplotlib

# 指定默认字体
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['font.family'] = 'sans-serif'
# 解决负号'-'显示为方块的问题
matplotlib.rcParams['axes.unicode_minus'] = False

x = np.linspace(0, 2, 100)  # 创建等差数列 0-2之间100个

plt.plot(x, x, label="line1")  # 第一个参数为横坐标 第二个为纵坐标 第三个为曲线名字
plt.plot(x, x ** 2, label="line2")
plt.plot(x, x ** 3, label="line3")
plt.xlabel("x label")  # x轴名字
plt.ylabel("y label")  # y轴名字
plt.title("折线图")  # 图标名字
plt.legend()  # 显示图例
plt.show()  # 生成图表

散点图

代码语言:javascript
复制
import numpy as np
import matplotlib.pyplot as plt
import matplotlib

# 指定默认字体
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['font.family'] = 'sans-serif'
# 解决负号'-'显示为方块的问题
matplotlib.rcParams['axes.unicode_minus'] = False

x = np.arange(0., 5., 0.2)  # 从0-5之间,产生等差数列,公差为0.2
plt.plot(x, x, "r--", x, x ** 2, "bs", x, x ** 3, "g^")  #
plt.xlabel("x label")  # x轴名字
plt.ylabel("y label")  # y轴名字
plt.title("折线图")  # 图标名字
plt.legend()  # 显示图例

plt.show()  # 生成图表

三维散点图

代码语言:javascript
复制
import numpy as np
import matplotlib.pyplot as plt
import matplotlib

# 指定默认字体
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['font.family'] = 'sans-serif'
# 解决负号'-'显示为方块的问题
matplotlib.rcParams['axes.unicode_minus'] = False

data = np.random.randint(0, 255, size=[40, 40, 40])  # 产生随机数

x, y, z = data[0], data[1], data[2]  #
ax = plt.subplot(111, projection="3d")  # 创建三维绘图

ax.scatter(x[:10], y[:10], z[:10], c="y")  # 绘制散点
ax.scatter(x[10:20], y[10:20], z[10:20], c="r")
ax.scatter(x[30:40], y[30:40], z[30:40], c="g")

ax.set_xlabel("X")  # x轴名字
ax.set_ylabel("Y")  # y轴名字
ax.set_zlabel("Z")  # z轴名字

plt.title("三维散点图")  # 图标名字
plt.legend()  # 显示图例
plt.show()  # 生成图表

三维平面图

代码语言:javascript
复制
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
from mpl_toolkits.mplot3d import Axes3D

# 指定默认字体
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['font.family'] = 'sans-serif'
# 解决负号'-'显示为方块的问题
matplotlib.rcParams['axes.unicode_minus'] = False

fig = plt.figure()
ax = Axes3D(fig)
X = np.arange(-4, 4, 0.25)
Y = np.arange(-4, 4, 0.25)
X, Y = np.meshgrid(X, Y)  #
R = np.sqrt(X ** 2 + Y ** 2)
Z = np.sin(R)
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap="rainbow")  #

plt.show()  # 生成图表
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法工程师的学习日志 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档