Python 机器学习笔记之matplotlib的应用

本文介绍了Python的matplotlib库,用于机器学习模型的评价结果可视化。通过实例展示了折线图、散点图、直方图的绘制,以及如何改变图形颜色、设置图例和创建多窗口图形。文章鼓励读者查阅matplotlib官方文档以了解更多绘图技巧。


前言

机器学习训练模型后,需对模型进行评价,图表是对评价结果的直观呈现,本文基于南京大学张莉老师的《用python玩转数据》记录Python绘图学习历程。


一、matplotlib是什么?

matplotlib是Python的一种工具,与matlab绘图工具类似,可快速完成图形绘制。

二、简单绘图

1.折线、散点、直方图绘制代码示例

代码如下(示例):

import matplotlib.pyplot as plt
import numpy as np

#折线图
plt.plot([3,4,7,6,2,8,9])
plt.show()
# plt.savefig('折线图')#图形保存命令

#多组折线图
t=np.arange(0.,4.,0.1)
plt.plot(t,t,t,t+2,t,t**2)
plt.show()

#散点图
plt.plot(range(7),[3,4,7,6,2,6,9],'o')
plt.show()

#直方图
plt.bar(range(7),[3,4,7,6,2,6,9])
plt.show()

2.更改图形颜色线条示例

将折线图更改为红色虚线折线图:

plt.plot([3,4,7,6,2,8,9],'--r')
plt.show()

可通过help()函数查看图片参数信息:

help(plt.plot)

图片常用参数如下:
在这里插入图片描述

3.设置图形、图例位置及标签

#设定图片大小和精度、
plt.figure(figsize=(8,6),dpi=100)

#绘图
t=np.arange(0.,4.,0.1)
plt.plot(t,t,'-r',linewidth=3,label='Line 1')
plt.plot(t,t+2,'*g',linewidth=3,label='Line 2')
plt.plot(t,t**2,'+b',linewidth=3,label='Line 3')

# 设置图例位置
plt.legend(loc='upper left')

#设置图片名称及横纵坐标轴
plt.title('Plot Example')
plt.xlabel('X label')
plt.ylabel('Y label')

plt.show()

4.设置多个图形窗口

应用subplot,设置多个窗口分别绘制sin(x)、cos(x)示例

x=np.linspace(-np.pi,np.pi,300)#linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)
plt.figure(1)#默认创建,缺省
plt.subplot(221)#定义子图区
plt.subplots_adjust(hspace=0.5)#设置垂直平方向上间距0.5
plt.subplots_adjust(wspace=0.5)#设置水平方向上间距0.5
plt.plot(x,np.sin(x),color='r')
plt.xlabel('X ')
plt.ylabel('sin(x)')
plt.title('f(x)=sin(x)')
plt.subplot(222)#定义子图区
plt.plot(x,np.cos(x),color='b')
plt.xlabel('X ')
plt.ylabel('cos(x)')
plt.title('f(x)=cos(x)')
plt.subplot(223)#定义子图区
plt.plot(x,np.arcsin(x),color='g')
plt.xlabel('X ')
plt.ylabel('arcsin(x)')
plt.title('f(x)=arcsin(x)')
plt.subplot(224)#定义子图区
plt.plot(x,np.arccos(x),color='y')
plt.xlabel('X ')
plt.ylabel('arccos(x)')
plt.title('f(x)=arccos(x)')
plt.show()

应用subplots,设置多个窗口分别绘制sin(x)、cos(x)示例

#绘制子图,subplots(行,列,位置)
x=np.linspace(-np.pi,np.pi,300)
fig,(ax0,ax1)=plt.subplots(2,1)
ax0.plot(x,np.sin(x),'r')
ax0.set_title('f(x)=sin(x)')
ax1.plot(x,np.cos(x),'g')
ax1.set_title('f(x)=cos(x)')
plt.subplots_adjust(hspace=0.5)#设置子图间距离
plt.show()

三、 总结

更多的matplotlib绘图设定可在matplotlib官网https://matplotlib.org/stable/plot_types/index.html进行查询和使用。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值