博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jcharts画线图,饼图和柱状图
阅读量:4077 次
发布时间:2019-05-25

本文共 4691 字,大约阅读时间需要 15 分钟。

正在做的一个分析软件中用到了图表展现,网上搜了一下,决定使用jchats,下面是一个简单的jcharts使用的例子(需要jar包 jCharts-0.7.5.jar):chart.jsp<%@ page import="java.awt.*,org.jCharts.*,org.jCharts.chartData.*,org.jCharts.properties.*,org.jCharts.types.ChartType,org.jCharts.axisChart.*,org.jCharts.test.TestDataGenerator,org.jCharts.encoders.JPEGEncoder13,org.jCharts.properties.util.ChartFont,                      org.jCharts.encoders.ServletEncoderHelper,org.jCharts.axisChart.customRenderers.axisValue.renderers.ValueLabelRenderer,org.jCharts.axisChart.customRenderers.axisValue.renderers.ValueLabelPosition,                      org.jCharts.nonAxisChart.PieChart2D"%><%        try    {        String picType = "bar";                LegendProperties legendProperties = new LegendProperties();        ChartProperties chartProperties = new ChartProperties();                if("pie".equals(picType)){            //**--饼图--**/                        //饼图属性            PieChart2DProperties pieChart2Dproperties = new PieChart2DProperties();                         double[] data2 = new double[]{40, 15, 35, 65, 59};            Paint[] paints2 = new Paint[]{Color.blue, Color.red, Color.green, Color.yellow, Color.white};            String[] labels = {"BMW", "Honda", "Lexus", "Audi", "Acura"};            PieChartDataSet pieChartData = new PieChartDataSet( "Cars That Own!", data2, labels, paints2, pieChart2Dproperties );            PieChart2D pieChart2D = new PieChart2D( pieChartData, legendProperties, chartProperties, 550, 360);            ServletEncoderHelper.encodeJPEG13( pieChart2D, 1.0f, response );                        //**--饼图--**/        }else{            //**--线图,柱状图--**//                                  String[] xAxisLabels= { "1998", "1999", "2000", "2001", "2002", "2003", "2004"};                String xAxisTitle= "Years";                String yAxisTitle= "Problems";                String title= "Micro$oft At Work";                                double[][] data= TestDataGenerator.getRandomNumbers( 3, 7, 200, 500 );                String[] legendLabels= { "Bugs", "Security Holes", "Backdoors" };                                AxisProperties axisProperties = new AxisProperties( false );                //线图属性                Stroke[] strokes= { LineChartProperties.DEFAULT_LINE_STROKE, LineChartProperties.DEFAULT_LINE_STROKE, LineChartProperties.DEFAULT_LINE_STROKE };                Shape[] shapes= { PointChartProperties.SHAPE_TRIANGLE,PointChartProperties.SHAPE_DIAMOND, PointChartProperties.SHAPE_CIRCLE };                LineChartProperties lineChartProperties = new LineChartProperties(strokes,shapes);                                //柱状图属性                BarChartProperties barChartProperties = new BarChartProperties();                ValueLabelRenderer valueLabelRenderer = new ValueLabelRenderer( false, false, true, -1 );                valueLabelRenderer.setValueLabelPosition( ValueLabelPosition.ON_TOP );                valueLabelRenderer.useVerticalLabels( false );                barChartProperties.addPostRenderEventListener( valueLabelRenderer );                                    Paint[] paints= TestDataGenerator.getRandomPaints( 3 );                ChartFont axisScaleFont = new ChartFont( new Font( "Georgia Negreta cursiva", Font.PLAIN, 13 ), Color.black );                axisProperties.getXAxisProperties().setScaleChartFont( axisScaleFont );                axisProperties.getYAxisProperties().setScaleChartFont( axisScaleFont );                ChartFont axisTitleFont = new ChartFont( new Font( "Arial Narrow", Font.PLAIN, 14 ), Color.black );                axisProperties.getXAxisProperties().setTitleChartFont( axisTitleFont );                axisProperties.getYAxisProperties().setTitleChartFont( axisTitleFont );                DataSeries dataSeries = new DataSeries( xAxisLabels, xAxisTitle, yAxisTitle,title );                                //From AxisChartServlet.java:createAxisChartDataSet                AxisChartDataSet acds = null;                                if("line".equals(picType))                    acds = new AxisChartDataSet(data, legendLabels, paints,ChartType.LINE, lineChartProperties );                else if("bar".equals(picType))                    acds = new AxisChartDataSet( data, legendLabels, paints, ChartType.BAR, barChartProperties );                                dataSeries.addIAxisPlotDataSet(acds);                AxisChart axisChart = new AxisChart(dataSeries, chartProperties, axisProperties,legendProperties, 550, 360);                ServletEncoderHelper.encodeJPEG13(axisChart, 1.0f, response);                            //**--线图,柱状图--**//                }    }    catch(Exception e)    {        System.out.println(e);    }    %>

转载地址:http://zjnni.baihongyu.com/

你可能感兴趣的文章
弄底层基础的东西往往慢,枯燥,要慢慢磨
查看>>
使用STM32Cube可以直接生成使用FreeRTOS的工程
查看>>
STM32CubeMX 真的不要太好用
查看>>
STM32CubeMX介绍、下载与安装
查看>>
感觉也可以自己做公众号,写一些好点的文章,也和讲课类似,输出倒逼输入
查看>>
STM32CubeMX使用方法及功能介绍
查看>>
pixhawk固件的安装
查看>>
电机和桨叶要搭配选择
查看>>
STM32cube我还是喜欢这种视频教程
查看>>
弄ROS可以不用装双系统或者买一台电脑啥的, 可以直接U盘启动
查看>>
现在智能车赛开始用ROS和SLAM了!
查看>>
gazebo是可以仿真PX4的
查看>>
我印象中记得protues仿真和真实是有些地方有差异的
查看>>
你得把一个东西玩烂,别人才会给你机会做那方面的开发
查看>>
PX4中的offboard模式能够接受来自外部的控制指令,搭配机载或支持MAVROS的协同计算机,可在PX4飞控平台上加入视觉处理或人工智能,以实现无人机自动控制功能。
查看>>
使用 GAAS 快速的搭建 Gazebo 仿真模拟器,并且使用 Offboard 控制无人机飞行。
查看>>
[PX4]mavros安装+offboard控制过程记录
查看>>
我现在可以感受到 PX4+gazebo+MAVROS+offboard是标配。看来很多人已经这么做了
查看>>
Drone就是无人机的意思
查看>>
发现一个新的讲APM飞控二次开发的课
查看>>