相关疑难解决方法(0)

JFreeChart - 将图表行的SeriesStroke从实线更改为虚线

这里接受的答案是什么(JFreechart(Java) - 如何绘制部分虚线和部分实线的线条?)帮助我开始在我的图表上更改我的seriesstroke线.单步执行我的代码并观察更改后,我发现我的seriesstroke实际上确实改为"dashedStroke"(当某个日期之后为"dashedAfter"),但是当渲染图表时整个系列行都是虚线.如何将一系列线条首先绘制为实线并在设定日期后绘制为虚线?

/* series line modifications */
final Number dashedAfter = timeNowDate.getTime();

XYLineAndShapeRenderer render = new XYLineAndShapeRenderer() {
  Stroke regularStroke = new BasicStroke();
  Stroke dashedStroke = new BasicStroke(
                            1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND,
                            1.0f, new float[] {10.0f, 6.0f}, 0.0f );
  @Override
  public Stroke getItemStroke(int row, int column) {
    Number xVal = cd.getXValue(row, column);
    if (xVal.doubleValue() > dashedAfter.doubleValue()) { 
      return dashedStroke; 
    } else { 
      return regularStroke; 
    }
  }
};
render.setBaseShapesVisible(false);
render.setBaseShapesFilled(true);
render.setDrawSeriesLineAsPath(true);
plot.setRenderer(render);
Run Code Online (Sandbox Code Playgroud)

java charts time-series jfreechart timeserieschart

8
推荐指数
1
解决办法
2万
查看次数

标签 统计

charts ×1

java ×1

jfreechart ×1

time-series ×1

timeserieschart ×1