matplotlib一些常用知識點的整理,

本文作為學習過程中對matplotlib一些常用知識點的整理,方便查找。

強烈推薦ipython
無論你工作在什么項目上,IPython都是值得推薦的。利用ipython --pylab,可以進入PyLab模式,已經導入了matplotlib庫與相關軟件包(例如Numpy和Scipy),額可以直接使用相關庫的功能。

這樣IPython配置為使用你所指定的matplotlib GUI后端(TK/wxPython/PyQt/Mac OS X native/GTK)。對于大部分用戶而言,默認的后端就已經夠用了。Pylab模式還會向IPython引入一大堆模塊和函數以提供一種更接近MATLAB的界面。

參考

  • matplotlib-繪制精美的圖表
  • matplotlib.pyplot.plt參數介紹

matplotlib圖標正常顯示中文

為了在圖表中能夠顯示中文和負號等,需要下面一段設置:

matplotlib inline和pylab inline

可以使用ipython --pylab打開ipython命名窗口。

這兩個命令都可以在繪圖時,將圖片內嵌在交互窗口,而不是彈出一個圖片窗口,但是,有一個缺陷:除非將代碼一次執行,否則,無法疊加繪圖,因為在這兩種模式下,是要有plt出現,圖片會立馬show出來,因此:

推薦在ipython notebook時使用,這樣就能很方便的一次編輯完代碼,繪圖。

為項目設置matplotlib參數

在代碼執行過程中,有兩種方式更改參數:

  • 使用參數字典(rcParams)
  • 調用matplotlib.rc()命令 通過傳入關鍵字元祖,修改參數

如果不想每次使用matplotlib時都在代碼部分進行配置,可以修改matplotlib的文件參數。可以用matplot.get_config()命令來找到當前用戶的配置文件目錄。

配置文件包括以下配置項:

axex: 設置坐標軸邊界和表面的顏色、坐標刻度值大小和網格的顯示
backend: 設置目標暑促TkAgg和GTKAgg
figure: 控制dpi、邊界顏色、圖形大小、和子區( subplot)設置
font: 字體集(font family)、字體大小和樣式設置
grid: 設置網格顏色和線性
legend: 設置圖例和其中的文本的顯示
line: 設置線條(顏色、線型、寬度等)和標記
patch: 是填充2D空間的圖形對象,如多邊形和圓。控制線寬、顏色和抗鋸齒設置等。
savefig: 可以對保存的圖形進行單獨設置。例如,設置渲染的文件的背景為白色。
verbose: 設置matplotlib在執行期間信息輸出,如silent、helpful、debug和debug-annoying。
xticks和yticks: 為x,y軸的主刻度和次刻度設置顏色、大小、方向,以及標簽大小。

線條相關屬性標記設置

用來該表線條的屬性

線條風格linestyle或ls描述線條風格linestyle或ls描述
‘-‘實線‘:’虛線
‘–‘破折線‘None’,’ ‘,”什么都不畫
‘-.’點劃線

線條標記

標記maker描述標記描述
‘o’圓圈‘.’
‘D’菱形‘s’正方形
‘h’六邊形1‘*’星號
‘H’六邊形2‘d’小菱形
‘_’水平線‘v’一角朝下的三角形
‘8’八邊形一角朝左的三角形
‘p’五邊形‘>’一角朝右的三角形
‘,’像素‘^’一角朝上的三角形
‘+’加號豎線
‘None’,”,’ ‘‘x’X

顏色

可以通過調用matplotlib.pyplot.colors()得到matplotlib支持的所有顏色。

別名顏色別名顏色
b藍色g綠色
r紅色y黃色
c青色k黑色
m洋紅色w白色

如果這兩種顏色不夠用,還可以通過兩種其他方式來定義顏色值:

  • 使用HTML十六進制字符串?color='eeefff'?使用合法的HTML顏色名字(’red’,’chartreuse’等)。
  • 也可以傳入一個歸一化到[0,1]的RGB元祖。?color=(0.3,0.3,0.4)

很多方法可以介紹顏色參數,如title()。
plt.tilte('Title in a custom color',color='#123456')

背景色

通過向如matplotlib.pyplot.axes()或者matplotlib.pyplot.subplot()這樣的方法提供一個axisbg參數,可以指定坐標這的背景色。

