首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TracePoint2D的jChart2D -颜色

TracePoint2D的jChart2D -颜色
EN

Stack Overflow用户
提问于 2011-07-18 00:37:26
回答 3查看 455关注 0票数 0

给定以下代码:

代码语言:javascript
复制
    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);

正如您所看到的,我试图将三种不同颜色的TracePoints添加到图表中,但不知何故,它们都保持为黑色。有什么想法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-18 15:43:09

这是完全可能的,只要实现你自己的Trace-和PointPainter。在新的TracePainter中,告诉它使用新的PointPainter:

代码语言:javascript
复制
public TracePainterBlank(final int barWidth, final Chart2D chart) {
   this.m_pointPainter = new PointPainterBlank(barWidth, chart);
}

然后在PointPainer中,明确使用tracepainter.setColor(Color.whatever)设置的颜色,并将其应用于实际的图形:

代码语言:javascript
复制
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着色。

票数 1
EN

Stack Overflow用户

发布于 2011-07-18 02:56:19

我认为在jChart2D中,你只能设置一个“轨迹”的颜色,而不能设置单个点的颜色。

票数 0
EN

Stack Overflow用户

发布于 2011-07-19 01:09:03

您的代码有buggy,因为您只将颜色设置为红色三次。

但是当你写的时候它仍然是黑色的,我担心有一个bug (代码最近被改变了)。因此,如果是这样的话,可以考虑在sourceforge上发布一个bug。

HTH,Achim

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6725255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档