Seaborn 绘制 barplot, diagrama de dispersión, gráfico de caja, diagrama de caja, distplot

Un histograma barplot

El argumento oficial:

seaborn.barplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, estimator=<function mean>,ci=95, n_boot=1000, units=None, orient=None,   color=None, palette=None, saturation=0.75,            errcolor='.26', errwidth=None, capsize=None, dodge=True, ax=None, **kwargs)

De los parámetros:
X, Y: valor de la coordenada de
color: variable de clasificación
de datos: Los datos
de color: color de
la paleta: paleta de
Oriente: una dirección columnar

import os
import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt

os.chdir(r'C:\Users\MAR\Desktop\新建文件夹')

#解决中文乱码问题
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False

data=pd.read_csv(r'my_csv_date.csv',encoding='gbk')
print(data[['分','属1','分类']])
plt.xticks(rotation=45)

sns.barplot(x='分',y='属1',data=data,hue='分类',palette='husl')
plt.legend(bbox_to_anchor=(1.01,0.8))
plt.show()

Aquí Insertar imagen Descripción

Dibuje una parcela diagrama de dispersión de dispersión ()

De los parámetros:
X, Y: valor de la coordenada de
color: variable de clasificación
de datos: Los datos
de color: color de
la paleta: paleta de
estilo: las variables categóricas trazan para producir diferentes formas
s: tamaño, forma
marcadores: Forma

import os
import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt

os.chdir(r'C:\Users\MAR\Desktop\新建文件夹')

#解决中文乱码问题
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False

data=pd.read_csv(r'iris.csv',encoding='gbk')
plt.xticks(rotation=45)

labels=['setosa','versicolor','virginica']
sns.scatterplot(x='Length',y='Width',hue=data.Species,data=data,palette='husl',marker='x',s=20,\
                )
plt.legend(bbox_to_anchor=(1.01,0.8))
plt.show()

Aquí Insertar imagen Descripción

diagrama de caja diagrama de caja ()

De parámetros:
X, Y: valor de la coordenada de
color: variable de clasificación
de datos: Los datos
de color: Color
paleta: paleta
flierzise: tamaño outlier
ancho: ancho de línea cuadro de
anchura de línea: especifica el ancho del borde de la caja

#解决中文乱码问题
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False

data=pd.read_csv(r'titanic.csv',encoding='gbk')
data.dropna(subset=['Age'],inplace=True)

sns.boxplot(y='Age',data=data,showmeans=True,color='c',\
            flierprops={'marker':'x','markerfacecolor':'red'},\
           meanprops={'marker':'o','markersize':4},
           medianprops={'linestyle':'-','color':'orange'})

plt.show()

Aquí Insertar imagen Descripción

Con una pluralidad de coordenadas trazan diagrama de caja

import os
import seaborn as sns
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

os.chdir(r'C:\Users\MAR\Desktop\test')
#解决中文乱码问题
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False

my_data=pd.read_csv('my_csv_date.csv',encoding='gbk')
print(my_data)

my_data.dropna(inplace=True)#删除缺失值的行
my_data.reset_index(drop=True,inplace=True)#数据索引重置
print(my_data)

my_group=my_data.groupby('分类') # 数据表分类索引设置

#功能:将数据分组后并按指定的列降序排列,与下两行功能一样,但下面需要多一个变量,
att1_avg=my_group.agg({'属1':np.mean}).sort_values('属1',ascending=False)
# att1_avg=my_group.agg({'属1':np.mean})#按照上边的索引对表聚合
# data_sort=att1_avg.sort_values('属1',)

print(att1_avg)
#多个箱线图的绘制要有顺序,可自己定义,而数据使用原来的数据
sns.boxplot(x='分类',y='属1',data=my_data,order=att1_avg.index,showmeans=True,\
            color='lightblue',width=0.3,\
            flierprops={'marker':'x','markerfacecolor':'red','markersize':8},#范围外的数据
            meanprops={'marker':'D','markersize':4,'markerfacecolor':'red'},
           medianprops={'linestyle':'--','color':'orange'})
plt.ylabel('数值')
plt.title('不同分类的属性1的值')
plt.show()

Aquí Insertar imagen Descripción
Quiere establecer una pluralidad correspondiente de diagramas de caja, lo más importante es que desea ordenar los elementos de datos procesados, para obtener un valor correspondiente a la orden (el cuadro de contenidos en naranja figura). Si sólo uno de cada paquete de una carcasa de la pantalla (desordenado), sólo es necesario que se mostrará en la columna de índice de entrada X , va a requerir datos Y. columnas entrantes indexados a la polimerización fin
Aquí Insertar imagen Descripción

histograma

import os
import seaborn as sns
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm

os.chdir(r'C:\Users\MAR\Desktop\test\web_data')
#解决中文乱码问题
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False

titan=pd.read_csv('titanic.csv',encoding='gbk')

Age_male=titan[titan.Sex=='male'].Age
Age_female=titan[titan.Sex=='female'].Age

titan.dropna(subset=['Age'],inplace=True)#删除缺失值的行
titan.reset_index(drop=True,inplace=True)#数据索引重置

#kde:是否显示高斯核密度图,hist_kws:直方图参,norm_hist:出现的数据是按频率(<1)显示,
sns.distplot(Age_male,bins=30,kde=False,hist_kws={'color':'red'},norm_hist=True,label='男性')
#不显示直方图和核密度图,fit:和数据匹配的正态分布图(norm),fit拟合曲线,这里是scipy中的正态函数,此时,hist=False
sns.distplot(Age_female,hist=False,kde=False,fit=norm,fit_kws={'color':'blue'},\
             norm_hist=True,label='男性正态分布图',)

sns.distplot(Age_female,bins=30,kde=False,hist_kws={'color':'black'},\
            norm_hist=True,label='女性')
sns.distplot(Age_male,hist=False,kde=False,fit=norm,fit_kws={'color':'green'},\
             norm_hist=True,label='女性正态分布图',)
plt.legend(loc='best')
plt.show()

Aquí Insertar imagen Descripción

Publicado 70 artículos originales · ganado elogios 1 · vistas 2406

Supongo que te gusta

Origin blog.csdn.net/weixin_43794311/article/details/105185408
Recomendado
Clasificación