【发布时间】:2019-01-27 15:50:41
【问题描述】:
我正在使用 Vue.js 和 Vue 的 Google Charts 包装库 vue-google-charts 来绘制基本折线图。数据是时间序列的形式,我对工具提示的显示不满意:对于图表上的一个点,工具提示的格式是:“2,016.957 价格:1025 美元”(对应于 12 月, 2016)。
我想要的是具有以下格式的工具提示: “2016 年 12 月价格:1025 美元”或“2016.957 价格:1025 美元”。
虽然我可以使用标准的 Google Charts 库实现这两种格式的显示,但我似乎找不到使用 vue-google-charts 的解决方案。主要问题是 google.visualization.DataTable() 是在后台创建的;我所能做的就是将一个数组传递给它,并且无法进一步自定义列或数据表。所以我不能像这里描述的那样做:https://developers.google.com/chart/interactive/docs/customizing_tooltip_content#customizing-tooltip-content。
我探索的另一个解决方案是使用 Date 对象而不是小数作为时间轴。但是,工具提示的格式为“2016 年 12 月 1 日价格:1025 美元”,这也不是我想要的。同样,这个问题可以通过基本库 (https://developers.google.com/chart/interactive/docs/reference#dateformatter) 解决,但不能通过 Vue 的包装库解决。
有人知道在 vue-google-charts 库中自定义工具提示的方法吗?
<GChart
type="LineChart"
:data="chartData"
:options="chartOptions"
/>
export default {
data () {
return {
// Array will be automatically processed with visualization.arrayToDataTable function
chartData: [
['Time', 'Price'],
['2014.042', 1000], //january 2014
['2014.125', 1170], //february 2014
['2014.208', 1170], //march 2014
['2014.292', 1170], //april 2014
['2014.375', 1170], ...
['2014.458', 660],
['2014.542', 1030],
['2014.625', 1170],
['2014.708', 1170],
['2014.792', 1170],
['2014.875', 1170],
['2014.958', 1170], //december 2014
['2015.042', 1170],
],
chartOptions: {
chart: {
title: 'Company Performance',
subtitle: 'Sales, Expenses, and Profit: 2014-2017',
}
}
}
}
}
【问题讨论】:
-
您能否发布您如何创建传递给 GChart 的数据对象和选项对象?
-
developers.google.com/chart/interactive/docs/roles#tooltiprole 它的基本原理是它是传递给数据对象的列。您可以使用新的 Data() 方法或任何可用的库(例如 moment.js)来格式化数据
标签: vue.js charts google-visualization