30分鐘入門 Matplotlib 繪圖

2021-01-14 Python中文社區

Matplotlib是一個主要用於繪製二維圖形的Python庫。數據可視化是數據分析的重要環節,藉助圖形能夠幫助更加直觀地表達出數據背後的」東西」。Matplolib最初主要模仿Matlab的畫圖命令,但是它是獨立於Matlab的,可以自由、免費使用的繪圖包。Matplotlib依賴於之前介紹的Numpy庫來提供出色的繪圖能力。

Matplotlib的官網地址

http:

MatplotlibAPI的詳細介紹請參考官網地址:

http:

Windows,Linux,Mac 三種作業系統都可以安裝Matplotlib庫。以Windows為例,進入CMD窗口中,使用pip命令安裝Matplotlib,系統會自動進行安裝。

pip install matplotlib

如果安裝失敗,可以使用國內的鏡像來安裝Matplotlib庫,如下所示。

pip install matplotlib -ihttps://pypi.tuna.tsinghua.edu.cn/simple/

正常情況下,系統還會下載其它的關聯安裝包並完成安裝,最後系統會提示已經安裝成功Matplotlib了,如圖所示。
我們使用Matplotligb畫一個簡單直線圖。本案例的文件名為PythonFullStack/Chapter07/ pl_linechart.py,內容如下:

#導入 pyplot模塊,並起一個別名 plt
import matplotlib.pyplot as plt
# 設置X軸的坐標為 [1,2,3],設置Y軸的坐標為 [3,2,1]
plt.plot( [1,2,3],[3,2,1] )
#畫圖
plt.show()

運行腳本如果可以顯示下圖形,說明Matplotlib的環境安裝成功了。


散點圖

繪製身高-體重的散點圖

import matplotlib.pyplot as plt

height=[161,170,182,175,173,165]
weight=[50,58,80,70,69,55]


plt.scatter(height,weight , alpha=0.7)

plt.xlabel( 'height')

plt.ylabel( 'weight ')

plt.title('scatter demo')

plt.show()

運行腳本輸出以下圖形。

散點圖主要演示2個變量的相關性:正相關,負相關,不相關。我們先看下無相關性的散點圖。

例子2:無相關性的散點圖。

import numpy as np
import matplotlib.pyplot as plt


np.random.seed(10)

N= 100
x = np.random.randn(N)
y1=np.random.randn(N)

plt.scatter(x,y1 )

plt.show()

運行腳本輸出以下圖形

折線圖

折線圖,也叫條形圖,是用直線將各數據連接起來組成的圖形。常用來觀察數據隨時間變化的趨勢。例如股票價格,溫度變化等等,如圖7-27所示。

上圖的折線圖是某公司近五年的汽車銷售數據,折線圖的橫坐標是時間,縱坐標是銷售量,表示隨著時間的推移,銷售量的變化趨勢。

示例1: 顯示 y = 2 x +1 的圖形。

Matplotlib中最基礎的模塊式pyplot,下面從最簡單的線圖開始講解,比如有一組數據,還有一個擬合模型,通過編寫代碼來實現數據與模型結果的可視化。

假設一個線性函數具有形式y = ax + b,自變量x,因變量是y,Y軸截距為b,斜率為a。
下面用簡單的數據來描述線程方程y = 2x +1,代碼如下。

import matplotlib.pyplot as plt
import numpy as np


x = np.linspace( -1 , 1, 50  )

y = 2 * x + 1


plt.xlabel('X')

plt.ylabel('Y ')

plt.plot(x,y)

plt.show()

運行腳本會輸出以下圖形。

在上圖中,我們使用線程方程y = 2x +1畫出的是直線圖,如果想畫出曲線圖,只需要更改線程方程為y= x **2 ,完整代碼如下。

import matplotlib.pyplot as plt
import numpy as np


plt.xlabel('X')

plt.ylabel('Y ')



