本文来自读者投稿,作者:黄同学
学习Python中用seaborn绘图的技巧

1、seaborn的优点

  • 它简化了复杂数据集的表示;

  • 可以轻松构建复杂的可视化,简洁的控制matplotlib图形样式与几个内置主题;

  • seaborn不可以替代matplotlib,而是matplotlib的很好补充;

2、seaborn的官网

学习某个知识点,最好的东西就是照着官网的提示学习,因为官网里面的知识点,够完整、够全面。seaborn的官网链接:http://seaborn.pydata.org

3、seaborn的作者介绍

4、seaborn的缩写为什么是sns,而不是sbn?

sns的使用来自于一个内部笑话,与美剧The West Wing有关。这部剧里有一个人物,名叫Samual Norman Seaborn,首字母简写为sns,因此最终简写为sns。

5、seaborn与matplotlib的关系?

seaborn是matplotlib的更高级的封装。因此学习seaborn之前,首先要知道matplotlib的绘图原理。

我们知道,使用matplotlib绘图,需要调节大量的绘图参数,需要记忆的东西很多。而seaborn基于matplotlib做了更高级的封装,使得绘图更加容易,它不需要了解大量的底层参数,就可以绘制出很多比较精致的图形。不仅如此,seaborn还兼容numpy、pandas数据结构,在组织数据上起了很大作用,从而更大程度上的帮助我们完成数据可视化。

最关键:seaborn是matplotlib的更高级的封装。也就是说,对于matplotlib的那些调优参数设置,也都可以在使用seaborn绘制图形之后使用。
  

6、使用seaborn绘图的3种方式

  • plt.style.use(“seaborn”):只是说调用了seaborn的绘图样式,并不能真正体现seaborn绘图的好处。

  • sns.set():使用了这个方法后,所有之前写过的matplotlib中的参数都还原了。因此,像设置中文字体显示、设置负号的正常显示,都必须放在sns.set()这句代码之后。

  • 直接调用seaborn函数绘图:这种方式能真正体现seaborn绘图的优势,也是我们经常使用的绘图方式。(最常用)

1)plt.style.use(“seaborn”)

df = pd.read_excel("data.xlsx",sheet_name="数据源")
df1 = df.groupby("品牌").agg({"销售数量":np.sum})# 使用matplotlib风格绘图
plt.bar(x=df1.index,height=df1["销售数量"],width=0.5,color="blue")
plt.savefig(r"G:\6Tipdm\2 python绘图\seaborn\picture\seaborn绘图方式_1",dpi=300)# 使用seaborn风格绘图
plt.style.use("seaborn")
plt.bar(x=df1.index,height=df1["销售数量"],width=0.5,color="blue")
plt.savefig(r"G:\6Tipdm\2 python绘图\seaborn\picture\seaborn绘图方式_2",dpi=300)

结果如下:


2)sns.set()

这个方法里面有几个参数,但是在实际中,我们都使用默认值即可,因为默认参数绘图就已经很好看啦,并不需要我们特意去设置。

① 常用参数:sns.set(style=, context=, font_scale=)
style设置绘图的样式。
context一般使用默认样式即可,不需要我们自己设置。默认是context=“notebook”。
font_scale控制坐标轴的刻度,一般设置为font_scale=1.2即可。
② 演示如下

df = pd.read_excel("data.xlsx",sheet_name="数据源")
df1 = df.groupby("品牌").agg({"销售数量":np.sum})# 使用matplotlib风格绘图
plt.bar(x=df1.index,height=df1["销售数量"],width=0.5,color="blue")
plt.savefig(r"G:\6Tipdm\2 python绘图\seaborn\picture\seaborn绘图方式_3",dpi=300)# 使用seaborn风格绘图
sns.set()
plt.rcParams["font.sans-serif"] = "SimHei"
plt.rcParams["axes.unicode_minus"] = Falseplt.bar(x=df1.index,height=df1["销售数量"],width=0.5,color="blue")
plt.savefig(r"G:\6Tipdm\2 python绘图\seaborn\picture\seaborn绘图方式_4",dpi=300)

结果如下:


3)直接调用seaborn函数绘图(最常用):seaborn绘图的优势体现

df = pd.read_excel("data.xlsx",sheet_name="数据源")sns.set_style("dark")
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False
# 注意:estimator表示对分组后的销售数量求和。默认是求均值。
sns.barplot(x="品牌",y="销售数量",data=df,color="steelblue",orient="v",estimator=sum)
plt.savefig(r"G:\6Tipdm\2 python绘图\seaborn\picture\seaborn绘图方式_5",dpi=300)

结果如下:


注意:直接调用seaborn函数绘图的好处在这个代码中有很好的体现。可以看出,如果直接使用matplotlib中的代码绘图,需要先对数据集进行分组聚合,然后才能绘制最后的图形。【优势】:直接使用sns.barplot()函数绘图,barplot可以直接将 groupby 分组后的结果按照指定的汇总方式进行可视化展示,并不需要我们实现对数据进行处理。

欢迎扫码关注作者的CSDN:

PS:灰常感谢黄同学的投稿,同时也欢迎关注了【可乐的数据分析之路】公众号的小伙伴们踊跃投稿哦~本文的赞赏及第二天的流量主都会给到原作者。


猜你喜欢

