澳门新葡萄京官网首页 15

澳门新葡萄京官网首页美丽的Java图表类库,美丽Java图表类库

本文由码农网 –
小峰原创,转发请看清文末的转发必要,接待参加大家的付费投稿安插!

本文由码农网 –
小峰原创,转发请看清文末的转发必要,迎接出席大家的付费投稿安插!

赏心悦指标Java图表类库,雅观Java图表类库

jCharts是一款基于Java的图形绘制类库,jCharts包蕴了多样图片格式,富含线型图、饼图、柱形图和点图等。

那二日大家为大家狼吞虎餐过局部最常用的Java图表应用和Android图表应用,无论是在PC平台上还是移动平台上,图表和表格功用都以必不可缺的。本文推荐了8款最美丽实用的Java图表应用,超越八分之四图纸应用的效益都左近,主要在于分界面包车型客车美观性和行使的眼观六路上有点高低。

摘要

       在运用java做后台站点的付出张,图表和表格功效都以不可能贫乏的。本文推荐了8款最出彩实用的Java图表应用,超越四分之一图纸应用的功力都好像,首要在于分界面包车型地铁美观性和使用的油滑上有点轻重。

jCharts的特点

  • 100%基于Java,世襲其跨平台的性状。
  • 图片中的文字,满含x轴和y轴上的文字,均能够安装字体。
  • 图表数据布局特别简单。

1、JFreeChart – 多效果与利益Java图表类库

JFreeChart是一款基于Java的多职能图表类库,况兼是一心开源免费的。JFreeChart能够绘制饼状图、柱状图、散点图、时序图、甘特图等等三种图纸,生成的图样还能够以PNG和JPEG格式的图片输出,作用特别苍劲,更关键的某个是JFreeChart生成的图纸操作起来特别通畅,因而质量也挺不错。

澳门新葡萄京官网首页 1

官方网址:

正文

jCharts使用案例

柱形图绘制

完整的Java代码:

package com.jiuxing.mobile;  

import java.awt.Color;  
import java.awt.Font;  
import java.awt.Paint;  
import java.io.IOException;  

import javax.servlet.ServletException;  
import javax.servlet.http.HttpServlet;  
import javax.servlet.http.HttpServletRequest;  
import javax.servlet.http.HttpServletResponse;  

import org.krysalis.jcharts.axisChart.AxisChart;  
import org.krysalis.jcharts.axisChart.customRenderers.axisValue.renderers.ValueLabelPosition;  
import org.krysalis.jcharts.axisChart.customRenderers.axisValue.renderers.ValueLabelRenderer;  
import org.krysalis.jcharts.chartData.AxisChartDataSet;  
import org.krysalis.jcharts.chartData.DataSeries;  
import org.krysalis.jcharts.chartData.interfaces.IAxisDataSeries;  
import org.krysalis.jcharts.encoders.ServletEncoderHelper;  
import org.krysalis.jcharts.properties.AxisProperties;  
import org.krysalis.jcharts.properties.BarChartProperties;  
import org.krysalis.jcharts.properties.ChartProperties;  
import org.krysalis.jcharts.properties.DataAxisProperties;  
import org.krysalis.jcharts.properties.LegendProperties;  
import org.krysalis.jcharts.properties.PropertyException;  
import org.krysalis.jcharts.properties.util.ChartFont;  
import org.krysalis.jcharts.types.ChartType;  

public class BarChartServlet extends HttpServlet {  
    // ---all of my charts serviced by this Servlet will have the same properties.  
    private BarChartProperties barChartProperties;  

    // ---all of my charts serviced by this Servlet will have the same properties.  
    protected LegendProperties legendProperties;  
    protected AxisProperties axisProperties;  
    protected ChartProperties chartProperties;  

    protected int width = 950;  
    protected int height = 360;  

