图表的几大要素:

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

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

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

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

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

坐标旁边显示的文字

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

图标的类型

图表x、y轴对应的字段

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

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

3、样式

4、数据

  1. Ext.onReady(function () {
  2. var win = Ext.create('Ext.Window', {
  3. width: 800,
  4. height: 600,
  5. hidden: false,
  6. maximizable: true,
  7. title: '柱状图',
  8. renderTo: Ext.getBody(),
  9. layout: 'fit',
  10. tbar: [{
  11. text: 'Reload Data',
  12. handler: function() {
  13. store1.loadData(generateData());
  14. }
  15. }],
  16. items: {
  17. id: 'chartCmp',
  18. xtype: 'chart',
  19. style: 'background:#000',
  20. animate: true,
  21. shadow: true,
  22. store: store1,
  23. axes: [{
  24. type: 'Numeric',
  25. position: 'left',
  26. fields: ['data1'],
  27. label: {
  28. renderer: Ext.util.Format.numberRenderer('0,0')
  29. },
  30. title: 'Number',
  31. grid: true,
  32. minimum: 0
  33. }, {
  34. type: 'Category',
  35. position: 'bottom',
  36. fields: ['name'],
  37. title: 'Month'
  38. }],
  39. series: [{
  40. type: 'column',
  41. axis: 'left',
  42. highlight: true,
  43. tips: {
  44. trackMouse: true,
  45. width: 140,
  46. height: 28,
  47. renderer: function(storeItem, item) {
  48. this.setTitle(storeItem.get('name') + ': ' + storeItem.get('data1') + '$' );
  49. }
  50. },
  51. label: {
  52. display: 'insideEnd',
  53. 'text-anchor': 'middle',
  54. field: 'data1',
  55. renderer: Ext.util.Format.numberRenderer('0'),
  56. orientation: 'vertical',
  57. color: '#333'
  58. },
  59. xField: 'name',
  60. yField: 'data1'
  61. }]
  62. }
  63. });
  64. });

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坐标绑定的字段。

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

  1. Ext.onReady(function () {
  2. var win = Ext.create('Ext.Window', {
  3. width: 800,
  4. height: 600,
  5. hidden: false,
  6. maximizable: true,
  7. title: '柱状图',
  8. renderTo: Ext.getBody(),
  9. layout: 'fit',
  10. tbar: [{
  11. text: 'Reload Data',
  12. handler: function () {
  13. store1.loadData(generateData());
  14. }
  15. }],
  16. items: {
  17. id: 'chartCmp',
  18. xtype: 'chart',
  19. style: 'background:#000',
  20. animate: true,
  21. shadow: true,
  22. store: store1,
  23. legend: {
  24. position: 'right'
  25. },
  26. axes: [
  27. {
  28. type: 'Numeric',
  29. position: 'left',
  30. fields: ['data1'],
  31. label: {
  32. renderer: Ext.util.Format.numberRenderer('0,0')
  33. },
  34. title: 'Number',
  35. grid: true,
  36. minimum: 0
  37. },
  38. {
  39. type: 'Numeric',
  40. position: 'right',
  41. fields: ['data2'],
  42. label: {
  43. renderer: Ext.util.Format.numberRenderer('0,0')
  44. },
  45. title: 'Number',
  46. grid: true,
  47. majorTickSteps:5,
  48. minorTickSteps:10,
  49. maximum:500,
  50. minimum: 0
  51. }, {
  52. type: 'Category',
  53. position: 'bottom',
  54. fields: ['name'],
  55. title: 'Month'
  56. }],
  57. series: [{
  58. type: 'column',
  59. axis: 'right',
  60. highlight: true,
  61. tips: {
  62. trackMouse: true,
  63. width: 140,
  64. height: 28,
  65. renderer: function (storeItem, item) {
  66. this.setTitle(storeItem.get('name') + ': ' + storeItem.get('data1'));
  67. }
  68. },
  69. label: {
  70. display: 'insideEnd',
  71. 'text-anchor': 'middle',
  72. field: 'data1',
  73. renderer: Ext.util.Format.numberRenderer('0'),
  74. orientation: 'vertical',
  75. color: '#333'
  76. },
  77. xField: 'name',
  78. yField: 'data1'
  79. },
  80. {
  81. type: 'line',
  82. axis: 'left',
  83. highlight: true,
  84. tips: {
  85. trackMouse: true,
  86. width: 140,
  87. height: 28,
  88. renderer: function (storeItem, item) {
  89. this.setTitle(storeItem.get('name') + ': ' + storeItem.get('data1'));
  90. }
  91. },
  92. label: {
  93. display: 'insideEnd',
  94. 'text-anchor': 'middle',
  95. field: 'data1',
  96. renderer: Ext.util.Format.numberRenderer('0'),
  97. orientation: 'vertical',
  98. color: '#333'
  99. },
  100. style: { 'foreground-color': '#00f' },
  101. showMarkers:true,
  102. markerConfig: {// 由Ext.Draw.Sprite配置项决定
  103. type: 'circle',
  104. size: 4,
  105. radius: 4,
  106. fill: '#00f',
  107. 'stroke-width': 0
  108. },
  109. xField: 'name',
  110. yField: 'data1'
  111. }]
  112. }
  113. });
  114. });

效果:

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

这个实现很简单,只需要在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. bzoj1477 && exgcd学习笔记

    exgcd 由于忘记了exgcd,这道题就没做出来... exgcd的用处是求ax+by=gcd(a,b)这样方程的解 大概是这个样子的 void ext_gcd(long long a, long ...

  2. Java I/O 的工作机制浅析

    I/O 问题可以说是当今互联网 Web 应用中所面临的主要问题之一,因为当前在这个海量数据时代,数据在网络中随处流动.这个流动的过程中都涉及到 I/O 问题,可以说大部分 Web 应用系统的瓶颈都是 ...

  3. target属性打开方式

    在HTML中target目标的四个参数的用法:1.target="_self"表示:将链接的画面内容,显示在目前的视窗中.(内定值) . 即:同(自己)窗口打开,别的数据还存在,相 ...

  4. poi导出excel改变标题颜色

    在excelutil类里面添加 public class ExcelUtil { public static Workbook fillExcelData(ResultSet rs, Workbook ...

  5. xfs文件备份恢复篇一vm中linux新增磁盘

    XFS提供了 xfsdump 和 xfsrestore 工具协助备份XFS文件系统中的数据.xfsdump 按inode顺序备份一个XFS文件系统.centos7选择xfs格式作为默认文件系统,而且不 ...

  6. ajax 以json 的形式来传递返回参数的实例

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TestWcf.aspx.c ...

  7. blockhouses

    题意 : 给你一张图上面" X " 代表墙 , " . " 代表空地 , 让你在空地上放置炮台 , 条件是 不能 让彼此的炮台 可以互相看见 ( 隔着墙就看不见 ...

  8. Bitmap与String之间的转换

    /** * 将bitmap转换成base64字符串 * * @param bitmap * @return base64 字符串 */ public String bitmaptoString(Bit ...

  9. SPOJ 1811 SAM 初探

    思路: 一个串建SAM 另一个串在SAM上跑 //By SiriusRen #include <cstdio> #include <cstring> #include < ...

  10. Intent的调用

    //Intent  intent=new Intent();//intent.setClass(MainActivity.this, GPSService.class);//以上二条可以合并成如下一条 ...