您好,我想知道是否有一种有效的 JMP 方法可以从多个样本的时间序列数据的数据表中绘制多条线图。
所以,我的数据表如下所示:
index datetime sampleID value
0 93 2024-03-12 00:09:47 B 0.852
1 46 2024-03-12 00:18:36 A 0.377
2 29 2024-03-12 00:50:22 B 0.049
3 99 2024-03-12 01:11:40 B 0.441
4 52 2024-03-12 01:12:09 A 0.237
5 66 2024-03-12 01:26:29 A 0.607
6 28 2024-03-12 01:27:56 A 0.669
7 64 2024-03-12 01:33:11 A 0.074
8 16 2024-03-12 01:52:59 B 0.964
9 55 2024-03-12 01:56:17 A 0.960
-sampleID 给出样本 ID,在本例中为 A 或 B。实际上,可能有 >100 个唯一的样本 ID
- datetime 给出每次测量的时间戳。这对于每一行都是唯一的。
- value 为测量值
- 每个样本的行数可能不同
我想制作一个像这样的时间序列线图:

在Python中我会这样做
#example on how to do it in python
import pandas as pd
import datetime, random
N = 100
datetime_rand = [datetime.datetime.now().replace(hour=0, minute=0, second=0, microsecond=0) + datetime.timedelta(seconds=random.randint(0, 86400)) for _ in range(N)]
df = pd.DataFrame( dict( datetime = datetime_rand, sampleID = np.random.choice(["A", "B"], N), value = rand(N)))
df = df.sort_values(by="datetime").reset_index()
#now we have this kind of dataframe
# index datetime sampleID value
#0 69 2024-03-12 00:04:06 A 0.027
#1 96 2024-03-12 00:05:33 B 0.248
#2 16 2024-03-12 00:18:06 B 0.276
#3 81 2024-03-12 00:34:32 A 0.737
#4 27 2024-03-12 01:01:49 A 0.804
#...
#then I want to visuzalize the raw data with line plots:
for sampleID, group in df.groupby("sampleID"):
if sampleID == "A": plotspec = "bo-"
else: plotspec = "ro-"
plot( group.datetime, group.value, plotspec)我想在 JMP 中做同样的事情。我的分析工作流程的下一步是根据时间戳对数据进行一些分箱,并通过平行图可视化该数据,但通常需要以日期时间作为 x 轴绘制数据的最原始形式。
在图形生成器中,将日期时间拖至 X 轴,将值拖至 Y 轴,并将样本 ID 拖至叠加放置区域。
右键单击图表并选择添加=>线

嗨@asj ,
有一个简单的方法。使用图形菜单中的图形生成器。 Y 上的值、X 上的日期时间和叠加中的样本 ID。剩下的就是在顶部选择图表类型的问题(在 PC 中按 Control 键单击/在 Mac 上按 Shift 键单击多种类型以获得您想要的)。像这样的东西:

这对你有用吗?帮助菜单中有更多关于使用图形生成器进行绘图的详细信息。有些图形类型在图形生成器中很容易完成,但使用 Python 可能需要更多工作。
干杯,