Python数据结构:神奇的序列

你真的了解参数估计和假设检验吗?

高手都是怎样用图表的:用图表说话

@ 号主:可乐
@ 公众号/知乎专栏/头条/简书:可乐的数据分析之路
@ 加微信(data_cola)备注:进群,拉你进可乐的数据分析交流群,数据分析知识总结,不定期行业经验分享

让图形变得精致:seaborn绘图基础相关推荐

  1. seaborn绘图基础介绍

    目录   1.seaborn的优点   2.seaborn的官网   3.seaborn的作者介绍   4.seaborn的缩写为什么是sns,而不是sbn?   5.seaborn与matplotl ...

  2. 数据可视化——利用pandas和seaborn绘图基础

    文章目录 一.折线图 二.柱状图 三.直方图和密度图 四.散点图或点图 五.分面网格 其他绘图工具: 图像可视化--matplotlib绘图入门基础 一.折线图 1.Series和DataFrame都 ...

  3. python笔记4(矩阵和随机数 matplotlib绘图基础散点图折线图柱状图)

    记录python听课笔记 文章目录 记录python听课笔记 一,矩阵 1.1矩阵创建 1.2矩阵运算 矩阵的乘法 矩阵转置T 矩阵求逆I 二,随机数 2.1随机数模块 numpy.random 2. ...

  4. Matlab绘图基础——利用axes(坐标系图形对象)绘制重叠图像 及 一图多轴(一幅图绘制多个坐标轴)

    Matlab绘图基础--利用axes(坐标系图形对象)绘制重叠图像 及 一图多轴(一幅图绘制多个坐标轴) - 司徒鲜生 - 博客园 Matlab中axes函数解析_ljh0302的博客-CSDN博客_ ...

  5. Matplotlib【学习大礼包】数据可视化基础 掌获绘图基础语法与常用参数、设置pyplot的动态rc参数、 绘制散点图、折线图、直方图、饼图

    文章目录 如何查看完整版!!(代码+图片) 第3章 Matplotlib 数据可视化基础 3.1 掌获绘图基础语法与常用参数 3.1.1 掌获pyplot基础语法 1.创建画布与创建子图 2.添加画布 ...

  6. spyder中绘图无法显示负号_matlibplot+seaborn绘图风格交叉使用

    matlibplot+seaborn绘图风格交叉使用 遇到问题:想要图一的图案,但是想要seaborn中默认的风格绘制 图一 一开始的想法是seaborn既然升级版matlibplot,应该支持直接修 ...

  7. 超详细Seaborn绘图 ——(一)barplot

    Seaborn是基于matplotlib的图形可视化python包.它提供了一种高度交互式界面,便于用户能够做出各种有吸引力的统计图表.Seaborn是在matplotlib的基础上进行了更高级的AP ...

  8. 【数据分析师---数据可视化】第二章:plotly绘图基础篇

    plotly绘图基础篇 1 Plotly简介与安装 2 Plotly简单绘图入门 3 Plotly绘制散点图和饼图 4 Plotly绘图流程详细梳理 5 Plotly绘制密度图和三维散点图 5.1 绘 ...

  9. R learning 十八讲 0018-R语言绘图基础

    0018-R语言绘图基础 2020-07-29更新:使用代码块,看起来更方便.更改了第6节: 这次不介绍如ggplot2等绘图包, 只记录一些R基础就能实现的东西~ 跟着我爪子敲一遍,相信你会有收获! ...

最新文章

  1. linux显示没有网卡
  2. 互联网协议 — NTP 时间同步协议
  3. HCIA- Datacom认证增加了SDN跟自动化编程
  4. react antd 动态表单
  5. Windows Server 2012系列之二安装AD及创建域
  6. C++ 学习笔记---善良的算法讲解
  7. 游戏服务器停机维护,游戏是如何做到服务器不停机维护的?
  8. javasocket编程例子,给大家安排上!
  9. SVN更新(update)文件时,报skipped, remains conficted时的解决办法
  10. 一台计算机有两个用户怎样共享,两台计算机如何共享一台打印机?
  11. 集群搭建——SGE与PBS
  12. 详解马氏距离中的协方差矩阵计算(超详细)
  13. 火狐浏览器的安装及配置
  14. EndNote X7如何在论文中嵌入中文格式要求的参考文献
  15. 嵌入式系统开发-麦子学院(12)——ARM Cortex A8 硬件基础(2)
  16. 生成哑变量的几种方法
  17. 测试你好世界这个标题
  18. 【第四十三期】社招面经-后端开发 蚂蚁
  19. 射频通路 隔直_CMT2300A的开关射频匹配网络电路设计
  20. grafana 配置详解

热门文章

  1. 计算机启动后桌面无图标,电脑开机后桌面图标没有显示
  2. pcie中文入门学习文档资料
  3. 刨根问底:为什么玩游戏会让手机变得更热?
  4. Scale Out 和 Scale Up
  5. Java面向对象程序设计 期末复习
  6. 生活随记 - 孩子教育
  7. 零成本用IIS实现做个表白OR情侣纪念网站当做礼物,公网可访问
  8. 缺陷与出路——一个游戏开发者的反思
  9. 移除浏览器左下角的链接
  10. android arrayadapter自定义,Android零基础入门|自定义ArrayAdapter