jfreechart缩放

public class PolarChartDemo1 extends ApplicationFrame {

public PolarChartDemo1(String s) {
   super(s);
   JPanel jpanel = createDemoPanel();
   jpanel.setPreferredSize(new Dimension(600, 500));
   setContentPane(jpanel);
}

private static XYDataset createDataset() {
   XYSeriesCollection xyseriescollection = new XYSeriesCollection();
   XYSeries xyseries = new XYSeries("Series       1 ");
   xyseries.add(0.0D, 2D);
   xyseries.add(90D, 13D);
   xyseries.add(180D, 9D);
   xyseries.add(270D, 8D);
   xyseriescollection.addSeries(xyseries);
   XYSeries xyseries1 = new XYSeries("Series       2 ");
   xyseries1.add(90D, -11.199999999999999D);
   xyseries1.add(180D, 21.399999999999999D);
   xyseries1.add(250D, 17.300000000000001D);
   xyseries1.add(355D, 10.9D);
   xyseriescollection.addSeries(xyseries1);
   return xyseriescollection;
}

private static JFreeChart createChart(XYDataset xydataset) {
   JFreeChart jfreechart = ChartFactory.createPolarChart(
     "Polar       Chart       Demo       1 ", xydataset, true,
     false, false);
   jfreechart.setBackgroundPaint(Color.white);
   PolarPlot polarplot = (PolarPlot) jfreechart.getPlot();
   polarplot.setBackgroundPaint(Color.lightGray);
   polarplot.addCornerTextItem("Corner       Item       1 ");
   polarplot.addCornerTextItem("Corner       Item       2 ");
   polarplot.setBackgroundImageAlignment(PolarPlot.MINIMUM_HEIGHT_TO_DRAW);
   polarplot.setAngleTickUnit(new NumberTickUnit(45));
   // polarplot.setAngleGridlinesVisible(false);

   // 设置雷达颜色
   GradientPaint gradientpaint3 = new GradientPaint(0.0F, 0.0F,
     Color.black, 0.0F, 0.0F, Color.black);
   polarplot.setRadiusGridlinePaint(gradientpaint3);//

   // 两个四边形颜色
   GradientPaint gradientpaint1 = new GradientPaint(0.0F, 0.0F, Color.red,
     0.0F, 0.0F, Color.red); //
   GradientPaint gradientpaint2 = new GradientPaint(0.0F, 0.0F,
     Color.blue, 0.0F, 0.0F, Color.blue); // ���ɫ
   // 设置两个四边形颜色
   DefaultPolarItemRenderer renderer = new DefaultPolarItemRenderer();
   renderer.setSeriesPaint(0, gradientpaint1);
   renderer.setSeriesPaint(1, gradientpaint2);
   polarplot.setRenderer(renderer);

   NumberAxis numberaxis = (NumberAxis) polarplot.getAxis();
   numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
   numberaxis.setAutoRange(true);
   numberaxis.setVisible(false);
   numberaxis.setTickUnit(new NumberTickUnit(2));// 设置雷达网格数量

   return jfreechart;
}

public static JPanel createDemoPanel() {
   final JFreeChart jfreechart = createChart(createDataset());
   ChartPanel chartpanel = new ChartPanel(jfreechart);
   // chartpanel.setMouseZoomable(true);// 是否可以鼠标放大
   //通过鼠标滚轮放大缩小放大,整体都放大缩小,寻找更好方法ing
   chartpanel.addMouseWheelListener(new MouseWheelListener() {

    public void mouseWheelMoved(MouseWheelEvent e) {
     if (-3 == e.getUnitsToScroll()) {
      jfreechart.setPadding(new RectangleInsets(jfreechart
        .getPadding().getTop() - 10, jfreechart
        .getPadding().getBottom() - 10, jfreechart
        .getPadding().getLeft() - 10, jfreechart
        .getPadding().getRight() - 10));
      System.out.println("向上");
     } else if (3 == e.getUnitsToScroll()){
      jfreechart.setPadding(new RectangleInsets(jfreechart
        .getPadding().getTop() + 10, jfreechart
        .getPadding().getBottom() + 10, jfreechart
        .getPadding().getLeft() + 10, jfreechart
        .getPadding().getRight() + 10));
      System.out.println("向下");
     }
    }

   });
   return chartpanel;
}

public static void main(String args[]) {
   PolarChartDemo1 polarchartdemo1 = new PolarChartDemo1(
     "Polar       Chart       Demo ");
   polarchartdemo1.pack();
   RefineryUtilities.centerFrameOnScreen(polarchartdemo1);
   polarchartdemo1.setVisible(true);
}

}

 

//放大部分另一种写法 - -

   chartpanel.addMouseWheelListener(new MouseWheelListener() {
    public void mouseWheelMoved(MouseWheelEvent e) {
     if (-3 == e.getUnitsToScroll()) {
      chartpanel.zoomInBoth(10, 10);
      System.out.println("向上");
     } else if (3 == e.getUnitsToScroll()) {
      chartpanel.zoomOutBoth(10, 10);
      System.out.println("向下");
     }
    }
   });

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要配置JFreeChart,您需要按照以下步骤进行操作: 1. 首先,您需要从JFreeChart的官方网站(http://www.jfree.org/jfreechart/download.html)下载最新版本的JFreeChart。 2. 在下载页面上,您将看到三个选项可供下载:JFreeChart、Documentation和JCommon。如果您只需要使用JFreeChart来生成统计图表,您只需要下载JFreeChart项目的压缩文件即可。如果您需要查看JFreeChart的API文档,您可以下载Documentation。而JCommon是JFreeChart所依赖的类库文件,如果您已经有了这些类库文件,那么可以选择不下载。 3. 下载完JFreeChart之后,您可以将其解压缩到您的项目目录中。 4. 接下来,您需要将JFreeChart的JAR文件添加到您的项目的构建路径中。具体操作方式取决于您使用的开发工具和构建系统。在大多数情况下,您只需将JAR文件拷贝到您的项目的lib目录下,并将其添加到构建路径中即可。 5. 一旦您完成了JFreeChart的配置,您就可以开始使用它来生成统计图表了。根据您的需求,您可以使用JFreeChart来生成各种类型的图表,例如饼图、柱状图、散点图、时序图、甘特图等等。只需按照JFreeChart的API文档提供符合其所需格式的数据,即可自动生成相应的图表。这些图表可以直接输出为图片文件,也可以导出为PDF或Excel文档。 希望这些步骤能够帮助您成功配置和使用JFreeChart来生成统计图表。如果您需要更详细的说明,请参考JFreeChart的官方文档或社区资源。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值