一、tick_params簡介
在Matplotlib中,tick_params是一個軸對象的方法,用於設置刻度和標籤的一系列屬性。每個軸都有自己的tick_params方法,以便設置x軸和y軸的屬性。
該方法具有多個參數,可以調整刻度、標籤、網格線和邊界線的外觀,以及其它根據需要的屬性。下面將從多個方面詳細介紹tick_params的使用。
二、tick_params的參數
tick_params方法的常見參數如下:
Name Default Description ------------------------------------------------------------ axis 'both' 可選['both', 'x', 'y'],指定哪個軸應更改其屬性(默認為both) reset False 如果為True,則將重新設置所有默認參數的值(默認為False) which 'major' 可選['major', 'minor', 'both'],控制要更改的刻度(默認為major) direction 'in' 可選['in', 'out', 'inout'],刻度朝向(默認為in) length 4.0 刻度長度(默認為4.0) width 0.5 刻度寬度(默認為0.5) color 'k' 刻度的顏色(默認為黑色) pad 4.0 刻度標籤與刻度線之間的距離(默認為4.0) labelsize 'medium' 刻度標籤的字體大小(默認為'medium') labelcolor 'k' 刻度標籤的顏色(默認為黑色) colors 'k' 刻度線和標籤的顏色(默認為黑色) zorder 3 刻度的繪製圖層(默認為3) top True 是否顯示軸頂部的刻度線(默認為True) bottom True 是否顯示軸底部的刻度線(默認為True) left True 是否顯示軸左側的刻度線(默認為True) right True 是否顯示軸右側的刻度線(默認為True) labeltop True 是否顯示軸朝上的標籤(默認為True) labelbottom True 是否顯示軸朝下的標籤(默認為True) labelleft True 是否顯示軸朝左的標籤(默認為True) labelright True 是否顯示軸朝右的標籤(默認為True) grid_color 'd3d3d3' 網格線的顏色(默認為'd3d3d3') grid_alpha 0.5 網格線的透明度(默認為0.5) grid_linestyle '-' 網格線的線條樣式(默認為'-') grid_linewidth 0.5 網格線的線寬(默認為0.5) minor_axis False 是否設置小刻度線(默認為False) minor_top True 是否顯示軸頂部的小刻度線(默認為True) minor_bottom True 是否顯示軸底部的小刻度線(默認為True) minor_left True 是否顯示軸左側的小刻度線(默認為True) minor_right True 是否顯示軸右側的小刻度線(默認為True) minor_labeltop True 是否顯示軸朝上的小刻度標籤(默認為True) minor_labelbottom True 是否顯示軸朝下的小刻度標籤(默認為True) minor_labelleft True 是否顯示軸朝左的小刻度標籤(默認為True) minor_labelright True 是否顯示軸朝右的小刻度標籤(默認為True) minor_length 2.0 小刻度的長度(默認為2.0) minor_width 0.5 小刻度的寬度(默認為0.5) minor_color 'k' 小刻度的顏色(默認為黑色) minor_pad 4.0 小刻度標籤與小刻度線之間的距離(默認為4.0)
三、設置刻度和標籤外觀
設置刻度的長度和寬度
可以使用length和width參數設置刻度線的長度和寬度。
import matplotlib.pyplot as plt import numpy as np fig, ax = plt.subplots() ax.plot(np.linspace(0, 1, 10), np.linspace(0, 1, 10)) ax.tick_params(axis="both", length=10, width=2) plt.show()
在上面的代碼中,我們使用length和width參數,將刻度的長度設置為10,寬度設置為2。可以看到,刻度線的長度和寬度都變大了。
修改刻度的朝向
我們可以使用direction參數,控制刻度朝向:in為向內,out為向外,inout為朝內和朝外。
import matplotlib.pyplot as plt import numpy as np fig, ax = plt.subplots() ax.plot(np.linspace(0, 1, 10), np.linspace(0, 1, 10)) ax.tick_params(axis="both", direction="out") plt.show()
在上面的代碼中,我們使用direction參數,將刻度朝向設置為out,也就是向外。可以看到,刻度線都向外了。
設置刻度的顏色和繪製圖層
colors和zorder參數可以設置刻度線和標籤的顏色和繪製圖層。
import matplotlib.pyplot as plt import numpy as np fig, ax = plt.subplots() ax.plot(np.linspace(0, 1, 10), np.linspace(0, 1, 10)) ax.tick_params(axis="both", colors="red", zorder=5) plt.show()
在上面的代碼中,我們將刻度線和標籤的顏色都設置為紅色,繪製圖層設置為5。可以看到,刻度變成了紅色,而且位於其他圖層之上。
調整刻度標籤的屬性
我們可以使用labelsize、labelcolor和pad參數,調整刻度標籤的字體大小、顏色和與刻度線之間的距離。
import matplotlib.pyplot as plt import numpy as np fig, ax = plt.subplots() ax.plot(np.linspace(0, 1, 10), np.linspace(0, 1, 10)) ax.tick_params(axis="both", labelsize=16, labelcolor="blue", pad=10) plt.show()
在上面的代碼中,我們將刻度標籤的字體大小設置為16,顏色設置為藍色,距離刻度線的距離設置為10。可以看到,刻度標籤的外觀都改變了。
四、控制邊界線的顯示
我們可以使用top、bottom、left和right參數,控制軸的邊界線是否顯示。
import matplotlib.pyplot as plt import numpy as np fig, ax = plt.subplots() ax.plot(np.linspace(0, 1, 10), np.linspace(0, 1, 10)) ax.tick_params(axis="both", top=False, bottom=True, left=True, right=False) plt.show()
在上面的代碼中,我們將軸的上邊界線隱藏了,而將下邊界線、左邊界線顯示出來了。
五、顯示網格線和小刻度
顯示網格線
我們可以使用grid_color、grid_alpha、grid_linestyle和grid_linewidth參數,控制網格線的顏色、透明度、線條樣式和線寬。
import matplotlib.pyplot as plt import numpy as np fig, ax = plt.subplots() ax.plot(np.linspace(0, 1, 10), np.linspace(0, 1, 10)) ax.tick_params(axis="both", grid_color="blue", grid_alpha=0.5, grid_linestyle="--", grid_linewidth=1) plt.show()
在上面的代碼中,我們將網格線的顏色設置為藍色,透明度設置為0.5,線條樣式設置為虛線,線寬設置為1。可以看到,軸內增加了網格線,較為醒目。
顯示小刻度
我們可以使用minor_axis、minor_top、minor_bottom、minor_left、minor_right、minor_labeltop、minor_labelbottom、minor_labelleft和minor_labelright參數,控制是否顯示小刻度線和標籤。
import matplotlib.pyplot as plt import numpy as np fig, ax = plt.subplots() ax.plot(np.linspace(0, 1, 10), np.linspace(0, 1, 10)) ax.tick_params(axis="both", minor_axis=True, minor_top=True, minor_bottom=True, minor_left=True, minor_right=True, minor_labeltop=True, minor_labelbottom=True, minor_labelleft=True, minor_labelright=True) plt.show()
在上面的代碼中,我們將小刻度線和標籤全部顯示出來了。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/292975.html