日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

十分钟入门Matplotlib

發(fā)布時間:2023/12/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 十分钟入门Matplotlib 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

數(shù)據(jù)的處理、分析和可視化已經(jīng)成為 Python 近年來最重要的應用之一。這種現(xiàn)象又進一步引出“大數(shù)據(jù)”分析等類似的話題,而大數(shù)據(jù)分析在人們所能預見的諸多領(lǐng)域內(nèi)都有廣泛應用,這其中就包含筆者個人感興趣的機器學習。

Python 在處理數(shù)據(jù)、分析數(shù)據(jù)以及數(shù)據(jù)可視化方面擁有很多功能強大的工具,這也是 Python 在科學領(lǐng)域中能夠迅速發(fā)展的一個主要原因。

在接下來的一系列文章中,我們將介紹 Python 科學計算中涉及的主要的庫,并且學習如何使用它們處理數(shù)據(jù)以滿足我們的需求。但是我們并非只是停留在快速寫出模板代碼來使用這些庫的層面上,我們還會了解這些庫背后的數(shù)學知識,以幫助我們更好地理解庫的運行原理。

首先,我們將從一個功能非常強大的庫 Matplotlib 開始介紹,在后面的文章中也會一直用到這個庫。

什么是 Matplotlib?

簡單來說,Matplotlib 是 Python 的一個繪圖庫。它包含了大量的工具,你可以使用這些工具創(chuàng)建各種圖形,包括簡單的散點圖,正弦曲線,甚至是三維圖形。Python 科學計算社區(qū)經(jīng)常使用它完成數(shù)據(jù)可視化的工作。

你可以在他們的網(wǎng)站上了解到更多 Matplotlib 背后的設計思想,但是我強烈建議你先瀏覽一下他們的圖庫,體會一下這個庫的各種神奇功能。

畫一個簡單的圖形

首先我們要畫一條在 [0, 2pi] 上的正弦曲線。讀者應該會注意到我們在這里使用了 Numpy 庫,但是即便你沒有使用過這個庫也不用擔心,在后面的文章中我們也會介紹到 Numpy 庫。

Python <span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="kn">as</span> <span class="nn">plt</span> <span class="kn">import</span> <span class="nn">numpy</span> <span class="kn">as</span> <span class="nn">np</span>
12 <span class="kn">import</span><span class="nn">matplotlib.pyplot</span><span class="kn">as</span><span class="nn">plt</span><span class="kn">import</span><span class="nn">numpy</span><span class="kn">as</span><span class="nn">np</span>

以上這些就是我們將要用到的導入模塊。在我的上一篇文章(以及另一篇文章)中都提到過?from x import *?是一種糟糕的導入方式。我們不想在程序里重復書寫?matplotlib.pyplot?和?numpy,這種書寫方式過于冗長,因此我們采用了上面的折中寫法。

Python <span class="c"># 簡單的繪圖</span> <span class="n">x</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="p">,</span> <span class="mi">50</span><span class="p">)</span> <span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="n">x</span><span class="p">))</span> <span class="c"># 如果沒有第一個參數(shù) x,圖形的 x 坐標默認為數(shù)組的索引</span> <span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span> <span class="c"># 顯示圖形</span>
1234 <span class="c"># 簡單的繪圖</span><span class="n">x</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">2</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="p">,</span><span class="mi">50</span><span class="p">)</span><span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="n">x</span><span class="p">))</span><span class="c"># 如果沒有第一個參數(shù) x,圖形的 x 坐標默認為數(shù)組的索引</span><span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span><span class="c"># 顯示圖形</span>

上面的代碼將畫出一個簡單的正弦曲線。np.linspace(0, 2 * np.pi, 50)?這段代碼將會生成一個包含 50 個元素的數(shù)組,這 50 個元素均勻的分布在 [0, 2pi] 的區(qū)間上。

plot?命令以一種簡潔優(yōu)雅的方式創(chuàng)建了圖形。提醒一下,如果沒有第一個參數(shù) x,圖形的 x 軸坐標將不再是 0 到 2pi,而應該是數(shù)組的索引范圍。

