Matplotlib是一个Python工具箱,用于科学计算的数据可视化。借助它,Python可以绘制如Matlab和Octave多种多样的数据图形。
Matplotlib的安装方法
windows 平台上下载.exe格式 直接安装。
1.python下载安装 下载地址:http://www.python.org/download/。
2.安装你所需要版本(这个要根据步骤1的python版本)的Matplotlib,下载地址:http://matplotlib.org/downloads.html。
下面安装Matplotlib 依赖的库
3.对于标准版的Python来说,要使用Matplotlib,还需要安装numpy模块,其下载地址为:http://sourceforge.net/projects/numpy/files/NumPy/。
4.msvcp71.dll, 在某些系统上,你可能还需要下载msvcp71.dll库。下载地址:http://www.dll-files.com/dllindex/dll-files.shtml?msvcp71,下载解压后把它拖到c:\windows\system32目录中
matplotlib绘制折线图
line chart 三角函数
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 10* np.pi, 500)
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()
line chart中指定label,然后调用legend方法绘制图例
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 5 * 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()
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'
线的样式
(1)颜色
plot方法的关键字参数color(或c)用来设置线的颜色。可取值为:
颜色名称或简写
b: blue
g: green
r: red
c: cyan
m: magenta
y: yellow
k: black
w: white
#rrggbb
(r, g, b) 或 (r, g, b, a),其中 r g b a 取均为[0, 1]之间
[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, 5* np.pi, 500)
y1, y2 = np.sin(x), np.cos(x)
plt.plot(x, y1)
plt.plot(x, y2)
plt.title('line chart')
plt.plot(x, y1, c='r', ls='--', lw=3)
plt.plot(x, y2, c='#526922', ls='-.')
plt.show()
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, 6 * np.pi, 100)
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()
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 |