做了一个生成JFreeChart的自定义标签SONIC Taglib。不过只能生成姘图和柱图

10X Genomics数据实战:手把手教你用Seurat处理单细胞PBMC数据(附完整代码) 本文详细介绍了如何使用Seurat处理10X Genomics的单细胞PBMC数据,从数据获取、质控到降维分析和细胞分群的全流程。通过实战代码演示,帮助研究者掌握单细胞RNA测序数据分析的核心技术,提升对细胞异质性的理解。 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

下载地址:http://www.javasp.net/jinxin/jinxin.rar (Sonic1.0)

       本来可以用cwolf的。但是cwolf不能做统计。返照他的功能自己做了一个。觉得还不错。开发的时候省略了很多JFreeChart的东西。直接做一个连数据的CLASS就可以了。下面是开发指南,希望对要用JFREECHART的人有帮助。

优点:
          简化了生成图形的繁琐代码,用TagLib封装了。只要数据对象就可以了

缺点:
          只能生成饼图 和 柱图 其他图还没有做

Sonic Chart Tutorial

SETUP for installing the tag library

(First time user)

Tutorial: Step1

How to Install (Making sure you have the Jar File)

To use the tag library, you must first include the jar file into your project.

Put the following JAR files of the /lib directory into your web applications /WEB-INF/lib directory:

 

l        Sonic. jar

l        jfreechart-0.9.20.jar

l        jcommon-0.9.5.jar

l        Commons-logging. jar

Install the sonic Servlet in your Web App

You must add the following code to the web.xml file t o let yours project know the location of the TLDS

<servlet>

 

<servlet>
   
<servlet-name>DisplayChart</servlet-name>
  
 <servlet-class>rg.jfree.chart.servlet.DisplayChart</servlet-class>
</servlet>

 

 

 
    

Additionally you should provide a servlet-mapping to tell the container which URL maps to your sonic rendering servlet.

<servlet-mapping>

 

<servlet-mapping>
    <servlet-name>DisplayChart
</servlet-name>
    <url-pattern>servlet/DisplayChart</url-pattern>

</servlet-mapping>

 

 

Additionally you should proide a taglib to tell container which URL to find sonic.tld

<taglib>

  <taglib>

    <taglib-uri>/WEB-INF/sonic.tld</taglib-uri>

    <taglib-location>/WEB-INF/sonic.tld</taglib-location>

  </taglib>

二.Tutorial: Step 2

Provide a DatasetProducer

 

1.How to Create a PeChart DatasetProducer

 

l         Createa a java file such ByUsingPeople_PieDB.java

              Note:

1.       In ByUsingPeople_PieDB.java file you must implements ProductDataSetInterface, Serializable

 

Below is ByUsingPeople_PieDB.java detail

 

import org.jfree.data.DefaultPieDataset;

import java.util.ArrayList;

import net.javasp.www.chartfactorymethod.creator.ChartCreatorInterface.ProductDataSetInterface;import java.io.Serializable;

 

public class IndustryGroupRequire implements ProductDataSetInterface, Serializable{

 

   public ArrayList produceDataset() throws Exception {

// Create a DefaultPieDataset object

    DefaultPieDataset ds = new DefaultPieDataset();

    String total = null;

    String percent = null;

    ArrayList list = new ArrayList();

 

    // The data which need set into DefaultPieDataset object

    ds.setValue("第一产业比重", 36);

    ds.setValue("第二产业比重", 24);

    ds.setValue("第三产业比重", 20);

// Below chart show total info   

    String[] totalname = {"所占比重:", ""};

 

    list.add(ds);

    list.add("80"+"%");

    list.add("");

    list.add(totalname); //3

    list.add("other"); //

    return  list;

   }

}

 

Tutorial: Step 3

Define the chart in your JSP

1.       Create a jsp file such as piechart.jsp

Note:

1.     The taglib sonic attribute must same to <jsp useBean id> attribute Such as <sonic:plotchart id=”pieData” …> and <jsp:useBean id=”pieData” …>

2.     type="piechart" type attribute must be “piechart”

 

 

Below is piechart.jsp detail

piechart.jsp

<%@ page contentType="text/html; charset=GB2312" %>

<%@taglib uri='/WEB-INF/sonic.tld' prefix='sonic' %>

<jsp:useBean id="pieData" class=" net.javasp.www.piechartdataset.ByUsingPeople_PieDB "/>

<html>

<head>

<title>

按行业分组的需求人数

</title>

</head>

