matplotlib 基础

一、什么是matplotlib

1.能将数据进行可视化,更直观的呈现

2.使数据更加客观、更具说服力

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

二、简单的matplotlib的运用

from matplotlib import pyplot as plt # 导入pyplot
x = range(2,26,2)
#数据在x轴的位置,是一个可迭代对象
y = [15 , 13 , 14.5, 17, 20 , 25 , 2 ,2 ,24, 22 , 18 , 15]
#数据在y轴的位置,是一个可迭代对象
#x轴和y轴的数据一起组成了所有要绘制出的坐标>分别是(2,15),(4,13),(6,14.5),(8,17).....
plt.plot(x,y) #传入x和y,通过plot绘制出折线图
# 在执行程序的时候展示图形
plt.show()

  三、对图像的处理

1.设置图片大小

from matplotlib import pyplot as plt

fig = plt.figure(figsize=(20,8),dpi=80)
# ->figure图形图标的意思,在这里指的就是我们画的图>通过实例化一个fgure并且传递参数能够在后台自动使用该fgure实例>在图像模糊的时候可以传入dpi参数,让图片更加清晰

x = range(2,26,2)
y =[15,13,14.5, 17, 20, 25 , 26 ,26 ,24, 22, 18 , 15]
plt.plot(x,y)

#>保存图片
plt.savefig("./sig_size.png")
#>可以保存为svg这种矢量图格式,放大不会有锯齿
plt.show()

通过fig = plt.figure(figsize = (15,8),dpi = 80) 可以将图形改变大小

plt.savefig("./sig_size.png") 通过这句代码可以保存为svg这种矢量图格式,放大不会有锯齿

2.调整x,y 轴上的刻度

plt.xticks(x)  #设置x的刻度
#plt.xticks(x[::2])->当刻度太密集时候使用列表的步长(间隔取值)来解决,matplotlib会自动帮我们对应

rotation= 90 

#为旋转参数90度

_x_ticks = ["10点{}分".format(i) for i in x if i < 60]
_x_ticks += ["11点{}分".format(i-60) for i in x if i > 60]
  //设置X轴上的字符串刻度

plt.xticks(x[::5] , _x_ticks[::5],rotation=90)
    //让列表X中的数据和_x_ticks上的数据都传入,最终会在x轴上一一对应显示出来
    //两组数据的长度必须一样,否则不能完全覆盖整个轴
    //使用列表的切片,每隔五个选一个数据进行展示
    //为了让字符串不会覆盖,使用rotation选项,让字符串旋转90度展示

3.设置中文显示

为什么无法显示中文

matplotlib默认不支持中文字符,因为默认的英文字体无法显示汉字

可以直接在代码中加入这两行代码

plt.rcParams['font.family'] = ['sans-serif']
plt.rcParams['font.sans-serif'] = ['SimHei']

4.给图像添加描述信息

plt.xlable("名") #设置x轴的label

plt.ylable("名") #设置y轴的label

plt.title("名") #设置title

5.自定义绘图风格

在plt.plot(x,y) 中可以加入其他指令

例如 

color = 'r' #线条颜色

linestyle = '--' #线条风格

linewidth =  5,#线条粗细

alpha = 0.5 #透明度

6.每条线添加图例

plt.plot(label = "名")

# 通过label指定显示的图例内容

plt.legend(loc = "best")

# 通过loc指定图例的位置,默认为右上角

7.如何在一个图上绘制多个图形

只需进行多次plt.plot

四、绘制多种常见统计图

1.各种常见统计图的特点

折线图

以折线的上升或下降来表示统计数量的增减变化的统计图

特点:能够显示数据的变化趋势,反映事物的变化情况。(变化)

直方图

由一系列高度不等的纵向条纹或线段表示数据分布的情况。 一般用横轴表示数据范围,纵轴表示分布情况。

特点:绘制连续性的数据,展示一组或者多组数据的分布状况(统计)

条形图

排列在工作表的列或行中的数据可以绘制到条形图中。

特点:绘制连离散的数据,能够一眼看出各个数据的大小,比较数据之间的差别。(统计)

散点图

用两组数据构成多个坐标点,考察坐标点的分布,判断两变量 之间是否存在某种关联或总结坐标点的分布模式。

特点:判断变量之间是否存在数量关联趋势,展示离群点(分布规律)

2.绘制折线图

plt.plot(x,y)

3.绘制散点图

plt.scatter(x,y)

4.绘制条形图

plt.bar(x,y, width = 0.2, color - "orange")

#bar绘制条形图,只能接受含数字的可迭代对象

#width表示长条的宽度,默认0.8

5.绘制直方图

plt.hist(数据,组数,normed = 1)

#传入需要统计的数据,以及组数即可

normed : bool 是否绘制频率分布直方图,默认为频数直方图

plt.grid(True,linestyle = "-" ,alpha = 0.5)

#显示网格,alpha为透明度

组数:将数据分组,当数据在100个以内时,按数据多少常分为5-12组

组距:指每个小组的两个端点的距离

组数 = 极差 / 组距

一般来说,能够使用plt.hist方法的是那些没有统计过的数据

五、matplotlib使用的流程总结

1.明确问题

2.选择图形的呈现方式

3.准备数据

4.绘图和图形完整

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值