数据分析---1、matplotlib的使用

本文介绍了Python数据可视化库matplotlib的使用,包括折线图、直方图、条形图和散点图的实例,帮助理解各类图表在数据表示中的应用和特点。
摘要由CSDN通过智能技术生成

首先,了解一下什么是matplotlib?

matplotlib: 最流行的Python底层绘图库,主要做数据可视化图表,名字取材于MATLAB,模仿MATLAB构建

目录

折线图

例1:气温岁时间变化折线图

 例2:多个折线图---走势问题

 直方图

例1:250部电影时长的频率分布直方图

例2:抽样统计后的数据直方图可由条形图体现

条形图 

例1:内地电影票房前20

例2:多次条形图(电影三天内的票房统计)

散点图

 例1:气温随时间变化的规律


 

  1. 折线图:
    1. 以折线的上升或下降来表示统计数量的增减变化的统计图
    2. 特点:能够显示数据的变化趋势,反映事物的变化情况。(变化)
  2. 直方图:
    1. 由一系列高度不等的纵向条纹或线段表示数据分布的情况。 
    2. 一般用横轴表示数据范围,纵轴表示分布情况。
    3. 特点:绘制连续性的数据,展示一组或者多组数据的分布状况(统计)
  3. 条形图:
    1. 排列在工作表的列或行中的数据可以绘制到条形图中。
    2. 特点:绘制连离散的数据,能够一眼看出各个数据的大小,比较数据之间的差别。(统计)
  4. 散点图:
    1. 用两组数据构成多个坐标点,考察坐标点的分布,判断两变量之间是否存在某种关联或总结坐标点的分布模式。
    2. 特点:判断变量之间是否存在数量关联趋势,展示离群点(分布规律)

折线图

  1. 呈现公司产品(不同区域)每天活跃用户数
  2. 呈现app每天下载数量
  3. 呈现产品新功能上线后,用户点击次数随时间的变化
  4. 呈现员工每天上下班时间

例1:气温岁时间变化折线图

如果列表a表示10点到12点的每一分钟的气温,如何绘制折线图观察每分钟气温的变化情况?
    a= [random.randint(20,35) for i in range(120)]
from matplotlib import pyplot as plt
import random

# matplotlib显示中文配置方法:https://www.cnblogs.com/hhh5460/p/4323985.html

x =range(0,120)
y =[random.randint(20,35) for i in range(120)]
# 设置图形大小,并设置像素
plt.figure(figsize=(100,8), dpi=80)
# 绘制折线图
plt.plot(x,y)

# 调整x轴的刻度
_x = list(x) # 此处强制类型转换,因为只有列表才能取步长。
_xticks_lables = ["10点{}分".format(i) for i in range(60)]
_xticks_lables += ["11点{}分".format(i) for i in range(60)]

# 取步长x轴刻度数量要对应,数据和字符串进行对应,数据长度要一样120/3 == (60+60)/2
# 但是坐标显示比较密集,可以将x轴标签顺时针旋转45度
# 但是matplotlib不支持显示中文字体,使用fontproperties="SimHei"方便灵活,Ctrl+B查看源码进行设置
plt.xticks(_x[::3], _xticks_lables[::3], rotation=45, fontproperties="SimHei")

# 描述坐标轴信息,设置字体信息
plt.xlabel("时间",fontproperties="SimHei")
plt.ylabel("温度",fontproperties="SimHei")
plt.title("10点--12点每分钟气温变换的情况",fontproperties="SimHei")
plt.show()
# 保存图片至本地
plt.savefig("./pict.png")

 例2:多个折线图---走势问题

假设大家在30岁的时候,根据自己的实际情况,统计出来了从11岁到30岁每年交的女(男)朋友的数量如列表a,请绘制出该数据的折线图,以便分析自己每年交女(男)朋友的数量走势 a = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1] 要求:     y轴表示个数     x轴表示岁数,比如11岁,12岁等

from matplotlib import pyplot as plt

my_font = {
    'family': 'SimHei',
    'weight':'bold',
    'size':'16'
        }

x = range(11, 31)
y_1 = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
y_2 = [1,0,3,1,2,2,3,3,2,1,2,1,1,1,1,1,1,1,1,1]
plt.xlabel("年龄",fontproperties='SimHei')
plt.ylabel("女朋友数量",rotation = 90,fontproperties='SimHei')
plt.title("11-30岁每年交往的女朋友数量",fontproperties='SimHei')

_x 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值