小编Cri*_*ris的帖子

Holoviews 按分类数据散点图颜色

我一直在尝试了解如何完成绘制两个数据集(每个数据集具有不同颜色)这一非常简单的任务,但我在网上发现的任何内容似乎都无法做到这一点。这是一些示例代码:

import pandas as pd
import numpy as np
import holoviews as hv
from holoviews import opts
hv.extension('bokeh')

ds1x = np.random.randn(1000)
ds1y = np.random.randn(1000)
ds2x = np.random.randn(1000) * 1.5
ds2y = np.random.randn(1000) + 1

ds1 = pd.DataFrame({'dsx' : ds1x, 'dsy' : ds1y})
ds2 = pd.DataFrame({'dsx' : ds2x, 'dsy' : ds2y})
ds1['source'] = ['ds1'] * len(ds1.index)
ds2['source'] = ['ds2'] * len(ds2.index)

ds = pd.concat([ds1, ds2])
Run Code Online (Sandbox Code Playgroud)

目标是在单个框架中生成两个数据集,并用一个分类列来跟踪源。然后我尝试绘制散点图。

scatter = hv.Scatter(ds, 'dsx', 'dsy')
scatter
Run Code Online (Sandbox Code Playgroud)

这按预期工作。但我似乎无法理解如何根据source列对两个数据集进行不同的着色。我尝试了以下方法:

scatter = hv.Scatter(ds, 'dsx', 'dsy', color='source') …

python holoviews hvplot

5
推荐指数
1
解决办法
6411
查看次数

Python上升/下降沿示波器类触发器

我正在尝试根据触发值检测 numpy 向量中的上升沿和/或下降沿。这有点像示波器触发的工作原理。

numpy 向量包含浮点值。触发器本身是一个浮点值。我希望这能像这样工作:

import numpy as np
data = np.array([-1, -0.5, 0, 0.5, 1, 1.5, 2])
trigger = rising_edge(data, 0.3)
print(trigger)

[3]
Run Code Online (Sandbox Code Playgroud)

换句话说,它会像 一样工作np.where,返回一个包含条件为真的位置的向量。

我知道我可以简单地迭代向量并获得相同的结果(这就是我正在做的),但正如您想象的那样,这并不理想。numpy 中是否有一些功能可以使用优化的 C 代码来做到这一点?或者也许在其他图书馆?

谢谢你。

python numpy edge-detection

4
推荐指数
2
解决办法
8462
查看次数

标签 统计

python ×2

edge-detection ×1

holoviews ×1

hvplot ×1

numpy ×1