python數(shù)學(xué)建模之Matplotlib?實(shí)現(xiàn)圖片繪制
Matplotlib 學(xué)習(xí)
Matplotlib簡(jiǎn)介
# Matplotlib簡(jiǎn)介: ''' 使用 Matplotlib 在 Python 中創(chuàng)建圖表【Matplotlib 是用于創(chuàng)建圖表的 Python 庫】 Matplotlib 是一個(gè)非常強(qiáng)大的 Python 畫圖工具,我們可以使用該工具將很多數(shù)據(jù)通過圖表的形式更直觀的呈現(xiàn)出來。 它能讓使用者很輕松地將數(shù)據(jù)圖形化,并且提供多樣化的輸出格式【可創(chuàng)建散點(diǎn)圖,折線圖,條形圖和餅圖等】 Matplotlib 可以用來繪制各種靜態(tài),動(dòng)態(tài),交互式的圖表。 注:在使用之前需在終端安裝Matplotlib 安裝命令為:pip install matplotlib Matplotlib應(yīng)用: Matplotlib 通常與 NumPy 和 SciPy(Scientific Python)一起使用, 這種組合廣泛用于替代 MatLab, 是一個(gè)強(qiáng)大的科學(xué)計(jì)算環(huán)境,有助于我們通過 Python 學(xué)習(xí)數(shù)據(jù)科學(xué)或者機(jī)器學(xué)習(xí) ''' # 查看版本 import matplotlib print(matplotlib.__version__)
Matplotlib 散點(diǎn)圖
# Matplotlib 散點(diǎn)圖 # 散點(diǎn)圖是一種圖形或數(shù)學(xué)圖,使用笛卡爾坐標(biāo)顯示一組數(shù)據(jù)的兩個(gè)變量的值 # 使用時(shí),我們可以使用 import 導(dǎo)入 pyplot 庫,并設(shè)置一個(gè)別名 plt import matplotlib.pyplot as plt x_hz = [i for i in range(10)] # 時(shí)間數(shù)據(jù) y_zz = [6, 14, 21, 36, 45, 52, 66, 72, 88, 92] # 價(jià)格數(shù)據(jù) plt.title('price for 10 years') # 設(shè)置圖表標(biāo)題 plt.scatter(x_hz, y_zz, color='blue', marker='x', label='item 1') # scatter()功能繪制散點(diǎn)圖 plt.xlabel('year') # 設(shè)置x軸標(biāo)簽 plt.ylabel('price') # 設(shè)置y軸標(biāo)簽 plt.grid(True) # grid()功能顯示網(wǎng)格 plt.legend() # legend()功能在軸上放置圖例 plt.show() # 顯示圖表
運(yùn)行效果如下:
Matplotlib Pyplot
# Matplotlib Pyplot ''' Pyplot 是 Matplotlib 的子庫,提供了和 MATLAB 類似的繪圖 API。 Pyplot 是常用的繪圖模塊,能很方便讓用戶繪制 2D 圖表。 Pyplot 包含一系列繪圖函數(shù)的相關(guān)函數(shù),每個(gè)函數(shù)會(huì)對(duì)當(dāng)前的圖像進(jìn)行一些修改 ''' import matplotlib.pyplot as plt import numpy as np x_d = np.array([0, 8]) y_d = np.array([0, 120]) plt.plot(x_d, y_d) # plot() 函數(shù)是繪制二維圖形的最基本函數(shù) plt.show()
運(yùn)行效果如下:
關(guān)于plot()
# 關(guān)于plot() ''' plot() 用于畫圖它可以繪制點(diǎn)和線,語法格式如下: # 畫單條線 plot([x], y, [fmt], *, data=None, **kwargs) # 畫多條線 plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs) 參數(shù)說明: x, y:點(diǎn)或線的節(jié)點(diǎn),x 為 x 軸數(shù)據(jù),y 為 y 軸數(shù)據(jù),數(shù)據(jù)可以列表或數(shù)組。 fmt:可選,定義基本格式(如顏色、標(biāo)記和線條樣式)。 **kwargs:可選,用在二維平面圖上,設(shè)置指定屬性,如標(biāo)簽,線的寬度等。 顏色字符:'b' 藍(lán)色,'m' 洋紅色,'g' 綠色,'y' 黃色,'r' 紅色,'k' 黑色,'w' 白色,'c' 青綠色,'#008000' RGB 顏色符串。多條曲線不指定顏色時(shí),會(huì)自動(dòng)選擇不同顏色。 線型參數(shù):'‐' 實(shí)線,'‐‐' 破折線,'‐.' 點(diǎn)劃線,':' 虛線。 標(biāo)記字符:'.' 點(diǎn)標(biāo)記,',' 像素標(biāo)記(極小點(diǎn)),'o' 實(shí)心圈標(biāo)記,'v' 倒三角標(biāo)記,'^' 上三角標(biāo)記,'>' 右三角標(biāo)記,'<' 左三角標(biāo)記...等等 ''' # 可使用 o 參數(shù),表示一個(gè)實(shí)心圈的標(biāo)記 import matplotlib.pyplot as plt import numpy as np x_p = np.array([0, 6]) y_p = np.array([3, 9]) plt.plot(x_p, y_p, 'o') plt.show()
運(yùn)行效果如下:
繪制任意數(shù)量的點(diǎn)
# 繪制任意數(shù)量的點(diǎn) import matplotlib.pyplot as plt import numpy as np x_dp = np.array([1, 3, 5, 7, 9]) y_dp = np.array([8, 4, 2, 6, 0]) plt.plot(x_dp, y_dp) plt.show()
運(yùn)行效果如下:
不指定 x 軸上的點(diǎn),看看效果
# 不指定 x 軸上的點(diǎn),看看效果 import matplotlib.pyplot as plt import numpy as np yd = np.array([2, 9]) plt.plot(yd) plt.show()
運(yùn)行效果如下:
再看看y更多值的效果
# 再看看y更多值的效果 import matplotlib.pyplot as plt import numpy as np yd2 = np.array([2, 9, 1, 8, 3, 8]) plt.plot(yd2) plt.show()
運(yùn)行效果如下:
繪制正余弦圖:
# 繪制正余弦圖: import matplotlib.pyplot as plt import numpy as np x = np.arange(0, 4*np.pi, 0.1) y = np.sin(x) z = np.cos(x) plt.plot(x, y, x, z) plt.show()
運(yùn)行效果如下:
兩個(gè)數(shù)據(jù)集
# 兩個(gè)數(shù)據(jù)集 import matplotlib.pyplot as plt x_d1 = [i for i in range(1, 11)] y_d1 = [2, 32, 41, 6, 15, 34, 34, 23, 12, 9] x_d2 = [i for i in range(1, 11)] y_d2 = [4, 12, 43, 21, 52, 32, 12, 43, 8, 20] plt.title('Prices for 10 years') plt.scatter(x_d1, y_d1, color='darkblue', marker='x', label='item 1') plt.scatter(x_d2, y_d2, color='darkred', marker='x', label='item 2') plt.xlabel('Year') plt.ylabel('Price') plt.grid(True) plt.legend() plt.show()
運(yùn)行效果如下:
Matplotlib 繪圖標(biāo)記
實(shí)心圓標(biāo)記:
# Matplotlib 繪圖標(biāo)記 # 繪圖過程可使用 plot() 方法的 marker 參數(shù)來定義標(biāo)記 # 實(shí)心圓標(biāo)記: import matplotlib.pyplot as plt import numpy as np yp = np.array([1, 3, 1, 4, 1, 5, 9, 5, 2, 1]) plt.plot(yp, marker='o') plt.show()
運(yùn)行效果如下:
用 * 標(biāo)記
# 用 * 標(biāo)記 import matplotlib.pyplot as plt import numpy as np yp2 = np.array([2, 3, 2, 43, 23, 12, 3, 4, 12, 43, 12]) plt.plot(yp, marker='*') plt.show()
運(yùn)行效果如下:
用下箭頭標(biāo)記
# 用下箭頭標(biāo)記 import matplotlib.pyplot as plt import matplotlib.markers plt.plot([1, 3, 5], marker=matplotlib.markers.CARETUPBASE) plt.show()
運(yùn)行效果如下:
Matplotlib 折線圖
# Matplotlib 折線圖 # 折線圖是一種顯示圖表的圖表,該信息顯示為一系列數(shù)據(jù)點(diǎn),這些數(shù)據(jù)點(diǎn)通過直線段相連,稱為標(biāo)記 # 正弦波折線圖: import matplotlib.pyplot as plt import numpy as np t = np.arange(0.0, 4.0, 0.01) # arange()函數(shù)返回給定間隔內(nèi)的均勻間隔的值列表 s = np.sin(2.5*np.pi*t) # plot()功能繪制折線圖 plt.plot(t, s) plt.title('Wave') plt.xlabel('Time') plt.ylabel('Vol') plt.grid(True) plt.show()
運(yùn)行效果如下:
fmt 參數(shù)
# fmt參數(shù) ''' fmt 參數(shù) fmt 參數(shù)定義了基本格式,如標(biāo)記、線條樣式和顏色。 fmt = '[marker][line][color]' 如 o:r【o 表示實(shí)心圓標(biāo)記,: 表示虛線,r 表示顏色為紅色】 : 代表虛線 - 代表實(shí)線 -- 代表破折線 -. 代表點(diǎn)劃線 除了黑色是用k表示,其他顏色均用各自英文首字母表示 ''' import matplotlib.pyplot as plt import numpy as np ft = np.array([3, 9, 2, 6]) plt.plot(ft, 'o:r') plt.show()
運(yùn)行效果如下:
標(biāo)記大小與顏色
設(shè)置標(biāo)記大小:
# 標(biāo)記大小與顏色 ''' 標(biāo)記大小與顏色 我們可以自定義標(biāo)記的大小與顏色,使用的參數(shù)分別是: markersize,簡(jiǎn)寫為 ms:定義標(biāo)記的大小。 markerfacecolor,簡(jiǎn)寫為 mfc:定義標(biāo)記內(nèi)部的顏色。 markeredgecolor,簡(jiǎn)寫為 mec:定義標(biāo)記邊框的顏色。 ''' # 設(shè)置標(biāo)記大小: import matplotlib.pyplot as plt import numpy as np dx = np.array([2, 32, 1, 43, 12, 12, 3]) plt.plot(dx, marker='o', ms=20) plt.show()
運(yùn)行效果如下:
設(shè)置標(biāo)記外邊框顏色:
# 設(shè)置標(biāo)記外邊框顏色: import numpy as np import matplotlib.pyplot as plt yys = np.array([2, 1, 43, 1, 2, 12, 1]) plt.plot(yys, marker='*', ms=20, mec='g') plt.show()
運(yùn)行效果如下:
設(shè)置標(biāo)記內(nèi)部顏色:
# 設(shè)置標(biāo)記內(nèi)部顏色: import matplotlib.pyplot as plt import numpy as np nys = np.array([2,3, 32, 12, 43, 12, 9]) plt.plot(nys, marker='o', ms=20, mfc='r') plt.show()
運(yùn)行效果如下:
Matplotlib 條形圖
# Matplotlib 條形圖 # 條形圖顯示帶有矩形條的分組數(shù)據(jù),其長(zhǎng)度與它們代表的值成比例【條形圖可以垂直或水平繪制】 import matplotlib.pyplot as plt import matplotlib.style as sty sty.use('ggplot') x = [i for i in range(1, 4)] y = [12, 8, 4] fuck, ax = plt.subplots() # subplots()函數(shù)返回圖形和軸對(duì)象 ax.bar(x, y, align='center') # bar()功能生成條形圖 ax.set_title('Olympic Gold for London') ax.set_ylabel('Gold medals') ax.set_xlabel('Countries') ax.set_xticks(x) ax.set_xticklabels(('China', 'UK', 'USA')) plt.show()
運(yùn)行效果如下:
總結(jié)
到此這篇關(guān)于python數(shù)學(xué)建模之Matplotlib 實(shí)現(xiàn)圖片繪制的文章就介紹到這了,更多相關(guān)python Matplotlib 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python常用數(shù)據(jù)結(jié)構(gòu)字典梳理
這篇文章主要介紹了python常用數(shù)據(jù)結(jié)構(gòu)字典梳理,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-08-08解決selenium模塊利用performance獲取network日志請(qǐng)求報(bào)錯(cuò)的問題(親測(cè)有效)
這篇文章主要介紹了解決selenium模塊利用performance獲取network日志請(qǐng)求報(bào)錯(cuò)的問題(親測(cè)有效),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03Python基本數(shù)據(jù)結(jié)構(gòu)之字典類型dict用法分析
這篇文章主要介紹了Python基本數(shù)據(jù)結(jié)構(gòu)之字典類型dict用法,結(jié)合實(shí)例形式分析了Python字典類型dict概念、原理、定義及基本使用技巧,需要的朋友可以參考下2019-06-06Pycharm 文件更改目錄后,執(zhí)行路徑未更新的解決方法
今天小編就為大家分享一篇Pycharm 文件更改目錄后,執(zhí)行路徑未更新的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07python?字符串模糊匹配Fuzzywuzzy的實(shí)現(xiàn)
本文主要介紹了python?字符串模糊匹配Fuzzywuzzy的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07pytorch如何保存訓(xùn)練模型參數(shù)并實(shí)現(xiàn)繼續(xù)訓(xùn)練
這篇文章主要介紹了pytorch如何保存訓(xùn)練模型參數(shù)并實(shí)現(xiàn)繼續(xù)訓(xùn)練問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09