个人matplotlib基础学习小结

Matplotlib基础学习小结

简介

matplotlib是python的一个2D绘图库(3D绘图库是哪个?),是一套面向对象的绘图库,使用它绘制的图表中每一个绘图元素,如线条、文字、刻度等都有一个对象与子对应。

matplotlib.pyplot库中的函数

pyplot子库提供了和MATLAB类似的绘图API。可以帮助用户快速绘制2D图表。

一、绘制过程和主要函数

import matplotlib.pyplot as plt
import numpy as np

plt.figure(figsize=(6,4)) #创建绘图对象
x = np.arange(0,np.pi*4,0.01) 
y = np.cos(x)
plt.plot(x,y,"g-",linewidth =2.0)
plt.xlabel("x")
plt.ylabel("cos(x)")
plt.ylim(-1,1)
plt.title("y=cos(x)")
plt.grid(True)
plt.show()
#plt.savefig("test.png",dpi =120)

(1). 创建绘图对象
plt.figure()用于创建一个绘图对象,也可以不创建绘图对象,而是直接调用plot()函数绘图,matplotlib会自动创建一个绘图对象。
如果需要同时绘制多个图表,可以给figure()函数传递一个整数参数以指定图标的序号。
figsize()指定绘图对象的宽度和高度,单位为英寸;dpi参数用来指定分辨率,即每英寸多少个像素,默认是100.因此本例中图表窗口的宽度为6x100 = 600像素,高度为4x100 = 400像素。

(2). 使用plot()函数绘制图表
创建figure对象后,调用plot()函数在对象中绘图,实际上,plot()是在子图axes对象上绘图。
plt.plot(x,y,“g-”,linewidth=2.0)参数功能如下:

  • 参数x、y用于表示x轴和y轴的数据
  • “g-“用于指定曲线的颜色和线形,这个参数称为格式化参数,颜色参数color简写为"c”,线形参数linestyles简写为"ls”。所以上述代码也可以改写为:

    plt.plot(x,y,c=“g”,ls=’-’,linewidth=2.0)

  • linewidth用于指定线的宽度,可用浮点数描述

(3). 设置绘图对象的各个属性:

  • xlabel、ylabel:分别设置x、y轴的标题文字
  • title:设置图表的标题
  • xlim、ylim:分别设置x、y轴的显示范围
  • legend():显示图例,即图中表示每条曲线的标签和样式的矩形区域

(4). 图形的保存和输出
可以调用plt.savefig()函数将当前figure对象保存为图像文件,图像格式由图像文件的扩展名决定。
可通过show()函数显示绘制结果。用户也可以通过图形界面的工具栏对图表进行设置和保存。

二、 在绘图对象中绘制多个子图
用户可使用subplot()函数绘制包含多个子图的图表。其调用格式如下:

subplot(numrows,numcols,plotNum)

subplot()将整个绘图区等分成numrows行和numcols列个子区域,然后按照从左到右、从上到下的顺序对每个子区域进行编号,左上角的子区域编号为1。poltNum用于指定使用第几个子区域。
subplot()函数会在参数plotNum指定的子区域创建一个轴对象。可通过axis参数给每一个轴设置不同的背景颜色。也可通过facecolor参数给每一个子图设置不同的背景色。
subplot()函数返回一个axis对象,用户可以将它用变量保存起来,然后用sca()函数交替让它们称为当前的axis对象,并调用plot()函数在其中绘图。例如:

import matplotlib.pyplot as plt
import numpy as np
plt.figure(1)   #创建图表1对象
ax1 = plt.subplot(211) #创建图表1中的子图1
ax2 = plt.subplot(212) #创建图表1中的子图2
plt.figure(2)  #创建图表2对象
x = np.linspace(0,3,50)
for i in x:
    plt.figure(2)  # 选择图表2
    plt.plot(x,np.exp(i*x/3))
    plt.sca(ax1)   #切换图表,选择图表1的子图1为当前绘画对象
    plt.plot(x,np.sin(i*x))
    plt.sca(ax2)  #切换图表,选择图表1中的子图2为当前对象
    plt.plot(x,np.cos(i*x))

三、在图表中显示中文
网上资源有总结四种设置方法。选其一,全局设置中文

matplotlib.rcParams['font.family']='SimHei'  #指定默认字体 黑体字
matplotlib.rcParams['font.sans-serif']='SimHei' 
plt.rcParams['axes.unicode_minus']=False  #用来正常显示负值,否则会出"RuntimeWarning: Glyph 8722 missing from current font."提示

常用的中文字体与相应英文表示:宋体-Simsun;黑体-SimHei;楷体-Kaiti;微软雅黑-Microsoft Yahei;隶书-LiSu;仿宋-Fangsong;幼圆-YouYuan;华文宋体-STSong;华文黑体-STHeiti。

绘制直方图、条形图、饼状图

一、 直方图
直方图(histogram)是一种统计报告图,有一系列高度不等的纵向条纹或者线段表示数据分布的情况。一般横轴表示数据类型,纵轴表示分布情况。

plt.hist(x,bins=30,color=‘green’,density=True)

  • x:指定每个bin(箱子)分布在x轴的位置
  • bins:用于指定bin个数,即条状图的个数
  • density:值为True时,本区间的点在所有点中所占的频率
  • color:条状图的颜色
    二、 条状图
    条状图(bar)是用一个单位长度表示一定的数量,根据数量的多少绘制长短不同的线条,然后把这些线条按一定的顺序排列起来。从条形图中很容易看出各种数量的多少。
  • pyplot.bar():绘制竖直的条形图
  • pyplot.barh():绘制水平的条形图
    调用格式:

plt.bar(x,y,color=‘red’,width=0.5,label="",bottom=)

三、饼状图
饼状图(Pie Graph)显示一个数据系列中各个数值项的大小与总和的比例,饼状图中的数据显示为整个饼状图的百分比。使用plt.pie()函数绘制饼状图

plt.pie(x=data,labels=labels,explode=explodes,autopct="%.1f%%",shadow =True)

  • x:数据,可以来源于列表或元组
  • labels:设置饼状图数据项的标签
  • explode:设置某块或者数据突出显示的情况
  • autopct:显示数据块所占的百分比
  • shadow:设置图形是阴影效果
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值