1. 程式人生 > >Matplotlib資料視覺化——contour等高線圖

Matplotlib資料視覺化——contour等高線圖

等高線大家都不陌生,這個詞來源對地勢地貌的描述。
在這裡插入圖片描述
在機器學習的隨機梯度下降中涉及了等高線圖用以形象的描述每次迭代的步距、方向等,這也正是它的用武之地。僅僅學習其中的皮毛。

君子性非異也,善假於物也

import numpy as np
import matplotlib.pyplot as plt
# 定義高度函式
def height(x, y):
	return (1-x/2+x**5+y**3)*np.exp(-x**2-y**2)

n = 256
x = np.linspace(-3,3,n)
y = np.linspace(-3,3,n)
# 將原始資料變成網格資料
X,Y =
np.meshgrid(x,y) # 填充顏色 plt.contourf(X,Y,height(X,Y),8,alpha=0.75,cmap=plt.cm.hot) # add contour lines C = plt.contour(X,Y,height(X,Y),8,color='black',lw=0.5) # 顯示各等高線的資料標籤cmap=plt.cm.hot plt.clabel(C,inline=True,fontsize=10) plt.show()

在這裡插入圖片描述

說明
1. contourf 填充顏色函式:

  • 前三個引數 X, Y, Height 用來引進點的位置和對應的高度資料;
  • 數字 8 代表將等高線圖分成10塊;
  • alpha 用來設定填充顏色的範圍,alpha越接近1,顏色的搭配就越向深色風格過渡,如下面幾張圖所示,α=0,0.2,0.95\alpha=0,0.2,0.95:
    α=0
    在這裡插入圖片描述
    在這裡插入圖片描述
  • cmap=plt.cm.hot表示圖片顏色為暖色。也可直接寫成cmap='hot'
    hot->cool如下圖:
    在這裡插入圖片描述
    2. contour 繪製等高線函式
    前三個引數與contourf相同,後兩個見文知意。

相關推薦

Matplotlib資料視覺——contour等高線

等高線大家都不陌生,這個詞來源對地勢地貌的描述。 在機器學習的隨機梯度下降中涉及了等高線圖用以形象的描述每次迭代的步距、方向等,這也正是它的用武之地。僅僅學習其中的皮毛。 君子性非異也,善假於物也

Matplotlib資料視覺——

import matplotlib.pyplot as plt """ 圖中圖實驗 """ # 繪製大圖 fig = plt.figure() # 使用figure後往往在函式前要加set_或add_等字首 x = [1,2,3,4,5,6,7] y = [1,3,4,2,5,8,

python—matplotlib資料視覺例項註解系列-----之柱狀

