Charts 如何制作堆叠条形图的边?

Charts 如何制作堆叠条形图的边?,charts,jfreechart,stacked-area-chart,Charts,Jfreechart,Stacked Area Chart,生成序列上的边很简单,但是关于如何生成图2中所示的图形,我没有找到任何示例。下面显示的代码生成图1所示的图形。我想找到一种方法来获得如图2所示的结果 你们中的一些人有过这种需要吗?有没有一种简单的方法可以得到结果 多谢各位 private static CategoryDataset createDataset() { DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();

生成序列上的边很简单,但是关于如何生成图2中所示的图形,我没有找到任何示例。下面显示的代码生成图1所示的图形。我想找到一种方法来获得如图2所示的结果

你们中的一些人有过这种需要吗?有没有一种简单的方法可以得到结果

多谢各位

    private static CategoryDataset createDataset()
{
    DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
    defaultcategorydataset.addValue(10D, "Series 1", "Jan");
    defaultcategorydataset.addValue(12D, "Series 1", "Feb");
    defaultcategorydataset.addValue(13D, "Series 1", "Mar");
    defaultcategorydataset.addValue(4D, "Series 2", "Jan");
    defaultcategorydataset.addValue(3D, "Series 2", "Feb");
    defaultcategorydataset.addValue(2D, "Series 2", "Mar");
    defaultcategorydataset.addValue(2D, "Series 3", "Jan");
    defaultcategorydataset.addValue(3D, "Series 3", "Feb");
    defaultcategorydataset.addValue(2D, "Series 3", "Mar");
    defaultcategorydataset.addValue(2D, "Series 4", "Jan");
    defaultcategorydataset.addValue(3D, "Series 4", "Feb");
    defaultcategorydataset.addValue(4D, "Series 4", "Mar");
    return defaultcategorydataset;
}

private static JFreeChart createChart(CategoryDataset categorydataset)
{
    JFreeChart jfreechart = ChartFactory.createStackedBarChart("Stacked Bar Chart Demo 3", "Category", "Value", categorydataset, PlotOrientation.VERTICAL, true, false, false);
    CategoryPlot categoryplot = (CategoryPlot)jfreechart.getPlot();
    ExtendedStackedBarRenderer extendedstackedbarrenderer = new ExtendedStackedBarRenderer();
    extendedstackedbarrenderer.setBaseItemLabelsVisible(true);
    extendedstackedbarrenderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
    extendedstackedbarrenderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator());
    categoryplot.setRenderer(extendedstackedbarrenderer);
    NumberAxis numberaxis = (NumberAxis)categoryplot.getRangeAxis();
    numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    numberaxis.setLowerMargin(0.14999999999999999D);
    numberaxis.setUpperMargin(0.14999999999999999D);
    numberaxis.setNumberFormatOverride(NumberFormat.getPercentInstance());
    ChartUtilities.applyCurrentTheme(jfreechart);
    return jfreechart;
}


您可以使用
设置路线(true)
,如图所示。使用轮廓斯托克和油漆来改变厚度和颜色。

已经这样做了。但我希望每个条的边缘都有不同的颜色,并设置为特定的,如示例所示。谢谢您的回复。请编辑您的问题以包含此事实;还添加一个显示当前方法的示例,包括示例数据、所选渲染器和绘制/笔划覆盖。我希望很明显,结果不会达到。Thx.你的例子不完整;请阅读我第一次评论中引用的内容。特别是,
extendedstackedblunderer
没有显示,也不清楚您是如何重写
getItemOutlinePaint()
getItemOutlineStroke()
,正如API中建议的那样。您好,垃圾桶,示例来自演示包JFreeChart。似乎不适合同时包含扩展了StackedBallender类的ExtendedStackedBallenderer类。在我看来,我的目标是明确的,你明白我的目标是什么吗?如果您还可以输入类代码extendedstackedblunderer,但我认为这只会造成混乱。你同意吗?交叉邮寄。