我想在散点图上绘制一些数据:x
针对y
系列中每个点具有 apoint size
和 a 的位置color
。这可能吗?
例如说
int[] x = {1,2,3,4,5};
int[] y = {2,4,6,8,10};
int[] pointSize = {10,20,40,15,25}; //pixels
Color[] colors = {rgb1,rgb2,rgb3,rgb4,rgb5};
我对 JFree 很陌生,所以如果您可以发布一些完美的示例代码:D
我想在散点图上绘制一些数据:x
针对y
系列中每个点具有 apoint size
和 a 的位置color
。这可能吗?
例如说
int[] x = {1,2,3,4,5};
int[] y = {2,4,6,8,10};
int[] pointSize = {10,20,40,15,25}; //pixels
Color[] colors = {rgb1,rgb2,rgb3,rgb4,rgb5};
我对 JFree 很陌生,所以如果您可以发布一些完美的示例代码:D
您可以覆盖XYShapeRenderer#XYShapeRenderer
和XYShapeRenderer#getItemShape
final Shape[] pointSize = {createCircle(10),createCircle(20),createCircle(40),createCircle(15),createCircle(25)}; //pixels
final Color[] colors = {Color.red,Color.yellow,Color.pink,Color.blue,Color.cyan};
plot.setRenderer(new XYShapeRenderer() {
@Override
public Paint getItemPaint(int row, int column) {
try {
return colors[column];
} catch (Exception e) {
return colors[0];
}
}
@Override
public Shape getItemShape(int row, int column) {
try {
return pointSize[column];
} catch (Exception e) {
return pointSize[0];
}
}
});
我正在使用辅助函数来创建点:
private static Shape CreateCircle(double size){
return new Ellipse2D.Double(-size/2,-size/2,size,size);
}
这将创建一个这样的图表:
您还可以使用气泡图获得类似的结果
这张图片来自 JFreeChart 文档