Matplotlib設置軸屬性

原文地址

分類目錄——Matplotlib

  • 導入支持包

    import matplotlib
    import matplotlib.pyplot as plt
    import numpy as np
    
  • 設置中文支持(可參見 Matplotlib畫圖顯示中文)

    # 設置字體,支持中文顯示
    matplotlib.rcParams['font.family'] = 'STSong'
    
  • 生成測試數據

    # 生成測試數據
    x = np.linspace(-3, 3, 50)
    y1 = 2 * x + 1
    y2 = x ** 2
    
  • plot

    plt.figure()
    plt.plot(x, y2)
    plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--')
    

    1581436777714

  • 設置圖的標題

    plt.title("圖標題")
    
  • 設置x軸,y軸的取值範圍

    # 設置x軸,y軸的取值範圍
    plt.xlim(-1, 2)
    plt.ylim(-2, 3)
    

    1581436866098

  • 設置x軸,y軸的刻度顯示內容

    # 設置x軸,y軸的刻度顯示
    plt.xticks(np.linspace(-1, 2, 5))
    plt.yticks([-2, 1, 1.5, 2, 2.5, 3], [r'(-2)', r'及格(1)', r'中(1.5)', r'良(2)', r'優(2.5)', r'(3)'])
    
  • 設置x軸,y軸屬性

    # 設置x軸,y軸屬性
    plt.xlabel('時間')
    plt.ylabel('銷量')
    

    1581436902812

  • 設置圖像邊框

    # 設置圖像邊框
    ax = plt.gca()
    # ax.spines['top']選一個軸,上下左右四個軸
    # top   bottom  left    right
    
    # 設置軸的顏色,這裏設置右軸,設置none,即選默認色——白色
    ax.spines['right'].set_color('none')
    ax.spines['top'].set_color('none')
    
    # 設置x座標(xaxis) 刻 度 的位置,可選(所有位置:top,bottom,both,default,none)
    ax.xaxis.set_ticks_position('top')
    
    # 設置邊軸
    # 位置所有屬性:outward,axes,data
    # outward:偏離x軸的值,單位貌似是像素
    # axes:取值[0,1],佔y軸的百分比
    # data:意爲按y軸的值取位置
    ax.spines['bottom'].set_position(('data', -1))  # ylim(-2,3),
    
    # 設置y座標(yaxis) 刻 度 的位置,可選(所有位置:left,right,both,default,none)
    ax.yaxis.set_ticks_position('left')
    # 設置左軸的位置
    ax.spines['left'].set_position(('data', 0.5))
    
  • 出圖

    plt.show()
    

    1581436484341

  • 說明

    按順序複製程序即可執行,中間不會出圖,只有當最後一行plt.show()執行時纔會出圖,通過調整這行的位置來顯示中間過程的圖。

參考文獻

程序主要來自 https://morvanzhou.github.io/tutorials/data-manipulation/plt/ ,略有改動

發佈了107 篇原創文章 · 獲贊 74 · 訪問量 5407
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章