图表的几大要素:

1、坐标:上、下、左、右。

坐标的类型,数字、分类...

坐标包含需要显示的坐标值,即绑定的字段

坐标值的样式,比如旋转、字体大小、格式

坐标的最大值、最小值、是否显示网格

坐标旁边显示的文字

2、图表:柱状图、折线图、点图、饼图、区域图、盘表图、雷达图...

图标的类型

图表x、y轴对应的字段

图标上显示的文字,文字的样式、位置

鼠标移上去需要显示的提示信息

3、样式

4、数据

Ext.onReady(function () {
var win = Ext.create('Ext.Window', {
width: 800,
height: 600,
hidden: false,
maximizable: true,
title: '柱状图',
renderTo: Ext.getBody(),
layout: 'fit',
tbar: [{
text: 'Reload Data',
handler: function() {
store1.loadData(generateData());
}
}],
items: {
id: 'chartCmp',
xtype: 'chart',
style: 'background:#000',
animate: true,
shadow: true,
store: store1,
axes: [{
type: 'Numeric',
position: 'left',
fields: ['data1'],
label: {
renderer: Ext.util.Format.numberRenderer('0,0')
},
title: 'Number',
grid: true,
minimum: 0
}, {
type: 'Category',
position: 'bottom',
fields: ['name'],
title: 'Month'
}],
series: [{
type: 'column',
axis: 'left',
highlight: true,
tips: {
trackMouse: true,
width: 140,
height: 28,
renderer: function(storeItem, item) {
this.setTitle(storeItem.get('name') + ': ' + storeItem.get('data1') + '$' );
}
},
label: {
display: 'insideEnd',
'text-anchor': 'middle',
field: 'data1',
renderer: Ext.util.Format.numberRenderer('0'),
orientation: 'vertical',
color: '#333'
},
xField: 'name',
yField: 'data1'
}]
}
});
});

axes:用来配置坐标,可以配置多个坐标。

type:配置坐标的类型。一般用到的是Numeric、Category

position:配置坐标的位置,比如:上下左右

fields:可以配置多个字段,用来设置坐标显示的值。其实这个配置和series中的yFiled配置项是没有关系的

label:可以配置文字的显示方式。默认显示字段的值。比如设置label旋转一定的度数

label: {

                    rotate: {

                        degrees: 315

                    }

                }

title:配置坐标需要显示的title

grid:设定网格的样式。比如设定网格的透明度、样式等。

grid: { // 设定网格颜色值

                    odd: {

                        opacity: 1,

                        fill: '#ddd',

                        stroke: '#bbb',

                        'stroke-width': 1

                    }

                }

minimum:可以配置坐标的最小值。当然会有对应的最大值maximum。可以配合使用majorTickSteps(主刻度,配置总共有多少个刻度),minorTickSteps(次刻度,在每个主可短中画次刻度。比如配置10,则数字没增加10,会话一个次刻度)

series:用来配置图表

type:配置图表的类型,图表有很多类型。每个图表都有各自独特的配置项

axis:相对于哪个坐标。因为坐标有多个,图表的高度,总的有个参照。

highlight:设置鼠标移动到图表上面,是否高亮。不过这个反应很慢。

tips:设置鼠标移动到图表上时的提示信息

label:设置图表上显示的文字。可以设置文字的位置、样式。但不是每个图表都有这个配置项。

xField:设定x坐标绑定的字段。因为axes设定了坐标的值,所以这个字段绑定的值必须在axes的坐标值中。

yField:设定y坐标绑定的字段。

下面是一个三个坐标值的实例:

Ext.onReady(function () {
var win = Ext.create('Ext.Window', {
width: 800,
height: 600,
hidden: false,
maximizable: true,
title: '柱状图',
renderTo: Ext.getBody(),
layout: 'fit',
tbar: [{
text: 'Reload Data',
handler: function () {
store1.loadData(generateData());
}
}],
items: {
id: 'chartCmp',
xtype: 'chart',
style: 'background:#000',
animate: true,
shadow: true,
store: store1,
legend: {
position: 'right'
},
axes: [
{
type: 'Numeric',
position: 'left',
fields: ['data1'],
label: {
renderer: Ext.util.Format.numberRenderer('0,0')
},
title: 'Number',
grid: true,
minimum: 0
},
{
type: 'Numeric',
position: 'right',
fields: ['data2'],
label: {
renderer: Ext.util.Format.numberRenderer('0,0')
},
title: 'Number',
grid: true,
majorTickSteps:5,
minorTickSteps:10,
maximum:500,
minimum: 0
}, {
type: 'Category',
position: 'bottom',
fields: ['name'],
title: 'Month'
}],
series: [{
type: 'column',
axis: 'right',
highlight: true,
tips: {
trackMouse: true,
width: 140,
height: 28,
renderer: function (storeItem, item) {
this.setTitle(storeItem.get('name') + ': ' + storeItem.get('data1'));
}
},
label: {
display: 'insideEnd',
'text-anchor': 'middle',
field: 'data1',
renderer: Ext.util.Format.numberRenderer('0'),
orientation: 'vertical',
color: '#333'
},
xField: 'name',
yField: 'data1'
},
{
type: 'line',
axis: 'left',
highlight: true,
tips: {
trackMouse: true,
width: 140,
height: 28,
renderer: function (storeItem, item) {
this.setTitle(storeItem.get('name') + ': ' + storeItem.get('data1'));
}
},
label: {
display: 'insideEnd',
'text-anchor': 'middle',
field: 'data1',
renderer: Ext.util.Format.numberRenderer('0'),
orientation: 'vertical',
color: '#333'
},
style: { 'foreground-color': '#00f' },
showMarkers:true,
markerConfig: {// 由Ext.Draw.Sprite配置项决定
type: 'circle',
size: 4,
radius: 4,
fill: '#00f',
'stroke-width': 0
},
xField: 'name',
yField: 'data1'
}]
}
});
});

