python使用Matplotlib繪圖及設置實例(用python制圖)
# matplotlib提供快速繪圖模塊pyplot,它模仿瞭MATLAB的部分功能
import matplotlib.pyplot as plt #導入繪圖模塊 from matplotlib import pyplot as plt #兩種導入方法都可
第一節內容的精簡版總結:
- 繪制折線圖(plt.plot)
- 設置圖片大小和分辨率(plt.figure)
- 保存圖片到本地(plt.savefig)
- 設置xy軸刻度和字符串(xticks、yticks)
- 設置標題、xy軸標簽(title、xlable、ylable)
- 設置字體(font_manager.fontProperties,matplotlib.rc)
- 同一張圖繪制多線條(plt多次plot)
- 添加圖例、繪制網格
- 其他圖像類型(散點圖plt.scatter,條形圖plt.bar,橫向plt.barh,直方圖plt.hist(bin.width組距、num_bins分多少組、))
一、初識matplotlib.pyplot
準備好制圖數據,傳入參數。即可使用plt.plot(參數)、plt.show()一鍵出圖!
import matplotlib.pyplot as plt x = [......] y = [......] plt.plot(x,y,label='圖例') #繪圖,並且標註圖例 plt.show() #顯示 plot.legend(prop=my_font) #設置顯示圖例,括號中意思為顯示中文(後面講解)
1.繪制圖像
plt.plot() 參數設置:
- color=’ ‘ 線條顏色
- linestyle=’‘ 線條風格
- linewidth= 線條粗細
- alpha=0.5 透明度 (對照表見常見繪圖屬性設置附表)
一個實例:假設一天中每隔兩個小時(range(2,26,2))的氣溫(℃)分別是[15,13,14.5,17,20,25,26,26,27,22,18,15]
import matplotlib.pyplot as plt x = range(2,26,2) y = [15,13,14.5,17,20,25,26,26,27,22,18,15] # 繪圖 plt.plot(x,y) # 顯示 plt.show()
繪制出如下圖片:
2.設置圖片大小
在繪制圖片之前,使用plt.figure函數設置圖片大小,其中figsize為元組,分別代表長寬,dpi(Dot Per Inch)為分辨率表示的單位之一。
plt.figure(figsize=(20,8),dpi=150) #圖片大小為20*8,每英寸150個像素點
3.保存圖片文件
plt.savefig("./t1.png") #將圖片保存到本地
引號裡為文件路徑和文件名( ./ 代表當前路徑,png為文件後綴/格式)
4.設置X,Y軸刻度范圍
設置x,y軸的范圍可以使用多種方法
plt.xticks(x) # 將x裡的值作為刻度 plt.xticks(range(2,25)) #傳入range數列 plt.yticks(range(min(y),max(y)+1)) #傳入最小到最大值數列
_xticks_lables = [i/2 for i in range(4,49)] # 生成更復雜的數列 plt.xticks(_xticks_lables[::3]) #取步長作為刻度
自定義刻度內容
_x =list(x) [::3] _xticks_labels = ["10點{ }分".format(i) for i in _x] plt.xticks(_x,_xticks_labels) #分別代表刻度范圍和刻度內容
5.添加描述信息(標題、軸標簽)
plt.title("折線圖") #設置標題 plt.xlabel("時間") #設置x軸標註 plt.ylabel("氣溫") #設置y軸標註
6.設置顯示中文(導入字體模塊)
from matplotlib import font_manager #導入字體管理模塊 my_font = font_manager.FontProperties(fname="C:/WINDOWS/Fonts/STSONG.TTF") #定義中文字體屬性,文字儲存路徑可以在C:/WINDOWS/Fonts/找到,這裡設置為宋體 plt.xlabel("時間",fontproperties = my_font,fontsize = 18) #在設置x坐標中文標註,令fontproperties = my_font,fontsize令字體為18號 #plt.title,plt.ylabel,plt.xticks,plt.yticks設置中文標註類似
7.繪制網格
plt.grid(alpha=0.4)
繪制一個溫度隨時間變化的折線圖實例
import matplotlib.pyplot as plt import random #導入隨機生成模塊 from matplotlib import font_manager#導入字體管理模塊 my_font = font_manager.FontProperties(fname="C:/WINDOWS/Fonts/STSONG.TTF") #定義中文字體屬性,文字儲存路徑可以在C:/WINDOWS/Fonts/找到,本次設置為宋體 x = range(0,120) #x值為0-120 y = [random.randint(20,35) for i in range(120)] #y值為120個在20-35之間的隨機數 plt.figure(figsize=(15,10),dpi = 80) #圖片大小為15*10,每英寸80個像素點 '''調整x軸刻度''' _xticks_labels = ["10點{}分".format(i) for i in range(60)] _xticks_labels += ["11點{}分".format(i) for i in range(60,120)] plt.xticks(list(x)[::5],_xticks_labels[::5],rotation=45) #rotation旋轉度數 #取步長5,數字和字符串一一對應,保證數據的長度一樣 '''設置標註''' plt.title("10點到12點每分鐘溫度變化圖",fontproperties = my_font,fontsize = 24) #設置標題 plt.xlabel("時間",fontproperties = my_font,fontsize = 18) #設置x坐標標註,字體為18號 plt.ylabel("每分鐘對應的溫度",fontproperties = my_font,fontsize = 18) #設置y坐標標註 plt.plot(x,y) #繪圖 plt.show() #顯示
二、常見繪圖屬性設置
1.繪圖符號(Makers)
符號 |
中文說明 |
英文說明 |
'.' |
圓點 |
point marker |
',' |
像素點 |
pixel marker |
'o' |
圓圈 |
circle marker |
'v' |
向下三角形 |
triangle_down marker |
'^' |
向上三角形 |
triangle_up marker |
'<' |
向左三角形 |
triangle_left marker |
'>' |
向右三角形 |
triangle_right marker |
'1' |
向下Y形 |
tri_down marker |
'2' |
向上Y形 |
tri_up marker |
'3' |
向左Y形 |
tri_left marker |
'4' |
向右Y形 |
tri_right marker |
's' |
方形 |
square marker |
'p' |
五邊形 |
pentagon marker |
'*' |
星形 |
star marker |
'h' |
六角形1 |
hexagon1 marker |
'H' |
六角形2 |
hexagon2 marker |
'+' |
加號 |
plus marker |
'x' |
叉號 |
x marker |
'D' |
鉆石形 |
diamond marker |
'd' |
鉆石形(小) |
thin_diamond marker |
'|' |
豎線 |
vline marker |
'_' |
橫線 |
hline marker |
2.線型(Line Styles)
符號 |
中文說明 |
英文說明 |
'-' |
實線 |
solid line style |
'–' |
虛線 |
dashed line style |
'-.' |
點劃線 |
dash-dot line style |
':' |
點線 |
dotted line style |
3.顏色縮寫(Colors)
多種豐富的顏色對照代碼參見:RGB顏色值與十六進制顏色碼轉換工具 (sioe.cn)
符號 |
中文說明 |
英文說明 |
'b' |
藍 |
blue |
'g' |
綠 |
green |
'r' |
紅 |
red |
'c' |
青 |
cyan |
'm' |
紫 |
magenta |
'y' |
黃 |
yellow |
'k' |
黑 |
black |
'w' |
白 |
white |
4.Windows字體中英文名稱對照
中文名稱 |
英文名稱 |
黑體 |
SimHei |
微軟雅黑 |
Microsoft YaHei |
微軟正黑體 |
Microsoft JhengHei |
新宋體 |
NSimSun |
新細明體 |
PMingLiU |
細明體 |
MingLiU |
標楷體 |
DFKai-SB |
仿宋 |
FangSong |
楷體 |
KaiTi |
仿宋_GB2312 |
FangSong_GB2312 |
楷體_GB2312 |
KaiTi_GB2312 |
面向對象方式繪圖
- matplotlib是一套面向對象的繪圖庫,圖中的所有部件都是python對象。
- pyplot是matplotlib仿照MATLAB提供的一套快速繪圖API,它並不是matplotlib本體。
- pyplot雖然用起來簡單快捷,但它隱藏瞭大量的細節,不能使用一些高級功能。
- pyplot模塊內部保存瞭當前圖表和當前子圖等信息,可以分別用gcf()和gca()獲得這兩個對象:
- plt.gcf(): "Get current figure"獲取當前圖表(Figure對象)
- plt.gca(): "Get current figure"獲取當前子圖(Axes對象)
- pyplot中的各種繪圖函數,實際上是在內部調用gca獲取當前Axes對象,然後調用Axes的方法完成繪圖的。
import matplotlib.pyplot as plt # 獲取當前的Figure和Axes對象 plt.figure(figsize=(4,3)) fig = plt.gcf() axes = plt.gca() print(fig) print(axes)
配置對象的屬性
matplotlib所繪制的圖表的每一部分都對應一個對象,有兩種方式設置這些對象的屬性:
通過對象的set_*()方法設置。
通過pyplot的setp()方法設置。
同樣也有兩種方法查看對象的屬性:
通過對象的get_*()方法查看。
通過pyplot的getp()方法查看。
import matplotlib.pyplot as plt import numpy as np # 獲取當前的Figure和Axes對象 plt.figure(figsize=(4,3)) fig = plt.gcf() ; axes = plt.gca() print(fig); print(axes) x = np.arange(0, 5, 0.1) # 調用plt.plot函數,返回一個Line2D對象列表 lines = plt.plot(x, 0.05*x*x); print(lines) # 調用Line2D對象的set系列方法設置屬性值 # 用set_alpha設置alpha通道,也就是透明度 lines[0].set_alpha(0.5) ; plt.show() # plt.plot函數可以接受不定個數的位置參數,這些位置參數兩兩配對,生成多條曲線。 lines = plt.plot(x, np.sin(x), x, np.cos(x), x, np.tanh(x)) plt.show() # 使用plt.setp函數同時配置多個對象的屬性,這裡設置lines列表中所有曲線的顏色和線寬。 plt.setp(lines, color='r', linewidth=4.0);plt.show() # 使用getp方法查看所有的屬性 f = plt.gcf(); plt.getp(f)
import numpy as np import matplotlib.pyplot as plt # 獲取當前的Figure和Axes對象 plt.figure(figsize=(4,3)) fig = plt.gcf() ; axes = plt.gca() print(fig); print(axes) x = np.arange(0, 5, 0.1) # 調用plt.plot函數,返回一個Line2D對象列表 lines = plt.plot(x, 0.05*x*x); print(lines) # 調用Line2D對象的set系列方法設置屬性值 # 用set_alpha設置alpha通道,也就是透明度 lines[0].set_alpha(0.5) ; plt.show() # plt.plot函數可以接受不定個數的位置參數,這些位置參數兩兩配對,生成多條曲線。 lines = plt.plot(x, np.sin(x), x, np.cos(x), x, np.tanh(x)) plt.show() # 使用plt.setp函數同時配置多個對象的屬性,這裡設置lines列表中所有曲線的顏色和線寬。 plt.setp(lines, color='r', linewidth=4.0);plt.show() # 使用getp方法查看所有的屬性 f = plt.gcf(); plt.getp(f) # 查看某個屬性 print(plt.getp(lines[0],"color")) # 使用對象的get_*()方法 print(lines[0].get_linewidth()) # Figure對象的axes屬性是一個列表,存儲該Figure中的所有Axes對象。 # 下面代碼查看當前Figure的axes屬性,也就是gca獲得的當前Axes對象。 print(plt.getp(f, 'axes')) print(len(plt.getp(f, 'axes'))) print(plt.getp(f, 'axes')[0] is plt.gca()) # 用plt.getp()可以繼續獲取AxesSubplot對象的屬性,例如它的lines屬性為子圖中的Line2D對象列表。 # 通過這種方法可以查看對象的屬性值,以及各個對象之間的關系。 all_lines = plt.getp(plt.gca(), "lines");print(all_lines) plt.close() # 關閉當前圖表
繪制多個子圖
在matplotlib中,一個Figure對象可以包括多個Axes對象(也就是子圖),一個Axes代表一個繪圖區域。最簡單的多子圖繪制方式是使用pyplot的subplot函數。
subplot(numRows, numCols, plotNum)接受三個參數:
numRows:子圖行數
numCols:子圖列數
plotNum:第幾個子圖(按從左到右,從上到下的順序編號)
import matplotlib.pyplot as plt # 創建3行2列,共計6個子圖。 # subplot(323)等價於subplot(3,2,3)。 # 子圖的編號是從1開始,不是從0開始。 fig = plt.figure(figsize=(4,3)) for idx,color in enumerate('rgbcyk'): plt.subplot(321+idx, facecolor=color) plt.show() # 如果新創建的子圖和之前創建的有重疊區域,則之前的子圖會被刪除 plt.subplot(221) plt.show() plt.close() # 還可以用多個高度或寬度不同的子圖相互拼接 fig = plt.figure(figsize=(4,3)) plt.subplot(221) # 第一行左圖 plt.subplot(222) # 第一行右圖 plt.subplot(212) # 第二行整行 plt.show() plt.close()
三、Artist對象
簡單類型的Artist對象是標準的繪圖元件,例如Line2D,Rectangle,Text,AxesImage等
容器類型的Artist對象包含多個Artist對象使他們組織成一個整體例如Axis,Axes,Figure對象
Artist對象進行繪圖的流程
- 創建Figure對象
- 為Figure對象創建一個或多個Axes對象
- 調用Axes對象的方法來創建各種簡單的Artist對象
import matplotlib.pyplot as plt fig = plt.figure() # 列表用於描述圖片所在的位置以及圖片的大小 ax = fig.add_axes([0.15, 0.1, 0.7, 0.3]) ax.set_xlabel('time') line = ax.plot([1, 2, 3], [1, 2, 1])[0] # ax的lines屬性是一個包含所有曲線的列表 print(line is ax.lines[0]) # 通過get_*獲得相應的屬性 print(ax.get_xaxis().get_label().get_text()) plt.show()
設置Artist屬性
get_* 和 set_* 函數進行讀寫fig.set_alpha(0.5*fig.get_alpha())
Artist 屬性 |
作用 |
alpha |
透明度,值在0到1之間,0為完全透明,1為完全不透明 |
animated |
佈爾值,在繪制動畫效果時使用 |
axes |
此Artist對象所在的Axes對象,可能為None |
clip_box |
對象的裁剪框 |
clip_on |
是否裁剪 |
clip_path |
裁剪的路徑 |
contains |
判斷指定點是否在對象上的函數 |
figure |
所在的Figure對象,可能為None |
label |
文本標簽 |
picker |
控制Artist對象選取 |
transform |
控制偏移旋轉 |
visible |
是否可見 |
zorder |
控制繪圖順序 |
一些例子
import matplotlib.pyplot as plt fig = plt.figure() # 設置背景色 fig.patch.set_color('g') # 必須更新界面才會有效果 fig.canvas.draw() plt.show() # artist對象的所有屬性都可以通過相應的get_*()和set_*()進行讀寫 # 例如設置下面圖像的透明度 line = plt.plot([1, 2, 3, 2, 1], lw=4)[0] line.set_alpha(0.5) line.set(alpha=0.5, zorder=1) # fig.canvas.draw() # 輸出Artist對象的所有屬性名以及與之對應的值 print(fig.patch) plt.show()
import matplotlib.pyplot as plt fig = plt.figure() fig.subplots_adjust(top=0.8) ax1 = fig.add_subplot(211) ax1.set_ylabel('volts') ax1.set_title('a sine wave') t = np.arange(0.0, 1.0, 0.01) s = np.sin(2*np.pi*t) line, = ax1.plot(t, s, color='blue', lw=2) # Fixing random state for reproducibility np.random.seed(19680801) ax2 = fig.add_axes([0.15, 0.1, 0.7, 0.3]) n, bins, patches = ax2.hist(np.random.randn(1000), 50, facecolor='yellow', edgecolor='orange') ax2.set_xlabel('time (s)') plt.show()
Figure容器
最上層的Artist對象是Figure,包含組成圖表的所有元素
Figure可以包涵多個Axes(多個圖表),創建主要有三種方法:
- axes = fig.add_axes([left, bottom, width, height])
- fig, axes = plt.subplots(行數, 列數)
- axes = fig.add_subplot(行數, 列數, 序號)
Figure 屬性 |
說明 |
axes |
Axes對象列表 |
patch |
作為背景的Rectangle對象 |
images |
FigureImage對象列表,用來顯示圖片 |
legends |
Legend對象列表 |
lines |
Line2D對象列表 |
patches |
patch對象列表 |
texts |
Text對象列表,用來顯示文字 |
import matplotlib.pyplot as plt # 下面請看一個多Figure,多Axes,互相靈活切換的例子。 plt.figure(1) # 創建圖表1 plt.figure(2) # 創建圖表2 ax1 = plt.subplot(121) # 在圖表2中創建子圖1 ax2 = plt.subplot(122) # 在圖表2中創建子圖2 x = np.linspace(0, 3, 100) for i in range(5): plt.figure(1) # 切換到圖表1 plt.plot(x, np.exp(i*x/3)) plt.sca(ax1) # 選擇圖表2的子圖1 plt.plot(x, np.sin(i*x)) plt.sca(ax2) # 選擇圖表2的子圖2 plt.plot(x, np.cos(i*x)) ax2.plot(x, np.tanh(i*x)) # 也可以通過ax2的plot方法直接繪圖 plt.show() plt.close() # 打開瞭兩個Figure對象,因此要執行plt.close()兩次 plt.close() # 還可以使用subplots函數,一次生成多個子圖,並返回Figure對象和Axes對象數組。 # 註意subplot和subplots兩個函數差一個s,前者是逐個生成子圖,後者是批量生成。 fig, axes = plt.subplots(2, 3, figsize=(4,3)) [a,b,c],[d,e,f] = axes print(axes.shape) print(b) plt.show() plt.close()
Axes容器
- 圖像的區域,有數據空間(標記為內部藍色框)
- 圖形可以包含多個 Axes,軸對象隻能包含一個圖形
- Axes 包含兩個(或三個)Axis對象,負責數據限制
- 每個軸都有一個標題(通過set_title()設置)、一個x標簽(通過set_xLabel()設置)和一個通過set_yLabel()設置的y標簽集。
Axes 屬性 |
說明 |
artists |
A list of Artist instances |
patch |
Rectangle instance for Axes background |
collections |
A list of Collection instances |
images |
A list of AxesImage |
legends |
A list of Legend instances |
lines |
A list of Line2D instances |
patches |
A list of Patch instances |
texts |
A list of Text instances |
xaxis |
matplotlib.axis.XAxis instance |
yaxis |
matplotlib.axis.YAxis instance |
Axes的方法(Helper method) |
所創建的對象(Artist ) |
添加進的列表(Container) |
ax.annotate – text annotations |
Annotate |
ax.texts |
ax.bar – bar charts |
Rectangle |
ax.patches |
ax.errorbar – error bar plots |
Line2D and Rectangle |
ax.lines and ax.patches |
ax.fill – shared area |
Polygon |
ax.patches |
ax.hist – histograms |
Rectangle |
ax.patches |
ax.imshow – image data |
AxesImage |
ax.images |
ax.legend – axes legends |
Legend |
ax.legends |
ax.plot – xy plots |
Line2D |
ax.lines |
ax.scatter – scatter charts |
PolygonCollection |
ax.collections |
ax.text – text |
Text |
ax.texts |
subplot2grid函數進行更復雜的佈局。subplot2grid(shape, loc, rowspan=1, colspan=1, **kwargs)
- shape為表示表格形狀的元組(行數,列數)
- loc為子圖左上角所在的坐標元組(行,列)
- rowspan和colspan分別為子圖所占據的行數和列數
import matplotlib.pyplot as plt fig = plt.figure(figsize=(6,6)) ax1 = plt.subplot2grid((3,3),(0,0),colspan=2) ax2 = plt.subplot2grid((3,3),(0,2),rowspan=2) ax3 = plt.subplot2grid((3,3),(1,0),rowspan=2) ax4 = plt.subplot2grid((3,3),(2,1),colspan=2) ax5 = plt.subplot2grid((3,3),(1,1)) plt.show() plt.close()
坐標軸上的刻度線、刻度文本、坐標網格及坐標軸標題等
set_major_* set_minor_*
get_major_* get_minor_*
import numpy as np import matplotlib.pyplot as plt # plt.figure creates a matplotlib.figure.Figure instance fig = plt.figure() rect = fig.patch # a rectangle instance rect.set_facecolor('yellow') ax1 = fig.add_axes([0.1, 0.3, 1,1]) rect = ax1.patch rect.set_facecolor('orange') for label in ax1.xaxis.get_ticklabels(): # label is a Text instance label.set_color('red') label.set_rotation(45) label.set_fontsize(16) for line in ax1.yaxis.get_ticklines(): # line is a Line2D instance line.set_color('green') line.set_markersize(5) line.set_markeredgewidth(3) plt.show()
坐標軸刻度設置
matplotlib會按照用戶所繪制的圖的數據范圍自動計算,但有的時候也需要我們自定義。
我們有時候希望將坐標軸的文字改為我們希望的樣子,比如特殊符號,年月日等。
# 修改坐標軸刻度的例子 # 配置X軸的刻度線的位置和文本,並開啟副刻度線 # 導入fractions包,處理分數 import numpy as np import matplotlib.pyplot as plt from fractions import Fraction # 導入ticker,刻度定義和文本格式化都在ticker中定義 from matplotlib.ticker import MultipleLocator, FuncFormatter x = np.arange(0, 4*np.pi, 0.01) fig, ax = plt.subplots(figsize=(8,4)) plt.plot(x, np.sin(x), x, np.cos(x)) # 定義pi_formatter, 用於計算刻度文本 # 將數值x轉換為字符串,字符串中使用Latex表示數學公式。 def pi_formatter(x, pos): frac = Fraction(int(np.round(x / (np.pi/4))), 4) d, n = frac.denominator, frac.numerator if frac == 0: return "0" elif frac == 1: return "$\pi$" elif d == 1: return r"${%d} \pi$" % n elif n == 1: return r"$\frac{\pi}{%d}$" % d return r"$\frac{%d \pi}{%d}$" % (n, d) # 設置兩個坐標軸的范圍 plt.ylim(-1.5,1.5) plt.xlim(0, np.max(x)) # 設置圖的底邊距 plt.subplots_adjust(bottom = 0.15) plt.grid() #開啟網格 # 主刻度為pi/4 # 用MultipleLocator以指定數值的整數倍放置刻度線 ax.xaxis.set_major_locator( MultipleLocator(np.pi/4) ) # 主刻度文本用pi_formatter函數計算 # 使用指定的函數計算刻度文本,這裡使用我們剛剛編寫的pi_formatter函數 ax.xaxis.set_major_formatter( FuncFormatter( pi_formatter ) ) # 副刻度為pi/20 ax.xaxis.set_minor_locator( MultipleLocator(np.pi/20) ) # 設置刻度文本的大小 for tick in ax.xaxis.get_major_ticks(): tick.label1.set_fontsize(16) plt.show() plt.close()
import datetime import numpy as np import matplotlib.pyplot as plt # 準備數據 x = np.arange(0,10,0.01) y = np.sin(x) # 將數據轉換為datetime對象列表 date_list = [] date_start = datetime.datetime(2000,1,1,0,0,0) delta = datetime.timedelta(days=1) for i in range(len(x)): date_list.append(date_start + i*delta) # 繪圖,將date_list作為x軸數據,當作參數傳遞 fig, ax = plt.subplots(figsize=(10,4)) plt.plot(date_list, y) # 設定標題 plt.title('datetime example') plt.ylabel('data') plt.xlabel('Date') plt.show() plt.close()
如果數據中本來就有時間日期信息,可以使用strptime和strftime直接轉換。
使用strptime函數將字符串轉換為time,使用strftime將time轉換為字符串。
python中的時間日期格式化符號:
符號 |
意義 |
%y |
兩位數的年份表示(00-99) |
%Y |
四位數的年份表示(000-9999) |
%m |
月份(01-12) |
%d |
月內中的一天(0-31) |
%H |
24小時制小時數(0-23) |
%I |
12小時制小時數(01-12) |
%M |
分鐘數(00=59) |
%S |
秒(00-59) |
%a |
本地簡化星期名稱 |
%A |
本地完整星期名稱 |
%b |
本地簡化的月份名稱 |
%B |
本地完整的月份名稱 |
%c |
本地相應的日期表示和時間表示 |
%j |
年內的一天(001-366) |
%p |
本地A.M.或P.M.的等價符 |
%U |
一年中的星期數(00-53)星期天為星期的開始 |
%w |
星期(0-6),星期天為星期的開始 |
%W |
一年中的星期數(00-53)星期一為星期的開始 |
%x |
本地相應的日期表示 |
%X |
本地相應的時間表示 |
%Z |
當前時區的名稱 |
%% |
%號本身 |
總結
到此這篇關於python使用Matplotlib繪圖及設置的文章就介紹到這瞭,更多相關python Matplotlib繪圖設置內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Python數據分析之 Matplotlib 折線圖繪制
- 詳解Python中matplotlib模塊的繪圖方式
- Python+matplotlib繪制多子圖的方法詳解
- Python數據分析應用之Matplotlib數據可視化詳情
- 利用python繪制線型圖