primefaces barchart:在条形图上显示数据点

时间:2013-04-27 09:51:29

标签: primefaces jqplot

如何在条形图中显示条形图上的数据点?

我不想使用数据提示或工具提示,只有当它们被鼠标悬停时才会突出显示数据点。

我想在条形图上始终显示数据点。

有没有正确的方法来获得它?

感谢。

我想要完全像这样

DataPoint on Bar

以下是我的代码

<p:barChart id="barChartId" value="#{myBean.myModel}"             
        orientation="horizontal"             
        stacked="true" extender="ext" animate="true" shadow="false" />              
<h:outputScript>         
  function ext() {  
    this.cfg.highlighter = {
             useAxesFormatters: false,
             tooltipAxes: 'x'   
    };      
    this.cfg.legend = {
            show: true,
            location: 'ne',
            placement: 'outside'
    }; 
    this.cfg.seriesDefaults = {
            pointLabels : { show: true },
    };              
  }        
</h:outputScript>

这里,荧光笔和图例工作正常,但点标签没有显示在栏上

2 个答案:

答案 0 :(得分:5)

不确定它是否有用......

使用extender的{​​{1}},如下所示:

<p:barChart

或者

<p:barChart value="#{myBean.myModel}" widgetVar="myBarChart" extender="my_ext"/>


<script type="text/javascript">
    function my_ext() {
        this.cfg.seriesDefaults = {
            renderer:$.jqplot.BarRenderer,
            pointLabels: {show: true}
        };
        this.cfg.stackSeries: true;
    }
</script>

另请参阅jqplot示例:Bar charts

答案 1 :(得分:3)

以防万一有人没有抓住标记答案的评论,因为我一开始并没有这样做。

问题基本上不是pointLabels元素的配置,而是处于原始状态的primefaces(从4.0开始)不包含所需的jqPlot插件。

因此,实际上解决方案是使所需的插件jqplot.pointLabels.min.js可用。从我提取的错误跟踪器(http://code.google.com/p/primefaces/issues/detail?id=5378)中的票证开始,该表面使用jqPlot版本1.0.8。

  • https://bitbucket.org/cleonello/jqplot/downloads/
  • 下载jqplot 1.0.8
  • 将插件添加到您的项目中(例如src/main/webapp/resources/jqplot-plugins
  • 将插件作为脚本添加到您的页面(<h:outputScript library="jqplot-plugins" name="jqplot.pointLabels.min.js" />