- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何在 Seaborn 分布图中 y 最大的 x 位置添加一条垂直线?
import seaborn as sns, numpy as np
sns.set(); np.random.seed(0)
x = np.random.randn(5000)
ax = sns.distplot(x, kde = False)
PS_ 在上面的示例中,我们知道它可能会选择 0
。我很想知道对于任何给定的 x 分布,我一般如何找到这个值。
最佳答案
这是获得更准确点的一种方法。首先得到平滑分布函数,用它提取最大值,然后将其删除。
import seaborn as sns, numpy as np
import matplotlib.pyplot as plt
sns.set(); np.random.seed(0)
x = np.random.randn(5000)
ax = sns.distplot(x, kde = True)
x = ax.lines[0].get_xdata()
y = ax.lines[0].get_ydata()
plt.axvline(x[np.argmax(y)], color='red')
ax.lines[0].remove()
编辑不使用kde=True
的替代解决方案
import seaborn as sns, numpy as np
from scipy import stats
import matplotlib.pyplot as plt
sns.set(); np.random.seed(0)
x = np.random.randn(5000)
ax = sns.distplot(x, kde = False)
kde = stats.gaussian_kde(x) # Compute the Gaussian KDE
idx = np.argmax(kde.pdf(x)) # Get the index of the maximum
plt.axvline(x[idx], color='red') # Plot a vertical line at corresponding x
这会产生实际分布,而不是密度值
关于python - 如何在seaborn distplot 中添加一条垂直线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56600828/
我决定试一试seaborn 0.11.0 版!据我所知,使用将替换 distplot 的 displot 函数。我只是想弄清楚如何将高斯拟合绘制到直方图上。这是一些示例代码。 import seabo
出于可重复性的原因,出于可重复性的原因,我在[此处][1]共享该数据集。 这就是我正在做的事情 - 从第 2 列开始,我正在读取当前行并将其与前一行的值进行比较。如果更大的话,我会继续比较。如果当前值
我正在尝试为 distplot 子图编写一个 for 循环。 我有一个包含许多不同长度列的数据框。 (不包括 NaN 值) fig = make_subplots( rows=len(asse
如何在 Seaborn 分布图中 y 最大的 x 位置添加一条垂直线? import seaborn as sns, numpy as np sns.set(); np.random.seed(0)
如何在 Seaborn 分布图中 y 最大的 x 位置添加一条垂直线? import seaborn as sns, numpy as np sns.set(); np.random.seed(0)
这个问题在这里已经有了答案: How to change the figure size of a seaborn axes or figure level plot (13 个答案) 关闭 5 年
我想在图表中绘制两个标签,但没有成功。它仅显示最后一个标签 "Old_Formula"。 这是一个简单的例子 import matplotlib.pyplot as plt import numpy
我有一个pandas系列x: 0 -0.000069 1 -0.000059 2 -0.000025 3 -0.000021 4 -0.000021
我正在使用 ipython 笔记本并尝试使用以下函数导出seaborn distplots。如果我调用该函数并一次仅使用一个变量执行,它就可以正常工作。如果我在循环中调用该函数,它将继续在上一个函数调
我正尝试在 Seaborn 中为一个研究项目制作一些直方图。我希望 y 轴为相对频率,x 轴为 -180 到 180。这是我的一个直方图的代码: import pandas as pd from ma
我有一个名为 data1 的数据数组,其中包含从 0 到超过一千的值。我只想有一个直方图和一个从 0 到 10 的这些值的 KDE。因此我写道: sns.distplot(data1, kde=Tru
我想在 seaborn distplot 中有一个权重选项,类似于 numpy 直方图中的选项。如果没有此选项,唯一的替代方法是将权重应用于输入数组,这可能会导致大小(和时间)不切实际。 最佳答案 您
我正在尝试使用 distplot() 绘制分布,并且我想要 y 轴上的绝对数字而不是相对频率 没有拟合函数 我认为可以通过设置 norm_hist=False 来实现(1) ,但相对频率仍显示在 y
是否可以为 seaborn distplots 设置最小和最大显示限制? 我正在尝试遍历 Pandas 数据框的列,但我所有的输出都获得相同的轴。 for v in var_list: df[
我正在使用 Seaborn在 Jupyter notebook 中绘制如下直方图: import numpy as np import pandas as pd from pandas import
我正在使用 Seaborn 的 distplot() 函数,我并置了两个密度图——每个密度图在同一个图中都有不同的颜色——我想给它们贴上标签。 我使用函数文档中提到的参数“标签”。 我的代码是: Re
可以Seaborn distplot是否设置为自动重新缩放 y 轴以捕获多个绘制数据集的最大 y 范围? 使用 Seaborn 进行批量绘图时,有时不可避免地会在不增加最大频率值的情况下提供数据。当发
当我使用 seaborn 的 distplot 时(在 0.7.1 中)可视化直方图,如果输入序列仅包含单个元素,我会收到错误消息。换句话说,像 import numpy as np import s
我想用数据框中的另一个变量为 seaborn.distplot 着色。 这是一个抽象的例子: import numpy import pandas import seaborn A = numpy.r
我已经在寻找解决方案,但找不到适合我的问题的解决方案。我正在尝试绘制一个带有密度函数的直方图,在 y 轴上显示密度。 meanopa 是标准普尔 500 指数的平均对数返回率。我不明白的是以下内容。
我是一名优秀的程序员,十分优秀!