用seaborn对数据可视化

如下用sns做为seaborn的别名函数

1.seaborn总体布局设置布局

  sns.set_syle()函数设置图的风格,传入的参数能够是"darkgrid", "whitegrid", "dark", "white", "ticks", 分别表明五种风格。sns.despine()能够去掉右边和上面的边线。
spa

下面的代码画出五种风格的图code

 1 import seaborn as sns
 2 import numpy as np
 3 import matplotlib as mpl
 4 import matplotlib.pyplot as plt
 5 
 6 
 7 def sinplot(ax):
 8     x = np.linspace(0, 14, 100)
 9     for i in range(6):
10         y = np.sin(x+i*5)*(7-i)
11         ax.plot(x, y)
12 
13 
14 style = ["darkgrid", "whitegrid", "dark", "white", "ticks"]
15 print(style[0])
16 
17 plt.figure(figsize=(10, 10))
18 for i in range(5):
19     sns.set_style(style[i])   #设置样式必定要在子图的定义以前!!!!!!!
20     ax = plt.subplot(2, 3, i+1)
21     ax.set_title(style[i])
22     sinplot(ax)
23 
24 plt.show()

运行结果以下blog

 2.关于seaborn设置样式是针对哪一个图形区(subplot)的问题it

下面是我作的一个实验性的代码class

 1 import seaborn as sns
 2 import numpy as np
 3 import matplotlib as mpl
 4 import matplotlib.pyplot as plt
 5 
 6 
 7 fig = plt.figure(figsize=(18,10))
 8 x = np.linspace(0, 6*np.pi, 100)
 9 y = np.sin(x)
10 ax_sin = plt.subplot(1, 2, 1)
11 sns.set()               #根据就近原则,这里的set操做是针对最近未定义的图形区ax_cos的
12 sns.despine(offset=100)     #根据就近原则,这里的despine操做是针对最近定义的图形区ax_cos的
13 plt.plot(x, y)             #根据就近原则,这里的plot操做是针对最近定义的图形区ax_sin的
14 z = np.cos(x)
15 ax_cos = plt.subplot(1, 2, 2)
16 plt.plot(x, z)  #根据就近原则,这里的plot操做是针对最近定义的图形区ax_cos的
17 plt.show()

  运行结果以下,根据运行结果能够推测,seaborn的despine操做和pyplot的plot操做都是在最近已经定义的图形区上,例如代码12,13行是在ax_sin上操做的,而11行的set是在即将定义的图形区上操做,import

即ax_cos上操做。至于为何会有这个规律以及有没有相关总结,关于哪些操做是在最近已经定义的图形区上仍是在即将定义的图形区上进行暂时我还不清楚,但愿有大神能指点一下。grid

相关文章
相关标签/搜索