python数据可视化分析工具之matplotlib

python数据可视化分析工具之matplotlib绘图实例

对于我们数据分析师来说,不仅要自己明白数据背后的含义,而且还要更直观的展示数据的意义。

matplotlib是受MATLAB的启发构建的。MATLAB是数据绘图领域广泛使用的语言和工具。MATLAB语言是面向过程的。利用函数的调用,MATLAB中可以轻松的利用一行命令来绘制直线,然后再用一系列的函数调整结果。

matplotlib有一套完全仿照MATLAB的函数形式的绘图接口,在matplotlib.pyplot模块中。这套函数接口方便MATLAB用户过度到matplotlib包。

例一:

画图之前,我们先导入包和生成数据集

我们先看下所用的数据集

7095269-1fabec965791544e2

一:折线图

折线图是我们观察趋势常用的图形,可以看出数据随着某个变量的变化趋势,默认情况下参数 kind=”line” 表示图的类型为折线图。

7095269-14b1d5336636dc7e2

这里默认是把索引当作了X轴,列作为了Y

二:柱状图

对于分类数据这种离散数据,需要查看数据是如何在各个类别之间分布的,这时候就可以使用柱状图。我们为每个类别画出一个柱子。此时,可以将参数 kind 设置为 bar 。

7095269-124da551228383e8d

这里还是以索引为X轴,列为Y轴。我们还可以改变显示的轴

7095269-12d5f5f733d825450

当然我们还可以变成堆积柱状图

7095269-118f59f23c8dd4e87

三:条形图

条形图就是将竖直的柱状图翻转90度得到的图形。与柱状图一样,条形图也可以有一组或多种多组数据。

7095269-1088ae8637840666e

水平条形图在类别名称很长的时候非常方便,因为文字是从左到右书写的,与大多数用户的阅读顺序一致,这使得我们的图形容易阅读。而柱状图在类别名称很长的时候是没有办法很好的展示的。

四:直方图

直方图是柱形图的特殊形式,当我们想要看数据集的分布情况时,选择直方图。直方图的变量划分至不同的范围,然后在不同的范围中统计计数。在直方图中,柱子之间的连续的,连续的柱子暗示数值上的连续。

7095269-1d4fb2d0e43eb7d42

五:箱线图

箱线图用来展示数据集的描述统计信息,也就是[四分位数],线的上下两端表示某组数据的最大值和最小值。箱子的上下两端表示这组数据中排在前25%位置和75%位置的数值。箱中间的横线表示中位数。此时可以将参数 kind 设置为 box。

7095269-5efc2c51b89143855

六:散点图

如果想要画出散点图,可以将参数 kind 设置为 scatter,同时需要指定 x 和 y。通过散点图可以探索变量之间的关系。

7095269-63a79a91a6696d071

七:饼状图

饼图是用面积表示一组数据的占比,此时可以将参数 kind 设置为 pie。

7095269-61d59b15f2182fe1d

我们刚开始学习的同学,最基本应该明白什么数据应该用什么图形来展示,同学们来一起总结吧。

———-

例二:

在绘图结构中,figure创建窗口,subplot创建子图。所有的绘画只能在子图上进行。plt表示当前子图,若没有就创建一个子图。所有你会看到一些教程中使用plt进行设置,一些教程使用子图属性进行设置。他们往往存在对应功能函数。

Figure:面板(图),matplotlib中的所有图像都是位于figure对象中,一个图像只能有一个figure对象。

Subplot:子图,figure对象下创建一个或多个subplot对象(即axes)用于绘制图像。

5824016-016c116744a24d03a

配置参数:

axex: 设置坐标轴边界和表面的颜色、坐标刻度值大小和网格的显示
figure: 控制dpi、边界颜色、图形大小、和子区( subplot)设置
font: 字体集(font family)、字体大小和样式设置
grid: 设置网格颜色和线性
legend: 设置图例和其中的文本的显示
line: 设置线条(颜色、线型、宽度等)和标记
patch: 是填充2D空间的图形对象,如多边形和圆。控制线宽、颜色和抗锯齿设置等。
savefig: 可以对保存的图形进行单独设置。例如,设置渲染的文件的背景为白色。
verbose: 设置matplotlib在执行期间信息输出,如silent、helpful、debug和debug-annoying。
xticks和yticks: 为x,y轴的主刻度和次刻度设置颜色、大小、方向,以及标签大小。

线条相关属性标记设置

线条风格linestyle或ls 描述
‘-‘ 实线
‘:’ 虚线
‘–’ 破折线
‘None’,’ ‘,’’ 什么都不画
‘-.’ 点划线

线条标记

颜色

如果这两种颜色不够用,还可以通过两种其他方式来定义颜色值:

1、使用HTML十六进制字符串 color=’#123456’ 使用合法的HTML颜色名字(’red’,’chartreuse’等)。
2、也可以传入一个归一化到[0,1]的RGB元祖。 color=(0.3,0.3,0.4)

背景色

通过向如matplotlib.pyplot.axes()或者matplotlib.pyplot.subplot()这样的方法提供一个axisbg参数,可以指定坐标这的背景色。

subplot(111,axisbg=(0.1843,0.3098,0.3098))

以下示例需要引入的库包括

绘图操作步骤(以点图、线图为例)

5824016-4aeeba6a133915a7d

plot时可以设置的属性包括如下:

一个窗口多个图

5824016-3656a1b965cb3ce2d

极坐标

属性设置同点图、线图中。

5824016-fb8c01110084d7b6d

柱形图

属性设置同点图、线图中。

5824016-aa02d7d1626ace866

直方图

5824016-cfb269e911b6c41c6

散点图

5824016-f05a751f021319fe5

三维图

画矩形、多边形、圆形和椭圆

5824016-d5b74bf119efd82aa

 

学习地址:

官网:http://matplotlib.org/

http://matplotlib.org/examples/index.html

http://matplotlib.org/gallery.html

https://www.matplotlib.org.cn/

https://www.runoob.com/numpy/numpy-matplotlib.html

 

三角形勾股定理公式