Matplotlib入门

这篇博客介绍了Python的Matplotlib库,包括它的基本概念、如何美化图表,以及如何绘制折线图、柱状图、条形图、直方图、饼图和散点图。还涵盖了高级话题如绘制多幅图形、从文件和网络加载数据进行可视化。教程旨在帮助读者掌握Matplotlib的使用,适合Python初学者和数据分析人员。
摘要由CSDN通过智能技术生成

标题中的英文首字母大写比较规范,但在python实际使用中均为小写。
2018年7月30日笔记
作者的集成开发环境是jupyter,Python版本为3.6
建议阅读本文的读者安装anaconda3,里面包含了jupyter、python3.6和matplotlib库
下载链接: https://pan.baidu.com/s/1kKCvpXAlTdRri4lSP6gykA 密码: pygy

1.简介

Matplotlib是一个Python的绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。这个绘图系统操作起来相对复杂,但是Matplotlib的复杂给其带来了很强的定制性。其具有面对对象的方式以及pyplot的经典高层封装。
Matplotlib是基于Python语言的开源项目,旨在为Python提供一个数据绘图包。用户在熟悉了核心对象之后,就可以轻易的定制图像。
由John Hunter发起(1968-2012)发起,John由于癌症于2012年过世。感谢John对于matplotlib做出的贡献。


10345471-9ecc71ecb100c4c2.png
matplotlib库创始人.png

函数式绘图和面对对象绘图:
1.函数式绘图,参考了matlab里面的绘图函数语法,简单易上手
2.面对对象绘图,更懂matplotlib底层架构,有更多的功能

2.Matplotlib快速预览

在matplotlib中,整个图像为一个Figure对象,在Figure对象中可以包含一个或者多个Axes对象。
每个Axes对象。每个Axes对象都是一个拥有自己坐标系统的绘图区域。

10345471-edaf8d548ccd4fb3.png
image.png

一个Figure可以理解为一个画布或装图片的容器,是绘图的承载对象,画布上有很多绘图方法可供使用。title为标题,axis为坐标轴,label为坐标轴标注,tick为刻度线,tick label为刻度注释。
10345471-276518e6e064a12f.png
image.png

调用figure创建一个绘图对象:plt.figure(figsize=(8,4))
也可以不创建绘图对象直接调用接下来的plot函数直接绘图,matplotlib会为我们自动创建一个绘图对象。
如果需要同时绘制多个图表的话,可以给figure传递一个参数制定图表的序号,如果所指定序号的绘图对象已经存在的话,将不创建新的对象,而只是让它成为当前绘图对象,
figsize:制定绘图对象的宽度与高度,单位为英寸;
dpi:制定绘图对象的分辨率,每英寸多少个像素,缺省值为80.因此本例中所创建的图表窗口的宽度为8 80=640像素,高度为480像素。

import matplotlib.pyplot as plt
plt.figure(figsize=(8,4))
x = [1,2,3]
y = [5,7,4]
plt.plot(x,y)
plt.show()

如果出现画出多张图的情况,需要更新matplotlib到最新版本,更新命令:pip install matplotlib
如果出现更新慢的问题,需要对pip换源,相关链接:https://www.cnblogs.com/walk1314/p/7076853.html
换源以后下载速度提高到2M/s。

10345471-622427133a43941f.png
简单画图示例.png

3.美化图表-为图表加上图例、标题和标签

首先,2行代码解决编码问题:

plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

加上图例、标题、标签3中效果的代码如下:

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号
x = [1,2,3]
y1 = [5,7,4]
y2 = [10,14,12]
plt.figure(figsize=(8,4))
plt.plot(x,y1,label='第一条线')
plt.plot(x,y2,label='第二条线')
plt.xlabel('x轴')
plt.ylabel('y轴')
plt.title('为图表加入\n图例、标题和标签')
plt.legend()
plt.show()

plt.legend()作用是显示图例,图例是下图中红色方框所指内容。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值