Frage

Ich versuche, eine Verlaufsfüllung für eine Serie in einem Flächendiagramm zu erstellen, die ich durch die BIRT-Chart API bin Gebäude, aber das Buch „Integration und Erweiterung BIRT“ und die Interwebs scheinen merkwürdig still, wie es an der Arbeit . Es scheint, egal, was ich tue, habe ich immer eine flache Farbe aus der Standardpalette erhalten. Ich habe versucht mit SeriesDefinition.getSeriesPalette (). Update (Gradient) und sogar in ihr meine eigene Palette mit dem Farbverlauf füllen zu schaffen, und dass auf dem SeriesDefinition Einstellung, aber ohne Erfolg. Ich habe auch bemerkt, dass, wenn ich nicht eine Verschiebung () auf der Palette durchführen, auch wenn es Verschiebung ist (0), die der Javadocs Anspruch nichts tun, ich Nullpointer erhalten, wenn ich versuche, das Diagramm zu generieren:

Caused by: java.lang.NullPointerException
at org.eclipse.birt.chart.render.Area.renderDataPoints(Area.java:521)
at org.eclipse.birt.chart.render.Line.renderSeries(Line.java:570)
at org.eclipse.birt.chart.render.AxesRenderer.renderPlot(AxesRenderer.java:2181)
at org.eclipse.birt.chart.render.AxesRenderer.render(AxesRenderer.java:314)
at org.eclipse.birt.chart.factory.Generator.render(Generator.java:1368)
... 108 more

Hier ist der neueste (ohne Funktion) Code, den ich versucht habe:

Gradient gradient = FillUtil.createDefaultGradient(BirtReportBuilder.COLOR_WHITE);
gradient.setStartColor(ColorDefinitionImpl.WHITE());
gradient.setEndColor(ColorDefinitionImpl.create(76, 116, 131));
gradient.setDirection(90);
SeriesDefinition sdY = SeriesDefinitionImpl.create();
sdY.getQuery().setDefinition("\"Quantity\"");
Palette pal = PaletteImpl.create(gradient);
pal.shift(0);
sdY.setSeriesPalette(pal);
sdY.getSeries().add(as1);
yAxisPrimary.getSeriesDefinitions().add(sdY);

Was ist also die magische Beschwörung das BIRT Charting-API zu erhalten, mein Gradient als die Fläche füllen zu verwenden?

War es hilfreich?

Lösung

Dieser Code funktioniert für mich, erhalte ich eine hässliche farbige serie ...

sdY.getSeriesPalette().update(GradientImpl.create(ColorDefinitionImpl.create(255,255,255), ColorDefinitionImpl.create(200,0,0,150), 90, false));

Hoffe, es wird Ihnen helfen, p

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top