Python可視化學習之seaborn調色盤
1、color_palette() 函數
該函數是seaborn選取顏色關鍵函數
color_palette() will accept the name of any seaborn palette or matplotlib colorma
語法:seaborn.color_palette(palette=None, n_colors=None, desat=None)
import seaborn as sns import matplotlib.pyplot as plt plt.figure(dpi=250) sns.palplot(sns.color_palette())#輸出默認顏色
print(sns.color_palette())#返回默認顏色元組組成的list
#palette,傳入colormap名稱 sns.palplot(sns.color_palette(palette='Accent'))#使用matplotlib中的colormap
#n_colors sns.palplot(sns.color_palette(n_colors=21))#返回顏色種類,超過瞭自動循環
# desat sns.palplot(sns.color_palette(n_colors=21, desat=0.2))#設置顏色飽和度
#with plt.figure(dpi=100) with sns.color_palette(n_colors=21):#循環使用色盤 _ = plt.plot(np.c_[np.zeros(21), np.arange(21)].T)
#傳入hex 格式顏色號給sns.color_palette flatui = ["#9b59b6", "#3498db", "#95a5a6", "#e74c3c", "#34495e", "#2ecc71"] sns.palplot(sns.color_palette(flatui))
#顏色使用 plt.figure(dpi=100) plt.subplot(1,2,1) plt.bar([1,2,3],[1,2,3],color=sns.color_palette()[0])#取一種顏色 plt.subplot(1,2,2) plt.bar([1,2,3],[1,2,3],color=sns.color_palette()[0:3])#取三種顏色
2、 seaborn可用調色盤
分三大類:‘sequential’(漸變色), ‘diverging’(不可描述,看下圖), ‘qualitative’(各種顏色區分鮮明)
choose_colorbrewer_palette函數
該函數可以預覽各種顏色盤, 隻能在jupyter notebook中使用。
下面詳細介紹上面三類顏色。
Qualitative color palettes
to distinguish discrete chunks of data that do not have an inherent ordering,分如下幾類:
1、deep, muted, pastel, bright, dark, colorblind
2、hls
3、husl
4、palettable 5、xkcd
6、傳入顏色list
#deep, muted, pastel, bright, dark, colorblind for i in list('deep, muted, pastel, bright, dark, colorblind'.split(', ')): print(i,end='\t') sns.palplot(sns.color_palette(palette=i))
從上到下依次為:deep, muted, pastel, bright, dark, colorblind
# hls sns.palplot(sns.color_palette(palette='hls')) sns.palplot(sns.hls_palette(8, l=.3, s=.8))
#husl sns.palplot(sns.color_palette(palette='husl')) sns.palplot(sns.color_palette("husl", 8))
import palettable#python palettable庫 sns.palplot(sns.color_palette(palette=palettable.colorbrewer.qualitative.Dark2_7.mpl_colors))#使用palettable中的colormap sns.palplot(sns.color_palette(palette=palettable.scientific.sequential.Nuuk_7.mpl_colors))
#xkcd plt.plot([0, 1], [0, 1], sns.xkcd_rgb["pale red"], lw=3) plt.plot([0, 1], [0, 2], sns.xkcd_rgb["medium green"], lw=3) plt.plot([0, 1], [0, 3], sns.xkcd_rgb["denim blue"], lw=3)
xkcd,詳細可參考 :Python可視化學習之matplotlib內置單顏色
#傳入顏色list給ns.xkcd_palette() colors = ["windows blue", "amber", "greyish", "faded green", "dusty purple"] sns.palplot(sns.xkcd_palette(colors))
Sequential color palettes
is appropriate when data range from relatively low or uninteresting values to relatively high or interesting values
1、"Blues"這類
2、'cubehelix',seaborn.cubehelix_palette(n_colors=6, start=0, rot=0.4, gamma=1.0, hue=0.8, light=0.85, dark=0.15, reverse=False, as_cmap=False)
3、傳統色的漸變色,light_palette()、dark_palette()
#"Blues"這類漸變色 sns.palplot(sns.color_palette("Blues")) sns.palplot(sns.color_palette("Blues_d"))#_d表示顯示該顏色的深色系(“dark” palettes by appending “_d”) sns.palplot(sns.color_palette("Blues_r"))
# cubehelix sns.palplot(sns.color_palette("cubehelix", 8)) sns.palplot(sns.color_palette("ch:2.5,-.2,dark=.3"))#使用cubehelix接口制作顏色 sns.palplot(sns.cubehelix_palette(8, start=2, rot=0, dark=0, light=.95, reverse=True))
#light_palette sns.palplot(sns.light_palette("seagreen", reverse=True)) sns.palplot(sns.light_palette((260, 75, 60), input="husl"))
Diverging color palettes
for data where both large low and high values are interesting.
1、diverging_palette()
sns.palplot(sns.color_palette("coolwarm", 7))
sns.palplot(sns.diverging_palette(240, 10, n=9)) sns.palplot(sns.diverging_palette(150, 275, s=80, l=55, n=9)) sns.palplot(sns.diverging_palette(250, 15, s=75, l=40, n=9, center="dark"))
到此這篇關於Python可視化學習之seaborn調色盤的文章就介紹到這瞭,更多相關Python seaborn調色盤內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Python可視化學習之matplotlib內置單顏色
- Python matplotlib實現圖表主題變換示例詳解
- 詳解matplotlib繪圖樣式(style)初探
- Python 制作子彈圖
- 利用Seaborn繪制20個精美的pairplot圖