python使用matplotlib绘制折线图教程

作者:daisy 时间:2022-06-28 11:26:37 

matplotlib简介

matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。

它的文档相当完备,并且Gallery页面中有上百幅缩略图,打开之后都有源程序。因此如果你需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下,基本上都能搞定。

在Linux下比较著名的数据图工具还有gnuplot,这个是免费的,Python有一个包可以调用gnuplot,但是语法比较不习惯,而且画图质量不高。

而 Matplotlib则比较强:Matlab的语法、python语言、latex的画图质量(还可以使用内嵌的latex引擎绘制的数学公式)。

绘图库Matplotlib的安装方法:点击这里

matplotlib绘制折线图

1. line chart


import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2 * np.pi, 100)
y1, y2 = np.sin(x), np.cos(x)

plt.plot(x, y1)
plt.plot(x, y2)

plt.title('line chart')
plt.xlabel('x')
plt.ylabel('y')

plt.show()

python使用matplotlib绘制折线图教程

2. 图例

在plot的时候指定label,然后调用legend方法可以绘制图例。例如:


import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2 * np.pi, 100)
y1, y2 = np.sin(x), np.cos(x)

plt.plot(x, y1, label='y = sin(x)')
plt.plot(x, y2, label='y = cos(x)')
plt.legend()
plt.show()

python使用matplotlib绘制折线图教程

legend方法可接受一个loc关键字参数来设定图例的位置,可取值为数字或字符串:

     0: ‘best'

     1: ‘upper right'

     2: ‘upper left'

     3: ‘lower left'

     4: ‘lower right'

     5: ‘right'

     6: ‘center left'

     7: ‘center right'

     8: ‘lower center'

     9: ‘upper center'

     10: ‘center'

3. 线的样式

(1)颜色

plot方法的关键字参数color(或c)用来设置线的颜色。可取值为:

1、颜色名称或简写

     b: blue

     g: green

     r: red

     c: cyan

     m: magenta

     y: yellow

     k: black

     w: white

2、#rrggbb

3、(r, g, b) 或 (r, g, b, a),其中 r g b a 取均为[0, 1]之间

4、[0, 1]之间的浮点数的字符串形式,表示灰度值。0表示黑色,1表示白色

(2)样式

plot方法的关键字参数linestyle(或ls)用来设置线的样式。可取值为:

  • -, solid

  • --, dashed

  • -., dashdot

  • :, dotted

  • '', ' ', None

(3)粗细

设置plot方法的关键字参数linewidth(或lw)可以改变线的粗细,其值为浮点数。


import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2 * np.pi, 100)
y1, y2 = np.sin(x), np.cos(x)

plt.plot(x, y1, c='r', ls='--', lw=3)
plt.plot(x, y2, c='#526922', ls='-.')
plt.show()

python使用matplotlib绘制折线图教程

4. marker

以下关键字参数可以用来设置marker的样式:

  • marker

  • markeredgecolor 或 mec

  • markeredgewidth 或 mew

  • markerfacecolor 或 mfc

  • markerfacecoloralt 或 mfcalt

  • markersize 或 ms

其中marker可取值为:

  • '.': point marker

  • ',': pixel marker

  • 'o': circle marker

  • 'v': triangle_down marker

  • '^': triangle_up marker

  • '<': triangle_left marker

  • '>': triangle_right marker

  • '1': tri_down marker

  • '2': tri_up marker

  • '3': tri_left marker

  • '4': tri_right marker

  • 's': square marker

  • 'p': pentagon marker

  • '*': star marker

  • 'h': hexagon1 marker

  • 'H': hexagon2 marker

  • '+': plus marker

  • 'x': x marker

  • 'D': diamond marker

  • 'd': thin_diamond marker

  • '|': vline marker

  • '_': hline marker

例如:


import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2 * np.pi, 10)
y1, y2 = np.sin(x), np.cos(x)

plt.plot(x, y1, marker='o', mec='r', mfc='w')
plt.plot(x, y2, marker='*', ms=10)
plt.show()

python使用matplotlib绘制折线图教程

另外,marker关键字参数可以和color以及linestyle这两个关键字参数合并为一个字符串。例如:


import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2 * np.pi, 10)
y1, y2 = np.sin(x), np.cos(x)

plt.plot(x, y1, 'ro-')
plt.plot(x, y2, 'g*:', ms=10)
plt.show()

python使用matplotlib绘制折线图教程

总结

标签:python,matplotlib,折线图
0
投稿

猜你喜欢

  • ajax返回中文乱码问题解决

    2009-04-13 16:07:00
  • Mysql中limit的用法方法详解与注意事项

    2023-11-16 09:20:05
  • SQL Server数据库超级管理员账号防护

    2008-12-22 16:30:00
  • JS重现80后儿时经典拼板(模板)游戏

    2011-09-11 18:36:46
  • 浅析Python 中整型对象存储的位置

    2021-10-06 13:40:20
  • Python filter()及reduce()函数使用方法解析

    2022-09-05 07:01:59
  • php指定长度分割字符串str_split函数用法示例

    2023-07-08 23:25:51
  • 用python做游戏的细节详解

    2022-02-08 05:18:39
  • 读取MySQL的log方法

    2011-07-01 12:04:57
  • Python PyWebIO实现网页版数据查询器

    2023-07-11 20:01:03
  • pytorch 实现冻结部分参数训练另一部分

    2023-06-14 16:43:10
  • Python 确定多项式拟合/回归的阶数实例

    2023-08-26 23:54:58
  • Python的三种主要模块介绍

    2023-10-15 23:16:26
  • CSS3:文字阴影知多少

    2009-06-28 15:33:00
  • 玩转表单之花样表单

    2011-04-25 19:17:00
  • 实际应用:MySQL5存储过程编写

    2008-11-11 12:25:00
  • 浅析Git版本控制器使用

    2023-09-10 16:21:23
  • 手把手教你将Flask应用封装成Docker服务的实现

    2023-05-27 06:57:15
  • xWin的HTC分享

    2009-09-13 18:50:00
  • python使用numpy读取、保存txt数据的实例

    2021-04-05 22:38:49
  • asp之家 网络编程 m.aspxhome.com