Python数据分析之Matplotlib-1
文章目录
1 Matplotlib基础
- matplotlib是一个Python的 2D 图形包,pyplot封装了很多画图的函数。
- matplotlib.pyplot包含一系列类似MATLAB中绘图函数的相关函数。每个matplotlib.pyplot中的函数对当前的图像进行一些修改。
- matplotlib.pyplot会自动记住当前的图像和绘图区域,因此这些函数会直接作用在当前的图像上。
- 在实际的使用过程中,常常以plt作为matplotlib.pyplot的省略。
- 导入相关的包:
import matplotlib.pyplot as plt
import numpy as np
plt.show()函数
-
默认情况下,matplotlib.pyplot不会直接显示图像,只有调用plt.show()函数时,图像才会显示出来。
-
plt.show()默认是在新窗口打开一幅图像,并且提供了对图像进行操作的按钮。
-
不过在ipython命令中,我们可以将它插入notebook中,并且不需要调用plt.show()也可以显示,如下命令:
%matplotlib notebook
%matplotlib inline
- 不过在实际写程序中,我们还是习惯调用plt.show()函数将图像显示出来。
plt.plot()函数
基本的用法:
- 指定x和y:plt.plot(x,y)
- 默认参数,x为0~N-1:plt.plot(y)
- 例子如下:
字符参数
- 与MATLAB中类似,我们还可以用字符来指定绘图的格式:
- 表示颜色的字符参数有:
- 表示类型的字符参数有:
- 例如画出有红色圆点的图:
- 表示颜色的字符参数有:
显示范围
- 与MATLAB类似,这里可以使用axis函数指定坐标轴显示的范围:
plt.axis([xmin, xmax, ymin, ymax])
传入Numpy数组
- 之前我们传给plot的参数都是列表。事实上,向plot中传入numpy数组是更常用的做法。如果传入的是列表,matplotlib会在内部将它转化成数组再进行处理。
传入多组数据
- 事实上,在上面的例子中,我们不仅仅向plot函数传入了数组,还传入了多组(x,y,format_str)参数,它们在同一张图上显示。
线条属性
- 我们不仅可以用字符串来控制线条的属性;还可以用关键词来改变线条的性质,例如:linewidth可以改变线条的宽度,color可以改变线条的颜色。
使用plt.plot()的返回值来设置线条属性
-
plot函数返回一个Line2D对象组成的列表,每个对象代表输入的一对组合,例如:
- line1,line2 为两个 Line2D 对象:
line1, line2 = plt.plot(x1, y1, x2, y2) - 返回3个 Line2D 对象组成的列表:
lines = plt.plot(x1, y1, x2, y2, x3, y3)
- line1,line2 为两个 Line2D 对象:
-
我们可以使用这个返回值来对线条属性进行设置:
plt.setp()函数修改线条性质
- 例如设置线条属性为红色,宽度为4。
子图
-
figure()函数会产生一个指定编号为num的图:
plt.figure(num)
这里,figure(1)其实是可以省略的,因为默认情况下plt会自动产生一幅图像。 -
使用subplot可以在一幅图中生成多个子图,其参数为:
plt.subplot(numrows, numcols, fignum)
-
当numrows * numncols < 10时,中间的逗号可以省略,因此plt.subplot(211)就相当于plt.subplot(2,1,1)。
-
实例如下:
2 电影数据绘图
(1) 绘制每个国家或地区的电影数量的柱状图
- 柱状图(bar chart),是一种以长方形的长度为变量的表达图形的统计报告图,由一系列高度不等的纵向条纹表示数据分布的情况,用来比较两个或以上的价值(不同时间或者不同条件),只有一个变量,通常利用较小的数据集分析。柱状图亦可横向排列,或用多维方式表达。
- 数据:
(2) 绘制每年上映的电影数量的曲线图
- 曲线图又称折线图,是利用曲线的升,降变化来表示被研究现象发展趋势的一种图形。它在分析研究社会经济现象的发展变化、依存关系等方面具有重要作用。
- 绘制曲线图时,如果是某一现象的时间指标,应将时间绘在坐标的横轴上,指标绘在坐标的纵轴上。如果是两个现象依存关系的显示,可以将表示原因的指标绘在横轴上,表示结果的指标绘在纵轴上,同时还应注意整个图形的长宽比例。
- 数据:
- 实例:
(3) 根据电影的长度绘制饼图
- 饼图英文学名为Sector Graph,又名Pie Graph。常用于统计学模块。2D饼图为圆形,手画时,常用圆规作图。
- 仅排列在工作表的一列或一行中的数据可以绘制到饼图中。饼图显示一个数据系列中各项的大小与各项总和的比例。饼图中的数据点,显示为整个饼图的百分比。
- 数据:
- 实例:
(4) 根据电影的评分绘制频率直方图
-
直方图(Histogram)又称质量分布图。是一种统计报告图。由一系列高度不等的纵向条纹或线段表示数据分布的情况。一般用横轴表示数据类型,纵轴表示分布情况。
-
直方图是数值数据分布的精确图形表示。这是一个连续变量(定量变量)的概率分布的估计,并且被卡尔·皮尔逊(Karl Pearson)首先引入。它是一种条形图。为了构建直方图,第一步是将值的范围分段,即将整个值的范围分成一系列间隔,然后计算每个间隔中有多少值。这些值通常被指定为连续的,不重叠的变量间隔。间隔必须相邻,并且通常是(但不是必须的)相等的大小。
-
直方图也可以被归一化以显示“相对频率”。然后,它显示了属于几个类别中每个案例的比例,其高度等于1。
-
参数:
-
实例:
以上就是本文的全部内容,感谢各位的阅读与支持!