seaborn是python中一个可视化的图像处理库,是在matplotlib的基础上进行封装,提供丰富的模板,通过调用模板并传入参数实现画图。
1.整体布局风格:set_style:设置图表的样式
1.1.5种主题风格:暗网格(darkgrid),白网格(whitegrid),全黑(dark),全白(white),全刻度(ticks)
1.2.风格细节的设置:despine():可删除图表两边的边框
set_context():设置图表的线宽大小,里面的参数可进行细节的设置
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns
def simplot(flip=1):
x=np.linspace(0,14,100)
for i in range(1,7):
plt.plot(x,np.sin(x+i*.5)*(7-i)*flip)
sns.set()#设置参数simplot()
plt.show()
#1.整体布局风格:set_style:设置图表的样式
#1.1.5种主题风格:暗网格(darkgrid),白网格(whitegrid),全黑(dark),全白(white),全刻度(ticks)
sns.set_style("whitegrid")#设置主题样式
data=np.random.normal(size=(20,6))+np.arange(6)/2
sns.boxplot(data=data) #盒图
plt.show()
#主题为全黑色
sns.set_style("dark")#将“dark”进行改变就能获得其他主题色
simplot()
plt.show()
#1.2风格细节的设置:用despine():可删除图表两边的边框
sns.violinplot(data)#图的类型,sns格式就是调用模板然后传入数据
sns.despine(offset=100,left=True )#**图的下端离X轴的距离,左边的轴消失,即删除边框**
plt.show()
#设置图表的线宽大小:set_context()
sns.set_context("paper",re={"lines.linewidth":1.5})#“talk”,“poster”,“notebook”有这四种形式的表现方式,还可通过linewidth设置线宽
simplot()
plt.show()
2.接下来是关于调色板方面的一些知识:其中有一点去掉图片的边框这在matplotlib中是无法实现的,但可以通过seaborn实现,sns.despine(left=True,right=True,top=True,bottom=True)#去掉图片的边框
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns
#2.调色板(color_palette()能传入任何matplotlib所支持的颜色
#color_palette()不写参数默认颜色
#set_palette()设置所有图的颜色
#2.1分类调色板,10种默认的循环主题
current_palette=sns.color_palette()
sns.palplot(current_palette)
sns.palplot(sns.color_palette("hls",8))#hls是默认的一种颜色空间,8即产生8种颜色
plt.show()
data=np.random.normal(size=(20,8))+np.arange(8)/2
sns.boxplot(data=data,palette=sns.color_palette("hls",8))#在图中传入
plt.show()
#2.2通过his_palette()函数来空置颜色的亮度和饱和
#l—亮度:lightness
#s—饱和:saturation
sns.palplot(sns.hls_palette(8,l=9,s=5))#对比度和调色板
sns.palplot(sns.color_palette("Paired",8))#Paired:调出两对颜色相近的色彩,后一个参数表示总共调出几个
plt.show()
#3.使用xkcd颜色来命名颜色
#xkcd包含了一套众包努力的针对随机RGB色的命名,产生了954个可以随时通过sns.xdcd_rgb[]字典中调用的命名颜色。
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)
plt.show()
#4.连续色板
#4.1色彩随着数据变换,比如数据越来越重要则颜色越来越深:color_palette(“颜色”)
sns.palplot(sns.color_palette("Blues"))
plt.show()
#4.2反之若要翻转渐变,可以在面板名称中添加一个_r后缀:color_palette(“颜色_r”)
sns.palplot(sns.color_palette("BuGn_r"))
sns.despine(left=True,right=True,top=True,bottom=True)#去掉图片的边框
plt.show()
#色调线性变换
sns.palplot(sns.color_palette('cubehelix',8))
本文以唐宇迪老师机器学习讲解为基础进行编写,仅供学习和参考。