import seaborn as sns
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
x=np.linspace(0,14,100)
for i in range(1,7):
plt.plot(x,np.sin(x+i*5)*(7-i))
seaborn提供了众多模板来进行画图
x=np.linspace(0,14,100)
for i in range(1,7):
plt.plot(x,np.sin(x+i*5)*(7-i))
sns.despine()#把右边和上边的轴去掉
x=np.random.normal(size=100)
sns.distplot(x,bins=20,kde=False)
#bins指定所有的区间数
import pandas as pd
x=np.random.normal(size=100)
y=np.random.normal(size=100)
data=(np.array([x,y])).T
df=pd.DataFrame(data,columns=['x','y'])
x | y | |
---|---|---|
0 | -1.460665 | 0.905045 |
1 | 0.372133 | -0.335283 |
2 | -0.265784 | 0.438242 |
3 | -0.581121 | 0.285796 |
4 | 0.425756 | 1.126307 |
... | ... | ... |
95 | 0.242196 | 1.846179 |
96 | 0.148028 | -0.224977 |
97 | 2.069828 | -1.490572 |
98 | 0.425617 | -0.774978 |
99 | -2.048330 | 0.141839 |
100 rows × 2 columns
观测两个变量之间的散点图
sns.jointplot(x='x',y='y',data=df)
当数据量很大,需要画一个队员的核密度图来表示颜色深浅
import pandas as pd
x=np.random.normal(size=1000)
y=np.random.normal(size=1000)
data=(np.array([x,y])).T
df=pd.DataFrame(data,columns=['x','y'])
sns.jointplot(x='x',y='y',data=df,kind='hex',color='k')
调用seaborn画单点图矩阵
对角线上是单个变量的分布,其余的地方就是两个两个变量之间的关系
import pandas as pd
x=np.random.normal(size=1000)
y=np.random.normal(size=1000)
a=np.random.normal(size=1000)
b=np.random.normal(size=1000)
data=(np.array([x,y,a,b])).T
df=pd.DataFrame(data,columns=['x','y','a','b'])
sns.pairplot(df)
sns.set(style="ticks", color_codes=True)
iris=pd.read_csv(r'F:\jypternotebook\seaborn-data-master\iris.csv')
#iris = sns.load_dataset('iris')
g = sns.pairplot(iris,hue="species")#hue可以指定每个数据集所属类别
seaborn画热度图heatmap
#sns.set(rc={'figure.figsize':(11.7,8.27)})
flights=pd.read_csv(r'F:\jypternotebook\seaborn-data-master\flights.csv')
#print(flights.head(5))
flights = flights.pivot("month", "year", "passengers")
#ax = sns.heatmap(flights)
ax1= sns.heatmap(flights, annot=True, fmt="d",linewidths=.5)
#annot设置显示格子中数据,fmt用来设置显示的格式,一般用d,linwirdth用来设置每个方框之间的间隔