matplotlib(二)——matplotlib控制坐標軸第一個刻度到原點距離


一、問題描述

具體問題是:

  1. 用python庫matplotlib進行數據的圖表展示;
  2. 橫坐標是自定義統計值;
  3. 保存矢量圖(svg),保存后發現橫坐的第一個點離坐標原點距離較大,導致圖形離y軸較遠,讓畫出的圖看着不舒服;
  4. 如果用jpg圖片發現也有這個問題,但是控制台有參數可以調整,自動保存圖片則需要參數控制。

二、解決辦法

解決思路:

  • 查一下相關坐標軸的參數。

解決辦法:

  1. 方法1:
    1. 通過參數:ax.set_xlim(-1,)顯示制定橫坐標的范圍。
    2. 這種方法橫坐標多余的(坐標軸右邊的)不會顯示
  2. 方法2:
    1. 參數ax.yaxis.set_ticks_position('left')設置向左移動
    2. 參數:ax.spines['left'].set_position(('data', -1))設置距離
    3. 這種方法是移動縱坐標的坐標軸,會顯示坐標軸右邊的橫軸和數據

方法1示例:

  1 import pandas as pd
  2 import matplotlib.pyplot as plt
  3 data = pd.read_csv('statistic_char.csv',index_col=0)
  4 
  5 fig, ax = plt.subplots()
  6 #ax = plt.gca()
  7 plt.plot(list(data.index),data)
  8 plt.yticks(range(0,35000000,2000000))
  9 
 10 fig.set_figwidth(15)
 11 fig.tight_layout()
 12 ax.set_xlim(-1,)
 13 #ax.yaxis.set_ticks_position('left')
 14 #ax.spines['left'].set_position(('data', 0))
 15 plt.show()
方法1代碼

 

方法2示例:

  1 import pandas as pd
  2 import matplotlib.pyplot as plt
  3 data = pd.read_csv('statistic_char.csv',index_col=0)
  4 fig, ax = plt.subplots()
  5 plt.plot(list(data.index),data)
  6 plt.yticks(range(0,35000000,2000000))
  7 fig.set_figwidth(15)
  8 fig.tight_layout()
  9 ax.yaxis.set_ticks_position('left')
 10 ax.spines['left'].set_position(('data', -1))
 11 plt.show()
方法2代碼

設置圖形離 **X** 軸的距離的參數:

  1 ax.xaxis.set_ticks_position('bottom')
  2 ax.spines['bottom'].set_position(('data', 0))
View Code

三、相關參考

  1. 坐標軸相關的官方文檔:
  2. 設置圖形離 **Y** 軸的距離:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM