Python Matplotlib库入门指南

作者:junjie 时间:2022-04-27 11:51:01 

Matplotlib简介

Matplotlib是一个Python工具箱,用于科学计算的数据可视化。借助它,Python可以绘制如Matlab和Octave多种多样的数据图形。最初是模仿了Matlab图形命令, 但是与Matlab是相互独立的.
通过Matplotlib中简单的接口可以快速的绘制2D图表

初试Matplotlib

Matplotlib中的pyplot子库提供了和matlab类似的绘图API.


import matplotlib.pyplot as plt   #导入pyplot子库
plt.figure(figsize=(8, 4))  #创建一个绘图对象, 并设置对象的宽度和高度, 如果不创建直接调用plot, Matplotlib会直接创建一个绘图对象
plt.plot([1, 2, 3, 4])  #此处设置y的坐标为[1, 2, 3, 4], 则x的坐标默认为[0, 1, 2, 3]在绘图对象中进行绘图, 可以设置label, color和linewidth关键字参数
plt.ylabel('some numbers')  #给y轴添加标签, 给x轴加标签用xlable
plt.title("hello");  #给2D图加标题
plt.show()  #显示2D图

基础绘图

绘制折线图

与所选点的坐标有关


# -*- coding: utf-8 -*-
#!/usr/bin/env python
import numpy as np
import matplotlib.pyplot as plt
x = [0, 1, 2, 4, 5, 6]
y = [1, 2, 3, 2, 4, 1]
plt.plot(x, y, '-*r')  # 虚线, 星点, 红色
plt.xlabel("x-axis")
plt.ylabel("y-axis")
plt.show()


更改线的样式查看plot函数参数设置 
多线图
只需要在plot函数中传入多对x-y坐标对就能画出多条线


# -*- coding: utf-8 -*-
#!/usr/bin/env python
import numpy as np
import matplotlib.pyplot as plt
x = [0, 1, 2, 4, 5, 6]
y = [1, 2, 3, 2, 4, 1]
z = [1, 2, 3, 4, 5, 6]
plt.plot(x, y, '--*r', x, z, '-.+g')
plt.xlabel("x-axis")
plt.ylabel("y-axis")
plt.title("hello world")
plt.show()

柱状图


# -*- coding: utf-8 -*-
#!/usr/bin/env python
import numpy as np
import matplotlib.pyplot as plt
x = [0, 1, 2, 4, 5, 6]
y = [1, 2, 3, 2, 4, 1]
z = [1, 2, 3, 4, 5, 6]
plt.bar(x, y)
plt.xlabel("x-axis")
plt.ylabel("y-axis")
plt.show()

子图

subplot()函数指明numrows行数, numcols列数, fignum图个数. 图的个数不能超过行数和列数之积


# -*- coding: utf-8 -*-
#!/usr/bin/env python
import numpy as np
import matplotlib.pyplot as plt
x = [0, 1, 2, 4, 5, 6]
y = [1, 2, 3, 2, 4, 1]
z = [1, 2, 3, 4, 5, 6]
plt.figure(1)
plt.subplot(211)
plt.plot(x, y, '-+b')
plt.subplot(212)
plt.plot(x, z, '-.*r')
plt.show()

文本添加

当需要在图片上调价文本时需要使用text()函数, 还有xlabel(), ylabel(), title()函数

text()函数返回matplotlib.text.Text, 函数详细解释


# -*- coding: utf-8 -*-
#!/usr/bin/env python
import numpy as np
import matplotlib.pyplot as plt
x = [0, 1, 2, 4, 5, 6]
y = [1, 2, 3, 2, 4, 1]
plt.plot(x, y, '-.*r')
plt.text(1, 2, "I'm a text")  //前两个参数表示文本坐标, 第三个参数为要添加的文本
plt.show()

图例简介
legend()函数实现了图例功能, 他有两个参数, 第一个为样式对象, 第二个为描述字符


# -*- coding: utf-8 -*-
#!/usr/bin/env python
import numpy as np
import matplotlib.pyplot as plt
line_up, = plt.plot([1,2,3], label='Line 2')
line_down, = plt.plot([3,2,1], label='Line 1')
plt.legend(handles=[line_up, line_down])
plt.show()


或者调用set_label()添加图例


# -*- coding: utf-8 -*-
#!/usr/bin/env python
import numpy as np
import matplotlib.pyplot as plt
line, = plt.plot([1, 2, 3])
line.set_label("Label via method")
plt.legend()
plt.show()

同时对多条先添加图例


# -*- coding: utf-8 -*-
#!/usr/bin/env python
import numpy as np
import matplotlib.pyplot as plt
line1, = plt.plot([1, 2, 3])
line2, = plt.plot([3, 2, 1], '--b')
plt.legend((line1, line2), ('line1', 'line2'))
plt.show()


更多图例设置可以参考官方图例教程

标签:Python,Matplotlib
0
投稿

猜你喜欢

  • 最新CSS兼容方案

    2008-08-13 13:20:00
  • Python sublime安装及配置过程详解

    2021-07-06 19:57:47
  • Python实现删除重复文件的示例代码

    2022-02-26 03:50:22
  • 初衷和结果

    2009-02-23 12:52:00
  • WorkBench管理操作MySQL

    2010-10-14 14:21:00
  • Python进行区间取值案例讲解

    2021-10-23 15:17:34
  • 修改、删除数据记录(DELETE\\UPDATE)

    2009-02-27 15:50:00
  • python使用Qt界面以及逻辑实现方法

    2023-10-23 23:28:09
  • Python+PyQT5的子线程更新UI界面的实例

    2022-06-09 10:39:02
  • display:inline-block的深入理解

    2007-05-11 17:03:00
  • 深入透析样式表滤镜(上)

    2011-06-14 09:48:40
  • 使用Python实现控制摄像头的方法详解

    2023-01-15 14:38:12
  • Python将图片批量从png格式转换至WebP格式

    2023-01-11 00:27:49
  • Python基于numpy灵活定义神经网络结构的方法

    2023-09-30 15:03:52
  • SQL SERVER 2005中的同步复制技术

    2009-01-05 13:44:00
  • Bootstrap响应式侧边栏改进版

    2023-08-17 02:26:10
  • PHP CURL CURLOPT参数说明(curl_setopt)

    2023-11-14 19:06:44
  • Go实现文件上传和下载

    2023-06-19 07:42:32
  • MYSQL数据库常用命令集合

    2009-02-26 16:01:00
  • Python Matplotlib绘制箱线图boxplot()函数详解

    2021-03-09 11:16:07
  • asp之家 网络编程 m.aspxhome.com