简体   繁体   English

如何在Prolog GUI(XPCE)编程中制作条形图(条形图)?

[英]How can I make a bar chart (bar graph) in Prolog GUI (XPCE) programming?

I'm trying to make a barchart by using XPCE in Proglog libraries. 我正在尝试通过在Proglog库中使用XPCE来制作条形图。 Though I found some materials but I cannot execute it right away. 虽然我找到了一些资料,但是我无法立即执行。 The code is as below. 代码如下。

barchart :-
    barchart(vertical).
barchart(HV) :-
    new(W, picture),
    active_classes(Classes),
    length(Classes, N),
    required_scale(Classes, Scale),
    send(W, display, new(BC, bar_chart(HV, 0, Scale, 200, N))),
    forall(member(class(Name, Created, Freed), Classes),
           send(BC, append,
                bar_group(Name,
                          bar(created, Created, green),
                          bar(freed, Freed, red)))),
    send(W, open).

And what I want to make is like Figure27 in this site. 我要制作的就像该站点中的Figure27。

http://www.swi-prolog.org/packages/xpce/UserGuide/libplot.html http://www.swi-prolog.org/packages/xpce/UserGuide/libplot.html

Edited) 编辑)

I just want to make very simple bar chart. 我只想制作非常简单的条形图。 Like this below. 像下面这样。 http://image.tutorvista.com/content/feed/u845/bargraph.gif http://image.tutorvista.com/content/feed/u845/bargraph.gif

sorry for link not image(I don't have enough reputation points to upload the picture) 抱歉,链接不是图片(我没有足够的声誉点来上传图片)

here (another) sample 这里(另一个)样本

:- use_module(library(pce)).
:- use_module(library(plot/barchart)).
:- use_module(library(autowin)).

test_barchart :-
    new(W, picture),
    send(W, display, new(BC, bar_chart(vertical,0,200))),
    forall(member(Name/Height/Color,
              [x/100/red, y/150/green, z/80/blue, v/50/yellow]),
           (   new(B, bar(Name, Height)),
               send(B, colour(Color)),
               send(BC, append, B)
           )),
    send(W, open).

that yields 产生

在此处输入图片说明

You can inspect XPCE objects from Help\\XPCE Manual\\Browsers\\Class Browser... 您可以从帮助\\ XPCE手册\\浏览器\\类浏览器中检查XPCE对象。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM