【机器学习常用库】matplotlib

matplotlib库简介

  • 专门用于开发2D图表(包括3D图表)
  • 以渐进、交互式方式实现数据可视化

实现一个简单的matplotlib画图(以折线图为例)

在这里插入图片描述

在这里插入图片描述
示例:

import random
import matplotlib.pyplot as plt

x = range(60)
y = [random.uniform(15, 18) for i in x]
plt.figure(figsize=(20, 8), dpi=100)
plt.plot(x, y)
plt.show()

在这里插入图片描述

绘图辅助功能完善

import random
import matplotlib.pyplot as plt

# 设置显示中文字体
from pylab import mpl
mpl.rcParams["font.sans-serif"] = ['SimHei']
# 避免由于字体更改导致部分字符无法正常显示
mpl.rcParams['axes.unicode_minus'] = False

x = range(60)
y = [random.uniform(15, 18) for i in x]
plt.figure(figsize=(20, 8), dpi=100)
plt.plot(x, y)

# 设置x,y轴刻度
x_ticks_label = ['11点{}分'.format(i) for i in x]
y_ticks = range(40)
# 修改x,y轴坐标刻度显示
plt.xticks(x[::5], x_ticks_label[::5])
plt.yticks(y_ticks[::5])

# 添加网格显示,最后一个参数为颜色深度
plt.grid(True, linestyle='--', alpha=1)

# 添加x轴y轴描述信息及标题
plt.xlabel('时间')
plt.ylabel('温度')
plt.title('温度变化示意图', fontsize=20)

# 保存图片(注意要在show()之前保存,否则show()会释放掉figure资源)
plt.savefig('test.png')

plt.show()

一个坐标系下绘制多个图像

只需要增加多个plot函数即可增加多个图像,plot函数可以设置图例以及函数曲线的风格:

x = range(60)
y_shanghai = [random.uniform(15, 18) for i in x]
# 新增温度数据
y_beijing = [random.uniform(0, 3) for i in x]
plt.figure(figsize=(20, 8), dpi=100)
plt.plot(x, y_shanghai, label='shanghai')# label值表示图例,用来指明每条曲线的含义
plt.plot(x, y_beijing, color='r', linestyle='--', label='beijing')
# 显示图例
plt.legend(loc='best')

在这里插入图片描述
在这里插入图片描述

多个坐标系下绘制多个图像

import random
import matplotlib.pyplot as plt

# 设置显示中文字体
from pylab import mpl
mpl.rcParams["font.sans-serif"] = ['SimHei']
# 避免由于字体更改导致部分字符无法正常显示
mpl.rcParams['axes.unicode_minus'] = False

# 0.准备数据
x = range(60)
y_shanghai = [random.uniform(15, 18) for i in x]
y_beijing = [random.uniform(0, 3) for i in x]

# 1.创建画布
fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(20, 8), dpi=100)

# 2.绘制图像
axes[0].plot(x, y_shanghai, label='shanghai')
axes[1].plot(x, y_beijing, color='r', linestyle='--', label='beijing')
axes[0].legend(loc='best')
axes[1].legend(loc='best')

# 3.添加x,y轴刻度
x_ticks_label = ['11点{}分'.format(i) for i in x]
y_ticks = range(40)
axes[0].set_xticks(x[::5])
axes[0].set_yticks(y_ticks[::5])
axes[0].set_xticklabels(x_ticks_label[::5])
axes[1].set_xticks(x[::5])
axes[1].set_yticks(y_ticks[::5])
axes[1].set_xticklabels(x_ticks_label[::5])

# 添加网格显示
axes[0].grid(True, linestyle='--', alpha=1)
axes[1].grid(True, linestyle='--', alpha=1)

# 添加描述信息
axes[0].set_xlabel('时间')
axes[0].set_ylabel('温度')
axes[0].set_title('温度变化示意图', fontsize=20)
axes[1].set_xlabel('时间')
axes[1].set_ylabel('温度')
axes[1].set_title('温度变化示意图', fontsize=20)

plt.savefig('test.png')
plt.show()

常见图形绘制

  • 散点图:plt.scatter(x, y)
  • 柱状图:plt.bar(x, width, align=‘center’, **kwargs)
    **kwargs有color等属性
  • 直方图:plt.hist(x, bins=None)
  • 饼图:plt.pie(x, labels=, autopct=, colors=)

在这里插入图片描述

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REAdMe.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READme.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值