首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Seaborn绘制柱状图

Seaborn绘制柱状图

作者头像
皮大大
发布2023-08-25 10:55:51
发布2023-08-25 10:55:51
6500
举报

基于Seaborn绘制柱状图

本文介绍的是如何使用seaborn来绘制各种柱状图

导入库

Seaborn是matplotlib的高级封装,所以matplotlib还是要同时导入:

In [1]:

代码语言:javascript
复制
import pandas as pd
import numpy as np

import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline

sns.set_theme(style="whitegrid")
sns.set_style('darkgrid')

导入内置数据

使用的是seaborn中内置的一份消费tips数据集:

In [2]:

代码语言:javascript
复制
tips = sns.load_dataset("tips")
tips.head()

基础柱状图

In [3]:

代码语言:javascript
复制
x = ["A","B","C"]
y = [1, 2, 3]

sns.barplot(x, y)
plt.show()

绘制水平柱状图:

代码语言:javascript
复制
# 水平柱状图

x = ["A","B","C"]
y = [1, 2, 3]

sns.barplot(y, x)
plt.show()

设置标题

In [14]:

代码语言:javascript
复制
x = ["A","B","C"]
y = [1, 2, 3]

fig = sns.barplot(x, y)
fig.set_title('title of seaborn')

plt.show()

指定x-y-data

In [5]:

代码语言:javascript
复制
# 通过DataFrame来指定

ax = sns.barplot(x="day", y="tip", data=tips)
plt.show()

hue参数

实现的分组显示数据

In [6]:

代码语言:javascript
复制
ax = sns.barplot(x="day",
								y="total_bill",
								hue="sex",
								data=tips)

水平柱状图

In [7]:

代码语言:javascript
复制
ax = sns.barplot(x="total_bill",
                 y="day",
                 data=tips)

自定义顺序

In [8]:

代码语言:javascript
复制
ax = sns.barplot(x="total_bill",
                 y="day",
                 # 添加order参数,指定顺序
                 order=["Sat","Fri","Sun","Thur"],  # 自定义
                 data=tips)

颜色处理

使用一种颜色

In [9]:

代码语言:javascript
复制
ax = sns.barplot(x="size",
                 y="total_bill",
                 data=tips,
                 color="salmon",
                 saturation=.5)

颜色渐变

In [10]:

代码语言:javascript
复制
ax = sns.barplot(x="size",
                 y="tip",
                 data=tips,
                 palette="Blues")

多维分组

In [11]:

代码语言:javascript
复制
g = sns.catplot(x="sex",
                y="total_bill",
                hue="smoker",
                col="time",
                data=tips,
                kind="bar",
                height=4,
                aspect=.7)

True/False分组

In [12]:

代码语言:javascript
复制
tips["weekend"] = tips["day"].isin(["Sat", "Sun"])
tips

In [13]:

代码语言:javascript
复制
ax = sns.barplot(x="day",
                 y="tip",
                 hue="weekend",
                 data=tips,
                 dodge=False)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-6-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基于Seaborn绘制柱状图
  • 导入库
  • 导入内置数据
  • 基础柱状图
  • 设置标题
  • 指定x-y-data
  • hue参数
  • 水平柱状图
  • 自定义顺序
  • 颜色处理
    • 使用一种颜色
    • 颜色渐变
  • 多维分组
  • True/False分组
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档