使用matplotlib库中面向对象API来绘制设置坐标轴的标签、刻度范围和刻度标签,添加标题和图例,显示网格

        Matplotlib是一个功能强大的Python绘图库,广泛应用于数据可视化和科学研究领域。它提供了两种绘图方式:基于状态机的pyplot API和面向对象的API。在本文中,我们将重点介绍使用Matplotlib的面向对象API设置坐标轴的标签、刻度范围和刻度标签,以及添加标题和图例,显示网格的方法。

一、设置坐标轴的标签、刻度范围和刻度标签

1.1首先使用pyplot模块中的xlabel()设置x轴的标签,ylabel()设置y轴的标签

#设置x轴和y轴的标签
plt.xlabel("x轴")
plt.ylabel("y轴")

然后分别设置语法。

xlabel()语法:xlabel(xlabel, fontdict=None, labelpad=None,**kwargs)

ylabel()语法:ylabel(ylabel, fontdict=None, labelpad=None,**kwargs)

xlabel,ylabel:表示x轴和y轴标签的文本

fontdict:表示控制标签文本样式的字典,默认值是None

labelpad:表示标签与x轴轴脊间的距离,默认值是None
 

假设现在有一个包含正弦曲线和余弦曲线的图表,该图表中设置x轴和y轴的标签

示例代码:

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
fig = plt.figure()
ax = fig.add_subplot(111)
x = np.linspace(-np.pi,np.pi,256,endpoint=True)
y1,y2 = np.sin(x),np.cos(x)
plt.plot(x,y1,x,y2)
#设置x轴和y轴的标签
plt.xlabel("x轴")
plt.ylabel("y轴")
plt.show()

运行结果:

1.2 设置刻度范围和刻度标签

1.2.1 首先使用 pyplot模块中的xlim()和ylim()函数分别设置x轴和y轴的刻度范围

#设置x轴的刻度范围
plt.xlim(x.min()*1.5,x.max()*1.5)

分别输入后续语法

xlim()语法:xlim(left=None, right=None,  emit=True, auto=False, *,xmin=None, xmax=None)

ylim()语法:ylim(left=None, right=None,  emit=True, auto=False, *,xmin=None, xmax=None)

left:表示x轴刻度取值区间的左位数

right:表示x轴刻度取值区间的右位数

emit:表示是否通知限制变化的观察者,默认为True

auto:表示是否允许自动缩放x轴,默认为True

xmin:表示x轴刻度的最小值

xmax:表示x轴刻度的最大值

示例代码:设置x轴的刻度范围

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
fig = plt.figure()
ax = fig.add_subplot(111)
x = np.linspace(-np.pi,np.pi,256,endpoint=True)
y1,y2 = np.sin(x),np.cos(x)
plt.plot(x,y1,x,y2)
#设置x轴的刻度范围
plt.xlim(x.min()*1.5,x.max()*1.5)
#设置x轴和y轴的标签
plt.xlabel("x轴")
plt.ylabel("y轴")
plt.show()

运行结果:

1.2.2 首先使用xticks()和yticks()函数分别设置x轴和y轴的刻度标签

#设置x轴的刻度标签
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$\pi/2$',r'$\pi$'])

分别输入语法

xticks()语法:xticks(ticks, labels=None, *, minor=False, **kwargs)

yticks()语法:yticks(ticks, labels=None, *, minor=False, **kwargs)
 

示例代码:设置x轴的刻度标签

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
fig = plt.figure()
ax = fig.add_subplot(111)
x = np.linspace(-np.pi,np.pi,256,endpoint=True)
y1,y2 = np.sin(x),np.cos(x)
plt.plot(x,y1,x,y2)
#设置x轴的刻度范围
plt.xlim(x.min()*1.5,x.max()*1.5)
#设置x轴的刻度标签
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$\pi/2$',r'$\pi$'])
#设置x轴和y轴的标签
plt.xlabel("x轴")
plt.ylabel("y轴")
plt.show()

运行结果:

二、添加标题和图例

2.1首先使用 pyplot模块中的title()函数添加标题

#添加标题
plt.title("正弦曲线和余弦曲线")

分别输入语法

title()语法:title(label, fontdict=None, loc=’‘center, pad=None, *,**kwargs)

