更新時間:2022年04月26日10時01分 來源:傳智教育 瀏覽次數(shù):
今天的Python培訓中,我們要講matplotlib可以只隱藏坐標軸的部分軸脊,只需訪問spines屬性獲取相應的軸脊,之后調用set_color()方法將軸脊的顏色設為none即可, 示例代碼如下。
import numpy as np import matplotlib.pyplot as plt import matplotlib.patches as mpathes xy = np.array([0.5,0.5]) polygon = mpathes.RegularPolygon(xy, 5, 0.2,color='y') ax = plt.axes((0.3, 0.3, 0.5, 0.5)) ax.add_patch(polygon) # 依次隱藏上軸脊、左軸脊和右軸脊 ax.spines['top'].set_color('none') ax.spines['left'].set_color('none') ax.spines['right'].set_color('none') plt.show()
運行程序,效果如圖6-6所示。
圖6-6 隱藏坐標軸的部分軸脊
從圖6-6中可以看出,圖表只隱藏了坐標軸的部分軸脊而沒有隱藏軸脊上的刻度。
為了解決上述問題,matplotlib可以通過set_ticks_position()方法設置刻度線的顏色為'none',通過set_yticklabels()方法設置刻度標簽為空列表。在上述示例調用show()函數(shù)的代碼之前插入如下代碼:
ax.yaxis.set_ticks_position('none') ax.set_yticklabels([])
再次運行程序,效果如圖6-7所示。
圖6-7 隱藏刻度標簽和刻度線