x = np.linspace( -1 , 1, 50  )


y = x**2


plt.plot (x,y)

plt.show()

運行腳本輸出以下圖形。

柱狀圖

柱狀圖,也叫條形圖,以長方形的長度為變量的統計視圖。用來比較多個類別的數據大小。通常用來比較兩個或以上的變量。如果只有一個變量,通常用於用於較小的數據集分析。例如:不同季度的銷量,不同國家的人口等。

例子1:垂直柱狀圖。

本案例文件名為PythonFullStack/Chapter07/mpl_bar01,顯示垂直的柱狀圖,其完整代碼如下。

import numpy as np
import matplotlib.pyplot as plt


index = np.arange(5)

y=[20,10,30,25,15]


p1 = plt.bar(left=index, height=y , width=0.5 , color='r' )

plt.title("bar demo")
plt.show()

運行腳本會輸出以下圖形。

圖733垂直柱狀圖

例子2:水平柱狀圖。

本案例文件名為PythonFullStack/Chapter07/mpl_bar02,顯示水平的柱狀圖,其完整代碼如下。

import numpy as np
import matplotlib.pyplot as plt

N = 5

y=[20,10,30,25,15]

index = np.arange(N)


p2 = plt.bar(left=0,bottom=index, width=y,height=0.8,orientation ='horizontal' )

plt.title("bar demo")
plt.show()

運行腳本會輸出以下圖形。

這個案例的核心代碼如下,首先使用Numpy生成一個矩陣index,然後需要設置Matplotlib的bar()函數的bottom屬性為index,表示柱狀圖的底部變成了index,水平垂直柱狀圖的橫坐標變成了縱坐標,然後設置 plt.bar()函數的 left屬性0,還要設置orientation屬性為』horizontal』。orientation表示條形圖的方向,設定的值horizontal』表示水平顯示。看起來比較繞,但正是這種靈活性,才可以定製出複雜圖形。

plt.bar(left=0,bottom=index, width=y,height=0.8,orientation ='horizontal' )

留言回覆你在機器學習方面做過哪些有趣的應用,我們會在留言中隨機抽取一位讀者免費送出北京大學出版社出版的《Python 3.x全棧開發從入門到精通》圖書一本。通過「拆解式」講解Python全棧開發全過程,本書集理論、技術、案例、項目開發經驗為一體,通過海量示例展示開發過程中的重點、疑點、難點,是一本寶典式大全教程。

▼ 點擊成為社區註冊會員          「在看」一下,一起PY!

