F2,一个专注于移动,开ç?±å³ç”¨çš„å¯è§†åŒ–解决方案,å?Œç¾Žæ”¯æŒ H5 çŽ¯å¢ƒåŒæ—¶å…¼å?¹å¤šç§çŽ¯å¢ƒï¼ˆnode, å°ç¨‹åºï¼Œweex)。å?Œå¤‡çš„å›¾å½¢è¯æ³•ç†è?ºï¼Œæ»¡è¶³ä½ çš„å„ç§å¯è§†åŒ–需求。专业的移动è?¾è?¡æŒ‡å¼•ä¸ºä½ å¸¦æ¥æœ€ä½³çš„移动端图表体验。英文 README
在æ¤è¡·å¿ƒæ„Ÿè°¢ã€ŠThe Grammar of Graphics》的作者 Leland Wilkinson,为 F2 çš„å›¾å½¢è¯æ³•æä¾›äº†ç†è?ºåŸºç¡€ï¼
�装
$ npm install @antv/f2特性
专注移动,体验优雅
-
è½»é‡åŒ–呈现,自然å馈:在è?¾è?¡ä¸Šæˆ‘们以人为本,追求自然ç?€å•易懂,有å¸å¼•力的表达效果,è?©ç”¨æˆ·åœ¨ç¢Žç‰‡åŒ–的时间里更快更高效得获å–图表信æ¯ã€‚åŒæ—¶åœ¨å¯è§†åŒ–çš„æ“作我们追求内å?¹å’Œæ“作有机èžåˆï¼Œç¬¦åˆäººçš„自然行为å应,è?©äº¤äº’æ“作更自然。
-
轻巧æµç•…:F2 一直致力于追求æžè‡´çš„æ€§èƒ½ï¼Œé’ˆå¯¹ç§»åЍè?¾å¤‡åšäº†å¤§é‡çš„优化,在支æŒä¸°å¯Œï¼ˆ50+ï¼‰å›¾è¡¨çš„åŸºç¡€ä¸ŠåŒæ—¶ä¿æŒä»£ç é‡çš„å°å·§ï¼ˆä¸å¸¦äº¤äº’版本 gzip åŽ‹ç¼©åŽ 44k,带所有交互版本 56kï¼‰ï¼ŒåŒæ—¶æä¾›æ¨¡å—化的è?¾è?¡ä»¥æ”¯æŒåЍæ€åŠ è½½ï¼Œæä¾›æ›´ä¼˜çš„大å°ã€‚
-
多端异构:在å?Œç¾Žæ”¯æŒ H5 çŽ¯å¢ƒçš„åŒæ—¶ï¼ŒåŒæ—¶å…¼å?¹ Node.js,支付å?å°ç¨‹åºã€å¾?ä¿¡å°ç¨‹åºã€React Nativeä»¥åŠ Weex 端的渲染,一份代ç ,多è?¾å¤‡å¤šçŽ¯å¢ƒæ¸²æŸ“ã€‚
图表丰富,组件�备
ä¸Žä¼ ç»Ÿçš„å›¾è¡¨åº“ä¸åŒï¼ŒæŠ›å¼ƒäº†ç‰¹å›¾ç‰¹åšçš„å°è£…æ€è·¯ï¼ŒåŸºäºŽå¼ºå¤§çš„å›¾å½¢è¯æ³•ç†è?ºï¼Œä»¥æ•°æ?é©±åŠ¨ï¼Œé€šè¿‡å›¾å½¢è¯æ³•的组åˆçµæ´»æž„建å„类图表,ç›?å‰å¯ç»˜åˆ¶ 50+ 图表类型(当然,还å¯ä»¥æ›´å¤šï¼‰ï¼Œè¦†ç›–å„类场景在æä¾›åŸºç¡€çš„图表å¯è§†åŒ–能力外,我们还æä¾›äº†ä¸°å¯Œå›¾è¡¨åŠŸèƒ½ç»„ä»¶ï¼Œæ»¡è¶³å„ç§åŠŸèƒ½éœ€æ±‚ã€‚
æ‰©å±•çµæ´»ï¼Œåˆ›æ„æ— é™
我们在æä¾›æœ€ä½³å?žè·µçš„åŒæ—¶ï¼Œè¿˜ä¸ºå¼€å‘者æä¾›äº†çµæ´»çš„æ‰©å±•机制,包括 Shapeã€åŠ¨ç”»ä»¥åŠäº¤äº’的自å?šä¹‰èƒ½åŠ›ï¼Œå½“ç„¶è¿˜æœ‰å›¾è¡¨æ ·å¼çš„个性化å?šåˆ¶ï¼Œæ»¡è¶³å„ç§ä¸ªæ€§åŒ–çš„å›¾è¡¨è¦æ±‚。
文档
快速开始
<canvas id="mountNode"></canvas>// F2 对数æ?æºæ ¼å¼çš„è¦æ±‚,仅仅是 JSON 数组,数组的æ¯ä¸ªå…ƒç´ æ˜¯ä¸€ä¸ªæ ‡å‡† JSON 对象。
const data = [
{ genre: 'Sports', sold: 275 },
{ genre: 'Strategy', sold: 115 },
{ genre: 'Action', sold: 120 },
{ genre: 'Shooter', sold: 350 },
{ genre: 'Other', sold: 150 },
];
// èŽ·å– canvas context
const context = document.getElementById('mountNode').getContext('2d');
const { props } = (
<Canvas context={context} pixelRatio={window.devicePixelRatio}>
<Chart data={data}>
<Axis field="genre" />
<Axis field="sold" />
<Interval x="genre" y="sold" color="genre" />
<Tooltip />
</Chart>
</Canvas>
);
const canvas = new Canvas(props);
canvas.render();更多示例:demos。
手机扫ç 观看 demos
本地开å‘
$ npm install
# å…ˆåˆå§‹åŒ– monorepo
$ npm run bootstrap
# å†è·‘测试用例
$ npm run test
# ç›‘å¬æ–‡ä»¶å˜åŒ–构建,并打开 demo 页é¢
$ npm run dev
# 打开æŸä¸€ä¸ªå…·ä½“的测试用例
$ npm run test-watch -- 'TestFileName'如何贡�
如果您在使用的过程ä¸ç¢°åˆ°é—?题,å¯ä»¥å…ˆé€šè¿‡ issues 看看有没有类似的 bug 或者建è??。
如需æäº¤ä»£ç ,请éµä»Žæˆ‘们的贡çŒ?指å—。
体验改进�划说明
F2 从 3.1.12(2018-06-20 å‘å¸ƒï¼‰ç‰ˆæœ¬å¼€å§‹æ·»åŠ äº†F2.track(true)方法。 ç›?剿ˆ‘们的体验改进è?¡åˆ’å·²ç»å?Œæˆï¼Œæ‰€ä»¥ä»Ž 3.3.4 版本开始该方法将从 F2 ä¸åˆ 除。 如果å?ƒç»™ä½ 带æ¥éº»çƒ¦ï¼Œæˆ‘ä»¬æ·±è¡¨æ‰æ„。











