3Matplotlib------画图详解及步骤(Matplotlib定义、添加刻度、Ma。。。⽂章⽬录
本⽂所需代码在上⽅下载
Matplotlib
学习⽬标
应⽤Matplotlib的基本功能实现图形显⽰
应⽤Matplotib现多图显⽰
应⽤Matplotlib实现不同画图种类
3.1什么是Matplotlib
3.1.1 Matplotlib之HelloWorld
学习⽬标
⽬标
了解什么是matplotlib
为什么要学习matplotlib
matplotlib简单图形的绘制
是专门⽤于开发2D图表(包括3D图表)
以渐进、交互式⽅式实现数据可视化
3.1.2 为什么要学习Matplotlib
可视化是在整个数据挖掘的关键辅助⼯具,可以清晰的理解数据,从⽽调整我们的分析⽅法。
- 能将数据进⾏可视化,更直观的呈现
- 使数据更加客观、更具说服⼒
例如下⾯两个图为数字展⽰和图形展⽰:
3.1.3 实现⼀个简单的Matplotlib画图-以折线图为例
matplotlib.pyplot模块
matplotib.pytplot包含了⼀系列类似于matlab的画图函数。
import matptotlib.pyplot as plt
3.1.4图形绘制流程:
1.创建画布–plt.figure()
plt.figure(figsize=(),dpi=)
figsize:指定图的长宽
dpi:图像的清晰度
返回fig对象
2.绘制图像–plt.plot(x,y)
以折线图为例
3.显⽰图像–plt.show()
3.3折线图绘制与显⽰
举例:展现上海⼀周的天⽓,⽐如从星期⼀到星期⽇的天⽓温度如下
1.创建画布
import matplotlib.pyplot as plt
#1.创建画布
plt.figure(figsize=(10,10),dpi=100)
#2.绘制折线图
plt.plot([1,2,3,4,5,6,7],[17,17,18,15,11,11,13])
#3.显⽰图像
plt.show()
3.1.5 认识Matplotlib图像结构(了解)
3.2 ⼩结
什么是matplotib【了解】
是专门⽤于开发2D(3D)图表的包
绘制图像流程【掌握】
1.创建画布–pf.figuret(figsize=(20,8))
2.绘制图像–plt.plot(x,y)
3.显⽰图像–plt.show()
3.3 基础绘图功能⼀以折线图为例
学习⽬标
⽬标
掌握给图形添加辅助功能(如:标注、x,y轴名称、标题等)
知道图形的保存
知道如何多次plot绘制图形
知道如何多个坐标系显⽰图形
知道折线图的应⽤场景
完善原始折线图-给图形添加辅助功能
为了更好地理解所有基础绘图功能,我们通过天⽓温度变化的绘图来融合所有的基础API使⽤需求:画出某城市11点到12点1⼩时内每分钟的温度变化折线图,温度范围在15度~18度效果:
3.3.1 准备数据并画出初始折线图
import matplotlib.pyplot as plt
import random
#画出温度变化图
#0.准备x,y坐标的数据
x=range(60)
y_shanghai=[random.uniform(15,18)for i in x]
#1.创建画布
plt.figure(figsize=(20,8),dpi=80)
#2.绘制折线图
pLt.plot(x,y.-shanghai)
#3.显⽰图像
pLt.show()
3.3.2 添加⾃定义x,y刻度
 x:要显⽰的刻度值
 y:要显⽰的刻度值
#增加以下两⾏代码
#构造×轴刻度标签
x_ticks_lable = ["11点{}分".format(i) for i in x ]
y_ticks = range(40)
#修改x,y轴刻度显⽰
3.3.3 中⽂乱码解决:
1. 查matplotlib路径
import matplotlib
matplotlib.matplotlib_fname()
输出路径⼤致如下,记住,第2步会使⽤:
'xxx/matplotlib/mpl-data/matplotlibrc'
2.
3. 修改配置⽂件
vim 打开xxx/matplotlib/matplotlibrc,或者记事本打开添加内容如下:
重启jupyter即可
解决⽅案⼆:
  在Python脚本中动态设置matplotlibrc,这样也可以避免由于更改配置⽂件⽽造成的⿇烦,具体代码如下:from pylab import mpl
#设置显⽰中⽂字体
matplotlib中subplot  有时候,字体更改后,会导致坐标轴中的部分字符⽆法正常显⽰,此时需要更改axes.unicode_minus参数:
#设置正常显⽰符号
3.3.4 添加⽹格显⽰
为了更加清楚地观察图形对应的值
3.3.5 添加描述信息
添加x轴、y轴描述信息及标题
注:通过fontsize参数可以修改图像中字体的⼤⼩
plt.xlabel("时间")
plt.ylabel("温度")
plt.title("中午11点0分到12点之间的温度变化图⽰",fontsize=20)
3.3.6 图像保存
#保存图⽚到指定路径
ptt.savefig("")
注意:plt.show0会释放figure资源,如果在显⽰图像之后保存图⽚将只能保存空图⽚。
import matplotlib.pyplot as plt
from pylab import mpl
#设置显⽰中⽂字体
#设置正常显⽰符号
#0.准备x,y坐标的数据
x=range(60)
y_shanghai =[random.uniform(15,18)for i in x]
#1.创建画布
plt.figure(figsize=(20,8),dpi=80)
#2.绘制折线图
plt.plot(x,y_shanghai)
#2.1添加x,y轴刻度
x_ticks_lable =["11点{}分".format(i)for i in x ]
y_ticks =range(40)
#修改x,y轴刻度显⽰
#2.2 添加⽹格显⽰
#2.3添加描述信息
plt.xlabel("时间")
plt.ylabel("温度")
plt.title("中午11点0分到12点之间的温度变化图⽰",fontsize=20)
#2.4 保存图像
plt.savefig("./test.png")
#3.显⽰图像
plt.show()
3.4在⼀个坐标系中绘制多个图像
3.4.1多次plot
需求:再添加⼀个城市的温度变化
  收集到北京当天温度变化情况,温度在1度到3度。怎么去添加另⼀个在同⼀坐标系当中的不同图形,其实很简单只需要再次plot即可,但是需要区分线条,如下显⽰
#增加北京的温度数据
y_beijing=[random.uniform(1,3)for i in x]
#绘制折线图
plt.plot(x,y_shanghai)
#使⽤多次plot可以画多个折线
plt.plot(x,ybeijing,color='r',linestyle='--')

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。