人生苦短,我用 Pythonpython
前文傳送門:shell
小白學 Python 數據分析(2):Pandas (一)概述函數
小白學 Python 數據分析(3):Pandas (二)數據結構 Series字體
小白學 Python 數據分析(4):Pandas (三)數據結構 DataFramespa
小白學 Python 數據分析(5):Pandas (四)基礎操做(1)查看數據.net
小白學 Python 數據分析(6):Pandas (五)基礎操做(2)數據選擇3d
小白學 Python 數據分析(7):Pandas (六)數據導入code
小白學 Python 數據分析(8):Pandas (七)數據預處理orm
小白學 Python 數據分析(9):Pandas (八)數據預處理(2)
小白學 Python 數據分析(10):Pandas (九)數據運算
小白學 Python 數據分析(11):Pandas (十)數據分組
小白學 Python 數據分析(12):Pandas (十一)數據透視表(pivot_table)
小白學 Python 數據分析(13):Pandas (十二)數據表拼接
小白學 Python 數據分析(14):Pandas (十三)數據導出
小白學 Python 數據分析(16):Matplotlib(一)座標系
各位同窗好,我又來了,本文給你們帶來的是有關 Matplotlib 的一些基礎操做。
在前一篇文章中,咱們介紹瞭如何使用 Matplotlib 繪製座標系,本文咱們接着介紹 Matplotlib 。
先看一個簡單的示例:
import matplotlib.pyplot as plt
x_data = ['2011','2012','2013','2014','2015','2016','2017']
y_data = [58000,60200,63000,71000,84000,90500,107000]
plt.xlabel('年份')
plt.ylabel('銷量')
plt.plot(x_data, y_data)
plt.show()
複製代碼
結果以下:
好像哪裏不太對的樣子,橫軸和數軸的標題沒有顯示出來,看一下程序運行,沒有報錯,可是報出來一個警告:
RuntimeWarning: Glyph 24180 missing from current font.
複製代碼
這個警告的含義是 plt 畫圖是找不到字體,那麼這裏咱們手動設置一下字體:
plt.rcParams['font.sans-serif']=['SimHei']
複製代碼
完整的樣例代碼以下:
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
x_data = ['2011','2012','2013','2014','2015','2016','2017']
y_data = [58000,60200,63000,71000,84000,90500,107000]
plt.xlabel('年份')
plt.ylabel('銷量')
plt.plot(x_data, y_data)
plt.show()
複製代碼
結果以下:
這下顯示正常了。
咱們還能夠經過參數 labelpad
設置標題到座標軸的距離,這裏爲了演示效果設置的距離稍微大了點:
plt.xlabel('年份', labelpad=50)
plt.ylabel('銷量', labelpad=50)
複製代碼
結果以下:
咱們還能夠經過參數對文本的相關屬性進行設置,下面看下一些經常使用的設置參數:
plt.xlabel('年份', labelpad=50, fontsize='xx-large', fontweight='bold', rotation='vertical', backgroundcolor='red')
plt.ylabel('銷量', labelpad=50)
複製代碼
先看結果:
xlabel 中經常使用的一些參數:
默認座標軸是顯示 x y 的值,可是也能夠自定義顯示不一樣的刻度,這裏須要使用到的函數爲 xticks
和 yticks
兩個函數:
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
x_data = [2011,2012,2013,2014,2015,2016,2017]
y_data = [58000,60200,63000,71000,84000,90500,107000]
plt.xticks(x_data, ['2011年','2012年','2013年','2014年','2015年','2016年','2017年'])
plt.yticks(y_data)
plt.plot(x_data, y_data)
plt.show()
複製代碼
結果以下:
有些時候,因爲數據脫敏的須要,咱們不要顯示刻度,還能夠這麼寫:
plt.xticks(x_data, [])
plt.yticks(y_data, [])
複製代碼
這樣展示出來的圖形以下:
實際上,咱們還有更狠的操做,直接關閉座標軸:
plt.axis("off")
複製代碼
結果以下:
咱們還能夠對座標軸的範圍進行設置,以下:
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
x_data = [2011,2012,2013,2014,2015,2016,2017]
y_data = [58000,60200,63000,71000,84000,90500,107000]
plt.xlim(2011, 2020)
plt.ylim(50000, 90000)
plt.plot(x_data, y_data)
plt.show()
複製代碼
結果以下:
這裏設置在 Y 軸上最大值爲 90000 ,那麼 2016 和 2017 對應的數據將會沒法顯示,實際咱們從得出的結果圖上也能看出這一點。
網格線默認是關閉的,咱們能夠經過函數 grid
修改參數 b
來開啓網格線,以下:
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
x_data = [2011,2012,2013,2014,2015,2016,2017]
y_data = [58000,60200,63000,71000,84000,90500,107000]
plt.plot(x_data, y_data)
plt.grid(b=True)
plt.show()
複製代碼
結果以下:
咱們不只可開啓網格線,還能夠經過參數 axis
來控制是開啓哪一個軸的網格線:
# 開啓 x 軸網格線
plt.grid(b=True, axis='x')
# 開啓 y 軸網格線
plt.grid(b=True, axis='y')
複製代碼
圖例能對圖表起到註釋的做用,咱們能夠經過參數 label
對該圖表的圖例進行設置,示例以下:
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
x_data = [2011,2012,2013,2014,2015,2016,2017]
y_data = [58000,60200,63000,71000,84000,90500,107000]
plt.plot(x_data, y_data, label = '折線圖')
plt.bar(x_data, y_data, label = '柱狀圖')
plt.legend()
plt.show()
複製代碼
結果以下:
圖表標題是用來歸納整張圖表現的內容的,咱們能夠經過以下方式設置一張圖的標題:
plt.title(label='xxx 公司 xxx 產品銷量')
複製代碼
結果以下:
本文的內容就到這裏了,下一篇咱們介紹 Matplotlib 的經常使用圖表的示例,本文的示例代碼寫的有點亂,就不貼出來了,固然,若是常常看小編寫的文章的估計都找獲得。