Struts 2 jquery图表用本地数据加载图表数据

时间:2016-02-07 04:47:06

标签: jquery struts2 flot struts2-jquery-plugin struts2-jquery-chart

我想用本地数据加载图表数据。

txt = ''
for item in line0:
   txt += str(item)
print(txt)

然后我使用(如Refresh/Reload Flot In Javascript中所述)

 <sjc:chart
       id="chartPlaceHolder"
       cssStyle="width: 600px; height: 400px;"
       pie="true"
       pieLabel="true"
       dataType="local"        
   />

我在jquery API中得到了一些jquery异常//This data is created dynamically from a grid when grid completed var chartData= [ { label: "Chrome", data: 36.3, color: "#89A54E"}, { label: "Other", data: 0.8, color: "#3D96AE"} ]; var plot = $.plot($('#chartPlaceHolder')); plot.setData(chartData); plot.setupGrid(); plot.draw();

有任何意见吗?!

1 个答案:

答案 0 :(得分:1)

您错过了$.plot()的两个额外参数。

您应该阅读basic usage

  

创建占位符div以将图形放入:

<div id="placeholder"></div>
     

您需要设置此div的宽度和高度,否则设置图   图书馆不知道如何缩放图表。你可以像内联那样做   这样:

<div id="placeholder" style="width:600px;height:300px"></div>
     

您也可以使用外部样式表执行此操作。确保   占位符不在显示内容中:none CSS属性 -   在这种情况下,Flot无法测量标签尺寸   导致外观乱码,可能无法测量   占位符维度是致命的(它会抛出异常)。

     

然后在DOM中准备好div,这通常是在文档上   准备好了,运行绘图功能:

$.plot($("#placeholder"), data, options);
     

这里,data是一个数据系列数组,options是一个对象   设置是否要自定义绘图。看看吧   有关放入或查看API的一些想法的示例   参考。这是一个快速示例,它将从(0,0)绘制一条线到   (1,1):

$.plot($("#placeholder"), [ [[0, 0], [1, 1]] ], { yaxis: { max: 1 } });

编辑:

您可以尝试以下代码。在没有数据的情况下创建图表后,它会使用数据重新加载图表。

<sjc:chart
    id="placeholder"
    cssStyle="width: 600px; height: 400px;"
    pie="true"
    pieLabel="true">
</sjc:chart>
<script>
  $(function(){
    var chartData= [
      { label: "Chrome",  data: 36.3, color: "#89A54E"},
      { label: "Other",  data: 0.8, color: "#3D96AE"}
    ];
    var series =  { pie: { show: true }};
    var o = {};
    o.data = chartData;
    o.series= series;
    $.struts2_jquery_chart.chart($("#placeholder"), o);
  });
</script>