導航:首頁 > 編程語言 > pythonmatplotlib文檔

pythonmatplotlib文檔

發布時間:2023-05-22 17:22:09

python matplotlib用繪制雷達圖實戰案例

import pandasas pd

import matplotlib.pyplotas plt

import numpyas np

plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']

plt.rcParams['axes.unicode_minus'] =False

data = pd.read_csv(r'D:\bigData\radarMap.csv')

data = data.dropna(axis=1)

data = data.set_index('性能評價指標')

data = data.T

data.index.name ='品牌'

def plot_radar(data, feature):

columns = ['動力性', '燃油經濟性', '制動性', '操控穩定性', '行駛平順性', '通過性', '安全性', '環保性', '方便性', '舒適性', '經濟性', '容量性']

colors = ['r', 'g', 'y']

# 設置雷達圖的角度,用於平分切開一明旅個平面

    # linspace(1,10,x) 創建1-10的等差數組,個數為 x,默認50個;endpoint參數指定是否包含終值,默認值為True,即包含終值。

    angles = np.linspace(0.1 * np.pi, 2.1 * np.pi, len(columns), endpoint=False)

# 使雷達圖封閉起來

    angles = np.concatenate((angles, [angles[0]]))

# figsize:指定figure的寬和高,單位為英寸;

    figure = plt.figure(figsize=(6, 6))

# 設置為極坐標格式;subplot(nrows,ncols,sharex,sharey,subplot_kw,**fig_kw)創建單個子圖,下面兩句效果相同

    ax = figure.add_subplot(111, polar=True)

for i, cin enumerate(feature):

stats = data.loc[c]

stats = np.concatenate((stats, [stats[0]]))

ax.plot(angles, stats, '-', linewidth=2, c=colors[i], label=str(c))

ax.fill(angles, stats, color=colors[i], alpha=0.75)

# bbox_to_anchor這個參數,可以把圖例放在圖外面

    # bbox_to_anchor:表示legend的位置,前一個表示左右,後一個表示上下。

    # 當使用這個參數時。loc將不再起正常的作用,ncol=3表示圖例三列顯示。

    ax.legend(loc=4, bbox_to_anchor=(1.15, -0.07))

# 設置極軸范圍

    ax.set_ylim(0, 10)

# ax.set_yticklabels([2, 4, 6, 8, 10])

    # 添加每個特質的標簽

    columns = np.concatenate((columns, [columns[0]]))

ax.set_thetagrids(angles *180 / np.pi, columns, fontsize=12)

# 添加標題

    plt.title('汽車性能州纖指標雷達圖')

plt.show()

return figure

figure = plot_radar(data, ['A品牌', 'B品牌', 'C品牌激跡凳'])

㈡ 用Python設置matplotlib.plot的坐標軸刻度間隔以及刻度范圍

轉自 跳轉鏈接
一、用默認設置繪制折線圖

import matplotlib.pyplot as plt

x_values=list(range(11))

#x軸的數字是0到10這11個整數

y_values=[x**2 for x in x_values]

#y軸的數字是x軸數字的平方

plt.plot(x_values,y_values,c='green')

#用plot函數繪制折線圖,慎彎線條顏色設置為綠色

plt.title('Squares',fontsize=24)

#設置圖表標題和標題字型大小

plt.tick_params(axis='both',which='major',labelsize=14)

#設置刻度的字型大小

plt.xlabel('Numbers',fontsize=14)

#設置x軸標簽及其字型大小

plt.ylabel('Squares',fontsize=14)

#設置y軸標簽及其字型大小

plt.show()

#顯示圖表

製作出圖表

我們希望x軸的刻度是0,1,2,3,4……,y軸的刻度是0,10,20,30……,並且希望兩個坐標軸的范圍都能再大一點,所以我們需要手動設置。

二、手動設置坐標軸刻度間隔以及刻度范圍

