Python绘图之seaborn(一)

2023-11-08

最近在系统梳理一下Python的几个可视化绘图库,其中seaborn上手较为方便快捷,下面给大家简单介绍一下,可以满足自己日常需要的绘图要求。

Seaborn 是一个基于 matplotlib 且数据结构与 pandas 统一的统计图制作库。Seaborn 框架旨在以数据可视化为中心来挖掘与理解数据。它提供的面向数据集制图函数主要是对行列索引和数组的操作,包含对整个数据集进行内部的语义映射与统计整合,以此生成富于信息的图表。

一、安装seaborn

为了安装最新版本的seaborn, 可以 pip命令:

pip install seaborn

也可以使用 conda 命令安装:

conda install seaborn

或者,您可以使用 pip 直接从github安装开发版本:

pip install git+https://github.com/mwaskom/seaborn.git

另外的方法是从 github仓库 下载,从本地安装:

pip install .

必须的依赖

二、以散点图为例介绍常用的函数(操纵环境为jupyter notebook交互环境)

#导入seaborn包
import seaborn as sns
#魔法函数,在交互环境中直接输出绘制的图像
%matplotlib inline
#加载需要可视化的表文件(类型:pandas.core.frame.DataFrame)
tips = sns.load_dataset('tips')
#绘制散点图,x表示横坐标值,表示纵坐标值,data表示需要可视化的数据表,他们的属性值都为表中各列的标题
sns.relplot(x='total_bill',y='tip',data=tips)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NTwdFPOZ-1623919727632)(/Users/dingcong/程序员唐丁/唐丁博客/配图/散点图1.png)]

三、绘制散点图和线图

还是以tips数据表为例进行绘制,tips表结构如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UHAJyCT8-1623919727637)(/Users/dingcong/程序员唐丁/唐丁博客/配图/tips表.png)]

1、散点图(增加函数:修改点的颜色、形状和大小)

import seaborn as sns

%matplotlib inline

tips = sns.load_dataset('tips')

sns.relplot(x='total_bill',y='tip',hue='day',style='day',size='size',data=tips)

