tft每日頭條

 > 圖文

 > python中matplotlib如何使用

python中matplotlib如何使用

圖文 更新时间:2024-10-20 08:58:43
引言

Matplotlib是Python的畫圖領域使用最廣泛的繪圖庫,它能讓使用者很輕松地将數據圖形化以及利用它可以畫出許多高質量的圖像,是用Python畫圖的必備技能。對于這個教程,大家最好親自碼一遍代碼,這樣可以更有收獲。

概要

1、初步Matplotlib的功能;

2、學會安裝Matplotlib;

3、學會結合NumPy畫直線和曲線。

python中matplotlib如何使用(Python進階之Matplotlib入門一)1

Matplotlib介紹和安裝

1.簡介

有了Matplotlib,你可以畫出這些漂亮的圖:

  • 線圖;
  • 散點圖;
  • 等高線圖;
  • 條形圖;
  • 柱狀圖;
  • 3D 圖形,
  • 甚至是圖形動畫等等.

使用Matplotlib第一步就是把它的模塊import進去:

import matplotlib.pyplot as plt

這裡的pyplot是matplotlib的子包。為了方便快速繪圖,matplotlib通過pyplot模塊提供了一套和MATLAB類似的繪圖API,将衆多繪圖對象所構成的複雜結構隐藏在這套API内部。

我們要搞清楚pyplot以及pylab的區别。matplotlib還提供了一個名為pylab的模塊,其中包括了許多NumPy和pyplot模塊中常用的函數,方便用戶快速進行計算和繪圖,十分适合在IPython交互式環境中使用。

在這裡我們不讨論pylab的使用而是專注于pyplot

2.安裝

對于Windows系統,我們一般使用pip命令安裝matplotlib,

首先打開管理員模式的終端,然後輸入命令:

pip install matplotlib

python中matplotlib如何使用(Python進階之Matplotlib入門一)2

基本使用方法

我們先介紹Matplotlib最簡單的畫圖代碼,也就是畫線圖:

  1. 直線
  2. 曲線

1.直線

第一步我們要确定x軸的數據。這裡我們使用“人造”數據,而不是真實的數據,這就需要用到我們在NumPy教程中學習到的linspace函數:

linspace是linear space的縮寫,線性空間。它有五個基本參數:

  1. 起始值
  2. 終值
  3. 總數目
  4. endpoint
  5. retstep

其中endpoint表示是否包含終值,默認endpont=True;而retstep表示是否顯示數組,默認值retstep=False;通過總數目,在給定起始值和終止值的時候,步長就會被确定。

比如np.linspace(1,10,10)表示的是1,2,...,10。

清楚了np.linspace用法,我們就可以畫直線了:

import matplotlib.pyplot as plt

import numpy as np

x = np.linspace(-1, 1, 50) y = 2*x 1plt.plot(x, y) plt.show()

x軸的數據由linspace函數建立,而y軸數據通過x軸獲得,由于我們要畫直線,所以我們通過y=ax b的直線公式來獲得y軸的數據。另外plt是matplotlib.pyplot的縮寫,這是一個習慣,建議大家也這麼使用。plot函數負責畫圖,而show函數負責将畫好的圖顯示出來。

運行結果:

python中matplotlib如何使用(Python進階之Matplotlib入門一)3

2.曲線

對于曲線,我們選擇NumPy中的正弦和餘弦函數來展示:

import numpy as np

import matplotlib.pyplot as plt

x = np.linspace(-np.pi, np.pi, 256)

y1,y2 = np.cos(x), np.sin(x)

plt.plot(x,y1)plt.plot(x,y2)

plt.show()

我們通過NumPy中的linspace建立了x軸,因為是正弦和餘弦函數,因此我們用圓周率pi設定x軸的起始值和終值。這次,我們一次性在圖上畫了兩條線。我們還沒有對直線設定顔色,粗細,這個會在後面的教程學習,但是matplotlib會自動給兩天直線設置不同的顔色,方便區分。

運行結果:

python中matplotlib如何使用(Python進階之Matplotlib入門一)4

最後,大家也能看出來使用matplotlib畫圖的時候,始終離不開NumPy,所以建議大家把忘了的NumPy知識複習一遍。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved