python数据可视化(seaborn)(1)

seaborn

Seaborn提供了5种预定义的主题:
darkgrid:灰色背景+白网格
whitegrid:白色背景+黑网格
dark:灰色背景
white:白色背景
ticks:坐标轴带刻度

scatterplot

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

df = pd.read_csv('./used_car_train_20200313.csv',sep=' ')  #读取一个数据样本
tips = df.iloc[:101,[3,4,5]]    #数据切片,选取需要展示的数据
sns.set(style= "darkgrid")  # 设置背景为灰色网格
cmap = sns.cubehelix_palette(start=1.8,dark=.3, light=.8, as_cmap=True) #调色板
sns.scatterplot(x='brand',y='model',hue='bodyType',data=tips,size='bodyType',palette=cmap) #散点图展示(三个特征)

在这里插入图片描述

catplot (分类变量散点图)

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

df = pd.read_csv('./used_car_train_20200313.csv',sep=' ')  #读取一个数据样本
tips = df.loc[:,["bodyType","power"]]  #数据切片
tips.dropna(how='any',inplace=True)    #缺失值删除

sns.set(style='ticks')  # 设置图片格式
sns.catplot(x='bodyType',y='power',data=tips,jitter = False)  # 点的偏移量为0,会重合

在这里插入图片描述

# 蜂群图:catplot(kind=“swarm”)
fig, ax1 = plt.subplots( figsize=(15,5))   # 设置图片大小
sns.catplot(x='bodyType',y='power',data=tips.loc[:501],kind="swarm",ax=ax1)
plt.close()   # 关闭默认的画布

在这里插入图片描述

fig, ax1 = plt.subplots( figsize=(15,5))
sns.despine()    #去掉上边和右边的边界
sns.catplot(x='bodyType',y='power',data=tips.loc[:501],kind="box",ax=ax1)   # 箱线图 kind = box
plt.close()

在这里插入图片描述

条形图与直方图的区别是:

1、条形图是用条形的高度表示频数的大小,而直方图实际上是用长方形的面积表示频数,当长方形的宽相等的时候可以用矩形的的高表示频数;
2、条形图中,横轴上的数据是孤立的,是一个具体的数据,而直方图中,横轴上的数据是连续的,是一个范围;
3、条形图中,各长方形之间有空隙,而直方图中,各长方形是靠在一起的

distplot 直方图

plt.subplots( figsize=(15,5))
sns.distplot(df['price'],hist=50,color='blue',)
sns.despine()

在这里插入图片描述

countplot 计数条形图

fig,ax = plt.subplots(2,1,figsize=(15,10))      # 设置两个子图
sns.distplot(df['price'],hist=50,color='blue',ax=ax[0])  
sns.countplot(df['bodyType'],ax=ax[1])
sns.despine()

在这里插入图片描述

变量两两相关关系图:pairplot

sns.pairplot(data_dropna)

在这里插入图片描述

heatmap 热力图

import padas as pd 
import seaborn as sns
import matplotlib.pyplot as plt

data = sns.load_dataset('flights')
flights = data.pivot('month','year','passengers')  # 将一条一条的数据转换为数据透视表矩阵形式 index='month' columns='year'  value = 'passengers'

sns.set(style='white')
plt.subplots(figsize= (10,10))
sns.heatmap(flights,annot=True,fmt='d',linewidths=0.5,cmap= 'YlOrRd')
  1. annot=True, (显示标签), annot_kws={‘size’:9,‘weight’:‘bold’, ‘color’:‘blue’}) ( 标签的样式)
  2. fmt = ‘d’ 标签的数据格式 (1. ‘d’ 整数 ; ‘.2f’ 保留两位小数 ;‘04d’ 数字不足4位用0填充)
  3. camp = ’ ’ cmap就是使用matplotlib提供的色带
    在这里插入图片描述
    在这里插入图片描述
sns.set(style='white')
plt.subplots(figsize= (10,10))
plt.title('Flights',fontdict={'fontsize':20})
sns.heatmap(flights,annot=True,fmt='d',linewidths=0.5,cmap= 'YlOrRd',square=True,mask=flights<300)
  1. mask = flights < 300 把数值小于300 的块遮挡掉
    在这里插入图片描述

https://www.cnblogs.com/yunxiaofei/p/11116941.html

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值