Skip to content

antvis/F2

master
Switch branches/tags
Code

Latest commit

 - @antv/f2@4.0.25
 - @antv/f2-my@4.0.25
 - @antv/f2-react@4.0.25
 - @antv/f2-site@4.0.25
 - @antv/f2-vue@4.0.6
 - @antv/f2-wx@4.0.25
c013297

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

npm package NPM downloads Percentage of issues still open

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 中删除。 如果å?ƒç»™ä½ å¸¦æ¥éº»çƒ¦ï¼Œæˆ‘们深表歉æ„。

License

MIT license.