效果:

这个示例使用三个坐标,左、右、下。显示了两个图表,一个使用左边的坐标,一个使用右边的坐标。

这个实现很简单,只需要在axes配置三个坐标。并配置好他们的位置。在配置series配置两个图表。一个axis配置为'right',一个配置为'left'。这个就可以显示主次坐标了。

这个示例中使用了一个折线图。折线图有一个配置项是markerConfig,可以设定点的样式。比如设定点为圆圈、正方形等。其实它是一个Ext.Draw.Sprite。

Sencha Touch 2.1 Chart属性中文解释的更多相关文章

  1. sencha touch list infinite 属性

    sencha touch list 1 默认每一项的高度会自动适应其内容. 2 当每一个 item 的高度都相同且不变时, 设置 itemHeight 为固定值 和 variableHeights 为 ...

  2. sencha touch 入门系列 (二)sencha touch 开发准备

    这是本人第一次写博客教程,没什么经验,文笔也不是很好,写这教程一方面为了巩固自己这段时间的学习成果,一方面帮助大家解决问题,欢迎大家多提建议,指出问题.接下来我们就开始我们的sencha touch开 ...

  3. sencha touch 开发准备

    这是本人第一次写博客教程,没什么经验,文笔也不是很好,写这教程一方面为了巩固自己这段时间的学习成果,一方面帮助大家解决问题,欢迎大家多提建议,指出问题.接下来我们就开始我们的sencha touch开 ...

  4. sencha touch 常见问题解答(26-50)

    26.sencha touch在华为.红米等部分手机下hide事件失效,msgbox无法关闭怎么办 答:请看http://www.cnblogs.com/cjpx00008/p/3535557.htm ...

  5. 第四步 使用 adt-eclipse 打包 Cordova (3.0及其以上版本) + sencha touch 项目

    cordova最新中文api http://cordova.apache.org/docs/zh/3.1.0/ 1.将Cordova 生成的项目导入到adt-eclipse中,如下: 项目结构如下: ...

  6. sencha touch 入门系列 (五)sencha touch运行及代码解析(上)

    由于最近项目比较忙,加之还要转战原生开发,所以很久没更新了,今天我们接着上一次的内容往下讲: 首先我们打开index.html,这是我们整个程序的访问入口,也是整个项目的引入地: <!DOCTY ...

  7. Sencha Touch 之初接触

    1.Sencha Touch开发与普通web开发有什么区别? Sencha Touch(为方便起见,本文后面一律简写为ST)页面的开发跟普通html页面相比,总体来说没有本质上的区别,只是引入了对ht ...

  8. 使用Sencha Architect开发Sencha Touch应用的整理

    官网:http://www.sencha.com/ 其实官网上的文档都很清楚了,不过整理一下总比较好 第一步,软件准备 注: 以下软件的安装本着这样两条原则 一是不要安装在中文目录下 二是不要安装在带 ...

  9. sencha touch打包成安装程序

    为了更好地向大家演示如何打包一个sencha touch的项目,我们用sencha cmd创建一个演示项目,如果你的sencha cmd环境还没有配置,请参照 sencha touch 入门系列 (二 ...

随机推荐

  1. 第三周 Leetcode 4. Median of Two Sorted Arrays (HARD)

    4. Median of Two Sorted Arrays 给定两个有序的整数序列.求中位数,要求复杂度为对数级别. 通常的思路,我们二分搜索中位数,对某个序列里的某个数 我们可以在对数时间内通过二 ...

  2. [Swift通天遁地]七、数据与安全-(13)单元测试的各个状态和应用

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  3. [Swift通天遁地]七、数据与安全-(14)使用单元测试进行邮箱格式的验证

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  4. [Swift通天遁地]八、媒体与动画-(7)实现多个动画的顺序播放效果

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  5. async 函数-----------------解决异步操作隧道的亮光

    之前也学过,只是没有学好,公司现在用的都是async函数 , 所以决定把它弄懂.最近看了看阮一峰的博客,做下记录. 异步I/O不就是读取一个文件吗,干嘛要搞得这么复杂?异步编程的最高境界,就是根本不用 ...

  6. wxwidgets安装环境配置

    一:安装VS2012 wxWidgets-2.9.5( 2.95版本为最稳定版本) 二:打开wxWidgets-2.9.5的安装目录,找到build-msw-wx_vc10.sln打开(等待) 三:打 ...

  7. 为什么使用HttpServlet?http协议特点、servlet

    因为只有HttpServlet是基于http协议,实现Servlet接口,而http协议是短连接协议,能够实现客户端访问服务端后,数据交互后 连接自动断开.同时http协议基于tcp.ip协议,封装了 ...

  8. 【原】cocos2d-x开发笔记:获取Sprite上某一个点的透明度,制作不规则按钮

    本篇文章主要讲一下怎么做一个不规则的按钮,比如如下图的八卦,点击绿色和点击红色部分,需要执行不同的事件

  9. Java系列学习(十三)-字符串

    1.字符串基础 概念:字符串本质是打包字符数组的对象,是java.lang.String类的实例 2.字符串的构造方法 public String() public String(byte[] byt ...

  10. [ ZJOI 2006 ] Mahjong

    \(\\\) \(Description\) 现有权值分别为\(1\text~100\)的\(100\)种牌,分别给出每种排的张数\(A_i\),试判断能否胡牌,胡牌需要将所有牌不重不漏地分成以下几类 ...