如何在J中输出多个图?

时间:2018-06-25 13:12:04

标签: j

在J编程中,我有几行绘图代码,plot或pd'show',但输出只是最后一个绘图。我该如何解决?谢谢!

x =:1 2 3 4 5 6 y =:2 3 4 5 6 7

z =:4 6 7 9 5 3

我知道将两者都放在一张图中就像x; y,:z

但是我想输出两个图,例如: plot1是x; y plot2是x; z

但是每次运行代码时,我只会看到x; z

1 个答案:

答案 0 :(得分:2)

这里发生的是绘图窗口正在重复使用。我认为这是有意的,目的是使用户不必清理查看后创建的每个图。

解决此问题的方法是使用J的面向对象方面,以便将每个窗口都视为一个单独的对象。瑞克·夏洛克(Ric Sherlock)在https://code.jsoftware.com/wiki/Plot/Class对此进行了很好的描述,但是请尝试以下答案,看是否对您有用。

   x =: 1 2 3 4 5 6
   y =: 2 3 4 5 6 7
   z =: 4 6 7 9 5 3

   a=: conew 'jzplot'
   b=: conew 'jzplot'
   plot__a x;z
   plot__b x;y

关闭窗口后,用

清除支持对象的语言环境。
   codestroy__a ''
1
   codestroy__b ''
1

在J的实验室中,面向对象的编程已经很好地介绍了,如果您不熟悉它,那么值得一看,以了解上述代码的技术细节。