使用JFreeChart生成热点图表实现交互作用

实现功能:
    鼠标移到一个扇形区发生事件,使用json无刷新技术显示其他相关信息,在这里的例子中,以实现功能为目标,数据自己调整。
    在这里运用到了J free chart,json,struts2框架技术。

    添加支持架包支持,还有就是和struts2集成的架包支持

    jsp如下:

  <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    
    
    <title>饼图</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!-- <meta http-equiv="refresh" content="0:;url=index.action" content="text/html;charset=utf-8" />-->
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript" src="js/jquery-1.7.js"></script>
<script type="text/javascript">
function shows(ids){
var params={id:ids};
$.ajax({
type:"post",
url:"dwrjax.action",
data:params,
dataType:"json",
success:function (datas){
var tip=document.getElementById("tips");
tip.style.visibility="visible"; 
tip.innerHTML="<img src='"+datas+"' id='imgs' width=500 height=300 />";
tip.style.left=document.body.scrollLeft+800+"px";
tip.style.top=document.body.scrollTop+100+"px";
}
});
}
function outs(){
document.getElementById("tips").style.visibility="hidden"; 
}
</script>
  </head>
  
  <body>
    <P ALIGN="CENTER">
     <s:property value="mapMessage" escape="false"/>  <!--热点输出-->
<img  src="<s:property value="graphURL"/>" width=500 height=300 border=0 usemap="#map0"/><!--这里面的#map0是指调用的对应的map id-->
</P>
<div id="tips" style="position:absolute;border:1px solid red;">
</div>
  </body>
</html



在这里的重点是使用了无刷新技术和map热点的应用

web.xml加如下代码 


<servlet>   
    <servlet-name>DisplayChart</servlet-name>   
    <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>   
</servlet>   
<servlet-mapping>   
    <servlet-name>DisplayChart</servlet-name>   
    <url-pattern>/DisplayChart</url-pattern>   
</servlet-mapping



Action代码如下:


<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="default" namespace="/" extends="struts-default">
<action name="index" class="action.JfreeAction" method="index">
<result name="success">index.jsp</result>
</action> 
</package>
<package name="" namespace="/" extends="json-default">
  <action name="dwrjax" class="action.JfreeAction" method="dwrjax">
  <result name="success" type="json">
  <param name="root">urls</param>
  </result>
  </action>
  </package>
</struts>   

struts.xml代码如下:


<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="default" namespace="/" extends="struts-default">
<action name="index" class="action.JfreeAction" method="index">
<result name="success">index.jsp</result>
</action> 
</package>
<package name="" namespace="/" extends="json-default">
  <action name="dwrjax" class="action.JfreeAction" method="dwrjax">
  <result name="success" type="json">
  <param name="root">urls</param>
  </result>
  </action>
  </package>
</struts>   

效果图如下:




原文地址及源码下载地址:http://www.javalearn.net/forum.php?mod=viewthread&tid=43&highlight=free



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,我会尝试回答您的问题。 首先需要下载jfreechart的jar包,包含一系列生成折线图的类和方法。接着,您可以使用Java代码来创建一个简单的折线图。下面是一个示例代码: ```java import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartFrame; import org.jfree.chart.JFreeChart; import org.jfree.data.xy.XYDataset; import org.jfree.data.xy.XYSeries; import org.jfree.data.xy.XYSeriesCollection; public class LineChartExample { public static void main(String[] args) { XYSeriesCollection dataset = new XYSeriesCollection(); XYSeries series1 = new XYSeries("Series 1"); XYSeries series2 = new XYSeries("Series 2"); XYSeries series3 = new XYSeries("Series 3"); series1.add(10, 20); series1.add(20, 30); series1.add(30, 40); series2.add(5, 10); series2.add(15, 20); series2.add(25, 30); series3.add(0, 5); series3.add(10, 15); series3.add(20, 25); dataset.addSeries(series1); dataset.addSeries(series2); dataset.addSeries(series3); JFreeChart chart = ChartFactory.createXYLineChart( "Line Chart Demo", // chart title "X-Axis", // x axis label "Y-Axis", // y axis label dataset // data ); ChartFrame frame = new ChartFrame("Line Chart", chart); frame.setVisible(true); frame.setSize(500, 500); } } ``` 在这个示例代码中,我们创建了一个包含三个系列的折线图。每个系列都有几个数据点,用x、y的坐标值来表示。我们使用XYSeriesCollection来存储所有系列的数据,然后创建一个JFreeChart对象并添加数据集。 最后,我们使用ChartFrame来展示折线图,并设置了窗口的大小。 您可以自己尝试运行这个示例代码,并根据您的需要修改坐标值、系列名、图表标题等等。 希望这个回答对您有帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小黑鸣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值