--- /dev/null
+Ext.require('Ext.chart.*');
+Ext.require(['Ext.Window', 'Ext.fx.target.Sprite', 'Ext.layout.container.Fit']);
+
+Ext.onReady(function () {
+ Ext.chart.theme.White = Ext.extend(Ext.chart.theme.Base, {
+ constructor: function() {
+ Ext.chart.theme.White.superclass.constructor.call(this, {
+ axis: {
+ stroke: 'rgb(8,69,148)',
+ 'stroke-width': 1
+ },
+ axisLabel: {
+ fill: 'rgb(8,69,148)',
+ font: '12px Arial',
+ 'font-family': '"Arial',
+ spacing: 2,
+ padding: 5,
+ renderer: function(v) { return v; }
+ },
+ axisTitle: {
+ font: 'bold 18px Arial'
+ }
+ });
+ }
+ });
+
+ var win = Ext.create('Ext.Window', {
+ width: 800,
+ height: 600,
+ hidden: false,
+ maximizable: true,
+ title: 'Bar Chart',
+ renderTo: Ext.getBody(),
+ layout: 'fit',
+ tbar: [{
+ text: 'Reload Data',
+ handler: function() {
+ store1.loadData(generateData());
+ }
+ }],
+ items: {
+ id: 'chartCmp',
+ xtype: 'chart',
+ animate: true,
+ shadow: true,
+ store: store1,
+ axes: [{
+ type: 'Numeric',
+ position: 'bottom',
+ fields: ['data1'],
+ label: {
+ renderer: Ext.util.Format.numberRenderer('0,0')
+ },
+ title: 'Number of Hits',
+ grid: true,
+ minimum: 0
+ }, {
+ type: 'Category',
+ position: 'left',
+ fields: ['name'],
+ title: 'Month of the Year'
+ }],
+ theme: 'White',
+ background: {
+ gradient: {
+ id: 'backgroundGradient',
+ angle: 45,
+ stops: {
+ 0: {
+ color: '#ffffff'
+ },
+ 100: {
+ color: '#eaf1f8'
+ }
+ }
+ }
+ },
+ series: [{
+ type: 'bar',
+ axis: 'bottom',
+ highlight: true,
+ tips: {
+ trackMouse: true,
+ width: 140,
+ height: 28,
+ renderer: function(storeItem, item) {
+ this.setTitle(storeItem.get('name') + ': ' + storeItem.get('data1') + ' views');
+ }
+ },
+ label: {
+ display: 'insideEnd',
+ field: 'data1',
+ renderer: Ext.util.Format.numberRenderer('0'),
+ orientation: 'horizontal',
+ color: '#333',
+ 'text-anchor': 'middle'
+ },
+ xField: 'name',
+ yField: ['data1']
+ }]
+ }
+ });
+});