jquery ui jqplot插件生成的柱形图,数据如何用动态生成的?求告知下有代码

jquery ui jqplot插件生成的柱形图,数据如何用动态生成的?求告知下有代码,第1张

你好!!

jqplot加载动态数据有两种方式:

本地数据;

远程数据;

两种数据的加载方式大体一致,区别主要在数据来源上,远程数据多为ajax请求而来的数据;

下面给出一种简单的所谓的动态数据的加载方式:

//一个生成随机数据的方法

function yourRenderer() {

    var data = [[]]

    for (var i=0 i<13 i+=0.5) {

        data[0].push([i, Math.round(Math.random()*(40-1)+1)])

    }

    return data

}

//

function test(){

    //设置dataRenderer属性为yourRenderer函数

    plot3c = $.jqplot('chart3c',[],{

        title: '随机生成的数据',

        legend:{

            show: true,

            location: 'nw'

        },

        dataRenderer: yourRenderer

    })

    //重绘图表               

    plot3c.replot({   

        resetAxes : true  

    }) 

}

$(function(){

    //调用显示动态数据加载

    setInterval("test()",1000)

})

希望对你有帮助!!

jquery无法加载是因为jquery文件所在位置超出了域名管理的范围,其解决办法就是把文件放进域名管理的范围里面,比如将该文件放进MyHomePage文件夹里面即可。

jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(框架)于2006年1月由JohnResig发布。

1. 你要再打什么是jqPlot的。重绘图()方法当你绘制新的章程。改变你的ajax调用看起来像这样:

$.ajax({

url: '/Home/ChartData',

type: 'GET',

data: { Id: Id },

dataType: 'json',

success: function (data) {

$.jqplot('chartDiv', [a, b], CreateBarChartOptions(xAxis)).replot()

}})

+

2. 尽量让你的图表对象作为全局变量在脚本如下:

var plot1 = $.jqplot('chartDiv', [a, b], CreateBarChartOptions(xAxis))

然后复位的推动者,并重新绘制axesScale为:

var newData = [['a',1],['b',2],['c',3]]

plot1.series[0].data = newData

plot1.resetAxesScale()

plot1.replot()

参考: +

3. 而生成的脚本来找到搬运工的答案,跳我要发布此就在这里。上述针。 我创建了全局变量,plot3在我的脚本文件。然后创建下面的函数。如果这就是所谓的布尔重绘,它决定如果我需要销毁和重画或画的第 代码是什么优先位的作用是获取数据从我的JQGrid的,(这是在不同的函数正在更新),并更新数组。第二位 CodeGo.net,我确定蜱间隔,在x轴取决于我的漫步者的长度。

function DrawGraph(bRedraw){

var testTimes = []

testTimes = $('#polarizationTable').jqGrid('getCol', 'TestTime', testTimes, false)

var RdgA = $('#polarizationTable').jqGrid('getCol', 'RdgA', RdgA, false)

var RdgB = $('#polarizationTable').jqGrid('getCol', 'RdgB', RdgB, false)

var readingLineA = []

for (var i=0i<testTimes.lengthi++){

readingLineA.push([testTimes[i], RdgA[i]])

}

var readingLineB = []

for (var i=0i<testTimes.lengthi++){

readingLineB.push([testTimes[i], RdgB[i]])

}

var maxX = $("#testLength").val()

var lengthX = testTimes.length

var tickIntervalX = Math.round(maxX/10)

if(bRedraw == true)

{

plot3.destroy()

bRedraw = false

}

if(bRedraw == false)

{

plot3 = $.jqplot('chart3', [readingLineA, readingLineB],

{

title:'Graph',

series:[{label:'Reading - A'}, {label:'Reading - B'} ],

legend:{show:true, location:'se'},

// You can specify options for all axes on the plot at once with

// the axesDefaults object. Here, we're using a canvas renderer

// to draw the axis label which allows rotated text.

axes:{

xaxis:{

label:'Minutes',

syncTicks: true,

min: 0,

numberTicks: 10,

tickInterval: tickIntervalX,

max: maxX*1.1,

labelRenderer: $.jqplot.CanvasAxisLabelRenderer,

labelOptions: {

fontSize: '12pt'

},

},

yaxis:{

label:'Data',

min: 0,

numberTicks: 10,

labelRenderer: $.jqplot.CanvasAxisLabelRenderer,

labelOptions: {

fontSize: '12pt'

}

},

}

})

}

}

+

4. 之前每个重绘图形,只是摧毁existing1。

$.ajax({

url: '/Home/ChartData',

type: 'GET',

data: { Id: Id },

dataType: 'json',

success: function (data) {

if(plot)

{

plot.destroy()

}

var plot=$.jqplot('chartDiv', [a, b], CreateBarChartOptions(xAxis))

}})

+

5. 下面是如何在不重新加载页面动态更新与新的推动者剧情的完整的例子:

<div id="chart1" style="height: 300pxwidth: 500pxposition: relative"></div>

<button>New data point</button>

<script type="text/javascript">

var storedData = [3, 7]

var plot1

renderGraph()

$('button').click( function() {

doUpdate()

})

function renderGraph() {

if (plot1) {

plot1.destroy()

}

plot1 = $.jqplot('chart1', [storedData])

}

function doUpdate() {

var newVal = Math.random()

storedData.push(newVal)

renderGraph()

}

</script>

它是这个家伙的帖子的简化版本:JQPlot自动刷新包机与动态的ajax推动者 +

6. 也许这个“梦想成真。我,另一方面是有问题的得到重新绘制在所有的工作,但我会dataRenderer。

$.ajax({

url: '/Home/ChartData',

type: 'GET',

data: { Id: Id },

dataType: 'json',

success: function (data) {

$('chartDiv').empty()

$.jqplot('chartDiv', [a, b], CreateBarChartOptions(xAxis))

}})

+

7. 希望这有助于

jQuery(document).ready(function(){

jQuery.ajax({

url: '/review_graphs/show',

type: 'GET',

success: function (data) {

var plot1 = jQuery.jqplot('chartDiv', [data,data],

{

title: 'Bianual Reviews percentage',

series:[

{

renderer:jQuery.jqplot.BarRenderer,

label:'Average',

stackSeries: true,

dragable: {color: '#ff3366',constrainTo: 'x'},

trendline:{show: false}

},

{

label:'Trend Line',trendline:{show: false}}

],

legend: {

show: true,

placement: 'outsideGrid'

},

axesDefaults: {

tickRenderer: jQuery.jqplot.CanvasAxisTickRenderer ,

tickOptions: {

angle: -30,

fontSize: '10pt'

}

},

axes: {

xaxis: {

renderer: jQuery.jqplot.CategoryAxisRenderer

}

}

})

}})

})

+

8. 在我得到的是,在div中,你画,显然,在您绘制新图。

$('#graph_area).children().remove()

+

9. ('')哪里是DIV创建包机包机。 这样做的伎俩,没有什么花哨通过有效的。 +


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11388204.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存