matplotlib实际上是一套面向对象的绘图库,它所绘制的图表中的每个绘图元素,例如线条Line2D、文字Text、刻度等在内存中都有一个对象与之对应。
为了方便快速绘图matplotlib通过pyplot模块提供了一套和MATLAB类似的绘图API,将众多绘图对象所构成的复杂结构隐藏在这套API内部。我们只需要调用pyplot模块所提供的函数就可以实现快速绘图以及设置图表的各种细节。pyplot模块虽然用法简单,但不适合在较大的应用程序中使用。
为了将面向对象的绘图库包装成只使用函数的调用接口,pyplot模块的内部保存了当前图表以及当前子图等信息。当前的图表和子图可以使用plt.gcf()和plt.gca()获得,分别表示"Get Current Figure"和"Get Current Axes"。在pyplot模块中,许多函数都是对当前的Figure或Axes对象进行处理,比如说:
plt.plot()实际上会通过plt.gca()获得当前的Axes对象ax,然后再调用ax.plot()方法实现真正的绘图。
可以在Ipython中输入类似"plt.plot??"的命令查看pyplot模块的函数是如何对各种绘图对象进行包装的。
1、pyplot.plot(*args, **kwargs)
这个函数有两个参数,一个可变参数,一个命名参数。可变参数可以指定三个参数,x,y序列和线条格式字符串,下面的例子是一些常用的搭配
plot(x, y) # plot x and y using default line style and color plot(x, y, ‘bo‘) # plot x and y using blue circle markers plot(y) # plot y using x as index array 0..N-1 plot(y, ‘r+‘) # ditto, but with red plusses如果没有使用命名参数,那么可以设置任意组的x,y,格式字符串,例如:
a.plot(x1, y1, ‘g^‘, x2, y2, ‘g-‘) plot的返回值类型是matplotlib.lines.Line2D object如果不指定plot会采用默认的线条和颜色,下面给出线条和颜色的可设值线条值
================ =============================== character description ================ =============================== ``‘-‘`` solid line style 实线 ``‘--‘`` dashed line style 虚线 ``‘-.‘`` dash-dot line style 虚点线 ``‘:‘`` dotted line style 点线 ``‘.‘`` 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 ================ =============================== 颜色值 ========== ======== character color ========== ======== ‘b‘ blue ‘g‘ green ‘r‘ red ‘c‘ cyan ‘m‘ magenta ‘y‘ yellow ‘k‘ black ‘w‘ white ========== ======== 命名参数可以用来设置线条的属性,每个属性都有一个set_...的方法,可以用来设置线条的标签,线宽等等
字符串格式指定格式只是缩写的形式,可以不用缩写的形式,只用命名参数的形式设定线条的格式,示例如下
命名参数的属性就是类matplotlib.lines.Line2D的属性,对应的属性有
时间: 2024-10-28 19:37:46