338 lines
12 KiB
JavaScript
338 lines
12 KiB
JavaScript
|
var randomDataLength = 10000;
|
||
|
var randomData = (function (){
|
||
|
var l = [];
|
||
|
var len = randomDataLength;
|
||
|
while(len--) {
|
||
|
l.push(Math.round(Math.random()* 1000));
|
||
|
}
|
||
|
return l;
|
||
|
})();
|
||
|
|
||
|
function option(chartType, n) {
|
||
|
var opt = {
|
||
|
animation:false,
|
||
|
title : {
|
||
|
text: chartType + '性能测试',
|
||
|
subtext: '自动生成' + n + '数据'
|
||
|
},
|
||
|
tooltip : {
|
||
|
trigger: 'axis'
|
||
|
},
|
||
|
legend: {
|
||
|
data:['性能测试']
|
||
|
},
|
||
|
toolbox: {
|
||
|
show : true,
|
||
|
feature : {
|
||
|
mark : {show: true},
|
||
|
//dataZoom : {show: true},
|
||
|
dataView : {show: true, readOnly: false},
|
||
|
magicType : {show: true, type: ['line', 'bar']},
|
||
|
restore : {show: true},
|
||
|
saveAsImage : {show: true}
|
||
|
}
|
||
|
},
|
||
|
dataRange: {
|
||
|
min: 0,
|
||
|
max: 1000,
|
||
|
calculable : true,
|
||
|
color: ['orangered','yellow','lightskyblue']
|
||
|
},
|
||
|
series : [
|
||
|
{
|
||
|
name:'性能测试',
|
||
|
type: chartType,
|
||
|
mapType: 'world',
|
||
|
roam: true,
|
||
|
large:true,
|
||
|
data: function (){
|
||
|
switch(chartType) {
|
||
|
case 'scatter' :
|
||
|
return scatterData(n);
|
||
|
case 'k' :
|
||
|
return kData(n);
|
||
|
case 'radar' :
|
||
|
return radarData(n);
|
||
|
case 'pie' :
|
||
|
return pieData(n);
|
||
|
case 'map' :
|
||
|
return mapData(n);
|
||
|
default :
|
||
|
var list = [];
|
||
|
for (var i = 1; i <= n; i++) {
|
||
|
list.push({
|
||
|
value : randomData[i % randomDataLength],
|
||
|
name : i
|
||
|
});
|
||
|
}
|
||
|
return list;
|
||
|
}
|
||
|
}()
|
||
|
}
|
||
|
]
|
||
|
};
|
||
|
if (chartType == 'line'
|
||
|
|| chartType == 'bar'
|
||
|
|| chartType == 'k'
|
||
|
) {
|
||
|
opt.xAxis = [
|
||
|
{
|
||
|
type : 'category',
|
||
|
data : function (){
|
||
|
var list = [];
|
||
|
for (var i = 1; i <= n; i++) {
|
||
|
list.push(i);
|
||
|
}
|
||
|
return list;
|
||
|
}()
|
||
|
}
|
||
|
];
|
||
|
opt.yAxis = [
|
||
|
{
|
||
|
type : 'value'
|
||
|
}
|
||
|
];
|
||
|
}
|
||
|
else if (chartType == 'scatter') {
|
||
|
opt.xAxis = [
|
||
|
{
|
||
|
type : 'value'
|
||
|
}
|
||
|
];
|
||
|
opt.yAxis = [
|
||
|
{
|
||
|
type : 'value'
|
||
|
}
|
||
|
];
|
||
|
}
|
||
|
else if (chartType == 'radar') {
|
||
|
opt.polar = [
|
||
|
{
|
||
|
indicator : [
|
||
|
{ text: '1', max: 1000},
|
||
|
{ text: '2', max: 1000},
|
||
|
{ text: '3', max: 1000},
|
||
|
{ text: '4', max: 1000},
|
||
|
{ text: '3', max: 1000}
|
||
|
]
|
||
|
}
|
||
|
];
|
||
|
}
|
||
|
else if (chartType == 'chord') {
|
||
|
opt.series = chordSeries();
|
||
|
}
|
||
|
return opt;
|
||
|
}
|
||
|
|
||
|
function scatterData(n){
|
||
|
var list = [];
|
||
|
for (var i = 1; i <= n; i++) {
|
||
|
list.push([
|
||
|
i , randomData[i % randomDataLength]
|
||
|
]);
|
||
|
}
|
||
|
return list;
|
||
|
}
|
||
|
function kData(n){
|
||
|
var list = [];
|
||
|
for (var i = 1; i <= n; i++) {
|
||
|
list.push([
|
||
|
randomData[i % randomDataLength],
|
||
|
randomData[(i+1) % randomDataLength],
|
||
|
randomData[(i+2) % randomDataLength],
|
||
|
randomData[(i+3) % randomDataLength]
|
||
|
]);
|
||
|
}
|
||
|
return list;
|
||
|
}
|
||
|
|
||
|
function radarData(n){
|
||
|
var list = [];
|
||
|
n = n > 200 ? 200 : n;
|
||
|
for (var i = 1; i <= n; i++) {
|
||
|
list.push({
|
||
|
value : [
|
||
|
randomData[i % randomDataLength],
|
||
|
randomData[(i+1) % randomDataLength],
|
||
|
randomData[(i+2) % randomDataLength],
|
||
|
randomData[(i+3) % randomDataLength],
|
||
|
randomData[(i+4) % randomDataLength]
|
||
|
],
|
||
|
name : i
|
||
|
});
|
||
|
}
|
||
|
return list;
|
||
|
}
|
||
|
|
||
|
function pieData(n){
|
||
|
var list = [];
|
||
|
n = n > 200 ? 200 : n;
|
||
|
for (var i = 1; i <= n; i++) {
|
||
|
list.push({
|
||
|
value : randomData[i % randomDataLength],
|
||
|
name : i
|
||
|
});
|
||
|
}
|
||
|
return list;
|
||
|
}
|
||
|
|
||
|
function chordSeries() {
|
||
|
return [
|
||
|
{
|
||
|
"name": "性能测试",
|
||
|
"type": "chord",
|
||
|
"showScaleText": false,
|
||
|
"data": [
|
||
|
{"name": "美国"},
|
||
|
{"name": "叙利亚反对派"},
|
||
|
{"name": "阿萨德"},
|
||
|
{"name": "伊朗"},
|
||
|
{"name": "塞西"},
|
||
|
{"name": "哈马斯"},
|
||
|
{"name": "以色列"},
|
||
|
{"name": "穆斯林兄弟会"},
|
||
|
{"name": "基地组织"},
|
||
|
{"name": "俄罗斯"},
|
||
|
{"name": "黎巴嫩什叶派"},
|
||
|
{"name": "土耳其"},
|
||
|
{"name": "卡塔尔"},
|
||
|
{"name": "沙特"},
|
||
|
{"name": "黎巴嫩逊尼派"}
|
||
|
],
|
||
|
"matrix": [
|
||
|
[0,100,0,0,0,0,100,0,0,0,0,0,0,0,0],
|
||
|
[10,0,0,0,0,10,10,0,10,0,0,10,10,10,10],
|
||
|
[0,0,0,10,0,0,0,0,0,10,10,0,0,0,0],
|
||
|
[0,0,100,0,0,100,0,0,0,0,100,0,0,0,0],
|
||
|
[0,0,0,0,0,0,0,0,0,0,0,0,0,10,0],
|
||
|
[0,100,0,10,0,0,0,0,0,0,0,0,10,0,0],
|
||
|
[10,100,0,0,0,0,0,0,0,0,0,0,0,0,0],
|
||
|
[0,0,0,0,0,0,0,0,0,0,0,10,10,0,0],
|
||
|
[0,100,0,0,0,0,0,0,0,0,0,0,0,0,0],
|
||
|
[0,0,100,0,0,0,0,0,0,0,0,0,0,0,0],
|
||
|
[0,0,100,10,0,0,0,0,0,0,0,0,0,0,0],
|
||
|
[0,100,0,0,0,0,0,100,0,0,0,0,0,0,0],
|
||
|
[0,100,0,0,0,100,0,100,0,0,0,0,0,0,0],
|
||
|
[0,100,0,0,100,0,0,0,0,0,0,0,0,0,100],
|
||
|
[0,100,0,0,0,0,0,0,0,0,0,0,0,10,0]
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"name": "反对",
|
||
|
"type": "chord",
|
||
|
"showScaleText": false,
|
||
|
"data": [
|
||
|
{"name": "美国"},
|
||
|
{"name": "叙利亚反对派"},
|
||
|
{"name": "阿萨德"},
|
||
|
{"name": "伊朗"},
|
||
|
{"name": "塞西"},
|
||
|
{"name": "哈马斯"},
|
||
|
{"name": "以色列"},
|
||
|
{"name": "穆斯林兄弟会"},
|
||
|
{"name": "基地组织"},
|
||
|
{"name": "俄罗斯"},
|
||
|
{"name": "黎巴嫩什叶派"},
|
||
|
{"name": "土耳其"},
|
||
|
{"name": "卡塔尔"},
|
||
|
{"name": "沙特"},
|
||
|
{"name": "黎巴嫩逊尼派"}
|
||
|
],
|
||
|
"matrix": [
|
||
|
[0,0,100,100,0,100,0,0,100,0,0,0,0,0,0],
|
||
|
[0,0,0,10,0,0,0,0,0,10,10,0,0,0,0],
|
||
|
[10,0,0,0,0,0,10,10,10,0,0,10,10,0,10],
|
||
|
[10,100,0,0,0,0,0,0,0,0,0,0,0,0,0],
|
||
|
[0,0,0,0,0,10,0,100,0,0,0,10,10,0,0],
|
||
|
[10,0,0,0,100,0,10,0,0,0,0,0,0,0,0],
|
||
|
[0,0,100,0,0,100,0,0,0,0,0,0,0,0,0],
|
||
|
[0,0,100,0,10,0,0,0,0,0,0,0,0,10,0],
|
||
|
[10,0,100,0,0,0,0,0,0,0,0,0,0,100,0],
|
||
|
[0,100,0,0,0,0,0,0,0,0,0,0,0,0,0],
|
||
|
[0,100,0,0,0,0,0,0,0,0,0,0,0,0,0],
|
||
|
[0,0,100,0,100,0,0,0,0,0,0,0,0,0,0],
|
||
|
[0,0,100,0,100,0,0,0,0,0,0,0,0,0,0],
|
||
|
[0,0,0,0,0,0,0,100,10,0,0,0,0,0,0],
|
||
|
[0,0,100,0,0,0,0,0,0,0,0,0,0,0,0]
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"name": "未表态",
|
||
|
"type": "chord",
|
||
|
"showScaleText": false,
|
||
|
"data": [
|
||
|
{"name": "美国"},
|
||
|
{"name": "叙利亚反对派"},
|
||
|
{"name": "阿萨德"},
|
||
|
{"name": "伊朗"},
|
||
|
{"name": "塞西"},
|
||
|
{"name": "哈马斯"},
|
||
|
{"name": "以色列"},
|
||
|
{"name": "穆斯林兄弟会"},
|
||
|
{"name": "基地组织"},
|
||
|
{"name": "俄罗斯"},
|
||
|
{"name": "黎巴嫩什叶派"},
|
||
|
{"name": "土耳其"},
|
||
|
{"name": "卡塔尔"},
|
||
|
{"name": "沙特"},
|
||
|
{"name": "黎巴嫩逊尼派"}
|
||
|
],
|
||
|
"matrix": [
|
||
|
[0,0,0,0,100,0,0,100,0,0,0,0,0,0,0],
|
||
|
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
|
||
|
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
|
||
|
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
|
||
|
[10,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
|
||
|
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
|
||
|
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
|
||
|
[10,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
|
||
|
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
|
||
|
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
|
||
|
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
|
||
|
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
|
||
|
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
|
||
|
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],
|
||
|
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
|
||
|
]
|
||
|
}
|
||
|
];
|
||
|
}
|
||
|
|
||
|
function mapData(n) {
|
||
|
var countryList = [
|
||
|
'Afghanistan','Angola','Albania','United Arab Emirates','Argentina','Armenia',
|
||
|
'French Southern and Antarctic Lands','Australia','Austria','Azerbaijan','Burundi',
|
||
|
'Belgium','Benin','Burkina Faso','Bangladesh','Bulgaria','The Bahamas',
|
||
|
'Bosnia and Herzegovina','Belarus','Belize','Bermuda','Bolivia','Brazil','Brunei',
|
||
|
'Bhutan','Botswana','Central African Republic','Canada','Switzerland','Chile','China',
|
||
|
'Ivory Coast','Cameroon','Democratic Republic of the Congo','Republic of the Congo',
|
||
|
'Colombia','Costa Rica','Cuba','Northern Cyprus','Cyprus','Czech Republic','Germany',
|
||
|
'Djibouti','Denmark','Dominican Republic','Algeria','Ecuador','Egypt','Eritrea','Spain',
|
||
|
'Estonia','Ethiopia','Finland','Fiji','Falkland Islands','France','Gabon','United Kingdom',
|
||
|
'Georgia','Ghana','Guinea','Gambia','Guinea Bissau','Equatorial Guinea','Greece',
|
||
|
'Greenland','Guatemala','French Guiana','Guyana','Honduras','Croatia','Haiti','Hungary',
|
||
|
'Indonesia','India','Ireland','Iran','Iraq','Iceland','Israel','Italy','Jamaica','Jordan',
|
||
|
'Japan','Kazakhstan','Kenya','Kyrgyzstan','Cambodia','South Korea','Kosovo','Kuwait',
|
||
|
'Laos','Lebanon','Liberia','Libya','Sri Lanka','Lesotho','Lithuania','Luxembourg','Latvia',
|
||
|
'Morocco','Moldova','Madagascar','Mexico','Macedonia','Mali','Myanmar','Montenegro',
|
||
|
'Mongolia','Mozambique','Mauritania','Malawi','Malaysia','Namibia','New Caledonia','Niger',
|
||
|
'Nigeria','Nicaragua','Netherlands','Norway','Nepal','New Zealand','Oman','Pakistan',
|
||
|
'Panama','Peru','Philippines','Papua New Guinea','Poland','Puerto Rico','North Korea',
|
||
|
'Portugal','Paraguay','Qatar','Romania','Russia','Rwanda','Western Sahara','Saudi Arabia',
|
||
|
'Sudan','South Sudan','Senegal','Solomon Islands','Sierra Leone','El Salvador','Somaliland',
|
||
|
'Somalia','Republic of Serbia','Suriname','Slovakia','Slovenia','Sweden','Swaziland',
|
||
|
'Syria','Chad','Togo','Thailand','Tajikistan','Turkmenistan','East Timor',
|
||
|
'Trinidad and Tobago','Tunisia','Turkey','United Republic of Tanzania','Uganda','Ukraine',
|
||
|
'Uruguay','United States of America','Uzbekistan','Venezuela','Vietnam','Vanuatu',
|
||
|
'West Bank','Yemen','South Africa','Zambia','Zimbabwe'
|
||
|
];
|
||
|
var list = [];
|
||
|
for (var i = 0, l = countryList.length; i < l; i ++) {
|
||
|
list.push({
|
||
|
name : countryList[i],
|
||
|
value : randomData[(i + n) % randomDataLength]
|
||
|
});
|
||
|
}
|
||
|
return list;
|
||
|
}
|