
目錄
- 零、前言
- 一、表格化歸納整理結果
- 二、圖表的基本組成元素
- 三、建立畫布和坐標系
- 3.1 建立畫布
- 3.2 建立坐標系
- 用add_subplot函式建立坐標系
- 用plt.subplot2grid函式建立坐標系
- 用plt.subplot函式建立坐標系
- 用plt.subplots函式建立坐標系
- 3.3 設定坐標軸
- 坐標軸的標題
- 坐標軸的刻度
- 坐標軸刻度線的設定
- 坐標軸的范圍
- 坐標軸的軸顯示設定
- 3.4 網格線設定
- 3.5 圖例設定
- 3.6 圖表標題的設定
- 3.7 資料標簽的設定
- 3.8 圖表注釋
- 3.9 資料表
零、前言
前言前言,大意就是說在前面的話,本文的絕大部分資訊,對于常用matplotlib的朋友,應該都不陌生,
突然想做一個總結的緣由是,最近自己突然感覺,很多知識資訊,其實自己已經接觸過很多,甚至有的資訊已經很熟悉了,對于某一類的書籍或者說資訊,當我們閱讀過一些后,越來越感覺自己所能獲取的增量知識 越來越有限,很多資訊知識調整了說法和述說結構,其實質是一樣的,那對于自我來說,自己閱讀更多的資訊/書籍,其實是想來獲取更多自己不曾了解的內容,
也就是說,資訊熵隨著我們了解的資訊的增加,當再閱讀已知的資訊時,新增的資訊熵越來越接近于0,這是我們最不想要看到的結果,因此,對常用的、普遍的資訊進行歸納總結,后續就可以更有針對性的來補充和完整自我的知識結構了,
歸納總結的另一大好處是,當記憶遺忘或者模糊不清的時候,我們可以快速的溯源和回顧,所以,時常對自我進行總結,很重要,
嘮嗑結束,下面開始進入正文,

一、表格化歸納整理結果

下面內容,主要是對上述表格資訊的展開,
二、圖表的基本組成元素
一個圖表的主要組成元素1主要包括:
- 畫布 :繪圖界面
- 坐標系:畫布是圖表的最大概念,在一塊畫布上可以建立多個坐標系,坐標系又可以分為直角坐標系、球坐標系和極坐標系三種,
- 坐標軸:坐標軸是在坐標系中的概念,主要有x軸和y軸
- 坐標軸標題:坐標軸標題就是x軸和y軸的名稱
- 圖表標題:圖表標題是用來說明整個圖表核心主題的
- 資料標簽:資料標簽用于展示圖表中的數值,
- 圖表注釋:與資料標簽的作用類似,都是便于看圖者更快地獲取圖表資訊,
- 資料表:資料表在圖表下方,它以表格的形式將圖表中坐標軸的值展示出來,
- 網格線:網格線是坐標軸的延伸,通過網格線可以更加清晰地看到每一點大概在什么位置,值大概是多少,
- 圖例:圖例一般位于圖表的下方或右方,用來說明不同的符號或顏色所代表的不同內容與指標,有助于認清圖,
- 誤差線:誤差線主要用來顯示坐標軸上每個點的不確定程度,一般用標準差表示,即一個點的誤差為該點的實際值加減標準差,
三、建立畫布和坐標系
# 匯入庫及相關輔助代碼
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"]="SimHei" # 解決中文亂碼問題
plt.rcParams["axes.unicode_minus"]=False # 解決負號無法正常顯示的問題
%matplotlib inline # 讓圖表直接在Jupyter Notebook中展示出來
# 在默認設定下 matplotlib 做出來的圖表不是很清晰,將圖表設定成矢量圖格式顯示,這樣看起來會更清晰
# %config InlineBackend.figure_format='svg'
UsageError: unrecognized arguments: # 讓圖表直接在Jupyter Notebook中展示出來
3.1 建立畫布
建立畫布以后畫布并不會直接顯示出來,只會輸出一串畫布相關資訊的代碼,
# 建立畫布
fig = plt.figure(figsize=(8,6))# 引數figsize控制畫布的寬和高
<Figure size 576x432 with 0 Axes>
3.2 建立坐標系
用add_subplot函式建立坐標系
利用add_subplot函式建立坐標系時需要先有畫布,再在畫布上繪制坐標系,
ax = fig.add_subplot(2,2,1) # 前兩個引數控制坐標系的行列個數,第三個引數確定選擇第幾個坐標系
用plt.subplot2grid函式建立坐標系
用plt.subplot2grid函式建立坐標系時不需要先建立畫布,只需要匯入plt庫即可,
用這種方式建立坐標系時,具體的繪圖代碼需要跟在建立坐標系的陳述句后面,
x = np.arange(5)
y = np.arange(5)
plt.subplot2grid((2,2), (0,0)) # 第一個引數控制坐標系的行列個數,第二個引數確定選擇第幾個坐標系
plt.bar(x,y)

用plt.subplot函式建立坐標系
與plt.subplot2grid函式功能類似,無需事先建立畫布,并且需要將具體的繪圖代碼跟在建立坐標系陳述句后面,只是函式引數的表現形式同add_subplot()函式,
plt.subplot(2,2,1)
plt.bar(x,y)
plt.subplot(2,2,4)
plt.bar(x,y)

