介绍


Matplotlib是 Python 2D-绘图领域使用最广泛的套件。它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式,如条形图,散点图,条形图,饼图,堆叠图,3D 图,地图图表等。

详细学习请参考官方网址http://matplotlib.org/。本文只做简单介绍。

Python的画图模块matplotlib基础教程_Java


1 安装与实例


首先要安装matplotlib等数据分析的模块,这里不再赘述,如遇到问题可以百度。

Python的画图模块matplotlib基础教程_Java_02

第1行是声明编码的字符集,方便写中文注释。

2-3行是导入numpy和matplotlib模块。


(一)折线图:


Python的画图模块matplotlib基础教程_Java_03

模块中的plot函数在默认情况下绘制折线图,最基本的参数是横坐标x和纵坐标y

color代表颜色

linewidth代表线的粗细

marker代表点的形状

linestyle代表线的形状

show函数是将画好的图形全部生成出来。如下图:

Python的画图模块matplotlib基础教程_Java_04


(二)散点图:


Python的画图模块matplotlib基础教程_Java_05

scatter是画散点图的函数,参数有横纵坐标

color代表颜色

marker代表点的类型

s代表点的大小,如下图:

Python的画图模块matplotlib基础教程_Java_06


(三)饼状图:


Python的画图模块matplotlib基础教程_Java_07

labels代表每个块的名字

percent代表每个块的百分比

explode代表每个块与圆心的距离

plt.axes(aspect=1)让图形为正圆。默认图形为椭圆

autopct代表圆里面的文本格式,%3.1f%%表示小数有三位,整数有一位的浮点数

shadow,饼是否有阴影

startangle,起始角度,0,表示从0开始逆时针转,为第一块

pctdistance,百分比的名字离圆心的距离。如下图:

Python的画图模块matplotlib基础教程_Java_08


(四)条形图:


Python的画图模块matplotlib基础教程_Java_09

index代表每个条形的横坐标

width代表每个条形的宽度。如下图:

Python的画图模块matplotlib基础教程_Java_10

Python的画图模块matplotlib基础教程_Java_11

变动一下,让两种条形的横坐标一致,竖着摆放:

Python的画图模块matplotlib基础教程_Java_12

条形图也可以变为横向:

Python的画图模块matplotlib基础教程_Java_13

bottom代表每个条形的纵坐标

height代表每个条形的宽度

width代表每个条形的长度。如下图:

Python的画图模块matplotlib基础教程_Java_14


(五)直方图:


Python的画图模块matplotlib基础教程_Java_15

先生成1000个均值为0方差为1的正态分布随机数

bins代表小区间的个数

histype代表条形还是线条

alpha代表透明度

Python的画图模块matplotlib基础教程_Java_16


(六)箱线图:


Python的画图模块matplotlib基础教程_Java_17

Python的画图模块matplotlib基础教程_Java_18


最后说明一下图例和标题:


Python的画图模块matplotlib基础教程_Java_19

plot函数里的参数label显示图例的名字

legend函数将所有线条的名字放到一个方框里,loc参数指定方框的位置

xlabel显示x轴名称

ylabel显示y轴名称

title显示整个图的标题

Python的画图模块matplotlib基础教程_Java_20