<body bgcolor="#ffffff">

<div align="center">

  <sonic:plotchart id="pieData" type="piechart" name="按行业分组的需求人数" hight="700" width="700" />

</div>

</body>

</html>

 

2.How to Create a Column Chart DatasetProducer

Note:

l         Createa a java file such SupplyTotalCount.java

 

In ByUsingPeople_PieDB.java file you must implements ProductDataSetInterface, Serializable

import net.javasp.www.chartfactorymethod.creator.ChartCreatorInterface.ProductDataSetInterface; import java.io.Serializable;

import java.util.ArrayList;

import org.jfree.data.CategoryDataset;

import org.jfree.data.DatasetUtilities;

 

/**

 * <p>Title: Colum3DproduceDataset</p>

 * <p>Description: </p>

 * <p>Copyright: Copyright (c) 2004</p>

 * <p>Company: www.javasp.net</p>

 * @author Jstar

 * @version 1.0

 */

 

public class SupplyTotalCount implements ProductDataSetInterface, Serializable {

  public SupplyTotalCount() {

  }

 

  public ArrayList produceDataset() throws Exception {

 

    int total = 0;

    int percent = 0;

    ArrayList list = new ArrayList();

    //---------------------------------需求人数-----求职人数

    double[][] date = new double[][] {{322, 261}, {128, 240}};

 

    String[] rowKeys = {"上期结转", "本期新增"};

    String[] columnKeys = {"需求人数", "求职人数"};

 

    String[] totalname = {"需求人数", "求职人数"};

 

    CategoryDataset ds = DatasetUtilities.createCategoryDataset(rowKeys,columnKeys, date);

    //total

    for (int i = 0; i < 1; i++) {

      for (int j = 0; j < date.length; j++) {

        total += date[j][i];

      }

    }

    //percent

    for (int a = 1; a < 2; a++) {

      for (int b = 0; b < date.length ; b++) {

        percent += date[b][a];

      }

    }

 

    list.add(ds);//0

    list.add(Integer.toString(total));//1

    list.add(Integer.toString(percent));//2

    list.add(totalname);//3

    list.add("other");//4

    return list;

 

  }

}

Define the chart in your JSP

2.      Create a jsp file such as columnchart.jsp

Note:

3.     The taglib sonic attribute must same to <jsp useBean id> attribute Such as <sonic:plotchart id=” columndata” …> and <jsp:useBean id=” columndata” …>

4.     type=" columndata " type attribute must be “columndata”

 

 

Below is piechart.jsp detail

piechart.jsp

<%@ page contentType="text/html; charset=GB2312" %>

<%@taglib uri='/WEB-INF/sonic.tld' prefix='sonic' %>

<jsp:useBean id="columndata " class=" net.javasp.www.columndataset.SupplyTotalCount "/>

<html>

<head>

<title>

供求总体人数

</title>

</head>

<body bgcolor="#ffffff">

<div align="center">

  <sonic:plotchart id=" columndata " type=" columchart " name="供求总体人数" width="500" hight="350 " />

</div>

</body>

</html>

 

 


【OpenClaw从入门到精通】第03篇:吃透Gateway/Skills/ClawHub核心概念(2026实测+避坑) 本文针对OpenClaw新手易混淆的核心概念痛点,以通俗类比+实操演示拆解OpenClaw核心、Gateway、Skills、ClawHub四大组件。通过“数字员工团队”类比明确各组件定位:OpenClaw核心是“老板”(调度中心)、Gateway是“前台+后勤”(后台进程)、Skills是“专业员工”(功能插件)、ClawHub是“人才市场”(技能商店)。补充版本更名史、技能加载优先级、ClawHub与GitHub区别等关键细节,结合“AI融资新闻查询并邮件推送”虚拟案例演示组件协同流程,梳理5个高频认知 阅读详情

相关推荐

ansys workbench 静力结构分析 高阶教程

ansys workbench 静力结构分析 高阶教程 目录ansys workbench 静力结构分析 高阶教程新建工程模型导入设置材料模型简化: 主要内容: 材料设置、模型简化、网格细化、约束分析、接触设置、求解设置、报错处理、结果分析 基础教程: ansys workbench 静力结构分析 基础操作流程(入门) ansys版本: 19.0(16.0及以上均可) 参考资料: 推荐教学视频《有限元分析 张晔》(超详细 ???? )、ansys workbench 超级学习手册(查阅用) 说明:一些基

weixin_43434624的博客 5万+

使用jfreechart画饼图,并自定义标签说明

