【问题标题】:Struts 2 jquery chart load chart data with local dataStruts 2 jquery图表用本地数据加载图表数据
【发布时间】:2016-02-07 04:47:06
【问题描述】:

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

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

然后我用了(如Refresh/Reload Flot In Javascript中提到的)

//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();

我在 jquery API 中得到一些 jquery 异常 aB is undefined

任何cmets?!

【问题讨论】:

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


    【解决方案1】:

    $.plot() 缺少两个附加参数。

    您应该阅读basic usage

    创建一个占位符 div 来放置图表:

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

    需要设置这个div的宽高,否则出图 库不知道如何缩放图形。你可以像这样内联 这个:

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

    您也可以使用外部样式表来做到这一点。确保 占位符不在具有 display:none CSS 属性的东西中 - 在这种情况下,Flot 无法测量标签尺寸 导致外观乱码,并且可能无法测量 占位符尺寸是致命的(它会抛出异常)。

    然后当 div 在 DOM 中准备好时,通常在文档中 准备好,运行绘图功能:

    $.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>
    

    【讨论】:

    • 你是对的。但是当我使用sjc:chart 启动图表时,我不知道如何获取和路径dataoption 我什至尝试将它们设置为空参数,但它没有工作。你能告诉我如何获得绘图对象
    • 你为什么发起sjc:chart? flot 是另一个图表库。
    • sjc:chart 在后台使用 flot。调用sjc:chart 将加载所有必要的flotflot.pie 图表js 文件
    • 不清楚你想要什么,数据的格式是[[]],但是你的数据有不同的格式。你应该用sjc:chartData list 或 href 属性来提供它
    • 感谢@RomanC。数据可以是 http://www.pikemere.co.uk/blog/flot-how-to-create-pie-charts/ 中提到的 json 字符串数组。好吧,让我这样问....请参阅您已回答的这个问题stackoverflow.com/questions/23326472/…。问题是关于在本地加载网格数据。在那个例子中,简单的$("#gridtable") 返回了 jqGrid 对象,然后我们可以轻松地设置它的data 并调用trigger("reloadGrid"); 是否可以使用plot 来做到这一点
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-10
    • 2014-06-13
    • 2011-11-30
    • 1970-01-01
    • 1970-01-01
    • 2015-04-01
    • 1970-01-01
    相关资源
    最近更新 更多