Python Seaborn Ridge Plot 教程不起作用

2023-12-07

如果我复制粘贴上给出的示例希博恩网站为了制作“岭图”,代码在两个不同的点上失败了:

import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
sns.set_theme(style="white", rc={"axes.facecolor": (0, 0, 0, 0)})

# Create the data
rs = np.random.RandomState(1979)
x = rs.randn(500)
g = np.tile(list("ABCDEFGHIJ"), 50)
df = pd.DataFrame(dict(x=x, g=g))
m = df.g.map(ord)
df["x"] += m

# Initialize the FacetGrid object
pal = sns.cubehelix_palette(10, rot=-.25, light=.7)
g = sns.FacetGrid(df, row="g", hue="g", aspect=15, height=.5, palette=pal)

# Draw the densities in a few steps
g.map(sns.kdeplot, "x",
      bw_adjust=.5, clip_on=False,
      fill=True, alpha=1, linewidth=1.5)
g.map(sns.kdeplot, "x", clip_on=False, color="w", lw=2, bw_adjust=.5)

# passing color=None to refline() uses the hue mapping
g.refline(y=0, linewidth=2, linestyle="-", color=None, clip_on=False)


# Define and use a simple function to label the plot in axes coordinates
def label(x, color, label):
    ax = plt.gca()
    ax.text(0, .2, label, fontweight="bold", color=color,
            ha="left", va="center", transform=ax.transAxes)


g.map(label, "x")

# Set the subplots to overlap
g.figure.subplots_adjust(hspace=-.25)

# Remove axes details that don't play well with overlap
g.set_titles("")
g.set(yticks=[], ylabel="")
g.despine(bottom=True, left=True)

line g.refline(y=0, linewidth=2, linestyle="-", color=None, clip_on=False)和线g.figure.subplots_adjust(hspace=-.25)失败并出现此错误:

AttributeError: 'FacetGrid' object has no attribute 'figure'

I am on numpy:1.19.1 熊猫:1.2.4 海博恩:0.11.1


您可以更换g.figure with g.fig. g.figure旨在成为同一变量的新名称。refline()是seaborn 0.11.2 中的新增内容(该网站假设您运行最后发布的版本)。您可以将呼叫替换为g.refline() with g.map(plt.axhline, y=0, linewidth=2, linestyle="-", color=None, clip_on=False).

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

sns.set_theme(style="white", rc={"axes.facecolor": (0, 0, 0, 0)})

# Create the data
rs = np.random.RandomState(2022)
x = rs.randn(500)
g = np.tile(list("ABCDEFGHIJ"), 50)
df = pd.DataFrame(dict(x=x, g=g))
df["x"] += df["g"].map(ord)

# Initialize the FacetGrid object
pal = sns.cubehelix_palette(10, start=1, rot=-.25, light=.7)
g = sns.FacetGrid(df, row="g", hue="g", aspect=15, height=.5, palette=pal)

# Draw the densities in a few steps
g.map(sns.kdeplot, "x",
      bw_adjust=.5, clip_on=False,
      fill=True, alpha=1, linewidth=1.5)
g.map(sns.kdeplot, "x", clip_on=False, color="w", lw=2, bw_adjust=.5)

# passing color=None to refline() uses the hue mapping
# g.refline(y=0, linewidth=2, linestyle="-", color=None, clip_on=False)
g.map(plt.axhline, y=0, linewidth=2, linestyle="-", color=None, clip_on=False)

# Define and use a simple function to label the plot in axes coordinates
def label(x, color, label):
    ax = plt.gca()
    ax.text(0, .2, label, fontweight="bold", color=color,
            ha="left", va="center", transform=ax.transAxes)

g.map(label, "x")

# Set the subplots to overlap
g.fig.subplots_adjust(hspace=-.25)

# Remove axes details that don't play well with overlap
g.set_titles("")
g.set(yticks=[], xlabel="", ylabel="")
g.despine(bottom=True, left=True)
plt.show()

seaborn ridge plot example

这是使用航班数据集的另一个示例:

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

sns.set_theme(style="white", rc={"axes.facecolor": (0, 0, 0, 0)})

flights = sns.load_dataset('flights')
pal = sns.cubehelix_palette(len(flights["year"].unique()), start=1.4, rot=-.25, light=.7, dark=.4)
g = sns.FacetGrid(flights, row="year", hue="year", aspect=20, height=.5, palette=pal)

