gpt4 book ai didi

python - 使用移动窗口绘制交互式折线图 - 寻求建议

转载 作者:太空宇宙 更新时间:2023-11-03 18:52:06 25 4
gpt4 key购买 nike

嗨,基本上我计划绘制一些这样的数据:

Variable  |  Hour 1  |  Hour 2  |  Hour 3
x | 80 | 60 | 90
y | 45 | 50 | 20
z | 65 | 65 | 35

基本上,我期待一个折线图,其中每个变量每小时标记一个点。然后从这里我需要能够在图表上绘制一个窗口(矩形),选择图表的一个小区域。然后,该窗口将加粗穿过该窗口的任何线的完整线,即 y 轴阈值之间的线。

这是我根据这个想法制作的快速图像:

enter image description here

所以我还没有开始编码,这似乎是一个简单的想法,但基本上我想从那些更有经验的人那里得到一些建议。我确实了解 C/C++/Python/Matlab,我认为 Matlab 将是最简单的解决方案,但是 Python 是我的首选语言,因为它快速且更简单(也许使用 Matplotlib 库),我的其他代码也在Python。

谢谢!

最佳答案

这在 matlab 和 python/matplotlib 中都应该很容易。 Matlab 解决方案看起来像这样(未经测试):

%assume x and y data are in cell arrays, so they can be of different lengths

line_handles = plot(x{1}, y{1}, x{2}, y{2}, x{3}, y{3});

rect = getrect; %select rectangle with mouse

for i = 1:length(line_handles)
if your_intersection_test(rect, x{i}, y{i})
set(line_handles(i), 'linewidth', 5)
end
end

我把它留给你来弄清楚如何测试一条线是否穿过一个矩形(谷歌搜索“测试线是否与矩形相交”给出了一些有用的结果,但在你的情况下它是一条折线)。 python 解决方案应该几乎相似,matplotlib.widgets.RectangleSelector 可能对于用鼠标获取矩形很有用,但我从未使用过它。其余代码应该几乎 1 对 1 从 matlab 转换为 python。

关于python - 使用移动窗口绘制交互式折线图 - 寻求建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18115673/

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