导入使用库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from pandas import Series,DataFrame
import seaborn as sns
#设置背景色
sns.set_style('dark')
sns调色板
- hls_palette:彩虹调色板
- n_colors:颜色数量
- l:亮度,透明度
- s:模糊度
sns.palplot(sns.hls_palette(n_colors=10,l=0.7,s=0.7))
image.png
单一曲线图
- color:颜色
x = np.linspace(-5,5,10)
y = np.sin(x)
plt.plot(x,y,color=sns.color_palette(palette='hls',n_colors=10)[5])
image.png
多曲线图
x = np.linspace(-10,10,100)
for i in range(6):
plt.plot(x,np.sin(x+i*0.5)*(7-i),color = sns.color_palette(palette='hls',n_colors=10)[i])
image.png
无坐标轴
x = np.linspace(-10,10,100)
for i in range(6):
plt.plot(x,np.sin(x+i*0.5)*(7-i),color = sns.color_palette(palette='hls',n_colors=10)[i])
plt.grid(color = 'black',linewidth=3,alpha=0.5)
#无坐标轴
plt.axis('off')
image.png
图例的使用
df = DataFrame(data = np.random.randint(0,100,(10,4)),columns=list('ABCD'))
for k in df.columns:
plt.plot(df[k],label=k)
plt.legend(loc=[0,1],ncol=4)
image.png
点和线属性的使用
x = np.arange(10)
y = x/2
axes = plt.subplot()
axes.plot(x,y,marker='o',markersize=15,markerfacecolor='pink',markeredgewidth=3,markeredgecolor='red')
xx = axes.get_xlim()
yy = axes.get_ylim()
plt.xticks(np.arange(xx[0],xx[1]),list('abcdefghij'),color='blue',size=15)
plt.yticks(np.arange(yy[0],yy[1]),list('ABCDE'),color='green',size=15)
image.png
直方图
s = Series(np.random.randint(0,10,10))
s.hist(bins=20,color='red',alpha=0.7,normed=True)
s.plot(kind='kde',color='green',alpha=0.7)
image.png
条形图
s1 = Series(np.random.randint(0,10,10))
s2 = Series(np.random.randint(10,20,10))
plt.bar(s1,s2)
image.png
titanic = sns.load_dataset('titanic')
sns.barplot(data=titanic,x='sex',y='survived',hue='pclass')
image.png
饼图
val=[30,40,20,10]
name = ['A','B','C','D']
plt.pie(val,labels=name,explode=[0,0,0.1,0],autopct='%.2f%%',colors=sns.color_palette('hls',5))
image.png
散点图
iris = sns.load_dataset('iris')
def func(item):
res = iris.loc[:,'species'].unique()
for i in range(len(res)):
if item == res[i]:
return i
iris['label'] = iris['species'].map(func)
sns.set_style('white')
plt.scatter(data=iris,x='petal_width',y='petal_length',c=iris['label'],cmap='rainbow')
image.png
散布密度图
sns.jointplot(data=iris,x='petal_width',y='petal_length',kind='kde')
image.png
回归散布图
sns.regplot(data=iris,x='petal_width',y='petal_length')
image.png
线性回归散布图
sns.lmplot(data=iris,x='petal_width',y='petal_length',hue='label')
image.png
散点图矩阵
iris.drop(labels='label',axis=1,inplace=True)
sns.pairplot(data=iris,hue='species')
image.png
3D图
from mpl_toolkits.mplot3d.axes3d import Axes3D
fig = plt.figure(figsize=(10,6))
axes=Axes3D(fig)
cls = [0]*50+[1]*50+[2]*50
axes.scatter3D(iris.iloc[:,0],iris.iloc[:,1],iris.iloc[:,2],c=cls,s=50)
image.png