extjs図形描画の円グラフの実現方法の分析
この実例はextjs図形描画の円グラフの実現方法を述べている。皆さんに参考にしてあげます。具体的には以下の通りです。
この文章はextjsに持参した円グラフを紹介します。
コードは以下の通りです
1.上記のcreateStoreは円グラフ作成に必要なデータのstoreです。
2.上記の中のlegend 表示された右側の凡例(どのブロックがどのデータを表しているかを示しています)は、レゲントの中のposition属性が凡例の位置を調整することができます。中には「left」、「Right」、「bottom」、「top」が左右上下の位置を表しています。
3.show InLegendはboot値であり、falseの場合は上記の凡例を表示しない。
4.tipsここでは、マウスを円グラフに置いた時に表示されるヒント文字であり、そこのレンダー方法ではヒントとなる内容を設定することができます。
5.label 円グラフのテキストの一部の属性を設定します。その中のdisplay属性は文字を円グラフの中の位置に決定し、「outside」と「rotate」の二種類の方式が共有されています。前者は文字をグラフの外に表示し、後者の文字は図表の中に表示されます。
JavaScriptに関するより多くの内容に興味がある読者は、本局のテーマを見ることができます。「JavaScript画像操作技術大全書」、「JavaScript切替特効とテクニックのまとめ」、「JavaScript運動効果とテクニックのまとめ」、「JavaScriptアニメーションの特効と技巧のまとめ」、「JavaScriptエラーとデバッグテクニックのまとめ」、「JavaScriptデータ構造とアルゴリズム技術のまとめ」および「JavaScriptはアルゴリズムと技術の総括を遍歴します。」
本論文で述べたように、JavaScriptプログラムの設計に役に立ちます。
この文章はextjsに持参した円グラフを紹介します。
コードは以下の通りです
Ext.define('ChartPieTest', {
extend: 'Ext.panel.Panel',
autoScroll : true,
initComponent: function () {
var me = this;
me.store = me.createStore();
me.grid = me.getGridPanel();
me.mainPanel = Ext.create('Ext.panel.Panel',{
layout:'fit',
items:[me.grid],
});
Ext.apply(me,{
layout:'fit',
items:[me.mainPanel]
});
me.callParent();
me.mainPanel.down('chart').on('cellclick', function(grid, td, cellIndex, record, tr, rowIndex, e, eOpts) {
me.onCellClick(cellIndex, record);
});
},
getGridPanel:function(){
var me = this;
return {
xtype:'chart',
insetPadding: 40,
animate : true,//
legend: {//
position: "right",
spacing: 12,
padding: 5,
font: {
name: 'Tahoma',
color: '#3366FF',
size: 12,
bold: true
}
},
store:me.store,
//axes:me.createAxes(),
series:me.createSeries(),
}
},
createStore: function () {
var me = this;
return Ext.create('Ext.data.JsonStore', {
//
/* fields: [
{name: 'id', mapping: 'id'},
{name:'statTime',mapping:'statTime',type:'date',dateFormat:'time'},
'activeCount', 'effectiveCount','effectiveProportion',
],
proxy: {
type: 'ajax',
url: ctx+'/mvc/com/analyze/tblVwMonthUserStat',
reader: {
type: 'json',
root: 'root',
totalProperty: 'totalProperty'
}
},
listeners: {
'beforeload': function (store, operation, eOpts) {
store.proxy.extraParams.selectYear = me.selectYear
}
},*/
//
fields: ['name', 'data'],
data: [
{ 'name': ' ', 'data': 10 },
{ 'name': ' ', 'data': 7 },
{ 'name': ' ', 'data': 5 },
{ 'name': ' ', 'data': 2 },
{ 'name': ' ', 'data': 27 }
],
autoLoad: true
});
},
createSeries: function () {
var me = this;
var columns = [
{
type: 'pie',
angleField: 'data',
showInLegend: true,
tips: {
trackMouse: true,
width: 140,
height: 40,
renderer: function(storeItem, item) {
// calculate and display percentage on hover
var total = 0;
me.store.each(function(rec) {
total += rec.get('data');
});
this.setTitle(storeItem.get('name') + ': ' + Math.round(storeItem.get('data') / total * 100) + '%');
}
},
highlight: {
segment: {
margin: 5
}
},
label: {
field: 'name',
display: 'rotate',
contrast: true,
font: '18px Arial'
}
},
];
return columns;
}
});
注:1.上記のcreateStoreは円グラフ作成に必要なデータのstoreです。
2.上記の中のlegend 表示された右側の凡例(どのブロックがどのデータを表しているかを示しています)は、レゲントの中のposition属性が凡例の位置を調整することができます。中には「left」、「Right」、「bottom」、「top」が左右上下の位置を表しています。
3.show InLegendはboot値であり、falseの場合は上記の凡例を表示しない。
4.tipsここでは、マウスを円グラフに置いた時に表示されるヒント文字であり、そこのレンダー方法ではヒントとなる内容を設定することができます。
5.label 円グラフのテキストの一部の属性を設定します。その中のdisplay属性は文字を円グラフの中の位置に決定し、「outside」と「rotate」の二種類の方式が共有されています。前者は文字をグラフの外に表示し、後者の文字は図表の中に表示されます。
JavaScriptに関するより多くの内容に興味がある読者は、本局のテーマを見ることができます。「JavaScript画像操作技術大全書」、「JavaScript切替特効とテクニックのまとめ」、「JavaScript運動効果とテクニックのまとめ」、「JavaScriptアニメーションの特効と技巧のまとめ」、「JavaScriptエラーとデバッグテクニックのまとめ」、「JavaScriptデータ構造とアルゴリズム技術のまとめ」および「JavaScriptはアルゴリズムと技術の総括を遍歴します。」
本論文で述べたように、JavaScriptプログラムの設計に役に立ちます。