Python中 Matplotlib库的使用(1)

Matplotlib是一个综合库,用于在Python中创建静态,动画和交互式可视化。matplotlib是matrix + plot + library的缩写,通过Matplotlib,仅需要几行代码,便可以生成直方图,条形图,散点图等。
绘图的两种方法:pyplot面向对象
pyplot:matplotlib.pyplot是使matplotlib像MATLAB一样工作的命令样式函数的集合。每个pyplot函数对一个图进行一些更改,例如,创建图,设置横纵坐标、标题等等。
面向对象:面向对象是指创建一个图对象Figure,在创建多个Axes进行绘图,一个Figure可以包含多个Axes,可以理解以为一次plot就用来一次Axes。
两种方法都能达到一样的效果,plot操作更加简便,这里仅是对pyplot的简单介绍,下面是对Matplotlib.pyplot库函数的一些讲解。
首先是Matplotlib库的安装,这里直接使用pip安装,输入指令:
pip install matplotlib
首先事figure()函数,这个函数的作用是创建一个画布。

figure(num=None,  # autoincrement if None, else integer from 1-N
           figsize=None,  # defaults to rc figure.figsize
           dpi=None,  # defaults to rc figure.dpi
           facecolor=None,  # defaults to rc figure.facecolor
           edgecolor=None,  # defaults to rc figure.edgecolor
           frameon=True,
           FigureClass=Figure,
           clear=False,
           **kwargs
           )          

这里挑常用的参数进行讲解,参数解释如下:

num:图形编号或名称,取值为数字/字符串
figsize:绘图对象的宽和高
dpi:绘图对象的分辨率,缺省值为80
facecolor:背景颜色
edgecolor:边框颜色
frameon:表示是否显示边框

代码:

import matplotlib.pyplot as plt

plt.figure(num="matplotlib",figsize=(4,4),facecolor='r',edgecolor='b',frameon=True)
plt.plot()
plt.show()

运行结果:
在这里插入图片描述
绘制子图的函数subplot():

subplot(row, column,order): 

参数解释:
row:行
column:列
order:子图的序列
代码:

import matplotlib.pyplot as plt

plt.figure("matplotlib",facecolor="r")
plt.subplot(1,2,1)
plt.subplot(1,2,2)

plt.show()

运行结果:
在这里插入图片描述
在有时候我们想给图添加中文元素,但是会出现乱码或报错,需要引入运行参数rcParams,其配置如下:

plt.rcParams['font.family']="SimHei"

几种常见字体,其他可自行查询。

中文字体英文描述中文字体英文描述
宋体SimSun黑体SimHei
微软雅黑Microsoft YaHe微软正黑体Microsoft JhengH
楷体KaiTi仿宋FangSong
隶书LiSu幼圆YouYuan

为图添加标题函数:

suptitle(标题):
title(标题)

其中suptitle对应于全局标题,title对应于子图的标题。
代码:

import matplotlib.pyplot as plt
plt.rcParams['font.family']="SimHei"


plt.figure()
plt.suptitle("全局标题")

plt.subplot(221)
plt.title("子标题1")
plt.subplot(222)
plt.title("子标题2")
plt.subplot(223)
plt.title("子标题3")
plt.subplot(224)
plt.title("子标题4")
# plt.tight_layout()
plt.show()

运行结果:
在这里插入图片描述
可以看子标题3、4和子图1、2之间的间距不合适,有部分遮挡,这时可以使用tight_layout()函数,自动调整子图,消除遮挡,将上面隐去的代码恢复即可。
在使用到负号时也可能会因符号问题导致图中出现空白格,可以在代码段总放着一条语句:

plt.rcParams["axes.unicode_minus"]=False # 解决负号问题

添加文本函数text():

text( x, y, s, fontsize,color )

参数解释:
x:文字的横坐标(根据坐标轴范围变动)
y:文字的列坐标
s:文字(string格式)
fontsize:字体大小
color:字体颜色
其中坐标是根据坐标轴范围变动
代码:

import matplotlib.pyplot as plt

plt.figure("matplotlib",facecolor="w")
plt.plot()
plt.text(0.03,0.03,s="matplotlib",color="r")
plt.show()

运行结果:在这里插入图片描述

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值