座標軸範圍的設定通常有兩種方法,第一種為透過axes.set_xbound和axes.set_ybound對X軸和Y軸進行分別設定,第二種為透過axes.set_xlim和axes.set_ylim方法對X軸和Y軸進行分別設定。
這兩種方法雖然都能改變座標軸刻度範圍,但是在使用的時候卻有差別。
axes.set_xbound(lower, upper)
axes.set_ybound(lower, upper)
axes.set_xbound和axes.set_ybound方法有兩個引數值,這兩個引數值不分先後,大的值代表座標軸的最大值,小的值為座標軸最小值。
方法例項:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
import matplotlib.image as img
mpl.rcParams["ytick.color"]="white"
mpl.rcParams["xtick.color"]="white"
mpl.rcParams["ytick.labelsize"]="large"
mpl.rcParams["xtick.labelsize"]="large"
mpl.rcParams["axes.edgecolor"]="white"
x = np.linspace(0.0, 5.0)
y = np.cos(2 * np.pi * x) * np.exp(-x)
fig, ax = plt.subplots(nrows=1,ncols=2)
bgimg = img.imread("picture.png")
fig.figimage(bgimg)
fig.subplots_adjust(left=0.05,right=0.95,top=0.95,bottom=0.05,wspace=0.12)
ax[0].set_facecolor("None")
ax[0].plot(x,y,"o-",color="gold")
ax[1].set_facecolor("None")
ax[1].plot(x,y,"o-",color="gold")
ax[1].set_ybound(-0.3,0.5)
plt.show()
axes.set_xlim(left, right)
axes.set_ylim(bottom, top)
axes.set_xlim和axes.set_ylim方法我們已經在座標軸方向中講過,他們的引數分別為X軸左端點值、右端點值和Y軸底部端點值、頂部端點值,所以只要給定引數值就設定好了座標軸範圍。
fig, ax = plt.subplots(nrows=2,ncols=1)
fig.subplots_adjust(left=0.05,right=0.95,top=0.95,bottom=0.05,hspace=0.12)
ax[1].set_xlim(1,4)
需要注意的是
當我們需要使用axes.set_xscale方法改變X軸比例尺時,axes.set_xbound方法和axes.set_xlim方法必須在axes.set_xscale方法之後使用才能正常顯示。
當我們需要使用axes.invert_xaxis方法對座標軸方向進行改變時,使用axes.set_xbound方法並不會對axes.invert_xaxis方法產生影響;而axes.set_xlim方法與axes.invert_xaxis方法互相影響,位置靠後的程式碼效果會覆蓋位置靠前的程式碼效果。
1、左圖axes.set_xbound方法在axes.set_xscale方法之後使用,右圖axes.set_xbound方法在axes.set_xscale方法之前使用
ax[0].set_xscale("log",basex=2)
ax[0].set_xbound(0,4)
ax[1].set_xbound(0,4)
ax[1].set_xscale("log",basex=2)
2、左圖axes.set_xlim方法在axes.set_xscale方法之後使用,右圖axes.set_xlim方法在axes.set_xscale方法之前使用
ax[0].set_xlim(0,4)
ax[1].set_xlim(0,4)
3、左圖axes.set_xbound方法在axes.invert_xaxis方法之後使用,右圖axes.set_xbound方法在axes.invert_xaxis方法之前使用
ax[0].invert_xaxis()
ax[1].invert_xaxis()
4、左圖axes.set_xlim方法在axes.invert_xaxis方法之後使用,右圖axes.set_xlim方法在axes.invert_xaxis方法之前使用
座標軸範圍的設定通常有兩種方法,第一種為透過axes.set_xbound和axes.set_ybound對X軸和Y軸進行分別設定,第二種為透過axes.set_xlim和axes.set_ylim方法對X軸和Y軸進行分別設定。
這兩種方法雖然都能改變座標軸刻度範圍,但是在使用的時候卻有差別。
1、axes.set_xbound和axes.set_ybound方法axes.set_xbound(lower, upper)
axes.set_ybound(lower, upper)
axes.set_xbound和axes.set_ybound方法有兩個引數值,這兩個引數值不分先後,大的值代表座標軸的最大值,小的值為座標軸最小值。
方法例項:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
import matplotlib.image as img
mpl.rcParams["ytick.color"]="white"
mpl.rcParams["xtick.color"]="white"
mpl.rcParams["ytick.labelsize"]="large"
mpl.rcParams["xtick.labelsize"]="large"
mpl.rcParams["axes.edgecolor"]="white"
x = np.linspace(0.0, 5.0)
y = np.cos(2 * np.pi * x) * np.exp(-x)
fig, ax = plt.subplots(nrows=1,ncols=2)
bgimg = img.imread("picture.png")
fig.figimage(bgimg)
fig.subplots_adjust(left=0.05,right=0.95,top=0.95,bottom=0.05,wspace=0.12)
ax[0].set_facecolor("None")
ax[0].plot(x,y,"o-",color="gold")
ax[1].set_facecolor("None")
ax[1].plot(x,y,"o-",color="gold")
ax[1].set_ybound(-0.3,0.5)
plt.show()
2、axes.set_xlim和axes.set_ylim方法axes.set_xlim(left, right)
axes.set_ylim(bottom, top)
axes.set_xlim和axes.set_ylim方法我們已經在座標軸方向中講過,他們的引數分別為X軸左端點值、右端點值和Y軸底部端點值、頂部端點值,所以只要給定引數值就設定好了座標軸範圍。
方法例項:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
import matplotlib.image as img
mpl.rcParams["ytick.color"]="white"
mpl.rcParams["xtick.color"]="white"
mpl.rcParams["ytick.labelsize"]="large"
mpl.rcParams["xtick.labelsize"]="large"
mpl.rcParams["axes.edgecolor"]="white"
x = np.linspace(0.0, 5.0)
y = np.cos(2 * np.pi * x) * np.exp(-x)
fig, ax = plt.subplots(nrows=2,ncols=1)
bgimg = img.imread("picture.png")
fig.figimage(bgimg)
fig.subplots_adjust(left=0.05,right=0.95,top=0.95,bottom=0.05,hspace=0.12)
ax[0].set_facecolor("None")
ax[0].plot(x,y,"o-",color="gold")
ax[1].set_facecolor("None")
ax[1].plot(x,y,"o-",color="gold")
ax[1].set_xlim(1,4)
plt.show()
需要注意的是
當我們需要使用axes.set_xscale方法改變X軸比例尺時,axes.set_xbound方法和axes.set_xlim方法必須在axes.set_xscale方法之後使用才能正常顯示。
當我們需要使用axes.invert_xaxis方法對座標軸方向進行改變時,使用axes.set_xbound方法並不會對axes.invert_xaxis方法產生影響;而axes.set_xlim方法與axes.invert_xaxis方法互相影響,位置靠後的程式碼效果會覆蓋位置靠前的程式碼效果。
對比例項:1、左圖axes.set_xbound方法在axes.set_xscale方法之後使用,右圖axes.set_xbound方法在axes.set_xscale方法之前使用
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
import matplotlib.image as img
mpl.rcParams["ytick.color"]="white"
mpl.rcParams["xtick.color"]="white"
mpl.rcParams["ytick.labelsize"]="large"
mpl.rcParams["xtick.labelsize"]="large"
mpl.rcParams["axes.edgecolor"]="white"
x = np.linspace(0.0, 5.0)
y = np.cos(2 * np.pi * x) * np.exp(-x)
fig, ax = plt.subplots(nrows=1,ncols=2)
bgimg = img.imread("picture.png")
fig.figimage(bgimg)
fig.subplots_adjust(left=0.05,right=0.95,top=0.95,bottom=0.05,wspace=0.12)
ax[0].set_facecolor("None")
ax[0].plot(x,y,"o-",color="gold")
ax[0].set_xscale("log",basex=2)
ax[0].set_xbound(0,4)
ax[1].set_facecolor("None")
ax[1].plot(x,y,"o-",color="gold")
ax[1].set_xbound(0,4)
ax[1].set_xscale("log",basex=2)
plt.show()
2、左圖axes.set_xlim方法在axes.set_xscale方法之後使用,右圖axes.set_xlim方法在axes.set_xscale方法之前使用
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
import matplotlib.image as img
mpl.rcParams["ytick.color"]="white"
mpl.rcParams["xtick.color"]="white"
mpl.rcParams["ytick.labelsize"]="large"
mpl.rcParams["xtick.labelsize"]="large"
mpl.rcParams["axes.edgecolor"]="white"
x = np.linspace(0.0, 5.0)
y = np.cos(2 * np.pi * x) * np.exp(-x)
fig, ax = plt.subplots(nrows=1,ncols=2)
bgimg = img.imread("picture.png")
fig.figimage(bgimg)
fig.subplots_adjust(left=0.05,right=0.95,top=0.95,bottom=0.05,wspace=0.12)
ax[0].set_facecolor("None")
ax[0].plot(x,y,"o-",color="gold")
ax[0].set_xscale("log",basex=2)
ax[0].set_xlim(0,4)
ax[1].set_facecolor("None")
ax[1].plot(x,y,"o-",color="gold")
ax[1].set_xlim(0,4)
ax[1].set_xscale("log",basex=2)
plt.show()
3、左圖axes.set_xbound方法在axes.invert_xaxis方法之後使用,右圖axes.set_xbound方法在axes.invert_xaxis方法之前使用
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
import matplotlib.image as img
mpl.rcParams["ytick.color"]="white"
mpl.rcParams["xtick.color"]="white"
mpl.rcParams["ytick.labelsize"]="large"
mpl.rcParams["xtick.labelsize"]="large"
mpl.rcParams["axes.edgecolor"]="white"
x = np.linspace(0.0, 5.0)
y = np.cos(2 * np.pi * x) * np.exp(-x)
fig, ax = plt.subplots(nrows=1,ncols=2)
bgimg = img.imread("picture.png")
fig.figimage(bgimg)
fig.subplots_adjust(left=0.05,right=0.95,top=0.95,bottom=0.05,wspace=0.12)
ax[0].set_facecolor("None")
ax[0].plot(x,y,"o-",color="gold")
ax[0].invert_xaxis()
ax[0].set_xlim(0,4)
ax[1].set_facecolor("None")
ax[1].plot(x,y,"o-",color="gold")
ax[1].set_xlim(0,4)
ax[1].invert_xaxis()
plt.show()
4、左圖axes.set_xlim方法在axes.invert_xaxis方法之後使用,右圖axes.set_xlim方法在axes.invert_xaxis方法之前使用
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
import matplotlib.image as img
mpl.rcParams["ytick.color"]="white"
mpl.rcParams["xtick.color"]="white"
mpl.rcParams["ytick.labelsize"]="large"
mpl.rcParams["xtick.labelsize"]="large"
mpl.rcParams["axes.edgecolor"]="white"
x = np.linspace(0.0, 5.0)
y = np.cos(2 * np.pi * x) * np.exp(-x)
fig, ax = plt.subplots(nrows=1,ncols=2)
bgimg = img.imread("picture.png")
fig.figimage(bgimg)
fig.subplots_adjust(left=0.05,right=0.95,top=0.95,bottom=0.05,wspace=0.12)
ax[0].set_facecolor("None")
ax[0].plot(x,y,"o-",color="gold")
ax[0].invert_xaxis()
ax[0].set_xlim(0,4)
ax[1].set_facecolor("None")
ax[1].plot(x,y,"o-",color="gold")
ax[1].set_xlim(0,4)
ax[1].invert_xaxis()
plt.show()