【问题标题】:In MeterPlot, how to hide the value which appears at bottom在 MeterPlot 中,如何隐藏出现在底部的值
【发布时间】:2021-06-09 15:37:20
【问题描述】:

我想知道是否有任何方法或方法可以在 Java 中使用 JFreeChart 隐藏或禁用 MeterPlot 中的值。这是example的截图,黄色圈出来的值。

【问题讨论】:

标签: java jfreechart


【解决方案1】:

here 所示,一种方法是使用空的units 字符串指定零大小字体:

meterplot.setValueFont(new Font(Font.SERIF, Font.PLAIN, 0));
meterplot.setUnits("");

或者,子类MeterPlot,然后是

  • 覆盖 drawValueLabel() 以省略渲染:

      MeterPlot meterplot = new MeterPlot(valuedataset){
          @Override
          protected void drawValueLabel(Graphics2D g2, Rectangle2D area) {
          }
      };
    
  • 添加valueVisible等属性,有条件地绘制;添加修改器,根据需要调用fireChangeEvent()

      private class MyMeterPlot extends MeterPlot {
    
          private boolean valueVisible;
    
          public MyMeterPlot(ValueDataset dataset) {
              super(dataset);
          }
    
          @Override
          protected void drawValueLabel(Graphics2D g2, Rectangle2D area) {
              if (valueVisible) {
                  super.drawValueLabel(g2, area);
              }
          }
    
          public void setValueVisible(boolean valueVisible) {
              this.valueVisible = valueVisible;
              fireChangeEvent();
          }
    
          public boolean isValueVisible() {
              return valueVisible;
          }
      }
    

作为参考,支持值可见性的更改已添加到版本 2.0 here 并向后移植到即将发布的版本 1.5.4 here

【讨论】:

  • 优秀。今后,您可以通过点击左侧的empty check mark 来接受此答案。
猜你喜欢
  • 1970-01-01
  • 2012-07-25
  • 2021-02-14
  • 2023-03-16
  • 1970-01-01
  • 2021-07-30
  • 2019-06-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多