【问题标题】:Is it possible to create a Q-Q plot when lacking a coordinate system?缺少坐标系时是否可以创建QQ图?
【发布时间】:2020-01-13 12:45:25
【问题描述】:

我希望使用 Vis 库在 Rascal 中创建 Q-Q plot。我被告知没有位置系统。这是真的?如果为真,我将如何绘制这个或任何散点图?有人有这方面的例子吗?

【问题讨论】:

    标签: rascal


    【解决方案1】:

    这是一个很好的问题。当然,Rascal 的 Vis 库是“无点”的,因为它的布局机制没有绝对坐标系。但是,某些图形类型具有相对坐标系,它们有自己的“原点”。当您使用水平、垂直或叠加框组合其中的几个(并正确对齐它们)时,您可以创建条形图、散点图和任何您想要的效果。

    尤其是overlay的人物组合很有意思:http://tutor.rascal-mpl.org/Rascal/Libraries/Vis/Figure/Figure.html#/Rascal/Libraries/Vis/Figure/Figures/overlay/overlay.html

    Figure point(num x, num y){ return ellipse(shrink(0.05),fillColor("red"),align(x,y));}
    coords = [<0.0,0.0>,<0.5,0.5>,<0.8,0.5>,<1.0,0.0>];
    ovl = overlay([point(x,y) | <x,y> <- coords]);
    render(ovl);
    

    产生这个(代码和图像都取自上面链接的文档):

    • 每个点都是一个椭圆,它在相对于封闭overlay 框的原点的(x, y) 位置对齐。
    • 默认情况下,此overlay 的原点似乎是左上角,而没有其他 FProperty 被赋予覆盖。 overlay 图形的其他对齐选项也可能更改其原点的位置。

    【讨论】:

    • 我还会查看 hscreenvscreen 数字,它们有助于从散点图中的一个点投影到轴上的位置,甚至外部的与这些点相关的标签。跨度>
    • 你的建议让我受益匪浅,现在我可以绘制数据了。我给每个点一个弹出窗口,里面有一些深入的信息。我使用 mouseOver 功能。当多个点重叠时,这会给我多个弹出窗口,我找不到阻止这种情况的方法。 onMouseClick 函数有一个布尔返回值来执行此操作,但 mouseOver 返回一个图形。你知道什么方法吗?
    • 进展顺利!不,这是一个我也没有答案的问题;也许我的一位同事知道..
    【解决方案2】:

    在 Jurgen Vinju 的帮助下,我编写了这段代码,希望对某人有所帮助:https://gist.github.com/rlmhermans/c9e82a6a623b65f0c6957ab3ff2742cf

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多