gpt4 book ai didi

python - 将一个特定的数据点标记添加到箱线图或 fiddle 图中(使用 holoviews/hvplot)

转载 作者:行者123 更新时间:2023-12-05 03:56:23 24 4
gpt4 key购买 nike

我在数据框中绘制了 1 列的 fiddle 图。
现在我想展示一个特定数据点(异常值)与该 fiddle 图相比的位置。

下面我创建了一些样本数据,我将绘制 1 个特定的异常值,例如一个值为 20 的数据点。
如何将这个带有标记的数据点添加到我的绘图中?

问题是我知道 20 的值是 x 轴,但我不知道 y 轴的值,它似乎是“匿名的”。我尝试用点 (None, 20) 叠加散点图,但这没有用。

示例代码:

# import libaries
import numpy as np
import pandas as pd
import hvplot
import hvplot.pandas
import holoviews as hv
hv.extension('bokeh')

# create sample_data
sample_data = np.random.poisson(lam=50, size=100)
df = pd.DataFrame(sample_data, columns=['col1'])

# create violin plot with hvplot:
violin_plot = df.hvplot.violin(ylim=(-5, 100), invert=True)

# or create it with holoviews:
violin_plot = hv.Violin(df, vdims=['col1'])
violin_plot.opts(ylim=(-5, 100), invert_axes=True, width=500)


没有特定数据点的当前图: violinplot without specific datapoint on top

最佳答案

您需要overlay散点图,其中包含 fiddle 图上数据点的值
这基本上是将散点图放在 fiddle 图的顶部,这可以用 * 符号来完成。

这里的y轴看起来是'匿名',但关键在于它实际上有值'',所以它是一个空字符串。
因此,如果您想绘制值 20,则您的数据点为 ('', 20)。


解决方案代码:

# x-axis is an empty string, so create a scatter plot of 1 datapoint with value ('', 80)
scatter_point = hv.Scatter(('', 20)).opts(color='red', size=10)

# put your scatter plot with 1 datapoint on top of your violin plot using the * symbol
violin_plot * scatter_point


结果图:
violinplot with scatterplot of 1 outlier datapoint

关于python - 将一个特定的数据点标记添加到箱线图或 fiddle 图中(使用 holoviews/hvplot),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59358115/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com