google-visualization - Google Visualization 以点的形式提供一条线
问题描述
我在使用 Google 可视化时遇到了以下问题。
我有 4 个特定数字的数组:
第一个数字数组 (X) 用于显示沿 X 轴的坐标。
第二个和第三个数组(Y1 和 Y2)是您想要以线的形式表示的 Y 轴坐标。
第四个数组(Y3)也是沿 Y 轴的坐标,必须用点表示。
我能够为第二个和第三个数组制作线条,但是经过很多天的搜索,我无法将 4 个数组显示为点图。在与 ComboChart 一起工作时也无法成功。我将非常感谢您的帮助。谢谢!
例子:
<div id="Graphic"></div>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script>
let X = [1, 2, 3, 4, 5, 6]; //Х;
let Y1 = [1, 1, 1, 1, 1, 1.1]; //First line;
let Y2 = [1.1, 1.1, 1.1, 1.1, 1.1, 1.2]; // Second line;
let Y3 = [1.2, 1.2, 1.2, 1.2, 1.2, 1.3]; // This should be presented in the form of points, not lines
google.charts.load("current", { packages: ["line"] });
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('number', 'Х');
data.addColumn('number', 'Y1');
data.addColumn('number', 'Y2');
data.addColumn('number', 'Y3');
for (let i = 0; i < 6; ++i) {
data.addRows([
[X[i], Y1[i], Y2[i], Y3[i]],
]);
}
var options = {
height: 500
};
var chart = new
google.charts.Line(document.getElementById('Graphic'));
chart.draw(data, google.charts.Line.convertOptions(options));
}
</script>
解决方案
您正在使用材料折线图 -->packages: ["line"]
google.charts.Line
Material不支持的选项有很多,
请参见 --> Tracking Issue for Material Chart Feature Parity
使用经典图表 -->packages: ["corechart"]
google.visualization.LineChart
有几种方法可以实现,
最简单的方法是更改系列类型...
var options = {
height: 500,
series: {
2: {
type: 'scatter'
}
}
};
请参阅以下工作片段...
let X = [1, 2, 3, 4, 5, 6]; //?;
let Y1 = [1, 1, 1, 1, 1, 1.1]; //First line;
let Y2 = [1.1, 1.1, 1.1, 1.1, 1.1, 1.2]; // Second line;
let Y3 = [1.2, 1.2, 1.2, 1.2, 1.2, 1.3]; // This should be presented in the form of points, not lines
google.charts.load("current", { packages: ["corechart"] });
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('number', '?');
data.addColumn('number', 'Y1');
data.addColumn('number', 'Y2');
data.addColumn('number', 'Y3');
for (let i = 0; i < 6; ++i) {
data.addRows([
[X[i], Y1[i], Y2[i], Y3[i]],
]);
}
var options = {
height: 500,
series: {
2: {
type: 'scatter'
}
}
};
var chart = new google.visualization.LineChart(document.getElementById('Graphic'));
chart.draw(data, options);
}
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="Graphic"></div>
推荐阅读
- javascript - 无法从 firebase/storage 导入 { getStorage } 以与 React Native Expo 图像选择器一起使用
- javascript - 如何检查 cookie Testcafe & JS 的值?
- python - AttributeError:模块“skimage”没有属性“__version__”
- django - AWS Polly 生成的 .mp3 文件根本不运行
- excel - PowerPivot 表中的动态 PercentRank
- python - TIFF 压缩 - Fax3SetupState:对于组 3/4 编码/解码,位/样本必须为 1
- swift - swift - 如何在Swift中用一个条形制作具有多种颜色的UIProgressView?
- android-studio - Android Studio:为 Wear 应用中的布局设置约束
- javascript - 从 DOM 元素中获取 CanvasJS 图表的实例
- arrays - 使用 map 过滤两个边界之间的数组