次の問題があります。チャートで作業する必要があるカスタム アイコンについての情報を得るために、カスタム アイテムをradar chart
に追加しようとしています。extjs
レーダーチャートは正常に機能し、シリーズに追加するだけで凡例のアイテムを取得しましたが、追加された値がないため、コンソールにエラーが表示されます。値がありません。
私が探しているのは、基本的に、対話不可能な追加の凡例項目を追加する方法です (onclick、hover などはありません)。
これは可能ですか?
次の問題があります。チャートで作業する必要があるカスタム アイコンについての情報を得るために、カスタム アイテムをradar chart
に追加しようとしています。extjs
レーダーチャートは正常に機能し、シリーズに追加するだけで凡例のアイテムを取得しましたが、追加された値がないため、コンソールにエラーが表示されます。値がありません。
私が探しているのは、基本的に、対話不可能な追加の凡例項目を追加する方法です (onclick、hover などはありません)。
これは可能ですか?
これを実現する最善の方法は、 の独自の拡張 (またはオーバーライド) を定義することですExt.chart.LegendItem
。Ext.chart.Legend
次に、カスタムの Legend Item を使用するために拡張 (またはオーバーライド) する必要があります。
面倒なことをすべてやりたくない場合は、フィールドをストアに追加して (データがなくても)、シリーズをグラフに追加することで、凡例項目を追加することができました。エラーは発生していませんが、あなたがやろうとしたことと似ています。このフィドルを参照してください。
var store = Ext.create('Ext.data.JsonStore', {
fields: ['name', 'data1', 'data2', 'data3', 'data4'],
data: [
{ 'name': 'metric one', 'data1': 14, 'data2': 12, 'data3': 13 },
{ 'name': 'metric two', 'data1': 16, 'data2': 8, 'data3': 3 },
{ 'name': 'metric three', 'data1': 14, 'data2': 2, 'data3': 7 },
{ 'name': 'metric four', 'data1': 6, 'data2': 14, 'data3': 23 },
{ 'name': 'metric five', 'data1': 36, 'data2': 38, 'data3': 33 }
]
});
Ext.create('Ext.chart.Chart', {
renderTo: Ext.getBody(),
width: 500,
height: 300,
animate: true,
theme:'Category2',
store: store,
legend: {
position: 'top'
},
axes: [{
type: 'Radial',
position: 'radial',
label: {
display: true
}
}],
series: [{
type: 'radar',
xField: 'name',
yField: 'data1',
showInLegend: true,
showMarkers: true,
markerConfig: {
radius: 5,
size: 5
},
style: {
'stroke-width': 2,
fill: 'none'
}
},{
type: 'radar',
xField: 'name',
yField: 'data2',
showMarkers: true,
showInLegend: true,
markerConfig: {
radius: 5,
size: 5
},
style: {
'stroke-width': 2,
fill: 'none'
}
},{
type: 'radar',
xField: 'name',
yField: 'data3',
showMarkers: true,
showInLegend: true,
markerConfig: {
radius: 5,
size: 5
},
style: {
'stroke-width': 2,
fill: 'none'
}
},{
type: 'radar',
xField: 'name',
yField: 'data4',
showMarkers: false,
showInLegend: true,
markerConfig: {
radius: 5,
size: 5
},
style: {
'stroke-width': 2,
fill: 'none'
}
}]
});