当前位置: 首页 > 面试题库 >

高图表堆积的条形图数据无法通过javascript工作

鄂慈
2023-03-14
问题内容

这是为什么,我在绘制图表high
bart中的数据时遇到麻烦。我正在使用它,chart.series[i].addPoint(data[i]['total_check']);但是当我提醒alert(data[i]['total_check']);有值时,但是当我在条形图中绘制它时,它不会出现。我想知道我的代码是否以错误的方式?。这是我从barchart绘制点的代码:

function getbarseries(month) {
    $.ajax({
      url: siteurl+"patients_report/bardataclinic/"+month,
      type: "POST",
      dataType: "JSON",
        success: function(data) {
           for(var i in data) {
               chart.series[i].addPoint(data[i]['total_check']);
               //alert(data[i]['total_check']);
           }
        }
    });
}

我正在通过递归方式绘制图表,所以我代码的主要部分是:

function getbarxAxis() {
 $.ajax({
   url: siteurl+"patients_report/bardata_date",
   type: "POST",
   dataType: "JSON",
   success: function(data) {
     var categories = new Array();
     for (var i in data) {
       categories.push(data[i]["datemonths"]);
     }
    loadChart(categories);
    getallclinics();
    var arrayLength = categories.length;
    for(var loop = 0;loop<arrayLength;loop++) {
        getbarseries(categories[loop]);
    }

   }
 });
}

我正在制作动态条形图表,这就是为什么首先要查询loadChart(categories);类别后绘制类别(月份)的原因,

function loadChart(categories) {
   chart = Highcharts.chart('container', {
    chart: {
        type: 'bar'
    },
    title: {
        text: ''
    },
    xAxis: {
        categories: categories
    },
    yAxis: {
        min: 0,
        title: {
            text: 'Detailed patient per clinic'
        }
    },
    legend: {
        reversed: true
    },
    plotOptions: {
        series: {
            stacking: 'normal'
        }
    },
    plotOptions: {
            series: {
                stacking: 'normal'
            }
    }
});
}

在绘制类别之后,接下来是系列数据名称,在其中我还创建了一个新函数来查询数据库并绘制所有数据系列名称,名为:getallclinics();
getallclinics函数的完整代码的函数是这样的:

function getallclinics() {
   $.ajax ({
          url: siteurl+"patients_report/seriesclinics",
          type: "POST",
          async: false,
          dataType: "JSON",
          success: function(data) {
            for(var i in data) {
              chart.addSeries({
                  name: data[i]['clinic_name']
              });
            }
          }
   });
}

到诊所后,最后一部分是我遇到了麻烦,我要在其中绘制声明的系列名称中的数据,因此上面的代码getbarseries是我遇到麻烦的地方,在此处进行绘制chart.series[i].addPoint(data[i]['total_check']);

我的getbarseries的完整代码:

function getbarseries(month) {
    $.ajax({
      url: siteurl+"patients_report/bardataclinic/"+month,
      type: "POST",
      dataType: "JSON",
        success: function(data) {
           for(var i in data) {
               chart.series[i].addPoint(data[i]['total_check']);
               //alert(data[i]['total_check']);
           }
        }
    });
}

我每月从函数getbarseries(month)那里得到的结果是,我的月份得到了全面检查:这是控制台的结果,因为我只有两个返回的月份来自我的类​​别,所以我有两个getbarseries函数的递归循环

第一个递归循环: [{"clinic_name":"Clinic 1","total_check":"0"},{"clinic_name":"Clinic 2","total_check":"1"},{"clinic_name":"Clinic 3","total_check":"0"},{"clinic_name":"Clinic 4","total_check":"0"}]

第二个递归循环: [{"clinic_name":"Clinic 1","total_check":"2"},{"clinic_name":"Clinic 2","total_check":"0"},{"clinic_name":"Clinic 3","total_check":"0"},{"clinic_name":"Clinic 4","total_check":"0"}]


问题答案:

您的数据似乎是字符串,则需要将它们解析为数字。

您可以使用此方法:将参数转换为数字

function getbarseries(month) {
    $.ajax({
      url: siteurl+"patients_report/bardataclinic/"+month,
      type: "POST",
      dataType: "JSON",
        success: function(data) {
           for(var i in data) {
               chart.series[i].addPoint(Number(data[i]['total_check']));
           }
        }
    });
}


 类似资料:
  • StackedBarChart是BarChart的变体,它绘制了指示类别数据值的条形图。 条形可以是垂直的或水平的,这取决于哪个轴是类别轴。 每个系列的栏位于上一系列的顶部。 以下是堆积条形图,描绘了人口增长。 在JavaFX中,堆积条形图由名为StackedBarChart的类StackedBarChart 。 该类属于包javafx.scene.chart 。 通过实例化此类,您可以在Java

  • 问题内容: 我正在尝试使用创建水平堆叠的条形图,但是我看不到如何使条形实际堆叠,而不是全部从y轴开始。 这是我的测试代码。 看到tcaswell的评论后,编辑使用kwarg。 这似乎是正确的方法,但是如果没有特定条形的数据,则尝试失败,因为它正尝试添加到随后返回的值。 问题答案: 由于您使用的是熊猫,因此值得一提的是,您可以在本地进行堆积条形图: 请参阅 文档的可视化部分。

  • 问题内容: 我试图在一个堆积条形图中“稳健地”居中数据标签。A下面给出了简单的代码和结果。如您所见,数据标签并不是所有的矩形都居中。我错过了什么? 问题答案: 你为什么写“va=”bottom“。

  • 我已经开始使用图表v2的最新测试版。js,因为我需要在同一个图表上绘制一个包含堆叠条形图和非堆叠折线图的图表。以下是我需要的示例: 在此图表中,线条没有堆叠在一起,并且都显示了它们的自然值,但是条形图是堆叠在一起的,并且显示了这些值的组合总和(包括一些负值)。 我已经成功地将两个图表绘制在一起,但到目前为止,我只成功地将这两个图表堆叠起来,或者我不得不使用两个单独的y轴,最终得到两个刻度。这里有一

  • 我有以下数据集,并使用Matplotlib绘制了一个堆叠条形图。 以下是生成图形的代码: 我需要注释图形中的值。例如,我需要每个条的值出现在图形的条内。请参阅下面的示例

  • 我有以下数据: 这导致了下图: 我需要在每个栏的顶部添加值。需要帮助吗?