You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JFreeChart中添加到XYPlot的XYTextAnnotation不显示问题求助

问题原因
  • 核心错误为XYTextAnnotation构造参数的坐标传反,且参数值超出坐标轴可视范围:
    1. XYTextAnnotation构造方法的参数顺序为(注释文本, X轴坐标值, Y轴坐标值),你当前代码写的是new XYTextAnnotation("Annotation text here", 50, 1024),传入的X值为50、Y值为1024
    2. 你的X轴是频率轴,数据集最小X值为250,X轴默认适配数据集范围,可视区间最小值约为250,50不在可视区域内;Y轴是分贝轴,手动设置的范围为-10~120,1024远超出Y轴最大值,完全在画布可视区域外,因此注释无法显示。
  • 你设置的plot.addAnnotation(label, true)参数正确,true表示注释渲染在图层前台,不会被数据集线条遮挡,无需修改。
解决方法
  1. 修正坐标参数顺序和取值,将注释放在坐标轴可视范围内即可。比如你想在X=1024(频率)、Y=50(分贝)的位置显示注释,修改代码为:
XYTextAnnotation label = new XYTextAnnotation("Annotation text here", 1024, 50);
  1. 如果你确实需要在更小的X值位置显示注释,可以手动设置X轴的显示范围:
// 示例:设置X轴显示范围为100~9000,兼容更小的频率值
xAxis.setRange(100, 9000);
  1. 可选优化:如果担心注释颜色和背景重合导致看不见,可以手动设置注释的字体、颜色样式:
label.setFont(new Font("宋体", Font.BOLD, 12));
label.setPaint(Color.RED);

内容的提问来源于stack exchange,提问作者StealIsAStrongWord

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 19:30:02