java - 获得不同系列具有相同的颜色

标签 java swing user-interface jfreechart

我有两个属于同一数据集的 XYSeries。第一个系列必须仅显示形状,而第二个系列必须仅显示线条。两者必须具有相同的颜色。有办法做到吗?

提供一段代码以更好地理解:

XYSeries series = new XYSeries("S1", false); // autosort disabled
    for(int i = 0; i < xValues.length; ++i)
        series.add(xValues[i], yValues[i]);

    XYSeries series1 = new XYSeries("S2", false);
    for(int i = 0; i < xValues.length; ++i)
        series1.add(yValues[i], xValues[i]);

    XYSeriesCollection dataset = new XYSeriesCollection();

    dataset.addSeries(series);

    dataset.addSeries(series1);

    // create a chart with title, axis labels, tooltips and maybe a legend
    JFreeChart chart = ChartFactory.createScatterPlot(title, xLabel, yLabel, dataset, 
            PlotOrientation.VERTICAL, legend, true, false);

    XYPlot plot = (XYPlot) chart.getPlot();
    XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) plot.getRenderer();

    renderer.setSeriesLinesVisible(0, true);
    renderer.setSeriesShapesVisible(1, false);
    renderer.setSeriesLinesVisible(1, true);

最佳答案

基于此example ,我编辑了以下几行以获得下面的图像。

XYLineAndShapeRenderer renderer = (XYLineAndShapeRenderer) xyPlot.getRenderer();
renderer.setSeriesLinesVisible(1, true);
renderer.setSeriesShapesVisible(1, false);
renderer.setSeriesPaint(1, Color.blue);

附录:要获取匹配颜色对,您可以重写 getItemPaint(),如下所示 herehere .

enter image description here

关于java - 获得不同系列具有相同的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9763734/

相关文章:

java - 如何将 logback-access 与 Tomcat 5.5 结合使用?

java - 值得信赖的开发人员撰写有关 Java 和 .NET 的文章?

java - 在java中停止输入JTextField后如何启动一个函数

Java用户界面: add simple chart

user-interface - 如何配置node-mysql?

Java.util.Calendar - 自 1970 年 1 月 1 日以来的毫秒数

java - JTabbedPane 无法正常工作

java - JFrame 中自动建议的组合框

python - 时间间隔选择的最佳界面范例?

java - "No owner type for enclosed interface"guice 错误是什么意思?