g.map(sns.kdeplot, "passengers", bw_adjust=.6, cut=5, clip_on=False, fill=True, alpha=1, linewidth=1.5)
g.map(sns.kdeplot, "passengers", bw_adjust=.6, cut=5, clip_on=False, color="w", lw=2)
g.map(plt.axhline, y=0, linewidth=2, linestyle="-", color=None, clip_on=False)

def label(x, color, label):
    ax = plt.gca()
    ax.text(0, .1, label, fontweight="bold", color=color,
            ha="left", va="center", transform=ax.transAxes)

g.map(label, "year")
g.fig.subplots_adjust(hspace=-.7)
g.set(yticks=[], xlabel="", ylabel="", xlim=(None, 680), title="")
g.despine(bottom=True, left=True)
plt.show()

seaborn ridge plot flights dataset

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

Python Seaborn Ridge Plot 教程不起作用 的相关文章

  • ValueError:未知标签类型:“连续”

    我看过其他帖子讨论过这个问题 但其中任何一个都可以帮助我 我在 Windows x6 机器上使用带有 Python 3 6 0 的 jupyter 笔记本 我有一个很大的数据集 但我只保留其中的一部分来运行我的模型 这是我使用的一段代码 d
  • Python Pandas——用前一列的值向前填充整行

    pandas 开发新手 如何使用先前看到的列中包含的值向前填充 DataFrame 独立的示例 import pandas as pd import numpy as np O 1 np nan 5 np nan H 5 np nan 5
  • 如何使用 pandas 进行左连接

    我有 2 个数据框 它看起来像这样 DF1 Product Region ProductScore AAA R1 100 AAA R2 100 BBB R2 200 BBB R3 200 DF2 Region RegionScore R1
  • 获取数据框中列与特定值匹配的整数行索引

    给定一个 Pandas 数据框 其中一列如下所示 Date 2016 04 15 2016 04 14 2016 04 13 2016 04 12 2016 04 11 2016 04 08 假设值是唯一的 如何获取特定值的行索引 例如 2
  • Python:numpy/pandas 根据条件更改值

    我想知道是否有更快 更 Pythonic 的方法来执行以下操作 例如使用一些内置方法 给定一个 pandas DataFrame 或 numpy 浮点数组 如果该值等于或小于 0 5 我需要计算倒数并乘以 1 并用新计算的值替换旧值 转变
  • Pandas:向量化局部范围操作([i:i+2] 行的最大值和总和)

    我希望在数据帧中的每一行的局部范围内进行计算 同时避免速度缓慢for环形 例如 对于下面数据中的每一行 我想找到未来 3 天内 包括当天 的最高气温以及未来 3 天内的总降雨量 Day Temperature Rain 0 30 4 1 3
  • 透视包含字符串的 Pandas Dataframe - “没有要聚合的数字类型”错误

    关于此错误有很多问题 但环顾四周后 我仍然无法找到 解决解决方案 我正在尝试用字符串旋转数据框 以使一些行数据变成列 但到目前为止还没有成功 我的 df 的形状
  • pandas 在单元格中缩写字典

    我有一个相当复杂的嵌套字典 它使用 pandas 很好地打印为 html 但是 有一个字典作为打印在单元格中的值之一 如下所示 pd set option display max colwidth 1 已设置 所以这不应该是问题 这是产生问
  • pandas 替换多个值

    以下是示例数据框 gt gt gt df pd DataFrame a 1 1 1 2 2 b 11 22 33 44 55 gt gt gt df a b 0 1 11 1 1 22 2 1 33 3 2 44 4 3 55 现在我想根据
  • 为 pandas 数据透视表中的每个值列定义 aggfunc

    试图生成具有多个 值 列的数据透视表 我知道我可以使用 aggfunc 按照我想要的方式聚合值 但是如果我不想对两列求和或求平均值 而是想要一列的总和 同时求另一列的平均值 该怎么办 那么使用 pandas 可以做到这一点吗 df pd D
  • Geopandas 设置几何图形:MultiPolygon“等于 len 键和值”的 ValueError

    我有 2 个带有几何列的地理数据框 我将一些几何图形从 1 个复制到另一个 这对于多边形效果很好 但对于任何 有效 多多边形都会返回 ValueError 请指教如何解决这个问题 我不知道是否 如何 为什么应该更改 MultiPolygon
  • 如果值在列表 pandas 中,则布尔向量

    在 pandas 中创建布尔向量来测试值很容易 例如 DF a gt 10 但是你怎么写 DF a in list 根据某个列表或其他列表中系列中每个值的成员资格生成布尔向量 我收到一个值错误 我知道我可以非常简单地循环数据 但是不必这样做
  • 在 NetworkX 中使边缘更粗

    student id 0 1 2 3 4 5 6 7 8 9 10 11 12 0 131X1319 1 14 6 16 1 10 8 15 15 17 15 18 16 1 13212YX3 1 1 4 8 11 9 14 7 0 3 0
  • 如何添加 id 列来标识 read_html() 表?

    考虑以下站点 site1 http pastebin com vpnGqn5X site2 http pastebin com FbAFGbfR site3 http pastebin com LqZWxFSP 其中有许多不同的表 我在用读
  • 跨行对 Pandas 数据框进行分组 - 2.0

    进一步这个问题跨行对 Pandas 数据框进行分组 https stackoverflow com questions 46995997 grouping pandas dataframe across rows 操作是 amount cl
  • Python极坐标图:绘制与角度对应的值

    我正在尝试绘制以不同角度记录的传感器数据 import pandas as pd import matplotlib pyplot as plt create dataframe each row contains an angle and
  • 将数据从 python pandas 数据框导出或写入 MS Access 表

    我正在尝试将数据从 python pandas 数据框导出到现有的 MS Access 表 我想用已更新的数据替换 MS Access 表 在 python 中 我尝试使用 pandas to sql 但收到错误消息 我觉得很奇怪 使用 p
  • 绘制随时间变化的分类数据计数

    我有一个数据框 df 其中有一列包含分类数据 ETH 带有 DateTimeIndex 我想绘制类别counts随着时间的推移 它们按天索引 我最好按年绘制它们 df pd DataFrame County 0 Bexar 3 Nueces
  • Pandas:merge_asof() 对多行求和/不重复

    我正在处理两个数据集 每个数据集具有不同的关联日期 我想合并它们 但因为日期不完全匹配 我相信merge asof 是最好的方法 然而 有两件事发生merge asof 不理想的 数字重复 数字丢失 以下代码是一个示例 df a pd Da
  • 使用 Python 绘制 2D 核密度估计

    I would like to plot a 2D kernel density estimation I find the seaborn package very useful here However after searching