    /********************************************************************************************** 
     * 
     **********************************************************************************************/  
    public void init() {  
    this.legendProperties = new LegendProperties();  
    this.chartProperties = new ChartProperties();  
    // 图形的XY轴的属性对象  
    this.axisProperties = new AxisProperties(false);  
    // 图表横坐标和纵坐标范围的字体,大小,颜色设置对象  
    ChartFont axisScaleFont = new ChartFont(new Font(  
        "Georgia Negreta cursiva", Font.PLAIN, 13), new Color(18, 189,  
        255));  
    axisProperties.getXAxisProperties().setScaleChartFont(axisScaleFont);  
    axisProperties.getYAxisProperties().setScaleChartFont(axisScaleFont);  
    // Bar图形的横坐标和纵坐标的标题字体和颜色 ,大小的设置对象  
    ChartFont axisTitleFont = new ChartFont(new Font("Arial Narrow",  
        Font.PLAIN, 14), new Color(18, 189, 255));  
    axisProperties.getXAxisProperties().setTitleChartFont(axisTitleFont);  
    axisProperties.getXAxisProperties().setShowEndBorder(false);  
    axisProperties.getYAxisProperties().setTitleChartFont(axisTitleFont);  
    axisProperties.getYAxisProperties().setShowEndBorder(false);  
    DataAxisProperties dataAxisProperties = (DataAxisProperties) axisProperties  
        .getYAxisProperties();  

    try {  
        // 设置用户定义的纵轴纵坐标的 间隔范围  
        dataAxisProperties.setUserDefinedScale(0, 3000);  
    } catch (PropertyException propertyException) {  
        propertyException.printStackTrace();  
    }  

    dataAxisProperties.setRoundToNearest(3);  
    // 设置图形标题的字体,颜色,大小  
    ChartFont titleFont = new ChartFont(new Font("Georgia Negreta cursiva",  
        Font.PLAIN, 14), new Color(18, 189, 255));  
    // 生成图像的属性对象  
    this.chartProperties.setTitleFont(titleFont);  
    // Bar图形的属性类  
    this.barChartProperties = new BarChartProperties();  

    ValueLabelRenderer valueLabelRenderer = new ValueLabelRenderer(false,  
        false, true, -1);  
    valueLabelRenderer.setValueLabelPosition(ValueLabelPosition.ON_TOP);  
    // 是否设置显示的纵坐标标签垂直,true为是,flase为水平  
    valueLabelRenderer.useVerticalLabels(true);  
    barChartProperties.addPostRenderEventListener(valueLabelRenderer);  

    }  

    /********************************************************************************************** 
     * 
     **********************************************************************************************/  
    public void service(HttpServletRequest req,  
        HttpServletResponse httpServletResponse) throws ServletException,  
        IOException {  
    try {  
        // 设置横坐标标签  
        String[] xAxisLabels = { "1995", "1996", "1997", "1998", "1999",  
            "2000", "2001", "2002", "2003", "2004", "2005", "2006",  
            "2007", "2008", "2009", "2010", "2011", "2012", "2013",  
            "2014" };  
        // 设置横坐标的单位  
        String xAxisTitle = "Years";  
        // 设置纵坐标的标题  
        String yAxisTitle = "Problems";  
        // 设置图形的标题  
        String title = "Micro$oft At Work";  
        // 图形所需要的数据对象  
        IAxisDataSeries dataSeries = new DataSeries(xAxisLabels,  
            xAxisTitle, yAxisTitle, title);  

        // 设置条形数据  
        double[][] data = new double[][] { { 1500, 6880, 4510, 2600, 0,  
            1580, 0, 9555, 11000, 0, 7500, 5880, 3510, 2600,  
            1200, 1580, 9000, 8555, 9000, 3120 } };  
        // 条形区域 形示的标签  
        String[] legendLabels = { "8" };  
//      String[] legendLabels = null;  
        // 条形区域绘制的颜色设置对象  
        Paint[] paints = new Paint[] { new Color(18, 189, 255) };  
        dataSeries.addIAxisPlotDataSet(new AxisChartDataSet(data,  
            legendLabels, paints, ChartType.BAR,  
            this.barChartProperties));  

        // 产生一个 chart对象  
        AxisChart axisChart = new AxisChart(dataSeries,  
            this.chartProperties, this.axisProperties,  
            this.legendProperties, this.width, this.height);  
        // 输出设置好的chart图形  
        ServletEncoderHelper.encodeJPEG13(axisChart, 1.0f,  
            httpServletResponse);  
    } catch (Throwable throwable) {  
        // HACK do your error handling here...  
        throwable.printStackTrace();  
    }  
    }  
}

职能图如下:

澳门新葡萄京官网首页 2

完整来讲,jCharts能够实现宗旨的图形绘制,并得以和蔼强大代码来成功更加高等的图片和表格效率。

2、ECharts-Java – Java版ECharts图表库

ECharts是一款效果分外强盛的JavaScript图表库,ECharts-Java是ECharts的Java版,用Java代码达成了ECharts的装有图表作用,ECharts中的Json布局也都调换到了Java对象,那样我们使用起来会极度有益,设置也一定灵活。

澳门新葡萄京官网首页 3

官网:

1、JFreeChart – 多职能Java图表类库

     
JFreeChart是一款基于Java的多效益图表类库,而且是一心开源免费的。JFreeChart可以绘制饼状图、柱状图、散点图、时序图、
甘特图等等二种图片,生成的图片还能够以PNG和JPEG格式的图片输出,功效拾叁分强硬,更关键的少数是JFreeChart生成的图形操作起来非常流利,
由此品质也挺不错。

澳门新葡萄京官网首页 4

官网:

3、Android图表绘制引擎 – AChartEngine

AChartEngine是一款基于Android的图片绘制引擎,它为Android开垦者提供了比比较多实用的图形绘制工具类,倘使你必要在Android应用中充分可视化计算的功能,那么AChartEngine是叁个科学的筛选。

澳门新葡萄京官网首页 5

官网:

2、ECharts-Java – Java版ECharts图表库

ECharts是一款效果至极苍劲的JavaScript图表库,ECharts-Java是ECharts的Java版,用Java代码达成了ECharts的全体图表效用,ECharts中的Json布局也都调换到了Java对象,那样大家运用起来会分外有助于,设置也一定灵活。

