Matplotlib绘图教程的使用

Matplotlib是一个Python工具箱,用于科学计算的数据可视化。借助它,Python可以绘制如Matlab和Octave多种多样的数据图形。下面这篇文章主要介绍了python使用matplotlib如何绘制折线图的方法教程,需要的朋友可以参考借鉴。

1. line chart

1

2

3

4

5

6

7

8

9

10

11

12

13

14

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()

Matplotlib绘图教程的使用_第1张图片

2. 图例

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

1

2

3

4

5

6

7

8

9

10

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()

 

Matplotlib绘图教程的使用_第2张图片

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)可以改变线的粗细,其值为浮点数。

1

2

3

4

5

6

7

8

9

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()

Matplotlib绘图教程的使用_第3张图片

 

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 

例如:

1

2

3

4

5

6

7

8

9

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()

Matplotlib绘图教程的使用_第4张图片

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

1

2

3

4

5

6

7

8

9

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()

Matplotlib绘图教程的使用_第5张图片

 

The kwargs are Line2D properties:参数设置

Property Description
agg_filter unknown
alpha float (0.0 transparent through 1.0 opaque)
animated [True | False]
antialiased or aa [True | False]
axes an Axes instance
clip_box a matplotlib.transforms.Bbox instance
clip_on [True | False]
clip_path [ (Path, Transform) | Patch | None ]
color or c any matplotlib color
contains a callable function
dash_capstyle [‘butt’ | ‘round’ | ‘projecting’]
dash_joinstyle [‘miter’ | ‘round’ | ‘bevel’]
dashes sequence of on/off ink in points
drawstyle [‘default’ | ‘steps’ | ‘steps-pre’ | ‘steps-mid’ | ‘steps-post’]
figure a matplotlib.figure.Figure instance
fillstyle [‘full’ | ‘left’ | ‘right’ | ‘bottom’ | ‘top’ | ‘none’]
gid an id string
label string or anything printable with ‘%s’ conversion.
linestyle or ls ['-' | '--' | '-.' | ':' | 'None' | ' ' | '']
linewidth or lw float value in points
lod [True | False]
marker A valid marker style
markeredgecolor or mec any matplotlib color
markeredgewidth or mew float value in points
markerfacecolor or mfc any matplotlib color
markerfacecoloralt or mfcalt any matplotlib color
markersize or ms float
markevery [None | int | length-2 tuple of int | slice | list/array of int | float | length-2 tuple of float]
path_effects unknown
picker float distance in points or callable pick function fn(artist, event)
pickradius float distance in points
rasterized [True | False | None]
sketch_params unknown
snap unknown
solid_capstyle [‘butt’ | ‘round’ | ‘projecting’]
solid_joinstyle [‘miter’ | ‘round’ | ‘bevel’]
transform a matplotlib.transforms.Transform instance
url a url string
visible [True | False]
xdata 1D array
ydata 1D array
zorder any number

你可能感兴趣的