Matplotlib 是一個(gè) Python 的 2D繪圖庫
它以各種硬拷貝格式和跨平臺(tái)的交互式環(huán)境生成出版質(zhì)量級(jí)別的圖形
通過 Matplotlib,開發(fā)者可以僅需要幾行代碼,
便可以生成繪圖,直方圖,功率譜,條形圖,錯(cuò)誤圖,散點(diǎn)圖等
官方文檔
[官方中文文檔]((https://www.matplotlib.org.cn/)
成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站建設(shè)、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的雅安網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
pip install matplotlib
import random
import matplotlib.pyplot as plt
from matplotlib import font_manager
# 創(chuàng)建測(cè)試數(shù)據(jù)
x_time = list(range(20))
y_temp =[random.randint(20,30) for i in x_time]
# 設(shè)置圖片大小
#plt.figure(figsize=(5, 5))
# 根據(jù)生成數(shù)據(jù)制圖
plt.plot(x_time,y_temp)
# 利用字體ttc文件生成字體對(duì)象,默認(rèn)不支持中文,顯示中文需要指定字體
myfont = font_manager.FontProperties(fname='/usr/share/fonts/cjkuni-uming/uming.ttc')
# 指定標(biāo)題
plt.title('20日溫度變化圖',fontproperties=myfont)
# 指定x軸和y軸標(biāo)簽
plt.xlabel('時(shí)間',fontproperties=myfont)
plt.ylabel('溫度',fontproperties=myfont)
# 設(shè)置x和y坐標(biāo)軸刻度和刻度標(biāo)簽,并指定字體和旋轉(zhuǎn)角度
plt.xticks(ticks=x_time,labels=['%s日'%i for i in x_time],fontproperties=myfont,rotation=30)
plt.yticks(range(min(y_temp),max(y_temp)+1))
# 保存至文件
plt.savefig('doc/折線圖.jpg')
import random
import matplotlib.pyplot as plt
from matplotlib import font_manager
# 利用字體ttc文件生成字體對(duì)象
myfont = font_manager.FontProperties(fname='/usr/share/fonts/cjkuni-uming/uming.ttc')
# 創(chuàng)建測(cè)試數(shù)據(jù)
x_time = list(range(20))
y_temp =[random.randint(20,30) for i in x_time]
y_temp2 =[random.randint(20,30) for i in x_time]
# 設(shè)置圖片大小
plt.figure(figsize=(5, 5))
# 設(shè)置標(biāo)題
plt.title('溫度變化散點(diǎn)圖',fontproperties=myfont)
# 設(shè)置x軸y軸標(biāo)簽
plt.xlabel("時(shí)間", fontproperties=myfont)
plt.ylabel("溫度", fontproperties=myfont)
# 設(shè)置坐標(biāo)軸刻度和標(biāo)簽
plt.xticks(ticks=x_time,labels=['%s日'%i for i in x_time],fontproperties=myfont,rotation=30)
plt.yticks(range(min(y_temp),max(y_temp)+1))
# 根據(jù)數(shù)據(jù)生成散點(diǎn)圖
plt.scatter(x_time,y_temp,label='測(cè)試散點(diǎn)圖1',color='g')
plt.scatter(x_time,y_temp2,label='測(cè)試散點(diǎn)圖2',color='r')
# 設(shè)置圖例,指定字體和位置
plt.legend(prop=myfont, loc="upper left")
# 設(shè)置網(wǎng)格,指定透明度
plt.grid(alpha=0.5)
# 保存至文件
plt.savefig('doc/散點(diǎn)圖.jpg')
# 執(zhí)行時(shí)顯示
# plt.show()
import random
import matplotlib.pyplot as plt
from matplotlib import font_manager
# 利用字體ttc文件生成字體對(duì)象
myfont = font_manager.FontProperties(fname='/usr/share/fonts/cjkuni-uming/uming.ttc')
# 創(chuàng)建測(cè)試數(shù)據(jù)
x_time = list(range(20))
y_temp =[random.randint(20,30) for i in x_time]
y_temp2 =[random.randint(20,30) for i in x_time]
# 設(shè)置圖片大小
plt.figure(figsize=(5, 5))
# 設(shè)置標(biāo)題
plt.title('溫度變化條形圖',fontproperties=myfont)
# 設(shè)置x軸y軸標(biāo)簽
plt.xlabel("時(shí)間", fontproperties=myfont)
plt.ylabel("溫度", fontproperties=myfont)
# 設(shè)置坐標(biāo)軸刻度和標(biāo)簽
plt.xticks(ticks=x_time,labels=['%s日'%i for i in x_time],fontproperties=myfont,rotation=30)
plt.yticks(range(min(y_temp),max(y_temp)+1))
# 根據(jù)數(shù)據(jù)生成條形圖,設(shè)置圖例標(biāo)簽,顏色,寬度(默認(rèn)為1個(gè)單位寬度)
plt.bar([i+0.25 for i in x_time],y_temp,label='測(cè)試散點(diǎn)圖1',color='b',width=0.5)
plt.bar([i-0.25 for i in x_time],y_temp2,label='測(cè)試散點(diǎn)圖2',color='r',width=0.5)
# 設(shè)置圖例,指定字體和位置
plt.legend(prop=myfont, loc="upper left")
# 設(shè)置網(wǎng)格,指定透明度
plt.grid(alpha=0.5)
# 保存至文件
plt.savefig('doc/條形圖.jpg')
import random
import matplotlib.pyplot as plt
from matplotlib import font_manager
# 利用字體ttc文件生成字體對(duì)象
myfont = font_manager.FontProperties(fname='/usr/share/fonts/cjkuni-uming/uming.ttc')
# 創(chuàng)建測(cè)試數(shù)據(jù)
x_time = list(range(20))
y_temp =[random.randint(20,30) for i in x_time]
# 組距
distance = 1
# 組數(shù)
num = (max(y_temp)-min(y_temp))//distance
# 設(shè)置標(biāo)題
plt.title('溫度變化直方圖',fontproperties=myfont)
# 設(shè)置x軸y軸標(biāo)簽
plt.xlabel("溫度", fontproperties=myfont)
plt.ylabel("頻數(shù)", fontproperties=myfont)
# 設(shè)置坐標(biāo)軸刻度和標(biāo)簽
plt.xticks(list(range(min(y_temp),max(y_temp)+1)))
# 生成直方圖
plt.hist(y_temp,num)
# 設(shè)置網(wǎng)格,指定線條風(fēng)格和透明度
plt.grid(linestyle='-.',alpha=0.5)
# 保存至文件
plt.savefig('doc/直方圖.jpg')
# 執(zhí)行時(shí)顯示
# plt.show()
import random
import matplotlib.pyplot as plt
from matplotlib import font_manager
# 利用字體ttc文件生成字體對(duì)象
myfont = font_manager.FontProperties(fname='/usr/share/fonts/cjkuni-uming/uming.ttc')
# 創(chuàng)建測(cè)試數(shù)據(jù)
x_time = list(range(20))
y_temp =[random.randint(20,30) for i in x_time]
# 標(biāo)題
plt.title('溫度變化餅狀圖',fontproperties=myfont)
# 生成餅狀圖,數(shù)據(jù),數(shù)據(jù)標(biāo)簽
plt.pie(y_temp,labels=['%s-%s'%(i[0],i[1]) for i in zip(x_time,y_temp)])
# 保存至文件
plt.savefig('doc/餅狀圖.jpg')