TensorFlow2.1入門學習筆記(2)——Matplotlib數據可視化


在正式學習tensorflow2.0之前需要有一定的python基礎,對numpy,matplotlib等庫有基本的了解,筆者還是AI小白,通過寫博客來記錄自己的學習過程,同時對所學的東西進行總結。主要學習的資料西安科技大學:神經網絡與深度學習——TensorFlow2.0實戰,北京大學:人工智能實踐Tensorflow筆記博客從tf常用的庫開始,需要學習python基礎的朋友推薦菜鳥教程

TensorFlow2.0學習筆記(2)——Matplotlib數據可視化

數據可視化:
數據分析階段:理解和洞察數據之間的關系
算法調試階段:發現問題,優化算法
項目總結階段:展示項目成果
Matplotlib:第三方庫,可以快速生成高質量圖表
在這里插入圖片描述

安裝Matplotlib庫
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib
導入Matplotlib庫
import matplotlib as plt	#可用pyplot庫繪制平面圖,常用import matplotlib.pyplot as plt導入
1.常用函數

figure對象:創建畫布
在這里插入圖片描述

pit.figure(figsize=(3,2),facecolor="green")	#創建畫布
plt.plot()			#繪制空白圖形
plt.show()			#顯示繪圖

在這里插入圖片描述
subplot()函數——划分子圖
subplot(行數,列數,子圖序號)
例:將畫布划分為2x2的子圖區域,並繪制3個子圖

fig = plt.figure()
plt.subplot(2,2,1)
plt.subplot(2,2,2)
plt.subplot(2,2,3)
plt.show()

運行結果:
在這里插入圖片描述
plt.rcParams[]——設置中文字體
matplotlib庫中的文字為英文,如果需要中文時容易亂碼,例如:使用plt.rcParams["font.sans-serif"] = "SimHei"使默認字體改為中文。
在這里插入圖片描述
無法正常顯示時:
在這里插入圖片描述

添加標題
添加全局標題:suptitle(標題文字)
添加子標題:title(標題文字)
subtitle()函數的主要參數:
在這里插入圖片描述
title()函數的主要參數:
在這里插入圖片描述
tight_layout()函數
檢查坐標軸標簽、刻度標簽和子圖標題,自動調整子圖,使之填充整個繪圖區域,並消除子圖之間的重疊
在這里插入圖片描述
SUMMARIZE:

import matplotlib.pyplot as plt

plt.rcParams["font.family"] = "SimHei"
fig = plt.figure(facecolor = "lightgrey")
plt.subplot(2,2,1)
plt.title('子圖標題1')
plt.subplot(2,2,2)
plt.title('子圖標題2',loc="left",color="b")
plt.subplot(2,2,3)
myfontdict = {"fontsize":12,"color":"g","rotation":30}
plt.title('子圖標題3',fontdict=myfontdict)
plt.subplot(2,2,4)
plt.title('子圖標題4',color = "white",backgroundcolor="black")

plt.suptitle("全局標題",fontsize=20,color="red",backgroundcolor="yellow")
plt.tight_layout(rect=[0,0,1,0.9])
plt.show()

運行結果:
在這里插入圖片描述

2.散點圖(Scatter)

數據點在直角坐標系中的分布圖
在這里插入圖片描述
scatter()函數
在這里插入圖片描述
在這里插入圖片描述
text()函數
添加文字
在這里插入圖片描述
xlabel(),ylabel()函數
設置坐標軸
在這里插入圖片描述
增加圖例
在這里插入圖片描述

繪制標准正態分布,均勻分布的散點圖

import matplotlib.pyplot as plt 
import numpy as np 

plt.rcParams["font.sans-serif"]="SimHei"    #設置中文字體為默認字體
plt.rcParams["axes.unicode_minus"]=False    #使“-”正常顯示

n = 1024                    #隨機點個數:1024
x = np.random.normal(0,1,n) #生成數據點x坐標
y = np.random.normal(0,1,n) #生成數據點y坐標

plt.scatter(x,y,color="blue",marker=".")       #繪制數據點
plt.title("標准正態分布",fontsize=20)           #設置標題
plt.text(2.5,2.5,"均 值:0\n標准差:1")         #顯示文本
plt.xlim(-4,4)  #x軸范圍
plt.ylim(-4,4)  #y軸范圍

plt.xlabel('橫坐標x',fontsize=14)   #x軸名稱
plt.ylabel('縱坐標y',fontsize=14)   #y軸名稱

plt.show()  #顯示

運行結果:
在這里插入圖片描述

3.折線圖(Line Chart)

在散點圖的基礎上,將相鄰的點用線段連接,描述變量變化的趨勢
在這里插入圖片描述
plot()函數
在這里插入圖片描述
繪制溫度和濕度數據折線圖

import matplotlib.pyplot as plt 
import numpy as np 

plt.rcParams["font.sans-serif"]="SimHei"    

n = 24
y1 = np.random.randint(27,37,n)		#生成隨機數據
y2 = np.random.randint(40,60,n)

plt.plot(y1, label="溫度")			#繪制
plt.plot(y2, label="濕度")
plt.xlabel("小時",fontsize=12)
plt.ylabel("測量值",fontsize=12)

plt.title("24小時溫度濕度統計",fontsize=16)

plt.legend()
plt.show()

運行結果
在這里插入圖片描述

4.柱形圖(Bar Chart)

由一系列高度不等的柱形圖條紋表示數據分布的情況
在這里插入圖片描述
bar()函數
在這里插入圖片描述
繪制柱形圖

import matplotlib.pyplot as plt 
import numpy as np 

plt.rcParams["font.sans-serif"]="SimHei"    #設置中文字體為默認字體
plt.rcParams["axes.unicode_minus"]=False    #使“-”正常顯示

y1 = [32,25,32,35,45,33,17,24,20,10,32,5]
y2 = [-14,-25,-18,-35,-46,-22,-18,-3,-24,-13,-25,-28]
plt.bar(range(len(y1)),y1,width=0.8,facecolor="g",edgecolor="w",label="統計量1")
plt.bar(range(len(y2)),y2,width=0.8,facecolor='r',edgecolor='w',label="統計量2")
plt.title("柱狀圖",fontsize=20)
plt.legend()
plt.show()

運行結果
在這里插入圖片描述

Matplotlib官網

http://matplotlib.org

https://matplotlib.org/genindex.html

Gallery頁面

CSDN鏈接


免責聲明!

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



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