matplotlib
默認(rèn)根據(jù)數(shù)據(jù)系列自動(dòng)縮放坐標(biāo)軸范圍。pyplot
模塊中的autoscale
函數(shù)可以切換是否自動(dòng)縮放坐標(biāo)軸范圍,xlim()
和ylim()
函數(shù)可手動(dòng)設(shè)置坐標(biāo)軸范圍。
autoscale函數(shù)
對(duì)于pyplot
模塊控制坐標(biāo)軸范圍是否自動(dòng)縮放的函數(shù)為autoscale
。
函數(shù)簽名為matplotlib.pyplot.autoscale(enable=True, axis='both', tight=None)
參數(shù)作用及取值如下:
enable
為布爾值,即是否自動(dòng)縮放。
axis
取值范圍為{'both', 'x', 'y'}
,默認(rèn)值為'both'
,即作用在哪個(gè)坐標(biāo)軸。
tight
為布爾值,默認(rèn)值為None
,即是否設(shè)置邊距為0。
底層相關(guān)函數(shù)有:
- Axes.autoscale
- Axes.autoscale_view
- Axes.set_autoscale_on
- Axes.get_autoscale_on
- Axes.set_autoscalex_on
- Axes.get_autoscalex_on
- Axes.set_autoscaley_on
- Axes.get_autoscaley_on
案例
自動(dòng)縮放坐標(biāo)軸范圍功能對(duì)比。
import matplotlib.pyplot as plt
plt.subplot(121)
plt.plot([0.5,0.5])
print(plt.gca().get_autoscale_on())
print(plt.gca().get_autoscalex_on())
print(plt.gca().get_autoscaley_on())
plt.subplot(122)
plt.plot([0.5,0.5])
plt.autoscale(False)
print(plt.gca().get_autoscale_on())
print(plt.gca().get_autoscalex_on())
print(plt.gca().get_autoscaley_on())
plt.show()
輸出:

True
True
True
False
False
False
xlim()函數(shù)
手動(dòng)設(shè)置x
坐標(biāo)軸的范圍或獲取x
坐標(biāo)軸的范圍。
函數(shù)簽名為matplotlib.pyplot.xlim(*args, **kwargs)
。
調(diào)用簽名有三種:
xlim((left, right))
xlim(left, right)
xlim(left=1, right=3)
其中left
為x
坐標(biāo)軸左側(cè)極值,right
為x
坐標(biāo)軸右側(cè)極值。注意!left
可以比right
大!
返回值為(left, right)
,即坐標(biāo)軸范圍元組。
xlim()
相當(dāng)于Axes.get_xlim
,xlim(*args, **kwargs)
相當(dāng)于Axes.set_xlim
。
案例
演示xlim()
的調(diào)用方法。
import matplotlib.pyplot as plt
plt.figure(figsize=(14, 3))
plt.subplot(141)
plt.plot([1, 1])
print(plt.xlim())
plt.subplot(142)
plt.plot([1, 1])
plt.xlim(0, 1.5)
plt.annotate('plt.xlim(0,1.5)', (0.1, 1.001))
print(plt.xlim())
plt.subplot(143)
plt.plot([1, 1])
plt.xlim((0, 1.5))
plt.annotate('plt.xlim((0,1.5))', (0.1, 1.001))
print(plt.xlim())
plt.subplot(144)
plt.plot([1, 1])
plt.xlim(left=0, right=1.5)
plt.annotate('plt.xlim(left=0,right=1.5)', (0.1, 1.001))
print(plt.xlim())
plt.show()
輸出:

(-0.05, 1.05)
(0.0, 1.5)
(0.0, 1.5)
(0.0, 1.5)
ylim()函數(shù)
手動(dòng)設(shè)置y
坐標(biāo)軸的范圍或獲取y
坐標(biāo)軸的范圍。使用方法與xim()
函數(shù)相似。
函數(shù)簽名為matplotlib.pyplot.ylim(*args, **kwargs)
。
調(diào)用簽名有三種:
ylim((bottom, top))
ylim(bottom, top)
ylim(bottom=1, top=3)
其中bottom
為x
坐標(biāo)軸左側(cè)極值,top
為x
坐標(biāo)軸右側(cè)極值。注意!bottom
可以比top
大!
返回值為(bottom, top)
,即坐標(biāo)軸范圍元組。
ylim()
相當(dāng)于Axes.get_ylim
,ylim(*args, **kwargs)
相當(dāng)于Axes.set_ylim
。
案例
演示ylim()
的調(diào)用方法。
import matplotlib.pyplot as plt
plt.figure(figsize=(14, 3))
plt.subplot(141)
plt.plot([1, 1])
print(plt.ylim())
plt.subplot(142)
plt.plot([1, 1])
plt.ylim(0, 1.5)
plt.annotate('plt.ylim(0,1.5)', (0.1, 1.01))
print(plt.ylim(0,1.5))
plt.subplot(143)
plt.plot([1, 1])
plt.ylim((0, 1.5))
plt.annotate('plt.ylim((0,1.5))', (0.1, 1.01))
print(plt.ylim())
plt.subplot(144)
plt.plot([1, 1])
plt.ylim(bottom=0, top=1.5)
plt.annotate('plt.ylim(bottom=0,top=1.5)', (0.1, 1.01))
print(plt.ylim())
plt.show()
輸出:

(0.945, 1.0550000000000002)
(0.0, 1.5)
(0.0, 1.5)
(0.0, 1.5)
到此這篇關(guān)于matplotlib之pyplot模塊坐標(biāo)軸范圍設(shè)置(autoscale(),xlim(),ylim())的文章就介紹到這了,更多相關(guān)matplotlib 坐標(biāo)軸范圍內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Python matplotlib學(xué)習(xí)筆記之坐標(biāo)軸范圍