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:
在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM