如何填充seaborn分布图中曲线下的面积

2023-12-24

我有两个变量

x = [1.883830, 7.692308,8.791209, 9.262166]
y = [5.337520, 4.866562, 2.825746, 6.122449]

我想使用 matplotlib 包装的 seaborn 来拟合高斯分布。似乎是sns.distplot函数是执行此操作的最佳方法,但我不知道如何填充曲线下的区域。帮助?

fig, ax = plt.subplots(1)
sns.distplot(x,kde_kws={"shade":True}, kde=False, fit=stats.gamma, hist=None, color="red", label="2016", fit_kws={'color':'red'});
sns.distplot(y,kde_kws={"shade":True}, kde=False, fit=stats.gamma, hist=None, color="blue", label="2017", fit_kws={'color':'blue'})

我认为“阴影”论点可能是fit_kws争论,但我还没有让它发挥作用。

另一种选择是使用ax.fill()?


是的shade参数不支持fit_kwskde_kws。但正如您所猜测的,我们可以使用以下方法填充两条曲线下方的区域ax.fill_between()。我们必须从ax对象及其 x-y 数据,然后使用它来填充曲线下方的区域。这是一个例子。

import numpy as np
import seaborn as sns
import scipy.stats as stats
import matplotlib.pyplot as plt

x = [1.883830, 7.692308,8.791209, 9.262166]
y = [5.337520, 4.866562, 2.825746, 6.122449]
ax = sns.distplot(x, fit_kws={"color":"red"}, kde=False,
        fit=stats.gamma, hist=None, label="label 1");
ax = sns.distplot(y, fit_kws={"color":"blue"}, kde=False,
        fit=stats.gamma, hist=None, label="label 2");

# Get the two lines from the axes to generate shading
l1 = ax.lines[0]
l2 = ax.lines[1]

# Get the xy data from the lines so that we can shade
x1 = l1.get_xydata()[:,0]
y1 = l1.get_xydata()[:,1]
x2 = l2.get_xydata()[:,0]
y2 = l2.get_xydata()[:,1]
ax.fill_between(x1,y1, color="red", alpha=0.3)
ax.fill_between(x2,y2, color="blue", alpha=0.3)

plt.show(block=False)

The result is shown below: enter image description here

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

如何填充seaborn分布图中曲线下的面积 的相关文章

随机推荐

  • 如何在禁用的控件上显示工具提示?

    我正在显示按钮列表 其中一些可能被禁用 我需要在禁用按钮上显示工具提示 并解释其禁用原因 但似乎我无法在不禁用工具提示的情况下禁用该按钮 有没有一个简单的方法可以解决这个问题 将按钮包装在一个组中 然后将工具提示应用到该组
  • 根据 Pandas DataFrame 中的其他列值在列之间移动行值

    我有一个熊猫数据框 其中包含生物体名称及其抗生素敏感性列表 我希望根据以下规则将所有生物体合并到下面数据框中的一列中 如果 ORG1 A 则不执行任何操作 如果 ORG1 A 且 ORG2 A 则将 ORG2 值移至 ORG1 列 如果 O
  • 绘制振幅

    我想知道是否有人可以向我指出一个好的教程或向我展示如何绘制字节数组的幅度图 我使用的音频格式是 U LAW 8000 0 Hz 8 位 单声道 1 字节 帧 听起来您对短期平滑 RMS 幅度测量感兴趣 通常 要执行此操作 您需要输入信号的整
  • 使 JButton 表现得像 JMenu

    我有以下 JMenuBar 代码 此代码取自免费的 java 程序调用JGuiD https sourceforge net projects jguid 并出于个人目的进行编辑 import javax swing import java
  • 在 Visual Studio 2015 Community RTM 中为 ASP.NET 5 项目启用 SSL

    Most tutorials suggest that you can enable SSL for the website by going to properties of the project and then ticking th
  • ObjectAnimator 像素化 TextView

    我在 Samsung GT N5110 android 版本 4 1 2 中放大 TextViews 和 Checkboxes 时遇到问题 放大 TextView 后出现下图 里面有 textview 我想放大它我确实尝试在开发人员选项中启
  • Haskell Prelude.read:无法解析字符串

    来自哈斯克尔的例子http learnyouahaskell com types and typeclasses http learnyouahaskell com types and typeclasses ghci gt read 5
  • 如何获取Azure ResourceManagementClient对象的标签

    我正在尝试使用 ResourceManagementClient 类获取资源组的标签列表 Microsoft Azure Management Resources 2 14 1 预览版 添加自包管理器控制台 ResourceManageme
  • 如何在 MongoDB shell 中将 NumberLong 转换为 Date?

    我将 unix 时间戳存储为 MongoDB 的NumberLongtype 毫秒 如何在 Mongo shell 中转换为人类可读的日期字符串 供我自己将来参考 并结合其他答案 db mycollection aggregate matc
  • 如何横向显示 AutoCompleteTextView 建议

    AutoCompleteTextView 在纵向模式的下拉列表中显示建议 我想在对话框或横向模式的下拉列表中显示建议 这里 EditText 和键盘全屏显示 我应该在适配器中使用哪种布局才能在横向模式下将提示显示为对话框 我目前正在使用an
  • 如何从 Web 应用程序中找出 ASP.NET 中的会话大小?

    如何从 Web 应用程序中找出 ASP NET 中的会话大小 如果您尝试在运行时而不是在调试跟踪中获取会话的大小 您可能需要尝试如下操作 long totalSessionBytes 0 BinaryFormatter b new Bina
  • 在 matplotlib 中设置图例中标签部分的样式

    是否可以有part特定风格的传说文本 比方说 bold or italic 写在之间 强制 matplotlib 解释它 import matplotlib pyplot as plt plt plot range 10 range 10
  • 如何仅循环批处理脚本一定的次数?

    如何仅循环批处理脚本一定次数 x10 或其他 如果代码是 echo off loop1 Start taskmgr exe Goto loop loop2
  • HttpRuntime.Cache.Add 中的值为 Null

    我想为其中的一些键存储 nullHttpRuntime Cache因为我不想再次进入数据库发现没有该密钥的条目 所以第一次 它会进入数据库并填充缓存 目的是使用缓存数据来服务以下调用 而不是执行数据库调用 这是我正在使用的代码 Info i
  • 在javascript中访问ruby数组

    我想在 javascript 中访问 Ruby 数组 请告诉我这样做的方法 我的数组保存了 sql 查询的结果 contacts Contact order contacts position ASC 我正在尝试这样做 for var i
  • 导入 F2Py 模块时如何“捕获”段错误?

    一些背景 其相关性可能会波动 我目前拥有一些 F2Py 库 F2Py 从一些 Fortran 代码编译的 Python 模块 出于所有意图和目的 您可以将这些模块视为 第三方 我目前无法访问 Fortran 源代码 并且我不负责编译过程 这
  • 如何将 shell 变量导出到所有会话?

    我想知道有没有办法将我的 shell 变量导出到系统中的所有会话 不仅仅是当前会话 我不想在 bashrc 文件中设置它 因为 shell 变量是动态变量 它会不时更改 您可以通过在调试中设置陷阱来设置会话以继续重新读取磁盘上的文件 bas
  • 如何在 ASP.NET 项目中设置无限会话超时?

    我正在开发一个 ASP NET 项目 如何增加会话超时 无限超时 或者我应该在 IIS 上执行此操作 如果可以的话请解释一下 您可以设置session timeout in web config如下所示 该值显示分钟 因此您可以根据需要设置
  • CSS 中报告部分样式列表编号?

    现在我了解了 正常 CSS 列表样式 罗马 拉丁等 当然在过去的几年里 它们在不允许诸如以下内容方面有些不灵活 a or a only a 现在我相信你可以通过 before 和 after 伪元素得到像上面这样的效果 那是对的吗 如果可以
  • 如何填充seaborn分布图中曲线下的面积

    我有两个变量 x 1 883830 7 692308 8 791209 9 262166 y 5 337520 4 866562 2 825746 6 122449 我想使用 matplotlib 包装的 seaborn 来拟合高斯分布 似