在 gVisLineChart 系列之间添加间距
Add spacing between gVisLineChart series
我正在使用 R 中的 Google Vis (gVisLineChart
) 制作一个简单的折线图。我有几个系列显示在同一个图表上。他们之间没有关系。
如果我只有两个系列,我会用左边的纵轴表示一个,用右边的纵轴表示另一个。但是,我有 4 个系列。我隐藏了轴(它们对我来说毫无意义),最后我得到了相互交叉的线。这是一个例子:
这是我想要的:
我不是一个很好的艺术家,但正如你所看到的,我想增加系列之间的间距以限制线条交叉。
我已经阅读 Google Vis 的文档数小时并尝试了我能找到的所有选项,但我无法做到。
没有任何配置选项,
但您可以增加显示的值,
所以它们实际上更大,地块更高,
但在工具提示中显示真实值。
工具提示将显示数据中单元格的格式化值table。
我们可以通过几种方式完成。
1)加载数据table,然后使用数据table方法setFormattedValue
改变格式化值
2) 使用对象表示法,我们可以提供值 (v:
) 和 (f:
) 格式化值,
加载数据时 table。
{v: 100, f:'10'} // <-- will plot 100 but display 10
请参阅以下工作片段,
在这里,我使用数据视图和计算列来更改绘图值,
但在工具提示中显示真实值。
google.charts.load('current', {
packages: ['corechart']
}).then(function () {
var chartData = [
['x', 'y0', 'y1', 'y2'],
[0, 10, 12, 18],
[2, 16, 18, 19],
[4, 18, 19, 24],
[6, 26, 28, 22],
[8, 13, 15, 21],
[10, 32, 31, 33]
];
var data = google.visualization.arrayToDataTable(chartData);
var columns = [0];
for (var i = 1; i < data.getNumberOfColumns(); i++) {
addColumn(i);
}
var view = new google.visualization.DataView(data);
view.setColumns(columns);
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(view, {
height: 400,
vAxis: {
textPosition: 'none'
}
});
function addColumn(index) {
columns.push({
calc: function (dt, row) {
return {
v: dt.getValue(row, index) + (index * 20),
f: dt.getFormattedValue(row, index)
};
},
label: data.getColumnLabel(index),
type: data.getColumnType(index)
});
}
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>
例如
我正在使用 R 中的 Google Vis (gVisLineChart
) 制作一个简单的折线图。我有几个系列显示在同一个图表上。他们之间没有关系。
如果我只有两个系列,我会用左边的纵轴表示一个,用右边的纵轴表示另一个。但是,我有 4 个系列。我隐藏了轴(它们对我来说毫无意义),最后我得到了相互交叉的线。这是一个例子:
这是我想要的:
我不是一个很好的艺术家,但正如你所看到的,我想增加系列之间的间距以限制线条交叉。
我已经阅读 Google Vis 的文档数小时并尝试了我能找到的所有选项,但我无法做到。
没有任何配置选项,
但您可以增加显示的值,
所以它们实际上更大,地块更高,
但在工具提示中显示真实值。
工具提示将显示数据中单元格的格式化值table。
我们可以通过几种方式完成。
1)加载数据table,然后使用数据table方法setFormattedValue
改变格式化值
2) 使用对象表示法,我们可以提供值 (v:
) 和 (f:
) 格式化值,
加载数据时 table。
{v: 100, f:'10'} // <-- will plot 100 but display 10
请参阅以下工作片段,
在这里,我使用数据视图和计算列来更改绘图值,
但在工具提示中显示真实值。
google.charts.load('current', {
packages: ['corechart']
}).then(function () {
var chartData = [
['x', 'y0', 'y1', 'y2'],
[0, 10, 12, 18],
[2, 16, 18, 19],
[4, 18, 19, 24],
[6, 26, 28, 22],
[8, 13, 15, 21],
[10, 32, 31, 33]
];
var data = google.visualization.arrayToDataTable(chartData);
var columns = [0];
for (var i = 1; i < data.getNumberOfColumns(); i++) {
addColumn(i);
}
var view = new google.visualization.DataView(data);
view.setColumns(columns);
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(view, {
height: 400,
vAxis: {
textPosition: 'none'
}
});
function addColumn(index) {
columns.push({
calc: function (dt, row) {
return {
v: dt.getValue(row, index) + (index * 20),
f: dt.getFormattedValue(row, index)
};
},
label: data.getColumnLabel(index),
type: data.getColumnType(index)
});
}
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>
例如