matplotlib的使用——坐标轴设置部分

坐标轴设置常用函数及其作用

1、plt.xlim()和plt.ylim()

plt.xlim(
	*args, 
	**kwargs)
# 使用方法
# xlim((left, right))   # set the xlim to left, right  
# xlim(left, right)     # set the xlim to left, right  

用于设置x坐标轴位于left到right之间

plt.ylim(
	*args, 
	**kwargs)
# ylim((bottom, top))
# ylim(bottom, top)

用于设置y坐标轴位于bottom到top之间

2、plt.xlabel()和plt.ylabel()

这两个函数用于设置x轴和y轴的标签。
应用举例:

plt.xlabel('I am x label')
plt.ylabel('I am y label')

其x轴上的作用效果如图所示:

在这里插入图片描述

3、plt.xticks()和plt.xticks()

plt.xticks(
	ticks=None, 
	labels=None, 
	**kwargs)
plt.yticks(
	ticks=None, 
	labels=None, 
	**kwargs)

在传输量仅只有ticks时:

newTicks = np.linspace(-1,1,10)
plt.xticks(newTicks)

其可以将x轴坐标设置为-1到1,间隔数为10。
在传输量有ticks和labels时:

plt.yticks([-2,-1.0,0,1.5,3], 
           ['really bad','little bad','normal','little good','pretty good'])

其可以将y轴坐标按照一定格式设置字符,-2对应really bad,-1对应little bad,以此类推。
二者结合的作用效果为:
在这里插入图片描述

4、axis操作指令

axis操作指令可以使得坐标轴的位置、样式发生改变。

# 可以用于获取当前的axis。
ax = plt.gca()

# 用于设置坐标轴边的颜色与情况
# 此时设置图像的上边、右边axis为无色
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')

# 设置x轴坐标在下部
ax.xaxis.set_ticks_position('bottom')
# 设置x轴位于图像y=0处
ax.spines['bottom'].set_position(('data', 0))

# 设置x轴坐标在左部
ax.yaxis.set_ticks_position('left')
# 设置y轴位于图像x=0处
ax.spines['left'].set_position(('data',0))

示例代码

本文将两个figure进行对比,两个figure均有各自的特点设置。

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-1,1,50)
y1 = 2*x + 1
y2 = x**2

plt.figure(num=1,figsize=(8,5))
# 用于设置x轴的范围
plt.xlim((-1,1))
# 用于设置y轴的范围
plt.ylim((-2,5))
# 设置x轴的名称
plt.xlabel('I am x label')
# 设置y轴的名称
plt.ylabel('I am y label')
# 将新的x轴上的坐标设置为-1到1间隔数为10
newTicks = np.linspace(-1,1,10)
plt.xticks(newTicks)
# 将y轴坐标按照一定格式设置字符,-2对应really bad,-1对应little bad
plt.yticks([-2,-1.0,0,1.5,3], 
           ['really bad','little bad','normal','little good','pretty good'])
# 按照一定格式画线
plt.plot(x,y2,color = 'red',linewidth = 1.0,linestyle = '--')
plt.plot(x,y1)

# 新建一幅图像,形成与上一幅图的对比
plt.figure(num=2,figsize=(8,5))
plt.xlim((-1,1))
plt.ylim((-2,5))
plt.xlabel('I am x label')
plt.ylabel('I am y label')
newTicks = np.linspace(-1,1,10)
plt.xticks(newTicks)
# y轴字体差别,设置成斜体
plt.yticks([-2,-1.0,0,1.5,3], 
           [r'$really\ bad$',r'$little\ bad$',r'$normal$',r'$little\ good$',r'$pretty\ good$'])
plt.plot(x,y2,color = 'red',linewidth = 1.0,linestyle = '--',marker = '.')
plt.plot(x,y2,'r--.',linewidth = 1.0)
plt.plot(x,y1)
# 获得当前的axis
ax = plt.gca()
# 设置图像的上边、右边axis为无色
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')

# 设置x轴坐标在下部
ax.xaxis.set_ticks_position('bottom')
# 设置x轴位于图像y=0处
ax.spines['bottom'].set_position(('data', 0))
# 设置x轴坐标在左部
ax.yaxis.set_ticks_position('left')
# 设置y轴位于图像x=0处
ax.spines['left'].set_position(('data',0))

print(ax)
plt.show()

figure1:
在这里插入图片描述
figure2:
在这里插入图片描述

posted @ 2021-12-13 11:16  wuyuan2011woaini  阅读(1375)  评论(0编辑  收藏  举报