澳门新葡萄京官网首页 6

官网:

4、Java急速报表组件- DynamicReports

DynamicReports是一款十二分飞快的Java报表组件,并且是完全免费开源的。和事情未发生前介绍的JFreeChart不相同,DynamicReports是报表和可视化图表相结合的,能够进一层直观地突显和总计数据。DynamicReports是对JasperReports的扩大,完全能够不用特别的设计器来两全。

澳门新葡萄京官网首页 7

官网:

3、Android图表绘制引擎 – AChartEngine

AChartEngine是一款基于Android的图片绘制引擎,它为Android开辟者提供了多数实用的图纸绘制工具类,假如你必要在Android应用中充分可视化总括的意义,那么AChartEngine是多少个准确的选用。

澳门新葡萄京官网首页 8

官网:

5、Android开源图表库 – MPAndroidChart

MPAndroidChart是一款基于Android的开源图表库,MPAndroidChart不仅可以够在Android设备上制图各个总括图表,况兼能够对图纸进行拖动和缩放操作,应用起来特别灵活。和后面介绍的AChartEngine比较,MPAndroidChart显得愈加轻松和简易,MPAndroidChart同样颇负常用的图形类型:线型图、饼图、柱状图和散点图。

澳门新葡萄京官网首页 9

官网:

4、Java火速报表组件- DynamicReports

DynamicReports是一款特别急速的Java报表组件,何况是完全无偿开源的。和事情发生前介绍的JFreeChart差异,DynamicReports是报表和可视化图表相结合的,能够进一层直观地表现和总计数据。DynamicReports是对JasperReports的扩充,完全能够毫无非常的设计器来设计。

澳门新葡萄京官网首页 10

官网:

6、Java图表类库 – jCharts

jCharts是一款基于Java的图纸绘制类库,jCharts蕴涵了种种图形格式,包含线型图、饼图、柱形图和点图等。

澳门新葡萄京官网首页 2

官网:

5、Android开源图表库 – MPAndroidChart

MPAndroidChart是一款基于Android的开源图表库,MPAndroidChart不仅可以够在Android设备上绘制各类总括图
表,并且能够对图片举办拖动和缩放操作,应用起来极其灵活。和后边介绍的AChartEngine相比较,MPAndroidChart显得越发轻易和简单,MPAndroidChart相近有所常用的图纸类型:线型图、饼图、柱状图和散点图。

澳门新葡萄京官网首页 12

官网:

7、Java智能图表类库 – JChartLib

JChartLib是一款基于Java的智能图表类库,JChartLib不唯有具有神奇的外观,何况援救图表坐标数值的自动调度,那样大家在图纸中显示数值就比较轻巧,不用我们总计管理。JChartLib同样支撑线型图、柱状图和饼状图,並且能够自定义外观样式。别的图表可直接在
Swing 中央银行使,可保持为 jpg 和 png 格式图片。

澳门新葡萄京官网首页 13

在线演示:

6、Java图表类库 – jCharts

jCharts是一款基于Java的图片绘制类库,jCharts富含了各个图片格式,包含线型图、饼图、柱形图和点图等。

澳门新葡萄京官网首页 14

官网:

8、基于SWT的Java图表类库 – SWTChart

SWTChart是一款基于SWT的Java图表类库,也正因为是依赖SWT的原由,SWTChart应用起来非常有益,并且也相当轻松。

SWTChart帮忙种种图片类型,富含:线图 、散点图 、商旅图 、对数标度
、分类轴 、多轴 、柱形图 、面积图 、步骤图 、轴取向 、类别标签等。

澳门新葡萄京官网首页 15

官网:

7、Java智能图表类库 – JChartLib

JChartLib是一款基于Java的智能图表类库,JChartLib不止具备卓越的外观,并且辅助图表坐标数值的电动调度,这样我们在图纸中
显示数值就比较轻松,不用大家总计管理。JChartLib同样帮衬线型图、柱状图和饼状图,而且能够自定义外观样式。别的图表可一直在
Swing 中采纳,可保持为 jpg 和 png 格式图片。

澳门新葡萄京官网首页 16

在线演示:

8、基于SWT的Java图表类库 – SWTChart

SWTChart是一款基于SWT的Java图表类库,也正因为是基于SWT的原由,SWTChart应用起来十分有助于,何况也一定轻松。

SWTChart协理三种图片类型,满含:线图 、散点图 、货仓图 、对数标度
、分类轴 、多轴 、柱形图 、面积图 、步骤图 、轴取向 、连串标签等。

澳门新葡萄京官网首页 17

官方网站:


结语

如果你还需要了解更多技术文章信息,请继续关注白衣秀才的博客
个人网站:http://penglei.top/
Github:https://github.com/whitescholars
微博:http://weibo.com/u/3034107691?refer_flag=1001030102_&is_all=1

 

摘要
在选拔java做后台站点的开销张,图表和表格功效都以必备
的。本文推荐了8款最优异实用的…

发表评论

电子邮件地址不会被公开。 必填项已用*标注