subplot(111,axisbg=(0.1843,0.3098,0.3098)

基礎

如果你向plot()指令提供了一維的數組或列表,那么matplotlib將默認它是一系列的y值,并自動為你生成x的值。默認的x向量從0開始并且具有和y同樣的長度,因此x的數據是[0,1,2,3].

圖片來自:繪圖: matplotlib核心剖析

確定坐標范圍

  • plt.axis([xmin, xmax, ymin, ymax])
    上面例子里的axis()命令給定了坐標范圍。
  • xlim(xmin, xmax)和ylim(ymin, ymax)來調整x,y坐標范圍

疊加圖

用一條指令畫多條不同格式的線。

plt.figure()

你可以多次使用figure命令來產生多個圖,其中,圖片號按順序增加。這里,要注意一個概念當前圖和當前坐標。所有繪圖操作僅對當前圖和當前坐標有效。通常,你并不需要考慮這些事,下面的這個例子為大家演示這一細節。

figure感覺就是給圖像ID,之后可以索引定位到它。

plt.text()添加文字說明

  • text()可以在圖中的任意位置添加文字,并支持LaTex語法
  • xlable(), ylable()用于添加x軸和y軸標簽
  • title()用于添加圖的題目


text中前兩個參數感覺應該是文本出現的坐標位置。

plt.annotate()文本注釋

在數據可視化的過程中,圖片中的文字經常被用來注釋圖中的一些特征。使用annotate()方法可以很方便地添加此類注釋。在使用annotate時,要考慮兩個點的坐標:被注釋的地方xy(x, y)和插入文本的地方xytext(x, y)。1

plt.xticks()/plt.yticks()設置軸記號

現在是明白干嘛用的了,就是人為設置坐標軸的刻度顯示的值。


當我們設置記號的時候,我們可以同時設置記號的標簽。注意這里使用了 LaTeX。2

移動脊柱 坐標系

這個地方確實沒看懂,囧,以后再說吧,感覺就是移動了坐標軸的位置。

plt.legend()添加圖例

matplotlib.pyplot

使用plt.style.use('ggplot')命令,可以作出ggplot風格的圖片。

給特殊點做注釋

好吧,又是注釋,多個例子參考一下!

我們希望在 2π/32π/3 的位置給兩條函數曲線加上一個注釋。首先,我們在對應的函數圖像位置上畫一個點;然后,向橫軸引一條垂線,以虛線標記;最后,寫上標簽。

plt.subplot()

plt.subplot(2,3,1)表示把圖標分割成2*3的網格。也可以簡寫plt.subplot(231)。其中,第一個參數是行數,第二個參數是列數,第三個參數表示圖形的標號。

plt.axes()

我們先來看什么是Figure和Axes對象。在matplotlib中,整個圖像為一個Figure對象。在Figure對象中可以包含一個,或者多個Axes對象。每個Axes對象都是一個擁有自己坐標系統的繪圖區域。其邏輯關系如下34

plt.axes-官方文檔

  • axes() by itself creates a default full subplot(111) window axis.
  • axes(rect, axisbg=’w’) where rect = [left, bottom, width, height] in normalized (0, 1) units. axisbg is the background color for the axis, default white.
  • axes(h) where h is an axes instance makes h the current axis. An Axes instance is returned.

rect=[左, 下, 寬, 高] 規定的矩形區域,rect矩形簡寫,這里的數值都是以figure大小為比例,因此,若是要兩個axes并排顯示,那么axes[2]的左=axes[1].左+axes[1].寬,這樣axes[2]才不會和axes[1]重疊。

show code:

pyplot.pie參數

  • matplotlib.pyplot.pie

colors顏色

找出matpltlib.pyplot.plot中的colors可以取哪些值?

  • so-Named colors in matplotlib
  • CSDN-matplotlib學習之(四)設置線條顏色、形狀

打印顏色值和對應的RGB值。

  • plt.axis('equal')避免比例壓縮為橢圓

autopct

  • How do I use matplotlib autopct?


  1. DataHub-Python 數據可視化入門1??
  2. Matplotlib 教程??
  3. 繪圖: matplotlib核心剖析??
  4. python如何調整子圖的大小???

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/387280.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/387280.shtml
英文地址,請注明出處:http://en.pswp.cn/news/387280.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JAVA課程09

package 月份輸出;import java.util.*;public class 月份輸出 {public static void main(String[] args) {// TODO Auto-generated method stubScanner sc new Scanner(System.in);int s sc.nextInt();String a[] {"January","February","March&q…

Storm教程3編程接口

Spouts Spout是Stream的消息產生源,Spout組件的實現可以通過繼承BaseRichSpout類或者其他Spout類來完成,也可以通過實現IRichSpout接口來實現。 需要根據情況實現Spout類中重要的幾個方法有: open方法 當一個Task被初始化的時候會調用此…

梳理操作系統概論

1、用一張圖總結操作系統的結構、功能特征、采用的技術和提供服務方式等。 2、用一張圖描述CPU的工作原理。 3、用一張圖描述系統程序與應用程序、特權指令與非特權指令、CPU狀態、PSW及中斷是如何協同工作的? 轉載于:https://www.cnblogs.com/ljgljg/p/10503190.ht…

機器學習01簡介

Machine Learning 是人工智能的核心,主要使用歸納、綜合而不是演繹。 讓計算機模擬人類行為,以獲取新的知識或技能 重新組織已有的知識結構使之不斷改善自身性能 一個程序能從經驗 E 中學習,解決任務 T,達到性能度量值P&#xf…

位置指紋法的實現(KNN)

基本原理 位置指紋法可以看作是分類或回歸問題(特征是RSS向量,標簽是位置),監督式機器學習方法可以從數據中訓練出一個從特征到標簽的映射關系模型。kNN是一種很簡單的監督式機器學習算法,可以用來做分類或回歸。 對于…

室內定位系列 ——WiFi位置指紋(譯)

摘要 GPS難以解決室內環境下的一些定位問題,大部分室內環境下都存在WiFi,因此利用WiFi進行定位無需額外部署硬件設備,是一個非常節省成本的方法。然而WiFi并不是專門為定位而設計的,傳統的基于時間和角度的定位方法并不適用于WiFi…

機器學習02線性回歸、多項式回歸、正規方程

單變量線性回歸(Linear Regression with One Variable) 預測器表達式: 選擇合適的參數(parameters)θ0 和 θ1,其決定了直線相對于訓練集的準確程度。 建模誤差(modeling error)&a…

最大乘積

給定一個無序數組,包含正數、負數和0,要求從中找出3個數的乘積,使得乘積最大,要求時間復雜度:O(n),空間復雜度:O(1) def solve():n input()a input().split()for i in range(len(a)):a[i] in…

機器學習03Logistic回歸

邏輯回歸 (Logistic Regression) 目前最流行,使用最廣泛的一種學習算法。 分類問題,要預測的變量 y 是離散的值。 邏輯回歸算法的性質是:它的輸出值永遠在 0 到 1 之間。 邏輯回歸模型的假設是: 其中&a…

基礎架構系列匯總

為了方便查找,把基礎架構系統文章按時間正序整理了一下,記錄如下: 1. 基礎架構之日志管理平臺搭建及java&net使用 2. 基礎架構之日志管理平臺及釘釘&郵件告警通知 3. 基礎架構之分布式配置中心 4. 基礎架構之分布式任務平臺 5. 基礎架…

CNN理解比較好的文章

什么是卷積神經網絡?為什么它們很重要? 卷積神經網絡(ConvNets 或者 CNNs)屬于神經網絡的范疇,已經在諸如圖像識別和分類的領域證明了其高效的能力。卷積神經網絡可以成功識別人臉、物體和交通信號,從而為機…

Windows 安裝Angular CLI

1、安裝nvm npm cnpm nrm(onenote筆記上有記錄) 參考:https://blog.csdn.net/tyro_java/article/details/51232458 提示:如果發現配置完后,出現類似“npm不是內部命令……”等信息。 可采取如下措施進行解決—— 檢查環…

機器學習04正則化

正則化(Regularization) 過擬合問題(Overfitting): 如果有非常多的特征,通過學習得到的假設可能能夠非常好地適應訓練集 :代價函數可能幾乎為 0), 但是可能會不能推廣到…

Adaboost算法

概述 一句話概述Adaboost算法的話就是:把多個簡單的分類器結合起來形成個復雜的分類器。也就是“三個臭皮匠頂一個諸葛亮”的道理。 可能僅看上面這句話還沒什么概念,那下面我引用個例子。 如下圖所示: 在D1這個數據集中有兩類數據“”和“-”…

Codeforces 408D Long Path (DP)

題目: One day, little Vasya found himself in a maze consisting of (n??1) rooms, numbered from 1 to (n??1). Initially, Vasya is at the first room and to get out of the maze, he needs to get to the (n??1)-th one. The maze is organized as fol…

機器學習05神經網絡--表示

神經網絡:表示(Neural Networks: Representation) 如今的神經網絡對于許多應用來說是最先進的技術。 對于現代機器學習應用,它是最有效的技術方法。 神經網絡模型是許多邏輯單元按照不同層級組織起來的網絡, 每一層…

邏輯回歸(Logistic Regression, LR)又稱為邏輯回歸分析,是分類和預測算法中的一種。通過歷史數據的表現對未來結果發生的概率進行預測。例如,我們可以將購買的概率設置為因變量,將用戶的

邏輯回歸(Logistic Regression, LR)又稱為邏輯回歸分析,是分類和預測算法中的一種。通過歷史數據的表現對未來結果發生的概率進行預測。例如,我們可以將購買的概率設置為因變量,將用戶的特征屬性,例如性別,年齡&#x…

解決SecureCRT無法用非root賬號登錄ssh

鏈接失敗,提示這個: --------------------------- SecureCRT --------------------------- 連接到會話 192.168.1.100 失敗 : The server has disconnected with an error. Server message reads: A protocol error occurred. Change of username or se…

機器學習06神經網絡--學習

代價函數 標記方法: 神經網絡的訓練樣本有 m 個 每個包含一組輸入 x 和一組輸出信號 y L 表示神經網絡層數 Sl表示每層的 neuron 個數(SL 表示輸出層神經元個數) 將神經網絡的分類定義為兩種情況: 二類分類:SL1, y0 or 1 表示哪一類&…

Logistic Regression Classifier邏輯回歸

Logistic Regression Classifier邏輯回歸主要思想就是用最大似然概率方法構建出方程,為最大化方程,利用牛頓梯度上升求解方程參數。 優點:計算代價不高,易于理解和實現。缺點:容易欠擬合,分類精度可能不高…