Graph 堆叠条形图中每个框的URL

Graph 堆叠条形图中每个框的URL,graph,jfreechart,jqplot,stacked,bar-chart,Graph,Jfreechart,Jqplot,Stacked,Bar Chart,我想创建一个堆叠的条形图,如下面的url所示 (来源:) 我想为每个红色、紫色和蓝色框创建超链接。使用jfree图表可以创建图形,但我不知道如何将每个单独的条作为URL,以便单击它可以刷新页面。 可以用jfree图表来做吗 在这种情况下,Jquery plot是否有助于启用每个框url?请提出建议。我知道,在jqPlot中,您可以轻松实现类似的功能。 创建绘图后,您需要记住的唯一一点是将函数绑定到jqplotDataClick事件。在函数中,您需要将单击映射到URL结构。我在一个示例中介绍了这

我想创建一个堆叠的条形图,如下面的url所示


(来源:)

我想为每个红色、紫色和蓝色框创建超链接。使用jfree图表可以创建图形,但我不知道如何将每个单独的条作为URL,以便单击它可以刷新页面。 可以用jfree图表来做吗


在这种情况下,Jquery plot是否有助于启用每个框url?请提出建议。

我知道,在jqPlot中,您可以轻松实现类似的功能。 创建绘图后,您需要记住的唯一一点是将函数绑定到
jqplotDataClick
事件。在函数中,您需要将单击映射到URL结构。我在一个示例中介绍了这一点,其中只有第一个系列的条形图可以带您访问一些网站。该示例位于JSFIDLE上--

实际上,所有这些都归结为这段代码:

  var urls = ["www.yahoo.com", "www.google.com", "www.java.com", "www.w3schools.com/js/js_obj_date.asp"];
  $('#chart').bind('jqplotDataClick', function (ev, seriesIndex, pointIndex, data) {
      if(seriesIndex === 0){
          var url = urls[pointIndex];
          window.open("http://"+url);
      }
  });
编辑

我不知道一种简单的方法,即不需要更改
jqPlot
的脚本,即通过突出显示其背景来识别单击的条。虽然我找到了一种方法,通过给条形图上的点标签的背景上色来获得类似的效果,但代码也需要在
jqplotDataClicked
中,类似于:

var prevClicked;
var prevBackgroundColor;
$('#chart').bind('jqplotDataClick', function (ev, seriesIndex, pointIndex, data) {
    var str = ".jqplot-point-label.jqplot-series-"+seriesIndex+".jqplot-point-"+pointIndex;
    $(str).each(function(){
        if(prevClicked)
            $(prevClicked).css('background-color', prevBackgroundColor);
        prevClicked = this;
        prevBackgroundColor = $(prevClicked).css('background-color');
        $(prevClicked).css('background-color', 'red');
    });
});
您只需使用
jQuery
查找单击的点标签,并应用您的样式,例如更改背景颜色,记住以前的标签,这样您就可以在单击另一个栏时将其颜色移除到以前的状态。首先,我尝试使用
addClass/removeClass
函数,但它没有改变标签的样式,因此我不得不使用
css
函数。

。该方法概述了相关的
PieURLGenerator
ChartFactory.createStackedBarChart()
使用并允许
PlotOrientation.HORIZONTAL


附录:要为单个项目生成URL,您可以检查
ChartMouseListener
中返回的
ChartEntity
,如图所示。

+1阅读您的答案,在jfreechart中,这类问题似乎得到了巧妙的解决。谢谢,我以前不知道。祝你一切顺利,很高兴见到你。:)很抱歉,您之前忽略了问题的实质;我以前不熟悉这个
jqPlot
。对于浏览器中的交互式绘图,它看起来是一个不错的选择。拥有
org.jfree.chart.imagemap
支持+1从今天早些时候开始。是的
jqPlot
是在浏览器中需要图表时的一个不错的选择。如果您还将一些自己的jquery脚本混合到其中,您可以从这个库中有效地获得所有您想要的图表。虽然这个库没有商业版本那么完美,但是这个库是免费的,它有一个非常好的(对于javascript标准:)文档,我能够制作jqplot字符。如何使用单独的颜色突出显示单击的条,以识别它是否被单击。它在鼠标上方显示悬停的颜色。如何在鼠标单击时显示不同的颜色。我想打开一个新页面,并在页面上显示单击的条数据以及图形。因此,数据属于单击部分显示突出显示。具有clickable属性的jfree图表是否可以与struts框架一起使用。我看到jfree图表的clickable属性在一个小程序中作为swing。它是否可以与struts页面或简单的html页面集成?您好,jboss问题,关于您的第一个问题,我添加了EDIT以显示我对这个问题的理解。但当谈到你的其他评论时,你最好问问@trashgood,因为我认为他在
jfreechart
方面的经验比我丰富。我只在我的
swing
应用程序中使用它来展示我的博士研究成果。我永远不会在浏览器中使用它,因为我猜这就是你想要的,对吧?对我来说,
jfreechart
仅用于在本地Java应用程序中创建图形。