Ich würde gerne die Linienstärke in meinem Chart ändern. Nomalerweise ist dies mit
möglich, aber dies gilt meines Wissen nur wenn es sich um einen "XYLineAndShapeRenderer" handelt.
In meinem Beispiel verwende ich ein Balken und zwei Linine Diagramme parallel, da kann ich diesen Renderer nicht einbinden.
Hier mein Code:
Code:
plot.getRenderer().setSeriesStroke(0, new BasicStroke(3));
In meinem Beispiel verwende ich ein Balken und zwei Linine Diagramme parallel, da kann ich diesen Renderer nicht einbinden.
Hier mein Code:
Java:
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.StandardChartTheme;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.block.BlockBorder;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.DatasetRenderingOrder;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.chart.renderer.category.LineAndShapeRenderer;
import org.jfree.chart.renderer.category.StandardBarPainter;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
public class LineBarOverlaid extends ApplicationFrame {
/**
* Serial version UID
*/
private static final long serialVersionUID = 1L;
public LineBarOverlaid(final String title) {
super(title);
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(90, "Rückmeldungen", "Di, 2009-07-21");
dataset.addValue(75, "Rückmeldungen", "Mi, 2009-07-22");
dataset.addValue(74, "Rückmeldungen", "Do, 2009-07-23");
dataset.addValue(0, "Rückmeldungen", "Fr, 2009-07-24");
dataset.addValue(0, "Rückmeldungen", "Sa, 2009-07-25");
dataset.addValue(0, "Rückmeldungen", "So, 2009-07-26");
dataset.addValue(3, "Rückmeldungen", "Mo, 2009-07-27");
dataset.addValue(5, "Rückmeldungen", "Di, 2009-07-28");
dataset.addValue(0, "Rückmeldungen", "Mi, 2009-07-29");
dataset.addValue(0, "Rückmeldungen", "Do, 2009-07-30");
dataset.addValue(0, "Rückmeldungen", "Fr, 2009-07-31");
dataset.addValue(0, "Rückmeldungen", "Sa, 2009-08-01");
dataset.addValue(0, "Rückmeldungen", "So, 2009-08-02");
dataset.addValue(0, "Rückmeldungen", "Mo, 2009-08-03");
dataset.addValue(0, "Rückmeldungen", "Di, 2009-08-04");
dataset.addValue(0, "Rückmeldungen", "Mi, 2009-08-05");
dataset.addValue(0, "Rückmeldungen", "Do, 2009-08-06");
dataset.addValue(0, "Rückmeldungen", "Fr, 2009-08-07");
dataset.addValue(0, "Rückmeldungen", "Sa, 2009-08-08");
dataset.addValue(0, "Rückmeldungen", "So, 2009-08-09");
dataset.addValue(38, "Rückmeldungen", "Mo, 2009-08-10");
final BarRenderer renderer = new BarRenderer();
renderer.setMaximumBarWidth(0.01);
renderer.setItemLabelsVisible(true);
renderer.setSeriesPaint(0, new Color(0, 141, 188));
renderer.setDrawBarOutline(true);
final CategoryPlot plot = new CategoryPlot();
plot.setDataset(dataset);
plot.setRenderer(renderer);
renderer.setBarPainter(new StandardBarPainter());
renderer.setShadowVisible(false);
plot.setDomainAxis(new CategoryAxis("Datum"));
plot.setRangeAxis(new NumberAxis("Stunden"));
plot.setOrientation(PlotOrientation.VERTICAL);
plot.setRangeGridlinesVisible(false);
plot.setDomainGridlinesVisible(false);
plot.setOutlineVisible(false);
DefaultCategoryDataset dataset2 = new DefaultCategoryDataset();
dataset2.addValue(28, "Durchschnitt", "Di, 2009-07-21");
dataset2.addValue(28, "Durchschnitt", "Mi, 2009-07-22");
dataset2.addValue(28, "Durchschnitt", "Do, 2009-07-23");
dataset2.addValue(28, "Durchschnitt", "Fr, 2009-07-24");
dataset2.addValue(28, "Durchschnitt", "Sa, 2009-07-25");
dataset2.addValue(28, "Durchschnitt", "So, 2009-07-26");
dataset2.addValue(28, "Durchschnitt", "Mo, 2009-07-27");
dataset2.addValue(28, "Durchschnitt", "Di, 2009-07-28");
dataset2.addValue(28, "Durchschnitt", "Mi, 2009-07-29");
dataset2.addValue(28, "Durchschnitt", "Do, 2009-07-30");
dataset2.addValue(28, "Durchschnitt", "Fr, 2009-07-31");
dataset2.addValue(28, "Durchschnitt", "Sa, 2009-08-01");
dataset2.addValue(28, "Durchschnitt", "So, 2009-08-02");
dataset2.addValue(28, "Durchschnitt", "Mo, 2009-08-03");
dataset2.addValue(28, "Durchschnitt", "Di, 2009-08-04");
dataset2.addValue(28, "Durchschnitt", "Mi, 2009-08-05");
dataset2.addValue(28, "Durchschnitt", "Do, 2009-08-06");
dataset2.addValue(28, "Durchschnitt", "Fr, 2009-08-07");
dataset2.addValue(28, "Durchschnitt", "Sa, 2009-08-08");
dataset2.addValue(28, "Durchschnitt", "So, 2009-08-09");
dataset2.addValue(28, "Durchschnitt", "Mo, 2009-08-10");
DefaultCategoryDataset dataset3 = new DefaultCategoryDataset();
dataset3.addValue(60, "Plankapazität", "Di, 2009-07-21");
dataset3.addValue(60, "Plankapazität", "Mi, 2009-07-22");
dataset3.addValue(60, "Plankapazität", "Do, 2009-07-23");
dataset3.addValue(60, "Plankapazität", "Fr, 2009-07-24");
dataset3.addValue(0, "Plankapazität", "Sa, 2009-07-25");
dataset3.addValue(0, "Plankapazität", "So, 2009-07-26");
dataset3.addValue(60, "Plankapazität", "Mo, 2009-07-27");
dataset3.addValue(60, "Plankapazität", "Di, 2009-07-28");
dataset3.addValue(60, "Plankapazität", "Mi, 2009-07-29");
dataset3.addValue(60, "Plankapazität", "Do, 2009-07-30");
dataset3.addValue(60, "Plankapazität", "Fr, 2009-07-31");
dataset3.addValue(0, "Plankapazität", "Sa, 2009-08-01");
dataset3.addValue(0, "Plankapazität", "So, 2009-08-02");
dataset3.addValue(60, "Plankapazität", "Mo, 2009-08-03");
dataset3.addValue(60, "Plankapazität", "Di, 2009-08-04");
dataset3.addValue(60, "Plankapazität", "Mi, 2009-08-05");
dataset3.addValue(60, "Plankapazität", "Do, 2009-08-06");
dataset3.addValue(60, "Plankapazität", "Fr, 2009-08-07");
dataset3.addValue(0, "Plankapazität", "Sa, 2009-08-08");
dataset3.addValue(0, "Plankapazität", "So, 2009-08-09");
dataset3.addValue(60, "Plankapazität", "Mo, 2009-08-10");
final LineAndShapeRenderer renderer2 = new LineAndShapeRenderer();
renderer2.setSeriesPaint(1, Color.green);
renderer2.setShapesVisible(false);
plot.setDataset(1, dataset2);
plot.setRenderer(1, renderer2);
// plot.getRenderer().setSeriesStroke(2, new BasicStroke(1.5F));
// renderer2.setSeriesStroke(1, new BasicStroke(3));
plot.setDataset(2, dataset3);
final LineAndShapeRenderer renderer3 = new LineAndShapeRenderer();
plot.setRenderer(2, renderer3);
renderer3.setShapesVisible(false);
plot.setDatasetRenderingOrder(DatasetRenderingOrder.FORWARD);
plot.getDomainAxis().setCategoryLabelPositions(CategoryLabelPositions.UP_90);
plot.getRangeAxis().setRange(0, 100);
final JFreeChart chart = new JFreeChart("", new Font("Tahoma", Font.BOLD, 12), plot, true);
chart.setTitle("Titel");
chart.getLegend().setFrame(BlockBorder.NONE);
final ChartPanel chartPanel = new ChartPanel(chart);
chartPanel.setPreferredSize(new Dimension(1000, 450));
setContentPane(chartPanel);
chartPanel.setRangeZoomable(false);
chart.setBackgroundPaint(Color.WHITE);
}
public static void main(String args[]) {
final LineBarOverlaid overlaid = new LineBarOverlaid("Line- and Barchart overlaid");
overlaid.pack();
RefineryUtilities.centerFrameOnScreen(overlaid);
overlaid.setVisible(true);
}
}