数据分析中的可视化-常见图形

五月两场 | NVIDIA DLI 深度学习入门课程

5月19日/5月26日

一天密集式学习 快速带你入门

正文共2365个字,9张图,预计阅读时间11分钟。

工具:matplotlib,pandas

import matplotlib.pyplot as plt

import pandas as pd

from pandas import Series, DataFrame

图的创建

(1)单个图的绘制

创建图对象: fig = plt.figure() # 设置figsize参数可以确保图片保存到磁盘时具备一定的大小和纵横比.

创建轴对象: axis = fig.add_subplot()

plt.gcf()可以获得当前的Figure引用.但是更常用的是获取axis对象,然后调用绘图成员函数完成绘图:

axis.plot(data, linestyle='--', color='k')

matplotlib中的linestyle, color等设置与matlab基本相同.

(2)创建多图

可以用axis = fig.add_subplot(m,n,k)的方式定义增加的子图。但是更简单的方法是:

fig, axes = plt.subplots(m,n) # m行n列的多图矩阵;

这句命令可以创建一个新的figure,并且axes就是一个含有已创建的subplot对象的Numpy数组,可以用调用数组元素的方式对subplot进行索引。还可以指定subplots的其他参数,例如使得子图之间具有相同的x轴或者y轴(否则matplotlib会自动缩放各子图的坐标轴界限)

(3)调整子图的间距

利用subplots_adjust函数可以调整各个子图之间的间距和图像大小。它的定义如下:

subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=None, hspace=None)

附上例子:

image.png

(4)设置刻度、标签和图例

这几个操作都需要调用axis对象的相关函数实现:

(5)保存图像

用plt.savefig()可以保存图像。

plt.savefig('test.png', bbox_inches='tight')

示例代码:

image.png

数据分析中的常用图形:

线型图:

除了matplotlib, pandas的Series和DataFrame都具有许多根据其自身数据组织特点来创建标准绘图的高级绘图方法。

image.png

image.png

柱形图:

柱状图绘制的是x坐标对应的y取值,在plot代码中加入kind=‘bar’就可以得到垂直柱状图,‘barh’则是水平柱状图。

直方图:

直方图histogram是一种可以对值的频率进行离散化显示的柱状图。可以通过调用Series或者DataFrame的hist函数得到。数据点被分割到离散的,间隔均匀的面元中,绘制的是各个面元中数据点的数量。其中参数bins表示面元的单位,可以用normed设置是否进行归一化。

密度图:

密度图经常和直方图绘制在一起。它是通过计算可能会产生观测数据的连续概率分布的估计产生的。密度图也被称为KDE(kernel density estimate,核密度估计)。调用plot时在kind设置为‘kde’就可以生成密度图。

散布图:

散布图是观察两个一维数据序列之间关系的有效手段。散布图也被成为散布图矩阵,它还支持在对角线上放置各个序列的直方图或者密度图。

附上代码:

柱状图:

image.png

图中(上)是直方图和密度图, (下)是散点图:

image.png

散布图, 对角线是数据的密度图:

image.png

散布图, 对角线是直方图:

image.png

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180516A1D22400?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券