欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

Matplotlib Task2

一.概述
1. matplotlib的三層api

matplotlib的原理或者說(shuō)基礎(chǔ)邏輯是,用Artist對(duì)象在畫布(canvas)上繪制(Render)圖形。更通俗點(diǎn)的理解就是Artist的作用是調(diào)用畫筆來(lái)繪制出想要的圖形,canvas是個(gè)承接內(nèi)容的畫布,Render是畫筆。

FigureCanvas:

matplotlib.backend_bases.FigureCanvas 代表了繪圖區(qū),所有的圖像都是在繪圖區(qū)完成的。

Renderer:

matplotlib.backend_bases.Renderer 代表了渲染器,可以近似理解為畫筆,控制如何在 FigureCanvas 上畫圖。

Artist:

matplotlib.artist.Artist 代表了具體的圖表組件,即調(diào)用了Renderer的接口在Canvas上作圖,具體的調(diào)用接口來(lái)做出我們想要的圖,比如圖形、文本、線條的設(shè)定。

2.Artist的分類

Artist有兩種類型:primitives 和containers。

primitive是基本要素,它包含一些我們要在繪圖區(qū)作圖用到的標(biāo)準(zhǔn)圖形對(duì)象,如曲線Line2D,文字text,矩形Rectangle,圖像image等。

container是容器,即用來(lái)裝基本要素的地方,包括圖形figure、坐標(biāo)系A(chǔ)xes和坐標(biāo)軸Axis。

兩者的關(guān)系可以通俗的理解為contaniner包含primitives。

可視化中常見的artist類可以參考下圖這張表格:
Axes helper method ? ?Artist ? ?Container
bar - bar charts ? ?Rectangle ? ?ax.patches
errorbar - error bar plots ? ?Line2D and Rectangle ? ?ax.lines and ax.patches
fill - shared area ? ?Polygon ? ?ax.patches
hist - histograms ? ?Rectangle ? ?ax.patches
imshow - image data ? ?AxesImage ? ?ax.images
plot - xy plots ? ?Line2D ? ?ax.lines
scatter - scatter charts ? ?PolyCollection ? ?ax.collections

現(xiàn)對(duì)上表進(jìn)行解釋:

第一列:表示matplotlib中子圖(子圖的概念可以參考我的博客里的task1)上的輔助方法,可以理解為可視化中不同種類的圖表類型,如柱狀圖,折線圖,直方圖等,這些圖表都可以用這些輔助方法直接畫出來(lái),屬于更高層級(jí)的抽象。

第二列:表示不同圖表背后的artist類,比如折線圖方法plot在底層用到的就是Line2D這一artist類。

第三列:是第二列的列表容器,例如所有在子圖中創(chuàng)建的Line2D對(duì)象都會(huì)被自動(dòng)收集到ax.lines返回的列表中。

二.基本元素-primitives

primitives 的幾種類型:曲線-Line2D,矩形-Rectangle,多邊形-Polygon,圖像-image。

1. 2DLines

在matplotlib中曲線的繪制,主要是通過類 matplotlib.lines.Line2D 來(lái)完成的。

matplotlib中線-line的含義:它表示的可以是連接所有頂點(diǎn)的實(shí)線樣式,也可以是每個(gè)頂點(diǎn)的標(biāo)記。此外,這條線也會(huì)受到繪畫風(fēng)格的影響,比如,我們可以創(chuàng)建虛線種類的線。

其中常用的的參數(shù)有:

? ? xdata:需要繪制的line中點(diǎn)的在x軸上的取值,若忽略,則默認(rèn)為range(1,len(ydata)+1)
? ? ydata:需要繪制的line中點(diǎn)的在y軸上的取值
? ? linewidth:線條的寬度
? ? linestyle:線型
? ? color:線條的顏色
? ? marker:點(diǎn)的標(biāo)記,詳細(xì)可參考markers API
? ? markersize:標(biāo)記的size

其他詳細(xì)參數(shù)可參考Line2D官方文檔

a. 如何設(shè)置Line2D的屬性

有三種方法可以用設(shè)置線的屬性。

? ? 直接在plot()函數(shù)中設(shè)置
? ? 通過獲得線對(duì)象,對(duì)線對(duì)象進(jìn)行設(shè)置
? ? 獲得線屬性,使用setp()函數(shù)設(shè)置

其實(shí)下列例子和matlab繪圖比較相似,可以聯(lián)想理解
import numpy as np
import pandas as pd
import re
import matplotlib
import matplotlib.pyplot as plt
from matplotlib.lines import Line2D
from matplotlib.patches import Circle, Wedge
from matplotlib.collections import PatchCollection
# 1) 直接在plot()函數(shù)中設(shè)置
x = range(0,5)
y = [2,5,7,8,10]
plt.plot(x,y, linewidth=10); # 設(shè)置線的粗細(xì)參數(shù)為10
plt.show()

import numpy as np
import pandas as pd
import re
import matplotlib
import matplotlib.pyplot as plt
from matplotlib.lines import Line2D
from matplotlib.patches import Circle, Wedge
from matplotlib.collections import PatchCollection
?
# 2) 通過獲得線對(duì)象,對(duì)線對(duì)象進(jìn)行設(shè)置
x = range(0,5)
y = [2,5,7,8,10]
line, = plt.plot(x, y, '-') # 這里等號(hào)坐標(biāo)的line,是一個(gè)列表解包的操作,目的是獲取plt.plot返回列表中的Line2D對(duì)象
line.set_antialiased(False); # 關(guān)閉抗鋸齒功能
plt.show()

文章鏈接: http://m.qzkangyuan.com/21651.html

文章標(biāo)題:Matplotlib Task2

文章版權(quán):夢(mèng)飛科技所發(fā)布的內(nèi)容,部分為原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明來(lái)源,網(wǎng)絡(luò)轉(zhuǎn)載文章如有侵權(quán)請(qǐng)聯(lián)系我們!

聲明:本站所有文章,如無(wú)特殊說(shuō)明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個(gè)人或組織,在未征得本站同意時(shí),禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書籍等各類媒體平臺(tái)。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。

給TA打賞
共{{data.count}}人
人已打賞
建站教程

Matplotlib Task2

2023-6-29 12:39:19

建站教程

Matplotlib TASK1

2023-6-29 12:48:54

0 條回復(fù) A文章作者 M管理員
    暫無(wú)討論,說(shuō)說(shuō)你的看法吧
?
個(gè)人中心
購(gòu)物車
優(yōu)惠劵
今日簽到
有新私信 私信列表
搜索
主站蜘蛛池模板: 定日县| 竹山县| 册亨县| 黄大仙区| 永城市| 手游| 大石桥市| 盐源县| 庆元县| 安吉县| 白城市| 苍溪县| 临清市| 新田县| 汉源县| 天等县| 滕州市| 黄骅市| 武定县| 惠水县| 延寿县| 九龙县| 克东县| 鄂州市| 囊谦县| 乐安县| 阿克陶县| 瑞金市| 华坪县| 永寿县| 花莲市| 滦平县| 肇州县| 磐石市| 宿迁市| 广平县| 团风县| 临邑县| 临海市| 无锡市| 华安县|