import matplotlib.pyplot as plt

from matplotlib.pyplot import MultipleLocator

#從pyplot導入MultipleLocator類,這個類用於設置刻度間隔

x_values=list(range(11))

y_values=[x**2 for x in x_values]

plt.plot(x_values,y_values,c='green')

plt.title('Squares',fontsize=24)

plt.tick_params(axis='both',which='major',labelsize=14)

plt.xlabel('Numbers',fontsize=14)

plt.ylabel('Squares',fontsize=14)

x_major_locator=MultipleLocator(1)

#把x軸的刻度間隔設置為1,姿孝猛並存在變數里

y_major_locator=MultipleLocator(10)

#把y軸的刻度間隔設置為10,並存在變數里

ax=plt.gca()

#ax為兩條坐標軸的實例

ax.xaxis.set_major_locator(x_major_locator)

#把x軸的主跡橋刻度設置為1的倍數

ax.yaxis.set_major_locator(y_major_locator)

#把y軸的主刻度設置為10的倍數

plt.xlim(-0.5,11)

#把x軸的刻度范圍設置為-0.5到11,因為0.5不滿一個刻度間隔,所以數字不會顯示出來,但是能看到一點空白

plt.ylim(-5,110)

#把y軸的刻度范圍設置為-5到110,同理,-5不會標出來,但是能看到一點空白

plt.show()

繪制結果

㈢ python matplotlib 圖像可視化

Python畫圖之總結待整理

https://morvanzhou.github.io/tutorials/data-manipulation/plt/
http://blog.sciencenet.cn/blog-1408284-850983.html
http://www.cnblogs.com/DHUtoBUAA/p/6619099.html
http://blog.csdn.net/wuguangbin1230/article/details/72858612
http://blog.sciencenet.cn/blog-251664-800766.html
http://blog.csdn.net/wuguangbin1230/article/details/72858612
http://www.jianshu.com/p/0a81b57bbb8c
https://pythonprogramming.net/

http://blog.csdn.net/haoji007/article/details/52063168

Python Data Visualizations

Seaborn 庫: https://seaborn.pydata.org/

Python Seaborn 教程: http://elitedatascience.com/python-seaborn-tutorial

matplotlib: plotting with Python
matplotlib: plotting with Python-github

python-data-visualization-course
Interactive Web Plotting for Python
Interactive Web Plotting for Python-github

https://morvanzhou.github.io/tutorials/data-manipulation/plt/3-3-contours/
https://github.com/MorvanZhou/tutorials/tree/master/matplotlibTUT

https://github.com/jiandanjinxin/tf-dev-summit-tensorboard-tutorial
https://github.com/jiandanjinxin/tensorflow-mnist-tutorial

CSDN-markdown編輯器語法——字體、字型大小與顏色

%matplotlib inline
%matplotlib notebook

Need to use either

or

Only one in each notebook! using inline will just sent png images to browser, using notebook will provide interactivity and allow updating old figures. With notebook you need to make sure to create a new figure before plotting, otherwise the last one will be updated!

還有簡便的 plt.close('all') 關閉所有圖,不用管 fig 號碼

Some plots from these tutorials:

調整名字和間隔

設置不同名字和位置

調整坐標軸

參數loc='upper right'
表示圖例將添加在圖中的右上角.

調整位置和名稱

最後我們得到帶有圖例信息的圖片.

移動坐標

然後我們挪動坐標軸的位置.

然後標注出點(x0, y0)的位置信息. 用plt.plot([x0, x0,], [0, y0,], 'k--', linewidth=2.5)
畫出一條垂直於x軸的虛線.

添加註釋 annotate
接下來我們就對(x0, y0)這個點進行標注.

其中參數xycoords='data'
是說基於數據的值來選位置,xytext=(+30, -30)
和textcoords='offset points'
對於標注位置的描述 和 xy 偏差值,arrowprops
是對圖中箭頭類型的一些設置.

