google 多值散点图 angular 4
google scatter chart with multiple values angular 4
我正在使用 ng2-google-charts 在 angular 4 中构建散点图
https://www.npmjs.com/package/ng2-google-charts
所以实际上我认为这是 google 图表服务的包装
该图看起来很好,只有很少的值。但是,我尝试使用具有很多价值(大约 100)的图表。图形变成这样
如您所见,两个轴太小,无法显示所有值的所有范围。 (在 x 轴上看不到任何值)
有没有办法解决这个问题??
参考这个文档:https://developers.google.com/chart/interactive/docs/gallery/scatterchart#configuration-options
尝试:
我已尝试使用配置手动设置图表的宽度和高度,这有效
chartArea:{width:"80%"},
height: 500,
width: 1350
但是图表是否会自动定义一个大小以漂亮地适合所有值
尝试使用选项 --> chartArea
您可以将图表区域拉伸到容器的边缘,
然后在顶部、左侧、底部和右侧为标题和标签留出空间...
// set chart area size
chartArea: {
height: '100%',
width: '100%',
top: 48, // leave room on top edge (adjust accordingly)
left: 48, // leave room on left edge
right: 16, // leave room on right edge
bottom: 48 // leave room on bottom edge
},
// set overall chart size
height: '100%',
width: '100%',
在这种情况下,图表的高度看起来很窄,
您可能还需要减小轴标签上的字体大小...
// adjust font size on each axis
hAxis: {
textStyle: {
fontSize: 9
}
},
vAxis: {
textStyle: {
fontSize: 9
}
},
请参阅以下工作片段...
google.charts.load('current', {
packages: ['corechart']
}).then(function () {
var statsData = new google.visualization.DataTable();
statsData.addColumn('number', 'x');
statsData.addColumn('number', 'y');
statsData.addRows([
[0, 0], [1, 10], [2, 23], [3, 17], [4, 18], [5, 9],
[6, 11], [7, 27], [8, 33], [9, 40], [10, 32], [11, 35],
[12, 30], [13, 40], [14, 42], [15, 47], [16, 44], [17, 48],
[18, 52], [19, 54], [20, 42], [21, 55], [22, 56], [23, 57],
[24, 60], [25, 50], [26, 52], [27, 51], [28, 49], [29, 53],
[30, 55], [31, 60], [32, 61], [33, 59], [34, 62], [35, 65],
[36, 62], [37, 58], [38, 55], [39, 61], [40, 64], [41, 65],
[42, 63], [43, 66], [44, 67], [45, 69], [46, 69], [47, 70],
[48, 72], [49, 68], [50, 66], [51, 65], [52, 67], [53, 70],
[54, 71], [55, 72], [56, 73], [57, 75], [58, 70], [59, 68],
[60, 64], [61, 60], [62, 65], [63, 67], [64, 68], [65, 69],
[66, 70], [67, 72], [68, 75], [69, 80]
]);
var options = {
// set chart area size
chartArea: {
height: '100%',
width: '100%',
top: 32, // leave room on top edge (adjust accordingly)
left: 24, // leave room on left edge
right: 12, // leave room on right edge
bottom: 24 // leave room on bottom edge
},
// set overall chart size
height: '100%',
width: '100%',
// adjust font size on each axis
hAxis: {
textStyle: {
fontSize: 9
}
},
vAxis: {
textStyle: {
fontSize: 9
}
},
legend: {
position: 'top'
}
};
var chart = new google.visualization.ScatterChart(document.getElementById('chart_div'));
drawChart();
window.addEventListener('resize', drawChart, false);
function drawChart() {
chart.draw(statsData, options);
}
});
html, body {
height: 100%;
margin: 0px 0px 0px 0px;
overflow: hidden;
padding: 0px 0px 0px 0px;
}
.chart {
height: 100%;
}
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div class="chart" id="chart_div"></div>
我正在使用 ng2-google-charts 在 angular 4 中构建散点图 https://www.npmjs.com/package/ng2-google-charts
所以实际上我认为这是 google 图表服务的包装
该图看起来很好,只有很少的值。但是,我尝试使用具有很多价值(大约 100)的图表。图形变成这样
如您所见,两个轴太小,无法显示所有值的所有范围。 (在 x 轴上看不到任何值)
有没有办法解决这个问题??
参考这个文档:https://developers.google.com/chart/interactive/docs/gallery/scatterchart#configuration-options
尝试: 我已尝试使用配置手动设置图表的宽度和高度,这有效
chartArea:{width:"80%"},
height: 500,
width: 1350
但是图表是否会自动定义一个大小以漂亮地适合所有值
尝试使用选项 --> chartArea
您可以将图表区域拉伸到容器的边缘,
然后在顶部、左侧、底部和右侧为标题和标签留出空间...
// set chart area size
chartArea: {
height: '100%',
width: '100%',
top: 48, // leave room on top edge (adjust accordingly)
left: 48, // leave room on left edge
right: 16, // leave room on right edge
bottom: 48 // leave room on bottom edge
},
// set overall chart size
height: '100%',
width: '100%',
在这种情况下,图表的高度看起来很窄,
您可能还需要减小轴标签上的字体大小...
// adjust font size on each axis
hAxis: {
textStyle: {
fontSize: 9
}
},
vAxis: {
textStyle: {
fontSize: 9
}
},
请参阅以下工作片段...
google.charts.load('current', {
packages: ['corechart']
}).then(function () {
var statsData = new google.visualization.DataTable();
statsData.addColumn('number', 'x');
statsData.addColumn('number', 'y');
statsData.addRows([
[0, 0], [1, 10], [2, 23], [3, 17], [4, 18], [5, 9],
[6, 11], [7, 27], [8, 33], [9, 40], [10, 32], [11, 35],
[12, 30], [13, 40], [14, 42], [15, 47], [16, 44], [17, 48],
[18, 52], [19, 54], [20, 42], [21, 55], [22, 56], [23, 57],
[24, 60], [25, 50], [26, 52], [27, 51], [28, 49], [29, 53],
[30, 55], [31, 60], [32, 61], [33, 59], [34, 62], [35, 65],
[36, 62], [37, 58], [38, 55], [39, 61], [40, 64], [41, 65],
[42, 63], [43, 66], [44, 67], [45, 69], [46, 69], [47, 70],
[48, 72], [49, 68], [50, 66], [51, 65], [52, 67], [53, 70],
[54, 71], [55, 72], [56, 73], [57, 75], [58, 70], [59, 68],
[60, 64], [61, 60], [62, 65], [63, 67], [64, 68], [65, 69],
[66, 70], [67, 72], [68, 75], [69, 80]
]);
var options = {
// set chart area size
chartArea: {
height: '100%',
width: '100%',
top: 32, // leave room on top edge (adjust accordingly)
left: 24, // leave room on left edge
right: 12, // leave room on right edge
bottom: 24 // leave room on bottom edge
},
// set overall chart size
height: '100%',
width: '100%',
// adjust font size on each axis
hAxis: {
textStyle: {
fontSize: 9
}
},
vAxis: {
textStyle: {
fontSize: 9
}
},
legend: {
position: 'top'
}
};
var chart = new google.visualization.ScatterChart(document.getElementById('chart_div'));
drawChart();
window.addEventListener('resize', drawChart, false);
function drawChart() {
chart.draw(statsData, options);
}
});
html, body {
height: 100%;
margin: 0px 0px 0px 0px;
overflow: hidden;
padding: 0px 0px 0px 0px;
}
.chart {
height: 100%;
}
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div class="chart" id="chart_div"></div>