2011-07-17 7 views
0

에 대한 색상 :jChart2D - 다음 코드를 감안할 때 TracePoint2D

chart = new Chart2D(); 
    trace = new Trace2DSimple(); 
    trace.setTracePainter(new TracePainterVerticalBar(chart)); 
    chart.addTrace(trace);  
    // default tracepainter color is Black 

    TracePoint2D first = new TracePoint2D(0, 1); 
    TracePoint2D second = new TracePoint2D(1, 10); 
    TracePoint2D third = new TracePoint2D(2, 20); 

    PointPainterVerticalBar red = new PointPainterVerticalBar(10,chart); 
    red.setColor(Color.red); 

    PointPainterVerticalBar green = new PointPainterVerticalBar(10,chart); 
    green.setColor(Color.green); 

    PointPainterVerticalBar blue = new PointPainterVerticalBar(10,chart); 
    blue.setColor(Color.blue); 


    first.addAdditionalPointPainter(red); 
    second.addAdditionalPointPainter(green); 
    third.addAdditionalPointPainter(blue); 

    trace.addPoint(first); 
    trace.addPoint(second); 
    trace.addPoint(third); 

당신은 내가 차트에 다른 색상으로 세 가지 다른 추적 점을 얻기 위해 노력하고 있지만, 어떻게 든 그들은 모두 검은 색을 유지 볼 수 있듯이. 어떤 아이디어?

답변

1

Trace 및 PointPainter를 구현하는 것만으로도 완벽하게 구현할 수 있습니다.

public TracePainterBlank(final int barWidth, final Chart2D chart) { 
    this.m_pointPainter = new PointPainterBlank(barWidth, chart); 
} 

는 그 다음 PointPainer에서 당신이 tracepainter.setColor(Color.whatever) 설정과 실제 그래픽에 적용 할 색상에 대한 명시 적 : 새로운 TracePainter 내 하면 새로운 PointPainter를 사용하도록 지시

public void paintPoint(final int absoluteX, final int absoluteY, final int nextX, 
    final int nextY, final Graphics g, final ITracePoint2D original) { 
    g.setColor(this.getColor()); 
    g.fillRect(absoluteX - this.m_halfWidth, absoluteY, 2 * this.m_halfWidth, this.m_chart 
    .getYChartStart() 
    - absoluteY); 
} 

을 그 별도로 각 TracePoint의 색상을 지정할 수 있습니다.

0

jChart2D를 사용하면 개별 점의 색상이 아닌 "추적"에 대해서만 색상을 설정할 수 있다고 생각합니다.

0

빨간색으로 3 번만 색을 지정하면 코드가 버그가 있습니다.

하지만 글쓰기가 검은 색이어서 버그가 있습니다 (코드가 최근에 변경되었습니다). 그렇다면 sourceforge에 버그를 게시하는 것을 고려하십시오.

HTH, 아킴

+0

덕분에, 나는 그것을 수정 -하지만 난 다른 TracePainter를 구현하여이 주위에 방법을 발견 – krichard

관련 문제