添加註釋 text

其中-3.7, 3,
是選取text的位置, 空格需要用到轉字元
,fontdict
設置文本字體.

生成圖形
當圖片中的內容較多,相互遮蓋時,我們可以通過設置相關內容的透明度來使圖片更易於觀察,也即是通過本節中的bbox
參數設置來調節圖像信息.
首先參考之前的例子, 我們先繪制圖像基本信息:

調整坐標

然後對被遮擋的圖像調節相關透明度,本例中設置 x軸 和 y軸 的刻度數字進行透明度設置

其中label.set_fontsize(12)重新調節字體大小,bbox設置目的內容的透明度相關參,facecolor調節 box 前景色,edgecolor 設置邊框, 本處設置邊框為無,alpha設置透明度. 最終結果如下:

散點圖
首先,先引入matplotlib.pyplot簡寫作plt,再引入模塊numpy用來產生一些隨機數據。生成1024個呈標准正態分布的二維數據組 (平均數是0,方差為1) 作為一個數據集,並圖像化這個數據集。每一個點的顏色值用T來表示:

數據集生成完畢,現在來用scatterplot這個點集,滑鼠點上去,可以看到這個函數的各個parameter的描述,如下圖:
輸入X和Y作為location,size=75,顏色為T,color map用默認值,透明度alpha 為 50%。 x軸顯示範圍定位(-1.5,1.5),並用xtick()函數來隱藏x坐標軸,y軸同理:

今天的柱狀圖分成上下兩部分,每一個柱體上都有相應的數值標注,並且取消坐標軸的顯示。
生成基本圖形
向上向下分別生成12個數據,X為 0 到 11 的整數 ,Y是相應的均勻分布的隨機數據。使用的函數是plt.bar
,參數為X和Y:

這樣我們就生成了下圖所示的柱狀圖基本框架:

現在的結果呈現:

接下來我們用函數plt.text分別在柱體上方(下方)加上數值,用%.2f保留兩位小數,橫向居中對齊ha='center',縱向底部(頂部)對齊va='bottom':

最終的結果就像開始一樣:

畫等高線
數據集即三維點 (x,y) 和對應的高度值,共有256個點。高度值使用一個 height function f(x,y) 生成。 x, y 分別是在區間 [-3,3] 中均勻分布的256個值,並用meshgrid在二維平面中將每一個x和每一個y分別對應起來,編織成柵格:

接下來進行顏色填充。使用函數plt.contourf把顏色加進去,fill, 位置參數分別為:X, Y, f(X,Y)。透明度0.75,並將 f(X,Y) 的值對應到color map的暖色組中尋找對應顏色。8代表等高線的個數。

接下來進行等高線繪制。使用plt.contour函數劃線。位置參數為:X, Y, f(X,Y)。顏色選黑色,線條寬度選0.5。現在的結果如下圖所示,只有顏色和線條,還沒有數值Label:

添加高度數字
其中,8代表等高線的密集程度,這里被分為10個部分。如果是0,則圖像被一分為二。
最後加入Label,inline控制是否將Label畫在線裡面,字體大小為10。並將坐標軸隱藏:

隨機矩陣畫圖

這一節我們講解怎樣在matplotlib中列印出圖像。這里我們列印出的是純粹的數字,而非自然圖像。 我們今天用這樣 3x3 的 2D-array 來表示點的顏色,每一個點就是一個pixel。

colorbar
下面我們添加一個colorbar ,其中我們添加一個shrink參數,使colorbar的長度變短為原來的92%:

3D
首先在進行 3D Plot 時除了導入 matplotlib ,還要額外添加一個模塊,即 Axes 3D 3D 坐標軸顯示:

之後要先定義一個圖像窗口,在窗口上添加3D坐標軸,顯示成下圖:

接下來給進 X 和 Y 值,並將 X 和 Y 編織成柵格。每一個(X, Y)點對應的高度值我們用下面這個函數來計算。

