【问题标题】:Google Charts - Pie chart with sub categoryGoogle Charts - 带有子类别的饼图
【发布时间】:2014-05-10 01:30:26
【问题描述】:

我在饼图中显示数据时遇到了一些问题。

我创建了一个 jsfiddle 来演示我的问题。

JSFIDDLE

我提供以下数据:

var data = google.visualization.arrayToDataTable([
      ['Year','Positive','Negative','Neutral','Comments','Score'],
      [ '2010', 74, 26,49,'bad',12345],
      [ '2011', 50, 50,13, 'good',78456],
      [ '2012', 80, 20,56, 'good',56897],
      [ '2013', 40, 60,26, 'good',25789],
      [ '2014', 70, 30,60, 'bad',124536],

    ]); 

问题 1

如果您查看 jsfiddle,组合图(饼图下方)显示完美,但饼图未正确显示值。那么饼图是否只能显示来自 1 列的值?因为即使我通过了

'view': {'columns': [0,1,2,3]}

它仍然只取第 1 列的值。

问题2

从下拉列表中,如果我选择一年,比如 2011 年,那么饼图仍然只显示第 1 列的值。但组合图表现良好。

我在这里做错了吗?

【问题讨论】:

  • 你为什么要画饼图?饼图旨在显示不同值的静态百分比(例如 2011 年儿童/成人/老年人的百分比)。但是你这里有动态数据(数据随时间变化),所以我建议绘制面积图的折线图而不是饼图。或者,您可以仅在选择年份时使用饼图并仅显示该年份的值(如果这是您想要显示的)
  • 感谢@RuslanBes。嗯,我想在场景 1 中显示饼图没有意义。现在,关于我的问题 2,我想做你建议的事情,但即使这样也行不通。所以我需要以不同的方式传递数据?
  • 对于场景 2,我的猜测是您必须创建两个数据源(每个图表一个)并分别管理它们。但这不是一个简单的任务任务,需要一些 js/jquery 编程。
  • 酷..我可以编写逻辑来做到这一点。只是想知道是否有任何默认方式这样做...谢谢。
  • PieCharts 将只使用两列:一列用于切片标签,另一列用于值。为了得到你想要的,你必须将你的数据以这种格式放置在 PieChart 中。这是一个示例:jsfiddle.net/asgallant/6M2sH/15

标签: javascript google-visualization


【解决方案1】:

您使用错误的视图。这是一个可以做到的小提琴:

http://jsfiddle.net/Xhdn3/

还有代码:

var view = new google.visualization.DataView(data);
view.setColumns([0,2]);
var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
chart.draw(view, options);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多