一.初识Matplotlib

Matplotlib 是一个 Python 的开源绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,散点图。其中matplotlib.pyplot 调用是一个命令风格的函数集合,这使得 matplotlib 工作起来和MATLAB很相似。每一个 pyplo他函数都调用不同的功能,例如:创建一个一个的点,对每一个点添加标签,如何点成线,如何创建一幅图形、在一幅图中创建一个绘图区域、在绘图区域中绘制一些线、使用标签对图形进行修饰。

二.基本用法

(1)基本函数图像的绘制

通过numpy模块随机创建的数据,调用matplotlib库下plot()方法,绘制基本函数:

import matplotlib.pyplot as plt

import numpy as np

#-1到1的50个点

x=np.linspace(-1,1,20)

y=2x+1

plt.plot(x,y)

plt.show()

y=2x+1de 函数图像如图1所示:

图1

(2)figure图像简介

figure的主要功能是设置窗口,如何一次性的创建多个figure:这里通过调用figure下facecolor函数,可以设置窗口边框的颜色,在同一平面内同时绘制两个函数的图像。

import matplotlib.pyplot as plt

import numpy as np

x=np.linspace(-1,1,20)

y1=2x+2

y2=2x**2

plt.figure(num=1,facecolor=“red”)

plt.plot(x,y1)

plt.figure(2)

plt.plot(x,y2)

plt.show()

plot() 是一个多功能的命令,能够接收任意数量的参数,如何在同一figure界面下绘制多条图像,这里我们只需要在某一个figure下调用plt,这里我们可以设置线条的颜色,是有区别与边框的颜色。

import matplotlib.pyplot as plt

import numpy as np

x=np.linspace(-1,1,20)

y1=2x+2

y2=2x**2

plt.figure(num=1,facecolor=“red”)

plt.plot(x,y1)

plt.figure(2)

plt.plot(x,y1,color=‘orange’)

plt.plot(x,y2,color=‘pink’,linestyle=’–’)

plt.show()

(3)有趣的X.Y轴设置

plt.xlim((0,8))

plt.ylim((-1,7))

#x.y轴的标签

plt.xlabel(‘x-axim’)

plt.ylabel(‘y-axim’)

plt.xticks()

#点的标签数据意义

plt.yticks([0,2,4,7],[‘small’,‘alittle’,‘big’,‘mout’])

plt.show()

(4)Legend图例设置

Legend图例一般适用与多条函数线所表示得物理意义,比如这里假设如下两条函数分别所代表得物理意义是一家农场养鸡,猪得数量变化情况,如何清晰得分辨出鸡和猪得数量,除了在线段上标出标签,另一个比较好的方法则是Legend图例:

#L后,号隔开

l1,=plt.plot(x,y1)

l2,=plt.plot(x,y2,color=‘pink’,linestyle=’–’)

#loc=best,upper right,upper left,lower left,lower right,right,center left

#图的标签和位置

plt.legend(handles=[l1,l2],labels=[‘pig’,‘chicken’],loc=‘lower right’)

plt.show()

(5)各类图像的绘制

函数介绍:

plt.plot(x, y, fmt,…) 绘制坐标图

plt.boxplot(data, notch, position) 绘制一个箱形图

plt.bar(left, height, width, bottom) 绘制一个条形图

plt.barh(width, bottom, left, height) 横向条形图

plt.polar(thera, r) 极坐标图

plt.pie(data, explode) 饼图

plt.psd(x, NFFT=256, pad_to, Fs) 功率谱密度图

plt.specgram(x, NFFT=256, pad_to, F) 谱图

plt.cohere(x, y, NFFT=256, Fs) X-Y的相关性函数

plt.scatter(x, y) 散点图,其中 x和 y长度相同

plt.step(x, y, where) 步阶图

plt.hist(x, bins, normed) 直方图

plt.contour(X, Y, Z, N) 等值图

plt.vlines() 垂直图

plt.stem(x, y, linefmt, marketfmt) 柴火图

plt.plot_date() 数据日期

#饼状图易于展现各类数据的占用百分比,比如高校大学生人数各年级比例:

import matplotlib.pyplot as plt

labels = ‘Freshman’, ‘Sophomore’, ‘junior’, ‘senior’ # 定义标签

sizes = [22, 26, 28, 24] # 每一块比例

colors = [‘yellowgreen’, ‘gold’, ‘lightskyblue’, ‘lightcoral’] # 每一块的颜色

explode = (0, 0.1, 0, 0) # 突显第三块

plt.pie(sizes, explode=explode, labels=labels, colors=colors, autopct=’%1.1f%%’, shadow=True, startangle=90)

plt.axis(‘equal’) # 显示为圆,避免比例压缩为椭圆

plt.sh

显示如下:

##直方图:

import numpy as np

import matplotlib.pyplot as plt

np.random.seed(0)

mu, sigma = 100, 20#均值和标准差

a = np.random.normal(mu, sigma, size=100)

plt.hist(a, 20, density=1, histtype=‘stepfilled’, facecolor=‘r’, alpha=0.75)

#其中20代表bins为直方图的个数

#normed=1,将出现个数归一化总为1;normal=0,高度表示出现的个数

plt.title(‘database’)

plt.show()

#animation动画制作

函数动态的动画制作有利于分析函数的周期性特点,可以直观动态的展现出函数在不同区间的单调特点,下列就以正弦函数为例:

import numpy as np

import matplotlib.pyplot as plt

#动画模块

from matplotlib import animation

fig,ax=plt.subplots()