!](https://img-blog.csdnimg.cn/20210617165030654.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ1OTAzOTgy,size_16,color_FFFFFF,t_70)

其中hue属性用于改变颜色,style用于改变形状,size用于改变点的大小。

2、线图

散点图是非常有效的,但是没有通用的最优可视化类型。相反,可视表示应该适应数据集的细节以及您试图用图表回答的问题。

对于某些数据集,您可能希望了解一个变量中的变化关于时间的函数,或者类似的连续变量。在这种情况下,一个很好的选择是绘制线图。

import seaborn as sns

%matplotlib inline

tips = sns.load_dataset('tips')

sns.relplot(x='total_bill',y='tip',hue='day',style='day',size='size',kind='line',data=tips)

在这里插入图片描述

其中hue根据属性值分为颜色不同的两条线,style根据属性值改变线条的形状,size用于改变线条的粗细,kind定义为line表示绘制的是线图,默认为散点图。

import seaborn as sns

%matplotlib inline

tips = sns.load_dataset('tips')

sns.relplot(x='total_bill',y='tip',hue='day',style='day',size='size',col='smoker',kind='line',data=tips)

在这里插入图片描述

其中col根据属性的类别个数定义绘图个数。

先简单介绍到这,其他绘图方法下次唐丁再给大家介绍。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hjSsxWHl-1623919727657)(/Users/dingcong/Downloads/线下物料素材/搜一搜公众号推广物料图片-png/扫码_搜索联合传播样式-白色版.png)]

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python绘图之seaborn(一) 的相关文章

  • Pandas:将增量数字添加到一列的重复值的后缀,这些重复值按另一列的值分组并按索引排序

    我试图将下划线和增量数字添加到按索引排序的任何重复值以及由另一列定义的组内 例如 我希望 化学 列中的重复值具有下划线和增量数字 并按索引排序并按 循环 列分组 df pd DataFrame 1 1 1 1 1 1 2 2 2 2 2 2
  • Erlang:到 Python 实例的端口没有响应

    我正在尝试通过 Erlang 端口与外部 python 进程进行通信 首先 打开一个端口 然后通过 stdin 将消息发送到外部进程 我期待在进程的标准输出上得到相应的答复 我的尝试如下所示 open a port Port open po
  • Python Pandas 滚动聚合一列列表

    我有一个简单的数据框 df 和一列列表lists 我想根据以下内容生成一个附加列lists The df好像 import pandas as pd lists 1 1 2 1 2 3 3 2 9 7 9 4 2 7 3 5 create
  • 如何通过 python 中的函数运行列表?

    我试图通过我创建的函数运行我的列表 但不断收到错误 我不知道出了什么问题 温度 F temp f 19 21 21 21 23 功能 def fahrToCelsius tempFahrenheit return tempFahrenhei
  • pyCUDA无法打印结果

    最近 我使用 pip 为我的 python3 4 3 安装 pyCUDA 但我在测试示例代码时发现 https documen tician de pycuda tutorial html getting started https doc
  • Python:json_normalize pandas 系列给出 TypeError

    我在 pandas 系列中有数万行像这样的 json 片段df json IDs lotId 1 Id 123456 date 2009 04 17 bidsCount 2 IDs lotId 2 Id 123456 date 2009 0
  • 使用 Boto3 超时的 AWS Lambda 函数

    我已经解决了我自己的问题 但无论如何我都会发布它 希望能节省其他人几个小时 我在 AWS 上有一个无服务器项目 使用 Python 将记录插入到 kinesis 队列中 但是 当我使用 boto3 client kinesis 或 put
  • 使用 Tkinter 打开网页

    因此 我的应用程序需要能够打开其中的单个网页 并且它必须来自互联网并且未保存 特别是我想使用 Tkinter GUI 工具包 因为它是我最熟悉的工具包 最重要的是 我希望能够在窗口中生成事件 例如单击鼠标 但无需实际使用鼠标 有什么好的方法
  • 无法通过 Android 应用程序访问我的笔记本电脑的本地主机

    因此 我在发布此内容之前做了一项研究 我发现的解决方案不起作用 更准确地说 连接到我的笔记本电脑的 IPv4192 168 XXX XXX 没用 连接到10 0 2 2 加上端口 不起作用 我需要测试使用 Django Rest 框架构建的
  • 如何从 python 脚本执行 7zip 命令

    我试图了解如何使用 os system 模块来执行 7zip 命令 现在我不想用 Popen 或 subprocess 让事情变得复杂 我已经安装了 7zip 并将 7zip exe 复制到我的用户文件夹中 我只想提取我的测试文件 inst
  • multiprocessing.Queue 中的 ctx 参数

    我正在尝试使用 multiprocessing Queue 模块中的队列 实施 https docs python org 3 4 library multiprocessing html exchang objects Between p
  • 使用会话在 Django 中将文件从一个视图传递到另一个视图

    我当前的工作项目要求我允许用户上传各种格式的文件 目前仅处理 CSV 格式 然后使用包含的数据来绘制图表Pandas http pandas pydata org 图书馆 我决定将图形渲染到模板的最简单方法是为图形创建特定视图 然后将图像从
  • Eclipse/PyDev 中未使用导入警告,尽管已使用

    我正在我的文件中导入一个绘图包 如下所示 import matplotlib pyplot as plt 稍后我会在我的代码中成功使用此导入 fig plt figure figsize 16 10 然而 Eclipse 告诉我 未使用的导
  • 将图与热图(可能是对数)配对?

    How to create a pair plot in Python like the following but with heat maps instead of points or instead of a hex bin plot
  • Python:导入模块一次然后与多个文件共享

    我有如下文件 file1 py file2 py file3 py 假设这三个都使用 lib7 py lib8 py lib9 py 目前 这三个文件中的每一个都有以下行 import lib7 import lib8 import lib
  • Python脚本从字母和两个字母组合生成单词

    我正在编写一个简短的脚本 它允许我使用我设置的参数生成所有可能的字母组合 例如 b a 参数 单词 5 个字母 第三 第五个字母 b a 第一个字母 ph sd nn mm 或 gh 第二 第四个字母 任意元音 aeiouy 和 rc 换句
  • 数据损坏 C++ 和 Python 之间的管道

    我正在编写一些代码 从 Python 获取二进制数据 将其通过管道传输到 C 对数据进行一些处理 在本例中计算互信息度量 然后将结果通过管道传输回 Python 在测试时 我发现如果我发送的数据是一组尺寸小于 1500 X 1500 的 2
  • 如何在引发异常时将变量传递给异常并在异常时检索它?

    现在我只有一个空白的异常类 我想知道如何在引发变量时给它一个变量 然后在 try except 中处理它时检索该变量 class ExampleException Exception pass 为其构造函数提供一个参数 将其存储为属性 然后
  • 类返回语句不打印任何输出

    我正在学习课程 但遇到了问题return语句 它是语句吗 我希望如此 程序什么也没有打印出来 它只是结束而不做任何事情 class className def createName self name self name name def
  • PyObjC + Python 3.0 问题

    默认情况下 Cocoa Python 应用程序使用默认的 Python 运行时版本 2 5 如何配置我的 Xcode 项目以便它使用较新的 Python 3 0 运行时 我尝试用新版本替换项目中包含的Python framework 但它不

