Matplotlib进阶:Seaborn教程
martin
样式管理
为了能进行后续工作,要进行如下操作:
>>>import numpy as np
>>>import matplotlib as mpl
>>>import matplotlib.pyplot as plt
>>>import seaborn as sns
>>> def sinplot(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)
使用axes_style()和set_style()控制外观
有五个预设的seaborn主题:暗网格(darkgrid),白网格(whitegrid),全黑(dark),全白(white),全刻度(ticks)。用来适合不同的应用和个人喜好:
>>> sinplot()
>>> plt.show()
>>> sns.set_style("dark") # 改变主题
>>> sinplot()
>>> plt.show()
>>> sns.set_style("white")
>>> sinplot()
>>> plt.show()
>>> sns.set_style("ticks")
>>> sinplot()
>>> plt.show()
虽然很容易来回切换,但也可以在with语句中使用axes_style()函数临时设置绘图参数。这样可以采用不同样式的轴制作图形:
>>> with sns.axes_style("darkgrid"):
... plt.subplot(211)
... sinplot()
...
>>> plt.subplot(212)
>>> sinplot(-1)
>>> plt.show()
选择颜色(可选)
见官方文档
绘图函数
可视化数据的分布
当处理一组数据时,通常首先要做的是了解变量是如何分布的。这一节将介绍Seaborn中一些用于展现单变量和双变量分布的绘图工具函数。
在进行绘图之前需要引入的包和相应操作:
>>>import numpy as np
>>>import pandas as pd
>>>from scipy import stats, integrate # 该包包含是常用的数学函数
>>>import matplotlib.pyplot as plt
>>>import seaborn as sns # 一般规定将seaborn简写为sns
绘制单变量分布
在seaborn中想要对单变量分布进行快速了解最方便的就是使用distplot()函数,默认情况下它将绘制一个直方图,并且可以同时画出核密度估计(KDE)。
>>>x = np.random.normal(size=100) # 正态分布
>>>sns.distplot(x)
>>>plt.show()