相關焦點

  • Python 繪圖庫 Matplotlib 入門教程
    /Matplotlib是一個Python語言的2D繪圖庫,它支持各種平臺,並且功能強大,能夠輕易繪製出各種專業的圖像。本文是對它的一個入門教程。運行環境由於這是一個Python語言的軟體包,因此需要你的機器上首先安裝好Python語言的環境。關於這一點,請自行在網絡上搜索獲取方法。關於如何安裝Matplotlib請參見這裡:Matplotlib Installing。
  • 如何用matplotlib繪圖呢?
    什麼是matplotlib?使用過python做數據分析的小夥伴都知道,matplotlib是一款命令式、較底層、可定製性強、圖表資源豐富、簡單易用、出版質量級別的python 2D繪圖庫。matplotlib算是python繪圖的元老級庫,類似程式語言裡的C語言。很多其它的python繪圖庫是基於matplotlib開發的,比如seaborn、ggplot、plotnine、holoviews、basemap等。matplotlib可用於python腳本、python shell、jupyter notebook、web等。
  • matplotlib繪圖的核心原理講解
    作者:朱小五來自:凹凸數據(ID:alltodata)matplotlib是基於Python語言的開源項目,旨在為Python提供一個數據繪圖包。相信大家都用過它來數據可視化,之前我還分享過25個常用Matplotlib圖的Python代碼。可是你了解過它繪圖的核心原理嗎?
  • matplotlib的Python數據可視化和探索——入門指南
    matplotlib——最受歡迎的Python庫,用於數據可視化和探索我喜歡在Python中使用matplotlib。這是我學會掌握的第一個可視化庫,此後一直存在。matplotlib是最受歡迎的用於數據可視化和探索的Python庫,這是有原因的——它提供的靈活性和敏捷性是無與倫比的!
  • Matplotlib繪圖|快速定義圖表樣式的小技巧
    Matpltlibrc file 設置圖表屬性Matplotlib 在繪圖過程中,每創建一個圖表,都要對該圖表內的樣式(例如 字體大小、顏色、解析度、橫縱坐標刻度、橫縱坐標標籤)設置一次,重複乏味,如下展示的是一個正弦函數曲線X =np.linspace(-np.pi,np.pi,256,endpoint =True)S = np.sin(X)plt.plot
  • 未明學院:Python可視化庫Matplotlib繪圖入門詳解
    Matplotlib是Python的繪圖庫,其中的pyplot包封裝了很多畫圖的函數。Matplotlib.pyplot 包含一系列類似 MATLAB 中繪圖函數的相關函數。每個 Matplotlib.pyplot 中的函數會對當前的圖像進行一些修改,例如:產生新的圖像,在圖像中產生新的繪圖區域,在繪圖區域中畫線,給繪圖加上標記,等等…… Matplotlib.pyplot 會自動記住當前的圖像和繪圖區域,因此這些函數會直接作用在當前的圖像上。
  • 見識matplotlib:不常見的一面,折線圖!
    眾所周知,matplotlib是python繪圖的基礎包,能夠生成各種各樣2D或者3D的圖形,用法算是多而全的那種,下邊是matplotlib官網首頁作為例子的幾張圖,大家感受一下:什麼?醜拒?不不不,別激動!其實matplotlib一直是一個低調奢華有內涵的包,需要我們透過它樸實無華的外表認清它豐富多彩的內在,來康康這條妖嬈的曲線,有沒有感受到它的召喚?
  • Python數據可視化技能提升—用好matplotlib第1篇
    Python想必已經是大家最為熟悉不過的程式語言了,得益於它的易上手性,以及強大的兼容性和開源性,已經受到了廣泛「程序猿」的喜愛哦,通過前面幾次,咱們已經把Python的前世今生和Python的模塊化編程聊完了,這兩天收到朋友的私信說想了解點Python數據可視化相關的東東,俺想了下,就這樣好啦,以後呢,就把Python的基礎知識和實戰的專業知識點進行穿插講解啦,這樣既能讓入門的朋友快速熟悉
  • 這麼用MatPlotLib視覺化呈現數據,你值得擁有!
    Matplotlib2. Seaborn3. Plotly4. Pandas學習使用這些視覺化工具可促進數據理解、信息提取和決策制定。本文將對Matplotlib工具進行詳細介紹。MatplotlibMatplotlib是一個Python的2D繪圖庫,它以各種硬拷貝格式和跨平臺的交互式環境生成出版質量級別的圖形。
  • 手把手教你用Matplotlib進行數據可視化
    http://matplotlib.org就像我們用縮寫np來表示NumPy一樣,我們也會用一些標準的縮寫來表示Matplotlib導入:import matplotlib as mpl   import matplotlib.pyplot as plt plt是我們最常用的一個接口。
  • matplotlib如何實現圖形繪製在tkinter的Canvas中?
    matplotlib如何實現圖形繪製在tkinter的Canvas中?今天番茄加速就來分享一下。下面就是最重要的tkinter和matplotlib集成部分,matplotlib提供FigureCanvasTkAgg對象,只需三行代碼,實現圖形繪製在tkinter的Canvas中:canvas_l = FigureCanvasTkAgg(figure_l, frame_l)# 用draw代替canvas_l.draw()canvas_l.get_tk_widget
  • python matplotlib畫圖教程學習:使用介紹
    本篇文章介紹matplotlib包使用時,需要掌握的一些基本概念。下圖顯示了matplotlib圖形的基本構成部分,如figure(圖形)、axes(子圖形)、title(標題)、legend(圖例)、Major tick(大標尺刻度)、Minor tick(小標尺刻度)、Major tick label(大標尺刻度數值)、Minor tick label(小標尺刻度數值)、Y axis label(y軸指標說明)、X axis label(x軸指標說明)、Line
  • PyCharm安裝matplotlib教程——安裝好matplotlib但是import報錯
    輸入python -m pip install -U pip setuptools2.輸入python -m pip install matplotlib3.檢查是否已經安裝成功。輸入python -m pip list成功安裝。默認安裝在D:\Python\Lib\site-packages方式二:通過下載matplotlib進行安裝。
  • 看了這個總結,其實 Matplotlib 可視化,也沒那麼難!
    作者 | 舊時晚風拂曉城 來源 | 傑哥的IT之旅(ID:Jake_Internet)頭圖 | CSDN 下載自東方IC公眾號「傑哥的IT之旅」後臺回覆:「matplotlib數據可視化」,獲取本文完整數據集。Python 中可以通過 matplotlib 模塊的 pyplot 子庫來完成繪圖。
  • 使用Matplotlib繪製堆積條形圖
    import numpy as npimport pandas as pdimport matplotlib.pyplot as pltdf = pd.read_csv('../data/vgsales.csv')df.head()我們接下來要將平臺和地區的銷售情況可視化。
  • Python 繪圖,我只用 Matplotlib
    圖1-1 散點圖示例使用Matplotlib的scatter()函數繪製散點圖,其中x和y是相同長度的數組序列。scatter()函數的一般用法為:主要參數說明如下:x,y:數組。s:散點圖中點的大小,可選。c:散點圖中點的顏色,可選。 marker:散點圖的形狀,可選。alpha:表示透明度,在 0~1 取值,可選。
  • Python模塊NumPy,Pandas,matplotlib的中文文檔
    今天比較忙所以不能寫長文了作為一名數據工程師需要熟練掌握python中的這些numpy,matplotlib,pandas,sklearn,seaborn,statsmodel.模塊但是由於這些模塊的文檔都是英文的可能一些英文不好的同學學起來會比較的困難,所以我從網上給大家找到一些中文的文檔
  • 使用Matplotlib可視化數據的5個強大技巧
    許多人仍然使用Matplotlib作為後端模塊來可視化他們的圖形。在這個故事中,我將給你一些技巧,使用Matplotlib創建一個優秀圖表的5個強大技巧。1. 使用Latex字體默認情況下,我們可以使用Matplotlib提供的一些不錯的字體。但是,有些符號不夠好,不能由Matplotlib創建。例如,符號phi(φ),如圖1所示。
  • Matplotlib+Seaborn:一文掌握Python可視化庫的兩大王者
    圖片來源:PexelsSeaborn和Matplotlib是Python最強大的兩個可視化庫。本教程將使用以下兩種包來演示Python的繪圖功能:· Matplotlib· SeabornMatplotlibimportmatplotlib.pyplot as plt%matplotlib inlineimport numpy as np在上面的代碼塊中,將Pyplot模塊調整為plt格式並導入Matplotliib庫。
  • Python可視化:matplotlib的坐標軸和rc參數設置指南!
    這是matplotlib繪製的y = x^2:這是本人親手繪製的y = x^2:(本靈魂畫手已上線,非戰鬥人員請撤離!不要太在意細節哈,忽視那個長的不太協調的x軸和彎彎曲曲如蚯蚓的拋物線,手殘黨表示真的盡力了,意會!意會哈!)正經的說,雖然都是y = x^2的圖像,是不是感覺兩幅圖差異還蠻大的。