如何在react-google-charts

问题描述

le

这张照片可以帮助您了解我的问题。需要一个橙色的勾。

解决方法

用于绘制图表的数据表中,
我们可以使用带有注释角色的隐藏系列。

data.addColumn('string','x');
data.addColumn('number','y');
data.addColumn('number','hidden series');
data.addColumn({type:'string',role:'annotation'});

我们对隐藏系列使用零值。
这会将注释放置在x轴上。
并给注解一个值,例如'A',以便绘制注解。

绘制橙色刻度,并隐藏注释值,
我们使用以下注释选项...

annotations: {
  boxStyle: {
    fill: '#f57c00',stroke: '#f57c00',strokeWidth: 1
  },stem: {
    length: 0
  },textStyle: {
    color: 'transparent',fontSize: 16
  },},

您可以使用fontSize来更改注释的大小。

为防止隐藏系列被绘制,
我们使用以下选项...

series: {
  1: {
    color: 'transparent',visibleInLegend: false,enableInteractivity: false
  }
},

请参阅以下工作摘要...

google.charts.load('current',{
  packages: ['corechart']
}).then(function () {
  var data = new google.visualization.DataTable();
  data.addColumn('string','x');
  data.addColumn('number','y');
  data.addColumn('number','hidden series');
  data.addColumn({type:'string',role:'annotation'});
  data.addRows([
    ['2010-01-01',10,'A'],['2012-01-01',4,['2014-01-01',26,['2016-01-01',50,['2018-01-01',75,'A']
  ]);

  var options = {
    annotations: {
      boxStyle: {
        fill: '#f57c00',strokeWidth: 1
      },stem: {
        length: 0
      },textStyle: {
        color: 'transparent',fontSize: 12
      },chartArea: {
      left: 80,top: 56,right: 32,bottom: 80,height: '100%',width: '100%'
    },hAxis: {
      title: 'Date'
    },legend: {
      position: 'none'
    },series: {
      1: {
        color: 'transparent',enableInteractivity: false
      }
    },title: 'value vs. Date',vAxis: {
      title: 'value'
    },width: '100%'
  };

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

  window.addEventListener('resize',function () {
    chart.draw(data,options);
  });
  chart.draw(data,options);
});
html,body {
  height: 100%;
  margin: 0px 0px 0px 0px;
  padding: 0px 0px 0px 0px;
}

#chart {
  height: 100%;
  min-height: 400px;
}
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart"></div>


编辑

另一种选择是在每个刻度位置绘制正方形点,
如@dlaliberte

所建议

请参阅以下工作摘要...

google.charts.load('current','tick series');
  data.addRows([
    ['2010-01-01',0],0]
  ]);

  var options = {
    chartArea: {
      left: 80,series: {
      1: {
        color: '#f57c00',lineWidth: 0,pointSize: 12,pointShape: 'square',body {
  height: 100%;
  margin: 0px 0px 0px 0px;
  overflow: hidden;
  padding: 0px 0px 0px 0px;
}

#chart {
  height: 100%;
  min-height: 400px;
}
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart"></div>

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...