自定义主面图表



我在我的项目中使用了primefaces的图表。

我知道他的图表使用了jqplot。

在jqplot的站点上有一个定制jqplot图表的例子。

如何使用示例代码自定义素面图?

定制jqplot图表的示例代码如下:

$(document).ready(function () {
$.jqplot._noToImageButton = true;
var plot1 = $.jqplot("chart1", [prevYear, currYear], {
    seriesColors: ["rgba(78, 135, 194, 0.7)", "rgb(211, 235, 59)"],
    title: 'Monthly TurnKey Revenue',
    highlighter: {
        show: true,
        sizeAdjust: 1,
        tooltipOffset: 9
    },
    grid: {
        background: 'rgba(57,57,57,0.0)',
        drawBorder: false,
        shadow: false,
        gridLineColor: '#666666',
        gridLineWidth: 2
    },
    legend: {
        show: true,
        placement: 'outside'
    },
    seriesDefaults: {
        rendererOptions: {
            smooth: true,
            animation: {
                show: true
            }
        },
        showMarker: false
    },
    series: [
        {
            fill: true,
            label: '2010'
        },
        {
            label: '2011'
        }
    ],
    axesDefaults: {
        rendererOptions: {
            baselineWidth: 1.5,
            baselineColor: '#444444',
            drawBaseline: false
        }
    },
    axes: {
        xaxis: {
            renderer: $.jqplot.DateAxisRenderer,
            tickRenderer: $.jqplot.CanvasAxisTickRenderer,
            tickOptions: {
                formatString: "%b %e",
                angle: -30,
                textColor: '#dddddd'
            },
            min: "2011-08-01",
            max: "2011-09-30",
            tickInterval: "7 days",
            drawMajorGridlines: false
        },
        yaxis: {
            renderer: $.jqplot.LogAxisRenderer,
            pad: 0,
            rendererOptions: {
                minorTicks: 1
            },
            tickOptions: {
                formatString: "$%'d",
                showMark: false
            }
        }
    }
});
  $('.jqplot-highlighter-tooltip').addClass('ui-corner-all')
});

示例链接1

如何在素面图上使用以上代码?

当你使用扩展器时,你可以用js改变一切。

下面是一个例子

<p:lineChart ... extender="chartExtender"/>

在js文件或页面标签下:

function chartExtender() {        
 // this = chart widget instance        
 // this.cfg = options        
 this.cfg.grid = {             
        background: 'transparent',
         gridLineColor: '#303030',
         drawBorder: false,
    };
  }

这只是一个例子…这将帮助你做剩下的事情。

有关最新的PF版本,请查看PrimeFaces 5.2及更新版本中图表扩展器属性的替代选项希望有帮助

你升级到Primefaces 5.0了吗?Primefaces实际上修改了它的图表api,这样您现在就可以直接从bean中添加这些定制,而不必处理jplot。此外,旧版本的图表将在未来被弃用,因此切换是一个好主意。

如果你仍然坚持使用旧版本的图表,你需要做的就是使用extender选项

让你的图表扩展功能
<p:lineChart ... extender="nameOfFunction"/>

我没有费心去定制PrimeFaces图表。我选择在JSF应用程序中使用Google图表。它是高度可定制的,它呈现为SVG,所以另外你可以使用CSS样式你的图表。您可以查看一下GChart PrimeFaces扩展,或者简单地加载JavaScript自定义所有内容(这很容易并且文档齐全)。

相关内容

  • 没有找到相关文章

最新更新