其中,rstride 和 cstride 分別代表 row 和 column 的跨度。
下面兩個圖分別是跨度為1 和 5 的效果:

投影

下面添加 XY 平面的等高線:

如果 zdir 選擇了x,那麼效果將會是對於 XZ 平面的投影,效果如下

㈣ python matplotlib怎麼用

使用python的包matplotlib來畫圖
瀏覽:255
|
更新:
2015-10-24 22:10
1
2
3
4
5
6
7
分步閱讀
python中的matplotlib可以很快的幫助我們作出圖,
為此我們給出matplotlib的安裝步驟和一個小例子來展示其功能
工具/原料
python3.4
numpy包
matplotlib包
依賴包:pyparsing、dateutil、scipy
方法/步驟
python安裝(之前寫過一篇關於python的安裝,這里不重復介紹)
(1) 如何下載?網路---> Python官網
(2) 版本:python-3.4.3.amd64 exe文件直接點哦
(3) 目錄:D:\Python34
為python配置了環境變數:D:\Python34\Scripts;D:\Python34
(4) 命令行輸入:python 有反應表示成功
說明:matplotlib還沒有匹配python3.5的版本,我的電腦為64位
0Python安裝學習指南
軟體包下載:
因為涉及到眾多包的下載,以及其中的版本和電腦位數問題特介紹如下( 注意加粗的字體):
(1) numpy numpy-1.10.1+mkl-cp34-none-win_amd64.whl
(2) matplotlib matplotlib-1.4.3.win-amd64-py3.4b/matplotlib-1.4.3/windows/
(3) 依賴包:pyparsing、dateutil、scipy

聲明:以上軟體地址可自行網路搜索
附註:圖一為matplotlib 、圖二為numpy 下載界面的選擇

軟體包numpy的安裝:
1 命令行輸入【完整的路徑=numpy 在你電腦的絕對路徑】
pip install 完整的路徑\numpy -1.10.1+mkl-cp34-none-win_amd64.
2 驗證:python編輯下 python>>
from numpy import *

安裝matplotlib:
matplotlib-1.4.3.win-amd64-py3.4
因為下載的是exe文件,點擊一路執行即可

依賴包的安裝:
在命令行里逐行輸入如下命令:軟體包的絕對路徑
1 pip install 絕對路徑\pyparsing-2.0.3-py3-none-any.whl
2 pip install 絕對路徑\python_dateutil-2.4.2-py2.py3-none-any.whl
3 pip install 絕對路徑\matplotlib依賴\scipy-0.16.0-cp34-none-win_amd64.whl

驗證是否安裝成功:
1 在python編輯狀態下導入安裝的包:
import matplotlib
import numpy
import scipy
import pyparsing
import matplotlib.pyplot as plt
2 如果缺少six
在安裝完畢scipy之後把../Python34/Lib/site-packages/scipy/lib中的six.py six.pyc six.pyo三個文件拷貝到.../Python34/Lib/site-packages
案例1:
import matplotlib.pyplot as plt
x = [0, 1, 2, 3, 4, 5]
y = [0.1, 0.2, 0.2, 0.3, 0.2, 0.1]
y2 = [0.2, 0.2, 0.3, 0.2, 0.3, 0]
plt.plot(x, y, 'b', x, y2, 'g')
plt.show()

案例2:
import matplotlib.pyplot as plt
import math
x=[]
y=[]
num=0.0
while num < math.pi * 4:
y.append(math.sin(num))
x.append(num)
num += 0.1
plt.plot(x, y, 'b')
plt.show()

如果

㈤ python matplotlib可以畫表格嗎