随机推荐

  • 如何将大型 F# 记录数组保存到文件中?

    我想将一个大型 f 记录数组 gt 10 000 000 个元素 保存到磁盘 以便以后可以轻松地将数组重新加载到内存中 我使用 Visual F 2010 中的以下简单函数进行技术计算 let save filename x use str
  • 如何使用 jquery mobile 制作可拖动的 li 元素?

    我是网络移动新手 当我想在我们中制作可拖动项目时 我只使用jquery ui 在移动Web应用程序中如何做到这一点 我正在使用jquerymobile 我们应该在网络移动中使用 jquery ui 还是存在其他好方法 Thanks jQue
  • 如何查看MySQL内部innodb临时表的大小

    我看到大量内部临时磁盘表正在被写入 我可以看到计数SHOW GLOBAL STATUS where Variable name like Created tmp disk tables 我知道我可以更新max heap table size
  • Android自定义键盘:空格键的触摸区域未完全覆盖

    我开发了一款 Android 定制键盘 它看起来几乎就像原来的键盘一样 它还具有用于在字母 数字和 Shift 之间切换的特殊键 除了 SPACE 键 底部的大条 之外 所有键似乎都可以正常工作 我可以按中间的空格键但左右区域 大约空格键宽
  • Soap xml 响应使用 xsd 文件进行验证

    using https www freeformatter com xml validator xsd html 如果我在响应和模式中完全将soapenf从混合中取出 它可以正常工作 但我想两者兼而有之 仅供参考 我想指出此 wsdl 和
  • C# Windows 应用程序访问数据库数据在关闭时不会保留

    我正在使用 C 创建一个 Windows 应用程序 通过该应用程序访问一个空的 Access 数据库 其中包含两个表 省份和位置 我正在处理仅处理 Provinces 表的表单 如下所示 这是一个子表单 当它打开时 我可以插入 更新记录等
  • 在 C# 中使用 file.move 重命名新文件

    我对编码非常陌生 我正在编写一个将重命名文件的应用程序 通过将毫秒附加到已从 MFD 扫描的文件的现有文件名中 该文件夹是共享文件夹 重命名的文件应保留在其中 而不是复制到其他地方 通过大量搜索 我知道 File Move 是我前进的方向
  • 如何在不同主机之间移动 Docker 容器?

    我找不到将运行 docker 的容器从一台主机移动到另一台主机的方法 有什么方法可以将我的容器推送到存储库 就像我们对图像所做的那样 目前 我没有使用数据卷来存储与容器内运行的应用程序关联的数据 因此 一些数据驻留在容器内 我想在重新设计设
  • 解释“if”函数中的“条件长度> 1”警告

    我有一个数组 a lt c 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0
  • Android:覆盖 Android 相机预览

    我正在使用相机 API 并调用相机 我想在相机预览的顶部显示标题 用于品牌 标题是 jpeg 图像 是否可以 任何帮助表示赞赏 提前致谢 我的代码如下 public class CameraActivity extends Activity
  • git format-patch < 自上次 svn rebase 以来的所有内容 >

    我正在尝试将自上次推送到 svn 服务器以来的所有更改合并为一个大补丁 我可以通过电子邮件发送给我的同事进行审查 我可以这样做吗git format patch 你可以使用git format patch origin master获取自当
  • 闭源程序集“无法验证的代码未通过策略检查”

    我试图在 MSI 安装例程期间从 C 程序中的资源流动态加载一些 购买的 程序集 但我收到 无法验证的代码未通过策略检查 我在线阅读了一些有关使用 clr safe 编译嵌入式程序集的提示 但我没有该选项 有没有办法绕过这个政策检查 Tha
  • Vue.js Router:组件准备就绪时运行代码

    我正在使用 Vue js 及其官方路由器开发一个单页应用程序 我使用路由器加载的每个部分都有一个菜单和一个组件 vue 文件 在每个组件中我都有一些与此类似的代码
  • React Native 和 iOS 模拟器的地理位置错误

    我正在使用react native maps 并使用react native api 进行地理定位 当我通过 API 使用位置时 模拟器上返回的结果显示我在旧金山 而不是我所在的科罗拉多州丹佛市 是否有原因导致我的位置无法显示我所在的位置
  • 使用纯js获取具有特定类的单击元素的下一个元素

    我试图通过以下方式获取具有特定类的第一个元素 该类遵循使用纯 JS 无 JQuery 单击的元素 但 get el nextSibling 不是函数错误 最初我使用的是 JQueryparents next 但想用纯 JS 来做到这一点 c
  • JavaScript 凸面形状上的墙壁碰撞,卡在角落

    这是另一个问题的后续 如何处理玩家与墙角的碰撞 在给出的代码的启发下它的答案 我尝试编写一些新代码 基本上 在原版中 墙壁滑动在墙壁内部效果很好 但我想让它在外部也起作用 所以我根据他的技术制作了一个新的基本代码引擎 var aD var
  • 冲突时,在具有非空约束的 Postgres 中不执行任何操作

    是否不可能利用 ON CONFLICT DO NOTHING 来避免插入和违反非空约束 例如 INSERT INTO public users user user yob sex SELECT mom mom yob F FROM stag
  • Bash 工具从文件中获取第 n 行

    有没有一种 规范 的方式来做到这一点 我一直在使用head n tail 1这确实有用 但我一直想知道是否有一个 Bash 工具专门从文件中提取一行 或一系列行 我所说的 规范 是指一个主要功能就是这样做的程序 head和管道与tail对于
  • 按下菜单按钮后如何将 Apple TV 应用置于后台

    我尝试使用私有方法在按下菜单按钮后将应用程序置于后台 并且以下代码可以正常工作 implementation ViewController UITapGestureRecognizer tapRecognizer void viewDidL
  • Python Seaborn Ridge Plot 教程不起作用

    如果我复制粘贴上给出的示例希博恩网站为了制作 岭图 代码在两个不同的点上失败了 import numpy as np import pandas as pd import seaborn as sns import matplotlib p