title: Prevent JFreeChart DialPlot wrapping around with large values?
body: <p>My data value can vary between 0-100. I would like to display a JFreeChart DialPlot showing the range 0-30, where values larger than 30 are displayed by having the needle fixed at 30 but the true value displayed on the dial.</p>
  
  <p>The image below shows what my example code currently produces:</p>
  
  <p><strong>Current Output</strong></p>
  
  <p><img src="https://i.stack.imgur.com/Gjln5.png" alt="dial example"></p>
  
  <p>Here I am displaying the value 50. The dial has wrapped around to point at 14. I would prefer it to be set to the maximum (30), much like with a fuel dial:</p>
  
  <p><strong>Desired Output</strong></p>
  
  <p><img src="https://i.stack.imgur.com/puDNY.png" alt="enter image description here"></p>
  
  <p>Is this possible with JFreeChart? SSCCE code below.</p>
  
  <pre><code>public class DemoChartProblem {
  
    private final DefaultValueDataset dataset = new DefaultValueDataset(50);
    private final JFrame frame = new JFrame();
  
    public static void main(String[] args) throws Exception {
      new DemoChartProblem();
    }
  
    public DemoChartProblem() {
      frame.setPreferredSize(new Dimension(300, 300));
      frame.add(buildDialPlot(0, 30, 5));
      frame.pack();
      frame.setLocationRelativeTo(null);
      frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
  
      SwingUtilities.invokeLater(new Runnable() {
        @Override
        public void run() {
          frame.setVisible(true);
        }
      });
    }
  
    private ChartPanel buildDialPlot(int minimumValue, int maximumValue,
        int majorTickGap) {
  
      DialPlot plot = new DialPlot(dataset);
      plot.setDialFrame(new StandardDialFrame());
      plot.addLayer(new DialValueIndicator(0));
      plot.addLayer(new DialPointer.Pointer());
  
      StandardDialScale scale = new StandardDialScale(minimumValue, maximumValue,
          -120, -300, majorTickGap, majorTickGap - 1);
      scale.setTickRadius(0.88);
      scale.setTickLabelOffset(0.20);
      plot.addScale(0, scale);
  
      return new ChartPanel(new JFreeChart(plot));
    }
  }
  </code></pre>