matplotlib 是python最著名的繪圖庫,它提供了一整套和matlab相似的命令API,十分適合互動式地進行制圖。
而且也可以方便地將它作為繪圖控制項,嵌入GUI應用程序中。它的文檔相當完備,並且 Gallery頁面 中有上百幅縮略圖,打開之後都有源程序。因此如果你需要繪制某種類型的圖,只需要在這個頁面中瀏覽、復制、粘貼一下,基本上都能搞定。

㈥ Python實現彩色散點圖繪制(利用色帶對散點圖進行顏色渲染)

接受自己的普通,然後全力以赴的出眾,告訴自己要努力,但不要著急....

當然, 這個結果並不是我真正想要的,Pass, 太丑了!

好吧,安排,我們先看下實現後的效果!

這個效果自然就比之前的好多了!

實現python散點圖繪制需要用到matplotlib庫, matplotlib庫是專門用於可視化繪圖的工具庫;學習一個新的庫當然看官方文檔了: https://www.osgeo.cn/matplotlib/contents.html

實現思路:

matplotlib.pyplot.scatter() 函數是專門繪制散點圖的函數: https://www.osgeo.cn/matplotlib/api/_as_gen/matplotlib.pyplot.scatter.html?highlight=scatter#matplotlib.pyplot.scatter

matplotlib.pyplot.scatter ( x, y , s=None , c=None , marker=None , cmap=None , norm=None , vmin=None , vmax=None , alpha=None , linewidths=None , verts=None , edgecolors=None , ***, data=None , ** kwargs ) **

plt.scatter(observation, estimate, c=Z1, cmap=colormap, marker=".", s=marker_size, norm=colors.LogNorm(vmin=Z1.min(), vmax=0.5 * Z1.max()))
其中:
1、c參數為計算的散點密度;
2、cmap為色帶(matplotlib裡面自帶了很多色帶可供選擇),參見:
https://www.osgeo.cn/matplotlib/gallery/color/colormap_reference.html
3、由於計算的散點密度數值大小分散,因此利用norm參數對散點密度Z1進行歸一化處理(歸一化方式很多,參見colors類),並給歸一化方式設置色帶刻度的最大最小值vmin和vmax(一般這兩個參數就是指定散點密度的最小值和最大值),這樣就建立起了密度與色帶的映射關系。
https://matplotlib.org/tutorials/colors/colormapnorms.html

(這里的結果與前面展示的相比改變了計算散點密度的半徑:radius = 3以及繪制散點圖的散點大小marksize)

作者能力水平有限,歡迎各位批評指正!

㈦ Python數據可視化利器Matplotlib從入門到高級4

2D曲線繪制是Matplotlib繪圖的最基本功能,也是用得最多、最重要的繪圖功能之一,本文開始詳細介紹Matplotlib 2D曲線繪圖功能。我的介紹主要以面向對象的編碼風格為主,但會在文章的末尾附上相應的pyplot風格的源代碼,供大家查閱、對比。我們先看一段代碼:

代碼運行效果如下:

這個繪圖中我們沒有作任何設置,一切交給Matplotlib處理。我們只是看到了繪制出的曲線的樣子。但這與我們所想要的效果可能差異較大。所以我們還需要對圖形進行一些自定義。

不管我們想生成什麼樣的圖形,在Matplotlib當中,大致都可以總結為三步:一是構造繪圖用的數據(Matplotlib推薦numpy數據,本系列介紹Matplotlib繪圖,暫不涉及numpy的相關內容,留待後續有空餘時吧);二是根據數據的特點選擇適當的繪圖方法並繪制出數據的圖形;第三步則是對繪制的圖形進行自定義設置或者美化以達到滿足我們獲得精美的輸出圖形的要求。

在上面的繪圖中,我們僅僅做到了第二步,下面我們來進行一些自定義,而Matplotlib為此提供了非常豐富的功能。

你可能最想先嘗試一下換個顏色看看曲線是什麼樣的,這有很多種方法。首先,我們可以在繪制圖形的時候直接指定它,我們把繪圖的代碼改成下面的樣子:

