轴格式日期 Google 图表中的 2 个问题

2 problems in axis format date Google charts

我正在尝试像这样在轴上设置日期格式:18 年 5 月。我的格式如下所示:'MMM \' yy'。我有两个问题: 1、如何使月份首字母大写?我需要生成刻度来实现这个吗? 2. 撇号有问题,即在它后面应用时,不再使用格式,并且不显示撇号本身。例如,上面看起来像这样:may yy。我还尝试使用 ASCII 和 Unicode 中的撇号字符,但这不起作用。只是 Google 图表可能将撇号视为不能使用的字符...有什么建议吗?

编辑:

问题已用撇号解决。 \u2019 不完全是撇号。正确的撇号是:https://unicode-table.com/en/0027/,不过看起来还是不错的。

但是,就我而言,月份的第一个字母仍然很小,因为我使用的是波兰语翻译。对此有什么建议吗?

编辑:

问题已解决。

你可以这样使用 unicode --> \u2019

hAxis: {
  format: 'MMM \u2019yy'
}

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

google.charts.load('current', {
  packages: ['controls', 'corechart', 'table']
}).then(function () {
  var data = new google.visualization.DataTable();
  data.addColumn('date', 'x');
  data.addColumn('number', 'y');
  data.addRows([
    [new Date(2018, 4, 1), 1],
    [new Date(2018, 5, 2), 2],
    [new Date(2018, 6, 3), 3],
  ]);

  var chart = new google.visualization.LineChart(document.getElementById('chart'));
  chart.draw(data, {
    hAxis: {
      format: 'MMM \u2019yy'
    }
  });
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart"></div>

编辑

使用语言代码时首字母大写,
使用 ticks 选项而不是 format
然后手动更改第一个字母 toUpperCase...

  ticks: data.getDistinctValues(0).map(function (date) {
    var value = formatDate.formatValue(date);
    value = value.substring(0, 1).toUpperCase() + value.substr(1);
    return {
      v: date,
      f: value
    };
  })

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

google.charts.load('current', {
  packages: ['corechart'],
  language: 'pl'
}).then(function () {
  var data = new google.visualization.DataTable();
  data.addColumn('date', 'x');
  data.addColumn('number', 'y');
  data.addRows([
    [new Date(2018, 4, 1), 1],
    [new Date(2018, 5, 2), 2],
    [new Date(2018, 6, 3), 3],
  ]);

  var formatDate = new google.visualization.DateFormat({
    pattern: 'MMM \u2019yy'
  });

  var chart = new google.visualization.LineChart(document.getElementById('chart'));
  chart.draw(data, {
    hAxis: {
      ticks: data.getDistinctValues(0).map(function (date) {
        var value = formatDate.formatValue(date);
        value = value.substring(0, 1).toUpperCase() + value.substr(1);
        return {
          v: date,
          f: value
        };
      })
    }
  });
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart"></div>