pythonseaborn调色板教学(第二章Pythonseaborn之调色板)
1、系统默认调色板
1 import seaborn as sns
2 import matplotlib.pyplot as plt
3
4 # 设置画布的大小
5 sns.set(context="notebook", # 缩放绘图元素
6 style="darkgrid", # 灰色网格
7 palette="deep", # 可取值为deep, muted, bright, pastel, dark, colorblind
8 font="sans-serif", # 字体
9 font_scale=1, # 缩放字体的大小
10 color_codes=True,
11 rc={"figure.figsize":(6,6)})
12
13 # 调用系统调色板
14 color_p = sns.color_palette(palette=None, # 调色板
15 n_colors=None, # 调色板中的颜色数,默认为6
16 desat=None) # 每种颜色去饱和的比例。
17
18 # 将颜色调色板中的color_p作为水平数组绘制出调色板
19 sns.palplot(color_p, # 绘制系统调色板
20 size=1) # 绘图大小的比例因子
21
22 plt.show()
2、自定义调色板
1 import seaborn as sns
2 import matplotlib.pyplot as plt
3
4 # 设置画布的大小
5 sns.set(context="notebook", # 缩放绘图元素
6 style="darkgrid", # 灰色网格
7 palette="deep", # 可取值为deep, muted, bright, pastel, dark, colorblind
8 font="sans-serif", # 字体
9 font_scale=1, # 缩放字体的大小
10 color_codes=True,
11 rc={"figure.figsize":(6,6)}) # 设置画布大小
12
13 # 调用系统调色板
14 color_p = sns.color_palette(palette="hls", # 自定义调色板
15 n_colors=12, # 调色板中的颜色数为12
16 desat=None) # 每种颜色去饱和的比例。
17
18 # 将颜色调色板中的color_p作为水平数组绘制出调色板
19 sns.palplot(color_p, # 绘制系统调色板
20 size=1) # 绘图大小的比例因子
21
22 plt.show()
3、连续调色板
当color_p = sns.color_palette(palette="Blues")时:
当color_p = sns.color_palette(palette="Blues_r")时:
4、发散调色板
当color_p = sns.color_palette(palette="BrBG",n_colors=7)时
5、线性调色板
1 import seaborn as sns
2 import matplotlib.pyplot as plt
3 sns.palplot(sns.color_palette("cubehelix",8))
4 plt.show()
6、变换色板
1 import seaborn as sns
2 import matplotlib.pyplot as plt
3
4 # 八个色彩,start螺旋开始的色相,rot螺旋终止的色相
5 sns.palplot(sns.cubehelix_palette(n_colors=8,start=0.75,rot=-0.15))
6 plt.show()
7、xkcd_palette调用xkcd_rgb当中的颜色
1 import seaborn as sns
2 import matplotlib.pyplot as plt
3
4 # 颜色可以从sns.xkcd_rgb查看
5 color_arr = ['windows blue','amber','greyish','faded green','dusty purple']
6
7 # xkcd_palette调色板调用color_arr内的颜色
8 xkcd_arr = sns.xkcd_palette(colors=color_arr)
9
10 # 将颜色调色板当中的值xkcd_arr作为水平数组绘制出调色板
11 sns.palplot(xkcd_arr)
12 plt.show()
8、颜色对儿
当color_p = sns.color_palette(palette="Paired",n_colors=8)时:
9、渐变调色板
1 import numpy
2 import seaborn as sns
3 import matplotlib.pyplot as plt
4
5 # 从多元正态分布当中抽取随机样本(参数:均值,方差;300个随机正太分布样本) T表示转置
6 x,y = numpy.random.multivariate_normal([0,0],[[1,-5],[-5,1]],size=300).T
7
8 # 深色调色板, as_cmap参数用来更改显示的颜色范围是离散的还是连续的,True为连续,FALSE为离散
9 pal = sns.dark_palette(color="green",as_cmap=True)
10
11 # 绘制核密度估计图(等高线图)
12 sns.kdeplot(x,y,cmap=pal)
13 plt.show()
10、导入调色板
1 import seaborn as sns
2 import numpy
3 import matplotlib.pyplot as plt
4 # 设置画布的大小
5 sns.set(context="notebook", # 缩放绘图元素
6 style="darkgrid", # 灰色网格
7 palette="deep", # 可取值为deep, muted, bright, pastel, dark, colorblind
8 font="sans-serif", # 字体
9 font_scale=1, # 缩放字体的大小
10 color_codes=True,
11 rc={"figure.figsize":(6,6)}) # 设置画布大小
12
13 # 创建数据组,normal是从正态分布当中抽取20*8的矩阵
14 arr = numpy.random.normal(size=(20,8)) numpy.arange(0,8,8)/2
15
16 # 绘制箱线图,并导入调色板
17 sns.boxplot(data=arr,palette=sns.color_palette("hls",8))
18
19 plt.show()
11、亮度和饱和度
1 import seaborn as sns
2 import numpy
3 import matplotlib.pyplot as plt
4 # 设置画布的大小
5 sns.set(context="notebook", # 缩放绘图元素
6 style="darkgrid", # 灰色网格
7 palette="deep", # 可取值为deep, muted, bright, pastel, dark, colorblind
8 font="sans-serif", # 字体
9 font_scale=1, # 缩放字体的大小
10 color_codes=True,
11 rc={"figure.figsize":(6,6)}) # 设置画布大小
12
13 # 创建数据组,normal是从正态分布当中抽取20*8的矩阵
14 arr = numpy.random.normal(size=(20,8)) numpy.arange(0,8,8)/2
15
16 # 绘制箱线图,并导入调色板,l=0.3,s=0.8分别为亮度和饱和度
17 sns.boxplot(data=arr,palette=sns.hls_palette(n_colors=8,l=0.3,s=0.8))
18
19 plt.show()
12、颜色对儿
1 import seaborn as sns
2 import numpy
3 import matplotlib.pyplot as plt
4 # 设置画布的大小
5 sns.set(context="notebook", # 缩放绘图元素
6 style="darkgrid", # 灰色网格
7 palette="deep", # 可取值为deep, muted, bright, pastel, dark, colorblind
8 font="sans-serif", # 字体
9 font_scale=1, # 缩放字体的大小
10 color_codes=True,
11 rc={"figure.figsize":(6,6)}) # 设置画布大小
12
13 # 创建数据组,normal是从正态分布当中抽取20*8的矩阵
14 arr = numpy.random.normal(size=(20,8)) numpy.arange(0,8,8)/2
15
16 # 绘制箱线图,并导入调色板,Paired为颜色对儿(颜色相近为一对儿)
17 sns.boxplot(data=arr,palette=sns.color_palette(palette="Paired",n_colors=8))
18
19 plt.show()
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com