javascript - 如何将标签放在条形图上 google.charts.Bar()

标签 javascript charts google-visualization

我需要在我的 google.chart.Bar 上放置标签(不是 google.visualization.BarChart)图表已正确可视化,但仅在鼠标悬停在条形上时显示值,请帮助我!

without mouse over
with mouse over

数据是从隐藏的输入中获取的......这里是代码:

    var data3 = new google.visualization.arrayToDataTable([
      ['Ambitos', 'Programados', 'Terminados',{ role: 'style' }],
      ['ex', parseInt(document.getElementById("sumex").value),(parseInt(document.getElementById("sumex").value))-( parseInt(document.getElementById("sumpex").value)),document.getElementById("sumex").value],
      ['ma', parseInt(document.getElementById("summa").value),(parseInt(document.getElementById("summa").value))-( parseInt(document.getElementById("sumpma").value)),document.getElementById("summa").value],
      ['mo', parseInt(document.getElementById("summo").value),(parseInt(document.getElementById("summo").value))-( parseInt(document.getElementById("sumpmo").value)),document.getElementById("summo").value],
      ['re', parseInt(document.getElementById("sumre").value),(parseInt(document.getElementById("sumre").value))-( parseInt(document.getElementById("sumpre").value)),document.getElementById("sumre").value],
      ['tx', parseInt(document.getElementById("sumtx").value),(parseInt(document.getElementById("sumtx").value))-( parseInt(document.getElementById("sumptx").value)),document.getElementById("sumtx").value]]);

    var view3 = new google.visualization.DataView(data3);
    view3.setColumns([0,1,2,
                   { calc: "stringify",
                     sourceColumn: 3,
                     type: "string",
                     role: "annotation" },3]);

    var options3 = {
        legend: { position: "none" },          
                chart: {
                title: 'Resumen General',
                subtitle: 'programados v/s terminados'},
       series: {},
         axes: {  y: {
                      distance: {label: ''}, } },
      chartArea : { width:"95%", height:"80%"} };

      var chart3 = new google.charts.Bar(document.getElementById('barras'));
      chart3.draw(data3, options3);

p.d.抱歉我的英语不好!

最佳答案

不幸的是, Material 图表不支持注释(条形标签)

建议使用核心图表,并使用以下选项...

theme: 'material'

应为每个系列列添加单独的注释列,
应该有注释

当使用DataView添加注释列时,
请务必使用 View (view3) 绘制图表,
而不是原始数据表(data3)

请参阅以下工作片段...

google.charts.load('current', {
  callback: function () {
    var data3 = new google.visualization.arrayToDataTable([
      ['Ambitos', 'Programados', 'Terminados',{ role: 'style' }],
      ['ex', 8,(8)-(6),''],
      ['ma', 6,(6)-(4),''],
      ['mo', 4,(4)-(2),''],
      ['re', 2,(2)-(1),''],
      ['tx', 1,(1)-(0),'']]);

    var view3 = new google.visualization.DataView(data3);
    view3.setColumns([0,
      1,
      {
        calc: "stringify",
        sourceColumn: 1,
        type: "string",
        role: "annotation"
      },
      2,
      {
        calc: "stringify",
        sourceColumn: 2,
        type: "string",
        role: "annotation"
      },
      3
    ]);

    var options3 = {
      legend: { position: "none" },
      chart: {
        title: 'Resumen General',
        subtitle: 'programados v/s terminados'
      },
      series: {},
      axes: {
        y: {
          distance: {label: ''},
        }
      },
      chartArea : {
        width:"95%",
        height:"80%"
      },
      theme: 'material'
    };

    var chart3 = new google.visualization.ColumnChart(document.getElementById('barras'));
    chart3.draw(view3, options3);
  },
  packages:['corechart']
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="barras"></div>

<小时/>

注意: Material 不可用的选项列表 --> Tracking Issue for Material Chart Feature Parity

关于javascript - 如何将标签放在条形图上 google.charts.Bar(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43534064/

相关文章:

JavaFX 14,堆积条形图不显示负值

javascript - 新的 Chart.js 图表 onclick

javascript - 当我重新加载 div 时,Google 折线图不会重新加载

javascript - Jquery只允许展开一个菜单项

javascript - 如何使用下面的代码仅选择集合中的特定文档?

javascript - 如何使用 jQuery/Javascript 将帖子预览替换为完整内容?

javascript - 删除由另一个脚本设置的点击事件监听器

Excel - 两个图形合二为一(并排)

javascript - Google Charts(或其他 JS 可视化框架)在同一行内具有不同样式/颜色的折线图

javascript - 具有多种颜色的 Google 图表网格背景