样本“输入文件”:
x y1(red) y2(blue) y3(green)
10 0.08 0.02 0.90
15 0.03 0.90 0.07
20 0.85 0.10 0.05
我的x轴是10、15、20或示例输入文件中的第1列。第2-4列是我的因变量,用颜色标记。 x轴是距离; y轴是脉冲信号。
我想要一个以“ x:y with impulse”绘制的图形,或类似的图形。我的输出将显示为:
x = 10 15 20
green 0.90 0.07 0.05
red 0.08 0.03 0.85
blue 0.02 0.90 0.10
在x = 10时,我会看到一条强度为0.90的绿色线,与一条强度为0.08的红色线重叠,然后是一个 >蓝色线,强度为0.02。我可以一眼看出,对于x = 10,我的参数是90%的绿色,8%的红色和2%的蓝色。
对于x = 15,我将创建强度为0.90的蓝色线,强度为0.07的绿色线和红色< / strong>强度为0.03的线。
,对于x = 20类似。
换句话说,我的目标是对于给定的x值,确切地看到我的三个因变量所占的百分比。
当前,我可以做类似
的操作plot "input file" u 1:4 w i lc rgb "green"
replot "input file" u 1:3 w i lc rgb "blue"
replot "input file" u 1:2 w i lc rgb "red"
不幸的是,最新的重绘将重叠并掩盖以前任何较小的冲积。
使用这种方法,我的情节看起来像:
x = 10 15 20
green 0.90 ---- ----
red 0.08 0.03 0.85
blue ---- 0.90 ----
在x = 10时,我只会看到绿色,而在x = 15时,我只会看到蓝色。因为重新绘制了红色,所以由于强度更高,它会重叠并覆盖其他颜色。在所有三个x值处我都能完美地看到红色,但是我失去了绿色和蓝色。
也许有一种方法可以告诉replot不要掩盖以前的图块吗?还是重新规划以实现上述目标的替代方法?
我试图在每个点x处绘制多字段输入,同时在我的键中为每一列保留原始图例标签。
在我的实际情况下,我有8-40个字段,跨越数百个x值,所以我不能简单地手动输入我想在哪一列。
我们非常感谢您的协助。我愿意接受任何解决方案,如果gnuplot无法做到这一点,甚至可以使用其他软件。
答案 0 :(得分:1)
try (Connection conn = DriverManager.getConnection("jdbc:sqlite::memory:")) {
try (Statement st = conn.createStatement()) {
st.execute("restore from C:\\__tmp\\thing.sqlite");
// let's see if we can read one of the tables
ResultSet rs = st.executeQuery("SELECT * FROM Table1");
while (rs.next()) {
System.out.println(rs.getString(1));
}
}
} catch (Throwable e) {
e.printStackTrace(System.err);
}