欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python matplotlib繪制圖形實例(包括點,曲線,注釋和箭頭)

 更新時間:2020年04月17日 10:05:35   作者:luckypuppy99  
這篇文章主要介紹了Python matplotlib繪制圖形實例(包括點,曲線,注釋和箭頭),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

Python的matplotlib模塊繪制圖形功能很強大,今天就用pyplot繪制一個簡單的圖形,圖形中包括曲線、曲線上的點、注釋和指向點的箭頭。

1. 結(jié)果預(yù)覽:

2. 代碼如下:

from matplotlib import pyplot as plt
import numpy as np
 
# 繪制曲線
x = np.linspace(2, 21, 20) # 取閉區(qū)間[2, 21]之間的等差數(shù)列,列表長度20
y = np.log10(x) + 0.5
plt.figure() # 添加一個窗口。如果只顯示一個窗口,可以省略該句。
plt.plot(x, y) # plot在一個figure窗口中添加一個圖,繪制曲線,默認顏色
 
# 繪制離散點
plt.plot(x, y, '.y') # 繪制黃色的點,為了和曲線顏色不一樣
x0, y0 = 15, np.log10(15) + 0.5
plt.annotate('Interpolation point', xy=(x0, y0), xytext=(x0, y0 - 1), arrowprops=dict(arrowstyle='->')) # 添加注釋
for x0, y0 in zip(x, y):
  plt.quiver(x0, y0 - 0.3, 0, 1, color='g', width=0.005) # 繪制箭頭
 
x = range(2, 21, 5)
y = np.log10(x) + 0.5
plt.plot(x, y, 'om') # 繪制紫紅色的圓形的點
x0, y0 = 7, np.log10(7) + 0.5
plt.annotate('Original point', xy=(x0, y0), xytext=(x0, y0 - 1), arrowprops=dict(arrowstyle='->'))
for x0, y0 in zip(x, y):
  plt.quiver(x0, y0 + 0.3, 0, -1, color='g', width=0.005) # 繪制箭頭
 
# 設(shè)置坐標范圍
plt.xlim(2, 21) # 設(shè)置x軸范圍
plt.xticks(range(0, 23, 2)) # 設(shè)置X軸坐標點的值,為[0, 22]之間的以2為差值的等差數(shù)組
plt.ylim(0, 3) # 設(shè)置y軸范圍
 
# 顯示圖形
plt.show() # 顯示繪制出的圖

3. 解析

1)導(dǎo)入matplotlib模塊的pyplot類,這里主要用了pyplot里的一些方法。導(dǎo)入numpy用于生成一些數(shù)列。分別給pyplot和numpy記個簡潔的別名plt和np,方便使用。

2)np.linspace(start, stop, num),可生成閉區(qū)間[stop, stop]里的數(shù)組長度為num的等差數(shù)列。本例子中想作為插值點顯示出來。

3)plt.figure()用于添加窗口。如果把所有圖形繪制在一個窗口里,該句可以省略,因為figure(1)會被默認創(chuàng)建。

如果想添加窗口,就再添加一句plt.figure(),plt.figure(num)的窗口序號num自動自增。

4)plt.plot()向窗口里繪制曲線,傳遞x, y參數(shù),分別為橫軸和縱軸。

本例中所有圖形繪制在一個繪圖區(qū)域里。如果想添加2個繪圖區(qū)域呢?如下列代碼:

x = np.linspace(2, 21, 20)
y1 = np.log10(x) + 0.5
y2 = np.log10(x) + 1
plt.subplot(211)
plt.plot(x, y1)
 
plt.subplot(212)
plt.plot(x, y2)
plt.show()

plt.subplot(rows, cols, figurenum)添加子繪圖區(qū)域,參數(shù)分別為:把窗口劃分為rows行cols列繪圖區(qū)域,figurenum表示第幾個繪圖區(qū)域。plt.subplot(211)=plt.subplot(2, 1, 1),繪圖區(qū)域數(shù)小于10時可省略逗號。創(chuàng)建的圖形為:

