Matplotlib的基础学习

一、Matplotlib的基础学习

Matplotlib

可能还有小伙伴不知道Matplotlib是什么,下面是维基百科的介绍,Matplotlib官网

Matplotlib 是Python编程语言的一个绘图库及其数值数学扩展 NumPy。它为利用通用的图形用户界面工具包,如Tkinter, wxPython, Qt或GTK+向应用程序嵌入式绘图提供了面向对象的应用程序接口。

简单说就是画图的工具包,本篇博客将教会你如何使用Matplotlib简单绘图。

1. 首先,为了实际使用 Matplotlib,我们需要安装它。在cmd窗口运行 pip install matplotlib 命令
在这里插入图片描述
2. 下载完成后,我们在Jupyter notebook中导入Matplotlib,并使用它进行绘图

# matplotlib 的基础使用
import matplotlib.pyplot as plt  # 导入matplotlib中的pyplot
plt.plot([1,2,3,4]) # 默认是y轴   显示图片如下

在这里插入图片描述
3. 使用fmt快捷参数,[1,2,3,4],[1,2,3,4]分别代表x,y轴坐标,r 代表红色,-代表虚线,.代表点号

plt.plot([1,2,3,4],[1,2,3,4],'r-.') # 用fmt参数(快捷参数)标识的

在这里插入图片描述

4. 使用关键字参数,ls代表线条类型,color代表显示颜色

plt.plot([1,2,3,4],[1,2,3,4],ls='--',color='b') # 用关键字标识  b代表blue

在这里插入图片描述

5. 指定x坐标 及颜色,更多配置信息可看Matplotlib官网

plt.plot([0,1,2,3,4],[1,2,3,4,5],'ro') # r:red 红色  o:circle 圆形

在这里插入图片描述

基础参数的设置

1. 图表的刻度与标题

# title(label, fontdict=None, loc=None, pad=None, *, y=None, **kwargs)[source]
# 刻度与标题
plt.axis([0,5,0,20]) # axis() 指定刻度  [x最小  x最大 y最小 y最大]
plt.title('hello world') # 图表标题  注意中文会乱码,下面会有说明
plt.plot([1,2,3,4],'ro')

在这里插入图片描述
2. 结合numpy完成绘图 在一张图中绘制三种不同的趋势

# 结合numpy完成绘图  在一张图中绘制三种不同的趋势
import math
import numpy as np
x=np.arange(0,2.5,0.1)
y1=list(map(math.sin,math.pi*x))
y2=list(map(math.sin,math.pi*x+math.pi/2))
y3=list(map(math.sin,math.pi*x-math.pi/2))

plt.plot(x,y1,'b*')
plt.plot(x,y2,'g^')
plt.plot(x,y3,'ys')

在这里插入图片描述

# 也可以用点跟线来组成不同的线型
plt.plot(x,y1,'b--',x,y2,'g',x,y3,'r-.')

在这里插入图片描述

使用kwargs指定关键字参数
plt.plot(x,y1,'b--',x,y2,'g',x,y3,'r-.',linewidth=10) # linewidth代表线条的粗细度

在这里插入图片描述
3. 绘制多个图形

# 绘制多个图形
x=np.arange(0,2.5,0.1)
y1=np.sin(2*np.pi*x)
y2=np.cos(2*np.pi*x)

plt.subplot(121)  # subplot代表子图  121代表第一行 两个图的第一个
plt.plot(x,y1,'b--')

plt.subplot(122)  # subplot代表子图  121代表第一行 两个图的第二个
plt.plot(x,y1,'r--')

在这里插入图片描述
4. 设置画布figure的大小

# 设置画布figure的大小
plt.figure(figsize=(40,20)) # 设置画布大小
plt.subplot(121)  # subplot代表子图  121代表第一行 两个图的第一个
plt.plot(x,y1,'b-.')

plt.subplot(122)  # subplot代表子图  121代表第一行 两个图的第二个
plt.plot(x,y1,'r--')

在这里插入图片描述
5. 设置图标提示

plt.axis([0,5,0,20])

plt.title('hello fangxiang',fontsize=20,fontname='Times New Roman')

plt.xlabel('x')
plt.ylabel('y')
plt.text(1,1.5,'First') # 代表第一个点的位置
plt.text(2,4.5,'Second')
plt.text(3,9.5,'Third')
plt.text(4,16.5,'Fourth')

plt.plot([1,2,3,4],[1,4,9,16],'ro')

在这里插入图片描述
6. 中文文本解决方案,有三种解决方法
可看我这篇博客:修改matplotlib默认字体,这里不再过多叙述,

# 中文文本解决方案
import matplotlib.font_manager as fm

myfont=fm.FontProperties(fname='C:\Windows\Fonts\simsun.ttc') #找到自己电脑中对应字体

plt.axis([0,5,0,20])

plt.title('我的第一个图表',fontsize=20)

plt.xlabel('x')
plt.ylabel('y')
plt.text(1,1.5,'一')
plt.text(2,4.5,'二')
plt.text(3,9.5,'三')
plt.text(4,16.5,'四',fontproperties=myfont)

plt.plot([1,2,3,4],[1,4,9,16],'ro')

在这里插入图片描述
7. 加入公式 显示

# 加入公式

plt.axis([0,5,0,20])

plt.title('我的第一个图表',fontsize=20)

plt.xlabel('计数')
plt.ylabel('平均值')
plt.text(1,1.5,'一')
plt.text(2,4.5,'二')
plt.text(3,9.5,'三')
plt.text(4,16.5,'四')

# 指定图例 显示的文本(x,y,内容)
plt.text(1.1,12,r'$y=x^2$',fontsize=20,bbox={'facecolor':'yellow','alpha':0.2})
plt.plot([1,2,3,4],[1,4,9,16],'ro')

在这里插入图片描述
8. 加入网格与图例

# 加入网格 grid()
# 加入图例 lengend()

plt.axis([0,5,0,20])

plt.title('我的第一个图表',fontsize=20)

plt.xlabel('计数')
plt.ylabel('平均值')
plt.text(1,1.5,'一')
plt.text(2,4.5,'二')
plt.text(3,9.5,'三')
plt.text(4,16.5,'四')

# 指定图例 显示的文本(x,y,内容)
plt.text(1.1,12,r'$y=x^2$',fontsize=20,bbox={'facecolor':'yellow','alpha':0.2}) # alpha  透明度

plt.grid(True) #加入网格

plt.plot([1,2,3,4],[1,4,9,16],'ro')
plt.plot([1,2,3,4],[0.8,3.5,8,15],'g*')
plt.plot([1,2,3,4],[1.2,4.5,9.8,17],'yo')

plt.legend(['series','second','third'],loc=0) # loc表示位置 0-10组成

在这里插入图片描述
9. 保存为本地图片

# 保存为图片

plt.axis([0,5,0,20])

plt.title('我的第一个图表',fontsize=20)

plt.xlabel('计数')
plt.ylabel('平均值')
plt.text(1,1.5,'一')
plt.text(2,4.5,'二')
plt.text(3,9.5,'三')
plt.text(4,16.5,'四')

# 指定图例 显示的文本(x,y,内容)
plt.text(1.1,12,r'$y=x^2$',fontsize=20,bbox={'facecolor':'yellow','alpha':0.2})

plt.grid(True) #加入网格

plt.plot([1,2,3,4],[1,4,9,16],'ro')
plt.plot([1,2,3,4],[0.8,3.5,8,15],'g*')
plt.plot([1,2,3,4],[1.2,4.5,9.8,17],'yo')

plt.legend(['series','second','third'],loc=0) # loc表示位置 0-10组成

plt.savefig('chart.png') # 自定义文件名,地址在Jupyter的文件同目录下
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bug 

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值