Python数据分析【1】:matplotlib库详细教程

一、基本介绍

1. 数据分析

为什么要学习数据分析?
① 从一堆数据里面找到数据规律
② 岗位需求
③ 是Python数据科学的基础
④ 是机器学习课程的基础

数据分析:采用适当的方法对收集来的大量数据进行分析,帮助人们作出判断,以便采取适当行动。

数据分析流程
提出问题→准备数据→分析数据→获得结论→成果可视化

2. 环境安装

环境:anaconda
**‘清华大学开源软件镜像站’**下载

工具:jupyter notebook—编程/文档/笔记/展示软件
启动命令:jupyter notebook
在这里插入图片描述

import requests
response=requests.get('http://www.baidu.com')
response.status_code
response.test

二、matplotlib

1. 基本介绍

功能
① 能将数据可视化,更直观的呈现;
② 使数据更加客观,更具说服力。

定义
最流行的Python底层绘图库,主要做数据可视化图表,模仿MATLAB构建

2. 基本要点

axis轴:指的是x或y轴
坐标点:

问题:假设一天中每隔两个小时(range(2,26,2))的气温(℃)分别[15,13,14.5,17,20,25,26,27,22,18,15,14]

from matplotlib import pyplot as plt
#导入pyplot
x=range(2,26,2)
#数据在x轴的位置,是一个可迭代对象
y=[15,13,14.5,17,20,25,26,27,22,18,15,14]
#数据在y轴的位置,是一个可迭代对象
plt.plot(x,y)
#传入x和y,通过plot绘制出折线图
plt.show()
#在执行程序的时候展示图形

在这里插入图片描述
我可以做得更好
① 设置图片大小(高清无码大图)
保存到本地
描述信息,比如x轴和y轴表示什么,这个图表示什么
④ 调整x或者y的刻度的间距
线条的样式(比如颜色,透明度等)
标记出特殊的点(比如告诉别人最高点和最低点在哪里)
⑦ 给图片添加一个水印(防伪,防盗)

from matplotlib import pyplot as plt

fig=plt.figure(figsize=(20,8),dpi=80)
#①figsize-图片大小,dpi-图片像素

x=range(2,26,2)
y=[15,13,14.5,17,20,25,26,27,22,18,15,14]

plt.plot(x,y)
plt.xticks(range(2,25))
#④绘制x轴的刻度,plt.xticks(步长)
#步长k=[i/2 for i in range(4,49)]-稀疏变密集
#步长k=[m:n:2]-密集变稀疏
plt.yticks(range(min(y),max(y)+1))

plt.savefig('./ti.png')
#②保存到当前路径下,也可以保存为svg矢量图格式,放大不会有锯齿

plt.show()

问题:如果列表a表示10点到12点的每一分钟的气温,如何绘制折线图观察每分钟气温的变化情况?

from matplotlib import pyplot as plt
import random
x=range(0,120)
y=[random.randint(20,35) for i in range(120)]
fig=plt.figure(figsize=(20,8),dpi=80)
plt.plot(x,y)
plt.show()

在这里插入图片描述
设置中文显示
为什么无法显示中文?
答:matplotlib默认不支持中文字符,因为默认的英文字体无法显示汉字

那如何修改matplotlib的默认字体?
通过matplotlib下的font_manager可以解决

from matplotlib import font_manager
my_font=font_manager.FontProperties(fname='/System/Library/Fonts/PingFang.ttc')
plt.xticks(x[::5],_x_ticks[::5],rotation=90,fontproperties=my_font)

③描述信息

#④描述信息
plt.xlabel('时间',fontproperties=my_font)
plt.ylabel('温度 单位(℃)',fontproperties=my_font)
plt.title('10点到12点每分钟的气温变化情况',fontproperties=my_font)

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

from matplotlib import pyplot as plt
from matplotlib import font_manager
my_font=font_manager.FontProperties(fname=fname='/Ssystem/Library/Fonts/Pingfang.ttc')
plt.rcParams['font.sans-serif']=['SimHei']
y=[1,0,1,1,2,4,3,2,3,4
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值