随机推荐

  • 文章发布测试

    测试文章收益能得多少钱
  • MATLAB入门教程(3):数组的创建与使用

    前言 代码粘贴后并不好看 故使用图片粘贴如下 代码部分是我在MATLAB里面加的注释版本 使用版本为MATLAB R2022a 咱们理解数组这个概念可以类比向量 就是由几个数字构成的一个变量 咱们称其为数组 一 手动创建数组 前面说数组可以
  • 使用Altium Designer报错的处理记录 2 :could not find board outline using primitives centerline

    2 报错内容 could not find board outline using primitives ceterline due to the following errors 出现原因及解决办法 导入DWG外形文件后 圆弧上有很多段线
  • sql注入原理

    sql注入
  • egg:Error: controller not exists

    前言 在学习和运用node的egg时的报错信息记录 报错 解决办法 确定router js里面的路由和自己写的Controller相匹配 确定你在controller最后一行写了module exports 个人问题 router js里面
  • 什么是图表设计,图表设计的意思

    在信息时代中 一些数据的价值需要经过深度的挖掘之后才能够表现出来 当我们使用分析工具挖掘出数据的价值之后 就需要找到一种合适的方式来表达数据 对于当前的数据管理工作来说 真正能够帮助人们完美的呈现数据的工具就是图表 图表会让数据可视化的效果
  • chatglm微调

    chatGML 看到 官方教程 ChatGLM 6B 微调 P Tuning LoRA Full parameter 精准空降到 15 27 https www bilibili com video BV1fd4y1Z7Y5 share s
  • [论文阅读] (12)英文论文引言introduction如何撰写及精句摘抄——以入侵检测系统(IDS)为例

    娜璋带你读论文 系列主要是督促自己阅读优秀论文及听取学术讲座 并分享给大家 希望您喜欢 由于作者的英文水平和学术能力不高 需要不断提升 所以还请大家批评指正 非常欢迎大家给我留言评论 学术路上期待与您前行 加油 前一篇文章详细介绍ACE去雾
  • JS与CSS交互&表单验证

    目录 一 基本概念 1 基本介绍 2 JavaScript 特效之四大家族 1 基本组成 1 三大系列 offset scroll client 2 事件对象 event 3 三大家族区别 二 表单验证 1 表单验证思路 一 基本概念 1
  • Android Studio 下载 Gradle 失败或下载速度慢的解决方案

    方案1 参考文档 方案2 参考文档 方案3 更改 Android Studio 中使用的 Gradle 的路径 在安装 Android Studio 时 会默认安装一个 Gradle 版本 文件在 Android Studio 安装目录的根
  • 刷力扣算法--蓝桥杯备战

    刷题网站 https leetcode cn com problems container with most water submissions 参考书籍 LeetCode 101 和你一起你轻松刷题 C 使用语言 python 记录刷题
  • 东北大学acm第一周周赛

    include
  • 48使用说明书_十分钟不到,就学会使用乐高studio2.0做图纸啦!上

    猜一猜第五个齿轮是朝左转动还是朝右转动 点击空白处查看答案 大家看了端午节的龙舟图纸 在后台留言希望我出一个studio20的入门教程 今天zfeng老师带着入门教程来啦 乐高积木作为最受欢迎的玩具之一 对大人小孩都有着非常大的吸引力 乐高
  • 计算机网络复习题2(含答案及解析及知识点)

    1 影响信道最大传输速率的因素主要有 A A 信道带宽和信噪比 B 码元传输速率和噪声功率 C 频率特性和带宽 D 发送功率和噪声功率 香农定理 带宽受限 有噪声时 极限 无差错的信息传输速率 分贝数 dB 10lg S N 例如信噪比是3
  • Vue动态路由传值和Get传值

    Vue动态路由 在一个页面获取上一个页面的传值 1 配置动态路由步骤 const routes main js文件中 path Content aid component Content 动态路径参数以冒号开头 在上一个页面中配置
  • QT:只允许在自定义标题栏中鼠标拖动控制窗口位置

    目录 说明 效果展示 代码 说明 在使用了自定义的标题栏 想要实现鼠标只能在标题栏中拖动窗口 在其它地方拖动不了窗口的效果 我们这里是在标题栏类的鼠标事件中处理拖动窗口的事情 实现过程 标题栏类中的鼠标事件获取了拖动位置后 通过移动标题栏的
  • 解决java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.vmplugin.v7.Java7

    场景 把本地写好的SDK推到公司maven库里 执行 gt gradlew bat p sdk名称 clean uploadArchives 时遇到标题样式的报错 解决 Android目录下 Gradle Scripts gradle wr
  • VS2010+Qt5+OSG3.0开发环境搭建

    一 VS2010 VS2010的安装网上教程很多 不再叙述 二 Qt 在VS中开发程序 需要下载Qt安装包和Qt的VS插件 我用的版本是Qt5 1 1 for Windows VS2010 OpenGL VisualStudio Add i
  • umi脚手架环境下 实现H5页面路由转场动画

    目录 环境介绍 核心思路 核心代码所在目录中位置 核心代码的讲解 效果图 gitHub 地址 umi3 demo 环境介绍 umi 是一个可插拔的企业级 react 应用框架 我们使用 react transition group 动画库来
  • Python绘图之seaborn(一)

    最近在系统梳理一下Python的几个可视化绘图库 其中seaborn上手较为方便快捷 下面给大家简单介绍一下 可以满足自己日常需要的绘图要求 Seaborn 是一个基于 matplotlib 且数据结构与 pandas 统一的统计图制作库