MASON-INTEREST-L Archives

September 2015

MASON-INTEREST-L@LISTSERV.GMU.EDU

Options: Use Proportional Font
Show HTML Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Tschanen Miriam <[log in to unmask]>
Reply To:
MASON Multiagent Simulation Toolkit <[log in to unmask]>
Date:
Tue, 1 Sep 2015 23:56:48 +0000
Content-Type:
multipart/alternative
Parts/Attachments:
text/plain (1647 bytes) , text/html (2263 bytes)
Hi all,

I'm trying to set up a custom bar chart for my model, since the level of control I have over the default inspectors isn't quite enough for my needs. I stumbled upon the sim.display.ChartUtilities class and tried to use it to attach a bar chart directly to my simulation. Unfortunately, I can't figure out how to use it correctly, or rather I am constantly getting a NullPointerException as soon as the simulation runs.

As outlined in its documentation, I call the following functions in my GUIstate class to set up the bar chart:

public void init(Controller c) {
    ...

    BarChartGenerator bcgenerator = ChartUtilities.buildBarChartGenerator(this, "Bar Chart");
    barchart = ChartUtilities.addSeries(bcgenerator, "Bar Chart");  <-- this is where the exception triggers
}

public void setupPortrayals() {
    ...

    ChartUtilities.scheduleSeries(this, barchart, sim.data);
}

These are the top few lines of the trace:
java.lang.NullPointerException
    at sim.util.media.chart.PieChartSeriesAttributes.getElements(PieChartSeriesAttributes.java:40)
    at sim.util.media.chart.PieChartGenerator.update(PieChartGenerator.java:136)
    at sim.util.media.chart.PieChartGenerator.addSeries(PieChartGenerator.java:187)
    at sim.display.ChartUtilities.addSeries(ChartUtilities.java:569)

Either I'm missing something important or there is a bug in the implementation of addSeries. Is there some other way I can create a bar chart with full control over the labels and categories? As I mentioned, the default inspector isn't much help, for instance it sorts numerical categories in an awful way (placing 10 before 2 etc).

Cheers,
Miriam Tschanen


ATOM RSS1 RSS2