這里的 『r』 是 「red」的簡寫,表示將曲線的顏色指定為紅色。也可以寫成下面的樣子,這樣可讀性更高:

plot 返回一個 Line2D 對象的列表,我們使用一個帶有「 line1, 」的元組來解包,隨後使用 set_color() 代碼設置line1 曲線的顏色,請注意這里設置的顏色會覆蓋 plot 繪圖函數當中指定的顏色。上面三段代碼各自獨立運行之後的效果是一樣的。如下:

為了提高效率,Matplotlib模仿MATLAB支持常用顏色的單字母代碼縮寫。

你還可以使用不區分大小寫的十六進制 RGB 或 RGBA 字元串(如:'#0f0f0f'),或者不區分大小寫的 X11/CSS4 顏色名稱(如:'aquamarine'),以及來自 xkcd color survey 的不區分大小寫的顏色名稱(如:'xkcd:sky blue')等等。更為詳細的顏色規范,你可以查閱官方文檔。但對於Python辦公而言,掌握這些應該已經足夠了。

與曲線顏色一樣,線型和線寬也有多種方式來指定:

這里我們最終指定的線寬為2.0磅,繪圖函數當中指定的線寬被後續指定的屬性值覆蓋了。而線型在這里由set_linestyle()指定,其中「--」和「-.」都是Matplotlib中支持的線型,「--」表示虛線,而「-.」則是點劃線。而Matplotlib默認的線型「-」實線,除此之外,Matplotlib還支持「:」點線。

我們繪制曲線之前構造的數據點在曲線上也可以標記出來,這些標記點有不同的風格。同樣可以以不同的方式來設置它:

注意第一行代碼當中的「r:o」字元串,它是一種簡寫形式,是將顏色、線型和標記點形狀在一個字元串中同時設置的方式,其中的「r」表示紅色,「:」表示點線,「o」表示標記點為大圓點。只有在顏色使用單字元代碼時才可以像上面這樣組合起來同時表示三個屬性。默認情況下,標記點的顏色與線型顏色相同,但可以單獨設置與曲線不同的顏色,不僅如此,標記點的邊線顏色和中間填充顏色也都可以單獨設置。上面第二行代碼我們就使用set_markeredgecolor('b')將標記點邊線顏色設置為了藍色。與標記點設置相關的還有set_marker(設置標記點形狀)、set_markeredgewidth(設置標記點邊線寬度)、set_markerfacecolor(設置標記點中間的填充色)、set_markersize (設置標記點的大小)等。下面是我整理的Matplotlib支持的所有標記點形狀。

本文先介紹到此,後續進一步介紹坐標軸、圖例和網格線的設置。最後附上本文pyplot風格的繪圖代碼:

顯然這種簡單繪圖pyplot風格要簡潔一些,還是很有優勢的。

閱讀全文

與pythonmatplotlib文檔相關的資料

熱點內容
抖音演算法到底是什麼 瀏覽:126
哪個vlan技術對報文加密 瀏覽:570
單片機定時電路 瀏覽:672
山西平台伺服器雲主機 瀏覽:700
按摩肚臍解壓視頻 瀏覽:989
php55安裝教程 瀏覽:137
雲伺服器怎麼查找本機域名 瀏覽:22
qd123y壓縮機參數 瀏覽:385
程序員媽媽懷孕 瀏覽:490
金普國際編程 瀏覽:537
java什麼是引用類型 瀏覽:944
這是命令嗎txt 瀏覽:314
支付寶android包名 瀏覽:154
eclipsemaven命令 瀏覽:68
24路伺服器配什麼cpu 瀏覽:466
壓縮文件和解壓文件哪個快 瀏覽:675
亞馬遜雲伺服器視頻通話 瀏覽:912
金融知識app哪個好 瀏覽:978
農行理財app收益在哪裡 瀏覽:969
暗淡的命令名項目表示該命令 瀏覽:212