5) plt.plot(x, y, '.y') # 多寫該句為了顯示點和曲線的顏色不一樣。'.y'表示只把繪制曲線的點表示出來,顏色為黃色。

6)plt.annotate(s, xy, xytext) # 添加注釋,除s、xy外其余還有若干可選參數(shù)。

s:注釋文本,

xy:指定要注釋的(x,y)坐標點,

xytext:可選,指定要放置文本的(x,y)坐標點。如果沒有,則默認為xy注釋點。

arrowprops:可選,字典形式,用于在xy坐標和xytext間繪制一個指定形狀的箭頭,本例中指定一個'->'類型的箭頭,箭頭頭部寬和高為0.2/0.4。

7)plt.quiver(X, Y, U, V, C, **kw) # 繪制一個二維的箭頭,X, Y, C可以缺失。

X, Y:箭頭的位置,

U, V:表示箭頭的方向,

C:設(shè)置箭頭的顏色,

**kw里還有一系列參數(shù)可以設(shè)置,包括單位、箭頭角度、箭頭的頭部寬高設(shè)置等,這里設(shè)置了顏色color和箭頭的軸寬度width。

如果設(shè)置了C,再設(shè)置color將不生效。

有C為啥還有color可選設(shè)置呢?疑問暫留,沒找到結(jié)果。

8)plt.xlim(min, max) / plt.ylim(min, max) 設(shè)置x軸/y軸的范圍。

9)plt.xticks() 設(shè)置x軸坐標點的值。如果plt.xlim和plt.xticks設(shè)置的范圍不一致,怎么顯示?以最后設(shè)置的范圍為準。

10)plt.show() # 最后調(diào)用此句,顯示出繪制的圖形。

以上這篇Python matplotlib繪制圖形實例(包括點,曲線,注釋和箭頭)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python語法分析之字符串格式化

    Python語法分析之字符串格式化

    這篇文章主要給大家介紹了關(guān)于Python語法分析之字符串格式化的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • django多種支付、并發(fā)訂單處理實例代碼

    django多種支付、并發(fā)訂單處理實例代碼

    在本篇文章里小編給大家整理的是關(guān)于django多種支付、并發(fā)訂單處理實例代碼,需要的朋友們可以學(xué)習(xí)下。
    2019-12-12
  • 詳解Python中*args和**kwargs的使用

    詳解Python中*args和**kwargs的使用

    本文我們將通過示例了解Python中*args和?**kwargs的使用方法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Python3中詳解fabfile的編寫

    Python3中詳解fabfile的編寫

    這篇文章給大家分享了Python3中詳解fabfile的編寫的相關(guān)知識點以及重要內(nèi)容,有興趣的朋友跟著學(xué)習(xí)下。
    2018-06-06
  • Django中如何使用sass的方法步驟

    Django中如何使用sass的方法步驟

    這篇文章主要介紹了Django中如何使用sass的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • python采集百度搜索結(jié)果帶有特定URL的鏈接代碼實例

    python采集百度搜索結(jié)果帶有特定URL的鏈接代碼實例

    這篇文章主要介紹了python采集百度搜索結(jié)果帶有特定URL的鏈接代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • Python通過串口實現(xiàn)收發(fā)文件

    Python通過串口實現(xiàn)收發(fā)文件

    這篇文章主要為大家詳細介紹了Python如何通過串口實現(xiàn)收發(fā)文件功能,文中的示例代碼簡潔易懂,具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-11-11
  • 解決python super()調(diào)用多重繼承函數(shù)的問題

    解決python super()調(diào)用多重繼承函數(shù)的問題

    今天小編就為大家分享一篇解決python super()調(diào)用多重繼承函數(shù)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Python urllib庫如何添加headers過程解析

    Python urllib庫如何添加headers過程解析

    這篇文章主要介紹了Python urllib庫如何添加headers過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-10-10
  • Python抓取百度查詢結(jié)果的方法

    Python抓取百度查詢結(jié)果的方法

    這篇文章主要介紹了Python抓取百度查詢結(jié)果的方法,涉及Python正則匹配及字符串與URL操作的相關(guān)技巧,需要的朋友可以參考下
    2015-07-07

最新評論