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

如何格式化Google Chart数据以显示项目数,但可以按年份过滤

秦俊发
2023-03-14
问题内容

希望这适用于stackexchange。如果没有,我表示歉意。

无论如何,我有一组数据,这些数据本质上是一个项目列表,与每个项目相关的人员以及该项目开始的年份。我想做的是绘制一个条形图,该条形图显示每个人的项目总数,但是以某种方式保留了一个人的项目开始的年份,因此我可以创建一个滑块过滤器。

听起来很混乱,把它写出来。数据如下所示:

[
    ['Project','PM','Year'],
    ['PRJ0001','John Doe','2012'],
    ['PRJ0002','John Doe','2012'],
    ['PRJ0003','Jackie Johnson','2013'],
    Etc, etc,
]

我没有按项目经理姓名创建计数的问题,但是我将年份“损失”为可以过滤的指标。有人有主意吗?


问题答案:

分别绘制每个控件

用于data.group获取每人的计数并绘制图表

使用原始数据绘制滑块(需要更改的列类型NumberRangeFilter

'statechange'
使用滑块的低/高值在滑块上重绘图表以使用getFilteredRows

请参阅以下工作片段…

google.charts.load('current', {

  callback: function () {

    var data = google.visualization.arrayToDataTable([

      ['Project','PM','Year'],

      ['PRJ0001','John Doe',2012],

      ['PRJ0002','John Doe',2012],

      ['PRJ0003','John Doe',2012],

      ['PRJ0004','John Doe',2013],

      ['PRJ0005','Jackie Johnson',2012],

      ['PRJ0006','Jackie Johnson',2013],

      ['PRJ0007','Jackie Johnson',2014]

    ]);



    var options = {

      height: 400,

      hAxis: {

        viewWindow: {

          min: 0,

          max: 5

        }

      }

    };



    drawChart(data);



    var slider = new google.visualization.ControlWrapper({

      controlType: 'NumberRangeFilter',

      containerId: 'filter_div',

      dataTable: data,

      options: {

        filterColumnIndex: 2,

        ui: {

          format: {pattern: '0'}

        }

      }

    });



    google.visualization.events.addListener(slider, 'statechange', function () {

      var range = slider.getState();

      var view = new google.visualization.DataView(data);

      view.setRows(data.getFilteredRows([{

        column: 2,

        minValue: range.lowValue,

        maxValue: range.highValue

      }]));

      drawChart(view);

    });



    slider.draw();



    function drawChart(dataTable) {

      var dataGroup = google.visualization.data.group(

        dataTable,

        [1],

        [{column: 1, aggregation: google.visualization.data.count, type: 'number', label: 'Count'}]

      );



      var chart = new google.visualization.BarChart(document.getElementById('chart_div'));

      chart.draw(dataGroup, options);

    }

  },

  packages: ['controls', 'corechart']

});


<script src="https://www.gstatic.com/charts/loader.js"></script>

<div id="filter_div"></div>

<div id="chart_div"></div>


 类似资料:
  • 问题内容: 我有这种格式的json数组: 现在,我想解析并以表格格式在Javascript或jQuery中显示它。该表有四列,每一列指示此数组中每个元素的每个属性。该表的第一行是这四个键的名称。其他行是这些键的值。 我不知道如何编写JavaScript代码来实现此功能。你能帮我吗? 问题答案: 演示

  • 问题内容: 假设您在Datagridview中有一列具有负数和正数作为数据的列。 如何在打开和关闭括号中显示带有负数的数字?例如,-5.00将变为(5.00) 我怎么能做到这一点?TYSM 问题答案: 您可以设置该列的默认格式: 有关格式化的更多信息,请参见此处。

  • 我有来自数据库的产品数据包含标题,描述...描述是html格式的字符串,如下所示: 如果应该这样显示: 我应该如何将其正确地显示为html?绑定没有html筛选器。

  • 1.我有一个格式需要在JSP中显示。其中的行应按行显示。 我有一个格式,但不能张贴它的图像,请让我知道如何可以上传的格式。 这些数据应该以相同的格式从数据库中获取。使用arraylist、JSP。 现在我已经试着把我正在尝试的代码,请帮助我的答案,谢谢你提前!!!

  • 另外,如果我想从这些字符串中创建新的公理,该怎么做呢?(将axiom转换为可读字符串,然后将可读字符串转换回axiom)

  • 问题内容: 如何设置熊猫数据帧的IPython html显示格式,以便 数字是正确的 数字以逗号作为千位分隔符 大花车没有小数位 据我所知,有设施,我可以这样做: 对于其他数据类型也是如此。 但是在以html显示数据框时,IPython不会选择这些格式选项。我仍然需要 但上面有1,2,3。 编辑: 以下是我针对2和3的解决方案(不确定这是最好的方法),但是我仍然需要弄清楚如何使数字列正确。 问题答