小白學 Python 數據分析(17):Matplotlib(二)基礎操做

人生苦短,我用 Pythonpython

前文傳送門:shell

小白學 Python 數據分析(1):數據分析基礎數據結構

小白學 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 數據分析(15):數據可視化概述

小白學 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 中經常使用的一些參數:

  • fontsize : 設置字體大小,默認12,可選參數 ['xx-small', 'x-small', 'small', 'medium', 'large','x-large', 'xx-large']
  • fontweight : 設置字體粗細,可選參數 ['light', 'normal', 'medium', 'semibold', 'bold', 'heavy', 'black']
  • fontstyle : 設置字體類型,可選參數[ 'normal' | 'italic' | 'oblique' ],italic斜體,oblique傾斜
  • verticalalignment : 設置水平對齊方式 ,可選參數 : 'center' , 'top' , 'bottom' ,'baseline'
  • horizontalalignment : 設置垂直對齊方式,可選參數:left,right,center
  • rotation : (旋轉角度)可選參數爲:vertical,horizontal 也能夠爲數字
  • alpha : 透明度,參數值0至1之間
  • backgroundcolor : 標題背景顏色
  • bbox : 給標題增長外框 ,經常使用參數以下:
    • boxstyle 方框外形
    • facecolor (簡寫fc)背景顏色
    • edgecolor (簡寫ec)邊框線條顏色
    • edgewidth 邊框線條大小

刻度設置

默認座標軸是顯示 x y 的值,可是也能夠自定義顯示不一樣的刻度,這裏須要使用到的函數爲 xticksyticks 兩個函數:

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 的經常使用圖表的示例,本文的示例代碼寫的有點亂,就不貼出來了,固然,若是常常看小編寫的文章的估計都找獲得。

參考

blog.csdn.net/The_Time_Ru…

您的掃碼關注,是對小編堅持原創的最大鼓勵:)
相關文章
相關標籤/搜索