javascript - 如何通过ajax在Js图表中设置值?

标签 javascript jquery ajax

我正在尝试通过ajax显示数据,但我在JS图中遇到问题。我确定如何在图形函数中显示值。我现在得到了正确的响应,我必须将值放入下面的图表中,这是 Js 图表,也是 ajax 响应和我试图放入值的变量

var percentage1=0;
var remaining1=0;
var standard1=0;
var tuned1=0;

FusionCharts.ready(function(){
var fusioncharts = new FusionCharts({
type: 'doughnut2d',
renderAt: 'chart-container',
width: '450',
height: '350',
dataFormat: 'json',
dataSource: {
    "chart": {
        "caption": "",
        "showBorder": "0",
        "use3DLighting": "0",
        "enableSmartLabels": "0",
        "startingAngle": "0",
        "showLabels": "0",
        "showPercentValues": "1",
        "showLegend": "1",
        "defaultCenterLabel": percentage1,
        "centerLabel": " $label",
        "centerLabelBold": "1",
        "showTooltip": "0",
        "decimals": "0",
        "useDataPlotColorForLabels": "1",
        "theme": "fint"
    },
    "data": [{
        "label": "Standard Power "+standard1,
        "value": percentage1
    }, {
        "label": "Stage 1 Power "+tuned1,
        "value": remaining1
       }]
     }
   }
 );
  fusioncharts.render();
});

下面是我的ajax响应,其中我有4个值,我试图将它们放入上面的图表中

success: function(result){
      alert(result);
      percentage1=jObj['percentage1'];                   
      remaining1=jObj['remaining1'];         
      standard1=jObj['standard1'];
      tuned1=jObj['tuned1'];

      $('#chart-container').updateFusionCharts();
      alert(percentage1+" "+remaining1+" "+standard1+" "+tuned1);

    },
// I get all the 4 values in result

如果有人可以帮助我解决这个问题,那就太好了

最佳答案

您需要在 AJAX 调用后创建新的数据源,并使用 FusionCharts 支持的 setJSONData API 方法设置数据源。

 var chartData=null;
 $(function(){
        $.ajax({
           async: false,

       url: 'newData.json', 
           type: 'GET',
      dataType: 'json',
           success:function(data){
              chartData = data;


           },
           error:function(){
              $('#traveldatachart-agency').html('<b><font color="red">Error loading data...</font></b>');
           }

       })




})

FusionCharts.ready(function () {
  console.log(chartData);
    var revenueChart = new FusionCharts({
    type: 'doughnut2d',
    renderAt: 'chart-container',
    width: '550',
    height: '350',
    dataFormat: 'json',
    dataSource: {
      "chart": {
        "caption": "Split of Revenue by Product Categories",
        "subCaption": "Last year",
        "numberPrefix": "$",
        "startingAngle": "310",
        "defaultCenterLabel": "Total revenue: $64.08K",
        "centerLabel": "Revenue from $label: $value",
        "centerLabelBold": "1",
        "showTooltip": "0",
        "decimals": "0",
        "theme": "fusion"
      },
      "data": [{
          "label": "Food",
          "value": "8504"
        },
        {
          "label": "Apparels",
          "value": "4633"
        },
        {
          "label": "Electronics",
          "value": "2507"
        },
        {
          "label": "Household",
          "value": "1910"
        }
      ]
    }
  }).render();
    $("#btn").on('click',function(){

      FusionCharts.items["chartobject-1"].setJSONData(chartData);
    });
});

关于javascript - 如何通过ajax在Js图表中设置值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50371285/

相关文章:

javascript - 使用 Javascript 搜索数组中的项目

javascript - 在 src 中附加 window.location

javascript - div 的颜色变化太快

javascript - 如何修复 babel-polyfill 错误?在我的代码中找不到

javascript - Xdomain 请求变通

jquery - 不可预测的访问控制允许来源行为

javascript - 获取正文标签样式属性内容

javascript - 在 while 循环中等待异步方法

jQuery 的 .width() 结果在 Chrome 25 中是错误的,我如何获得真正的结果?

javascript - Dropzone 在 jquery 选项卡中不起作用