如何使用动态值更新饼状图
How to update pie chart with dynamic values?
这是我的代码:
<?php
$pfstatetext = get_mypfstate();
$cpuusage= cpu_usage();
?>
<script>
var myVar=setInterval(function(){myTimer()},10000);
function myTimer() {
var ctx2 = document.getElementById("chart-area2").getContext("2d");
var myPie2 = new Chart(ctx2).Pie(pieData2);
}
</script>
<div id="show">
<canvas id="chart-area2" width="300" height="300"/>
</div>
<script>
var pieData2 = [
{
value: <?= $pfstatetext;?>,
color:"#F7464A",
highlight: "#FF5A5E",
label: "Red :"
},
{
value: <?= $cpuusage; ?>,
color: "#46BFBD",
highlight: "#5AD3D1",
label: "Green"
},
{
value: 100,
color: "#FDB45C",
highlight: "#FFC870",
label: "Yellow"
},
{
value: 40,
color: "#949FB1",
highlight: "#A8B3C5",
label: "Grey"
},
{
value: 120,
color: "#4D5360",
highlight: "#616774",
label: "Dark Grey"
}
];
window.onload = function(){
var ctx2 = document.getElementById("chart-area2").getContext("2d");
var myPie2 = new Chart(ctx2).Pie(pieData2);
};
</script>
'$pfstatetext'和'$cpuusage'的值将自动更改。上面的代码每10秒刷新一次饼状图。但是,pieData2的值在每次饼图在10秒后刷新时显示带有值的饼图,这些值是在加载页面时生成的。
当我重新加载页面时,饼图将以不同的和更新的值'$pfstatetext'和'$cpuusage'绘制,并且每次饼图在10秒后刷新时都会显示这些相同的值,但不会改变'$pfstatetext'和'$cpuusage'的值。
所以我要做什么改变,以便改变'$pfstatetext'和'$cpuusage'的值将采取饼状图每次刷新后10秒?
这是因为您似乎误解了服务器端代码和客户端代码之间的区别。PHP将首先在服务器上执行,然后是JS代码。如果您希望更改值,则需要生成一个Ajax调用来获取新值。
步骤1。
设置PHP脚本,返回你的'$pfstatetext'和'$cpuusage'的值说,一个数组或JSON字符串。
步骤2。
进行Ajax调用,访问您在步骤1中设置的文件,然后JavaScript(客户端)将有权访问从服务器(PHP)返回的数据。
我可以张贴一些代码以后如果你需要,但它是相当直接的。好运。
相关文章:
- $rootScope未使用forEach进行更新
- 使用AngularJS中的筛选器更新给定的表
- 使用mongodb更新中的一个变量
- 无法在现有状态转换期间更新-未使用任何非法的setState()
- 使用它更新集合中的嵌套数组's索引
- 使用Javascript更新输入框中的文本
- 如果我不应该在组件WillUpdate中调用setState,如何更新状态(使用ReactJS)
- Angular.js:如何将数据从一个HTML更新到使用相同控制器的另一个HTML
- 在 Twitter Bootstrap 3.0 中动态设置弹出框值,并在滚动更新时使用 href
- Javascript setInterval没有't更新内部使用的时间戳
- 只更新已使用Webpack.watch()更改的区块
- 中继器更新时使用动画
- Ajax X和Y位置更新无法使用Jquery UI可拖动程序正常工作
- 推迟或暂停敲除中的依赖项评估,直到视图模型完全更新(例如使用映射插件)
- 作用域是't更新$apply使用
- 在应用更新时使用本地存储进行应用内购买
- 内联更新mysql使用jquery/php
- AngularJS -变量在视图中不更新(不使用作用域)
- 如何更新“复杂”使用jQuery's .data()存储的数据
- 无缓存和更新在使用JSP和Javascript的IE 10中不起作用