通过jfreechart生成饼图,自定义标签内容

Miracle_Gaaral的博客 1434

从URDF到仿真动画:基于Simulink、Simscape与S-Function的机械臂一体化建模与控制

本文详细介绍了从URDF文件到高保真仿真动画的一体化机械臂建模与控制流程。通过整合Simulink、Simscape与S-Function,构建了包含物理特性的虚拟机械臂模型,并实现了自适应滑模等高级控制算法的嵌入与验证。该流程打通了从机械设计到控制算法验证的闭环,为机器人开发提供了高效的仿真平台。

cnn8visionary的博客 698

java jfreechart 饼图_java – jfreechart自定义饼图以显示绝对值和百分比

这个可编辑的最小代码片段示例如何使用JFreeChart作为绘图API,以便显示absoulte值和百分比?我无法从互联网上的任何代码段或JFreechart手册本身中提取此信息.代码段生成一个仅显示百分比的饼图.在我的情况下绝对值也很重要,所以我需要在百分比下显示它们.这是代码:(注意它没有导入)public class MyMinimalPieChartExample {public stat...

weixin_39966376的博客 466

VS2022跨平台开发实战:SSH远程调试Linux程序全攻略

本文详细介绍了如何使用Visual Studio 2022进行跨平台开发,通过SSH协议远程调试部署在Linux服务器上的C/C++程序。文章提供了从环境搭建、连接配置、项目创建到编译调试的完整实战指南,帮助Windows开发者无缝衔接Linux环境,显著提升问题定位与开发效率。

weixin_28826521的博客 430

解决国内网页无法加载reCaptcha的方法

科普: reCaptcha是Google公司的验证码服务,方便快捷,改变了传统验证码需要输入n位失真字符的特点。reCaptcha在使用的时候是这样的: 只需要点一下复选框,Google会收集一些鼠标轨迹、网络信息、浏览器信息等等,依靠后端的神经网络判断是机器还是人,绝大多数验证会一键通过,无需像传统验证码一样。但是reCaptcha使用了google.com的域名,这个域名在国内是被墙的。所以,也就导致了官网上无法注册/登录的问题,挡住了不少人入正的脚步。 解决办法: 【第一步】安装fir

调皮李小怪博客 25万+

JFreeChart 饼图、折线图、柱状图

一、JFreeChart获取。 JFreeChart是JFreeChart公司在开源网站SourceForge.net上的一个项目,该公司的主要产品有如下: 1、JFreeReport:报表解决工具 2、JFreeChart:Java图形解决方案(Application/Applet/Servlet/Jsp) 3、JC...

zhanghongliang_cyj的博客 469

STC单片机 普通 I/O 口中断功能介绍和使用

STC32单片机 普通 I/O 口中断功能介绍和使用

perseverance51博客 3048

JFreeChart| 图表高级自定义-图表条目标签(CategoryItemLabelGenerator)

前言 对于大多数的图表类型来说,JFreeChart允许我们在图表的每个条目上、 或者内部、 或者附 近显示条目标签。 本文主要讲述: ● 如何让条目标签可视(仅限于支持条目标签的图表类型) ● 如何改变条目标签的外观(字体和颜色) ● 如何指定条目标签的位置 ● 如何定制条目标签的文本 已知的局限性 ● 一些renderer不支持条目标签 ● 轴范围...

YvesHe的专栏 4100

C语言试题一之计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和

1、题目 计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和 2、源代码实现 #include <stdio.h> #include <math.h> double fun1(int n) { if (n <= 0) return 0; int i; double sum = 0.0; for (i = 1; i <= n;...

码莎拉蒂 1万+

Windows 11 安装 Miniconda + Mamba,配置国内源

本文详细介绍了在 Windows 11 系统下安装 Miniconda 并配置 Mamba 的完整流程,包括选择精简版 Miniconda 的理由、安装过程中的关键选项设置、配置清华大学镜像源以加速包下载,以及在 base 环境中设置 pip 国内源。同时说明了 Mamba 相较 Conda 的性能优势,并指导用户完成 Mamba 安装与 Shell 集成,最终通过命令验证环境管理功能,帮助用户构建高效、轻量的 Python 开发环境。

寒水馨 · 轻量级技术文档 · hanshuixin.org 3346

JFreeChart教程(二)

three:创建折线图 //创建折线图(Category)数据对象        String series1 = "First";        String series2 = "Second";        String series3 = "Third";        String type1 = "2001";        String type2 = "2002";

laoboaer的专栏 441

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

JFreeChart自定义拆线图

1.说明 现在市面上的画图工具很多,不过对于一个比较老的系统,还是会用到JFreeChart的工具。笔者第一次使用JFreeChart是在大学毕业设计中使用。那时候觉得这个框架还不错。可以画出柱状态图、折线图等。不过现在看到,觉得JFreeChart画出来的图不是非常好看。但是对于一个系统是面向B端来说,还是可以的。最近笔者又重新使用了一次JFreeChart来画图,对于这次的开发过程有几个点的...

owen_william的博客 1450

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

JFreeChart 自定义线段图

//给你个源代码,上面有注释说明哪段是显示数据的 <%! String bookTitle[] = {"Python", "JAVA", "C#", "Perl", "PHP"}; String category[] = {"第1周", "第2周", "第3周", "第4周" }; double bookSales; String chartTi

简单爱你所爱、世界也变得大了起来 1848

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

JFreeChart笔记 (五) 时间序列图:设置轴线标签显示样式

之前所有的例子中,我们所生成图表中的X时间轴中的时间间隔,和Y轴中的数值样式是不可控制的,它是JFreechart根据数据点的对应的时间和数值自己设置的。如果我们就想让X轴中标签为每隔一年或每隔3个月、Y轴中标签数值小数点后一定要保留3位小数,这该如何设置,本节例子就是解决这类问题。 PS:楼主最近要开始出长差了,可能更新会变慢些,大家谅解下呀O(∩_∩)O~

idwtwt的专栏 2621

java接口的一些生动的例子

<!--google_ad_client = "pub-1926348199765453";/* 728x90, 创建于 08-12-3 */google_ad_slot = "0385006797";google_ad_width = 728;google_ad_height = 90;//--><script type="text/javascript"sr

Sonic 的技术博客 9584

XHTML的规范和使用的一些经验

1,xhtml是用XML 1.0重新形成的HTML 4。 2,一个简单的又全面的xhtml应该是这样的(对于大部分中国人来说): xml version="1.0" encoding="gb2312"

Sonic 的技术博客 5880

eXtremeComponents的eXtremeTable分页特性

<!--google_ad_client = "pub-1926348199765453";/* 728x90, 创建于 08-12-3 */google_ad_slot = "0385006797";google_ad_width = 728;google_ad_height = 90;//--><script type="text/javascript"sr

Sonic 的技术博客 5506

Flex AIR3.0入门教程及实例(原创)

<!--google_ad_client = "pub-1926348199765453";/* 蓝底 横幅 圆角 */google_ad_slot = "1747073693";google_ad_width = 728;google_ad_height = 90;//--><script type="text/javascript"src="http://p

Sonic 的技术博客 3879

JAVA 日期处理大全

<!--google_ad_client = "pub-1926348199765453";/* 728x90, 创建于 08-12-3 */google_ad_slot = "0385006797";google_ad_width = 728;google_ad_height = 90;//-->JAVA 日期处理大全1、获取服务器端当前日期:

Sonic 的技术博客 3860

Java 接口大全、面向接口编程、什么时候使用接口。选择Java接口还是抽象类

<!--google_ad_client = "pub-1926348199765453";/* 728x90, 创建于 08-12-3 */google_ad_slot = "0385006797";google_ad_width = 728;google_ad_height = 90;//--><script type="text/javascript"sr

Sonic 的技术博客 3174

常用JAVA方法大全

<!--google_ad_client = "pub-1926348199765453";/* 728x90, 创建于 08-12-3 */google_ad_slot = "0385006797";google_ad_width = 728;google_ad_height = 90;//--><script type="text/javascript"sr

Sonic 的技术博客 2937

SpringSide的开发方法(前奏) -- 1

<!--google_ad_client = "pub-1926348199765453";/* 728x90, 创建于 08-12-3 */google_ad_slot = "0385006797";google_ad_width = 728;google_ad_height = 90;//--><!--.STYLE1 {col

Sonic 的技术博客 2600

Java框架综述(架构师必经之路)

<!--google_ad_client = "pub-1926348199765453";/* 728x90, 创建于 08-12-3 */google_ad_slot = "0385006797";google_ad_width = 728;google_ad_height = 90;//-->简介本文介绍Java Web Framework的基

Sonic 的技术博客 2533
上一篇: EJB开发过程
下一篇: Spring 编程入门十大问题解答
GOALSTAR
博客等级 码龄24年 108粉丝 79原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值