引言
统计数据可视化在经济、工程等领域都有着十分实用的价值。这篇blog主要介绍如何调用matplotlib、pandas进行python数据可视化。
数据导入关键函数 :read_excel
引入pandas包可以调用该函数
pandas.read_excel
(
io, #str,bytes,ExcelFile,xlrd.Book,路径对象或类似文件的对象
'''
可用案例:
默认值为0:第一张纸作为DataFrame1:将第二张纸作为数据框
“ Sheet1”:加载名为“ Sheet1”的工作表
[0,1,“ Sheet5”]:
加载第一,第二和名为“ Sheet5”的表作为DataFrame的字典
无:所有工作表。
'''
sheet_name=0, #str,int,list或None,默认0
)
直方图定义:
直方图(Histogram),又称质量分布图,是一种统计报告图,由一系列高度不等的纵向条纹或线段表示数据分布的情况。 一般用横轴表示数据类型,纵轴表示分布情况。
直方图是数值数据分布的精确图形表示。 这是一个连续变量(定量变量)的概率分布的估计,并且被卡尔·皮尔逊(Karl Pearson)首先引入。它是一种条形图。 为了构建直方图,第一步是将值的范围分段,即将整个值的范围分成一系列间隔,然后计算每个间隔中有多少值。 这些值通常被指定为连续的,不重叠的变量间隔。 间隔必须相邻,并且通常是(但不是必须的)相等的大小。
直方图也可以被归一化以显示“相对”频率。 然后,它显示了属于几个类别中的每个案例的比例,其高度等于1。
DataFrame.hist
(
data, #存放数据的pandas对象
'''
要使用的直方图箱数。如果给定整数,
则将计算bins + 1 bins边缘并返回。
如果bin是序列,则给出bin边缘,
包括第一个bin的左边缘和最后一个bin的右边缘。
在这种情况下,bin将被原封不动地返回。
'''
bins=10 #int或序列,默认为10
)
箱式图的定义:
箱式图,是指—种描述数据分布的统计图,是表述最小值、第一四分位数、中位数、第三四分位数与最大值的一种图形方法。它也可以粗略地看出数据是否具有对称性,分布的分散程度等信息,特别是可用于对几个样本的比较。在箱图中,最上方和最下方的线段分别表示数据的最大值和最小值,其中箱图的上方和下方的线段分别表示第三四分位数和第一四分位数,箱图中间的粗线段表示数据的中位数。另外,箱图中在最上方和最下方的星号和圆圈分别表示样本数据中的极端值。一般有两种类型的箱图:单式箱图用于分析只有一个变量的数据分布,复式箱图用以分析具有两个或以上变量的数据分布。
关键函数:boxplot
DataFrame.boxplot
(
data #存放数据的pandas对象
)
小提琴图定义:
小提琴图绘制数字数据的方法。小提琴是箱线图和密度分布的一个组合。具体地说,它开始以一个盒形图,然后增加了一个密度分布。
关键函数:violinplot
seaborn.violinplot
(
'''
x,y,数据或矢量数据中变量的色相名称,
可选用于绘制长格式数据的输入。
'''
x=None,
y=None
)
柱状图定义:
柱形图,又称长条图、柱状统计图、条状图、棒形图,是一种以长方形的长度为变量的统计图表。长条图用来比较两个或以上的价值(不同时间或者不同条件),只有一个变量,通常利用于较小的数据集分析。长条图亦可横向排列,或用多维方式表达。
关键函数:plot
plot(kind='bar')
柱状图需要准备好绘制数据,绘图本身仅仅调用plot函数。
折线图定义:
折线图是排列在工作表的列或行中的数据可以绘制到折线图中。折线图可以显示随时间(根据常用比例设置)而变化的连续数据,因此非常适用于显示在相等时间间隔下数据的趋势。
在折线图中,类别数据沿水平轴均匀分布,所有值数据沿垂直轴均匀分布。
关键函数:plot
plot(kind='line')
折线图需要准备好绘制数据,绘图本身仅仅调用plot函数。
堆叠柱状图定义:
堆叠柱状图是柱状图的扩展,不同的是,柱状图的数据值为并行排列,堆叠柱图则是一个个叠加起来的。它可以展示每一个分类的总量,以及该分类包含的每个小分类的大小及占比,因此非常适合处理部分与整体的关系。
与饼图显示单个部分到整体的关系不同的是,堆叠柱状图可以显示多个部分到整体的关系。例如一个班级体育课选课的各项目人数统计,你可以用柱状图或饼图来展示。但是,当需要进一步区分男生和女生参与到不同项目中的人数分别是多少时,就需要把每个项目中包含的男生数和女生数都展示出来。如图选用堆叠柱状图,不仅能显示每个项目的总人数,还能展示出每个项目中的一部分与整体的关系。
关键代码:
var = df.groupby(['BMI', 'Gender']).Sales.sum()
var.unstack().plot(kind='bar', stacked=True,
color=['red', 'blue'], grid=False)
散点图定义:
散点图是指在回归分析中,数据点在直角坐标系平面上的分布图,散点图表示因变量随自变量而变化的大致趋势,据此可以选择合适的函数对数据点进行拟合。
用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式。散点图将序列显示为一组点。值由点在图表中的位置表示。类别由图表中的不同标记表示。散点图通常用于比较跨类别的聚合数据。
关键代码:
ax.scatter(df['Age'], df['Sales'])
气泡图定义:
气泡图(bubble chart)是可用于展示三个变量之间的关系。它与散点图类似,绘制时将一个变量放在横轴,另一个变量放在纵轴,而第三个变量则用气泡的大小来表示。排列在工作表的列中的数据(第一列中列出 x 值,在相邻列中列出相应的 y 值和气泡大小的值)可以绘制在气泡图中。气泡图与散点图相似,不同之处在于:气泡图允许在图表中额外加入一个表示大小的变量进行对比。
关键代码:
ax.scatter(df['Age'], df['Sales'], s=df['Income'])
饼状图定义:
饼图英文学名为Sector Graph, 有名Pie Graph。常用于统计学模块。2D饼图为圆形,手画时,常用圆规作图。
仅排列在工作表的一列或一行中的数据可以绘制到饼图中。饼图显示一个数据系列 (数据系列:在图表中绘制的相关数据点,这些数据源自数据表的行或列。图表中的每个数据系列具有唯一的颜色或图案并且在图表的图例中表示。可以在图表中绘制一个或多个数据系列。饼图只有一个数据系列。)中各项的大小与各项总和的比例。饼图中的数据点 (数据点:在图表中绘制的单个值,这些值由条形、柱形、折线、饼图或圆环图的扇面、圆点和其他被称为数据标记的图形表示。相同颜色的数据标记组成一个数据系列。)显示为整个饼图的百分比。
plt.pie(x_list, labels=label_list, autopct='%1.1f%%')
热力图定义:
以特殊高亮的形式显示访客热衷的页面区域和访客所在的地理区域的图示。热力图 可以显示不可点击区域发生的事情。城市热力图该检测方式只提供参考。
你将发现访客经常会点击那些不是链接的地方,也许你应该在那个地方放置一个资源链接。比如:如果你发现人们总是在点击某个产品图片,你能想到的是,他们也许想看大图,或者是想了解该产品的更多信息。 同样,他们可能会错误地认为特别的图片就是导航链接。
关键代码:
ax.pcolor(data, cmap=plt.cm.Reds,edgecolors='k')
暂时总结这十种统计图表的python绘制方法,详细数据代码会附在该blog的CSDN下载中,可能需要1个积分。