致力于图形处理和移动开发。
分类: 系统运维
2012-03-01 11:31:13
早在去年9月份的时候,Anychart公司宣布旗下flash图表控件Anychart 6.0版本支持HTML,本文那么我们就一起看看如何将anychart图表迁移到新的HTML版本的Anychart。
注:尽管已经集成了HTML 5版本,但是HTML5支持仍处于测试阶段,因此并不是所有图表类型和功能都可用,并且HTML 5版本中的所有图表的外观与Flash版本不完全相同。
由于Flash在移动设备上并不能完好运行,所以我们得创建一个能生成SVG格式图表的Java Script图表引擎。
一、文件结构
在SWF文件中除了包含Flash引擎外,AnyChartHTML5.js中还包含了JavaScript (HTML5) 组件。
/AnyChartFolder
/swf
AnyChart.swf
/js
AnyChart.js
AnyChartHTML5.js
anychart.xml
anychart.html
二、嵌入
1、Flash Only
如果你不想使用HTML5图表,你可以像平时一样升级,只需要更换SWF文件,代码如下:
默认情况下,AnyChart.renderingType被设置成anychart.RenderingType.FLASH_ONLY ,这意味着 需要 用Flash Player来查看图表,若是Flash Player不可用,图表则没有任何显示。
2、JavaScript (HTML5) Only
在使用AnyChart JavaScript (HTML5) 组件时,你得嵌入以下的部分代码:
注:(1)粗体部分需要被添加到原来的代码中;(2)AnyChart.renderingType设置成anychart.RenderingType.SVG_ONLY
3、同步使用HTML5 和Flash
当Flash Player不能用时,你可以根据下面的方法启用HTML5支持:
这样一来,当Flash Player不能用时,AnyChart会切换到HTML5引擎并显示基于SVG的图表。
4、异步使用HTML5 和Flash
JavaScript被广泛应用于现代网站,多数JavaScript文件在页面显示前才被载入-这会减缓了页面加载并延长了显示时间。如果你 使用了本节如上所示的代码,只有在AnyChart HTML5引擎加载完毕后才能显示页面。如果使用 Flash 版本就不后出现这样的情况了。因此,为了加速下载和省略加载不必要的引擎,你可以使用异步加载JavaScript。
注: (1)AnyChart.loadHTML5Engine() 是一个开始AnyChartHTML5.js加载的方法,在未加载完毕前,不需对图表进行任何操作;(2)AnyChart.ready()是一个加载事 件处理器,当HTML5引擎加载完毕后,AnyChart.ready()会启动相应的功能。
三、渲染选项
当你将图表嵌入页面中时,选择你所需要使用的引擎。
| Value | Description |
|---|---|
| anychart.RenderingType.FLASH_ONLY | Flash engine is used in any case. |
| anychart.RenderingType.SVG_ONLY | HTML5 engine is used in any case. |
| anychart.RenderingType.FLASH_PREFERRED | Flash is the first option if both Flash and HTML5 are available. |
| anychart.RenderingType.SVG_PREFERRED | HTML5 engine is the first option if both Flash and HTML5 are available. |
如果设置FLASH_ONLY,你需要安装Flash Player来显示图表:
AnyChart.renderingType = anychart.RenderingType.FLASH_ONLY;
如果你设置SVG_ONLY,需要添加JavaScript和SVG 支持:
AnyChart.renderingType = anychart.RenderingType.SVG_ONLY;
如果你设置FLASH_PREFERRED,即使SVG显示可以用,flash版本也会优先于SVG。
AnyChart.renderingType = anychart.RenderingType.FLASH_PREFERRED;
相反,如是设置的SVG_PREFERRED,即使Flash版本可以用,也会优先使用SVG 版本。
AnyChart.renderingType = anychart.RenderingType.SVG_PREFERRED;
四、支持的绘图类型
| Plot type | Flash | JavaScript (HTML5) |
|---|---|---|
| CategorizedVertical | + | + |
| CategorizedBySeriesVertical | + | + |
| CategorizedHorizontal | + | + |
| CategorizedBySeriesHorizontal | + | + |
| Scatter | + | + |
| Pie | + | + |
| Doughnut | + | + |
| Funnel | + | + |
| TreeMap | + | + |
| HeatMap | + | + |
| Polar | + | not yet |
| Radar | + | not yet |
| Map | + | not yet |
五、JavaScript(HTML 5)版本支持的图表类型
| Chart type | |
|---|---|
| Column / Range Column / Stacked Column / 100% Stacked Column | + |
| Bar / Range Bar / Stacked Bar / 100% Stacked Bar | + |
| Line / Step-Line | + |
| Spline | not yet |
| Area / Range Area / Step-Line Area | + |
| Stacked Area / 100% Stacked Area / Stacked Step-Line-Area / 100% Stacked Step-Line-Area | + |
| Spline Area / Range Spline Area / Step-Spline Area | not yet |
| Stacked Spline Area / 100% Stacked Spline Area / Stacked Step-Spline-Area / 100% Stacked Step-Spline-Area | not yet |
| Pie / Doughnut | + |
| TreeMap | + |
| HeatMap | + |
| Funnel Chart | + |
| Pyramid Chart | + |
| Candlestick / Stock(HLOC) Chart | + |
| Dot/Marker Chart | + |
| Radar | not yet |
| Polar | not yet |
| Dashboards | + |
| Gauge | linear types only |
注:HTML5版本尚不支持3D模式。
六、JavaScript(HTML 5)版本中的特征
| Axes | + |
|---|---|
| Title | + |
| Position | + |
| Labels | + |
| Tickmarks | + |
| Line | + |
| Grid | + |
| Dash grid | + |
| Interlace grid | + |
| Extra axes | + |
| Date time axes | not yet |
| Major interval | + |
| Minor interval | + |
| Linear scale | + |
| Logarithmic scale | + |
| Stacked | + |
| Percent stacked | + |
| Overlay | + |
| Sorted overlay | not yet |
| Min Max settings | + |
| Inverted scale | + |
| Crossing scale | not yet |
| Base axis scale value | + |
| Label Background | + |
| Label position | not yet |
| Label rotation | + |
| Label stager | + |
| Custom lines (trends) | not yet |
| Custom labels | not yet |
| Custom Ranges (areas) | not yet |
| Axis Labels | + |
| Enable|Disable label | + |
| Formatting labels | + |
| Font settings | + |
| Multiline | + |
| Tooltips | + |
| Enable|Disable tooltips | + |
| Formatting tooltips | not yet |
| Position tooltips | + |
| Background & effects | + |
| Tooltips style | + |
| Extra tooltips | + |
| Data labels | + |
| Enable|Disable | not yet |
| Formatting | + |
| Custom attributes | + |
| Rotation | + |
| Background & effects | + |
| Style | + |
| Extra labels | + |
| General settings | + |
| Background Solid | + |
| Background gradient | + |
| Background Image | not yet |
| Hatch fill (without Percent types) | + |
| Resources | not yet |
| Corners | + |
| Inside margins | + |
| Effects | not yet |
| Line gradient | + |
| Line opacity | + |
| Line solid | + |
| Line thickness | + |
| Dashed line | + |
| Caps & Joins | + |
| Color HEX | + |
| Color RGB | + |
| Color HSB | + |
| Color Web | + |
| Color Transformation | + |
| LightColor | + |
| DarkColor | + |
| Blend | + |
| Effects shadow | not yet |
| Effect bevel | not yet |
| Effect glow | not yet |
| Effect blur | not yet |
| Effect inner shadow | not yet |
| Effect inner glow | not yet |
| Change fonts | + |
| International Symbols Support | + |
| HTML formatting | not yet |
| HTML tags | not yet |
| Text Rotation | + |
| Text Effects | not yet |
| Color Palettes | + |
| apply_palettes_to | not yet |
| Templates | not yet |
| Internal Templates | not yet |
| External Templates | not yet |
| Controls | + |
| Chart title | + |
| Chart subtitle | + |
| Chart footer | + |
| Color swatch | not yet |
| Navigation panel | not yet |
| Zoom panel | not yet |
| Map moving panel | not yet |
| Multiple titles | not yet |
| Custom labels | not yet |
| Custom images | not yet |
| Actions | not yet |
| Legend | + |
| Legend tokens | not yet |
| Enable|Disable Legend title | + |
| Markers Symbols to Series Icon | not yet |
| Legend size | + |
| Legend position | + |
| Legend float | not yet |
| Items formatting | not yet |
| Background | + |
| Auto items | + |
| Custom items | + |
| Items separators | + |
| Custom attributes | + |
| Multiple Legend | not yet |
| Extra legends | not yet |
| Data thresholds | + |
| Custom thresholds | + |
| Legend thresholds | not yet |
| Automatic thresholds | not yet |
| Animation | not yet |
| Context Menu | not yet |
| Enable|Disable | not yet |
| Localization | not yet |
| Saving charts | + |
| Printing charts | + |
| Interactivity | + |
| item states | + |
| item actions | not yet |
| Using CSV Data | not yet |
下载Anychart试用版: