javascript - x 轴上的条形位置
问题描述
如何设置条形在X轴上的显示位置:第一位置、第二位置等,不使用“,”(数据:[,,,,11504])?使用了echarts库,代码功能齐全。请帮我怎么写。如何以最佳方式缩短代码。提前致谢!代码来自 echarts 网站。
<!DOCTYPE html>
<html style="height: 100%">
<head>
<meta charset="utf-8">
</head>
<body style="height: 100%; margin: 0">
<div id="container" style="height: 100%"></div>
<script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/echarts.min.js"></script>
<script type="text/javascript">
var dom = document.getElementById("container");
var myChart = echarts.init(dom);
var app = {};
option = null;
app.title = '';
option = {
legend: {
data: ['Audi 1/2017', 'Audi 2/2017', 'Audi 1/2018','VW 1/2017','VW 1/2018','Volvo 1/2017','Volvo 1/2017','Lam 1/2017','Lam 2/2017','Lam 1/2018','Lam 2/2018','Lam 3/2018'],
orient: 'vertical',
align: 'right',
top: 20,
right: 10
},
xAxis: [{
type: 'category',
position: "bottom",
data: ['2017','2018','2017','2018','2017','2018','2017','2018']
}],
yAxis: {
type: 'value',
boundaryGap: [0, 0.01]
},
series: [
{
name: 'Audi 1/2017',
type: 'bar',
stack: '2017',
barWidth:'70%',
barGap: '-100%',
data: [11203]
},
{
name: 'Audi 2/2017',
type: 'bar',
stack: '2017',
barWidth:'70%',
barGap: '-100%',
data: [12325]
},
{
name: 'Audi 1/2018',
type: 'bar',
stack: '2018',
barWidth:'70%',
barGap: '-100%',
data: [,12594]
},
{
name: 'Lam 1/2017',
type: 'bar',
stack: 'UK2017',
barWidth:'70%',
barGap: '-100%',
data: [,,,,11504]
},
{
name: 'Lam 2/2017',
type: 'bar',
stack: 'UK2017',
barWidth:'70%',
barGap: '-100%',
data: [,,,,11203]
},
{
name: 'Lam 1/2018',
type: 'bar',
stack: 'UK2018',
barWidth:'70%',
barGap: '-100%',
data: [,,,,,11594]
},
{
name: 'Lam 2/2018',
type: 'bar',
stack: 'UK2018',
barWidth:'70%',
barGap: '-100%',
data: [,,,,,15094]
},
{
name: 'Lam 3/2018',
type: 'bar',
stack: 'UK2018',
barWidth:'70%',
barGap: '-100%',
data: [,,,,,21594]
}
]
};
;
if (option && typeof option === "object") {
myChart.setOption(option, true);
}
</script>
</body>
</html>
解决方案
您可以使用Array(length).fill(value, startIndex)
.
创建[,,,,,21594]
你写:
Array(6).fill(21594, 5)
你也可以Array(length).fill(value, startIndex, endIndexExclusive)
像这样使用:
Array(6).fill(21594, 2, 3)
哪个会返回[empty × 2, 21594, empty × 3]
。
您可以为此创建一个函数:
function getArray(index, value) {
return Array(index + 1).fill(value, index);
}
推荐阅读
- linux - Kubernetes - 本地存储 - nodeAffinity 不起作用
- java - 持久性上下文中的 EntityManager 不适用于 Spring Async 方法
- c++ - 在双精度向量上使用 C++ Eigen norm() 函数的问题
- php - 如何将数组的表单数据从角度发送到php脚本
- java - 如何在 Java Swing 应用程序中创建链接?
- javascript - 限制用户帖子/天 django(就像 stackoverflow 所做的那样)
- deep-learning - 带有 CIFAR-100 的 pytorch
- mongodb - MongoDb:如何为 Java 中的复合索引设置 IndexOptions 背景为真
- python - 从一年的日期创建月份的 bin
- arrays - For 循环执行时间过长