您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)python中matplotlib指定繪圖顏色的方式有哪些的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
在使用matplotlib
的pyplot庫(kù)進(jìn)行繪圖時(shí),經(jīng)常會(huì)發(fā)現(xiàn)各種開源代碼指定“color”的方式并不一致。發(fā)現(xiàn)共有8種指定color的方式。
8種方式如下:
使用[0, 1]之間浮點(diǎn)數(shù)值表示RGB/RGBA顏色值;
使用十六進(jìn)制RGB/RGBA字符串表示顏色;
使用顏色首字母;
使用X11/CSS4的顏色名;
使用xkcd顏色;
Tableau的T10種顏色;
CN表示的循環(huán)顏色;
字符串表示的浮點(diǎn)數(shù)值;
通過上述8中顏色設(shè)置,可以實(shí)現(xiàn)幾乎所有的顏色選擇。8種方式中第二種應(yīng)該是最好的方式,可以根據(jù)十六進(jìn)制顏色碼進(jìn)行靈活的顏色選擇。下面具體介紹每種方式的具體概念和使用流程,并給出源碼。
對(duì)于RGB/RGBA顏色模式來說,每個(gè)顏色分量的取值在0-255之間。通過縮放以后變?yōu)閇0,1]之間浮點(diǎn)數(shù),作為顏色的參數(shù)值:
draw_bar((255/255, 255/255, 0/255), ax1, "tuple of RGB/RGBA")
圖示如下:
在顏色表示方法中,六位的十六進(jìn)制數(shù)值分別表示RGB三種顏色,即為0-255的換算。比如“#FF3300”表示紅色分量為FF,綠色分量為33,藍(lán)色分量為00。
此時(shí),使用十六進(jìn)制字符串作為顏色參數(shù)的代碼如下:
draw_bar("#FF0000", ax2, "hex color code")
圖示如下:
按照約定,在{'b', 'g', 'r', 'c', 'm', 'y', 'k', 'w'}中的顏色首字母可以作為顏色參數(shù):
draw_bar("b", ax, "color's first char")
圖示如下:
根據(jù)HTML中的顏色定義,可以使用其中的顏色名稱直接作為參數(shù),具體名稱較多,建議可以查閱相關(guān)資料。
使用方式如下:
draw_bar("pink", ax, "color's name")
圖示如下:
根據(jù)xkcd的網(wǎng)站【2】提供的顏色名稱,可以相應(yīng)的作為顏色參數(shù):
draw_bar("violet", ax, "xkc color")
圖示如下:
通過使用Tableau定義的顏色, 可以使用【1】中給出的{'tab:blue', 'tab:orange', 'tab:green'}等作為顏色參數(shù):
draw_bar("tab:brown", ax, "T10")
圖示如下:
根據(jù)【1】中介紹,這應(yīng)該是一種內(nèi)置的表示方法,暫時(shí)沒有找到具體文檔:
draw_bar("C2", ax, "Cn")
圖示如下:
這種方式的介紹也比較少,使用的頻率也比較低,沒有浮點(diǎn)數(shù)RGB模式表示方便:
draw_bar(color_type="0.2", ax=ax, title="float string")
圖示如下:
前面的分析中draw_bat()函數(shù)的定義如下:
def draw_bar(color_type, ax, title): """ 使用不同的顏色格式進(jìn)行繪圖 Parameters -------------------- color_type:object 任何可行的顏色類型 ax: Ax 繪圖坐標(biāo)軸 title:string 該子圖的標(biāo)題 """ x = np.linspace(1, 6, 6) y = np.linspace(0.2, 1, 6) ax.bar(x=x, height=y, width=0.6, color=color_type) ax.set_title(title) return None
感謝各位的閱讀!關(guān)于“python中matplotlib指定繪圖顏色的方式有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。