Java XylineandShaperEnder如何将数据集与图形连接起来?
这是一个例子;它按如下方式设置渲染:Java XylineandShaperEnder如何将数据集与图形连接起来?,java,jfreechart,Java,Jfreechart,这是一个例子;它按如下方式设置渲染: final XYPlot plot = xylineChart.getXYPlot( ); XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer( ); renderer.setSeriesPaint( 0 , Color.RED ); renderer.setSeriesPaint( 1 , Color.GREEN ); renderer.setSeriesPaint( 2 , Color
final XYPlot plot = xylineChart.getXYPlot( );
XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer( );
renderer.setSeriesPaint( 0 , Color.RED );
renderer.setSeriesPaint( 1 , Color.GREEN );
renderer.setSeriesPaint( 2 , Color.YELLOW );
renderer.setSeriesStroke( 0 , new BasicStroke( 4.0f ) );
renderer.setSeriesStroke( 1 , new BasicStroke( 3.0f ) );
renderer.setSeriesStroke( 2 , new BasicStroke( 2.0f ) );
plot.setRenderer( renderer );
final XYSeries firefox = new XYSeries( "Firefox" );
firefox.add( 1.0 , 1.0 );
firefox.add( 2.0 , 4.0 );
firefox.add( 3.0 , 3.0 );
final XYSeries chrome = new XYSeries( "Chrome" );
chrome.add( 1.0 , 4.0 );
chrome.add( 2.0 , 5.0 );
chrome.add( 3.0 , 6.0 );
final XYSeries iexplorer = new XYSeries( "InternetExplorer" );
iexplorer.add( 3.0 , 4.0 );
iexplorer.add( 4.0 , 5.0 );
iexplorer.add( 5.0 , 4.0 );
final XYSeriesCollection dataset = new XYSeriesCollection( );
dataset.addSeries( firefox );
dataset.addSeries( chrome );
dataset.addSeries( iexplorer );
数据集如下所示:
final XYPlot plot = xylineChart.getXYPlot( );
XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer( );
renderer.setSeriesPaint( 0 , Color.RED );
renderer.setSeriesPaint( 1 , Color.GREEN );
renderer.setSeriesPaint( 2 , Color.YELLOW );
renderer.setSeriesStroke( 0 , new BasicStroke( 4.0f ) );
renderer.setSeriesStroke( 1 , new BasicStroke( 3.0f ) );
renderer.setSeriesStroke( 2 , new BasicStroke( 2.0f ) );
plot.setRenderer( renderer );
final XYSeries firefox = new XYSeries( "Firefox" );
firefox.add( 1.0 , 1.0 );
firefox.add( 2.0 , 4.0 );
firefox.add( 3.0 , 3.0 );
final XYSeries chrome = new XYSeries( "Chrome" );
chrome.add( 1.0 , 4.0 );
chrome.add( 2.0 , 5.0 );
chrome.add( 3.0 , 6.0 );
final XYSeries iexplorer = new XYSeries( "InternetExplorer" );
iexplorer.add( 3.0 , 4.0 );
iexplorer.add( 4.0 , 5.0 );
iexplorer.add( 5.0 , 4.0 );
final XYSeriesCollection dataset = new XYSeriesCollection( );
dataset.addSeries( firefox );
dataset.addSeries( chrome );
dataset.addSeries( iexplorer );
结果是这样的:
我看不到任何代码为每个数据系列提供一个唯一的图形,但结果给出了之前图形集设置的三种数据,例如firefox是红色的,chrome是绿色的
图形是否按顺序分配?
如果是,如果我向数据集添加另一个数据,将为其指定哪种颜色
如果没有,如何将图形与数据连接起来?如果我想让firefox变成绿色和铬红色呢
多谢各位 图表是否按顺序分配 “使用
XYItemRenderer
绘制绘图上的每个点”。这包括绘图的XYDataset
中所有系列中的所有点。您的示例数据集包括三个系列,每个系列有三个点;此外,序列中的每个点都由一条线连接,如图所示。默认情况下,XYSeries
中的顺序是按顺序排序的,如图所示
如果是,如果我向数据集添加另一个数据,将为其指定哪种颜色?如果没有,如何将图形与数据连接起来?如果我想让firefox变成绿色和铬红色呢
如果没有显式调用setSeriesPaint()
,则下一种颜色由绘图的绘图供应商提供,讨论如下。选择可能受您的用例的影响:例如,如果图表的绘图和图例应以特定方式匹配,则定制绘图供应商
,如图和所示
非常感谢!