Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java XylineandShaperEnder如何将数据集与图形连接起来?_Java_Jfreechart - Fatal编程技术网

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()
,则下一种颜色由绘图的
绘图供应商提供,讨论如下。选择可能受您的用例的影响:例如,如果图表的绘图和图例应以特定方式匹配,则定制
绘图供应商
,如图和所示


非常感谢!