用plt.subplots函式建立坐標系
plt.subplots()也無需事先建立畫布,它與subplot2grid函式和subplot函式的不同之處是:subplots()一次可以回傳多個坐標系,而,subplot2grid()和subplot()每次只回傳一個坐標系,
fig, axes = plt.subplots(2,2) # 兩個引數分別表示坐標系的行數和列數
# 想在哪個坐標系里面繪圖通過axes[x, y]指明即可,
axes[0,1].bar(x,y)
axes[0,1].grid(b="True")

總結:
第一種創建坐標系的方法 add_subplot 屬于物件式編程,所有的操作都是針對某個物件進行的,比如先建立一塊畫布,然后在這塊畫布上建立坐標系,進而在坐標系上繪圖,而后三種建立坐標系的方法屬于函式式編程,都是直接呼叫 plt 庫里面的某個函式或者方法達到創建坐標系的目的,
3.3 設定坐標軸
坐標軸的標題
plt.xlabel(‘x軸’,labelpad=5,fontsize=‘xx-large’,color = “#70AD47”,
fontweight = ‘bold’)#引數labelpad設定標簽到軸的距離
plt.ylabel(‘y軸’,labelpad=6)
坐標軸的刻度
plt.xticks(ticks, labels)
plt.yticks(ticks, labels)
ticks表示刻度值,labels表示該刻度處對應的標簽
坐標軸刻度線的設定
plt.tick_params(axis, reset, which, direction, length, width, color, pad ,labelsize, labelcolor, bottom, top, left, right, labelbottom, labeltop, labelleft, labelright )
坐標軸的范圍
plt.xlim()
plt.ylim()
坐標軸的軸顯示設定
坐標軸中的軸默認都是顯示出來的,可以通過如下方式進行關閉,
plt.axis(“off”)
3.4 網格線設定
網格線默認是關閉的,
plt.grid(b=“True”,axis=“x”)
可以通過修改引數b的值,讓其等于True來啟用網格線,
引數axis的值來控制打開哪個軸的網格線
3.5 圖例設定
圖例對圖表起到注釋作用,在繪圖的時候通過給 label 引數傳入值表示該圖表的圖例名,再通過**plt.legend()**將圖例顯示出來,**可以通過修改loc引數的引數值來調整圖例的顯示位置,可以通過引數ncol設定顯示列數,
plt.plot(x, y, label = "折線圖")
plt.bar(x, y, label = "柱形圖")
plt.legend()

3.6 圖表標題的設定
圖表的標題是用來說明整個圖表的核心思想的,
plt.title(“xxxx”)
3.7 資料標簽的設定
資料標簽實作就是根據坐標值在對應位置顯示相應的數值,可以利用text函式實作,
plt.text(x, y, str, ha, va, fontsize)
3.8 圖表注釋
與資料標簽的作用類似,都是便于看圖者更快地獲取圖表資訊,
plt.annotate(s, xy, xytext, arrowprops)
s:要注釋的文本內容
xy:要注釋的位置
xytext:要注釋的文本的顯示位置
arrowprops:設定箭的相關引數,顏色、箭型別等,
plt.plot(x, y, label = "折線圖")
plt.bar(x, y, label = "柱形圖")
plt.legend(ncol=2)
plt.annotate("服務下線", xy = (1,1), xytext = (1,2),
arrowprops=dict(facecolor='black', arrowstyle = '->'))

3.9 資料表
資料表就是在圖表基礎上再添加一個表格,使用的是plt庫中的table函式,
plt.table(cellText=None, cellColours=None, cellLoc=‘right’, colWidths=None, rowLabels=None, rowColours=None, rowLoc=‘left’, colLabels=None, colColours=None, colLoc=‘center’, loc=‘bottom’, bbox=None, edges=‘closed’, **kwargs)
cellText:資料表內的值
cellColours:資料表的顏色
cellLoc:資料表中數值的位置,可選left,right,center
colWidths:列寬
rowLabels:行標簽
rowColours:行標簽的顏色
rowLoc:行標簽的位置
loc:整個資料表的位置,可選坐標系的上、下、左、右
# 資料表示例
cellText = [[ 6, 5, 7, 10],[7,5,6,9]]
rows = ["計劃", "實際"]
columns = ["北京", "上海", "廣州", "深圳"]
plt.bar(columns,cellText[0],label=rows[0])
plt.bar(columns,cellText[1],bottom = cellText[0],label=rows[1])
plt.legend(ncol=2)
plt.table(cellText = cellText, cellLoc='center',rowLabels=rows, rowColours = ["red", "yellow"],
rowLoc = "center", colLabels=columns, colColours = ["red", "yellow", "red", "yellow"],
colLoc='left', loc='bottom')

長路漫漫,基礎看似都是簡單的,但取巧的應用起來,是需要積累的,通過多看、多用、多記,溫故而后知新!

《對比Excel,輕松學習Python資料分析》作者:張俊紅 出版社:電子工業出版社 出版時間:2019年2月 ISBN:9787121357930 ??
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/262044.html
標籤:python