本文程式碼源自官方例項,部分進行了修改和註解方便學習和查詢。 Matplotlib.pyplot中hist()的引數: n, bins, patches = plt.hist(arr, bins=1

python—matplotlib資料視覺例項註解系列-----之箱狀

本文程式碼源自官方例項,部分進行了修改和註解,幫助學習和查詢。 import numpy as np import matplotlib.pyplot as plt #隨機生成一組資料73行,4列,

Matplotlib資料視覺(4):折線與散點

In [1]: from matplotlib import pyplot as plt import numpy as np import matplotlib as mpl mpl.rcParams['font.sans-serif'] = ['SimHei'] # 中

Matplotlib資料視覺(5):柱狀與直方圖

  柱狀圖和直方圖是兩種非常類似的統計圖,區別在於: 直方圖展示資料的分佈,柱狀圖比較資料的大小。 直方圖X軸為定量資料,柱狀圖X軸為分類資料。因此,直方圖上的每個條形都是不可移動的,X軸上的區間是連續的、固定的。而柱狀圖上的每個條形是可以隨意排序的,有的情況下需要按照分

Matplotlib資料視覺(6):餅與箱線

In [1]: from matplotlib import pyplot as plt import numpy as np import matplotlib as mpl mpl.rcParams['font.sans-serif'] = ['SimHei'] # 中文字型支

Python資料處理 | (三) Matplotlib資料視覺

本篇部落格所有示例使用Jupyter NoteBook演示。 Python資料處理系列筆記基於:Python資料科學手冊電子版  下載密碼:ovnh 示例程式碼  下載密碼:02f4   目錄 一、Matplotlib常用技巧 1.匯入

Matplotlib 資料視覺-基本使用教程

一. Matplotlib 基本概念 Matplotlib是python的一個數據視覺化工具庫。 特點:專門用於開發2D圖表(包括3D圖表), 操作簡單。 視覺化是在整個資料探勘的關鍵輔助工具,可以清晰的理解資料,從而調整我們的分析方法。 二. Matplotlib三層結構

Python資料視覺之密度的繪製

密度圖表現與資料值對應的邊界或域物件的一種理論圖形表示方法。一般用於呈現連續變數。 *摘自百度百科* 在電腦科學當中,資料的視覺化常常被提起。近日,在影象處理當中,需要統計圖片中的人流密度並繪製相應密度圖,於是小小研究一番。效果如下: 所有程式碼儲存在Github上。 首

資料視覺:折線--直方圖--散點

import matplotlib.pyplot as plt  -- 繪製2D折線圖,直方圖,散點圖等 import numpy as np   -- 將列表轉換為陣列,給圖形上每個點新增標籤時會用到 import pygal  -- pygal是一個S

Matplotlib資料視覺——ticks能見度

在作圖中函式影象尺寸可能會有遮擋座標上的數字的情況,這是需要設定一下ticks的可見度 import matplotlib.pyplot as plt import numpy as np x = np.linspace(-3, 3, 50) y = 0.1*x plt.figu

Matplotlib資料視覺——設定標註annotation

今天主要記錄annotation標註的用法 import matplotlib.pyplot as plt import numpy as np plt.rcParams['font.sans-serif']=['SimHei'] #用來正常顯示中文標籤 plt.rcParams['

Matplotlib資料視覺——設定座標軸,原點,圖例

今天突破了導軌和轉檯的除錯程式,學習會Python娛樂一下 matplotlib庫和MATLAB的資料視覺化功能幾乎是相同,只是因為人工智慧的火爆以及使用方便深受大家喜愛。 1.基本使用 1.1figure影象 繪製單一函式的影象 import numpy as np i

Matplotlib資料視覺——subplot多合一顯示

這篇結合前面所學,多合一顯示不同的資料表現形式 import matplotlib.pyplot as plt import cv2 as cv import numpy as np plt.figure() src = cv.imread('./data/lena.jpg', 1

matplotlib資料視覺分析(2)-- numpy將陣列儲存到檔案

1 陣列以二進位制的格式儲存 np.save 和 np.load 是讀寫磁碟資料的兩個主要函式。預設情況下,陣列以未壓縮的原始二進位制格式儲存在副檔名為 npy 的檔案中,以陣列 a 為例: # coding:utf-8 import numpy as np

Matplotlib資料視覺基礎

import numpy as np import matplotlib.pyplot as plt ## %matplotlib inline表示在行中顯示圖片,在命令列執行報錯 data = np.arange(0,1.1,0.01) plt.title('lines'

Python資料視覺 散點

                PS: 翻了翻草稿箱, 發現居然存了一篇去年2月的文章。。。雖然naive,還是發出來吧。。。本文記錄了python中的資料視覺化——散點圖scatter,令x作為資料(50個點,每個30維),我們僅視覺化前兩維。labels為其類別(假設有三類)。這裡的x就用random來了

Matplotlib資料視覺——subplot的另外三種常用方法

第一種方法:subplot2grid 定義一個3*3的矩陣位置,利用subplot2grid分別框選出想要的區域大小,進而在區域中plot出想繪製的函式即可,colspan與rowspan分別表示行數和列數,用來界定大小 說明: 通過這種方法設定title和label需要在前面加上s

Matplotlib資料視覺——次座標

何謂次座標,即共享一個x軸,左右兩個y軸。左邊為主,右側為次 import matplotlib.pyplot as plt import numpy as np # 構造兩個函式 x = np.arange(0, 10, 0.2) y1 = 0.27*x**2 y2 = -y1