スキャッターextjsチャートを作成しようとすると、次のような問題が発生しました。カテゴリ軸の名前がグループ化されていません(同じ名前の配列要素は同じものとして扱われません)。グラフはそれを数学関数として描画しようとしているようです(各xにyの要素が1つだけあります)が、それを避けるために意図的に散布図を選択しました。
グーグルでanserを見つけようとしましたが、私が見つけた唯一の結果はただ受け入れることです...
これはコードです:
window.store_direct = Ext.create('Ext.data.JsonStore', {
fields: ['id','line','bidder','data0','data1','data2','data3'],
data: [
{'line':1000.00,'id':0,'bidder':'Пок','data0':1000.00},
{'line':800.00,'id':1,'bidder':'Пок','data0':800.00},
{'line':950.00,'id':0,'bidder':'Брг','data1':950.00},
{'line':599.00,'id':1,'bidder':'Брг','data1':599.00},
{'line':1.00,'id':2,'bidder':'Брг','data1':1.00},
{'line':500.00,'id':0,'bidder':'КВВ','data2':500.00},
{'line':900.00,'id':0,'bidder':'Buy4','data3':900.00},
{'line':600.00,'id':1,'bidder':'Buy4','data3':600.00}
],
});
var chart = function () {
var win = Ext.create('Ext.Window', {
renderTo: Ext.getBody(),
width: 500,
height: 300,
animate: true,
hidden: false,
maximizable: true,
title: 'Процесс торгов',
layout: 'fit',
items:{xtype: 'chart',style: 'background:#fff;',animate: true,store: store_direct,shadow: true,legend: {position: 'right'},
axes: [{
type: 'Numeric',
position: 'left',
fields: ['data0','data1','data2','data3'],
label: {
renderer: Ext.util.Format.numberRenderer('0,0')
},
title: 'Sample Values',
grid: true,
minimum: 0
}, {
type: 'Category',
position: 'bottom',
fields: ['bidder'],
title: 'Sample Metrics'
}],
series: [
{
type: 'Scatter',
highlight: {size: 7,radius: 7},
axis: 'left',
xField: 'bidder',
yField: 'data0',
markerConfig: {type: 'cross',size: 4,radius: 4,'stroke-width': 0}
}
, {
type: 'Scatter',
highlight: {size: 7,radius: 7},
axis: 'left',
xField: 'bidder',
yField: 'data1',
markerConfig: {type: 'cross',size: 4,radius: 4,'stroke-width': 0}
}
, {
type: 'Scatter',
highlight: {size: 7,radius: 7},
axis: 'left',
xField: 'bidder',
yField: 'data2',
markerConfig: {type: 'cross',size: 4,radius: 4,'stroke-width': 0}
}
, {
type: 'Scatter',
highlight: {size: 7,radius: 7},
axis: 'left',
xField: 'bidder',
yField: 'data3',
markerConfig: {type: 'cross',size: 4,radius: 4,'stroke-width': 0}
}
]
}
});
}