Python数据分析之Matplotlib-1

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)
  • 我们可以使用这个返回值来对线条属性进行设置:
    在这里插入图片描述

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。

  • 参数:
    在这里插入图片描述

  • 实例:
    在这里插入图片描述


以上就是本文的全部内容,感谢各位的阅读与支持!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值