萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> Python Matplotlib庫入門指南

Python Matplotlib庫入門指南

   這篇文章主要介紹了Python Matplotlib庫入門指南,本文講解了Matplotlib是什麼,然後給出了Matplotlib基礎繪圖實例如繪制折線圖、繪制多線圖,並給出了圖例功能使用實例,需要的朋友可以參考下

  Matplotlib簡介

  Matplotlib是一個Python工具箱,用於科學計算的數據可視化。借助它,Python可以繪制如Matlab和Octave多種多樣的數據圖形。最初是模仿了Matlab圖形命令, 但是與Matlab是相互獨立的.

  通過Matplotlib中簡單的接口可以快速的繪制2D圖表

  初試Matplotlib

  Matplotlib中的pyplot子庫提供了和matlab類似的繪圖API.

  代碼如下:

  import matplotlib.pyplot as plt #導入pyplot子庫

  plt.figure(figsize=(8, 4)) #創建一個繪圖對象, 並設置對象的寬度和高度, 如果不創建直接調用plot, Matplotlib會直接創建一個繪圖對象

  plt.plot([1, 2, 3, 4]) #此處設置y的坐標為[1, 2, 3, 4], 則x的坐標默認為[0, 1, 2, 3]在繪圖對象中進行繪圖, 可以設置label, color和linewidth關鍵字參數

  plt.ylabel('some numbers') #給y軸添加標簽, 給x軸加標簽用xlable

  plt.title("hello"); #給2D圖加標題

  plt.show() #顯示2D圖

  基礎繪圖

  繪制折線圖

  與所選點的坐標有關

  復制代碼 代碼如下:

  # -*- coding: utf-8 -*-

  #!/usr/bin/env python

  import numpy as np

  import matplotlib.pyplot as plt

  x = [0, 1, 2, 4, 5, 6]

  y = [1, 2, 3, 2, 4, 1]

  plt.plot(x, y, '-*r') # 虛線, 星點, 紅色

  plt.xlabel("x-axis")

  plt.ylabel("y-axis")

  plt.show()

  更改線的樣式查看plot函數參數設置

  多線圖

  只需要在plot函數中傳入多對x-y坐標對就能畫出多條線

   代碼如下:

  # -*- coding: utf-8 -*-

  #!/usr/bin/env python

  import numpy as np

  import matplotlib.pyplot as plt

  x = [0, 1, 2, 4, 5, 6]

  y = [1, 2, 3, 2, 4, 1]

  z = [1, 2, 3, 4, 5, 6]

  plt.plot(x, y, '--*r', x, z, '-.+g')

  plt.xlabel("x-axis")

  plt.ylabel("y-axis")

  plt.title("hello world")

  plt.show()

  柱狀圖

   代碼如下:

  # -*- coding: utf-8 -*-

  #!/usr/bin/env python

  import numpy as np

  import matplotlib.pyplot as plt

  x = [0, 1, 2, 4, 5, 6]

  y = [1, 2, 3, 2, 4, 1]

  z = [1, 2, 3, 4, 5, 6]

  plt.bar(x, y)

  plt.xlabel("x-axis")

  plt.ylabel("y-axis")

  plt.show()

  子圖

  subplot()函數指明numrows行數, numcols列數, fignum圖個數. 圖的個數不能超過行數和列數之積

   代碼如下:

  # -*- coding: utf-8 -*-

  #!/usr/bin/env python

  import numpy as np

  import matplotlib.pyplot as plt

  x = [0, 1, 2, 4, 5, 6]

  y = [1, 2, 3, 2, 4, 1]

  z = [1, 2, 3, 4, 5, 6]

  plt.figure(1)

  plt.subplot(211)

  plt.plot(x, y, '-+b')

  plt.subplot(212)

  plt.plot(x, z, '-.*r')

  plt.show()

  文本添加

  當需要在圖片上調價文本時需要使用text()函數, 還有xlabel(), ylabel(), title()函數

  text()函數返回matplotlib.text.Text, 函數詳細解釋

   代碼如下:

  # -*- coding: utf-8 -*-

  #!/usr/bin/env python

  import numpy as np

  import matplotlib.pyplot as plt

  x = [0, 1, 2, 4, 5, 6]

  y = [1, 2, 3, 2, 4, 1]

  plt.plot(x, y, '-.*r')

  plt.text(1, 2, "I'm a text") //前兩個參數表示文本坐標, 第三個參數為要添加的文本

  plt.show()

  圖例簡介

  legend()函數實現了圖例功能, 他有兩個參數, 第一個為樣式對象, 第二個為描述字符

   代碼如下:

  # -*- coding: utf-8 -*-

  #!/usr/bin/env python

  import numpy as np

  import matplotlib.pyplot as plt

  line_up, = plt.plot([1,2,3], label='Line 2')

  line_down, = plt.plot([3,2,1], label='Line 1')

  plt.legend(handles=[line_up, line_down])

  plt.show()

  或者調用set_label()添加圖例

  復制代碼 代碼如下:

  # -*- coding: utf-8 -*-

  #!/usr/bin/env python

  import numpy as np

  import matplotlib.pyplot as plt

  line, = plt.plot([1, 2, 3])

  line.set_label("Label via method")

  plt.legend()

  plt.show()

  同時對多條先添加圖例

   代碼如下:

  # -*- coding: utf-8 -*-

  #!/usr/bin/env python

  import numpy as np

  import matplotlib.pyplot as plt

  line1, = plt.plot([1, 2, 3])

  line2, = plt.plot([3, 2, 1], '--b')

  plt.legend((line1, line2), ('line1', 'line2'))

  plt.show()

copyright © 萬盛學電腦網 all rights reserved