JFreeChart单数据点不显示问题求助:折线图仅单条数据无点展示
JFreeChart单数据点不显示的解决办法
问题根源
JFreeChart的折线图默认使用LineAndShapeRenderer渲染,当只有单个数据点时,因为没有折线可绘制,渲染器会默认隐藏数据点的形状,导致看不到这个点。
修复步骤
在你的代码中,修改渲染器的设置,强制显示数据点:
// 替换原有的renderer相关代码 LineAndShapeRenderer renderer = (LineAndShapeRenderer) p.getRenderer(); renderer.setSeriesStroke(0, new BasicStroke(5)); renderer.setSeriesShapesVisible(0, true); // 开启第一个系列的数据点显示 renderer.setSeriesShapesFilled(0, true); // 填充数据点,让它更显眼(可选)
额外提示
- 如果图表包含多个数据系列,想要所有系列都显示单数据点,可以使用
renderer.setDefaultShapesVisible(true)和renderer.setDefaultShapesFilled(true)。 - 从你的代码逻辑来看,当数据库返回1条数据时,循环会执行一次
addValue,数据集的添加是正常的,无需调整这部分逻辑。
内容的提问来源于stack exchange,提问作者OcR19
相关产品推荐
相关产品推荐

