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()

运行结果:
Python中 Matplotlib库的使用(1)_第1张图片
绘制子图的函数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()

运行结果:
Python中 Matplotlib库的使用(1)_第2张图片
在有时候我们想给图添加中文元素,但是会出现乱码或报错,需要引入运行参数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()

运行结果:
Python中 Matplotlib库的使用(1)_第3张图片
可以看子标题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()

运行结果:Python中 Matplotlib库的使用(1)_第4张图片

你可能感兴趣的:(python,开发语言)