x=np.arange(0,2np.pi,0.01)

line,=ax.plot(x,np.sin(x))

#更新的方式,循环

def animate(i):

line.set_ydata(np.sin(x+i/100))

return line,

def init():

line.set_ydata(np.sin(x))

return line,

#标签,长度,帧数,间隔多长,

ani=animation.FuncAnimation(fig=fig,func=animate,frames=100,init_func=init,interval=20,blit=False)

plt.show()

三.总结

matplolib模块方便简洁的解决了数学中图像以及绘图的直观性问题,值得去认真学习。

python高级绘图师_matplotlib库-python中的绘图师相关推荐

  1. 仅需5道题轻松掌握Python命令行相关标准库 | Python技能树征题

    仅需5道题轻松掌握Python命令行相关标准库 | Python技能树征题 0. 前言 1. 第 1 题:命令行日志记录 2. 第 2 题:将日志存储在磁盘上 3. 第 3 题:命令行参数解析 4. ...

  2. Python和Java结合的项目实战_[项目实战] Python高级教程项目实战篇 Python和Java结合的项目实战 视频教程 [...

    资源介绍 课程简介:xa0xa0 Python高级教程项目实战篇 Python和Java结合的项目实战 视频教程 教学视频 ----------------------课程目录 Python项目实战篇 ...

  3. python画图为什么运行不出来_PyCharm中Matplotlib绘图不能显示UI效果的问题解决

    问题描述 我们利用了Matplotlib的类Cursor,向图形添加一组纵横交叉的直线,从而实现图形界面中任何位置的数值定位的可视化效果. 但使用PyCharm,绘图结果在右侧的部分: 这固然是需要绘 ...

  4. 高等数学与python高级应用_高等数学——基于Python的实现

    商品详情 书名:高等数学--基于Python的实现 定价:45.8 ISBN:9787121382437 作者:官金兰 版次:第1版 出版时间:2020-07 内容提要: 本书旨在用通俗易懂的语言介绍 ...

  5. python刷题 NOI题库 python题解 洛谷、牛客网、AcWing 刷题等

    NOI题库 python题解-2022.01.07整理(1.1-1.3) NOI题库 python题解-2022.01.07整理(1.1-1.3)_dllglvzhenfeng的博客-CSDN博客 N ...

  6. python常用的装饰器库_Python中的各种装饰器详解

    Python装饰器,分两部分,一是装饰器本身的定义,一是被装饰器对象的定义. 一.函数式装饰器:装饰器本身是一个函数. 1.装饰函数:被装饰对象是一个函数 [1]装饰器无参数: a.被装饰对象无参数: ...

  7. python turtle隐藏画笔_Turtle库学习--画笔控制 绘图状态

    turtle.pendown() 简:turtle.pd() turtle.down() 画笔落下 – 移动时将画线. turtle.penup() 简:turtle.pu() turtle.up() ...

  8. selenium python高级教程_自动化测试系列 python+selenium的使用教程(一)

    Selenium也是一个用于Web应用程序的自动化测试工具,功能强大,可直接运行在浏览器中,支持大部分主流浏览器,支持自动录制动作和自动生成,最重要的是支持多种主流语言包括java,python等. ...

  9. Python高级-编程技巧-1.3 Python垃圾回收及性能分析

    目录 通过实例方法名字的字符串调用方法 经典的参数错误 内存与内存管理简介(了解) 内存是什么? 操作系统的内存管理 进程内的内存管理 内存分配 内存池机制 缓冲池机制 垃圾回收机制 介绍 OS模块 ...

最新文章

  1. Oracle官方教程之Fork/Join
  2. 开源中国 Maven 库
  3. js 改变change方法_JS 之设计模式
  4. 多线程编程之线程同步主要函数一览
  5. linux系统管理常用命令
  6. 上海:加快推进18个新建数据中心项目的建设和投资进度
  7. java 格式化解析_java日期格式化、解析
  8. 它是真实的“盗梦空间”?在这里,一切都可能是数据
  9. Shell 脚本语法
  10. 关于opencv的cv2.WINDOW_一类
  11. 串口通信协议c语言程序,串口通信协议源代码.doc
  12. ngrok服务的编译与环境搭建
  13. Testdisk 修复磁盘分区表丢失
  14. 【NLP】LSTM 唐诗生成器
  15. 深圳大学计算机专业评级,泰晤士中国学科评级榜单2021 南科大上榜学科全为A
  16. Python_day01-----day07
  17. PHP如何实现嵌入网页功能思路
  18. html为什么链接无效,如何揪出网页中的无效链接
  19. Windows10开机之后进BIOS
  20. 软件测试app访问相机,PlayMemories Mobile应用实测,让相机成为你手机的外置摄像头...

热门文章

  1. 关于微信订阅号无法网页授权与服务号结合实现
  2. Apple PUSH Notication Service (APNS) 配置攻略
  3. access 重置索引_Microsoft Access中的索引
  4. java.sql.SQLException: Access denied for user 'app '@'xxx.xxx.xxx.xxx' (using password: YES)
  5. 为什么磁盘分区的时候,第一个分区前面总有一段空间(63或者2048个扇区)
  6. 【一篇文章搞懂】,字节跳动厂内部超高质量Flutter+Kotlin笔记
  7. RBA认证培训,RBA验厂致力于改善企业的供应链
  8. 信息学奥赛一本通:1111:不高兴的津津
  9. Java 工具类 - 银行卡校验 BankCardUtil
  10. C语言初学者如何做出美观的图形界面(附源码及完整文件)