2011-07-06 46 views
0

私はJfreechartを使ってx-y軸を描画しています。このx-y軸に矩形と円を描きたいと思います。どのように可能か知っていますか? x-y軸とその形を描くためのより良い方法はありますか(jfreechartではなく)ですか?jfreechartで図形を描画する

+0

グラフ上で何かを強調表示していますか? – trashgod

+0

グラフ上に円と矩形を描きたい。私はどうすればいいのですか? – SunyGirl

+0

ポイントが円と2次元の正方形を形成するデータセットを作成することを意味しますか? – trashgod

答えて

0

アノテーション機能を使用して、XYチャートチャートに円やその他のアイテムを描画します。円を追加するには、例えば "addAnnotation(XYShapeAnnotation(new Ellipse2D.Double(...)))"を使用します。例の方法は次のとおりです。

public void markChartAt2(float fromX, float fromY, float toX, float toY, markType markerTyp, Color lineColor, String toolTip) { 
    XYLineAnnotation lineAnnotation; 
    XYShapeAnnotation shapeAnnotation; 
    if (lineColor == null) 
     lineColor = Color.black; 
    maxY = yAxis.getUpperBound(); 
    minY = yAxis.getLowerBound(); 
    yFactor = (maxY - minY) * .005d; 
    maxX = xAxis.getUpperBound(); 
    minX = xAxis.getLowerBound(); 
    xFactor = (maxX - minX) * .0005d;  
    switch (markerTyp){ 
    case CIRCLE: 
     shapeAnnotation = new XYShapeAnnotation(
       new Ellipse2D.Double(fromX - xFactor, fromY - yFactor, xFactor+xFactor, yFactor+yFactor), 
       markerLineWidth, lineColor) ; 
     shapeAnnotation.setToolTipText(toolTip); 
     priceXYPlot.addAnnotation(shapeAnnotation); 
     break; 
    case SQUARE: 
     shapeAnnotation = new XYShapeAnnotation(
       new Rectangle2D.Double(fromX - xFactor, fromY - yFactor, xFactor+xFactor, yFactor+yFactor), 
       markerLineWidth, lineColor); 
     shapeAnnotation.setToolTipText(toolTip); 
     priceXYPlot.addAnnotation(shapeAnnotation); 
     break; 
    } 
} 
+0

OPの問題を解決する方法を説明するコード例に説明を追加する必要があります。 – moggi

+0

addAnnotation()メソッドで矩形または円を描く方法を説明するために私の答えが更新されました –

関連する問題