label:表示标题的文本

fontdict:表示标题样式的字典

loc:表示标题的对齐样式,包括’left‘,’right‘,’center‘,默认值是‘center

pad:表示标题距离图表顶部的距离,默认为None

 示例代码:

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
fig = plt.figure()
ax = fig.add_subplot(111)
x = np.linspace(-np.pi,np.pi,256,endpoint=True)
y1,y2 = np.sin(x),np.cos(x)
plt.plot(x,y1,x,y2)
#设置x轴的刻度范围
plt.xlim(x.min()*1.5,x.max()*1.5)
#设置x轴的刻度标签
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$\pi/2$',r'$\pi$'])
#添加标题
plt.title("正弦曲线和余弦曲线")
#设置x轴和y轴的标签
plt.xlabel("x轴")
plt.ylabel("y轴")
plt.show()

运行结果:

 

2.2 添加图例

首先使用pyplot 模块中legend()函数添加图例

#添加图例
lines = plt.plot(x,y1,x,y2)
plt.legend(lines,['正弦','余弦'],shadow=True,fancybox=True)

legend()语法:legend(handles,labels,loc,bbox_to_anchor,ncol,title,shadow​​​​​​​,fancybox,*args, **kwargs)

handles:表示由图形标识构成的列表

labels:表示由图列项构成的列表

loc:用于控制图例在图表中的位置

bbox_to_anchor:用于控制图例的布局

ncol:表示图例的列数,默认值为1

title:表示图例的标题,默认值为None

shadow:表示是否在图例后面显示阴影,默认值为None

fancybox:表示是否为图例设置圆角边框,默认值为None

 示例代码:

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
fig = plt.figure()
ax = fig.add_subplot(111)
x = np.linspace(-np.pi,np.pi,256,endpoint=True)
y1,y2 = np.sin(x),np.cos(x)
plt.plot(x,y1,x,y2)
#设置x轴的刻度范围
plt.xlim(x.min()*1.5,x.max()*1.5)
#设置x轴的刻度标签
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$\pi/2$',r'$\pi$'])
#添加标题
plt.title("正弦曲线和余弦曲线")
#添加图例
lines = plt.plot(x,y1,x,y2)
plt.legend(lines,['正弦','余弦'],shadow=True,fancybox=True)
#设置x轴和y轴的标签
plt.xlabel("x轴")
plt.ylabel("y轴")
plt.show()

运行结果:

三、显示网格

3.1 首先使用pyplot 模块中的grid()函数显示网格

#显示网格
plt.grid(b=True,axis='y',linewidth=0.3)

grid()语法:grid(b=None, which='major', axis='both', **kwargs)

b:表示是否显示网格,若提供其他关键字参数,则b参数设为True

which:表示显示网格的类型,支持'major'、'minor'、'both'这三种类型,默认为major

axis;表示显示哪个方向的网格,该参数支持'both'、'x'和'y'这三个选项,默认为'both'

linewidth或lw:表示网格线的宽度

 示例代码:

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
fig = plt.figure()
ax = fig.add_subplot(111)
x = np.linspace(-np.pi,np.pi,256,endpoint=True)
y1,y2 = np.sin(x),np.cos(x)
plt.plot(x,y1,x,y2)
#设置x轴的刻度范围
plt.xlim(x.min()*1.5,x.max()*1.5)
#设置x轴的刻度标签
plt.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],[r'$-\pi$',r'$-\pi/2$',r'$0$',r'$\pi/2$',r'$\pi$'])
#添加标题
plt.title("正弦曲线和余弦曲线")
#添加图例
lines = plt.plot(x,y1,x,y2)
plt.legend(lines,['正弦','余弦'],shadow=True,fancybox=True)
#显示网格
plt.grid(b=True,axis='y',linewidth=0.3)
#设置x轴和y轴的标签
plt.xlabel("x轴")
plt.ylabel("y轴")
plt.show()

运行结果:

        本文介绍了使用Matplotlib库的面向对象API设置坐标轴的标签、刻度范围和刻度标签,添加标题和图例,显示网格的方法。通过这些功能,我们可以更好地展示数据,使图形更具可读性和美观性。希望本文能够帮助读者更好地使用Matplotlib库进行数据可视化。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值