`
simple_hui
  • 浏览: 156875 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
社区版块
存档分类
最新评论

ChartDirector图形控件

阅读更多
    public void createChart(ChartViewer viewer, int index)
    {
    
     // 这是两组数据,X和Y会一一对应生成;多在多纵轴图中使用,横坐标点会自动调整。
        double[] dataY0 = { 4.5, 5};
        Date[] dataX0 = {
        		new GregorianCalendar(1999, 1, 1).getTime(), new GregorianCalendar(2000,
            8, 6).getTime()
           };

        double[] dataY1 = {7, 6.5, 6, 5, 6.5, 7, 6, 5.5, 5,9,8,7,8};
        Date[] dataX1 = {new GregorianCalendar(1999, 1, 1).getTime(),
            new GregorianCalendar(1999, 6, 1).getTime(), new GregorianCalendar(1999,
            11, 1).getTime(), new GregorianCalendar(1999, 11, 15).getTime(),
            new GregorianCalendar(1999, 12, 9).getTime(), new GregorianCalendar(2000,
            2, 3).getTime(), new GregorianCalendar(2000, 7, 13).getTime(),
            new GregorianCalendar(2001, 4, 5).getTime(), new GregorianCalendar(2001,
            8, 16).getTime(), new GregorianCalendar(2001,
                    10, 16).getTime(),new GregorianCalendar(2001,
                            12, 16).getTime(),new GregorianCalendar(2002,
                                    2, 16).getTime(),new GregorianCalendar(2002,
                                            4, 16).getTime()};
      //这是单独的横坐标数据,横坐标会根据数据进行调整,Y轴会按照顺利一一对应。 
        Date[] dataX2 = {
                new GregorianCalendar(1999, 1, 1).getTime(), new GregorianCalendar(1999, 4, 1).getTime(),
                new GregorianCalendar(1999, 8, 9).getTime(), new GregorianCalendar(2000,1, 1).getTime(), 
                new GregorianCalendar(2000, 4, 1).getTime(),new GregorianCalendar(2001, 8, 1).getTime(), 
               };

        //创建图形的大小为 500 x 270 pixels, with a pale blue
        // (e0e0ff) background, black border, 1 pixel 3D border effect and rounded
        XYChart c = new XYChart(700, 500, 0xe0e0ff, 0x000000, 1);
        c.setRoundedFrame();

        // 起点坐标是 (55, 60) ,图形大小是520 x 200 pixels, with white
        c.setPlotArea(55, 60, 500, 300, 0xffffff, -1, -1, 0xcccccc, 0xcccccc);

        // Add a legend box at (55, 32) (top of the chart) with horizontal layout.
        // Use 9 pts Arial Bold font. Set the background and border color to
        // Transparent.
        c.addLegend(55, 32, false, "Arial Bold", 9).setBackground(Chart.Transparent);

        // Add a title box to the chart using 15 pts Times Bold Italic font. The text
        // is white (ffffff) on a deep blue (000088) background, with soft lighting
        // effect from the right side.
        c.addTitle("Long Term Interest Rates", "Times New Roman Bold Italic", 15,
            0xffffff).setBackground(0x000088, -1, Chart.softLighting(Chart.Right));

        // 左边的Y轴
        c.yAxis().setTitle("value").setAlignment(Chart.TopLeft2);
        
        // 右边的Y轴
        c.yAxis2().setTitle("Load\n(Mbps)").setAlignment(Chart.TopRight2);
        c.yAxis2().setColors(0x008000, 0x008000, 0x008000);

        //左边距图形50的Y轴
        Axis leftAxis = c.addAxis(Chart.Left, 50);
        leftAxis.setTitle("Temp\n(C)").setAlignment(Chart.TopLeft2);
        leftAxis.setColors(0x0000cc, 0x0000cc, 0x0000cc);
        
        // 右边距图形50的Y轴
        Axis rightAxis = c.addAxis(Chart.Right, 50);
        rightAxis.setTitle("Error\n(%)").setAlignment(Chart.TopRight2);
        rightAxis.setColors(0xcccccc, 0xffffff, 0xffffff);


        //加载两组数据(XY是一一对应的,同时添加的)
        LineLayer  layer0 = c.addLineLayer(dataY0, 0xff0000, "Country AAA");
        layer0.setXData(dataX0);
        layer0.setLineWidth(1);

        LineLayer layer1 = c.addLineLayer(dataY1, 0x0000ff, "Country BBB");
        layer1.setXData(dataX1);
        layer1.setLineWidth(2);
        layer1.setUseYAxis(leftAxis);
        
        // 横坐标步长
        c.xAxis().setLabelStep(2);
//        // 统一给横坐标设值
//        c.xAxis().setLabels(dataX2);
        
        // 横坐标的标题
        c.xAxis().setTitle("Hour of Day");
     
        // output the chart
        viewer.setImage(c.makeImage());

        //{x|mmm dd, yyyy}横坐标的时间格式化
        viewer.setImageMap(c.getHTMLImageMap("clickable", "",
            "title='{dataSetName} change to {value}% on {x|mmm dd, yyyy}'"));

    }
  public static void main(String[] args)
    {
        //Instantiate an instance of this demo module
        DemoModule demo = new multiaxes();

        //Create and set up the main window
        JFrame frame = new JFrame(demo.toString());
        frame.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {System.exit(0);} });
        frame.getContentPane().setBackground(Color.white);

        // Create the chart and put them in the content pane
        ChartViewer viewer = new ChartViewer();
        demo.createChart(viewer, 0);
        frame.getContentPane().add(viewer);

        // Display the window
        frame.pack();
        frame.setVisible(true);
     
         
    }
分享到:
评论

相关推荐

    ChartDirector绘图控件的.Net代码示例

    ### ChartDirector绘图控件的.Net代码示例 #### 特征描述 ChartDirector是一款功能强大的图表绘制工具,它支持多种编程语言环境,包括.NET框架。本文档将详细介绍ChartDirector在.NET环境中绘制不同类型的图表所需...

    ChartDirector.jar

    ChartDirector 图形报表ChartDirector 图形报表ChartDirector 图形报表ChartDirector 图形报表ChartDirector 图形报表

    chartDirector中文使用文档

    - **数据可视化**:ChartDirector的核心功能是将数据转化为易于理解的图形,如柱状图、折线图、饼图等,帮助用户快速洞察数据背后的模式和趋势。 - **报表**:报表是组织和展示数据的一种方式,通常包括表格、图表...

    ChartDirector

    ChartDirector是一款强大的图表生成库,尤其适用于JAVA开发者。它提供了丰富的图表类型,包括柱状图、线形图、饼图、散点图、热力图等,能够满足各种数据分析和可视化的需求。ChartDirector不仅支持静态图表的生成,...

    支持java,js画图的工具ChartDirector

    ChartDirector是一款强大的图形绘制工具,它为Java和JavaScript开发者提供了丰富的图表制作功能。这款工具以其卓越的性能、直观的API和精美的图表效果而受到广大开发者的青睐。下面将详细介绍ChartDirector在Java和...

    ChartDirector画图测试

    ChartDirector画图测试

    chartdirector for java v7.0完美版

    **ChartDirector for Java V7.0 完美版** ChartDirector是一款强大且全面的商业图表制作工具,专为Java开发者设计。它提供了丰富的图表组件库,使得开发人员能够轻松地在Java应用程序中创建高质量、交互式的图表。...

    功能强大的免费图表控件ChartDirectorForWindows

    **ChartDirector for Windows**是一款功能丰富的图表控件,专为Windows平台设计,提供了一系列高级的图表制作和定制功能。这款控件广泛应用于数据分析、报表创建、数据可视化等场景,能够帮助开发者快速集成高质量的...

    chartdirector for C++ 64位。

    ChartDirector是一款强大的图表生成库,特别为C++开发者设计,以提供64位系统的支持。...通过学习和掌握它的API和使用方法,开发者能够快速地将复杂的数据显示为易于理解的图形,提升应用的用户体验。

    chartdirector for c++ 破解

    chartdirector for c++ 破解 去除未注册版底下黄色未注册信息条

    ChartDirector 6.0.rar

    ChartDirector 6.0作为其最新版本,带来了诸多增强和改进,包括对32位和64位操作系统的全面支持,以满足不同用户的需求。 1. **多语言支持**:ChartDirector的优势之一在于它的跨平台性和多语言兼容性。无论你是...

    ChartDirector 官方war包

    ChartDirector 官方war包 ChartDirector 官方war包 ChartDirector 官方war包 ChartDirector 官方war包 ChartDirector 官方war包 ChartDirector 官方war包

    ChartDirector开发文档和例子

    3. 图表质量:ChartDirector生成的图表具有高分辨率,且支持PDF、EPS、SVG等矢量图形格式,适合打印和高清晰度显示。 4. 动态交互:支持图表的动态交互,如点击事件、数据提示等,增强了用户体验。 三、开发文档 ...

    ChartDirector for java 5.0注册码

    标题中的“ChartDirector for Java 5.0注册码”指的是ChartDirector这个图形库的一个特定版本——5.0,用于Java平台。ChartDirector是一款强大的图表组件,它为开发者提供了丰富的图表类型和高度定制的能力,帮助...

    chartdirector 5.1

    ChartDirector 5.1 for .NET 是一个专为.NET开发者设计的强大图表库,它提供了丰富的图形绘制功能,帮助程序员在应用程序中轻松创建高质量、交互式的图表。ChartDirector 5.1 版本针对.NET Framework进行了优化,...

    chartdirector5中文文档.rar

    ChartDirector 5是一款强大的图表库,专为程序员设计,用于在各种应用程序中创建高质量的2D和3D图表。这个中文文档集包含了详尽的指南和教程,帮助开发者充分利用ChartDirector的功能。以下是对ChartDirector 5中文...

Global site tag (gtag.js) - Google Analytics