最后一行代碼?`plt.show()?將圖形顯示出來,如果沒有這行代碼圖像就不會顯示。

運行代碼后應該會類似得到下面的圖形:

在一張圖上繪制兩個數(shù)據(jù)集

大多數(shù)時候讀者可能更想在一張圖上繪制多個數(shù)據(jù)集。用 Matplotlib 也可以輕松實現(xiàn)這一點。

Python <span class="n">x</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="p">,</span> <span class="mi">50</span><span class="p">)</span> <span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="n">x</span><span class="p">),</span> <span class="n">x</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="mi">2</span> <span class="o">*</span> <span class="n">x</span><span class="p">))</span> <span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
1234 <span class="n">x</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">2</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="p">,</span><span class="mi">50</span><span class="p">)</span><span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="n">x</span><span class="p">),</span><span class="n">x</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="mi">2</span><span class="o">*</span><span class="n">x</span><span class="p">))</span><span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>

上面的代碼同時繪制了表示函數(shù) sin(x) 和 sin(2x) 的圖形。這段代碼和前面繪制一個數(shù)據(jù)集的代碼幾乎完全相同,只有一點例外,這段代碼在調(diào)用?plt.plot()?的時候多傳入了一個數(shù)據(jù)集,并用逗號與第一個數(shù)據(jù)集分隔開。

最后你會得到類似于下面包含兩條曲線的圖形:

自定義圖形的外觀

當在同一個圖形上展示多個數(shù)據(jù)集時,通過改變線條的外觀來區(qū)分不同的數(shù)據(jù)集變得非常必要。

Python <span class="c"># 自定義曲線的外觀</span> <span class="n">x</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="p">,</span> <span class="mi">50</span><span class="p">)</span> <span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="n">x</span><span class="p">),</span> <span class="s">'r-o'</span><span class="p">,</span> <span class="n">x</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">cos</span><span class="p">(</span><span class="n">x</span><span class="p">),</span> <span class="s">'g--'</span><span class="p">)</span> <span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
12345 <span class="c"># 自定義曲線的外觀</span><span class="n">x</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">2</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="p">,</span><span class="mi">50</span><span class="p">)</span><span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="n">x</span><span class="p">),</span><span class="s">'r-o'</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">cos</span><span class="p">(</span><span class="n">x</span><span class="p">),</span><span class="s">'g--'</span><span class="p">)</span><span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>

上述代碼展示了兩種不同的曲線樣式:'r-o'?和?'g--'。字母 'r' 和 'g' 代表線條的顏色,后面的符號代表線和點標記的類型。例如?'-o'?代表包含實心點標記的實線,'--'?代表虛線。其他的參數(shù)需要讀者自己去嘗試,這也是學習 Matplotlib 最好的方式。

顏色: 藍色 - 'b' 綠色 - 'g' 紅色 - 'r' 青色 - 'c' 品紅 - 'm' 黃色 - 'y' 黑色 - 'k'('b'代表藍色,所以這里用黑色的最后一個字母) 白色 - 'w'

線: 直線 - '-' 虛線 - '--' 點線 - ':' 點劃線 - '-.'

常用點標記 點 - '.' 像素 - ',' 圓 - 'o' 方形 - 's' 三角形 - '^' 更多點標記樣式點擊這里

最后你會得到類似下面的圖形:

使用子圖

使用子圖可以在一個窗口繪制多張圖。

Python <span class="c"># 使用子圖</span> <span class="n">x</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="p">,</span> <span class="mi">50</span><span class="p">)</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplot</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> <span class="c"># (行,列,活躍區(qū))</span> <span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="n">x</span><span class="p">),</span> <span class="s">'r'</span><span class="p">)</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplot</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span> <span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">cos</span><span class="p">(</span><span class="n">x</span><span class="p">),</span> <span class="s">'g'</span><span class="p">)</span> <span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
1234567 <span class="c"># 使用子圖</span><span class="n">x</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">2</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="p">,</span><span class="mi">50</span><span class="p">)</span><span class="n">plt</span><span class="o">.</span><span class="n">subplot</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span><span class="c"># (行,列,活躍區(qū))</span><span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="n">x</span><span class="p">),</span><span class="s">'r'</span><span class="p">)</span><span class="n">plt</span><span class="o">.</span><span class="n">subplot</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span><span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">cos</span><span class="p">(</span><span class="n">x</span><span class="p">),</span><span class="s">'g'</span><span class="p">)</span><span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>

使用子圖只需要一個額外的步驟,就可以像前面的例子一樣繪制數(shù)據(jù)集。即在調(diào)用?plot()?函數(shù)之前需要先調(diào)用?subplot()?函數(shù)。該函數(shù)的第一個參數(shù)代表子圖的總行數(shù),第二個參數(shù)代表子圖的總列數(shù),第三個參數(shù)代表活躍區(qū)域。

活躍區(qū)域代表當前子圖所在繪圖區(qū)域,繪圖區(qū)域是按從左至右,從上至下的順序編號。例如在 4×4 的方格上,活躍區(qū)域 6 在方格上的坐標為 (2, 2)。

最終你會得到類似下面的圖形:

簡單的散點圖

散點圖是一堆離散點的集合。用 Matplotlib 畫散點圖也同樣非常簡單。

Python <span class="c"># 簡單的散點圖</span> <span class="n">x</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="p">,</span> <span class="mi">50</span><span class="p">)</span> <span class="n">y</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">)</span> <span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
12345 <span class="c"># 簡單的散點圖</span><span class="n">x</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">2</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="p">,</span><span class="mi">50</span><span class="p">)</span><span class="n">y</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="n">x</span><span class="p">)</span><span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">)</span><span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>

正如上面代碼所示,你只需要調(diào)用?scatter()?函數(shù)并傳入兩個分別代表 x 坐標和 y 坐標的數(shù)組。注意,我們通過?plot?命令并將線的樣式設置為?'bo'?也可以實現(xiàn)同樣的效果。

最后你會得到類似下面的無線圖形:

彩色映射散點圖

另一種你可能用到的圖形是彩色映射散點圖。這里我們會根據(jù)數(shù)據(jù)的大小給每個點賦予不同的顏色和大小,并在圖中添加一個顏色欄。

Python <span class="c"># 彩色映射散點圖</span> <span class="n">x</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">rand</span><span class="p">(</span><span class="mi">1000</span><span class="p">)</span> <span class="n">y</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">rand</span><span class="p">(</span><span class="mi">1000</span><span class="p">)</span> <span class="n">size</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">rand</span><span class="p">(</span><span class="mi">1000</span><span class="p">)</span> <span class="o">*</span> <span class="mi">50</span> <span class="n">colour</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">rand</span><span class="p">(</span><span class="mi">1000</span><span class="p">)</span> <span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">size</span><span class="p">,</span> <span class="n">colour</span><span class="p">)</span> <span class="n">plt</span><span class="o">.</span><span class="n">colorbar</span><span class="p">()</span> <span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
12345678 <span class="c"># 彩色映射散點圖</span><span class="n">x</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">rand</span><span class="p">(</span><span class="mi">1000</span><span class="p">)</span><span class="n">y</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">rand</span><span class="p">(</span><span class="mi">1000</span><span class="p">)</span><span class="n">size</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">rand</span><span class="p">(</span><span class="mi">1000</span><span class="p">)</span><span class="o">*</span><span class="mi">50</span><span class="n">colour</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">rand</span><span class="p">(</span><span class="mi">1000</span><span class="p">)</span><span class="n">plt</span><span class="o">.</span><span class="n">scatter</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">size</span><span class="p">,</span><span class="n">colour</span><span class="p">)</span><span class="n">plt</span><span class="o">.</span><span class="n">colorbar</span><span class="p">()</span><span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>

上面的代碼大量的用到了?np.random.rand(1000),原因是我們繪圖的數(shù)據(jù)都是隨機產(chǎn)生的。

同前面一樣我們用到了?scatter()?函數(shù),但是這次我們傳入了另外的兩個參數(shù),分別為所繪點的大小和顏色。通過這種方式使得圖上點的大小和顏色根據(jù)數(shù)據(jù)的大小產(chǎn)生變化。

然后我們用?colorbar()?函數(shù)添加了一個顏色欄。

最后你會得到類似于下面的彩色散點圖:

直方圖

直方圖是另一種常見的圖形,也可以通過幾行代碼創(chuàng)建出來。

Python <span class="c"># 直方圖</span> <span class="n">x</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">randn</span><span class="p">(</span><span class="mi">1000</span><span class="p">)</span> <span class="n">plt</span><span class="o">.</span><span class="n">hist</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="mi">50</span><span class="p">)</span> <span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
1234 <span class="c"># 直方圖</span><span class="n">x</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">randn</span><span class="p">(</span><span class="mi">1000</span><span class="p">)</span><span class="n">plt</span><span class="o">.</span><span class="n">hist</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="mi">50</span><span class="p">)</span><span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>

直方圖是 Matplotlib 中最簡單的圖形之一。你只需要給?hist()?函數(shù)傳入一個包含數(shù)據(jù)的數(shù)組。第二個參數(shù)代表數(shù)據(jù)容器的個數(shù)。數(shù)據(jù)容器代表不同的值的間隔,并用來包含我們的數(shù)據(jù)。數(shù)據(jù)容器越多,圖形上的數(shù)據(jù)條就越多。

最終你會得到類似下面的直方圖:

標題,標簽和圖例

當需要快速創(chuàng)建圖形時,你可能不需要為圖形添加標簽。但是當構(gòu)建需要展示的圖形時,你就需要添加標題,標簽和圖例。

Python <span class="c"># 添加標題,坐標軸標記和圖例</span> <span class="n">x</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">2</span> <span class="o">*</span> <span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="p">,</span> <span class="mi">50</span><span class="p">)</span> <span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="n">x</span><span class="p">),</span> <span class="s">'r-x'</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="s">'Sin(x)'</span><span class="p">)</span> <span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">cos</span><span class="p">(</span><span class="n">x</span><span class="p">),</span> <span class="s">'g-^'</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="s">'Cos(x)'</span><span class="p">)</span> <span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">()</span> <span class="c"># 展示圖例</span> <span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s">'Rads'</span><span class="p">)</span> <span class="c"># 給 x 軸添加標簽</span> <span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s">'Amplitude'</span><span class="p">)</span> <span class="c"># 給 y 軸添加標簽</span> <span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s">'Sin and Cos Waves'</span><span class="p">)</span> <span class="c"># 添加圖形標題</span> <span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
123456789 <span class="c"># 添加標題,坐標軸標記和圖例</span><span class="n">x</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">2</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="p">,</span><span class="mi">50</span><span class="p">)</span><span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="n">x</span><span class="p">),</span><span class="s">'r-x'</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">'Sin(x)'</span><span class="p">)</span><span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">np</span><span class="o">.</span><span class="n">cos</span><span class="p">(</span><span class="n">x</span><span class="p">),</span><span class="s">'g-^'</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">'Cos(x)'</span><span class="p">)</span><span class="n">plt</span><span class="o">.</span><span class="n">legend</span><span class="p">()</span><span class="c"># 展示圖例</span><span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s">'Rads'</span><span class="p">)</span><span class="c"># 給 x 軸添加標簽</span><span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s">'Amplitude'</span><span class="p">)</span><span class="c"># 給 y 軸添加標簽</span><span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s">'Sin and Cos Waves'</span><span class="p">)</span><span class="c"># 添加圖形標題</span><span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>

為了給圖形添加圖例,我們需要在?plot()?函數(shù)中添加命名參數(shù)?'label'?并賦予該參數(shù)相應的標簽。然后調(diào)用?legend()?函數(shù)就會在我們的圖形中添加圖例。

接下來我們只需要調(diào)用函數(shù)?title(),xlabel()?和?ylabel()?就可以為圖形添加標題和標簽。

你會得到類似于下面這張擁有標題、標簽和圖例的圖形:

以上內(nèi)容應該足夠幫助讀者開始使用 Matplotlib 和 Python 實現(xiàn)數(shù)據(jù)可視化,但是這些內(nèi)容并不全面。我強烈建議讀者親自嘗試使用這個工具,筆者也是通過這種方式掌握了這個工具。畫一些圖形,改變樣式并使用子圖功能,然后你就會很快掌握 Matplotlib 的使用方式。

這是一篇是關(guān)于如何使用 Matplotlib 和 Python 完成數(shù)據(jù)可視化的文章,也是 Python 科學計算系列文章中的第一篇。我希望讀者能從中有所收獲,并且對 Matplotlib 庫更加熟悉。




  • zeropython 微信公眾號 5868037 QQ號 5868037@qq.com QQ郵箱

總結(jié)

以上是生活随笔為你收集整理的十分钟入门Matplotlib的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。