diff --git a/.dumi/theme/locales/en.json b/.dumi/theme/locales/en.json deleted file mode 100644 index 90d13735b..000000000 --- a/.dumi/theme/locales/en.json +++ /dev/null @@ -1,338 +0,0 @@ -{ - "蚂蚁数据可视化": "AntV", - "·让AGI栩栩如生": "· Liven AGI Lively", - "蚂蚁集团全新一代数据可视化解决方案": "A new generation of data visualization solution from Ant Group", - "AntV 是蚂蚁集团全新一代数据可视化解决方案,致力于提供一套简单方便、专业可靠、无限可能的数据可视化最佳实践。": "AntV is a new generation of data visualization solution from Ant Group. We provide best practices of data visualization with simplicity, convenience, profession, reliability, and infinite possibilities.", - "立业・利业": "Found business・Help business", - "了解我们": "More about Us", - "更新": "Update", - "我们是蚂蚁集团数据可视化团队,一群有爱有梦的人,怀揣「让人们在数据世界里获得视觉化思考能力」的梦想前行,成就智能时代全球领先的数据可视化解决方案。": "We're the Data Visualization Team of Ant Group, a group of dreamers who move forward with the dream of getting people to think visually in the data world to become the world's leading data visualization solution in the smart age.", - "关于我们": "About Us", - "最新资讯": "News", - "L7 发布新版本,让地图动起来!": "L7 has published the new version!", - "推荐": "Recommend", - "Kitchen 3.75,效率大幅提升!": "Kitchen 3.75, lift your efficient!", - "我们的产品": "Our Products", - "基础产品": "Basic Products", - "扩展产品": "Extensions", - "图表示例": "Examples", - "API 文档": "API Documents", - "G2 可视化图形语法": "G2 - Grammar of Graphics", - "以数据驱动,具有高度的易用性和扩展性的可视化图形语法。": "A data driven grammar of Graphics for visualization with usability and scalability.", - "G6 图可视化引擎": "G6 - A Graph Vis Engine", - "一套便捷的关系数据可视化引擎与图分析工具。": "A handy graph visualization engine and analysis tool for relational data.", - "F2 移动端可视化方案": "F2 - A Vis Solution for Mobile", - "一套为移动而生,开箱即用的可视化解决方案。": "An visualization solution out of the box for mobile.", - "L7 地理空间数据可视化": "L7 - For Geospacial Data Vis", - "一套高性能,高渲染质量的地理空间数据可视化框架。": "A geospacial data visualization framework with high performance and rendering quality.", - "g2plot": "g2plot", - "开箱即用、易于配置、具有良好视觉和交互体验的通用图表。": "G2plot is an interactive and responsive charting library based on the grammar of graphics.", - "Graphin": "Graphin", - "ChartCube": "ChartCube", - "AntV 在线图表解决方案 让你拖拖拽拽搞定图表制作。": "AntV online chart generator, making charts with extremely simple interactions.", - "工具和资源": "Tools and Resources", - "图表用法": "Usages", - "从数据出发,从功能角度对常见图表进行分类,提供规范使用指引。": "We classified the charts by their data features and provided the usage guidelines.", - "设计原则": "Design", - "设计价值观": "Design", - "对数据图形进行拆解、提炼,抽象出一套数据图形可视化交互视觉规范。": "We provide a set of visualization design principles by decomposing and abstracting of visualization graphics.", - "工具资源": "Resources", - "在进行模式、组件和语言的整理过程中发现的优秀书籍和资源。": "We recommend some excellent books and resources during the our daily work.", - "查看详情": "Details", - "AntV 企业级可视化解决方案": "AntV - An Enterprise-level Data Visualization Solution", - "AntV 3.0 已全新升级,主要包含 G2、G6、F2、L7 以及一套完整的图表使用和设计规范。得益于丰富的业务场景和用户需求挑战,AntV 经历多年积累与不断打磨,已支撑阿里集团内外 20000+ 业务系统,通过了日均千万级 UV 产品的严苛考验后方敢与君见。": "AntV 3.0 has been fully upgraded which includes G2, G6, F2, L7, combining with a set of usage and desgin principles for visualization. AntV has supported more than 20,000 business systems inside and outside of Alibaba Group. Polished by rich business scenarios for several years, AntV has the ability to support the products with million user visits. Finally, AntV is ready for you.", - "我们的优势": "Our Advantages", - "简单方便": "Simple and Convenient", - "从数据出发,仅需几行代码可以轻松获得想要的图表展示效果。": "Driven by data, you will get the visualizations with only a few lines of codes.", - "方便可靠": "Reliable", - "大量产品实践之上,提供绘图引擎、完备图形语法,专业设计规范。": "We provide the render engines, the complete implementation of grammar of graphics, and professional design principles for plenty of products.", - "无限可能": "Infinite", - "任何图表,都可以基于图形语法灵活绘制,满足你无限的创意。": "Powered by the grammar of graphics, any charts or diagrams can be flexibly created, which will satisfy your infinite ideas.", - "G2 项目顾问": "Project consultant of G2", - "伊利诺伊大学计算机科学客座教授,H2O.ai 首席科学家,G2 项目顾问": "Visiting professor of Computer Science College, University of Illinois. Chief Scientist of H2O.ai. Project consultant of G2", - "陈为": "Wei Chen", - "浙江大学计算机学院 CAD & CG 国家重点实验室教授": "Professor of State Key Lab of CAD & CG, Zhejiang University", - "在多年可视化设计与开发的积累基础上,蚂蚁金服团队推出了 AntV 产品,这是工业界在基础可视化语法与实践方面发出的最强声音,也是工业界与学术界一道推进可视化研发进展的最佳利器。": "Based on years of design and development, Ant Group launched AntV. It is the strongest voice on basic visualization syntax and industrial practices, and the best tool for advancing the visualization collaboration between industry and academia.", - "林峰": "Feng Lin", - "爱烹饪的可视化攻城狮": "Visualization Developer Who Loves Cooking", - "G2 是面粉,Echarts 是面条,皆微小而美好,因小食材怀大梦想,助力共筹东方巨龙崛起之盛宴,迎四海饕客。": "G2 is the flour, Echarts is the noodle. They are both tiny but beautiful. Tiny ingredients have big dreams, helping to co-sponser the feast of the rise of the Eastern Dragon, and welcoming the guests from all over the world.", - "2000+ 公司正在使用": "2000+ Companies are Using AntV", - "加入我们": "Join Us", - "我们是蚂蚁集团数据可视化团队,一群有爱有梦的人,怀揣「让人们在数据世界里获得视觉化思考能力」的梦想前行,成就智能时代全球领先的数据可视化解决方案,满足与日俱增的数据洞察需求。": "We are the data visualization team from Ant Group, a group of people who have a dream to enpowering people with the visual thinking ability and insight in the world of data.", - "如果你对可视化、图形技术、数据分析充满激情, 无论你是工程师、设计师还是数据分析师,请联系我们,期待你的加入。": "Whatever you are an engineer, a designer, or a data analyser, if you have passion in visualization, graphics techniques, or data analysis, you are the one we are looking for.", - "立即加入": "Join now", - "贡献者名录": "Contributors", - "问题与反馈": "Questions and Feedback", - "任何问题,欢迎到我们的仓库提交相关的 issues。": "If you have any proplem, please commit corresponding issues to our github repositories.", - "立即反馈": "Feedback", - "蚂蚁集团数据可视化团队": "Data Visualization Team from Ant Group", - "「让人们在数据世界里获得视觉化思考能力」": "「Help people fetch the visualized thinking ability in data world.」", - "工程师": "Engineer", - "设计师": "Designer", - "动效设计师": "Animation Designer", - "产品经理": "Product Designer", - "历史贡献者": "Contributors in History", - "查看 demo": "demo", - "全屏显示": "Fullscreen", - "论坛": "Forum", - "第十五届 D2 前端技术论坛·无界": "The 15th D2 Frontend Technology Forum", - - "巴思": "Basi", - "白弦": "Baixian", - "柏愚": "Boyu", - "不过": "Buguo", - "步茗": "Buming", - "沧东": "Cangdong", - "沉鱼": "Chenyu", - "导演": "Daoyan", - "董珊珊": "Shanshan Dong", - "福晋": "Fujin", - "顾己": "Guji", - "顾倾": "Guqing", - "光生": "Guangsheng", - "广知": "Guangzhi", - "画康": "Huakang", - "尽白": "Jinbai", - "镜曦": "Jingxi", - "聚则": "Juze", - "绝云": "Jueyun", - "珂甫": "Kefu", - "林外": "Linwai", - "翎刀": "Lingdao", - "陆沉": "Luchen", - "罗宪": "Luoxian", - "米法": "Mifa", - "芈乐": "Mile", - "幕阑": "Mulan", - "偏右": "Pianyou", - "青湳": "Qingnan", - "轻声": "Qingsheng", - "璆鸣": "Qiuming", - "山果": "Shanguo", - "十吾": "Shiwu", - "拾锋": "Shifeng", - "索丘": "Suoqiu", - "完白": "Wanbai", - "问崖": "Wenya", - "乌诺": "Wunuo", - "象数": "Xiangshu", - "逍为": "Xiaowei", - "萧庆": "Xiaoqing", - "新茗": "Xinming", - "亦叶": "Yiye", - "有田": "Youtian", - "玉伯": "Yubo", - "御术": "Yushu", - "再飞": "Zaifei", - "早弦": "Zaoxian", - "张初尘": "Chuchen Zhang", - "长哲": "Changzhe", - "祯逸": "Zhenyi", - "诸岳": "Zhuyue", - "杍鱼": "Ziyu", - "它山": "Tashan", - - "按使用目的维度": "Usage", - "按图表类型维度": "Chart Type", - "按数据类型维度": "Data Type", - "图表分类": "Visualization Category", - - "分布": "Distribution", - "组成": "Composition", - "占比": "Percentage", - "关系": "Relation", - "流程": "Flow", - "比较": "Comparison", - "趋势": "Trend", - - "基础柱状图": "Basic \nColumn", - "分组柱状图": "Grouped \nColumn", - "堆叠柱状图": "Stacked \nColumn", - "百分比堆\n叠柱状图": "% Stack \nColumn", - "区间柱状图": "Interval \nColumn", - "瀑布图": "Waterfall\n Chart", - "直方图": "Histogram", - "基础条形图": "Basic \nBar Chart", - "堆叠条形图": "Stacked \nBar Chart", - "百分比堆\n叠条形图": "% Stacked\n Bar", - "分组条形图": "Grouped \nBar Chart", - "区间条形图": "Internal \nBar Chart", - "玉珏图": "Radial \nBar Chart", - "对称分组\n条形图": "Symmetric\n Grouped Bar", - "基础饼图": "Basic \nPie Chart", - "环形饼图": "Donut \nChart", - "环图": "Donut", - "嵌套饼图": "Multi-level\n Pie", - "南丁格尔图": "Nightingale", - "基础面积图": "Basic \nArea Chart", - "路径地图": "Path\n Map", - "多折线图": "Multi-Line\n Chart", - "股票k线图": "Stock \nKlines", - "河流图": "Stream\n Chart", - "烛形图": "Candle\n Stick", - "堆叠面积图": "Stacked \nArea Chart", - "区间面积图": "Interval \nArea Chart", - "基础折线": "Basic \nLine Chart", - "百分比堆\n叠面积图": "% Stacked\n Area", - "复合图表\n地图": "Chart Map", - "矩阵树图": "TreeMap", - "散点图": "Scatter Plot", - "散点\n气泡图": "Bubble \nScatter Plot", - "径向系统树": "Radial \nDendrogram", - "环形弧线图": "Circular \nArc Diagram", - "弧线图": "Arc Diagram", - "和弦图": "Chord \nDiagram", - "基础漏斗图": "Basic\n Funnel", - "对比漏斗图": "Compare\n Funnel", - "对称漏斗图": "Symmetric\n Funnel", - "气泡地图": "Bubble Map", - "箱型图": "Bin Chart", - "色块热力图": "Grid\n Heatmap", - "基础热力图": "Basic\n Heatmap", - "仪表盘": "Gauge Graph", - "雷达图": "Radar Chart", - "词云图": "World Cloud", - "紧凑树": "CompactBox", - "系统树": "Dendrogram", - "脑图": "Mindmap", - "缩进树": "Indented", - "辐射树": "Radial Tree", - "流程图": "Flow Diagram", - "Fruchterman\n聚类": "Fruchterman\n Clustering", - "Fruchterman": "Fruchterman", - "力导向图": "Force-\ndirected", - "环形图": "Circular", - "螺旋线图": "Spiral", - "辐射图": "Radial", - "同心圆": "Concentric", - "网格图": "Grid", - "气泡图": "Bubbles", - "定点地图": "Dot Map", - "符号地图": "Symbol\n Layer", - "3D 柱状\n地图": "3D Column\n Map", - "散点地图": "Scatter Map", - "关系地图": "Relation Map", - "3D 弧线地图": "3D Arc Map", - "分类填充图": "Choroplet\n Map", - "聚合地图": "Chart Map", - "蜂窝热力图": "Hexagonal\n Heatmap", - "3D 网格\n热力图": "3D Grid\n Heatmap", - "3D 蜂窝\n热力图": "3D Hex\n Heatmap", - "经典热力图": "Classical\n Heatmap", - "网格\n热力图": "Grid\n Heatmap", - "桑基图": "Sankey", - "自定义\n Maker": "Custom\n Maker", - "等值线地图": "Isoline Map", - "3D 填充地图": "Extrude Map", - "旭日图": "Sunburst\n Diagram", - "圆堆积图": "Polar \nTreemap", - "极坐标树图": "Circle \nPacking", - "分组柱形图": "Stacked Column", - "力导向图布局": "Force-directed Layout", - "堆叠柱形图": "Grouped Column", - - "统计图表": "Statistic", - "关系图": "Graph", - "地图": "Map", - "折线图": "Line Chart", - "其他": "Others", - "面积图": "Area Chart", - "柱状图": "Column Chart", - "条形图": "Bar Chart", - "饼图": "Pie Chart", - "股票": "Stock", - "树图": "Tree", - "点图层": "Point Layer", - "线图层": "Line Layer", - "面图层": "Polygon\n Layer", - "热力图": "Heatmap", - - "关系型": "Relational", - "数值型": "Numeric", - "时序型": "Time Series", - "分类型": "Category", - "地理型": "Geography", - "树": "Tree", - "聚类": "Cluster", - "层次": "Hierarchy", - "层级": "Hierarchy", - "流": "Flow", - "流向": "Flow", - "场景案例": "ShowCase", - "Leland Wilkinson": "Leland Wilkinson", - "I am thrill with G2. It is amazingly faithful to the GG system and has the potential to generate more graphics.": "I am thrill with G2. It is amazingly faithful to the GG system and has the potential to generate more graphics.", - "AntV": "AntV", - "继续了解": "Learn More", - - "3D大图": "3D Chart", - "超强性能": "Super Power", - "叙事动画": "Animation", - "性能飞跃,专业优雅": "Performance Leap, Professional Elegance", - "专家之声": "Expert Voice", - "来自数据可视化专家的专业认可与推荐": "Professional endorsement and recommendation from data visualization experts.", - "丰富图表,选用自如": "Rich Chart, Choose Freely", - "数据驱动,高度易用,可扩展的可视化图形语法": "Data-driven, highly easy to use, extensible visual graphics syntax", - "开箱即用的多维可视分析表格": "Multi-dimensional visual analysis form out of the box.", - "便捷的关系数据可视化引擎与图分析工具": "Convenient relational data visualization engine and graph analysis tool.", - "散点图 (3D图表)": "Scatter Plot (3D Chart)", - "高性能/高渲染质量的地理空间数据可视化框架": "High performance/high render quality geospatial data visualization framework.", - "统计图表 (移动端)": "Statistical Charts (Mobile)", - "专注于移动端的可视化解决方案,兼容 H5/小程序/Weex 等多端环境": "Focus on mobile visualization solutions, compatible with H5/Mini Program/Weex and other multi-terminal environments.", - "树形图表 (移动端)": "Tree Chart (Mobile)", - "思维导图": "Mind Map", - "一款可以快速、流畅运行于移动设备中的图可视化引擎": "A graphical visualization engine that runs fast and smoothly on mobile devices.", - "极易定制、开箱即用、数据驱动的图编辑引擎": "Easy to customize, out of the box, data-driven graph editing engine.", - "树形图表": "Tree Chart", - "地图 (3D图表)": "Map (3D Chart)", - "矩形式树图 (移动端)": "Heat Tree Map (Mobile)", - "智能洞察": "Intelligent Insight", - "图表库": "Chart Base", - "267全系F版": "267 All Series F", - "多维表格": "Dimensions Table", - "移动统计图": "Module Statistical", - "移动关系图": "Module Diagram", - "移动地图": "Module Map", - "常用统计数据": "Common Statistics", - "关系数据": "Relational Data", - "极致移动定制": "Extreme Mobile Customization", - "设计语言": "Design", - "图表引擎": "Chart Engine", - "拷贝代码": "Copy", - "规范下载": "Download", - "定制主题,一键生成": "Custom Theme, One Click Generation", - "copy 主题": "Copy Theme", - "已复制": "Copied", - "自定主题": "Custom", - "活动战报": "Report", - "数据监控": "Monitoring", - "日常分析": "Analysis", - "开始使用": "Start", - "·让数据栩栩如生": "· Make Data Come To Life", - "让普通应用低成本享受 Serverless 体验,帮助企业降本增效!": "Let General application enjoy Serverless experience at low cost, help enterprises reduce costs and increase efficiency!", - "产品首页": "HomePage", - "使用文档": "Docs", - "伊利诺伊大学计算机科学客座教授H2O.ai 首席科学家,G2 项目顾问": "Visiting Professor of Computer Science at the University of Illinois, Principal Scientist at H2O.ai and Advisor to the G2 project.", - "在多年可视化设计与开发的基础上,蚂蚁金服推出了 AntV 产品,这是工业界基础可视化语法与实践方面发出的最强声音,也是工业界与学术界一道推进可视化研发进展的最佳利器。": "Building on years of visualization design and development, Ant Financial launched AntV, the industry's strongest voice in basic visualization grammar and practice, and the best tool for industry to work with academia to advance visualization research and development.", - "设计,让数据美而简单,让可视化更普惠。好策略、好资产助力好报表、好产品。": "Design, make the data beautiful and simple, make the visualization more inclusive. Good strategy, good assets help good reports, good products.", - "用户总量": "Total", - "3D 可视化图": "3D Visual Chart", - "渲染器运行时切换": "Renderer Runtime Switch", - "分面帧动画": "Faceted Frame Animation", - - "分类色板": "Classification Color Palette", - "单一顺序色板": "Single Sequential Color Palette", - "邻近顺序色板": "Adjacent Sequential Color Palette", - "发散色板": "Diverge Color Palette", - "主要用于描述分类数据,如苹果、香蕉、梨,常用一个颜色代表一个值以区分不同类型,取色时色相分布均衡,相邻颜色之间明暗需考虑差异性,常用于饼图的不同分类、填充地图中的不同国家、关系图中的不同角色等。": "It is mainly used to describe classified data, such as apples, bananas, pears, usually a color represents a value to distinguish different types, the color distribution is balanced, the difference between adjacent colors should be considered between the light and dark, often used for different pie chart classification, filling different countries in the map, different roles in the relationship chart, etc.", - "单色顺序色板,均基于分类色板生长而来,一般使用同一色相,通过明度或饱和度的渐变,常用来表示同一事物中的数值大小或梯度变化,如排行榜等级变化、一个国家或地区的新增人口数对比、风险等级变化等。": "Monochromatic sequential color palette, all based on the growth of classification swatches, generally use the same hue, through the gradual change of brightness or saturation, commonly used to represent the numerical size or gradient change in the same thing, such as ranking changes, comparison of the number of new people in a country or region, risk level changes, etc.", - "邻近顺序色板,均基于分类色板生长而来,为加大辨识度也可使用邻近色相,通过明度或饱和度的渐变,常用来表示同一事物中的数值大小或梯度变化,如排行榜等级变化、一个国家或地区的新增人口数对比、风险等级变化等。": "Adjacent sequential color palette, all based on the growth of the classification color palette, in order to increase the recognition can also use adjacent colors, through the gradual change of brightness or saturation, commonly used to represent the value size or gradient change in the same thing, such as ranking change, comparison of the number of new population in a country or region, risk level change.", - "点再到正向值的连续变化区间,显示相对立的两个值的大小关系,常用于气温的冷热、海拔高低、股票涨跌等。": "The continuous change interval from the point to the positive value shows the size relationship between the two opposite values, which is often used for the cold and hot temperature, altitude, stock rise and fall, etc.", - "柱形图、饼图、关系图、地图、多维表格等260+丰富图表随心选用": "Column、Pie、Graph、Map、Dimensions Table and other 260+ rich chart choice at will.", - - "设计语言与研发框架": "Design language and R&D framework", - "资产一览,让你快速搭建网站应用": "Assets list, let you quickly build a website application.", - "Ant Design / AntV 设计负责人": "Ant Design / AntV Design Leader", - "地理空间数据": "For Geospacial Data", - "267 全系 F 版": "F2、6、7", - "蚂蚁企业级数据可视化解决方案,让人们在数据世界里获得视觉化思考能力": "Ant enterprise data visualization solutions, so that people in the data world to get the ability to think visually." -} diff --git a/.dumi/theme/locales/zh.json b/.dumi/theme/locales/zh.json deleted file mode 100644 index 1e53d4aa2..000000000 --- a/.dumi/theme/locales/zh.json +++ /dev/null @@ -1,330 +0,0 @@ -{ - "蚂蚁数据可视化": "蚂蚁数据可视化", - "·让AGI栩栩如生": "·让AGI栩栩如生", - "蚂蚁集团全新一代数据可视化解决方案": "蚂蚁集团全新一代数据可视化解决方案", - "AntV 是蚂蚁集团全新一代数据可视化解决方案,致力于提供一套简单方便、专业可靠、无限可能的数据可视化最佳实践。": "AntV 是蚂蚁集团全新一代数据可视化解决方案,致力于提供一套简单方便、专业可靠、无限可能的数据可视化最佳实践。", - "立业・利业": "立业・利业", - "了解我们": "了解我们", - "更新": "更新", - "我们是蚂蚁集团数据可视化团队,一群有爱有梦的人,怀揣「让人们在数据世界里获得视觉化思考能力」的梦想前行,成就智能时代全球领先的数据可视化解决方案。": "我们是蚂蚁集团数据可视化团队,一群有爱有梦的人,怀揣「让人们在数据世界里获得视觉化思考能力」的梦想前行,成就智能时代全球领先的数据可视化解决方案。", - "关于我们": "关于我们", - "最新资讯": "最新资讯", - "L7 发布新版本,让地图动起来!": "L7 发布新版本,让地图动起来!", - "推荐": "推荐", - "Kitchen 3.75,效率大幅提升!": "Kitchen 3.75,效率大幅提升!", - "我们的产品": "我们的产品", - "基础产品": "基础产品", - "扩展产品": "扩展产品", - "图表示例": "图表示例", - "API 文档": "API 文档", - "G2 可视化图形语法": "G2 可视化图形语法", - "以数据驱动,具有高度的易用性和扩展性的可视化图形语法。": "以数据驱动,具有高度的易用性和扩展性的可视化图形语法。", - "G6 图可视化引擎": "G6 图可视化引擎", - "一套便捷的关系数据可视化引擎与图分析工具。": "一套便捷的关系数据可视化引擎与图分析工具。", - "F2 移动端可视化方案": "F2 移动端可视化方案", - "一套为移动而生,开箱即用的可视化解决方案。": "一套为移动而生,开箱即用的可视化解决方案。", - "L7 地理空间数据可视化": "L7 地理空间数据可视化", - "一套高性能,高渲染质量的地理空间数据可视化框架。": "一套高性能,高渲染质量的地理空间数据可视化框架。", - "g2plot": "g2plot", - "开箱即用、易于配置、具有良好视觉和交互体验的通用图表。": "开箱即用、易于配置、具有良好视觉和交互体验的通用图表。", - "Graphin": "Graphin", - "ChartCube": "ChartCube", - "AntV 在线图表解决方案 让你拖拖拽拽搞定图表制作。": "AntV 在线图表解决方案 让你拖拖拽拽搞定图表制作。", - "工具和资源": "工具和资源", - "图表用法": "图表用法", - "从数据出发,从功能角度对常见图表进行分类,提供规范使用指引。": "从数据出发,从功能角度对常见图表进行分类,提供规范使用指引。", - "设计原则": "设计原则", - "设计价值观": "设计价值观", - "对数据图形进行拆解、提炼,抽象出一套数据图形可视化交互视觉规范。": "对数据图形进行拆解、提炼,抽象出一套数据图形可视化交互视觉规范。", - "工具资源": "工具资源", - "在进行模式、组件和语言的整理过程中发现的优秀书籍和资源。": "在进行模式、组件和语言的整理过程中发现的优秀书籍和资源。", - "查看详情": "查看详情", - "AntV 企业级可视化解决方案": "AntV 企业级可视化解决方案", - "AntV 3.0 已全新升级,主要包含 G2、G6、F2、L7 以及一套完整的图表使用和设计规范。得益于丰富的业务场景和用户需求挑战,AntV 经历多年积累与不断打磨,已支撑阿里集团内外 20000+ 业务系统,通过了日均千万级 UV 产品的严苛考验后方敢与君见。": "AntV 3.0 已全新升级,主要包含 G2、G6、F2、L7 以及一套完整的图表使用和设计规范。得益于丰富的业务场景和用户需求挑战,AntV 经历多年积累与不断打磨,已支撑阿里集团内外 20000+ 业务系统,通过了日均千万级 UV 产品的严苛考验后方敢与君见。", - "我们的优势": "我们的优势", - "简单方便": "简单方便", - "从数据出发,仅需几行代码可以轻松获得想要的图表展示效果。": "从数据出发,仅需几行代码可以轻松获得想要的图表展示效果。", - "方便可靠": "方便可靠", - "大量产品实践之上,提供绘图引擎、完备图形语法,专业设计规范。": "大量产品实践之上,提供绘图引擎、完备图形语法,专业设计规范。", - "无限可能": "无限可能", - "任何图表,都可以基于图形语法灵活绘制,满足你无限的创意。": "任何图表,都可以基于图形语法灵活绘制,满足你无限的创意。", - "G2 项目顾问": "G2 项目顾问", - "伊利诺伊大学计算机科学客座教授,H2O.ai 首席科学家,G2 项目顾问": "伊利诺伊大学计算机科学客座教授,H2O.ai 首席科学家,G2 项目顾问", - "陈为": "陈为", - "浙江大学计算机学院 CAD & CG 国家重点实验室教授": "浙江大学计算机学院 CAD & CG 国家重点实验室教授", - "在多年可视化设计与开发的积累基础上,蚂蚁金服团队推出了 AntV 产品,这是工业界在基础可视化语法与实践方面发出的最强声音,也是工业界与学术界一道推进可视化研发进展的最佳利器。": "在多年可视化设计与开发的积累基础上,蚂蚁金服团队推出了 AntV 产品,这是工业界在基础可视化语法与实践方面发出的最强声音,也是工业界与学术界一道推进可视化研发进展的最佳利器。", - "林峰": "林峰", - "爱烹饪的可视化攻城狮": "爱烹饪的可视化攻城狮", - "G2 是面粉,Echarts 是面条,皆微小而美好,因小食材怀大梦想,助力共筹东方巨龙崛起之盛宴,迎四海饕客。": "G2 是面粉,Echarts 是面条,皆微小而美好,因小食材怀大梦想,助力共筹东方巨龙崛起之盛宴,迎四海饕客。", - "2000+ 公司正在使用": "2000+ 公司正在使用", - "加入我们": "加入我们", - "我们是蚂蚁集团数据可视化团队,一群有爱有梦的人,怀揣「让人们在数据世界里获得视觉化思考能力」的梦想前行,成就智能时代全球领先的数据可视化解决方案,满足与日俱增的数据洞察需求。": "我们是蚂蚁集团数据可视化团队,一群有爱有梦的人,怀揣「让人们在数据世界里获得视觉化思考能力」的梦想前行,成就智能时代全球领先的数据可视化解决方案,满足与日俱增的数据洞察需求。", - "如果你对可视化、图形技术、数据分析充满激情, 无论你是工程师、设计师还是数据分析师,请联系我们,期待你的加入。": "如果你对可视化、图形技术、数据分析充满激情, 无论你是工程师、设计师还是数据分析师,请联系我们,期待你的加入。", - "立即加入": "立即加入", - "贡献者名录": "贡献者名录", - "问题与反馈": "问题与反馈", - "任何问题,欢迎到我们的仓库提交相关的 issues。": "任何问题,欢迎到我们的仓库提交相关的 issues。", - "立即反馈": "立即反馈", - "蚂蚁集团数据可视化团队": "蚂蚁集团数据可视化团队", - "「让人们在数据世界里获得视觉化思考能力」": "「让人们在数据世界里获得视觉化思考能力」", - "工程师": "工程师", - "设计师": "设计师", - "动效设计师": "动效设计师", - "产品经理": "产品经理", - "历史贡献者": "历史贡献者", - "查看 demo": "查看 demo", - "全屏显示": "全屏显示", - "论坛": "论坛", - "第十五届 D2 前端技术论坛·无界": "第十五届 D2 前端技术论坛·无界", - "巴思": "巴思", - "白弦": "白弦", - "柏愚": "柏愚", - "不过": "不过", - "步茗": "步茗", - "沧东": "沧东", - "沉鱼": "沉鱼", - "导演": "导演", - "董珊珊": "董珊珊", - "福晋": "福晋", - "顾己": "顾己", - "顾倾": "顾倾", - "光生": "光生", - "广知": "广知", - "画康": "画康", - "尽白": "尽白", - "镜曦": "镜曦", - "聚则": "聚则", - "绝云": "绝云", - "珂甫": "珂甫", - "林外": "林外", - "翎刀": "翎刀", - "陆沉": "陆沉", - "罗宪": "罗宪", - "米法": "米法", - "芈乐": "芈乐", - "幕阑": "幕阑", - "偏右": "偏右", - "青湳": "青湳", - "轻声": "轻声", - "璆鸣": "璆鸣", - "山果": "山果", - "十吾": "十吾", - "拾锋": "拾锋", - "索丘": "索丘", - "完白": "完白", - "问崖": "问崖", - "乌诺": "乌诺", - "象数": "象数", - "逍为": "逍为", - "萧庆": "萧庆", - "新茗": "新茗", - "亦叶": "亦叶", - "有田": "有田", - "玉伯": "玉伯", - "御术": "御术", - "再飞": "再飞", - "早弦": "早弦", - "张初尘": "张初尘", - "长哲": "长哲", - "祯逸": "祯逸", - "诸岳": "诸岳", - "杍鱼": "杍鱼", - "它山": "它山", - "按使用目的维度": "按使用目的维度", - "按图表类型维度": "按图表类型维度", - "按数据类型维度": "按数据类型维度", - "图表分类": "图表分类", - "分布": "分布", - "组成": "组成", - "占比": "占比", - "关系": "关系", - "流程": "流程", - "比较": "比较", - "趋势": "趋势", - "基础柱状图": "基础柱状图", - "分组柱状图": "分组柱状图", - "堆叠柱状图": "堆叠柱状图", - "百分比堆\n叠柱状图": "百分比堆\n叠柱状图", - "区间柱状图": "区间柱状图", - "瀑布图": "瀑布图", - "直方图": "直方图", - "基础条形图": "基础条形图", - "堆叠条形图": "堆叠条形图", - "百分比堆\n叠条形图": "百分比堆\n叠条形图", - "分组条形图": "分组条形图", - "区间条形图": "区间条形图", - "玉珏图": "玉珏图", - "对称分组\n条形图": "对称分组\n条形图", - "基础饼图": "基础饼图", - "环形饼图": "环形饼图", - "环图": "环图", - "嵌套饼图": "嵌套饼图", - "南丁格尔图": "南丁格尔图", - "基础面积图": "基础面积图", - "路径地图": "路径地图", - "多折线图": "多折线图", - "股票k线图": "股票k线图", - "河流图": "河流图", - "烛形图": "烛形图", - "堆叠面积图": "堆叠面积图", - "区间面积图": "区间面积图", - "基础折线": "基础折线", - "百分比堆\n叠面积图": "百分比堆\n叠面积图", - "复合图表\n地图": "复合图表\n地图", - "矩阵树图": "矩阵树图", - "散点图": "散点图", - "散点\n气泡图": "散点\n气泡图", - "径向系统树": "径向系统树", - "环形弧线图": "环形弧线图", - "弧线图": "弧线图", - "和弦图": "和弦图", - "基础漏斗图": "基础漏斗图", - "对比漏斗图": "对比漏斗图", - "对称漏斗图": "对称漏斗图", - "气泡地图": "气泡地图", - "箱型图": "箱型图", - "色块热力图": "色块热力图", - "基础热力图": "基础热力图", - "仪表盘": "仪表盘", - "雷达图": "雷达图", - "词云图": "词云图", - "紧凑树": "紧凑树", - "系统树": "系统树", - "脑图": "脑图", - "缩进树": "缩进树", - "辐射树": "辐射树", - "流程图": "流程图", - "Fruchterman\n聚类": "Fruchterman\n聚类", - "Fruchterman": "Fruchterman", - "力导向图": "力导向图", - "环形图": "环形图", - "螺旋线图": "螺旋线图", - "辐射图": "辐射图", - "同心圆": "同心圆", - "网格图": "网格图", - "气泡图": "气泡图", - "定点地图": "定点地图", - "符号地图": "符号地图", - "3D 柱状\n地图": "3D 柱状\n地图", - "散点地图": "散点地图", - "关系地图": "关系地图", - "3D 弧线地图": "3D 弧线地图", - "分类填充图": "分类填充图", - "聚合地图": "聚合地图", - "蜂窝热力图": "蜂窝热力图", - "3D 网格\n热力图": "3D 网格\n热力图", - "3D 蜂窝\n热力图": "3D 蜂窝\n热力图", - "经典热力图": "经典热力图", - "网格\n热力图": "网格\n热力图", - "桑基图": "桑基图", - "自定义\n Maker": "自定义\n Maker", - "等值线地图": "等值线地图", - "3D 填充地图": "3D 填充地图", - "旭日图": "旭日图", - "圆堆积图": "圆堆积图", - "极坐标树图": "极坐标树图", - "统计图表": "统计图表", - "关系图": "关系图", - "地图": "地图", - "折线图": "折线图", - "其他": "其他", - "面积图": "面积图", - "柱状图": "柱状图", - "条形图": "条形图", - "饼图": "饼图", - "股票": "股票", - "树图": "树图", - "点图层": "点图层", - "线图层": "线图层", - "面图层": "面图层", - "热力图": "热力图", - "关系型": "关系型", - "数值型": "数值型", - "时序型": "时序型", - "分类型": "分类型", - "地理型": "地理型", - "分组柱形图": "分组柱形图", - "力导向图布局": "力导向图布局", - "堆叠柱形图": "堆叠柱形图", - "树": "树", - "聚类": "聚类", - "层次": "层次", - "层级": "层级", - "流": "流", - "流向": "流向", - "场景案例": "场景案例", - "Leland Wilkinson": "Leland Wilkinson", - "I am thrill with G2. It is amazingly faithful to the GG system and has the potential to generate more graphics.": "I am thrill with G2. It is amazingly faithful to the GG system and has the potential to generate more graphics.", - "AntV": "AntV", - "继续了解": "继续了解", - "3D大图": "3D大图", - "超强性能": "超强性能", - "叙事动画": "叙事动画", - "性能飞跃,专业优雅": "性能飞跃,专业优雅", - "专家之声": "专家之声", - "来自数据可视化专家的专业认可与推荐": "来自数据可视化专家的专业认可与推荐", - "丰富图表,选用自如": "丰富图表,选用自如", - "数据驱动,高度易用,可扩展的可视化图形语法": "数据驱动,高度易用,可扩展的可视化图形语法", - "开箱即用的多维可视分析表格": "开箱即用的多维可视分析表格", - "便捷的关系数据可视化引擎与图分析工具": "便捷的关系数据可视化引擎与图分析工具", - "散点图 (3D图表)": "散点图 (3D图表)", - "高性能/高渲染质量的地理空间数据可视化框架": "高性能/高渲染质量的地理空间数据可视化框架", - "统计图表 (移动端)": "统计图表 (移动端)", - "专注于移动端的可视化解决方案,兼容 H5/小程序/Weex 等多端环境": "专注于移动端的可视化解决方案,兼容 H5/小程序/Weex 等多端环境", - "树形图表 (移动端)": "树形图表 (移动端)", - "思维导图": "思维导图", - "一款可以快速、流畅运行于移动设备中的图可视化引擎": "一款可以快速、流畅运行于移动设备中的图可视化引擎", - "极易定制、开箱即用、数据驱动的图编辑引擎": "极易定制、开箱即用、数据驱动的图编辑引擎", - "树形图表": "树形图表", - "地图 (3D图表)": "地图 (3D图表)", - "矩形式树图 (移动端)": "矩形式树图 (移动端)", - "智能洞察": "智能洞察", - "图表库": "图表库", - "267全系F版": "267全系F版", - "多维表格": "多维表格", - "移动统计图": "移动统计图", - "移动关系图": "移动关系图", - "移动地图": "移动地图", - "常用统计数据": "常用统计数据", - "关系数据": "关系数据", - "极致移动定制": "极致移动定制", - "设计语言": "设计语言", - "图表引擎": "图表引擎", - "拷贝代码": "拷贝代码", - "规范下载": "规范下载", - "定制主题,一键生成": "定制主题,一键生成", - "copy 主题": "copy 主题", - "已复制": "已复制", - "自定主题": "自定主题", - "活动战报": "活动战报", - "数据监控": "数据监控", - "日常分析": "日常分析", - "开始使用": "开始使用", - "·让数据栩栩如生": "·让数据栩栩如生", - "让普通应用低成本享受 Serverless 体验,帮助企业降本增效!": "让普通应用低成本享受 Serverless 体验,帮助企业降本增效!", - "产品首页": "产品首页", - "使用文档": "使用文档", - "伊利诺伊大学计算机科学客座教授H2O.ai 首席科学家,G2 项目顾问": "伊利诺伊大学计算机科学客座教授H2O.ai 首席科学家,G2 项目顾问", - "在多年可视化设计与开发的基础上,蚂蚁金服推出了 AntV 产品,这是工业界基础可视化语法与实践方面发出的最强声音,也是工业界与学术界一道推进可视化研发进展的最佳利器。": "在多年可视化设计与开发的基础上,蚂蚁金服推出了 AntV 产品,这是工业界基础可视化语法与实践方面发出的最强声音,也是工业界与学术界一道推进可视化研发进展的最佳利器。", - "设计,让数据美而简单,让可视化更普惠。好策略、好资产助力好报表、好产品。": "设计,让数据美而简单,让可视化更普惠。好策略、好资产助力好报表、好产品。", - "用户总量": "用户总量", - "3D 可视化图": "3D 可视化图", - "渲染器运行时切换": "渲染器运行时切换", - "分面帧动画": "分面帧动画", - "分类色板": "分类色板", - "单一顺序色板": "单一顺序色板", - "邻近顺序色板": "邻近顺序色板", - "发散色板": "发散色板", - "主要用于描述分类数据,如苹果、香蕉、梨,常用一个颜色代表一个值以区分不同类型,取色时色相分布均衡,相邻颜色之间明暗需考虑差异性,常用于饼图的不同分类、填充地图中的不同国家、关系图中的不同角色等。": "主要用于描述分类数据,如苹果、香蕉、梨,常用一个颜色代表一个值以区分不同类型,取色时色相分布均衡,相邻颜色之间明暗需考虑差异性,常用于饼图的不同分类、填充地图中的不同国家、关系图中的不同角色等。", - "单色顺序色板,均基于分类色板生长而来,一般使用同一色相,通过明度或饱和度的渐变,常用来表示同一事物中的数值大小或梯度变化,如排行榜等级变化、一个国家或地区的新增人口数对比、风险等级变化等。": "单色顺序色板,均基于分类色板生长而来,一般使用同一色相,通过明度或饱和度的渐变,常用来表示同一事物中的数值大小或梯度变化,如排行榜等级变化、一个国家或地区的新增人口数对比、风险等级变化等。", - "邻近顺序色板,均基于分类色板生长而来,为加大辨识度也可使用邻近色相,通过明度或饱和度的渐变,常用来表示同一事物中的数值大小或梯度变化,如排行榜等级变化、一个国家或地区的新增人口数对比、风险等级变化等。": "邻近顺序色板,均基于分类色板生长而来,为加大辨识度也可使用邻近色相,通过明度或饱和度的渐变,常用来表示同一事物中的数值大小或梯度变化,如排行榜等级变化、一个国家或地区的新增人口数对比、风险等级变化等。", - "点再到正向值的连续变化区间,显示相对立的两个值的大小关系,常用于气温的冷热、海拔高低、股票涨跌等。": "点再到正向值的连续变化区间,显示相对立的两个值的大小关系,常用于气温的冷热、海拔高低、股票涨跌等。", - "柱形图、饼图、关系图、地图、多维表格等260+丰富图表随心选用": "柱形图、饼图、关系图、地图、多维表格等260+丰富图表随心选用", - - "设计语言与研发框架": "设计语言与研发框架", - "资产一览,让你快速搭建网站应用": "资产一览,让你快速搭建网站应用", - "Ant Design / AntV 设计负责人": "Ant Design / AntV 设计负责人", - "地理空间数据": "地理空间数据", - "267 全系 F 版": "267 全系 F 版", - "蚂蚁企业级数据可视化解决方案,让人们在数据世界里获得视觉化思考能力": "蚂蚁企业级数据可视化解决方案,让人们在数据世界里获得视觉化思考能力" -} diff --git a/.dumi/theme/slots/Detail/index.tsx b/.dumi/theme/slots/Detail/index.tsx deleted file mode 100644 index e7ffde7bb..000000000 --- a/.dumi/theme/slots/Detail/index.tsx +++ /dev/null @@ -1,66 +0,0 @@ -import SEO from '@antv/dumi-theme-antv/dist/common/CommonHelmet'; -import { useIntl, useLocale } from 'dumi'; -import { debounce } from 'lodash'; -import React, { useEffect, useRef } from 'react'; -import Banner from 'site/components/Banner/Banner'; -import { ComplexCharts } from 'site/components/ComplexCharts'; -import { FamousPersons } from 'site/components/FamousPersons'; -import { LinkCharts } from 'site/components/LinkCharts'; -import { ProjectCard } from 'site/components/ProjectCard'; -import { ThemeCharts } from 'site/components/ThemeCharts'; - -export const Detail: React.FC = () => { - const locale = useLocale(); - const intl = useIntl(); - const ref = useRef(null); - - const useT = (transformedMessage: string) => { - return intl.formatMessage({ - id: transformedMessage, - }); - }; - - useEffect(() => { - const onResize = debounce(() => { - if (ref?.current) { - const scrollDom = ref?.current as HTMLDivElement; - const { clientWidth, scrollWidth } = scrollDom; - scrollDom.scrollLeft = (scrollWidth - clientWidth) / 2; - } - }, 100); - window.addEventListener('resize', onResize); - - return () => { - window.removeEventListener('resize', onResize); - }; - }, []); - - return ( -
- -
-
- - - - - - -
-
-
- ); -}; diff --git a/.dumirc.ts b/.dumirc.ts deleted file mode 100644 index 44adf38b8..000000000 --- a/.dumirc.ts +++ /dev/null @@ -1,154 +0,0 @@ -import { defineConfig } from 'dumi'; -import { homepage, repository } from './package.json'; -export default defineConfig({ - locales: [ - { id: 'zh', name: '中文' }, - { id: 'en', name: 'English' }, - ], - favicons: [ - 'https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*7svFR6wkPMoAAAAAAAAAAAAADmJ7AQ/original', - ], // 网站 favicon - metas: [ - // 自定义 meta 标签 - { name: 'keywords', content: 'AntV' }, - { name: 'description', content: 'Ant Visualization solution' }, - ], - themeConfig: { - title: 'AntV', - description: 'Ant Visualization solution', - defaultLanguage: 'zh', // 默认语言 - isAntVSite: true, // 是否是 AntV 的大官网 - footerTheme: 'light', - siteUrl: homepage, // 官网地址 - githubUrl: 'https://github.com/antvis/antvis.github.io', // GitHub 地址 - showSearch: true, // 是否显示搜索框 - showGithubCorner: true, // 是否显示头部的 GitHub icon - showAntVProductsCard: true, // 是否显示 AntV 产品汇总的卡片 - showLanguageSwitcher: true, // 是否显示官网语言切换 - showWxQrcode: true, // 是否显示头部菜单的微信公众号 - docsearchOptions: { - // 头部搜索框配置 - apiKey: '9d1cd586972bb492b7b41b13a949ef30', - indexName: 'antv_g6', - }, - navs: [ - { - slug: 'docs/specification/principles/basic', - title: { - zh: '设计语言', - en: 'Design', - }, - }, - ], - ecosystems: [ - // 头部的菜单中的「周边生态」 - ], - docs: [ - { - slug: 'specification/principles', - title: { - zh: '设计价值观', - en: 'Design Values', - }, - order: 0, - }, - { - slug: 'specification/language', - title: { - zh: '设计语言', - en: 'Language', - }, - order: 1, - }, - { - slug: 'specification/strategy', - title: { - zh: '设计策略', - en: 'Strategies', - }, - order: 2, - }, - { - slug: 'specification/graph', - title: { - zh: '图表设计指引', - en: 'Visualization Guides', - }, - order: 3, - }, - { - slug: 'specification/module', - title: { - zh: '组件设计指引', - en: 'Components Guide', - }, - order: 4, - }, - { - slug: 'specification/tool', - title: { - zh: '工具', - en: 'Tools', - }, - order: 6, - }, - ], - tutorials: [ - { - slug: 'manual/about', - title: { - zh: '关于', - en: 'About', - }, - order: 1, - }, - ], - examples: [], - mdPlayground: { - // 第一个分块的大小 - splitPaneMainSize: '62%', - }, - announcement: { - zh: '', - en: '', - }, - /** 首页技术栈介绍 */ - detail: { - title: { - zh: 'Antv', - en: 'Antv', - }, - description: { - zh: 'Ant Visualization solution', - en: 'Ant Visualization solution', - }, - }, - metas: { - title: { - zh: "AntV", - en: "AntV" - }, - description: { - zh: "让AGI栩栩如生", - en: "Ant Visualization solution" - } - }, - }, - alias: { - site: '/site', - }, - mfsu: false, - analytics: { - // google analytics 的 key (GA 4) - // ga_v2: 'G-abcdefg', - // 若你在使用 GA v1 旧版本,请使用 `ga` 来配置 - ga_v2: 'G-96Q5R280YF', - // 百度统计的 key - // baidu: 'baidu_tongji_key', - }, - links: [], - scripts: [], - https: { - http2: false - } -}); diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c4c9ecde4..f7d2f2f8a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -2,23 +2,24 @@ name: build on: push: + pull_request: jobs: ci: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: - node-version: 20 - + node-version: 22 + - name: Install dependencies run: npm install - name: Type Check - run: npm run type-check + run: npm run check - name: Build - run: npm run build \ No newline at end of file + run: npm run build diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 38b919e1a..d102098fd 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -4,15 +4,21 @@ on: workflow_dispatch: push: branches: - - master + - master jobs: deploy-site: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - run: npm install - - run: npm run build + - uses: actions/checkout@v4 + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 22 + - name: Install dependencies + run: npm install + - name: Build site + run: npm run build - run: echo 'antv.vision' > dist/CNAME - run: | cd dist diff --git a/.gitignore b/.gitignore index e13843391..54a6fc72e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,83 +1,19 @@ # Logs -logs +logs/ *.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release # Dependency directories node_modules/ -jspm_packages/ - -# Typescript v1 declaration files -typings/ - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# dotenv environment variables file -.env - -# gatsby files -.cache/ -public - -# Mac files -.DS_Store - -# Yarn -yarn-error.log -.pnp/ -.pnp.js -# Yarn Integrity file -.yarn-integrity - package-lock.json yarn.lock -_site - +# Local environment +.env +.DS_Store +.idea/ -# dumi production -/dist - -# dumi tmp_production -.dumi/tmp -.dumi/tmp-production -.idea +# Generated files +dist/ +.astro/ +coverage/ +pnpm-lock.yaml \ No newline at end of file diff --git a/README.md b/README.md index 14e070233..dfe1f09de 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,24 @@ # AntV New Site 📈 -New AntV site built on [@antv/dumi-theme-antv](https://github.com/antvis/dumi-theme-antv). +New AntV site built on [@antv/astro-theme-antv](https://github.com/antvis/astro-theme-antv). ![prettier code style](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square) -## Install & Preview +## Local development -```bash +```sh npm install -npm start +npm run dev ``` -Visit https://127.0.0.1:8000 +Local development starts at http://localhost:4321. Both `/zh/` and `/en/` are available. -## Prettier +## Validation and deployment -```bash -npm run format +```sh +npm run check # Astro / TypeScript diagnostics +npm run build # Build the static site +npm run preview # Preview the built site ``` -## Deploy to antv.vision - -```bash -npm run deploy -``` +CI runs the type check and static site build. diff --git a/astro.config.mjs b/astro.config.mjs new file mode 100644 index 000000000..0180ccb07 --- /dev/null +++ b/astro.config.mjs @@ -0,0 +1,104 @@ +import { defineConfig } from 'astro/config'; +import { antvSite } from '@antv/astro-theme-antv'; +import react from '@astrojs/react'; +import mdx from '@astrojs/mdx'; +import sitemap from '@astrojs/sitemap'; + +const siteConfig = { + site: { + title: 'AntV', + origin: 'https://antv.antgroup.com', + repository: 'https://github.com/antvis/antvis.github.io', + defaultLocale: 'zh', + locales: ['zh', 'en'], + favicon: + 'https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*7svFR6wkPMoAAAAAAAAAAAAADmJ7AQ/original', + logo: 'https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*A-lcQbVTpjwAAAAAAAAAAAAADmJ7AQ/original', + description: { + zh: 'AntV 是蚂蚁集团全新一代数据可视化解决方案,提供简单方便、专业可靠、无限可能的数据可视化最佳实践。', + en: 'AntV is Ant Group’s next-generation data visualization solution, providing simple, reliable, and extensible visualization practices.', + }, + }, + content: { + docs: './docs', + examples: null, + edit: { + branch: 'master', + path: 'docs', + }, + sidebar: { + 'specification/principles': { + zh: '设计价值观', + en: 'Design Values', + order: 0, + }, + 'specification/language': { + zh: '设计语言', + en: 'Language', + order: 1, + }, + 'specification/strategy': { + zh: '设计策略', + en: 'Strategies', + order: 2, + }, + 'specification/graph': { + zh: '图表设计指引', + en: 'Visualization Guides', + order: 3, + }, + 'specification/module': { + zh: '组件设计指引', + en: 'Component Guides', + order: 4, + }, + 'specification/tool': { + zh: '工具', + en: 'Tools', + order: 6, + }, + }, + }, + navigation: [ + { + text: { zh: '设计语言', en: 'Design' }, + href: '/specification/principles/basic', + }, + ], + search: { + enabled: false, + }, + analytics: { + GoogleAnalytics: { id: 'G-96Q5R280YF' }, + }, + home: { + title: { + zh: '让 AI 栩栩如生', + en: 'Make AI come alive', + }, + description: { + zh: '蚂蚁企业级数据可视化解决方案,让人们在数据世界里获得视觉化思考能力。', + en: 'Enterprise visualization technology that helps people think visually in a world of data.', + }, + }, + qa: { + enabled: true, + }, + slots: { + home: { + hero: ['./src/Home.astro'], + features: ['./src/Content.astro'], + }, + }, +}; + +export default defineConfig({ + devToolbar: { enabled: false }, + integrations: [ + antvSite(siteConfig), + react(), + mdx(), + sitemap(), + ], + redirects: { '/result': '/zh/result/' }, +}); diff --git a/docs/specification/graph/mobile.zh.md b/docs/specification/graph/mobile.zh.md index 996d0ab85..a9f304c5e 100644 --- a/docs/specification/graph/mobile.zh.md +++ b/docs/specification/graph/mobile.zh.md @@ -37,7 +37,7 @@ AntV 拥有一套基于移动端的可视化图形语法图表库(F2),我 ![](https://gw.alipayobjects.com/mdn/rms_a8a5bf/afts/img/A*SmlZQY1NH-8AAAAAAAAAAAAAARQnAQ) -在 “信息轻量聚焦” 中我们提到移动端的可视化设计多聚焦于用户的直接任务,用[可视化交互](../language/interact) 一文中提及的任务层次来分析,移动端交互设计上会更聚焦在数据获取层,对复杂程度较高的交互行为要进行适度的克制。下图是 AntV 设计总结的常用手势表,给大家做参考。 +在 “信息轻量聚焦” 中我们提到移动端的可视化设计多聚焦于用户的直接任务,用[可视化交互](/zh/specification/language/interact/) 一文中提及的任务层次来分析,移动端交互设计上会更聚焦在数据获取层,对复杂程度较高的交互行为要进行适度的克制。下图是 AntV 设计总结的常用手势表,给大家做参考。 | **动作** | **目的** | **操作** | **示例** | | --- | --- | --- | --- | diff --git a/docs/specification/language/basic.zh.md b/docs/specification/language/basic.zh.md index 50dbe0bde..6dafbccb0 100644 --- a/docs/specification/language/basic.zh.md +++ b/docs/specification/language/basic.zh.md @@ -57,7 +57,7 @@ AntV 色板以蚂蚁极客蓝为起始主色,根据不同数据类型、使用 ![02-AntV 品牌色@3x.png](https://gw.alipayobjects.com/mdn/rms_a8a5bf/afts/img/A*ob0rTbJccqgAAAAAAAAAAAAAARQnAQ) -更多关于色板的信息请[阅读此链接](./palette)。 +更多关于色板的信息请[阅读此链接](/zh/specification/language/palette/)。 ### 色板示例 diff --git a/docs/specification/language/palette.zh.md b/docs/specification/language/palette.zh.mdx similarity index 90% rename from docs/specification/language/palette.zh.md rename to docs/specification/language/palette.zh.mdx index a65f688ec..36c6b8e31 100644 --- a/docs/specification/language/palette.zh.md +++ b/docs/specification/language/palette.zh.mdx @@ -3,9 +3,12 @@ title: 色板 order: 1 --- +import Swatch from '../../../src/components/Swatch.astro'; + + G2 是一套基于可视化编码的图形语法,以数据驱动,具有高度的易用性和扩展性,用户无需关注各种繁琐的实现细节,一条语句即可构建出各种各样的可交互的统计图表。 -AntV 色板是基于 Ant Design 色彩体系,并结合数据可视化设计价值观而设计。在可视化设计中,色板的运用原则上优先保障给予用户的信任感,同时考虑在呈现阅读、交互反馈强化给到用户轻松感,最重要的是颜色在不同场景中使用的意义感,帮助用户能在数据可视化中启发理解和获取洞见,收获工作的意义。下载资源色板 +AntV 色板是基于 Ant Design 色彩体系,并结合数据可视化设计价值观而设计。在可视化设计中,色板的运用原则上优先保障给予用户的信任感,同时考虑在呈现阅读、交互反馈强化给到用户轻松感,最重要的是颜色在不同场景中使用的意义感,帮助用户能在数据可视化中启发理解和获取洞见,收获工作的意义。下载资源色板 ## 颜色映射原理 @@ -17,9 +20,9 @@ AntV 色板是基于 Ant Design) and serve as guiding principles with characteristics of data visualization. While adhering to the design values of Ant Design, it offers a further interpretation in the field of data visualization. AntV's design language initially defined four design values: "Accuracy, Clarity, Effectiveness, and Beauty". After several years of extensive project practice in internal business and with the changes in users' demands for data analysis, new requirements have been put forward for charts. diff --git a/docs/specification/standby/antvColorList.en.md b/docs/specification/standby/antvColorList.en.md deleted file mode 100644 index fa716b8cf..000000000 --- a/docs/specification/standby/antvColorList.en.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: AntV Color Board -order: 0 ---- - - diff --git a/docs/specification/standby/antvColorList.zh.md b/docs/specification/standby/antvColorList.zh.md deleted file mode 100644 index f7ec2f4f0..000000000 --- a/docs/specification/standby/antvColorList.zh.md +++ /dev/null @@ -1,138 +0,0 @@ ---- -title: AntV 色板色值表 -order: 0 ---- - -## 分类色板 - -**官方默认色板,分为 10 色和 20 色** - -| 色板名称 | 例 | 色值 | 色板名称 | 例 | 色值 | -| --- | --- | --- | --- | --- | --- | -| PaletteQualitative10-1 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667373415-c6b5238d-fc04-4ca0-ad9f-51131ac5dace.png#align=left&display=inline&height=24&name=image.png&originHeight=100&originWidth=100&size=409&status=done&style=none&width=24) | #5B8FF9 | PaletteQualitative20-1 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667373415-c6b5238d-fc04-4ca0-ad9f-51131ac5dace.png#align=left&display=inline&height=24&name=image.png&originHeight=100&originWidth=100&size=409&status=done&style=none&width=24) | #5B8FF9 | -| PaletteQualitative10-2 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667387861-c1343ddc-34ab-4d49-9e29-44eead0e3a7f.png#align=left&display=inline&height=24&name=image.png&originHeight=106&originWidth=106&size=445&status=done&style=none&width=24) | #61DDAA | PaletteQualitative20-2 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581931341653-be214cfa-a217-468c-a859-f602d25071e9.png#align=left&display=inline&height=21&name=image.png&originHeight=42&originWidth=44&size=158&status=done&style=none&width=22) | #CDDDFD | -| PaletteQualitative10-3 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667400477-dc42a605-67ee-45cd-852e-9b81cd508d15.png#align=left&display=inline&height=24&name=image.png&originHeight=100&originWidth=100&size=410&status=done&style=none&width=24) | #65789B | PaletteQualitative20-3 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667387861-c1343ddc-34ab-4d49-9e29-44eead0e3a7f.png#align=left&display=inline&height=24&name=image.png&originHeight=106&originWidth=106&size=445&status=done&style=none&width=24) | #61DDAA | -| PaletteQualitative10-4 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667419248-a502a18a-0d28-4bf0-88ab-47076ed9a132.png#align=left&display=inline&height=57&name=image.png&originHeight=114&originWidth=104&size=463&status=done&style=none&width=52) | #F6BD16 | PaletteQualitative20-4 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581931352638-73a87eaf-5692-49ed-953f-edac2ac65c8c.png#align=left&display=inline&height=20&name=image.png&originHeight=40&originWidth=40&size=153&status=done&style=none&width=20) | #CDF3E4 | -| PaletteQualitative10-5 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/185301/1603097915585-b6ac7f2b-1680-4188-b2e1-e514d37a4a63.png#align=left&display=inline&height=75&margin=%5Bobject%20Object%5D&name=image.png&originHeight=150&originWidth=150&size=3964&status=done&style=none&width=75) | #7262fd | PaletteQualitative20-5 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667400477-dc42a605-67ee-45cd-852e-9b81cd508d15.png#align=left&display=inline&height=24&name=image.png&originHeight=100&originWidth=100&size=410&status=done&style=none&width=24) | #65789B | -| PaletteQualitative10-6 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667433701-f74b31a1-a332-4415-b270-e73d932fc600.png#align=left&display=inline&height=51&name=image.png&originHeight=102&originWidth=104&size=424&status=done&style=none&width=52) | #78D3F8 | PaletteQualitative20-6 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581931466348-1f7e3f7a-0ebb-4218-a220-1c1bd505cd96.png#align=left&display=inline&height=25&name=image.png&originHeight=50&originWidth=46&size=174&status=done&style=none&width=23) | #CED4DE | -| PaletteQualitative10-7 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667440954-dcbb6b3f-e07b-4208-8137-2df92f7e6a4a.png#align=left&display=inline&height=50&name=image.png&originHeight=100&originWidth=106&size=425&status=done&style=none&width=53) | #9661BC | PaletteQualitative20-7 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667419248-a502a18a-0d28-4bf0-88ab-47076ed9a132.png#align=left&display=inline&height=57&name=image.png&originHeight=114&originWidth=104&size=463&status=done&style=none&width=52) | #F6BD16 | -| PaletteQualitative10-8 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667447050-bea49bd8-e505-4c7c-89e8-a91c0b719692.png#align=left&display=inline&height=53&name=image.png&originHeight=106&originWidth=104&size=435&status=done&style=none&width=52) | #F6903D | PaletteQualitative20-8 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581931498184-fb10c88f-9c28-4696-9065-dd1f66807a83.png#align=left&display=inline&height=23&name=image.png&originHeight=46&originWidth=42&size=165&status=done&style=none&width=21) | #FCEBB9 | -| PaletteQualitative10-9 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667455031-a89acef3-a0d8-4586-8ad1-cd674c179e29.png#align=left&display=inline&height=48&name=image.png&originHeight=96&originWidth=98&size=391&status=done&style=none&width=49) | #008685 | PaletteQualitative20-9 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/185301/1603097925805-4168724c-647f-41fe-aeb5-613555513e6f.png#align=left&display=inline&height=75&margin=%5Bobject%20Object%5D&name=image.png&originHeight=150&originWidth=150&size=3964&status=done&style=none&width=75) | #7262fd | -| PaletteQualitative10-10 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667462743-3d9bfc8c-773d-46fe-bb1d-58bf6617c3ea.png#align=left&display=inline&height=51&name=image.png&originHeight=102&originWidth=106&size=431&status=done&style=none&width=53) | #F08BB4 | PaletteQualitative20-10 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/185301/1603097969931-d18bb77b-47fb-4958-ba90-f7de84c79326.png#align=left&display=inline&height=41&margin=%5Bobject%20Object%5D&name=image.png&originHeight=82&originWidth=82&size=2210&status=done&style=none&width=41) | #D3CEFD | -| | | | PaletteQualitative20-11 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667433701-f74b31a1-a332-4415-b270-e73d932fc600.png#align=left&display=inline&height=51&name=image.png&originHeight=102&originWidth=104&size=424&status=done&style=none&width=52) | #78D3F8 | -| | | | PaletteQualitative20-12 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581931523218-250fab05-3568-4440-8b59-ee418c95cd3b.png#align=left&display=inline&height=25&name=image.png&originHeight=50&originWidth=44&size=170&status=done&style=none&width=22) | #D3EEF9 | -| | | | PaletteQualitative20-13 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667440954-dcbb6b3f-e07b-4208-8137-2df92f7e6a4a.png#align=left&display=inline&height=50&name=image.png&originHeight=100&originWidth=106&size=425&status=done&style=none&width=53) | #9661BC | -| | | | PaletteQualitative20-14 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581931539706-0ff7787b-bb01-43df-a097-e1924b1351cc.png#align=left&display=inline&height=22&name=image.png&originHeight=44&originWidth=38&size=159&status=done&style=none&width=19) | #DECFEA | -| | | | PaletteQualitative20-15 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667447050-bea49bd8-e505-4c7c-89e8-a91c0b719692.png#align=left&display=inline&height=53&name=image.png&originHeight=106&originWidth=104&size=435&status=done&style=none&width=52) | #F6903D | -| | | | PaletteQualitative20-16 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581931558551-75870146-ee48-4df6-a8f1-1f74c2b0ef1c.png#align=left&display=inline&height=24&name=image.png&originHeight=48&originWidth=42&size=167&status=done&style=none&width=21) | #FFE0C7 | -| | | | PaletteQualitative20-17 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667455031-a89acef3-a0d8-4586-8ad1-cd674c179e29.png#align=left&display=inline&height=48&name=image.png&originHeight=96&originWidth=98&size=391&status=done&style=none&width=49) | #008685 | -| | | | PaletteQualitative20-18 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581931594066-4f952449-8e4f-41a3-b7e8-a8cbb8eb978d.png#align=left&display=inline&height=24&name=image.png&originHeight=48&originWidth=46&size=168&status=done&style=none&width=23) | #BBDEDE | -| | | | PaletteQualitative20-19 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667462743-3d9bfc8c-773d-46fe-bb1d-58bf6617c3ea.png#align=left&display=inline&height=51&name=image.png&originHeight=102&originWidth=106&size=431&status=done&style=none&width=53) | #F08BB4 | -| | | | PaletteQualitative20-20 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581931623591-b3e9f66e-f2f0-44ea-81e3-5f05b0716655.png#align=left&display=inline&height=22&name=image.png&originHeight=44&originWidth=42&size=161&status=done&style=none&width=21) | #FFE0ED | - -**
**
**新增三套主题色,适用于黑白场** - -| PaletteQualitative-Autumn | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/73157/1602817967367-d2501123-82da-4f06-aeb3-166f966cefab.png#align=left&display=inline&height=11&margin=%5Bobject%20Object%5D&name=image.png&originHeight=21&originWidth=210&size=364&status=done&style=none&width=105) | 10 色#FF6B3B #626681 #FFC100 #9FB40F #76523B #DAD5B5 #0E8E89 #E19348 #F383A2 #247FEA | -| --- | --- | --- | -| | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/73157/1602817936610-bf9ea586-2d27-461d-89ce-ccea952f7f5d.png#align=left&display=inline&height=11&margin=%5Bobject%20Object%5D&name=image.png&originHeight=21&originWidth=420&size=698&status=done&style=none&width=210) | 20 色
#FF6B3B #626681 #FFC100 #9FB40F #76523B #DAD5B5 #0E8E89 #E19348 #F383A2 #247FEA 
#2BCB95 #B1ABF4 #1D42C2 #1D9ED1 #D64BC0 #255634 #8C8C47 #8CDAE5 #8E283B #791DC9 | -| PaletteQualitative-Macaron | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/73157/1602818647659-4bf5fbff-513a-4615-8b7f-7abde70ae2f9.png#align=left&display=inline&height=11&margin=%5Bobject%20Object%5D&name=image.png&originHeight=21&originWidth=210&size=364&status=done&style=none&width=105) | 10 色#025DF4 #DB6BCF #2498D1 #BBBDE6 #4045B2 #21A97A #FF745A #007E99 #FFA8A8 #2391FF  | -| | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/73157/1602818656906-112cfbdc-44f1-4678-a80e-e606d5e10513.png#align=left&display=inline&height=11&margin=%5Bobject%20Object%5D&name=image.png&originHeight=21&originWidth=420&size=696&status=done&style=none&width=210) | 20 色
#025DF4 #DB6BCF #2498D1 #BBBDE6 #4045B2 #21A97A #FF745A #007E99 #FFA8A8 #2391FF 
#FFC328 #A0DC2C #946DFF #626681 #EB4185 #CD8150  #36BCCB #327039 #803488 #83BC99  | -| PaletteQualitative-Contrasting Orange | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/73157/1602818815891-5ee1be7f-5b9e-40c0-be5c-33a25b8a2cb0.png#align=left&display=inline&height=11&margin=%5Bobject%20Object%5D&name=image.png&originHeight=21&originWidth=210&size=364&status=done&style=none&width=105) | 10 色
#FF4500 #1AAF8B #406C85 #F6BD16 #B40F0F #2FB8FC #4435FF #FF5CA2 #BBE800 #FE8A26 | -| | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/73157/1602818804638-1269325f-6486-4be4-ae70-9ea78a1b57f0.png#align=left&display=inline&height=11&margin=%5Bobject%20Object%5D&name=image.png&originHeight=21&originWidth=420&size=699&status=done&style=none&width=210) | 20 色
#FF4500 #1AAF8B #406C85 #F6BD16 #B40F0F #2FB8FC #4435FF #FF5CA2 #BBE800 #FE8A26
#946DFF #6C3E00 #6193FF #FF988E #36BCCB #004988 #FFCF9D #CCDC8A #8D00A1 #1CC25E | - -
- -## 顺序色板 - -#### 单一顺序色板(最多支持 8 色,最少支持 2 色) - -| 色板名称 | 例 | 色值 | -| --- | --- | --- | -| PaletteSequential-Geek Blue | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/181989/1605070627755-c6b060d0-ee3c-4b1d-a7d0-425cfb770e08.png#align=left&display=inline&height=39&margin=%5Bobject%20Object%5D&name=image.png&originHeight=78&originWidth=588&size=14236&status=done&style=none&width=294) | #B8E1FF #9AC5FF #7DAAFF #5B8FF9 #3D76DD
#085EC0 #0047A5 #00318A #001D70 | -| PaletteSequential-Cyan | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/181989/1605070640708-ce2c17fb-64a4-4f8d-afe9-7c59f6604d06.png#align=left&display=inline&height=39&margin=%5Bobject%20Object%5D&name=image.png&originHeight=78&originWidth=586&size=13914&status=done&style=none&width=293) | #9DF5CA #61DDAA #42C090 #19A576 #008A5D
#006F45 #00562F #003E19 #002800 | -| PaletteSequential-Grey | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/181989/1605070650742-a0842ec4-83d8-4198-900b-e9fba917eb27.png#align=left&display=inline&height=40&margin=%5Bobject%20Object%5D&name=image.png&originHeight=80&originWidth=584&size=9848&status=done&style=none&width=292) | #D0E4FF #B4C8ED #99ADD1 #7E92B5 #65789B
#4C6080 #334867 #1B324F #021D38 | -| PaletteSequential-Sunrise Yellow | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/181989/1605070662673-9431934f-8a5f-4c3b-af69-3bf52104ed90.png#align=left&display=inline&height=37&margin=%5Bobject%20Object%5D&name=image.png&originHeight=74&originWidth=584&size=13408&status=done&style=none&uid=1605070662630-0&width=292) | #FFD83B #F6BD16 #D7A100 #B98700 #9C6E00
#7F5600 #633F00 #482900 #2F1400 | -| PaletteSequential-Deep Purple | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/181989/1605071698237-9c76a794-3379-4026-9bed-a356b688df89.png#align=left&display=inline&height=36&margin=%5Bobject%20Object%5D&name=image.png&originHeight=72&originWidth=582&size=11628&status=done&style=none&width=291) | #EBCCFF #CCB0FF #AE95FF #907BFF #7262FD
#5349E0 #2F32C3 #001BA7 #00068C | -| PaletteSequential-Daybreak Blue | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/181989/1605072380911-48dcd291-adb8-4d7c-9a92-ed60655009d5.png#align=left&display=inline&height=38&margin=%5Bobject%20Object%5D&name=image.png&originHeight=76&originWidth=586&size=13422&status=done&style=none&width=293) | #95F0FF #78D3F8 #5AB8DB #3A9DBF #0A82A4
#00698A #005170 #003958 #002440 | -| PaletteSequential-Golden Purple | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/181989/1605072404396-4c6e387e-585d-45cb-bbe4-d7a77a82fbf9.png#align=left&display=inline&height=39&margin=%5Bobject%20Object%5D&name=image.png&originHeight=78&originWidth=584&size=10731&status=done&style=none&width=292) | #FFCCFF #EBB0FF #CE95F5 #B27AD8 #9661BC
#7B48A1 #613086 #48186C #2E0054 | -| PaletteSequential-Sunset Orange | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/181989/1605072426530-b2ce1842-a3f9-473e-aa49-628e1bec9aff.png#align=left&display=inline&height=38&margin=%5Bobject%20Object%5D&name=image.png&originHeight=76&originWidth=582&size=13864&status=done&style=none&width=291) | #FFC771 #FFAB57 #F6903D #D77622 #B85C00
#9B4300 #7D2A00 #601000 #450000 | -| PaletteSequential-Dark Green | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/181989/1605072444549-2a06cef9-caf9-4ce9-bb20-a6e5c31ab2ac.png#align=left&display=inline&height=37&margin=%5Bobject%20Object%5D&name=image.png&originHeight=74&originWidth=582&size=12608&status=done&style=none&width=291) | #8CF4F2 #6FD8D6 #52BCBA #31A09F #008685
#006C6C #005354 #003B3D #002627 | -| PaletteSequential-Magenta | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/181989/1605072463803-fd0996df-449b-4a25-970d-93e8b9cc8c11.png#align=left&display=inline&height=37&margin=%5Bobject%20Object%5D&name=image.png&originHeight=74&originWidth=582&size=10580&status=done&style=none&width=291) | #FFC2EC #FFA6D0 #F08BB4 #D37099 #B65680
#9A3C67 #7E214F #630038 #490022 | -| PaletteSequential-Dust Red | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/181989/1605072481852-85491459-69ae-4624-a531-cc6ac0ae1f92.png#align=left&display=inline&height=40&margin=%5Bobject%20Object%5D&name=image.png&originHeight=80&originWidth=586&size=13797&status=done&style=none&width=293) | #FFBB95 #FF9E7B #FF8362 #E8684A #C84D32
#AA311C #8C1104 #6F0000 #510000 | -| PaletteSequential-Dark | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/181989/1605072496468-3d403fd6-3af4-438b-82ee-12d2b21676e1.png#align=left&display=inline&height=38&margin=%5Bobject%20Object%5D&name=image.png&originHeight=76&originWidth=584&size=5954&status=done&style=none&width=292) | #E2E2E2 #C6C6C6 #ABABAB #919191 #777777
#5E5E5E #474747 #303030 #1B1B1B | - -#### - -#### 邻近色顺序色板 - -最多支持 9 色,最少支持 2 色 - -| 色板名称 | 例 | 色值 | -| --- | --- | --- | -| PaletteSequential-Sunset Orange | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/185301/1582706835452-ef15be90-3710-42d8-a8a0-386d3e5ed492.png#align=left&display=inline&height=49&name=image.png&originHeight=98&originWidth=776&size=19974&status=done&style=none&width=388) | #FDEDBE #FFDF80 #FFCB33 #FFB200 #FF8C00 #FF6500 #E6450F #B22C00 #661900 | -| PaletteSequential-Leaf Yellow | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/185301/1582707005945-970022cb-f798-46ff-b66e-11cd05b52430.png#align=left&display=inline&height=42&name=image.png&originHeight=84&originWidth=598&size=16628&status=done&style=none&width=299) | #FFEBB0 #FFDF80 #FACA3E #E6B80B #B5AC23 #6A9A48 #20876B #06746B #044E48 | -| PaletteSequential-Golden Purple | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/185301/1582707131451-1b6c1380-787e-4a3c-a7f2-c9f5c1036a47.png#align=left&display=inline&height=55&name=image.png&originHeight=110&originWidth=840&size=20026&status=done&style=none&width=420) | #FACDAA #F4A49E #EE7B91 #E85285 #BE408C #942D93 #6A1B9A #56167D #42105F | -| PaletteSequential-Geek Blue | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/185301/1582707111274-6ea8b3e6-e11d-4158-9f19-8ca4b5448bc0.png#align=left&display=inline&height=59&name=image.png&originHeight=118&originWidth=846&size=21177&status=done&style=none&width=423) | #D2EDC8 #A9DACC #75C6D1 #42B3D5 #3993C2 #3073AE #27539B #1E3388 #171E6D | - -
- -## 发散色板 - -最多支持 17 色,最少支持 3 色 - -| 色板名称 | 例 | 色值 | -| --- | --- | --- | -| PaletteDiverging-Cyan/Yellow | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/185301/1603098373381-aac507a9-c414-4333-9466-8af1450c4b16.png#align=left&display=inline&height=41&margin=%5Bobject%20Object%5D&name=image.png&originHeight=102&originWidth=462&size=20303&status=done&style=none&width=185) | #215B77 #227BA2 #1B9CD0 #22BAED #61C9FF #8AD4FF #ABDFFF #C9E9FF 
#EFF3DE #FFE9B8 #FFDE94 #FFD470 #FFC741 #EDB40A #D09C10 #A37B16 #795B16 | -| PaletteDiverging-Green/Red | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/185301/1603098086728-e552417d-9108-4c98-be85-77e2e17e9b8b.png#align=left&display=inline&height=43&margin=%5Bobject%20Object%5D&name=image.png&originHeight=85&originWidth=371&size=18314&status=done&style=none&width=185.5) | #014c63 #10686c #168575 #16a37e #0bc286 #65cf9b #96dcb0 #c1e8c5
#F2EAEA #FFC5AC #FFA884 #FF895D #FF6836 #F3470D #D13808 #A4300C #7A270E | -| PaletteDiverging-Green/Yellow | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/185301/1582711081552-eac446e3-68a9-4e55-8b4a-76557c5d792c.png#align=left&display=inline&height=46&name=image.png&originHeight=92&originWidth=1184&size=23763&status=done&style=none&width=592) | #003F7F #004C99 #0059B2 #0072E5 #1A8CFF #4DA6FF #80BFFF #B3D9FF #EAE9EB #FFD5B1 #FFC08C #FFAB66 #FF963E #F17F0B #D16A0C #A45411 #794012
| -| PaletteDiverging-Grow | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/185301/1583055027341-8f5acc74-73e0-44ef-9870-fcf831d3c947.png#align=left&display=inline&height=52&margin=%5Bobject%20Object%5D&name=image.png&originHeight=104&originWidth=1412&size=31976&status=done&style=none&width=706) |
#014c63 #10686c #168575 #16a37e #0bc286 #65cf9b #96dcb0 #c1e8c5 #eaf3db
#f1e3af #f3d282 #f2c354 #eeb311 #de9111 #cd6e10 #bb490f #a8190d | -| PaletteDiverging-Magic | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/185301/1582711923218-9abcd8a8-233f-4f3e-a950-32e569cbccf7.png#align=left&display=inline&height=49&name=image.png&originHeight=98&originWidth=1254&size=33563&status=done&style=none&width=627) | #661900 #B22C00 #E6450F #FF6500 #FF8C00 #FFB200 #FFCB33 #FFDF80 #FFE2DC #EAACFF #DD78FF #C53FFF #A700FF #8500FF #620BE1 #3607C2 #27029A | -| PaletteDiverging-Classic | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/185301/1582711954878-09b6198f-7ac2-453e-9741-d6ee18f3c2c2.png#align=left&display=inline&height=48&name=image.png&originHeight=96&originWidth=1246&size=31502&status=done&style=none&uid=1582711954493-0&width=623) | #661900 #B22C00 #E6450F #FF6500 #FF8C00 #FFB200 #FFCB33 #FFDF80 #E0F2EB #66D8FF #1AC5FF #00A5FF #007FFF #0059FF #0040FF #002CB2 #001F7F | - -
- -## 叠加色板 - -双变量用色,最多支持 9 色,最少 2 色 - -| 色板名称 | 例 | 色值 | -| --- | --- | --- | -| PaletteBlend-MYG | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/185301/1582714713557-9d7e15fb-edc3-46e9-8d0b-c7ba0aa0eb5c.png#align=left&display=inline&height=112&name=image.png&originHeight=418&originWidth=420&size=57199&status=done&style=none&width=113) | #DFE9C1 #7AC675 #168D38 #DFCA62 #7AAC3C #167B1C #B5950E #637E08 #115A04 | -| PaletteBlend-MPC | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/185301/1582714991914-49db46b6-bf1c-42f2-a720-edf436e520f6.png#align=left&display=inline&height=113&name=image.png&originHeight=396&originWidth=396&size=51652&status=done&style=none&width=113) | #D7D1FF #A0BFFF #209FED #B78DFF #8881FF #1B6BED #8D43FF #693EFF #1533ED | -| PaletteBlend-MBG | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/185301/1582714203268-cc97f28b-4969-4538-9394-722d1ae61b35.png#align=left&display=inline&height=111&name=image.png&originHeight=340&originWidth=334&size=21086&status=done&style=none&width=109) | #BBDFE1 #66BD89 #128742 #6FB6E1 #3D9B89 #0B6E42 #1685E1 #0C7189 #025142 | -| PaletteBlend-MOB | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/185301/1582714219926-aaae5b3e-f253-482e-a3a5-61a6de5788de.png#align=left&display=inline&height=109&name=image.png&originHeight=334&originWidth=334&size=20275&status=done&style=none&width=109) | #D6D6D8 #80AFD8 #1A80D8 #D6B08C #808F8C #1A698C #D6893E #80703E #1A523E | - -
**强调色板  **分为 9 色和 19 色 - -| 色板名称 | 例 | 色值 | 色板名称 | 例 | 色值 | -| --- | --- | --- | --- | --- | --- | -| PaletteUnderline9-1 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667373415-c6b5238d-fc04-4ca0-ad9f-51131ac5dace.png#align=left&display=inline&height=24&name=image.png&originHeight=100&originWidth=100&size=409&status=done&style=none&width=24) | #5B8FF9 | PaletteUnderline19-1 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667373415-c6b5238d-fc04-4ca0-ad9f-51131ac5dace.png#align=left&display=inline&height=24&name=image.png&originHeight=100&originWidth=100&size=409&status=done&style=none&width=24) | #5B8FF9 | -| PaletteUnderline9-2 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667440954-dcbb6b3f-e07b-4208-8137-2df92f7e6a4a.png#align=left&display=inline&height=50&name=image.png&originHeight=100&originWidth=106&size=425&status=done&style=none&width=53) | #945FB9 | PaletteUnderline19-2 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667440954-dcbb6b3f-e07b-4208-8137-2df92f7e6a4a.png#align=left&display=inline&height=50&name=image.png&originHeight=100&originWidth=106&size=425&status=done&style=none&width=53) | #945FB9 | -| PaletteUnderline9-3 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667427711-28cd3943-969c-4c19-8d79-310b76d29ff2.png#align=left&display=inline&height=48&name=image.png&originHeight=96&originWidth=102&size=402&status=done&style=none&width=51) | #E86452 | PaletteUnderline19-3 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667427711-28cd3943-969c-4c19-8d79-310b76d29ff2.png#align=left&display=inline&height=48&name=image.png&originHeight=96&originWidth=102&size=402&status=done&style=none&width=51) | #E86452 | -| PaletteUnderline9-4 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667455031-a89acef3-a0d8-4586-8ad1-cd674c179e29.png#align=left&display=inline&height=48&name=image.png&originHeight=96&originWidth=98&size=391&status=done&style=none&width=49) | #1E9493 | PaletteUnderline19-4 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667455031-a89acef3-a0d8-4586-8ad1-cd674c179e29.png#align=left&display=inline&height=48&name=image.png&originHeight=96&originWidth=98&size=391&status=done&style=none&width=49) | #1E9493 | -| PaletteUnderline9-5 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/185301/1582715590911-aed310f9-018e-46e2-b1d9-0da07de23c24.png#align=left&display=inline&height=52&name=image.png&originHeight=104&originWidth=102&size=1770&status=done&style=none&width=51) | #BEDED1 | PaletteUnderline19-5 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667387861-c1343ddc-34ab-4d49-9e29-44eead0e3a7f.png#align=left&display=inline&height=24&name=image.png&originHeight=106&originWidth=106&size=445&status=done&style=none&width=24) | #5AD8A6 | -| PaletteUnderline9-6 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/185301/1582715598741-da28cced-887b-4fb3-bfa4-84a430309ab3.png#align=left&display=inline&height=56&name=image.png&originHeight=112&originWidth=104&size=2556&status=done&style=none&width=52) | #EFE0B5 | PaletteUnderline19-6 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667419248-a502a18a-0d28-4bf0-88ab-47076ed9a132.png#align=left&display=inline&height=57&name=image.png&originHeight=114&originWidth=104&size=463&status=done&style=none&width=52) | #F6BD16 | -| PaletteUnderline9-7 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/185301/1582715605951-4932d4a5-3a4e-4d31-acf0-f4ac07232bd4.png#align=left&display=inline&height=56&name=image.png&originHeight=112&originWidth=106&size=2607&status=done&style=none&width=53) | #B5D7E5 | PaletteUnderline19-7 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667433701-f74b31a1-a332-4415-b270-e73d932fc600.png#align=left&display=inline&height=51&name=image.png&originHeight=102&originWidth=104&size=424&status=done&style=none&width=52) | #6DC8EC | -| PaletteUnderline9-8 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/185301/1582715614061-f9763d53-ea96-4468-99bc-674a6367c1cc.png#align=left&display=inline&height=53&name=image.png&originHeight=106&originWidth=108&size=2626&status=done&style=none&width=54) | #F4DBC6 | PaletteUnderline19-8 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667447050-bea49bd8-e505-4c7c-89e8-a91c0b719692.png#align=left&display=inline&height=53&name=image.png&originHeight=106&originWidth=104&size=435&status=done&style=none&width=52) | #FF9845 | -| PaletteUnderline9-9 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/185301/1582715626747-400f6c60-d456-4233-b4f2-acca01ccdb34.png#align=left&display=inline&height=55&name=image.png&originHeight=110&originWidth=106&size=2255&status=done&style=none&width=53) | #F2CADA | PaletteUnderline19-9 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667462743-3d9bfc8c-773d-46fe-bb1d-58bf6617c3ea.png#align=left&display=inline&height=51&name=image.png&originHeight=102&originWidth=106&size=431&status=done&style=none&width=53) | #FF99C3 | -| | | | PaletteUnderline19-10 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581931341653-be214cfa-a217-468c-a859-f602d25071e9.png#align=left&display=inline&height=21&name=image.png&originHeight=42&originWidth=44&size=158&status=done&style=none&width=22) | #CDDDFD | -| | | | PaletteUnderline19-11 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/185301/1582715590911-aed310f9-018e-46e2-b1d9-0da07de23c24.png#align=left&display=inline&height=52&name=image.png&originHeight=104&originWidth=102&size=1770&status=done&style=none&width=51) | #BEDED1 | -| | | | PaletteUnderline19-12 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581931466348-1f7e3f7a-0ebb-4218-a220-1c1bd505cd96.png#align=left&display=inline&height=25&name=image.png&originHeight=50&originWidth=46&size=174&status=done&style=none&width=23) | #CED4DE | -| | | | PaletteUnderline19-13 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581931498184-fb10c88f-9c28-4696-9065-dd1f66807a83.png#align=left&display=inline&height=23&name=image.png&originHeight=46&originWidth=42&size=165&status=done&style=none&width=21) | #FCEBB9 | -| | | | PaletteUnderline19-14 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581931505504-10f04722-4ebb-493b-889b-ab7ce73b8cbe.png#align=left&display=inline&height=24&name=image.png&originHeight=48&originWidth=46&size=170&status=done&style=none&width=23) | #F8D0CB | -| | | | PaletteUnderline19-15 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/185301/1582715605951-4932d4a5-3a4e-4d31-acf0-f4ac07232bd4.png#align=left&display=inline&height=56&name=image.png&originHeight=112&originWidth=106&size=2607&status=done&style=none&width=53) | #B5D7E5 | -| | | | PaletteUnderline19-16 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581931539706-0ff7787b-bb01-43df-a097-e1924b1351cc.png#align=left&display=inline&height=22&name=image.png&originHeight=44&originWidth=38&size=159&status=done&style=none&width=19) | #DECFEA | -| | | | PaletteUnderline19-17 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581931558551-75870146-ee48-4df6-a8f1-1f74c2b0ef1c.png#align=left&display=inline&height=24&name=image.png&originHeight=48&originWidth=42&size=167&status=done&style=none&width=21) | #FFE0C7 | -| | | | PaletteUnderline19-18 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/185301/1582716098221-9d86ff35-0cb2-4bb1-9c53-8d0830aabc42.png#align=left&display=inline&height=44&name=image.png&originHeight=88&originWidth=84&size=2750&status=done&style=none&width=42) | #AAD8D8 | -| | | | PaletteUnderline19-19 | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/185301/1582715626747-400f6c60-d456-4233-b4f2-acca01ccdb34.png#align=left&display=inline&height=55&name=image.png&originHeight=110&originWidth=106&size=2255&status=done&style=none&width=53) | #F2CADA | -| | | | | | | - -## 语义色板 - -分为 3 色 - -| 色板名称 | 例 | 色值 | -| --- | --- | --- | -| PaletteSemantic-red | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581667679677-6d139bcb-8b39-40b9-befa-b782f84d1fe5.png#align=left&display=inline&height=52&name=image.png&originHeight=104&originWidth=104&size=431&status=done&style=none&width=52) | #F4664A | -| PaletteSemantic-green | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581669179361-888e43fc-2e6e-49d8-8969-45678457fb93.png#align=left&display=inline&height=48&name=image.png&originHeight=96&originWidth=100&size=397&status=done&style=none&width=50) | #30BF78 | -| PaletteSemantic-yellow | ![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2020/png/56/1581669198149-8e18284b-5828-4231-9a57-beb9d5ec5aba.png#align=left&display=inline&height=51&name=image.png&originHeight=102&originWidth=98&size=411&status=done&style=none&width=49) | #FAAD14 | diff --git a/package.json b/package.json index dcce718c1..83e46a48d 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,6 @@ "version": "1.0.0", "author": "AntV Team", "keywords": [ - "dumi", "antvis", "antv" ], @@ -18,53 +17,42 @@ "url": "https://github.com/antvis/antvis.github.io/issues" }, "dependencies": { - "ahooks": "^3.9.5", - "@tanstack/react-query": "^5.90.2", - "@ant-design/icons": "^4.8.3", - "@antv/dumi-theme-antv": "^0.8.6", "@antv/g2plot": "^2.3.1", "@antv/g6": "3.3.7", - "@antv/util": "^3.3.1", "antd": "5.10.2", - "chroma-js": "^2.1.0", "classnames": "^2.2.6", - "dumi": "~2.4.21", - "gh-pages": "^3.1.0", - "husky": "^8.0.2", "lodash": "^4.17.20", - "prettier": "^2.0.0", - "pretty-quick": "^3.1.3", "react": "^18.3.1", - "react-dom": "^18.3.1", - "react-github-btn": "^1.4.0" + "react-dom": "^18.3.1" }, "devDependencies": { - "@types/classnames": "^2.2.9", - "@types/lodash": "^4.14.189", - "@types/parse-github-url": "^1.0.0", + "@antv/astro-theme-antv": "^0.1.0-beta.1", + "astro": "7.2.0", + "@astrojs/react": "6.0.5", + "@astrojs/mdx": "7.0.8", + "@astrojs/sitemap": "3.7.3", + "@astrojs/check": "0.9.10", "@types/react": "^18.3.26", "@types/react-dom": "^18.3.7", - "@types/react-github-button": "^0.1.0", - "@types/react-helmet": "^6.0.0", - "typescript": "latest" + "@types/lodash": "^4.14.189", + "@types/node": "^22.18.6", + "less": "^4.2.2", + "typescript": "5.9.3", + "gh-pages": "^3.1.0", + "prettier": "^2.0.0" }, "license": "MIT", "scripts": { - "start": "npm run develop", - "build": "dumi build", - "dev": "dumi dev", - "deploy": " npm run build && npm run gh-pages", + "dev": "astro dev", + "build": "astro build", + "check": "astro check", + "preview": "astro preview", + "deploy": "npm run build && npm run gh-pages", "gh-pages": "gh-pages -d dist", - "copy-mirror-action": "mkdir -p public/.github/workflows && cp .github/workflows/mirror.yml public/.github/workflows", - "format": "prettier --write \"**/*.{ts,tsx,js,jsx,json,md,less}\"", - "pretty-quick": "pretty-quick", - "tsc": "tsc", - "serve": "dumi preview", - "type-check": "tsc --noEmit" + "format": "prettier --write \"**/*.{ts,tsx,js,mjs,json,md,less}\"" }, - "husky": { - "hooks": { - "pre-commit": "pretty-quick --staged" - } + "type": "module", + "engines": { + "node": ">=22.12.0" } } diff --git a/site/components/Banner/Banner.module.less b/site/components/Banner/Banner.module.less deleted file mode 100644 index 928770b57..000000000 --- a/site/components/Banner/Banner.module.less +++ /dev/null @@ -1,311 +0,0 @@ -@font-face { - font-family: AlibabaPuHuiTiRHeavy; - src: url(../../font/Alibaba-PuHuiTi-Heavy.otf); -} - -.commonFlexConfig { - display: flex; - align-items: center; - justify-content: center; -} - -.banner { - position: relative; - background-image: url(https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*KL9wS54k2U8AAAAAAAAAAAAADmJ7AQ/original); - background-repeat: no-repeat; - background-size: cover; - - .leftBackground, - .rightBackground { - width: 765px; - height: 100%; - position: absolute; - background-repeat: no-repeat; - background-size: contain; - - > img { - position: absolute; - } - } - - .leftBackground { - left: 0; - top: 75px; - background-image: url(https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*B4UvSKE2hfEAAAAAAAAAAAAADmJ7AQ/original); - background-position-x: -48px; - - &::before, - &::after { - content: ''; - background-image: url(https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*pD8oT49V-bcAAAAAAAAAAAAADmJ7AQ/original); - background-size: contain; - position: absolute; - height: 40px; - width: 40px; - left: 35px; - top: 300px; - } - - &::before { - height: 32px; - width: 32px; - left: 220px; - top: 345px; - } - - .waffle { - height: 254.3px; - transform: rotate(3deg); - left: -20px; - } - - .bug { - height: 160px; - transform: rotate(-7deg); - left: 279px; - top: 214px; - } - } - - .rightBackground { - top: 90px; - right: 0; - background-position-x: 66px; - background-image: url(https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*DR_FR7Q721sAAAAAAAAAAAAADmJ7AQ/original); - - .chips { - height: 263.3px; - transform: rotate(8deg); - right: 140px; - top: 140px; - } - - .cookie { - height: 117.1px; - right: 10px; - top: 40px; - } - - &::before, - &::after { - content: ''; - background-image: url(https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*pD8oT49V-bcAAAAAAAAAAAAADmJ7AQ/original); - background-size: contain; - position: absolute; - height: 21px; - width: 21px; - right: 310px; - opacity: 0.67; - top: 310px; - } - - &::before { - height: 31px; - width: 31px; - right: 55px; - top: 335px; - } - } - - .header { - height: 1130px; - position: relative; - font-family: PingFangSC; - } - - .top { - z-index: 10; - position: absolute; - left: 0; - right: 0; - top: 0; - bottom: 0; - font-family: AlibabaPuHuiTiR; - } - - .mainTitle { - font-size: 64px; - color: #000; - text-align: center; - margin-top: 108px; - font-family: AlibabaPuHuiTiRHeavy; - - > span { - color: #691eff; - } - } - - .subTitle { - color: #424e66; - text-align: center; - font-size: 18px; - margin-top: 8px; - } - - .bgVideo { - position: absolute; - top: 0px; - right: 0px; - min-width: 100%; - z-index: -999; - } - - .buttons { - &:extend(.commonFlexConfig); - z-index: 11; - position: absolute; - top: 350px; - width: 100%; - - > div, - > a { - &:extend(.commonFlexConfig); - height: 54px; - width: 166px; - border-radius: 12px; - font-size: 18px; - font-weight: bold; - cursor: pointer; - box-shadow: 0 8px 28px 0 #f2f2f2; - margin: 0 11.5px; - - > img { - margin-right: 6px; - } - } - - .start { - font-size: 18px; - background-color: #691eff; - color: #ffffff; - - .startIcon { - width: 20px; - height: 20px; - margin-right: 6px; - background-image: url(https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*lo_5RYdqKLsAAAAAAAAAAAAADmJ7AQ/original), - url(https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*UcuoSovQjxAAAAAAAAAAAAAADmJ7AQ/original), - url(https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*3VvbT7spBhIAAAAAAAAAAAAADmJ7AQ/original), - url(https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*PI67SoRSfgsAAAAAAAAAAAAADmJ7AQ/original), - url(https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*sP-zRZweTJcAAAAAAAAAAAAADmJ7AQ/original), - url(https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*SFfnTachgWgAAAAAAAAAAAAADmJ7AQ/original); - background-repeat: no-repeat; - background-position-y: 0, 20px, 40px, 60px, 80px, 100px; - } - - &:hover { - opacity: 0.8; - - .startIcon { - animation: hoverIcon 5s; - } - } - } - - .design { - font-size: 18px; - background-color: #ffffff; - border: 1px solid #e8e8e8; - - &:hover { - color: #691eff; - } - } - } - - .bottom { - &:extend(.commonFlexConfig); - z-index: 10; - width: 100%; - position: absolute; - top: 966px; - - .message { - &:extend(.commonFlexConfig); - min-height: 114px; - height: 140px; - width: calc((100vw - 360px - 26px) / 3); - min-width: 338px; - max-width: 551px; - background-color: #ffffff; - border: 1px solid #e5e8ef; - transition: all 0.2s; - padding: 16px; - box-shadow: 0 8px 28px 0 rgba(0, 0, 0, 0.05); - border-radius: 16px; - margin: 0 13px; - flex-direction: column; - - .messageTitle { - font-weight: 500; - font-size: 18px; - color: #1d2129; - margin-bottom: 8px; - text-align: center; - position: relative; - - > img { - width: 24px; - height: 24px; - position: relative; - top: -2px; - } - } - - .messageSubTitle { - font-size: 14px; - color: #86909c; - text-align: center; - } - - &:hover { - transform: translateY(-8px); - box-shadow: 0 8px 20px 0 rgba(0, 0, 0, 0.1); - - .messageTitle { - color: rgba(105, 30, 255, 1); - } - } - } - } -} - -@keyframes hoverIcon { - 0% { - background-position-y: 0px, 20px, 40px, 60px, 80px, 100px; - } - - 16.6% { - background-position-y: -20px, 0px, 20px, 40px, 60px, 80px; - } - - 33.3% { - background-position-y: -40px, -20px, 0px, 20px, 40px, 60px; - } - - 50% { - background-position-y: -60px, -40px, -20px, 0px, 20px, 40px; - } - - 66.6% { - background-position-y: -80px, -60px, -40px, -20px, 0px, 20px; - } - - 83.3% { - background-position-y: -100px, -80px, -60px, -40px, -20px, 0px; - } - - 100% { - background-position-y: -100px, -80px, -60px, -40px, -20px, 0px; - } -} - -div.listContainer { - width: 80vw; - min-width: 760px; - margin-right: auto; - margin-left: auto; - @media (min-width: 2700px) { - width: 2100px; - } -} diff --git a/site/components/Banner/Banner.tsx b/site/components/Banner/Banner.tsx deleted file mode 100644 index 989231748..000000000 --- a/site/components/Banner/Banner.tsx +++ /dev/null @@ -1,103 +0,0 @@ -import { useIntl, useLocale } from 'dumi'; -import React, { useEffect, useState } from 'react'; -import { ANCHORNAME } from '../ProjectCard'; -import { getBaseSiteDataUrl } from '@antv/dumi-theme-antv/dist/utils/env'; - -import styles from './Banner.module.less'; -import { HomeDialog } from '@antv/dumi-theme-antv/dist/components/AI/HomeDialog'; - -export default () => { - const [message, setMessage] = useState([]); - const locale = useLocale(); - - const language: 'zh' | 'en' = locale.id.includes('zh') ? 'zh' : 'en'; - - const intl = useIntl(); - const useT = (transformedMessage: string) => { - return intl.formatMessage({ - id: transformedMessage, - }); - }; - - useEffect(() => { - fetch(`${getBaseSiteDataUrl()}/antv/banner-messages.json`) - .then((res) => res.json()) - .then((data) => { - setMessage(data); - }); - }, []); - - // 跳转到 丰富图表,选用自如 - const scrollToAnchor = () => { - const anchorElement = document.getElementById(ANCHORNAME); - if (anchorElement) { - anchorElement.scrollIntoView({ block: 'start', behavior: 'smooth' }); - } - }; - - return ( -
-
- waffle - bug -
-
- chips - cookie -
-
-
-
- AntV - {useT('·让AGI栩栩如生')} -
-
- {useT( - '蚂蚁企业级数据可视化解决方案,让人们在数据世界里获得视觉化思考能力', - )} -
-
- -
- {message.map(({ title, subTitle, img, link }) => { - return ( - -
- message_title {title[language]} -
-
- {subTitle[language]} -
-
- ); - })} -
-
-
-
- ); -}; diff --git a/site/components/Banner/helper.ts b/site/components/Banner/helper.ts deleted file mode 100644 index 8abd9fe02..000000000 --- a/site/components/Banner/helper.ts +++ /dev/null @@ -1,60 +0,0 @@ -import { map } from 'lodash'; -import bannerInfo from 'site/data/banner-info.json'; -import bannerLinks from 'site/data/banner-link.json'; - -/** - * 获取真实的 url。根据是否国内镜像进行调整 - * @param url - * @param isChinaMirrorHost - * @returns - */ -export function getActualUrl(url: string, isChinaMirrorHost: boolean): string { - let link = url; - if (isChinaMirrorHost && link) { - // g2plot.antv.antgroup.com => antv-g2plot.gitee.io - const match = link.match(/([http|https]):\/\/(.*)\.antv\.vision/); - if (match && match[2]) { - link = link.replace( - `${match[2]}.antv.vision`, - `antv-${match[2]}.gitee.io`, - ); - } - } - return link; -} - -/** - * 获取 banner 的场景 demo 信息。根据是否国内镜像进行调整 url - */ -export function getBannerInfo(isChinaMirrorHost: boolean) { - const products_tabs = bannerInfo.products_tabs.map((products_tab) => { - if (!products_tab.demos) { - return products_tab; - } - const demos = map(products_tab.demos, (demo: any) => { - return { - ...demo, - // @ts-ignore - host: demo.host && getActualUrl(demo.host, isChinaMirrorHost), - }; - }); - return { ...products_tab, demos }; - }); - - return { ...bannerInfo, products_tabs }; -} - -/** - * 获取 banner 的产品链接。根据是否国内镜像进行调整 url - */ -export function getBannerLink(isChinaMirrorHost: boolean) { - return bannerLinks.map((bannerLink) => { - if (bannerLink.url) { - return { - ...bannerLink, - url: getActualUrl(bannerLink.url, isChinaMirrorHost), - }; - } - return bannerLink; - }); -} diff --git a/site/components/D2Chart/D2Chart.module.less b/site/components/D2Chart/D2Chart.module.less deleted file mode 100644 index ba1ad01f8..000000000 --- a/site/components/D2Chart/D2Chart.module.less +++ /dev/null @@ -1,11 +0,0 @@ -.canvas { - width: 100%; - height: 100%; - display: flex; - justify-content: center; - align-items: center; - - border-radius: 0px; - overflow: hidden; - position: relative; -} diff --git a/site/components/D2Chart/D2Chart.tsx b/site/components/D2Chart/D2Chart.tsx deleted file mode 100644 index d3b7d16b2..000000000 --- a/site/components/D2Chart/D2Chart.tsx +++ /dev/null @@ -1,807 +0,0 @@ -import { lowerCase } from '@antv/util'; -import React, { forwardRef, useLayoutEffect, useRef } from 'react'; -import styles from './D2Chart.module.less'; -import { - AFTERNOON_DAILY_SCHEDULE, - DAWN_DAILY_SCHEDULE, - MIDNIGHT_DAILY_SCHEDULE, - MORNING_DAILY_SCHEDULE, - NIGHT_DAILY_SCHEDULE, -} from './datas/dailySchedule'; -import { CLASSIC, ELECTRONIC, METAL, POP } from './datas/music'; - -// 资源 -const FONT_FAMILY = `Avenir, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', sans-serif`; - -const DAILY_SCHEDULE_TEXT = 'Daily\nSchedule'; -const MUSIC_TEXT = 'Music'; - -const getViews = (props: Props, box: DOMRect | undefined) => { - const { - theme, - favoriteFramework /** 默认取 react */, - efficientWorktime, - music, - favoriteIDE, - themeMode, - } = props; - - let worktimeData: any[] = []; - switch (efficientWorktime) { - case 'morning': - worktimeData = MORNING_DAILY_SCHEDULE; - break; - case 'afternoon': - worktimeData = AFTERNOON_DAILY_SCHEDULE; - break; - case 'dawn': - worktimeData = DAWN_DAILY_SCHEDULE; - break; - case 'night': - worktimeData = NIGHT_DAILY_SCHEDULE; - break; - case 'midnight': - MIDNIGHT_DAILY_SCHEDULE.forEach((d) => { - worktimeData.push( - { ...d, type: 'male' }, - { ...d, type: 'female', y: d.y * 0.8 }, - ); - }); - break; - default: - worktimeData = NIGHT_DAILY_SCHEDULE; - break; - } - - const yMax = Math.max(...worktimeData.map((d) => d.y)); - const width280 = box && Math.min(box?.height, box?.width) < 280; - const width320 = box && Math.min(box?.height, box?.width) < 320; - - let musicData: any[] = []; - switch (music) { - case 'classic': - musicData = CLASSIC; - break; - case 'metal': - musicData = METAL; - break; - case 'electronic': - musicData = ELECTRONIC; - break; - case 'pop': - musicData = POP; - break; - default: - musicData = CLASSIC; - break; - } - - // 控制水滴的角度, 用来控制随机角度 - const waterdropStartAngle = - (Math.PI / 2) * Math.random() * (Math.random() > 0.5 ? -0.5 : 1); - const waterdropEndAngle = Math.PI * 2 + (Math.PI / 6) * Math.random(); - - /** 前端框架的一些渲染配置:vis-waterdrop(4种💧,角度随机) */ - const FrameworkData = [ - { x: 'React', y: 11 }, - { x: 'Bymyself', y: 8 }, - { x: 'Vue', y: 8 }, - { x: 'Angular', y: 7 }, - ]; - - const framework = favoriteFramework || 'bymyself'; - const favoriteFrameworkIndex = FrameworkData.findIndex( - (d) => lowerCase(d.x) === lowerCase(framework), - ); - if (favoriteFrameworkIndex !== -1) { - // 交换 y 轴 - FrameworkData[0].y = FrameworkData[favoriteFrameworkIndex].y; - FrameworkData[favoriteFrameworkIndex].y = 11; - } - - return [ - { - // 条形图 - // 处理数据,让数据超过内环的 0.6 - data: worktimeData.map((d) => ({ - ...d, - // TODO 调试 - y: d.y / yMax < 0.46 ? d.y + yMax * 0.46 * 0.2 : d.y, - })), - coordinate: { - type: 'polar', - cfg: { radius: 1, innerRadius: 0.6 /** 内环半径 */ }, - }, - axes: { - x: false, - y: { label: null, line: null, grid: null, min: 0 }, - }, - geometries: [ - { - type: 'interval', - xField: 'x', - yField: 'y', - meta: { x: { type: 'cat' }, y: { min: 0 } }, - colorField: 'type', - mapping: { - style: ({ x }: { x: string }) => { - const hour = Number(x.split(':')[0]); - const cfg: any = { fillOpacity: 0.45, lineCap: 'round' }; - const DAILY_SCHEDULE_COLOR = [ - 'l(0) 0:#6232B4 1:#81CCEA', - 'l(0) 0:#C0F08B 1:#A7E8EA', - 'l(0) 0:#FBD215 1:#B3E79A', - 'l(0) 0:#F8BF39 1:#E26AC4', - 'l(0) 0:#F262BD 1:#4D35AB', - ]; - if (hour >= 1 && hour < 5) { - cfg.fill = DAILY_SCHEDULE_COLOR[0]; - } else if (hour >= 5 && hour < 12) { - cfg.fill = DAILY_SCHEDULE_COLOR[1]; - } else if (hour >= 12 && hour < 17) { - cfg.fill = DAILY_SCHEDULE_COLOR[2]; - } else if (hour >= 17 && hour < 21) { - cfg.fill = DAILY_SCHEDULE_COLOR[3]; - } else { - cfg.fill = DAILY_SCHEDULE_COLOR[4]; - } - return cfg; - }, - }, - adjust: { - type: 'dodge', - marginRatio: 1, - }, - }, - ], - }, - { - // 同步环图, 环图外的光圈 - data: [{ value: 1 }], - coordinate: { type: 'theta', cfg: { radius: 0.6 } }, - geometries: [ - { - type: 'interval', - yField: 'value', - mapping: { - style: () => { - if (favoriteIDE === 'vim') { - if (themeMode === 'light') { - return { - // DONE 🎉 - shadowColor: 'rgba(63,58,53,0.45)', - shadowBlur: 60, - }; - } - return { - // DONE 🎉 - shadowColor: '#4AD8EA', - shadowBlur: 100, - }; - } - if (favoriteIDE === 'webstorm') { - return { - // DONE 🎉 - shadowColor: 'rgba(255,255,255,0.38)', - shadowBlur: 100, - }; - } - return { - shadowColor: 'rgba(255,255,255,0.38)', - shadowBlur: 140, - }; - }, - }, - }, - ], - }, - { - // 时间周期,vis-donut - region: { - start: { x: 0.18, y: 0.18 }, - end: { x: 0.82, y: 0.82 }, - }, - data: theme.dailySchedule.data, - coordinate: { - type: 'theta', - cfg: { - startAngle: (-Math.PI * 5) / 12, - endAngle: (Math.PI * 3) / 2 + (Math.PI * 1) / 12, - radius: 1, - innerRadius: 0.95, - }, - }, - axes: false, - geometries: [ - { - type: 'interval', - xField: '1', - yField: 'y', - colorField: 'x', - adjust: { type: 'stack' }, - label: { - fields: ['x'], - callback: (x: any) => { - const cfg: any = { - labelLine: false, - // todo 不生效 - autoRotate: true, - labelEmit: true, - style: { - fontFamily: FONT_FAMILY, - fill: theme.dailySchedule.customStyle.fontFill, - fillOpacity: 0.5, - fontSize: 10, - }, - }; - return cfg; - }, - }, - mapping: { - color: theme.dailySchedule.color, - style: theme.dailySchedule.style, - }, - }, - ], - annotations: [ - { - type: 'text', - position: ['50%', '50%'], - content: theme.dailySchedule.annotations[0].content, - // fixme 不知道为啥不居中 - offsetY: - (theme.dailySchedule.annotations[0].fontSize / 9) * - (width280 ? 0.6 : 1), - style: { - textAlign: 'center', - textBaseline: 'middle', - fontWeight: 700, - fontSize: - theme.dailySchedule.annotations[0].fontSize * - (width280 ? 0.6 : 1), - lineHeight: - theme.dailySchedule.annotations[0].fontSize * - (width280 ? 0.6 : 1), - fill: theme.dailySchedule.customStyle.fontFill, - fontFamily: FONT_FAMILY, - }, - }, - ], - }, - { - // 同步环图(环图内圈 vis-donut) - data: [{ value: 1 }], - coordinate: { type: 'theta', cfg: { radius: 0.65 * 0.95 } }, - geometries: [ - { - type: 'interval', - yField: 'value', - mapping: { - color: theme.backgroundColor, - style: { - fillOpacity: 1, - stroke: '#fff', - strokeOpacity: 0.15, - lineWidth: 0.8, - }, - }, - }, - ], - }, - { - // 音乐:vis-line - region: { - start: { x: 0.125, y: 0.125 }, - end: { x: 0.875, y: 0.875 }, - }, - data: musicData, - coordinate: { - type: 'polar', - cfg: { - radius: 0.8, - innerRadius: 0.4, - }, - }, - axes: false, - geometries: [ - { - type: 'line', - xField: 'x', - yField: 'y', - colorField: 'type', - shapeField: 'type', - mapping: { - color: [ - '#6D5EFF', - '#F5BE15', - '#5B8FF9', - '#EE8CB7', - '#60DCAB', - '#76D4F9', - ], - style: ({ type }: any) => { - const cfg: any = { lineWidth: 0.8, strokeOpacity: 0.3 }; - // 倒数第一条 0.3 透明度,倒数第二条 0.5 透明度, 依次 0.8, 0.9 - if ( - [ - 'Soprano', - 'Electric_guitar', - 'Amplifier_1', - 'Lead_guitar', - ].indexOf(type) !== -1 - ) { - // done 🎉 - cfg.strokeOpacity = 1; - } - if (type === 'Drum') { - // done 🎉 - cfg.strokeOpacity = 0.9; - } - if (['Alto', 'Electri_bass'].indexOf(type) !== -1) { - // done 🎉 - cfg.strokeOpacity = 0.8; - } - if (type === 'Amplifier_2') { - // done 🎉 - cfg.strokeOpacity = 0.5; - } - if (type === 'Amplifier') { - // done 🎉 - cfg.strokeOpacity = 0.5; - } - // done 🎉 - if (music === 'classic' && type === 'Tenor') { - cfg.strokeOpacity = 0.5; - } - if (music === 'metal' && type === 'Keyboard') { - cfg.strokeOpacity = 0.5; - } - // done 🎉 - if (music === 'pop') { - if (type === 'Keyboard') { - cfg.strokeOpacity = 0.8; - } - } - if (music === 'electronic' && type === 'Keyboard') { - cfg.strokeOpacity = 0.5; - } - if (music === 'electronic' && type === 'Drum') { - cfg.strokeOpacity = 0.3; - } - if (themeMode === 'light') { - cfg.strokeOpacity *= 1.2; - } - return cfg; - }, - shape: ({ type }: any) => { - if ( - ['Lead_guitar', 'Electri_bass', 'Rhythm_guitar'].indexOf( - type, - ) !== -1 - ) { - return 'smooth'; - } - return music === 'classic' || music === 'pop' ? 'smooth' : ''; - }, - }, - }, - { - type: 'point', - xField: 'x', - yField: 'y', - colorField: 'type', - mapping: { - color: [ - '#6D5EFF', - '#F5BE15', - '#5B8FF9', - '#EE8CB7', - '#60DCAB', - '#76D4F9', - ], - style: (datum: any) => { - const cfg: any = { r: 0, lineWidth: 0 }; - const musicDataIdx = musicData.findIndex( - (d) => - d.type === datum.type && d.x === datum.x && d.y === datum.y, - ); - if (music === 'metal') { - cfg.r = - musicDataIdx % 3 === 0 ? 0 : themeMode === 'light' ? 2 : 1.5; - } - if (music === 'classic') { - cfg.r = 2; - } - if (music === 'electronic') { - cfg.r = 1.5; - } - // 流行音乐 🎵:第一和第三条和第六条线是曲线,其余直线,第 5 条带圆形○标记 - if (music === 'pop') { - cfg.r = datum.type === 'Rhythm_guitar' ? 2 : 0; - } - // 小设备 - if (width320) { - if (music === 'metal') { - cfg.r *= 0.65; - } - } - return cfg; - }, - // note: 重金属(metal) 使用三角形, 古典音乐(classic)使用菱形 - shape: (type: string) => { - return music === 'metal' - ? 'triangle' - : music === 'classic' - ? 'diamond' - : 'breath-point'; - }, - }, - }, - ], - }, - { - // vis-time: 0、6、12、18 的时间刻度 (同步 vis-donut) - data: [ - { x: '0:00', y: 1 }, - { x: '6:00', y: 1 }, - { x: '12:00', y: 1 }, - { x: '18:00', y: 1 }, - ], - region: { - start: { x: 0.18, y: 0.18 }, - end: { x: 0.82, y: 0.82 }, - }, - coordinate: { - type: 'polar', - cfg: { radius: 1 }, - }, - geometries: [ - { - type: 'interval', - xField: 'x', - yField: 'y', - label: { - autoRotate: false, - fields: ['x'], - callback: (x: string) => { - const cfg: any = { - style: { - fill: theme.textColor, - fontSize: 10, - fontFamily: FONT_FAMILY, - }, - content: x, - offset: 4, - labelLine: { - style: { - stroke: theme.textColor, - strokeOpacity: 0.65, - lineWidth: 0.8, - }, - }, - }; - - if (x === '0:00') { - cfg.style.textBaseline = 'bottom'; - } - if (x === '6:00') { - cfg.style.textAlign = 'left'; - cfg.offsetX = 4; - } - if (x === '12:00') { - cfg.style.textBaseline = 'top'; - cfg.offsetY = 4; - } - if (x === '18:00') { - cfg.style.textAlign = 'right'; - cfg.offsetX = -4; - } - return cfg; - }, - }, - mapping: { color: 'transparent', style: { fill: 'transparent' } }, - }, - ], - }, - { - data: FrameworkData, - coordinate: { - type: 'polar', - cfg: { - radius: 0.48 /** 比 0.46 大一点 */, - startAngle: waterdropStartAngle, - endAngle: waterdropEndAngle, - }, - }, - axes: false, - geometries: [ - { - type: 'interval', - xField: 'x', - yField: 'y', - colorField: 'x', - label: { - fields: ['x'], - callback: (x: string) => { - const framework = favoriteFramework || 'bymyself'; - const selected = - framework === lowerCase(x) || - (framework === 'bymyself' && x === 'Bymyself'); - return { - autoRotate: true, - labelEmit: true, - content: selected - ? lowerCase(x) === 'bymyself' - ? 'My lib' - : x - : ' ', - offset: '-45%', - style: { - fill: - themeMode === 'light' - ? theme.textColor - : theme.backgroundColor, - fontSize: 10, - fontFamily: FONT_FAMILY, - }, - }; - }, - }, - mapping: { - color: ({ x }: any) => { - const colorMap: any = { - react: '#5ED3F3', - bymyself: '#C2C8D5', - vue: '#3FB37F', - angular: '#BC052B', - }; - return colorMap[lowerCase(x)]; - }, - shape: 'waterdrop', - size: () => { - if (width280) { - return 22; - } - return 35; - }, - style: ({ x }: any) => { - // 根据高亮设置 - const strokeMap: any = { - react: 'rgba(94,211,243,0.5)', - angular: 'rgba(215,2,47,0.5)', - vue: 'rgba(63,179,127,0.5)', - bymyself: 'rgba(194,200,213,0.5)', - }; - - const framework = favoriteFramework || 'bymyself'; - const selected = - framework === lowerCase(x) || - (framework === 'bymyself' && x === 'Bymyself'); - return { - fillOpacity: selected ? 1 : 0.65, - lineWidth: selected ? (width280 ? 1.2 : 1.5) : 0, - stroke: strokeMap[lowerCase(x)], - }; - }, - }, - }, - ], - }, - { - region: { - start: { x: 0, y: 0 }, - end: { x: 1, y: 1 }, - }, - data: [ - { x: '1', y: 38 }, - { x: '2', y: 33.7 }, - { x: '3', y: 25.8 }, - { x: '4', y: 31.7 }, - { x: '6', y: 33 }, - { x: '7', y: 46 }, - { x: '8', y: 38.3 }, - { x: '9', y: 28 }, - { x: '10', y: 42.5 }, - { x: '11', population: 42.5 }, - { x: '12', population: 42.5 }, - { x: DAILY_SCHEDULE_TEXT, y: 41.8 }, - { x: '13', population: 42.5 }, - { x: '14', population: 42.5 }, - { x: '15', population: 42.5 }, - { x: '17', y: 30.3 }, - ], - coordinate: { - type: 'polar', - cfg: { radius: 1, innerRadius: 0.65 }, - }, - geometries: [ - { - type: 'interval', - xField: 'x', - yField: '1', - label: { - fields: ['x'], - callback: (x: string) => { - return { - autoRotate: false, - content: [DAILY_SCHEDULE_TEXT].indexOf(x) !== -1 ? x : ' ', - offset: 25, - offsetX: 10, - style: { - fill: theme.subTextColor, - fontSize: 10, - fontFamily: FONT_FAMILY, - fontWeight: 700, - textAlign: 'left', - }, - }; - }, - }, - mapping: { - color: 'transparent', - }, - }, - ], - }, - { - region: { - start: { x: 0.125, y: 0.125 }, - end: { x: 0.875, y: 0.875 }, - }, - data: [ - { x: '1', y: 38 }, - { x: '2', y: 33.7 }, - { x: '3', y: 25.8 }, - { x: MUSIC_TEXT, y: 30.7 }, - { x: '4', y: 31.7 }, - { x: '6', y: 33 }, - { x: '7', y: 46 }, - { x: '8', y: 38.3 }, - { x: '9', y: 28 }, - { x: '10', y: 42.5 }, - { x: '11', population: 42.5 }, - { x: '12', population: 42.5 }, - { x: '13', population: 42.5 }, - { x: '14', population: 42.5 }, - { x: '15', population: 42.5 }, - { x: '17', y: 30.3 }, - ], - coordinate: { - type: 'polar', - cfg: { radius: 0.7, innerRadius: 0.65 }, - }, - geometries: [ - { - type: 'interval', - xField: 'x', - yField: '1', - label: { - fields: ['x'], - callback: (x: string) => { - return { - autoRotate: false, - content: [MUSIC_TEXT].indexOf(x) !== -1 ? x : ' ', - offset: 20, - offsetX: -8, - style: { - fill: theme.subTextColor, - fontSize: 10, - fontFamily: FONT_FAMILY, - fontWeight: 700, - }, - }; - }, - }, - mapping: { - color: 'transparent', - }, - }, - ], - }, - ]; -}; - -type Props = { - theme: { - backgroundColor: string; - textColor: string; - subTextColor: string; - /** 环图 */ - dailySchedule: { - data: Array<{ x: string; y: number | string }>; - color: string[]; - customStyle: { - fontFill: string; - }; - style: { - stroke?: string; - strokeWidth?: number; - }; - annotations: Array<{ content: string; fontSize: number }>; - }; - }; - /** 最喜欢的 ide */ - favoriteIDE: 'vim' | 'webstorm' | 'vscode' | 'atom'; - /** 最喜欢的前端框架 */ - favoriteFramework: string | 'react' | 'vue' | 'angular' | 'bymyself'; - /** 工作效率 高效时间段 */ - efficientWorktime: 'morning' | 'afternoon' | 'dawn' | 'night' | 'midnight'; - /** 喜欢听的音乐 🎵 */ - music: 'classic' | 'metal' | 'electronic' | 'pop'; - themeMode: 'dark' | 'light'; - /** */ - afterChartRender: () => void; -}; - -export const VisCanvas = forwardRef((props: Props, ref: any) => { - const { theme } = props; - - /** - * 同步 forward ref - * @param source - * @param target - */ - function syncRef(source: any, target: any) { - if (typeof target === 'function') { - target(source.current); - } else if (target) { - target.current = source.current; - } - } - - const plotRef = useRef(); - const containerRef = useRef(null); - - useLayoutEffect(() => { - if (plotRef.current) { - plotRef.current.destroy(); - } - - const { Lab } = require('@antv/g2plot/dist/g2plot.min.js'); - require('./shapes/waterdrop'); - require('./shapes/breath-point'); - - if (containerRef?.current) { - const container = containerRef.current; - const box = container.getBoundingClientRect(); - const canvasBox = document - .querySelector(`.${styles.canvas}`) - ?.getBoundingClientRect(); - - const appendPadding = [0, 0, 0, 0]; - const actualBox = box.height !== 0 ? box : canvasBox; - const width280 = box && Math.min(box?.height, box?.width) < 280; - - if (props.efficientWorktime === 'afternoon') { - appendPadding[0] = width280 ? -36 : -56; - } - const mvPlot = new Lab.MultiView(container, { - height: actualBox?.height || 400, // 441 /* 372 + 40 */, - autoFit: true, - padding: 0, - appendPadding, - tooltip: false, - views: getViews(props, actualBox), - syncViewPadding: true, - theme: { - background: theme.backgroundColor, - }, - }); - - mvPlot.render(); - // fix hack 下主题设置 - mvPlot.chart.views[0].theme({ roseWidthRatio: 0.6 }); - mvPlot.chart.render(true); - plotRef.current = mvPlot; - syncRef(plotRef, ref); - // 触发 afterRender 操作 - props.afterChartRender(); - } - }, [containerRef, props]); - - return ( -
-
-
- ); -}); diff --git a/site/components/D2Chart/datas/dailySchedule.ts b/site/components/D2Chart/datas/dailySchedule.ts deleted file mode 100644 index c5c70de9e..000000000 --- a/site/components/D2Chart/datas/dailySchedule.ts +++ /dev/null @@ -1,891 +0,0 @@ -/** DONE 👏 🎉 */ -export const DAWN_DAILY_SCHEDULE = [ - { type: 'male', x: 'x', y: null, time: 'dawn' }, - { type: 'female', x: 'x', y: null, time: 'dawn' }, - { type: 'male', x: '0:00', y: 133, time: 'dawn' }, - { type: 'female', x: '0:00', y: 106.4, time: 'dawn' }, - { type: 'male', x: '0:15', y: 106.4, time: 'dawn' }, - { type: 'female', x: '0:15', y: 85.12, time: 'dawn' }, - { type: 'male', x: '0:30', y: 65, time: 'dawn' }, - { type: 'female', x: '0:30', y: 52, time: 'dawn' }, - { type: 'male', x: '0:45', y: 52, time: 'dawn' }, - { type: 'female', x: '0:45', y: 41.6, time: 'dawn' }, - { type: 'male', x: '1:00', y: 26, time: 'dawn' }, - { type: 'female', x: '1:00', y: 20.8, time: 'dawn' }, - { type: 'male', x: '1:15', y: 20.8, time: 'dawn' }, - { type: 'female', x: '1:15', y: 16.64, time: 'dawn' }, - { type: 'male', x: '1:30', y: 36, time: 'dawn' }, - { type: 'female', x: '1:30', y: 28.8, time: 'dawn' }, - { type: 'male', x: '1:45', y: 28.8, time: 'dawn' }, - { type: 'female', x: '1:45', y: 23.040000000000003, time: 'dawn' }, - { type: 'male', x: '2:00', y: 181, time: 'dawn' }, - { type: 'female', x: '2:00', y: 144.8, time: 'dawn' }, - { type: 'male', x: '2:15', y: 144.8, time: 'dawn' }, - { type: 'female', x: '2:15', y: 115.84000000000002, time: 'dawn' }, - { type: 'male', x: '2:30', y: 206, time: 'dawn' }, - { type: 'female', x: '2:30', y: 164.8, time: 'dawn' }, - { type: 'male', x: '2:45', y: 164.8, time: 'dawn' }, - { type: 'female', x: '2:45', y: 131.84, time: 'dawn' }, - { type: 'male', x: '3:00', y: 148, time: 'dawn' }, - { type: 'female', x: '3:00', y: 118.4, time: 'dawn' }, - { type: 'male', x: '3:15', y: 118.4, time: 'dawn' }, - { type: 'female', x: '3:15', y: 94.72000000000001, time: 'dawn' }, - { type: 'male', x: '3:30', y: 201, time: 'dawn' }, - { type: 'female', x: '3:30', y: 160.8, time: 'dawn' }, - { type: 'male', x: '3:45', y: 160.8, time: 'dawn' }, - { type: 'female', x: '3:45', y: 128.64000000000001, time: 'dawn' }, - { type: 'male', x: '4:00', y: 104, time: 'dawn' }, - { type: 'female', x: '4:00', y: 83.2, time: 'dawn' }, - { type: 'male', x: '4:15', y: 83.2, time: 'dawn' }, - { type: 'female', x: '4:15', y: 66.56, time: 'dawn' }, - { type: 'male', x: '4:30', y: 178, time: 'dawn' }, - { type: 'female', x: '4:30', y: 142.4, time: 'dawn' }, - { type: 'male', x: '4:45', y: 142.4, time: 'dawn' }, - { type: 'female', x: '4:45', y: 113.92000000000002, time: 'dawn' }, - { type: 'male', x: '5:00', y: 174, time: 'dawn' }, - { type: 'female', x: '5:00', y: 139.20000000000002, time: 'dawn' }, - { type: 'male', x: '5:15', y: 139.2, time: 'dawn' }, - { type: 'female', x: '5:15', y: 111.36, time: 'dawn' }, - { type: 'male', x: '5:30', y: 149, time: 'dawn' }, - { type: 'female', x: '5:30', y: 119.2, time: 'dawn' }, - { type: 'male', x: '5:45', y: 119.2, time: 'dawn' }, - { type: 'female', x: '5:45', y: 95.36000000000001, time: 'dawn' }, - { type: 'male', x: '6:00', y: 85, time: 'dawn' }, - { type: 'female', x: '6:00', y: 68, time: 'dawn' }, - { type: 'male', x: '6:15', y: 68, time: 'dawn' }, - { type: 'female', x: '6:15', y: 54.400000000000006, time: 'dawn' }, - { type: 'male', x: '6:30', y: 116, time: 'dawn' }, - { type: 'female', x: '6:30', y: 92.80000000000001, time: 'dawn' }, - { type: 'male', x: '6:45', y: 92.8, time: 'dawn' }, - { type: 'female', x: '6:45', y: 74.24, time: 'dawn' }, - { type: 'male', x: '7:00', y: 150, time: 'dawn' }, - { type: 'female', x: '7:00', y: 120, time: 'dawn' }, - { type: 'male', x: '7:15', y: 120, time: 'dawn' }, - { type: 'female', x: '7:15', y: 96, time: 'dawn' }, - { type: 'male', x: '7:30', y: 245, time: 'dawn' }, - { type: 'female', x: '7:30', y: 196, time: 'dawn' }, - { type: 'male', x: '7:45', y: 196, time: 'dawn' }, - { type: 'female', x: '7:45', y: 156.8, time: 'dawn' }, - { type: 'male', x: '8:00', y: 160, time: 'dawn' }, - { type: 'female', x: '8:00', y: 128, time: 'dawn' }, - { type: 'male', x: '8:15', y: 128, time: 'dawn' }, - { type: 'female', x: '8:15', y: 102.4, time: 'dawn' }, - { type: 'male', x: '8:30', y: 199, time: 'dawn' }, - { type: 'female', x: '8:30', y: 159.20000000000002, time: 'dawn' }, - { type: 'male', x: '8:45', y: 159.2, time: 'dawn' }, - { type: 'female', x: '8:45', y: 127.36, time: 'dawn' }, - { type: 'male', x: '9:00', y: 94, time: 'dawn' }, - { type: 'female', x: '9:00', y: 75.2, time: 'dawn' }, - { type: 'male', x: '9:15', y: 75.2, time: 'dawn' }, - { type: 'female', x: '9:15', y: 60.160000000000004, time: 'dawn' }, - { type: 'male', x: '9:30', y: 199, time: 'dawn' }, - { type: 'female', x: '9:30', y: 159.20000000000002, time: 'dawn' }, - { type: 'male', x: '9:45', y: 159.2, time: 'dawn' }, - { type: 'female', x: '9:45', y: 127.36, time: 'dawn' }, - { type: 'male', x: '10:00', y: 90, time: 'dawn' }, - { type: 'female', x: '10:00', y: 72, time: 'dawn' }, - { type: 'male', x: '10:15', y: 72, time: 'dawn' }, - { type: 'female', x: '10:15', y: 57.6, time: 'dawn' }, - { type: 'male', x: '10:30', y: 57, time: 'dawn' }, - { type: 'female', x: '10:30', y: 45.6, time: 'dawn' }, - { type: 'male', x: '10:45', y: 45.6, time: 'dawn' }, - { type: 'female', x: '10:45', y: 36.480000000000004, time: 'dawn' }, - { type: 'male', x: '11:00', y: 41, time: 'dawn' }, - { type: 'female', x: '11:00', y: 32.800000000000004, time: 'dawn' }, - { type: 'male', x: '11:15', y: 32.8, time: 'dawn' }, - { type: 'female', x: '11:15', y: 26.24, time: 'dawn' }, - { type: 'male', x: '11:30', y: 35, time: 'dawn' }, - { type: 'female', x: '11:30', y: 28, time: 'dawn' }, - { type: 'male', x: '11:45', y: 28, time: 'dawn' }, - { type: 'female', x: '11:45', y: 22.400000000000002, time: 'dawn' }, - { type: 'male', x: '12:00', y: 79, time: 'dawn' }, - { type: 'female', x: '12:00', y: 63.2, time: 'dawn' }, - { type: 'male', x: '12:15', y: 63.2, time: 'dawn' }, - { type: 'female', x: '12:15', y: 50.56, time: 'dawn' }, - { type: 'male', x: '12:30', y: 112, time: 'dawn' }, - { type: 'female', x: '12:30', y: 89.60000000000001, time: 'dawn' }, - { type: 'male', x: '12:45', y: 89.6, time: 'dawn' }, - { type: 'female', x: '12:45', y: 71.67999999999999, time: 'dawn' }, - { type: 'male', x: '13:00', y: 90, time: 'dawn' }, - { type: 'female', x: '13:00', y: 72, time: 'dawn' }, - { type: 'male', x: '13:15', y: 72, time: 'dawn' }, - { type: 'female', x: '13:15', y: 57.6, time: 'dawn' }, - { type: 'male', x: '13:30', y: 238, time: 'dawn' }, - { type: 'female', x: '13:30', y: 190.4, time: 'dawn' }, - { type: 'male', x: '13:45', y: 190.4, time: 'dawn' }, - { type: 'female', x: '13:45', y: 152.32000000000002, time: 'dawn' }, - { type: 'male', x: '14:00', y: 335, time: 'dawn' }, - { type: 'female', x: '14:00', y: 268, time: 'dawn' }, - { type: 'male', x: '14:15', y: 268, time: 'dawn' }, - { type: 'female', x: '14:15', y: 214.4, time: 'dawn' }, - { type: 'male', x: '14:30', y: 309, time: 'dawn' }, - { type: 'female', x: '14:30', y: 247.20000000000002, time: 'dawn' }, - { type: 'male', x: '14:45', y: 247.2, time: 'dawn' }, - { type: 'female', x: '14:45', y: 197.76, time: 'dawn' }, - { type: 'male', x: '15:00', y: 287, time: 'dawn' }, - { type: 'female', x: '15:00', y: 229.60000000000002, time: 'dawn' }, - { type: 'male', x: '15:15', y: 229.6, time: 'dawn' }, - { type: 'female', x: '15:15', y: 183.68, time: 'dawn' }, - { type: 'male', x: '15:30', y: 336, time: 'dawn' }, - { type: 'female', x: '15:30', y: 268.8, time: 'dawn' }, - { type: 'male', x: '15:45', y: 268.8, time: 'dawn' }, - { type: 'female', x: '15:45', y: 215.04000000000002, time: 'dawn' }, - { type: 'male', x: '16:00', y: 375, time: 'dawn' }, - { type: 'female', x: '16:00', y: 300, time: 'dawn' }, - { type: 'male', x: '16:15', y: 300, time: 'dawn' }, - { type: 'female', x: '16:15', y: 240, time: 'dawn' }, - { type: 'male', x: '16:30', y: 463, time: 'dawn' }, - { type: 'female', x: '16:30', y: 370.40000000000003, time: 'dawn' }, - { type: 'male', x: '16:45', y: 370.4, time: 'dawn' }, - { type: 'female', x: '16:45', y: 296.32, time: 'dawn' }, - { type: 'male', x: '17:00', y: 265, time: 'dawn' }, - { type: 'female', x: '17:00', y: 212, time: 'dawn' }, - { type: 'male', x: '17:15', y: 212, time: 'dawn' }, - { type: 'female', x: '17:15', y: 169.60000000000002, time: 'dawn' }, - { type: 'male', x: '17:30', y: 600, time: 'dawn' }, - { type: 'female', x: '17:30', y: 480, time: 'dawn' }, - { type: 'male', x: '17:45', y: 480, time: 'dawn' }, - { type: 'female', x: '17:45', y: 384, time: 'dawn' }, - { type: 'male', x: '18:00', y: 572, time: 'dawn' }, - { type: 'female', x: '18:00', y: 457.6, time: 'dawn' }, - { type: 'male', x: '18:15', y: 457.6, time: 'dawn' }, - { type: 'female', x: '18:15', y: 366.08000000000004, time: 'dawn' }, - { type: 'male', x: '18:30', y: 512, time: 'dawn' }, - { type: 'female', x: '18:30', y: 409.6, time: 'dawn' }, - { type: 'male', x: '18:45', y: 409.6, time: 'dawn' }, - { type: 'female', x: '18:45', y: 327.68000000000006, time: 'dawn' }, - { type: 'male', x: '19:00', y: 646, time: 'dawn' }, - { type: 'female', x: '19:00', y: 516.8000000000001, time: 'dawn' }, - { type: 'male', x: '19:15', y: 516.8, time: 'dawn' }, - { type: 'female', x: '19:15', y: 413.44, time: 'dawn' }, - { type: 'male', x: '19:30', y: 747, time: 'dawn' }, - { type: 'female', x: '19:30', y: 597.6, time: 'dawn' }, - { type: 'male', x: '19:45', y: 597.6, time: 'dawn' }, - { type: 'female', x: '19:45', y: 478.08000000000004, time: 'dawn' }, - { type: 'male', x: '20:00', y: 699, time: 'dawn' }, - { type: 'female', x: '20:00', y: 559.2, time: 'dawn' }, - { type: 'male', x: '20:15', y: 559.2, time: 'dawn' }, - { type: 'female', x: '20:15', y: 447.36000000000007, time: 'dawn' }, - { type: 'male', x: '20:30', y: 729, time: 'dawn' }, - { type: 'female', x: '20:30', y: 583.2, time: 'dawn' }, - { type: 'male', x: '20:45', y: 583.2, time: 'dawn' }, - { type: 'female', x: '20:45', y: 466.56000000000006, time: 'dawn' }, - { type: 'male', x: '21:00', y: 734, time: 'dawn' }, - { type: 'female', x: '21:00', y: 587.2, time: 'dawn' }, - { type: 'male', x: '21:15', y: 587.2, time: 'dawn' }, - { type: 'female', x: '21:15', y: 469.76000000000005, time: 'dawn' }, - { type: 'male', x: '21:30', y: 672, time: 'dawn' }, - { type: 'female', x: '21:30', y: 537.6, time: 'dawn' }, - { type: 'male', x: '21:45', y: 537.6, time: 'dawn' }, - { type: 'female', x: '21:45', y: 430.08000000000004, time: 'dawn' }, - { type: 'male', x: '22:00', y: 690, time: 'dawn' }, - { type: 'female', x: '22:00', y: 552, time: 'dawn' }, - { type: 'male', x: '22:15', y: 552, time: 'dawn' }, - { type: 'female', x: '22:15', y: 441.6, time: 'dawn' }, - { type: 'male', x: '22:30', y: 427, time: 'dawn' }, - { type: 'female', x: '22:30', y: 341.6, time: 'dawn' }, - { type: 'male', x: '22:45', y: 341.6, time: 'dawn' }, - { type: 'female', x: '22:45', y: 273.28000000000003, time: 'dawn' }, - { type: 'male', x: '23:00', y: 273, time: 'dawn' }, - { type: 'female', x: '23:00', y: 218.4, time: 'dawn' }, - { type: 'male', x: '23:15', y: 218.4, time: 'dawn' }, - { type: 'female', x: '23:15', y: 174.72000000000003, time: 'dawn' }, - { type: 'male', x: '23:30', y: 352, time: 'dawn' }, - { type: 'female', x: '23:30', y: 281.6, time: 'dawn' }, - { type: 'male', x: '23:45', y: 281.6, time: 'dawn' }, - { type: 'female', x: '23:45', y: 225.28000000000003, time: 'dawn' }, -]; - -// DONE 👏 🎉 -export const NIGHT_DAILY_SCHEDULE = [ - { type: 'male', x: 'x', y: null, time: 'night' }, - { type: 'female', x: 'x', y: null, time: 'night' }, - { type: 'male', x: '0:00', y: 688, time: 'night' }, - { type: 'female', x: '0:00', y: 550.4, time: 'night' }, - { type: 'male', x: '0:15', y: 550.4, time: 'night' }, - { type: 'female', x: '0:15', y: 440.32, time: 'night' }, - { type: 'male', x: '0:30', y: 844, time: 'night' }, - { type: 'female', x: '0:30', y: 675.2, time: 'night' }, - { type: 'male', x: '0:45', y: 675.2, time: 'night' }, - { type: 'female', x: '0:45', y: 540.1600000000001, time: 'night' }, - { type: 'male', x: '1:00', y: 703, time: 'night' }, - { type: 'female', x: '1:00', y: 562.4, time: 'night' }, - { type: 'male', x: '1:15', y: 562.4, time: 'night' }, - { type: 'female', x: '1:15', y: 449.92, time: 'night' }, - { type: 'male', x: '1:30', y: 839, time: 'night' }, - { type: 'female', x: '1:30', y: 671.2, time: 'night' }, - { type: 'male', x: '1:45', y: 671.2, time: 'night' }, - { type: 'female', x: '1:45', y: 536.96, time: 'night' }, - { type: 'male', x: '2:00', y: 883, time: 'night' }, - { type: 'female', x: '2:00', y: 706.4000000000001, time: 'night' }, - { type: 'male', x: '2:15', y: 706.4, time: 'night' }, - { type: 'female', x: '2:15', y: 565.12, time: 'night' }, - { type: 'male', x: '2:30', y: 646, time: 'night' }, - { type: 'female', x: '2:30', y: 516.8000000000001, time: 'night' }, - { type: 'male', x: '2:45', y: 516.8, time: 'night' }, - { type: 'female', x: '2:45', y: 413.44, time: 'night' }, - { type: 'male', x: '3:00', y: 206, time: 'night' }, - { type: 'female', x: '3:00', y: 164.8, time: 'night' }, - { type: 'male', x: '3:15', y: 164.8, time: 'night' }, - { type: 'female', x: '3:15', y: 131.84, time: 'night' }, - { type: 'male', x: '3:30', y: 41, time: 'night' }, - { type: 'female', x: '3:30', y: 32.800000000000004, time: 'night' }, - { type: 'male', x: '3:45', y: 32.8, time: 'night' }, - { type: 'female', x: '3:45', y: 26.24, time: 'night' }, - { type: 'male', x: '4:00', y: 102, time: 'night' }, - { type: 'female', x: '4:00', y: 81.60000000000001, time: 'night' }, - { type: 'male', x: '4:15', y: 81.6, time: 'night' }, - { type: 'female', x: '4:15', y: 65.28, time: 'night' }, - { type: 'male', x: '4:30', y: 47, time: 'night' }, - { type: 'female', x: '4:30', y: 37.6, time: 'night' }, - { type: 'male', x: '4:45', y: 37.6, time: 'night' }, - { type: 'female', x: '4:45', y: 30.080000000000002, time: 'night' }, - { type: 'male', x: '5:00', y: 102, time: 'night' }, - { type: 'female', x: '5:00', y: 81.60000000000001, time: 'night' }, - { type: 'male', x: '5:15', y: 81.6, time: 'night' }, - { type: 'female', x: '5:15', y: 65.28, time: 'night' }, - { type: 'male', x: '5:30', y: 61, time: 'night' }, - { type: 'female', x: '5:30', y: 48.800000000000004, time: 'night' }, - { type: 'male', x: '5:45', y: 48.8, time: 'night' }, - { type: 'female', x: '5:45', y: 39.04, time: 'night' }, - { type: 'male', x: '6:00', y: 75, time: 'night' }, - { type: 'female', x: '6:00', y: 60, time: 'night' }, - { type: 'male', x: '6:15', y: 60, time: 'night' }, - { type: 'female', x: '6:15', y: 48, time: 'night' }, - { type: 'male', x: '6:30', y: 52, time: 'night' }, - { type: 'female', x: '6:30', y: 41.6, time: 'night' }, - { type: 'male', x: '6:45', y: 41.6, time: 'night' }, - { type: 'female', x: '6:45', y: 33.28, time: 'night' }, - { type: 'male', x: '7:00', y: 55, time: 'night' }, - { type: 'female', x: '7:00', y: 44, time: 'night' }, - { type: 'male', x: '7:15', y: 44, time: 'night' }, - { type: 'female', x: '7:15', y: 35.2, time: 'night' }, - { type: 'male', x: '7:30', y: 20, time: 'night' }, - { type: 'female', x: '7:30', y: 16, time: 'night' }, - { type: 'male', x: '7:45', y: 16, time: 'night' }, - { type: 'female', x: '7:45', y: 12.8, time: 'night' }, - { type: 'male', x: '8:00', y: 65, time: 'night' }, - { type: 'female', x: '8:00', y: 52, time: 'night' }, - { type: 'male', x: '8:15', y: 52, time: 'night' }, - { type: 'female', x: '8:15', y: 41.6, time: 'night' }, - { type: 'male', x: '8:30', y: 26, time: 'night' }, - { type: 'female', x: '8:30', y: 20.8, time: 'night' }, - { type: 'male', x: '8:45', y: 20.8, time: 'night' }, - { type: 'female', x: '8:45', y: 16.64, time: 'night' }, - { type: 'male', x: '9:00', y: 36, time: 'night' }, - { type: 'female', x: '9:00', y: 28.8, time: 'night' }, - { type: 'male', x: '9:15', y: 28.8, time: 'night' }, - { type: 'female', x: '9:15', y: 23.040000000000003, time: 'night' }, - { type: 'male', x: '9:30', y: 181, time: 'night' }, - { type: 'female', x: '9:30', y: 144.8, time: 'night' }, - { type: 'male', x: '9:45', y: 144.8, time: 'night' }, - { type: 'female', x: '9:45', y: 115.84000000000002, time: 'night' }, - { type: 'male', x: '10:00', y: 206, time: 'night' }, - { type: 'female', x: '10:00', y: 164.8, time: 'night' }, - { type: 'male', x: '10:15', y: 164.8, time: 'night' }, - { type: 'female', x: '10:15', y: 131.84, time: 'night' }, - { type: 'male', x: '10:30', y: 148, time: 'night' }, - { type: 'female', x: '10:30', y: 118.4, time: 'night' }, - { type: 'male', x: '10:45', y: 118.4, time: 'night' }, - { type: 'female', x: '10:45', y: 94.72000000000001, time: 'night' }, - { type: 'male', x: '11:00', y: 201, time: 'night' }, - { type: 'female', x: '11:00', y: 160.8, time: 'night' }, - { type: 'male', x: '11:15', y: 160.8, time: 'night' }, - { type: 'female', x: '11:15', y: 128.64000000000001, time: 'night' }, - { type: 'male', x: '11:30', y: 104, time: 'night' }, - { type: 'female', x: '11:30', y: 83.2, time: 'night' }, - { type: 'male', x: '11:45', y: 83.2, time: 'night' }, - { type: 'female', x: '11:45', y: 66.56, time: 'night' }, - { type: 'male', x: '12:00', y: 178, time: 'night' }, - { type: 'female', x: '12:00', y: 142.4, time: 'night' }, - { type: 'male', x: '12:15', y: 142.4, time: 'night' }, - { type: 'female', x: '12:15', y: 113.92000000000002, time: 'night' }, - { type: 'male', x: '12:30', y: 174, time: 'night' }, - { type: 'female', x: '12:30', y: 139.20000000000002, time: 'night' }, - { type: 'male', x: '12:45', y: 139.2, time: 'night' }, - { type: 'female', x: '12:45', y: 111.36, time: 'night' }, - { type: 'male', x: '13:00', y: 149, time: 'night' }, - { type: 'female', x: '13:00', y: 119.2, time: 'night' }, - { type: 'male', x: '13:15', y: 119.2, time: 'night' }, - { type: 'female', x: '13:15', y: 95.36000000000001, time: 'night' }, - { type: 'male', x: '13:30', y: 583, time: 'night' }, - { type: 'female', x: '13:30', y: 466.40000000000003, time: 'night' }, - { type: 'male', x: '13:45', y: 466.4, time: 'night' }, - { type: 'female', x: '13:45', y: 373.12, time: 'night' }, - { type: 'male', x: '14:00', y: 548, time: 'night' }, - { type: 'female', x: '14:00', y: 438.40000000000003, time: 'night' }, - { type: 'male', x: '14:15', y: 438.4, time: 'night' }, - { type: 'female', x: '14:15', y: 350.72, time: 'night' }, - { type: 'male', x: '14:30', y: 150, time: 'night' }, - { type: 'female', x: '14:30', y: 120, time: 'night' }, - { type: 'male', x: '14:45', y: 120, time: 'night' }, - { type: 'female', x: '14:45', y: 96, time: 'night' }, - { type: 'male', x: '15:00', y: 245, time: 'night' }, - { type: 'female', x: '15:00', y: 196, time: 'night' }, - { type: 'male', x: '15:15', y: 196, time: 'night' }, - { type: 'female', x: '15:15', y: 156.8, time: 'night' }, - { type: 'male', x: '15:30', y: 400, time: 'night' }, - { type: 'female', x: '15:30', y: 320, time: 'night' }, - { type: 'male', x: '15:45', y: 320, time: 'night' }, - { type: 'female', x: '15:45', y: 256, time: 'night' }, - { type: 'male', x: '16:00', y: 199, time: 'night' }, - { type: 'female', x: '16:00', y: 159.20000000000002, time: 'night' }, - { type: 'male', x: '16:15', y: 159.2, time: 'night' }, - { type: 'female', x: '16:15', y: 127.36, time: 'night' }, - { type: 'male', x: '16:30', y: 699, time: 'night' }, - { type: 'female', x: '16:30', y: 559.2, time: 'night' }, - { type: 'male', x: '16:45', y: 559.2, time: 'night' }, - { type: 'female', x: '16:45', y: 447.36000000000007, time: 'night' }, - { type: 'male', x: '17:00', y: 408, time: 'night' }, - { type: 'female', x: '17:00', y: 326.40000000000003, time: 'night' }, - { type: 'male', x: '17:15', y: 326.4, time: 'night' }, - { type: 'female', x: '17:15', y: 261.12, time: 'night' }, - { type: 'male', x: '17:30', y: 90, time: 'night' }, - { type: 'female', x: '17:30', y: 72, time: 'night' }, - { type: 'male', x: '17:45', y: 72, time: 'night' }, - { type: 'female', x: '17:45', y: 57.6, time: 'night' }, - { type: 'male', x: '18:00', y: 57, time: 'night' }, - { type: 'female', x: '18:00', y: 45.6, time: 'night' }, - { type: 'male', x: '18:15', y: 45.6, time: 'night' }, - { type: 'female', x: '18:15', y: 36.480000000000004, time: 'night' }, - { type: 'male', x: '18:30', y: 41, time: 'night' }, - { type: 'female', x: '18:30', y: 32.800000000000004, time: 'night' }, - { type: 'male', x: '18:45', y: 32.8, time: 'night' }, - { type: 'female', x: '18:45', y: 26.24, time: 'night' }, - { type: 'male', x: '19:00', y: 35, time: 'night' }, - { type: 'female', x: '19:00', y: 28, time: 'night' }, - { type: 'male', x: '19:15', y: 28, time: 'night' }, - { type: 'female', x: '19:15', y: 22.400000000000002, time: 'night' }, - { type: 'male', x: '19:30', y: 386, time: 'night' }, - { type: 'female', x: '19:30', y: 308.8, time: 'night' }, - { type: 'male', x: '19:45', y: 308.8, time: 'night' }, - { type: 'female', x: '19:45', y: 247.04000000000002, time: 'night' }, - { type: 'male', x: '20:00', y: 622, time: 'night' }, - { type: 'female', x: '20:00', y: 497.6, time: 'night' }, - { type: 'male', x: '20:15', y: 497.6, time: 'night' }, - { type: 'female', x: '20:15', y: 398.08000000000004, time: 'night' }, - { type: 'male', x: '20:30', y: 664, time: 'night' }, - { type: 'female', x: '20:30', y: 531.2, time: 'night' }, - { type: 'male', x: '20:45', y: 531.2, time: 'night' }, - { type: 'female', x: '20:45', y: 424.96000000000004, time: 'night' }, - { type: 'male', x: '21:00', y: 600, time: 'night' }, - { type: 'female', x: '21:00', y: 480, time: 'night' }, - { type: 'male', x: '21:15', y: 480, time: 'night' }, - { type: 'female', x: '21:15', y: 384, time: 'night' }, - { type: 'male', x: '21:30', y: 715, time: 'night' }, - { type: 'female', x: '21:30', y: 572, time: 'night' }, - { type: 'male', x: '21:45', y: 572, time: 'night' }, - { type: 'female', x: '21:45', y: 457.6, time: 'night' }, - { type: 'male', x: '22:00', y: 761, time: 'night' }, - { type: 'female', x: '22:00', y: 608.8000000000001, time: 'night' }, - { type: 'male', x: '22:15', y: 608.8, time: 'night' }, - { type: 'female', x: '22:15', y: 487.03999999999996, time: 'night' }, - { type: 'male', x: '22:30', y: 621, time: 'night' }, - { type: 'female', x: '22:30', y: 496.8, time: 'night' }, - { type: 'male', x: '22:45', y: 496.8, time: 'night' }, - { type: 'female', x: '22:45', y: 397.44000000000005, time: 'night' }, - { type: 'male', x: '23:00', y: 786, time: 'night' }, - { type: 'female', x: '23:00', y: 628.8000000000001, time: 'night' }, - { type: 'male', x: '23:15', y: 628.8, time: 'night' }, - { type: 'female', x: '23:15', y: 503.03999999999996, time: 'night' }, - { type: 'male', x: '23:30', y: 726, time: 'night' }, - { type: 'female', x: '23:30', y: 580.8000000000001, time: 'night' }, - { type: 'male', x: '23:45', y: 580.8, time: 'night' }, - { type: 'female', x: '23:45', y: 464.64, time: 'night' }, -]; - -// DONE 👏 -export const MIDNIGHT_DAILY_SCHEDULE = [ - { type: 'female', time: 'midnight', x: '0:00', y: 463 }, - { type: 'male', time: 'midnight', x: '0:15', y: 370.4 }, - { type: 'female', time: 'midnight', x: '0:30', y: 265 }, - { type: 'male', time: 'midnight', x: '0:45', y: 212 }, - { type: 'female', time: 'midnight', x: '1:00', y: 600 }, - { type: 'male', time: 'midnight', x: '1:15', y: 480 }, - { type: 'female', time: 'midnight', x: '1:30', y: 572 }, - { type: 'male', time: 'midnight', x: '1:45', y: 457.6 }, - { type: 'female', time: 'midnight', x: '2:00', y: 512 }, - { type: 'male', time: 'midnight', x: '2:15', y: 409.6 }, - { type: 'female', time: 'midnight', x: '2:30', y: 646 }, - { type: 'male', time: 'midnight', x: '2:45', y: 516.8 }, - { type: 'female', time: 'midnight', x: '3:00', y: 747 }, - { type: 'male', time: 'midnight', x: '3:15', y: 597.6 }, - { type: 'female', time: 'midnight', x: '3:30', y: 699 }, - { type: 'male', time: 'midnight', x: '3:45', y: 559.2 }, - { type: 'female', time: 'midnight', x: '4:00', y: 729 }, - { type: 'male', time: 'midnight', x: '4:15', y: 583.2 }, - { type: 'female', time: 'midnight', x: '4:30', y: 734 }, - { type: 'male', time: 'midnight', x: '4:45', y: 587.2 }, - { type: 'female', time: 'midnight', x: '5:00', y: 672 }, - { type: 'male', time: 'midnight', x: '5:15', y: 537.6 }, - { type: 'female', time: 'midnight', x: '5:30', y: 690 }, - { type: 'male', time: 'midnight', x: '5:45', y: 552 }, - { type: 'female', time: 'midnight', x: '6:00', y: 427 }, - { type: 'male', time: 'midnight', x: '6:15', y: 341.6 }, - { type: 'female', time: 'midnight', x: '6:30', y: 273 }, - { type: 'male', time: 'midnight', x: '6:45', y: 218.4 }, - { type: 'female', time: 'midnight', x: '7:00', y: 352 }, - { type: 'male', time: 'midnight', x: '7:15', y: 281.6 }, - { type: 'female', time: 'midnight', x: '7:30', y: 133 }, - { type: 'male', time: 'midnight', x: '7:45', y: 106.4 }, - { type: 'female', time: 'midnight', x: '8:00', y: 65 }, - { type: 'male', time: 'midnight', x: '8:15', y: 52 }, - { type: 'female', time: 'midnight', x: '8:30', y: 26 }, - { type: 'male', time: 'midnight', x: '8:45', y: 20.8 }, - { type: 'female', time: 'midnight', x: '9:00', y: 36 }, - { type: 'male', time: 'midnight', x: '9:15', y: 28.8 }, - { type: 'female', time: 'midnight', x: '9:30', y: 181 }, - { type: 'male', time: 'midnight', x: '9:45', y: 144.8 }, - { type: 'female', time: 'midnight', x: '10:00', y: 206 }, - { type: 'male', time: 'midnight', x: '10:15', y: 164.8 }, - { type: 'female', time: 'midnight', x: '10:30', y: 148 }, - { type: 'male', time: 'midnight', x: '10:45', y: 118.4 }, - { type: 'female', time: 'midnight', x: '11:00', y: 201 }, - { type: 'male', time: 'midnight', x: '11:15', y: 160.8 }, - { type: 'female', time: 'midnight', x: '11:30', y: 104 }, - { type: 'male', time: 'midnight', x: '11:45', y: 83.2 }, - { type: 'female', time: 'midnight', x: '12:00', y: 178 }, - { type: 'male', time: 'midnight', x: '12:15', y: 142.4 }, - { type: 'female', time: 'midnight', x: '12:30', y: 174 }, - { type: 'male', time: 'midnight', x: '12:45', y: 139.2 }, - { type: 'female', time: 'midnight', x: '13:00', y: 149 }, - { type: 'male', time: 'midnight', x: '13:15', y: 119.2 }, - { type: 'female', time: 'midnight', x: '13:30', y: 85 }, - { type: 'male', time: 'midnight', x: '13:45', y: 68 }, - { type: 'female', time: 'midnight', x: '14:00', y: 116 }, - { type: 'male', time: 'midnight', x: '14:15', y: 92.8 }, - { type: 'female', time: 'midnight', x: '14:30', y: 150 }, - { type: 'male', time: 'midnight', x: '14:45', y: 120 }, - { type: 'female', time: 'midnight', x: '15:00', y: 245 }, - { type: 'male', time: 'midnight', x: '15:15', y: 196 }, - { type: 'female', time: 'midnight', x: '15:30', y: 160 }, - { type: 'male', time: 'midnight', x: '15:45', y: 128 }, - { type: 'female', time: 'midnight', x: '16:00', y: 199 }, - { type: 'male', time: 'midnight', x: '16:15', y: 159.2 }, - { type: 'female', time: 'midnight', x: '16:30', y: 94 }, - { type: 'male', time: 'midnight', x: '16:45', y: 75.2 }, - { type: 'female', time: 'midnight', x: '17:00', y: 199 }, - { type: 'male', time: 'midnight', x: '17:15', y: 159.2 }, - { type: 'female', time: 'midnight', x: '17:30', y: 90 }, - { type: 'male', time: 'midnight', x: '17:45', y: 72 }, - { type: 'female', time: 'midnight', x: '18:00', y: 57 }, - { type: 'male', time: 'midnight', x: '18:15', y: 45.6 }, - { type: 'female', time: 'midnight', x: '18:30', y: 41 }, - { type: 'male', time: 'midnight', x: '18:45', y: 32.8 }, - { type: 'female', time: 'midnight', x: '19:00', y: 35 }, - { type: 'male', time: 'midnight', x: '19:15', y: 28 }, - { type: 'female', time: 'midnight', x: '19:30', y: 79 }, - { type: 'male', time: 'midnight', x: '19:45', y: 63.2 }, - { type: 'female', time: 'midnight', x: '20:00', y: 112 }, - { type: 'male', time: 'midnight', x: '20:15', y: 89.6 }, - { type: 'female', time: 'midnight', x: '20:30', y: 90 }, - { type: 'male', time: 'midnight', x: '20:45', y: 72 }, - { type: 'female', time: 'midnight', x: '21:00', y: 238 }, - { type: 'male', time: 'midnight', x: '21:15', y: 190.4 }, - { type: 'female', time: 'midnight', x: '21:30', y: 335 }, - { type: 'male', time: 'midnight', x: '21:45', y: 268 }, - { type: 'female', time: 'midnight', x: '22:00', y: 309 }, - { type: 'male', time: 'midnight', x: '22:15', y: 247.2 }, - { type: 'female', time: 'midnight', x: '22:30', y: 287 }, - { type: 'male', time: 'midnight', x: '22:45', y: 229.6 }, - { type: 'female', time: 'midnight', x: '23:00', y: 336 }, - { type: 'male', time: 'midnight', x: '23:15', y: 268.8 }, - { type: 'female', time: 'midnight', x: '23:30', y: 375 }, - { type: 'male', time: 'midnight', x: '23:45', y: 300 }, -]; - -// DONE 👏 🎉 -export const MORNING_DAILY_SCHEDULE = [ - { type: 'male', x: '1:30', y: 90, time: 'morning' }, - { type: 'female', x: '1:30', y: 72, time: 'morning' }, - { type: 'male', x: '1:45', y: 72, time: 'morning' }, - { type: 'female', x: '1:45', y: 57.6, time: 'morning' }, - { type: 'male', x: '2:00', y: 57, time: 'morning' }, - { type: 'female', x: '2:00', y: 45.6, time: 'morning' }, - { type: 'male', x: '2:15', y: 45.6, time: 'morning' }, - { type: 'female', x: '2:15', y: 36.480000000000004, time: 'morning' }, - { type: 'male', x: '2:30', y: 41, time: 'morning' }, - { type: 'female', x: '2:30', y: 32.800000000000004, time: 'morning' }, - { type: 'male', x: '2:45', y: 32.8, time: 'morning' }, - { type: 'female', x: '2:45', y: 26.24, time: 'morning' }, - { type: 'male', x: '3:00', y: 35, time: 'morning' }, - { type: 'female', x: '3:00', y: 28, time: 'morning' }, - { type: 'male', x: '3:15', y: 28, time: 'morning' }, - { type: 'female', x: '3:15', y: 22.400000000000002, time: 'morning' }, - { type: 'male', x: '3:30', y: 79, time: 'morning' }, - { type: 'female', x: '3:30', y: 63.2, time: 'morning' }, - { type: 'male', x: '3:45', y: 63.2, time: 'morning' }, - { type: 'female', x: '3:45', y: 50.56, time: 'morning' }, - { type: 'male', x: '4:00', y: 112, time: 'morning' }, - { type: 'female', x: '4:00', y: 89.60000000000001, time: 'morning' }, - { type: 'male', x: '4:15', y: 89.6, time: 'morning' }, - { type: 'female', x: '4:15', y: 71.67999999999999, time: 'morning' }, - { type: 'male', x: '4:30', y: 90, time: 'morning' }, - { type: 'female', x: '4:30', y: 72, time: 'morning' }, - { type: 'male', x: '4:45', y: 72, time: 'morning' }, - { type: 'female', x: '4:45', y: 57.6, time: 'morning' }, - { type: 'male', x: '5:00', y: 138, time: 'morning' }, - { type: 'female', x: '5:00', y: 110.4, time: 'morning' }, - { type: 'male', x: '5:15', y: 100.4, time: 'morning' }, - { type: 'female', x: '5:15', y: 80.32000000000001, time: 'morning' }, - { type: 'male', x: '5:30', y: 335, time: 'morning' }, - { type: 'female', x: '5:30', y: 268, time: 'morning' }, - { type: 'male', x: '5:45', y: 268, time: 'morning' }, - { type: 'female', x: '5:45', y: 214.4, time: 'morning' }, - { type: 'male', x: '6:00', y: 309, time: 'morning' }, - { type: 'female', x: '6:00', y: 247.20000000000002, time: 'morning' }, - { type: 'male', x: '6:15', y: 247.2, time: 'morning' }, - { type: 'female', x: '6:15', y: 197.76, time: 'morning' }, - { type: 'male', x: '6:30', y: 287, time: 'morning' }, - { type: 'female', x: '6:30', y: 229.60000000000002, time: 'morning' }, - { type: 'male', x: '6:45', y: 229.6, time: 'morning' }, - { type: 'female', x: '6:45', y: 183.68, time: 'morning' }, - { type: 'male', x: '7:00', y: 336, time: 'morning' }, - { type: 'female', x: '7:00', y: 268.8, time: 'morning' }, - { type: 'male', x: '7:15', y: 268.8, time: 'morning' }, - { type: 'female', x: '7:15', y: 215.04000000000002, time: 'morning' }, - { type: 'male', x: '7:30', y: 375, time: 'morning' }, - { type: 'female', x: '7:30', y: 300, time: 'morning' }, - { type: 'male', x: '7:45', y: 300, time: 'morning' }, - { type: 'female', x: '7:45', y: 240, time: 'morning' }, - { type: 'male', x: '8:00', y: 463, time: 'morning' }, - { type: 'female', x: '8:00', y: 370.40000000000003, time: 'morning' }, - { type: 'male', x: '8:15', y: 370.4, time: 'morning' }, - { type: 'female', x: '8:15', y: 296.32, time: 'morning' }, - { type: 'male', x: '8:30', y: 265, time: 'morning' }, - { type: 'female', x: '8:30', y: 212, time: 'morning' }, - { type: 'male', x: '8:45', y: 212, time: 'morning' }, - { type: 'female', x: '8:45', y: 169.60000000000002, time: 'morning' }, - { type: 'male', x: '9:00', y: 600, time: 'morning' }, - { type: 'female', x: '9:00', y: 480, time: 'morning' }, - { type: 'male', x: '9:15', y: 480, time: 'morning' }, - { type: 'female', x: '9:15', y: 384, time: 'morning' }, - { type: 'male', x: '9:30', y: 572, time: 'morning' }, - { type: 'female', x: '9:30', y: 457.6, time: 'morning' }, - { type: 'male', x: '9:45', y: 457.6, time: 'morning' }, - { type: 'female', x: '9:45', y: 366.08000000000004, time: 'morning' }, - { type: 'male', x: '10:00', y: 512, time: 'morning' }, - { type: 'female', x: '10:00', y: 409.6, time: 'morning' }, - { type: 'male', x: '10:15', y: 409.6, time: 'morning' }, - { type: 'female', x: '10:15', y: 327.68000000000006, time: 'morning' }, - { type: 'male', x: '10:30', y: 646, time: 'morning' }, - { type: 'female', x: '10:30', y: 516.8000000000001, time: 'morning' }, - { type: 'male', x: '10:45', y: 516.8, time: 'morning' }, - { type: 'female', x: '10:45', y: 413.44, time: 'morning' }, - { type: 'male', x: '11:00', y: 747, time: 'morning' }, - { type: 'female', x: '11:00', y: 597.6, time: 'morning' }, - { type: 'male', x: '11:15', y: 597.6, time: 'morning' }, - { type: 'female', x: '11:15', y: 478.08000000000004, time: 'morning' }, - { type: 'male', x: '11:30', y: 699, time: 'morning' }, - { type: 'female', x: '11:30', y: 559.2, time: 'morning' }, - { type: 'male', x: '11:45', y: 559.2, time: 'morning' }, - { type: 'female', x: '11:45', y: 447.36000000000007, time: 'morning' }, - { type: 'male', x: '12:00', y: 729, time: 'morning' }, - { type: 'female', x: '12:00', y: 583.2, time: 'morning' }, - { type: 'male', x: '12:15', y: 583.2, time: 'morning' }, - { type: 'female', x: '12:15', y: 466.56000000000006, time: 'morning' }, - { type: 'male', x: '12:30', y: 734, time: 'morning' }, - { type: 'female', x: '12:30', y: 587.2, time: 'morning' }, - { type: 'male', x: '12:45', y: 587.2, time: 'morning' }, - { type: 'female', x: '12:45', y: 469.76000000000005, time: 'morning' }, - { type: 'male', x: '13:00', y: 672, time: 'morning' }, - { type: 'female', x: '13:00', y: 537.6, time: 'morning' }, - { type: 'male', x: '13:15', y: 537.6, time: 'morning' }, - { type: 'female', x: '13:15', y: 430.08000000000004, time: 'morning' }, - { type: 'male', x: '13:30', y: 414, time: 'morning' }, - { type: 'female', x: '13:30', y: 331.20000000000005, time: 'morning' }, - { type: 'male', x: '13:45', y: 331.2, time: 'morning' }, - { type: 'female', x: '13:45', y: 264.96, time: 'morning' }, - { type: 'male', x: '14:00', y: 256.2, time: 'morning' }, - { type: 'female', x: '14:00', y: 204.96, time: 'morning' }, - { type: 'male', x: '14:15', y: 204.96, time: 'morning' }, - { type: 'female', x: '14:15', y: 163.96800000000002, time: 'morning' }, - { type: 'male', x: '14:30', y: 163.8, time: 'morning' }, - { type: 'female', x: '14:30', y: 131.04000000000002, time: 'morning' }, - { type: 'male', x: '14:45', y: 131.04, time: 'morning' }, - { type: 'female', x: '14:45', y: 104.832, time: 'morning' }, - { type: 'male', x: '15:00', y: 211.2, time: 'morning' }, - { type: 'female', x: '15:00', y: 168.96, time: 'morning' }, - { type: 'male', x: '15:15', y: 168.96, time: 'morning' }, - { type: 'female', x: '15:15', y: 135.168, time: 'morning' }, - { type: 'male', x: '15:30', y: 79.8, time: 'morning' }, - { type: 'female', x: '15:30', y: 63.84, time: 'morning' }, - { type: 'male', x: '15:45', y: 63.84, time: 'morning' }, - { type: 'female', x: '15:45', y: 51.072, time: 'morning' }, - { type: 'male', x: '16:00', y: 65, time: 'morning' }, - { type: 'female', x: '16:00', y: 52, time: 'morning' }, - { type: 'male', x: '16:15', y: 52, time: 'morning' }, - { type: 'female', x: '16:15', y: 41.6, time: 'morning' }, - { type: 'male', x: '16:30', y: 26, time: 'morning' }, - { type: 'female', x: '16:30', y: 20.8, time: 'morning' }, - { type: 'male', x: '16:45', y: 20.8, time: 'morning' }, - { type: 'female', x: '16:45', y: 16.64, time: 'morning' }, - { type: 'male', x: '17:00', y: 36, time: 'morning' }, - { type: 'female', x: '17:00', y: 28.8, time: 'morning' }, - { type: 'male', x: '17:15', y: 28.8, time: 'morning' }, - { type: 'female', x: '17:15', y: 23.040000000000003, time: 'morning' }, - { type: 'male', x: '17:30', y: 54.3, time: 'morning' }, - { type: 'female', x: '17:30', y: 43.44, time: 'morning' }, - { type: 'male', x: '17:45', y: 43.44, time: 'morning' }, - { type: 'female', x: '17:45', y: 34.752, time: 'morning' }, - { type: 'male', x: '18:00', y: 61.8, time: 'morning' }, - { type: 'female', x: '18:00', y: 49.44, time: 'morning' }, - { type: 'male', x: '18:15', y: 49.44, time: 'morning' }, - { type: 'female', x: '18:15', y: 39.552, time: 'morning' }, - { type: 'male', x: '18:30', y: 44.4, time: 'morning' }, - { type: 'female', x: '18:30', y: 35.52, time: 'morning' }, - { type: 'male', x: '18:45', y: 35.52, time: 'morning' }, - { type: 'female', x: '18:45', y: 28.416000000000004, time: 'morning' }, - { type: 'male', x: '19:00', y: 60.3, time: 'morning' }, - { type: 'female', x: '19:00', y: 48.24, time: 'morning' }, - { type: 'male', x: '19:15', y: 48.24, time: 'morning' }, - { type: 'female', x: '19:15', y: 38.592000000000006, time: 'morning' }, - { type: 'male', x: '19:30', y: 31.2, time: 'morning' }, - { type: 'female', x: '19:30', y: 24.96, time: 'morning' }, - { type: 'male', x: '19:45', y: 24.96, time: 'morning' }, - { type: 'female', x: '19:45', y: 19.968000000000004, time: 'morning' }, - { type: 'male', x: '20:00', y: 53.4, time: 'morning' }, - { type: 'female', x: '20:00', y: 42.72, time: 'morning' }, - { type: 'male', x: '20:15', y: 42.72, time: 'morning' }, - { type: 'female', x: '20:15', y: 34.176, time: 'morning' }, - { type: 'male', x: '20:30', y: 52.2, time: 'morning' }, - { type: 'female', x: '20:30', y: 41.760000000000005, time: 'morning' }, - { type: 'male', x: '20:45', y: 13.92, time: 'morning' }, - { type: 'female', x: '20:45', y: 11.136000000000001, time: 'morning' }, - { type: 'male', x: '21:00', y: 14.9, time: 'morning' }, - { type: 'female', x: '21:00', y: 11.920000000000002, time: 'morning' }, - { type: 'male', x: '21:15', y: 11.92, time: 'morning' }, - { type: 'female', x: '21:15', y: 9.536, time: 'morning' }, - { type: 'male', x: '21:30', y: 8.5, time: 'morning' }, - { type: 'female', x: '21:30', y: 6.800000000000001, time: 'morning' }, - { type: 'male', x: '21:45', y: 6.8, time: 'morning' }, - { type: 'female', x: '21:45', y: 5.44, time: 'morning' }, - { type: 'male', x: '22:00', y: 11.6, time: 'morning' }, - { type: 'female', x: '22:00', y: 9.28, time: 'morning' }, - { type: 'male', x: '22:15', y: 9.28, time: 'morning' }, - { type: 'female', x: '22:15', y: 7.4239999999999995, time: 'morning' }, - { type: 'male', x: '22:30', y: 15, time: 'morning' }, - { type: 'female', x: '22:30', y: 12, time: 'morning' }, - { type: 'male', x: '22:45', y: 12, time: 'morning' }, - { type: 'female', x: '22:45', y: 9.600000000000001, time: 'morning' }, - { type: 'male', x: '23:00', y: 24.5, time: 'morning' }, - { type: 'female', x: '23:00', y: 19.6, time: 'morning' }, - { type: 'male', x: '23:15', y: 19.6, time: 'morning' }, - { type: 'female', x: '23:15', y: 15.680000000000001, time: 'morning' }, - { type: 'male', x: '23:30', y: 16, time: 'morning' }, - { type: 'female', x: '23:30', y: 12.8, time: 'morning' }, - { type: 'male', x: '23:45', y: 12.8, time: 'morning' }, - { type: 'female', x: '23:45', y: 10.240000000000002, time: 'morning' }, - { type: 'male', x: 'x', y: null, time: 'morning' }, - { type: 'female', x: 'x', y: null, time: 'morning' }, - { type: 'male', x: '0:00', y: 99, time: 'morning' }, - { type: 'female', x: '0:00', y: 79.2, time: 'morning' }, - { type: 'male', x: '0:15', y: 59.2, time: 'morning' }, - { type: 'female', x: '0:15', y: 47.36000000000001, time: 'morning' }, - { type: 'male', x: '0:30', y: 94, time: 'morning' }, - { type: 'female', x: '0:30', y: 75.2, time: 'morning' }, - { type: 'male', x: '0:45', y: 75.2, time: 'morning' }, - { type: 'female', x: '0:45', y: 60.160000000000004, time: 'morning' }, - { type: 'male', x: '1:00', y: 120, time: 'morning' }, - { type: 'female', x: '1:00', y: 96, time: 'morning' }, - { type: 'male', x: '1:15', y: 38.2, time: 'morning' }, - { type: 'female', x: '1:15', y: 30.560000000000002, time: 'morning' }, -]; - -// DONE 👏 🎉 -export const AFTERNOON_DAILY_SCHEDULE = [ - { type: 'male', x: 'x', y: null, time: 'afternoon' }, - { type: 'female', x: 'x', y: null, time: 'afternoon' }, - { type: 'male', x: '0:00', y: 83.2, time: 'afternoon' }, - { type: 'female', x: '0:00', y: 66.56, time: 'afternoon' }, - { type: 'male', x: '0:15', y: 178, time: 'afternoon' }, - { type: 'female', x: '0:15', y: 142.4, time: 'afternoon' }, - { type: 'male', x: '0:30', y: 142.4, time: 'afternoon' }, - { type: 'female', x: '0:30', y: 113.92000000000002, time: 'afternoon' }, - { type: 'male', x: '0:45', y: 174, time: 'afternoon' }, - { type: 'female', x: '0:45', y: 139.20000000000002, time: 'afternoon' }, - { type: 'male', x: '1:00', y: 139.2, time: 'afternoon' }, - { type: 'female', x: '1:00', y: 111.36, time: 'afternoon' }, - { type: 'male', x: '1:15', y: 149, time: 'afternoon' }, - { type: 'female', x: '1:15', y: 119.2, time: 'afternoon' }, - { type: 'male', x: '1:30', y: 119.2, time: 'afternoon' }, - { type: 'female', x: '1:30', y: 95.36000000000001, time: 'afternoon' }, - { type: 'male', x: '1:45', y: 85, time: 'afternoon' }, - { type: 'female', x: '1:45', y: 68, time: 'afternoon' }, - { type: 'male', x: '2:00', y: 68, time: 'afternoon' }, - { type: 'female', x: '2:00', y: 54.400000000000006, time: 'afternoon' }, - { type: 'male', x: '2:15', y: 116, time: 'afternoon' }, - { type: 'female', x: '2:15', y: 92.80000000000001, time: 'afternoon' }, - { type: 'male', x: '2:30', y: 92.8, time: 'afternoon' }, - { type: 'female', x: '2:30', y: 74.24, time: 'afternoon' }, - { type: 'male', x: '2:45', y: 150, time: 'afternoon' }, - { type: 'female', x: '2:45', y: 120, time: 'afternoon' }, - { type: 'male', x: '3:00', y: 120, time: 'afternoon' }, - { type: 'female', x: '3:00', y: 96, time: 'afternoon' }, - { type: 'male', x: '3:15', y: 245, time: 'afternoon' }, - { type: 'female', x: '3:15', y: 196, time: 'afternoon' }, - { type: 'male', x: '3:30', y: 196, time: 'afternoon' }, - { type: 'female', x: '3:30', y: 156.8, time: 'afternoon' }, - { type: 'male', x: '3:45', y: 160, time: 'afternoon' }, - { type: 'female', x: '3:45', y: 128, time: 'afternoon' }, - { type: 'male', x: '4:00', y: 128, time: 'afternoon' }, - { type: 'female', x: '4:00', y: 102.4, time: 'afternoon' }, - { type: 'male', x: '4:15', y: 199, time: 'afternoon' }, - { type: 'female', x: '4:15', y: 159.20000000000002, time: 'afternoon' }, - { type: 'male', x: '4:30', y: 159.2, time: 'afternoon' }, - { type: 'female', x: '4:30', y: 127.36, time: 'afternoon' }, - { type: 'male', x: '4:45', y: 94, time: 'afternoon' }, - { type: 'female', x: '4:45', y: 75.2, time: 'afternoon' }, - { type: 'male', x: '5:00', y: 75.2, time: 'afternoon' }, - { type: 'female', x: '5:00', y: 60.160000000000004, time: 'afternoon' }, - { type: 'male', x: '5:15', y: 199, time: 'afternoon' }, - { type: 'female', x: '5:15', y: 159.20000000000002, time: 'afternoon' }, - { type: 'male', x: '5:30', y: 159.2, time: 'afternoon' }, - { type: 'female', x: '5:30', y: 127.36, time: 'afternoon' }, - { type: 'male', x: '5:45', y: 90, time: 'afternoon' }, - { type: 'female', x: '5:45', y: 72, time: 'afternoon' }, - { type: 'male', x: '6:00', y: 72, time: 'afternoon' }, - { type: 'female', x: '6:00', y: 57.6, time: 'afternoon' }, - { type: 'male', x: '6:15', y: 57, time: 'afternoon' }, - { type: 'female', x: '6:15', y: 45.6, time: 'afternoon' }, - { type: 'male', x: '6:30', y: 45.6, time: 'afternoon' }, - { type: 'female', x: '6:30', y: 36.480000000000004, time: 'afternoon' }, - { type: 'male', x: '6:45', y: 41, time: 'afternoon' }, - { type: 'female', x: '6:45', y: 32.800000000000004, time: 'afternoon' }, - { type: 'male', x: '7:00', y: 32.8, time: 'afternoon' }, - { type: 'female', x: '7:00', y: 26.24, time: 'afternoon' }, - { type: 'male', x: '7:15', y: 35, time: 'afternoon' }, - { type: 'female', x: '7:15', y: 28, time: 'afternoon' }, - { type: 'male', x: '7:30', y: 28, time: 'afternoon' }, - { type: 'female', x: '7:30', y: 22.400000000000002, time: 'afternoon' }, - { type: 'male', x: '7:45', y: 79, time: 'afternoon' }, - { type: 'female', x: '7:45', y: 63.2, time: 'afternoon' }, - { type: 'male', x: '8:00', y: 63.2, time: 'afternoon' }, - { type: 'female', x: '8:00', y: 50.56, time: 'afternoon' }, - { type: 'male', x: '8:15', y: 112, time: 'afternoon' }, - { type: 'female', x: '8:15', y: 89.60000000000001, time: 'afternoon' }, - { type: 'male', x: '8:30', y: 89.6, time: 'afternoon' }, - { type: 'female', x: '8:30', y: 71.67999999999999, time: 'afternoon' }, - { type: 'male', x: '8:45', y: 90, time: 'afternoon' }, - { type: 'female', x: '8:45', y: 72, time: 'afternoon' }, - { type: 'male', x: '9:00', y: 72, time: 'afternoon' }, - { type: 'female', x: '9:00', y: 57.6, time: 'afternoon' }, - { type: 'male', x: '9:15', y: 238, time: 'afternoon' }, - { type: 'female', x: '9:15', y: 190.4, time: 'afternoon' }, - { type: 'male', x: '9:30', y: 190.4, time: 'afternoon' }, - { type: 'female', x: '9:30', y: 152.32000000000002, time: 'afternoon' }, - { type: 'male', x: '9:45', y: 335, time: 'afternoon' }, - { type: 'female', x: '9:45', y: 268, time: 'afternoon' }, - { type: 'male', x: '10:00', y: 268, time: 'afternoon' }, - { type: 'female', x: '10:00', y: 214.4, time: 'afternoon' }, - { type: 'male', x: '10:15', y: 309, time: 'afternoon' }, - { type: 'female', x: '10:15', y: 247.20000000000002, time: 'afternoon' }, - { type: 'male', x: '10:30', y: 247.2, time: 'afternoon' }, - { type: 'female', x: '10:30', y: 197.76, time: 'afternoon' }, - { type: 'male', x: '10:45', y: 287, time: 'afternoon' }, - { type: 'female', x: '10:45', y: 229.60000000000002, time: 'afternoon' }, - { type: 'male', x: '11:00', y: 229.6, time: 'afternoon' }, - { type: 'female', x: '11:00', y: 183.68, time: 'afternoon' }, - { type: 'male', x: '11:15', y: 336, time: 'afternoon' }, - { type: 'female', x: '11:15', y: 268.8, time: 'afternoon' }, - { type: 'male', x: '11:30', y: 268.8, time: 'afternoon' }, - { type: 'female', x: '11:30', y: 215.04000000000002, time: 'afternoon' }, - { type: 'male', x: '11:45', y: 375, time: 'afternoon' }, - { type: 'female', x: '11:45', y: 300, time: 'afternoon' }, - { type: 'male', x: '12:00', y: 300, time: 'afternoon' }, - { type: 'female', x: '12:00', y: 240, time: 'afternoon' }, - { type: 'male', x: '12:15', y: 463, time: 'afternoon' }, - { type: 'female', x: '12:15', y: 370.40000000000003, time: 'afternoon' }, - { type: 'male', x: '12:30', y: 370.4, time: 'afternoon' }, - { type: 'female', x: '12:30', y: 296.32, time: 'afternoon' }, - { type: 'male', x: '12:45', y: 265, time: 'afternoon' }, - { type: 'female', x: '12:45', y: 212, time: 'afternoon' }, - { type: 'male', x: '13:00', y: 212, time: 'afternoon' }, - { type: 'female', x: '13:00', y: 169.60000000000002, time: 'afternoon' }, - { type: 'male', x: '13:15', y: 600, time: 'afternoon' }, - { type: 'female', x: '13:15', y: 480, time: 'afternoon' }, - { type: 'male', x: '13:30', y: 480, time: 'afternoon' }, - { type: 'female', x: '13:30', y: 384, time: 'afternoon' }, - { type: 'male', x: '13:45', y: 572, time: 'afternoon' }, - { type: 'female', x: '13:45', y: 457.6, time: 'afternoon' }, - { type: 'male', x: '14:00', y: 457.6, time: 'afternoon' }, - { type: 'female', x: '14:00', y: 366.08000000000004, time: 'afternoon' }, - { type: 'male', x: '14:15', y: 512, time: 'afternoon' }, - { type: 'female', x: '14:15', y: 409.6, time: 'afternoon' }, - { type: 'male', x: '14:30', y: 409.6, time: 'afternoon' }, - { type: 'female', x: '14:30', y: 327.68000000000006, time: 'afternoon' }, - { type: 'male', x: '14:45', y: 646, time: 'afternoon' }, - { type: 'female', x: '14:45', y: 516.8000000000001, time: 'afternoon' }, - { type: 'male', x: '15:00', y: 516.8, time: 'afternoon' }, - { type: 'female', x: '15:00', y: 413.44, time: 'afternoon' }, - { type: 'male', x: '15:15', y: 747, time: 'afternoon' }, - { type: 'female', x: '15:15', y: 597.6, time: 'afternoon' }, - { type: 'male', x: '15:30', y: 597.6, time: 'afternoon' }, - { type: 'female', x: '15:30', y: 478.08000000000004, time: 'afternoon' }, - { type: 'male', x: '15:45', y: 699, time: 'afternoon' }, - { type: 'female', x: '15:45', y: 559.2, time: 'afternoon' }, - { type: 'male', x: '16:00', y: 559.2, time: 'afternoon' }, - { type: 'female', x: '16:00', y: 447.36000000000007, time: 'afternoon' }, - { type: 'male', x: '16:15', y: 729, time: 'afternoon' }, - { type: 'female', x: '16:15', y: 583.2, time: 'afternoon' }, - { type: 'male', x: '16:30', y: 583.2, time: 'afternoon' }, - { type: 'female', x: '16:30', y: 466.56000000000006, time: 'afternoon' }, - { type: 'male', x: '16:45', y: 734, time: 'afternoon' }, - { type: 'female', x: '16:45', y: 587.2, time: 'afternoon' }, - { type: 'male', x: '17:00', y: 587.2, time: 'afternoon' }, - { type: 'female', x: '17:00', y: 469.76000000000005, time: 'afternoon' }, - { type: 'male', x: '17:15', y: 672, time: 'afternoon' }, - { type: 'female', x: '17:15', y: 537.6, time: 'afternoon' }, - { type: 'male', x: '17:30', y: 537.6, time: 'afternoon' }, - { type: 'female', x: '17:30', y: 430.08000000000004, time: 'afternoon' }, - { type: 'male', x: '17:45', y: 690, time: 'afternoon' }, - { type: 'female', x: '17:45', y: 552, time: 'afternoon' }, - { type: 'male', x: '18:00', y: 552, time: 'afternoon' }, - { type: 'female', x: '18:00', y: 441.6, time: 'afternoon' }, - { type: 'male', x: '18:15', y: 427, time: 'afternoon' }, - { type: 'female', x: '18:15', y: 341.6, time: 'afternoon' }, - { type: 'male', x: '18:30', y: 341.6, time: 'afternoon' }, - { type: 'female', x: '18:30', y: 273.28000000000003, time: 'afternoon' }, - { type: 'male', x: '18:45', y: 273, time: 'afternoon' }, - { type: 'female', x: '18:45', y: 218.4, time: 'afternoon' }, - { type: 'male', x: '19:00', y: 218.4, time: 'afternoon' }, - { type: 'female', x: '19:00', y: 174.72000000000003, time: 'afternoon' }, - { type: 'male', x: '19:15', y: 352, time: 'afternoon' }, - { type: 'female', x: '19:15', y: 281.6, time: 'afternoon' }, - { type: 'male', x: '19:30', y: 281.6, time: 'afternoon' }, - { type: 'female', x: '19:30', y: 225.28000000000003, time: 'afternoon' }, - { type: 'male', x: '19:45', y: 133, time: 'afternoon' }, - { type: 'female', x: '19:45', y: 106.4, time: 'afternoon' }, - { type: 'male', x: '20:00', y: 106.4, time: 'afternoon' }, - { type: 'female', x: '20:00', y: 85.12, time: 'afternoon' }, - { type: 'male', x: '20:15', y: 65, time: 'afternoon' }, - { type: 'female', x: '20:15', y: 52, time: 'afternoon' }, - { type: 'male', x: '20:30', y: 52, time: 'afternoon' }, - { type: 'female', x: '20:30', y: 41.6, time: 'afternoon' }, - { type: 'male', x: '20:45', y: 26, time: 'afternoon' }, - { type: 'female', x: '20:45', y: 20.8, time: 'afternoon' }, - { type: 'male', x: '21:00', y: 20.8, time: 'afternoon' }, - { type: 'female', x: '21:00', y: 16.64, time: 'afternoon' }, - { type: 'male', x: '21:15', y: 36, time: 'afternoon' }, - { type: 'female', x: '21:15', y: 28.8, time: 'afternoon' }, - { type: 'male', x: '21:30', y: 28.8, time: 'afternoon' }, - { type: 'female', x: '21:30', y: 23.040000000000003, time: 'afternoon' }, - { type: 'male', x: '21:45', y: 181, time: 'afternoon' }, - { type: 'female', x: '21:45', y: 144.8, time: 'afternoon' }, - { type: 'male', x: '22:00', y: 144.8, time: 'afternoon' }, - { type: 'female', x: '22:00', y: 115.84000000000002, time: 'afternoon' }, - { type: 'male', x: '22:15', y: 206, time: 'afternoon' }, - { type: 'female', x: '22:15', y: 164.8, time: 'afternoon' }, - { type: 'male', x: '22:30', y: 164.8, time: 'afternoon' }, - { type: 'female', x: '22:30', y: 131.84, time: 'afternoon' }, - { type: 'male', x: '22:45', y: 148, time: 'afternoon' }, - { type: 'female', x: '22:45', y: 118.4, time: 'afternoon' }, - { type: 'male', x: '23:00', y: 118.4, time: 'afternoon' }, - { type: 'female', x: '23:00', y: 94.72000000000001, time: 'afternoon' }, - { type: 'male', x: '23:15', y: 201, time: 'afternoon' }, - { type: 'female', x: '23:15', y: 160.8, time: 'afternoon' }, - { type: 'male', x: '23:30', y: 160.8, time: 'afternoon' }, - { type: 'female', x: '23:30', y: 128.64000000000001, time: 'afternoon' }, - { type: 'male', x: '23:45', y: 104, time: 'afternoon' }, - { type: 'female', x: '23:45', y: 83.2, time: 'afternoon' }, -]; diff --git a/site/components/D2Chart/datas/music.ts b/site/components/D2Chart/datas/music.ts deleted file mode 100644 index c120a06fb..000000000 --- a/site/components/D2Chart/datas/music.ts +++ /dev/null @@ -1,1294 +0,0 @@ -export const CLASSIC = [ - { x: '1 ', y: 936, type: 'Soprano' }, - { x: '1 ', y: 754, type: 'Alto' }, - { x: '1 ', y: 111, type: 'Tenor' }, - { x: '1 ', y: 46, type: 'Bass' }, - { x: '2 ', y: 957, type: 'Soprano' }, - { x: '2 ', y: 790, type: 'Alto' }, - { x: '2 ', y: 217, type: 'Tenor' }, - { x: '2 ', y: 86, type: 'Bass' }, - { x: '3 ', y: 897, type: 'Soprano' }, - { x: '3 ', y: 753, type: 'Alto' }, - { x: '3 ', y: 409, type: 'Tenor' }, - { x: '3 ', y: 119, type: 'Bass' }, - { x: '4 ', y: 900, type: 'Soprano' }, - { x: '4 ', y: 751, type: 'Alto' }, - { x: '4 ', y: 518, type: 'Tenor' }, - { x: '4 ', y: 361, type: 'Bass' }, - { x: '5 ', y: 894, type: 'Soprano' }, - { x: '5 ', y: 649, type: 'Alto' }, - { x: '5 ', y: 352, type: 'Tenor' }, - { x: '5 ', y: 161, type: 'Bass' }, - { x: '6 ', y: 800, type: 'Soprano' }, - { x: '6 ', y: 645, type: 'Alto' }, - { x: '6 ', y: 210, type: 'Tenor' }, - { x: '6 ', y: 40, type: 'Bass' }, - { x: '7 ', y: 863, type: 'Soprano' }, - { x: '7 ', y: 694, type: 'Alto' }, - { x: '7 ', y: 609, type: 'Tenor' }, - { x: '7 ', y: 234, type: 'Bass' }, - { x: '8 ', y: 909, type: 'Soprano' }, - { x: '8 ', y: 706, type: 'Alto' }, - { x: '8 ', y: 216, type: 'Tenor' }, - { x: '8 ', y: 62, type: 'Bass' }, - { x: '9 ', y: 891, type: 'Soprano' }, - { x: '9 ', y: 757, type: 'Alto' }, - { x: '9 ', y: 563, type: 'Tenor' }, - { x: '9 ', y: 216, type: 'Bass' }, - { x: '10 ', y: 951, type: 'Soprano' }, - { x: '10 ', y: 733, type: 'Alto' }, - { x: '10 ', y: 249, type: 'Tenor' }, - { x: '10 ', y: 49, type: 'Bass' }, - { x: '11 ', y: 854, type: 'Soprano' }, - { x: '11 ', y: 661, type: 'Alto' }, - { x: '11 ', y: 422, type: 'Tenor' }, - { x: '11 ', y: 279, type: 'Bass' }, - { x: '12 ', y: 842, type: 'Soprano' }, - { x: '12 ', y: 703, type: 'Alto' }, - { x: '12 ', y: 242, type: 'Tenor' }, - { x: '12 ', y: 107, type: 'Bass' }, - { x: '13 ', y: 903, type: 'Soprano' }, - { x: '13 ', y: 760, type: 'Alto' }, - { x: '13 ', y: 357, type: 'Tenor' }, - { x: '13 ', y: 192, type: 'Bass' }, - { x: '14 ', y: 954, type: 'Soprano' }, - { x: '14 ', y: 809, type: 'Alto' }, - { x: '14 ', y: 419, type: 'Tenor' }, - { x: '14 ', y: 258, type: 'Bass' }, - { x: '15 ', y: 875, type: 'Soprano' }, - { x: '15 ', y: 703, type: 'Alto' }, - { x: '15 ', y: 461, type: 'Tenor' }, - { x: '15 ', y: 309, type: 'Bass' }, - { x: '16 ', y: 978, type: 'Soprano' }, - { x: '16 ', y: 830, type: 'Alto' }, - { x: '16 ', y: 541, type: 'Tenor' }, - { x: '16 ', y: 376, type: 'Bass' }, - { x: '17 ', y: 888, type: 'Soprano' }, - { x: '17 ', y: 684, type: 'Alto' }, - { x: '17 ', y: 316, type: 'Tenor' }, - { x: '17 ', y: 222, type: 'Bass' }, - { x: '18 ', y: 888, type: 'Soprano' }, - { x: '18 ', y: 679, type: 'Alto' }, - { x: '18 ', y: 411, type: 'Tenor' }, - { x: '18 ', y: 319, type: 'Bass' }, - { x: '19 ', y: 875, type: 'Soprano' }, - { x: '19 ', y: 733, type: 'Alto' }, - { x: '19 ', y: 328, type: 'Tenor' }, - { x: '19 ', y: 222, type: 'Bass' }, - { x: '20 ', y: 897, type: 'Soprano' }, - { x: '20 ', y: 670, type: 'Alto' }, - { x: '20 ', y: 234, type: 'Tenor' }, - { x: '20 ', y: 146, type: 'Bass' }, - { x: '21 ', y: 954, type: 'Soprano' }, - { x: '21 ', y: 856, type: 'Alto' }, - { x: '21 ', y: 276, type: 'Tenor' }, - { x: '21 ', y: 174, type: 'Bass' }, - { x: '22 ', y: 918, type: 'Soprano' }, - { x: '22 ', y: 630, type: 'Alto' }, - { x: '22 ', y: 435, type: 'Tenor' }, - { x: '22 ', y: 340, type: 'Bass' }, - { x: '23 ', y: 936, type: 'Soprano' }, - { x: '23 ', y: 830, type: 'Alto' }, - { x: '23 ', y: 522, type: 'Tenor' }, - { x: '23 ', y: 207, type: 'Bass' }, - { x: '24 ', y: 900, type: 'Soprano' }, - { x: '24 ', y: 655, type: 'Alto' }, - { x: '24 ', y: 697, type: 'Tenor' }, - { x: '24 ', y: 476, type: 'Bass' }, - { x: '25 ', y: 972, type: 'Soprano' }, - { x: '25 ', y: 767, type: 'Alto' }, - { x: '25 ', y: 558, type: 'Tenor' }, - { x: '25 ', y: 273, type: 'Bass' }, - { x: '26 ', y: 888, type: 'Soprano' }, - { x: '26 ', y: 788, type: 'Alto' }, - { x: '26 ', y: 549, type: 'Tenor' }, - { x: '26 ', y: 397, type: 'Bass' }, - { x: '27 ', y: 863, type: 'Soprano' }, - { x: '27 ', y: 615, type: 'Alto' }, - { x: '27 ', y: 394, type: 'Tenor' }, - { x: '27 ', y: 175, type: 'Bass' }, - { x: '28 ', y: 960, type: 'Soprano' }, - { x: '28 ', y: 726, type: 'Alto' }, - { x: '28 ', y: 452, type: 'Tenor' }, - { x: '28 ', y: 322, type: 'Bass' }, - { x: '29 ', y: 885, type: 'Soprano' }, - { x: '29 ', y: 697, type: 'Alto' }, - { x: '29 ', y: 337, type: 'Tenor' }, - { x: '29 ', y: 237, type: 'Bass' }, - { x: '30 ', y: 966, type: 'Soprano' }, - { x: '30 ', y: 806, type: 'Alto' }, - { x: '30 ', y: 350, type: 'Tenor' }, - { x: '30 ', y: 222, type: 'Bass' }, - { x: '31 ', y: 885, type: 'Soprano' }, - { x: '31 ', y: 721, type: 'Alto' }, - { x: '31 ', y: 312, type: 'Tenor' }, - { x: '31 ', y: 251, type: 'Bass' }, - { x: '32 ', y: 833, type: 'Soprano' }, - { x: '32 ', y: 715, type: 'Alto' }, - { x: '32 ', y: 602, type: 'Tenor' }, - { x: '32 ', y: 264, type: 'Bass' }, - { x: '33 ', y: 900, type: 'Soprano' }, - { x: '33 ', y: 790, type: 'Alto' }, - { x: '33 ', y: 382, type: 'Tenor' }, - { x: '33 ', y: 240, type: 'Bass' }, - { x: '34 ', y: 906, type: 'Soprano' }, - { x: '34 ', y: 667, type: 'Alto' }, - { x: '34 ', y: 576, type: 'Tenor' }, - { x: '34 ', y: 428, type: 'Bass' }, - { x: '35 ', y: 966, type: 'Soprano' }, - { x: '35 ', y: 773, type: 'Alto' }, - { x: '35 ', y: 439, type: 'Tenor' }, - { x: '35 ', y: 264, type: 'Bass' }, - { x: '36 ', y: 894, type: 'Soprano' }, - { x: '36 ', y: 694, type: 'Alto' }, - { x: '36 ', y: 361, type: 'Tenor' }, - { x: '36 ', y: 267, type: 'Bass' }, - { x: '37 ', y: 939, type: 'Soprano' }, - { x: '37 ', y: 846, type: 'Alto' }, - { x: '37 ', y: 416, type: 'Tenor' }, - { x: '37 ', y: 198, type: 'Bass' }, - { x: '38 ', y: 915, type: 'Soprano' }, - { x: '38 ', y: 694, type: 'Alto' }, - { x: '38 ', y: 589, type: 'Tenor' }, - { x: '38 ', y: 394, type: 'Bass' }, - { x: '39 ', y: 996, type: 'Soprano' }, - { x: '39 ', y: 794, type: 'Alto' }, - { x: '39 ', y: 509, type: 'Tenor' }, - { x: '39 ', y: 388, type: 'Bass' }, - { x: '40 ', y: 921, type: 'Soprano' }, - { x: '40 ', y: 715, type: 'Alto' }, - { x: '40 ', y: 637, type: 'Tenor' }, - { x: '40 ', y: 218, type: 'Bass' }, - { x: '41 ', y: 952, type: 'Soprano' }, - { x: '41 ', y: 730, type: 'Alto' }, - { x: '41 ', y: 484, type: 'Tenor' }, - { x: '41 ', y: 340, type: 'Bass' }, - { x: '42 ', y: 912, type: 'Soprano' }, - { x: '42 ', y: 655, type: 'Alto' }, - { x: '42 ', y: 458, type: 'Tenor' }, - { x: '42 ', y: 222, type: 'Bass' }, - { x: '43 ', y: 954, type: 'Soprano' }, - { x: '43 ', y: 754, type: 'Alto' }, - { x: '43 ', y: 470, type: 'Tenor' }, - { x: '43 ', y: 337, type: 'Bass' }, - { x: '44 ', y: 972, type: 'Soprano' }, - { x: '44 ', y: 721, type: 'Alto' }, - { x: '44 ', y: 591, type: 'Tenor' }, - { x: '44 ', y: 473, type: 'Bass' }, - { x: '45 ', y: 906, type: 'Soprano' }, - { x: '45 ', y: 673, type: 'Alto' }, - { x: '45 ', y: 449, type: 'Tenor' }, - { x: '45 ', y: 358, type: 'Bass' }, - { x: '46 ', y: 951, type: 'Soprano' }, - { x: '46 ', y: 609, type: 'Alto' }, - { x: '46 ', y: 479, type: 'Tenor' }, - { x: '46 ', y: 295, type: 'Bass' }, - { x: '47 ', y: 881, type: 'Soprano' }, - { x: '47 ', y: 652, type: 'Alto' }, - { x: '47 ', y: 351, type: 'Tenor' }, - { x: '47 ', y: 195, type: 'Bass' }, - { x: '48', y: 942, type: 'Soprano' }, - { x: '48', y: 736, type: 'Alto' }, - { x: '48', y: 374, type: 'Tenor' }, - { x: '48', y: 261, type: 'Bass' }, -]; -/** - * 重金属 - */ -export const METAL = [ - { x: '1', type: 'Electric_guitar', y: 936 }, - { x: '1', type: 'Drum', y: 635 }, - { x: '1', type: 'Electri_bass', y: 712 }, - { x: '1', type: 'Keyboard', y: 290 }, - { x: '1', type: 'Amplifier', y: 100 }, - { x: '2', type: 'Electric_guitar', y: 897 }, - { x: '2', type: 'Drum', y: 681 }, - { x: '2', type: 'Electri_bass', y: 587 }, - { x: '2', type: 'Keyboard', y: 264 }, - { x: '2', type: 'Amplifier', y: 100 }, - { x: '3', type: 'Electric_guitar', y: 941 }, - { x: '3', type: 'Drum', y: 661 }, - { x: '3', type: 'Electri_bass', y: 570 }, - { x: '3', type: 'Keyboard', y: 161 }, - { x: '3', type: 'Amplifier', y: 800 }, - { x: '4', type: 'Electric_guitar', y: 876 }, - { x: '4', type: 'Drum', y: 694 }, - { x: '4', type: 'Electri_bass', y: 609 }, - { x: '4', type: 'Keyboard', y: 234 }, - { x: '4', type: 'Amplifier', y: 800 }, - { x: '5', type: 'Electric_guitar', y: 924 }, - { x: '5', type: 'Drum', y: 757 }, - { x: '5', type: 'Electri_bass', y: 563 }, - { x: '5', type: 'Keyboard', y: 216 }, - { x: '5', type: 'Amplifier', y: 200 }, - { x: '6', type: 'Electric_guitar', y: 873 }, - { x: '6', type: 'Drum', y: 661 }, - { x: '6', type: 'Electri_bass', y: 422 }, - { x: '6', type: 'Keyboard', y: 279 }, - { x: '6', type: 'Amplifier', y: 200 }, - { x: '7', type: 'Electric_guitar', y: 766 }, - { x: '7', type: 'Drum', y: 703 }, - { x: '7', type: 'Electri_bass', y: 357 }, - { x: '7', type: 'Keyboard', y: 192 }, - { x: '7', type: 'Amplifier', y: 600 }, - { x: '8', type: 'Electric_guitar', y: 875 }, - { x: '8', type: 'Drum', y: 703 }, - { x: '8', type: 'Electri_bass', y: 461 }, - { x: '8', type: 'Keyboard', y: 309 }, - { x: '8', type: 'Amplifier', y: 600 }, - { x: '9', type: 'Electric_guitar', y: 888 }, - { x: '9', type: 'Drum', y: 706 }, - { x: '9', type: 'Electri_bass', y: 316 }, - { x: '9', type: 'Keyboard', y: 222 }, - { x: '9', type: 'Amplifier', y: 300 }, - { x: '10', type: 'Electric_guitar', y: 875 }, - { x: '10', type: 'Drum', y: 733 }, - { x: '10', type: 'Electri_bass', y: 328 }, - { x: '10', type: 'Keyboard', y: 222 }, - { x: '10', type: 'Amplifier', y: 300 }, - { x: '11', type: 'Electric_guitar', y: 896 }, - { x: '11', type: 'Drum', y: 672 }, - { x: '11', type: 'Electri_bass', y: 276 }, - { x: '11', type: 'Keyboard', y: 174 }, - { x: '11', type: 'Amplifier', y: 500 }, - { x: '12', type: 'Electric_guitar', y: 865 }, - { x: '12', type: 'Drum', y: 672 }, - { x: '12', type: 'Electri_bass', y: 522 }, - { x: '12', type: 'Keyboard', y: 207 }, - { x: '12', type: 'Amplifier', y: 500 }, - { x: '13', type: 'Electric_guitar', y: 916 }, - { x: '13', type: 'Drum', y: 638 }, - { x: '13', type: 'Electri_bass', y: 558 }, - { x: '13', type: 'Keyboard', y: 273 }, - { x: '13', type: 'Amplifier', y: 400 }, - { x: '14', type: 'Electric_guitar', y: 947 }, - { x: '14', type: 'Drum', y: 678 }, - { x: '14', type: 'Electri_bass', y: 394 }, - { x: '14', type: 'Keyboard', y: 175 }, - { x: '14', type: 'Amplifier', y: 400 }, - { x: '15', type: 'Electric_guitar', y: 644 }, - { x: '15', type: 'Drum', y: 596 }, - { x: '15', type: 'Electri_bass', y: 337 }, - { x: '15', type: 'Keyboard', y: 237 }, - { x: '15', type: 'Amplifier', y: 500 }, - { x: '16', type: 'Electric_guitar', y: 834 }, - { x: '16', type: 'Drum', y: 635 }, - { x: '16', type: 'Electri_bass', y: 312 }, - { x: '16', type: 'Keyboard', y: 251 }, - { x: '16', type: 'Amplifier', y: 500 }, - { x: '17', type: 'Electric_guitar', y: 900 }, - { x: '17', type: 'Drum', y: 681 }, - { x: '17', type: 'Electri_bass', y: 382 }, - { x: '17', type: 'Keyboard', y: 240 }, - { x: '17', type: 'Amplifier', y: 300 }, - { x: '18', type: 'Electric_guitar', y: 966 }, - { x: '18', type: 'Drum', y: 703 }, - { x: '18', type: 'Electri_bass', y: 439 }, - { x: '18', type: 'Keyboard', y: 264 }, - { x: '18', type: 'Amplifier', y: 300 }, - { x: '19', type: 'Electric_guitar', y: 939 }, - { x: '19', type: 'Drum', y: 698 }, - { x: '19', type: 'Electri_bass', y: 416 }, - { x: '19', type: 'Keyboard', y: 198 }, - { x: '19', type: 'Amplifier', y: 600 }, - { x: '20', type: 'Electric_guitar', y: 996 }, - { x: '20', type: 'Drum', y: 715 }, - { x: '20', type: 'Electri_bass', y: 509 }, - { x: '20', type: 'Keyboard', y: 388 }, - { x: '20', type: 'Amplifier', y: 600 }, - { x: '21', type: 'Electric_guitar', y: 952 }, - { x: '21', type: 'Drum', y: 730 }, - { x: '21', type: 'Electri_bass', y: 484 }, - { x: '21', type: 'Keyboard', y: 340 }, - { x: '21', type: 'Amplifier', y: 200 }, - { x: '22', type: 'Electric_guitar', y: 954 }, - { x: '22', type: 'Drum', y: 754 }, - { x: '22', type: 'Electri_bass', y: 470 }, - { x: '22', type: 'Keyboard', y: 337 }, - { x: '22', type: 'Amplifier', y: 200 }, - { x: '23', type: 'Electric_guitar', y: 906 }, - { x: '23', type: 'Drum', y: 673 }, - { x: '23', type: 'Electri_bass', y: 449 }, - { x: '23', type: 'Keyboard', y: 358 }, - { x: '23', type: 'Amplifier', y: 800 }, - { x: '24', type: 'Electric_guitar', y: 970 }, - { x: '24', type: 'Drum', y: 652 }, - { x: '24', type: 'Electri_bass', y: 449 }, - { x: '24', type: 'Keyboard', y: 195 }, - { x: '24', type: 'Amplifier', y: 800 }, - { x: '25', type: 'Electric_guitar', y: 942 }, - { x: '25', type: 'Drum', y: 736 }, - { x: '25', type: 'Electri_bass', y: 434 }, - { x: '25', type: 'Keyboard', y: 261 }, - { x: '25', type: 'Amplifier', y: 100 }, - { x: '26', type: 'Electric_guitar', y: 464 }, - { x: '26', type: 'Drum', y: 625.5 }, - { x: '26', type: 'Electri_bass', y: 677 }, - { x: '26', type: 'Keyboard', y: 233 }, - { x: '26', type: 'Amplifier', y: 100 }, - { x: '27', type: 'Electric_guitar', y: 513 }, - { x: '27', type: 'Drum', y: 671.4 }, - { x: '27', type: 'Electri_bass', y: 435 }, - { x: '27', type: 'Keyboard', y: 325 }, - { x: '27', type: 'Amplifier', y: 800 }, - { x: '28', type: 'Electric_guitar', y: 332 }, - { x: '28', type: 'Drum', y: 580.5 }, - { x: '28', type: 'Electri_bass', y: 663 }, - { x: '28', type: 'Keyboard', y: 179 }, - { x: '28', type: 'Amplifier', y: 800 }, - { x: '29', type: 'Electric_guitar', y: 740 }, - { x: '29', type: 'Drum', y: 635.4 }, - { x: '29', type: 'Electri_bass', y: 424 }, - { x: '29', type: 'Keyboard', y: 133 }, - { x: '29', type: 'Amplifier', y: 200 }, - { x: '30', type: 'Electric_guitar', y: 149 }, - { x: '30', type: 'Drum', y: 659.7 }, - { x: '30', type: 'Electri_bass', y: 455 }, - { x: '30', type: 'Keyboard', y: 44 }, - { x: '30', type: 'Amplifier', y: 200 }, - { x: '31', type: 'Electric_guitar', y: 475 }, - { x: '31', type: 'Drum', y: 632.7 }, - { x: '31', type: 'Electri_bass', y: 374 }, - { x: '31', type: 'Keyboard', y: 59 }, - { x: '31', type: 'Amplifier', y: 600 }, - { x: '32', type: 'Electric_guitar', y: 577 }, - { x: '32', type: 'Drum', y: 536.4 }, - { x: '32', type: 'Electri_bass', y: 377 }, - { x: '32', type: 'Keyboard', y: 232 }, - { x: '32', type: 'Amplifier', y: 600 }, - { x: '33', type: 'Electric_guitar', y: 781 }, - { x: '33', type: 'Drum', y: 579.6 }, - { x: '33', type: 'Electri_bass', y: 487 }, - { x: '33', type: 'Keyboard', y: 338 }, - { x: '33', type: 'Amplifier', y: 300 }, - { x: '34', type: 'Electric_guitar', y: 862 }, - { x: '34', type: 'Drum', y: 611.1 }, - { x: '34', type: 'Electri_bass', y: 370 }, - { x: '34', type: 'Keyboard', y: 287 }, - { x: '34', type: 'Amplifier', y: 300 }, - { x: '35', type: 'Electric_guitar', y: 837 }, - { x: '35', type: 'Drum', y: 603 }, - { x: '35', type: 'Electri_bass', y: 353 }, - { x: '35', type: 'Keyboard', y: 131 }, - { x: '35', type: 'Amplifier', y: 500 }, - { x: '36', type: 'Electric_guitar', y: 868 }, - { x: '36', type: 'Drum', y: 567 }, - { x: '36', type: 'Electri_bass', y: 392 }, - { x: '36', type: 'Keyboard', y: 306 }, - { x: '36', type: 'Amplifier', y: 500 }, - { x: '37', type: 'Electric_guitar', y: 439 }, - { x: '37', type: 'Drum', y: 589.5 }, - { x: '37', type: 'Electri_bass', y: 627 }, - { x: '37', type: 'Keyboard', y: 428 }, - { x: '37', type: 'Amplifier', y: 400 }, - { x: '38', type: 'Electric_guitar', y: 631 }, - { x: '38', type: 'Drum', y: 574.2 }, - { x: '38', type: 'Electri_bass', y: 494 }, - { x: '38', type: 'Keyboard', y: 357 }, - { x: '38', type: 'Amplifier', y: 400 }, - { x: '39', type: 'Electric_guitar', y: 864 }, - { x: '39', type: 'Drum', y: 653.4 }, - { x: '39', type: 'Electri_bass', y: 407 }, - { x: '39', type: 'Keyboard', y: 290 }, - { x: '39', type: 'Amplifier', y: 500 }, - { x: '40', type: 'Electric_guitar', y: 869 }, - { x: '40', type: 'Drum', y: 602.1 }, - { x: '40', type: 'Electri_bass', y: 315 }, - { x: '40', type: 'Keyboard', y: 200 }, - { x: '40', type: 'Amplifier', y: 500 }, - { x: '41', type: 'Electric_guitar', y: 279 }, - { x: '41', type: 'Drum', y: 604.8 }, - { x: '41', type: 'Electri_bass', y: 542 }, - { x: '41', type: 'Keyboard', y: 238 }, - { x: '41', type: 'Amplifier', y: 300 }, - { x: '42', type: 'Electric_guitar', y: 383 }, - { x: '42', type: 'Drum', y: 600.3 }, - { x: '42', type: 'Electri_bass', y: 518 }, - { x: '42', type: 'Keyboard', y: 385 }, - { x: '42', type: 'Amplifier', y: 300 }, - { x: '43', type: 'Electric_guitar', y: 503 }, - { x: '43', type: 'Drum', y: 624.6 }, - { x: '43', type: 'Electri_bass', y: 325 }, - { x: '43', type: 'Keyboard', y: 240 }, - { x: '43', type: 'Amplifier', y: 600 }, - { x: '44', type: 'Electric_guitar', y: 570 }, - { x: '44', type: 'Drum', y: 624.6 }, - { x: '44', type: 'Electri_bass', y: 530 }, - { x: '44', type: 'Keyboard', y: 355 }, - { x: '44', type: 'Amplifier', y: 600 }, - { x: '45', type: 'Electric_guitar', y: 411 }, - { x: '45', type: 'Drum', y: 643.5 }, - { x: '45', type: 'Electri_bass', y: 573 }, - { x: '45', type: 'Keyboard', y: 196 }, - { x: '45', type: 'Amplifier', y: 200 }, - { x: '46', type: 'Electric_guitar', y: 495 }, - { x: '46', type: 'Drum', y: 686.7 }, - { x: '46', type: 'Electri_bass', y: 412 }, - { x: '46', type: 'Keyboard', y: 200 }, - { x: '46', type: 'Amplifier', y: 200 }, - { x: '47', type: 'Electric_guitar', y: 567 }, - { x: '47', type: 'Drum', y: 648.9 }, - { x: '47', type: 'Electri_bass', y: 532 }, - { x: '47', type: 'Keyboard', y: 426 }, - { x: '47', type: 'Amplifier', y: 800 }, - { x: '48', type: 'Electric_guitar', y: 455 }, - { x: '48', type: 'Drum', y: 628.2 }, - { x: '48', type: 'Electri_bass', y: 431 }, - { x: '48', type: 'Keyboard', y: 266 }, - { x: '48', type: 'Amplifier', y: 800 }, - { x: '49', type: 'Electric_guitar', y: 516 }, - { x: '49', type: 'Drum', y: 695 }, - { x: '49', type: 'Electri_bass', y: 752 }, - { x: '49', type: 'Keyboard', y: 259 }, - { x: '49', type: 'Amplifier', y: 100 }, - { x: '50', type: 'Electric_guitar', y: 570 }, - { x: '50', type: 'Drum', y: 746 }, - { x: '50', type: 'Electri_bass', y: 483 }, - { x: '50', type: 'Keyboard', y: 361 }, - { x: '50', type: 'Amplifier', y: 100 }, - { x: '51', type: 'Electric_guitar', y: 369 }, - { x: '51', type: 'Drum', y: 645 }, - { x: '51', type: 'Electri_bass', y: 737 }, - { x: '51', type: 'Keyboard', y: 199 }, - { x: '51', type: 'Amplifier', y: 800 }, - { x: '52', type: 'Electric_guitar', y: 822 }, - { x: '52', type: 'Drum', y: 706 }, - { x: '52', type: 'Electri_bass', y: 471 }, - { x: '52', type: 'Keyboard', y: 148 }, - { x: '52', type: 'Amplifier', y: 800 }, - { x: '53', type: 'Electric_guitar', y: 165 }, - { x: '53', type: 'Drum', y: 733 }, - { x: '53', type: 'Electri_bass', y: 505 }, - { x: '53', type: 'Keyboard', y: 49 }, - { x: '53', type: 'Amplifier', y: 200 }, - { x: '54', type: 'Electric_guitar', y: 528 }, - { x: '54', type: 'Drum', y: 703 }, - { x: '54', type: 'Electri_bass', y: 415 }, - { x: '54', type: 'Keyboard', y: 66 }, - { x: '54', type: 'Amplifier', y: 200 }, - { x: '55', type: 'Electric_guitar', y: 641 }, - { x: '55', type: 'Drum', y: 596 }, - { x: '55', type: 'Electri_bass', y: 419 }, - { x: '55', type: 'Keyboard', y: 258 }, - { x: '55', type: 'Amplifier', y: 600 }, - { x: '56', type: 'Electric_guitar', y: 868 }, - { x: '56', type: 'Drum', y: 644 }, - { x: '56', type: 'Electri_bass', y: 541 }, - { x: '56', type: 'Keyboard', y: 376 }, - { x: '56', type: 'Amplifier', y: 600 }, - { x: '57', type: 'Electric_guitar', y: 958 }, - { x: '57', type: 'Drum', y: 679 }, - { x: '57', type: 'Electri_bass', y: 411 }, - { x: '57', type: 'Keyboard', y: 319 }, - { x: '57', type: 'Amplifier', y: 300 }, - { x: '58', type: 'Electric_guitar', y: 930 }, - { x: '58', type: 'Drum', y: 670 }, - { x: '58', type: 'Electri_bass', y: 392 }, - { x: '58', type: 'Keyboard', y: 146 }, - { x: '58', type: 'Amplifier', y: 300 }, - { x: '59', type: 'Electric_guitar', y: 964 }, - { x: '59', type: 'Drum', y: 630 }, - { x: '59', type: 'Electri_bass', y: 435 }, - { x: '59', type: 'Keyboard', y: 340 }, - { x: '59', type: 'Amplifier', y: 500 }, - { x: '60', type: 'Electric_guitar', y: 488 }, - { x: '60', type: 'Drum', y: 655 }, - { x: '60', type: 'Electri_bass', y: 697 }, - { x: '60', type: 'Keyboard', y: 476 }, - { x: '60', type: 'Amplifier', y: 500 }, - { x: '61', type: 'Electric_guitar', y: 701 }, - { x: '61', type: 'Drum', y: 638 }, - { x: '61', type: 'Electri_bass', y: 549 }, - { x: '61', type: 'Keyboard', y: 397 }, - { x: '61', type: 'Amplifier', y: 400 }, - { x: '62', type: 'Electric_guitar', y: 960 }, - { x: '62', type: 'Drum', y: 726 }, - { x: '62', type: 'Electri_bass', y: 452 }, - { x: '62', type: 'Keyboard', y: 322 }, - { x: '62', type: 'Amplifier', y: 400 }, - { x: '63', type: 'Electric_guitar', y: 966 }, - { x: '63', type: 'Drum', y: 669 }, - { x: '63', type: 'Electri_bass', y: 350 }, - { x: '63', type: 'Keyboard', y: 222 }, - { x: '63', type: 'Amplifier', y: 500 }, -]; - -/** - * 迷幻电子音乐 - */ -export const ELECTRONIC = [ - { x: '1 ', type: 'Amplifier_1', y: 545 }, - { x: '1 ', type: 'Keyboard', y: 692 }, - { x: '1 ', type: 'Amplifier_2', y: 754 }, - { x: '1 ', type: 'Drum', y: 111 }, - { x: '2 ', type: 'Amplifier_1', y: 856 }, - { x: '2 ', type: 'Keyboard', y: 528 }, - { x: '2 ', type: 'Amplifier_2', y: 790 }, - { x: '2 ', type: 'Drum', y: 217 }, - { x: '3 ', type: 'Amplifier_1', y: 842 }, - { x: '3 ', type: 'Keyboard', y: 531 }, - { x: '3 ', type: 'Amplifier_2', y: 753 }, - { x: '3 ', type: 'Drum', y: 409 }, - { x: '4 ', type: 'Amplifier_1', y: 627 }, - { x: '4 ', type: 'Keyboard', y: 800 }, - { x: '4 ', type: 'Amplifier_2', y: 751 }, - { x: '4 ', type: 'Drum', y: 518 }, - { x: '5 ', type: 'Amplifier_1', y: 894 }, - { x: '5 ', type: 'Keyboard', y: 562 }, - { x: '5 ', type: 'Amplifier_2', y: 649 }, - { x: '5 ', type: 'Drum', y: 352 }, - { x: '6 ', type: 'Amplifier_1', y: 800 }, - { x: '6 ', type: 'Keyboard', y: 528 }, - { x: '6 ', type: 'Amplifier_2', y: 645 }, - { x: '6 ', type: 'Drum', y: 210 }, - { x: '7 ', type: 'Amplifier_1', y: 863 }, - { x: '7 ', type: 'Keyboard', y: 774 }, - { x: '7 ', type: 'Amplifier_2', y: 694 }, - { x: '7 ', type: 'Drum', y: 609 }, - { x: '8 ', type: 'Amplifier_1', y: 909 }, - { x: '8 ', type: 'Keyboard', y: 599 }, - { x: '8 ', type: 'Amplifier_2', y: 706 }, - { x: '8 ', type: 'Drum', y: 216 }, - { x: '9 ', type: 'Amplifier_1', y: 891 }, - { x: '9 ', type: 'Keyboard', y: 216 }, - { x: '9 ', type: 'Amplifier_2', y: 757 }, - { x: '9 ', type: 'Drum', y: 563 }, - { x: '10 ', type: 'Amplifier_1', y: 951 }, - { x: '10 ', type: 'Keyboard', y: 522 }, - { x: '10 ', type: 'Amplifier_2', y: 733 }, - { x: '10 ', type: 'Drum', y: 249 }, - { x: '11 ', type: 'Amplifier_1', y: 854 }, - { x: '11 ', type: 'Keyboard', y: 525 }, - { x: '11 ', type: 'Amplifier_2', y: 661 }, - { x: '11 ', type: 'Drum', y: 422 }, - { x: '12 ', type: 'Amplifier_1', y: 522 }, - { x: '12 ', type: 'Keyboard', y: 630 }, - { x: '12 ', type: 'Amplifier_2', y: 703 }, - { x: '12 ', type: 'Drum', y: 242 }, - { x: '13 ', type: 'Amplifier_1', y: 681 }, - { x: '13 ', type: 'Keyboard', y: 497 }, - { x: '13 ', type: 'Amplifier_2', y: 760 }, - { x: '13 ', type: 'Drum', y: 357 }, - { x: '14 ', type: 'Amplifier_1', y: 621 }, - { x: '14 ', type: 'Keyboard', y: 508 }, - { x: '14 ', type: 'Amplifier_2', y: 809 }, - { x: '14 ', type: 'Drum', y: 419 }, - { x: '15 ', type: 'Amplifier_1', y: 539 }, - { x: '15 ', type: 'Keyboard', y: 607 }, - { x: '15 ', type: 'Amplifier_2', y: 703 }, - { x: '15 ', type: 'Drum', y: 461 }, - { x: '16 ', type: 'Amplifier_1', y: 576 }, - { x: '16 ', type: 'Keyboard', y: 667 }, - { x: '16 ', type: 'Amplifier_2', y: 830 }, - { x: '16 ', type: 'Drum', y: 541 }, - { x: '17 ', type: 'Amplifier_1', y: 508 }, - { x: '17 ', type: 'Keyboard', y: 582 }, - { x: '17 ', type: 'Amplifier_2', y: 684 }, - { x: '17 ', type: 'Drum', y: 316 }, - { x: '18 ', type: 'Amplifier_1', y: 601 }, - { x: '18 ', type: 'Keyboard', y: 536 }, - { x: '18 ', type: 'Amplifier_2', y: 679 }, - { x: '18 ', type: 'Drum', y: 411 }, - { x: '19 ', type: 'Amplifier_1', y: 567 }, - { x: '19 ', type: 'Keyboard', y: 488 }, - { x: '19 ', type: 'Amplifier_2', y: 733 }, - { x: '19 ', type: 'Drum', y: 328 }, - { x: '20 ', type: 'Amplifier_1', y: 505 }, - { x: '20 ', type: 'Keyboard', y: 621 }, - { x: '20 ', type: 'Amplifier_2', y: 670 }, - { x: '20 ', type: 'Drum', y: 234 }, - { x: '21 ', type: 'Amplifier_1', y: 655 }, - { x: '21 ', type: 'Keyboard', y: 686 }, - { x: '21 ', type: 'Amplifier_2', y: 856 }, - { x: '21 ', type: 'Drum', y: 276 }, - { x: '22 ', type: 'Amplifier_1', y: 647 }, - { x: '22 ', type: 'Keyboard', y: 553 }, - { x: '22 ', type: 'Amplifier_2', y: 630 }, - { x: '22 ', type: 'Drum', y: 435 }, - { x: '23 ', type: 'Amplifier_1', y: 936 }, - { x: '23 ', type: 'Keyboard', y: 635 }, - { x: '23 ', type: 'Amplifier_2', y: 830 }, - { x: '23 ', type: 'Drum', y: 522 }, - { x: '24 ', type: 'Amplifier_1', y: 900 }, - { x: '24 ', type: 'Keyboard', y: 476 }, - { x: '24 ', type: 'Amplifier_2', y: 655 }, - { x: '24 ', type: 'Drum', y: 697 }, - { x: '25 ', type: 'Amplifier_1', y: 972 }, - { x: '25 ', type: 'Keyboard', y: 468 }, - { x: '25 ', type: 'Amplifier_2', y: 767 }, - { x: '25 ', type: 'Drum', y: 558 }, - { x: '26 ', type: 'Amplifier_1', y: 888 }, - { x: '26 ', type: 'Keyboard', y: 604 }, - { x: '26 ', type: 'Amplifier_2', y: 788 }, - { x: '26 ', type: 'Drum', y: 549 }, - { x: '27 ', type: 'Amplifier_1', y: 863 }, - { x: '27 ', type: 'Keyboard', y: 519 }, - { x: '27 ', type: 'Amplifier_2', y: 615 }, - { x: '27 ', type: 'Drum', y: 394 }, - { x: '28 ', type: 'Amplifier_1', y: 960 }, - { x: '28 ', type: 'Keyboard', y: 505 }, - { x: '28 ', type: 'Amplifier_2', y: 726 }, - { x: '28 ', type: 'Drum', y: 452 }, - { x: '29 ', type: 'Amplifier_1', y: 885 }, - { x: '29 ', type: 'Keyboard', y: 562 }, - { x: '29 ', type: 'Amplifier_2', y: 697 }, - { x: '29 ', type: 'Drum', y: 337 }, - { x: '30 ', type: 'Amplifier_1', y: 966 }, - { x: '30 ', type: 'Keyboard', y: 616 }, - { x: '30 ', type: 'Amplifier_2', y: 806 }, - { x: '30 ', type: 'Drum', y: 350 }, - { x: '31 ', type: 'Amplifier_1', y: 885 }, - { x: '31 ', type: 'Keyboard', y: 553 }, - { x: '31 ', type: 'Amplifier_2', y: 721 }, - { x: '31 ', type: 'Drum', y: 312 }, - { x: '32 ', type: 'Amplifier_1', y: 833 }, - { x: '32 ', type: 'Keyboard', y: 264 }, - { x: '32 ', type: 'Amplifier_2', y: 715 }, - { x: '32 ', type: 'Drum', y: 602 }, - { x: '33 ', type: 'Amplifier_1', y: 900 }, - { x: '33 ', type: 'Keyboard', y: 240 }, - { x: '33 ', type: 'Amplifier_2', y: 790 }, - { x: '33 ', type: 'Drum', y: 382 }, - { x: '34 ', type: 'Amplifier_1', y: 906 }, - { x: '34 ', type: 'Keyboard', y: 428 }, - { x: '34 ', type: 'Amplifier_2', y: 667 }, - { x: '34 ', type: 'Drum', y: 576 }, - { x: '35 ', type: 'Amplifier_1', y: 966 }, - { x: '35 ', type: 'Keyboard', y: 264 }, - { x: '35 ', type: 'Amplifier_2', y: 773 }, - { x: '35 ', type: 'Drum', y: 439 }, - { x: '36 ', type: 'Amplifier_1', y: 894 }, - { x: '36 ', type: 'Keyboard', y: 267 }, - { x: '36 ', type: 'Amplifier_2', y: 694 }, - { x: '36 ', type: 'Drum', y: 361 }, - { x: '37 ', type: 'Amplifier_1', y: 939 }, - { x: '37 ', type: 'Keyboard', y: 273 }, - { x: '37 ', type: 'Amplifier_2', y: 846 }, - { x: '37 ', type: 'Drum', y: 416 }, - { x: '38 ', type: 'Amplifier_1', y: 915 }, - { x: '38 ', type: 'Keyboard', y: 327 }, - { x: '38 ', type: 'Amplifier_2', y: 694 }, - { x: '38 ', type: 'Drum', y: 589 }, - { x: '39 ', type: 'Amplifier_1', y: 996 }, - { x: '39 ', type: 'Keyboard', y: 293 }, - { x: '39 ', type: 'Amplifier_2', y: 794 }, - { x: '39 ', type: 'Drum', y: 509 }, - { x: '40 ', type: 'Amplifier_1', y: 921 }, - { x: '40 ', type: 'Keyboard', y: 324 }, - { x: '40 ', type: 'Amplifier_2', y: 715 }, - { x: '40 ', type: 'Drum', y: 637 }, - { x: '41 ', type: 'Amplifier_1', y: 952 }, - { x: '41 ', type: 'Keyboard', y: 267 }, - { x: '41 ', type: 'Amplifier_2', y: 730 }, - { x: '41 ', type: 'Drum', y: 484 }, - { x: '42 ', type: 'Amplifier_1', y: 912 }, - { x: '42 ', type: 'Keyboard', y: 321 }, - { x: '42 ', type: 'Amplifier_2', y: 655 }, - { x: '42 ', type: 'Drum', y: 458 }, - { x: '43 ', type: 'Amplifier_1', y: 658 }, - { x: '43 ', type: 'Keyboard', y: 361 }, - { x: '43 ', type: 'Amplifier_2', y: 754 }, - { x: '43 ', type: 'Drum', y: 470 }, - { x: '44 ', type: 'Amplifier_1', y: 664 }, - { x: '44 ', type: 'Keyboard', y: 389 }, - { x: '44 ', type: 'Amplifier_2', y: 721 }, - { x: '44 ', type: 'Drum', y: 591 }, - { x: '45 ', type: 'Amplifier_1', y: 906 }, - { x: '45 ', type: 'Keyboard', y: 264 }, - { x: '45 ', type: 'Amplifier_2', y: 673 }, - { x: '45 ', type: 'Drum', y: 449 }, - { x: '46 ', type: 'Amplifier_1', y: 951 }, - { x: '46 ', type: 'Keyboard', y: 182 }, - { x: '46 ', type: 'Amplifier_2', y: 609 }, - { x: '46 ', type: 'Drum', y: 479 }, - { x: '47 ', type: 'Amplifier_1', y: 881 }, - { x: '47 ', type: 'Keyboard', y: 253 }, - { x: '47 ', type: 'Amplifier_2', y: 652 }, - { x: '47 ', type: 'Drum', y: 351 }, - { x: '48', type: 'Amplifier_1', y: 516 }, - { x: '48', type: 'Keyboard', y: 582 }, - { x: '48', type: 'Amplifier_2', y: 736 }, - { x: '48', type: 'Drum', y: 374 }, -]; - -/** - * 流行音乐 pop - */ -export const POP = [ - { x: '1 ', type: 'Lead_guitar', y: 936 }, - { x: '1 ', type: 'Drum', y: 635 }, - { x: '1 ', type: 'Electri_bass', y: 712 }, - { x: '1 ', type: 'Keyboard', y: 290 }, - { x: '1 ', type: 'Amplifier', y: 100 }, - { x: '1 ', type: 'Rhythm_guitar', y: 130 }, - { x: '2 ', type: 'Lead_guitar', y: 897 }, - { x: '2 ', type: 'Drum', y: 681 }, - { x: '2 ', type: 'Electri_bass', y: 587 }, - { x: '2 ', type: 'Keyboard', y: 264 }, - { x: '2 ', type: 'Amplifier', y: 100 }, - { x: '2 ', type: 'Rhythm_guitar', y: 130 }, - { x: '3 ', type: 'Lead_guitar', y: 941 }, - { x: '3 ', type: 'Drum', y: 661 }, - { x: '3 ', type: 'Electri_bass', y: 570 }, - { x: '3 ', type: 'Keyboard', y: 161 }, - { x: '3 ', type: 'Amplifier', y: 800 }, - { x: '3 ', type: 'Rhythm_guitar', y: 1040 }, - { x: '4 ', type: 'Lead_guitar', y: 876 }, - { x: '4 ', type: 'Drum', y: 694 }, - { x: '4 ', type: 'Electri_bass', y: 609 }, - { x: '4 ', type: 'Keyboard', y: 234 }, - { x: '4 ', type: 'Amplifier', y: 800 }, - { x: '4 ', type: 'Rhythm_guitar', y: 1040 }, - { x: '5 ', type: 'Lead_guitar', y: 924 }, - { x: '5 ', type: 'Drum', y: 757 }, - { x: '5 ', type: 'Electri_bass', y: 563 }, - { x: '5 ', type: 'Keyboard', y: 216 }, - { x: '5 ', type: 'Amplifier', y: 200 }, - { x: '5 ', type: 'Rhythm_guitar', y: 260 }, - { x: '6 ', type: 'Lead_guitar', y: 873 }, - { x: '6 ', type: 'Drum', y: 661 }, - { x: '6 ', type: 'Electri_bass', y: 422 }, - { x: '6 ', type: 'Keyboard', y: 279 }, - { x: '6 ', type: 'Amplifier', y: 200 }, - { x: '6 ', type: 'Rhythm_guitar', y: 260 }, - { x: '7 ', type: 'Lead_guitar', y: 766 }, - { x: '7 ', type: 'Drum', y: 703 }, - { x: '7 ', type: 'Electri_bass', y: 357 }, - { x: '7 ', type: 'Keyboard', y: 192 }, - { x: '7 ', type: 'Amplifier', y: 600 }, - { x: '7 ', type: 'Rhythm_guitar', y: 780 }, - { x: '8 ', type: 'Lead_guitar', y: 875 }, - { x: '8 ', type: 'Drum', y: 703 }, - { x: '8 ', type: 'Electri_bass', y: 461 }, - { x: '8 ', type: 'Keyboard', y: 309 }, - { x: '8 ', type: 'Amplifier', y: 600 }, - { x: '8 ', type: 'Rhythm_guitar', y: 780 }, - { x: '9 ', type: 'Lead_guitar', y: 888 }, - { x: '9 ', type: 'Drum', y: 706 }, - { x: '9 ', type: 'Electri_bass', y: 316 }, - { x: '9 ', type: 'Keyboard', y: 222 }, - { x: '9 ', type: 'Amplifier', y: 300 }, - { x: '9 ', type: 'Rhythm_guitar', y: 390 }, - { x: '10 ', type: 'Lead_guitar', y: 875 }, - { x: '10 ', type: 'Drum', y: 733 }, - { x: '10 ', type: 'Electri_bass', y: 328 }, - { x: '10 ', type: 'Keyboard', y: 222 }, - { x: '10 ', type: 'Amplifier', y: 300 }, - { x: '10 ', type: 'Rhythm_guitar', y: 390 }, - { x: '11 ', type: 'Lead_guitar', y: 896 }, - { x: '11 ', type: 'Drum', y: 672 }, - { x: '11 ', type: 'Electri_bass', y: 276 }, - { x: '11 ', type: 'Keyboard', y: 174 }, - { x: '11 ', type: 'Amplifier', y: 500 }, - { x: '11 ', type: 'Rhythm_guitar', y: 650 }, - { x: '12 ', type: 'Lead_guitar', y: 865 }, - { x: '12 ', type: 'Drum', y: 672 }, - { x: '12 ', type: 'Electri_bass', y: 522 }, - { x: '12 ', type: 'Keyboard', y: 207 }, - { x: '12 ', type: 'Amplifier', y: 500 }, - { x: '12 ', type: 'Rhythm_guitar', y: 650 }, - { x: '13 ', type: 'Lead_guitar', y: 916 }, - { x: '13 ', type: 'Drum', y: 638 }, - { x: '13 ', type: 'Electri_bass', y: 558 }, - { x: '13 ', type: 'Keyboard', y: 273 }, - { x: '13 ', type: 'Amplifier', y: 400 }, - { x: '13 ', type: 'Rhythm_guitar', y: 520 }, - { x: '14 ', type: 'Lead_guitar', y: 947 }, - { x: '14 ', type: 'Drum', y: 678 }, - { x: '14 ', type: 'Electri_bass', y: 394 }, - { x: '14 ', type: 'Keyboard', y: 175 }, - { x: '14 ', type: 'Amplifier', y: 400 }, - { x: '14 ', type: 'Rhythm_guitar', y: 520 }, - { x: '15 ', type: 'Lead_guitar', y: 644 }, - { x: '15 ', type: 'Drum', y: 596 }, - { x: '15 ', type: 'Electri_bass', y: 337 }, - { x: '15 ', type: 'Keyboard', y: 237 }, - { x: '15 ', type: 'Amplifier', y: 500 }, - { x: '15 ', type: 'Rhythm_guitar', y: 650 }, - { x: '16 ', type: 'Lead_guitar', y: 834 }, - { x: '16 ', type: 'Drum', y: 635 }, - { x: '16 ', type: 'Electri_bass', y: 312 }, - { x: '16 ', type: 'Keyboard', y: 251 }, - { x: '16 ', type: 'Amplifier', y: 500 }, - { x: '16 ', type: 'Rhythm_guitar', y: 650 }, - { x: '17 ', type: 'Lead_guitar', y: 900 }, - { x: '17 ', type: 'Drum', y: 681 }, - { x: '17 ', type: 'Electri_bass', y: 382 }, - { x: '17 ', type: 'Keyboard', y: 240 }, - { x: '17 ', type: 'Amplifier', y: 300 }, - { x: '17 ', type: 'Rhythm_guitar', y: 390 }, - { x: '18 ', type: 'Lead_guitar', y: 966 }, - { x: '18 ', type: 'Drum', y: 703 }, - { x: '18 ', type: 'Electri_bass', y: 439 }, - { x: '18 ', type: 'Keyboard', y: 264 }, - { x: '18 ', type: 'Amplifier', y: 300 }, - { x: '18 ', type: 'Rhythm_guitar', y: 390 }, - { x: '19 ', type: 'Lead_guitar', y: 939 }, - { x: '19 ', type: 'Drum', y: 698 }, - { x: '19 ', type: 'Electri_bass', y: 416 }, - { x: '19 ', type: 'Keyboard', y: 198 }, - { x: '19 ', type: 'Amplifier', y: 600 }, - { x: '19 ', type: 'Rhythm_guitar', y: 780 }, - { x: '20 ', type: 'Lead_guitar', y: 996 }, - { x: '20 ', type: 'Drum', y: 715 }, - { x: '20 ', type: 'Electri_bass', y: 509 }, - { x: '20 ', type: 'Keyboard', y: 388 }, - { x: '20 ', type: 'Amplifier', y: 600 }, - { x: '20 ', type: 'Rhythm_guitar', y: 780 }, - { x: '21 ', type: 'Lead_guitar', y: 952 }, - { x: '21 ', type: 'Drum', y: 730 }, - { x: '21 ', type: 'Electri_bass', y: 484 }, - { x: '21 ', type: 'Keyboard', y: 340 }, - { x: '21 ', type: 'Amplifier', y: 200 }, - { x: '21 ', type: 'Rhythm_guitar', y: 260 }, - { x: '22 ', type: 'Lead_guitar', y: 954 }, - { x: '22 ', type: 'Drum', y: 754 }, - { x: '22 ', type: 'Electri_bass', y: 470 }, - { x: '22 ', type: 'Keyboard', y: 337 }, - { x: '22 ', type: 'Amplifier', y: 200 }, - { x: '22 ', type: 'Rhythm_guitar', y: 260 }, - { x: '23 ', type: 'Lead_guitar', y: 906 }, - { x: '23 ', type: 'Drum', y: 673 }, - { x: '23 ', type: 'Electri_bass', y: 449 }, - { x: '23 ', type: 'Keyboard', y: 358 }, - { x: '23 ', type: 'Amplifier', y: 800 }, - { x: '23 ', type: 'Rhythm_guitar', y: 1040 }, - { x: '24 ', type: 'Lead_guitar', y: 970 }, - { x: '24 ', type: 'Drum', y: 652 }, - { x: '24 ', type: 'Electri_bass', y: 449 }, - { x: '24 ', type: 'Keyboard', y: 195 }, - { x: '24 ', type: 'Amplifier', y: 800 }, - { x: '24 ', type: 'Rhythm_guitar', y: 1040 }, - { x: '25 ', type: 'Lead_guitar', y: 942 }, - { x: '25 ', type: 'Drum', y: 736 }, - { x: '25 ', type: 'Electri_bass', y: 434 }, - { x: '25 ', type: 'Keyboard', y: 261 }, - { x: '25 ', type: 'Amplifier', y: 100 }, - { x: '25 ', type: 'Rhythm_guitar', y: 130 }, - { x: '26 ', type: 'Lead_guitar', y: 464 }, - { x: '26 ', type: 'Drum', y: 625.5 }, - { x: '26 ', type: 'Electri_bass', y: 677 }, - { x: '26 ', type: 'Keyboard', y: 233 }, - { x: '26 ', type: 'Amplifier', y: 100 }, - { x: '26 ', type: 'Rhythm_guitar', y: 130 }, - { x: '27 ', type: 'Lead_guitar', y: 513 }, - { x: '27 ', type: 'Drum', y: 671.4 }, - { x: '27 ', type: 'Electri_bass', y: 435 }, - { x: '27 ', type: 'Keyboard', y: 325 }, - { x: '27 ', type: 'Amplifier', y: 800 }, - { x: '27 ', type: 'Rhythm_guitar', y: 1040 }, - { x: '28 ', type: 'Lead_guitar', y: 332 }, - { x: '28 ', type: 'Drum', y: 580.5 }, - { x: '28 ', type: 'Electri_bass', y: 663 }, - { x: '28 ', type: 'Keyboard', y: 179 }, - { x: '28 ', type: 'Amplifier', y: 800 }, - { x: '28 ', type: 'Rhythm_guitar', y: 1040 }, - { x: '29 ', type: 'Lead_guitar', y: 740 }, - { x: '29 ', type: 'Drum', y: 635.4 }, - { x: '29 ', type: 'Electri_bass', y: 424 }, - { x: '29 ', type: 'Keyboard', y: 133 }, - { x: '29 ', type: 'Amplifier', y: 200 }, - { x: '29 ', type: 'Rhythm_guitar', y: 260 }, - { x: '30 ', type: 'Lead_guitar', y: 149 }, - { x: '30 ', type: 'Drum', y: 659.7 }, - { x: '30 ', type: 'Electri_bass', y: 455 }, - { x: '30 ', type: 'Keyboard', y: 44 }, - { x: '30 ', type: 'Amplifier', y: 200 }, - { x: '30 ', type: 'Rhythm_guitar', y: 260 }, - { x: '31 ', type: 'Lead_guitar', y: 475 }, - { x: '31 ', type: 'Drum', y: 632.7 }, - { x: '31 ', type: 'Electri_bass', y: 374 }, - { x: '31 ', type: 'Keyboard', y: 59 }, - { x: '31 ', type: 'Amplifier', y: 600 }, - { x: '31 ', type: 'Rhythm_guitar', y: 780 }, - { x: '32 ', type: 'Lead_guitar', y: 577 }, - { x: '32 ', type: 'Drum', y: 536.4 }, - { x: '32 ', type: 'Electri_bass', y: 377 }, - { x: '32 ', type: 'Keyboard', y: 232 }, - { x: '32 ', type: 'Amplifier', y: 600 }, - { x: '32 ', type: 'Rhythm_guitar', y: 780 }, - { x: '33 ', type: 'Lead_guitar', y: 781 }, - { x: '33 ', type: 'Drum', y: 579.6 }, - { x: '33 ', type: 'Electri_bass', y: 487 }, - { x: '33 ', type: 'Keyboard', y: 338 }, - { x: '33 ', type: 'Amplifier', y: 300 }, - { x: '33 ', type: 'Rhythm_guitar', y: 390 }, - { x: '34 ', type: 'Lead_guitar', y: 862 }, - { x: '34 ', type: 'Drum', y: 611.1 }, - { x: '34 ', type: 'Electri_bass', y: 370 }, - { x: '34 ', type: 'Keyboard', y: 287 }, - { x: '34 ', type: 'Amplifier', y: 300 }, - { x: '34 ', type: 'Rhythm_guitar', y: 390 }, - { x: '35 ', type: 'Lead_guitar', y: 837 }, - { x: '35 ', type: 'Drum', y: 603 }, - { x: '35 ', type: 'Electri_bass', y: 353 }, - { x: '35 ', type: 'Keyboard', y: 131 }, - { x: '35 ', type: 'Amplifier', y: 500 }, - { x: '35 ', type: 'Rhythm_guitar', y: 650 }, - { x: '36 ', type: 'Lead_guitar', y: 868 }, - { x: '36 ', type: 'Drum', y: 567 }, - { x: '36 ', type: 'Electri_bass', y: 392 }, - { x: '36 ', type: 'Keyboard', y: 306 }, - { x: '36 ', type: 'Amplifier', y: 500 }, - { x: '36 ', type: 'Rhythm_guitar', y: 650 }, - { x: '37 ', type: 'Lead_guitar', y: 439 }, - { x: '37 ', type: 'Drum', y: 589.5 }, - { x: '37 ', type: 'Electri_bass', y: 627 }, - { x: '37 ', type: 'Keyboard', y: 428 }, - { x: '37 ', type: 'Amplifier', y: 400 }, - { x: '37 ', type: 'Rhythm_guitar', y: 520 }, - { x: '38 ', type: 'Lead_guitar', y: 631 }, - { x: '38 ', type: 'Drum', y: 574.2 }, - { x: '38 ', type: 'Electri_bass', y: 494 }, - { x: '38 ', type: 'Keyboard', y: 357 }, - { x: '38 ', type: 'Amplifier', y: 400 }, - { x: '38 ', type: 'Rhythm_guitar', y: 520 }, - { x: '39 ', type: 'Lead_guitar', y: 864 }, - { x: '39 ', type: 'Drum', y: 653.4 }, - { x: '39 ', type: 'Electri_bass', y: 407 }, - { x: '39 ', type: 'Keyboard', y: 290 }, - { x: '39 ', type: 'Amplifier', y: 500 }, - { x: '39 ', type: 'Rhythm_guitar', y: 650 }, - { x: '40 ', type: 'Lead_guitar', y: 869 }, - { x: '40 ', type: 'Drum', y: 602.1 }, - { x: '40 ', type: 'Electri_bass', y: 315 }, - { x: '40 ', type: 'Keyboard', y: 200 }, - { x: '40 ', type: 'Amplifier', y: 500 }, - { x: '40 ', type: 'Rhythm_guitar', y: 650 }, - { x: '41 ', type: 'Lead_guitar', y: 279 }, - { x: '41 ', type: 'Drum', y: 604.8 }, - { x: '41 ', type: 'Electri_bass', y: 542 }, - { x: '41 ', type: 'Keyboard', y: 238 }, - { x: '41 ', type: 'Amplifier', y: 300 }, - { x: '41 ', type: 'Rhythm_guitar', y: 390 }, - { x: '42 ', type: 'Lead_guitar', y: 383 }, - { x: '42 ', type: 'Drum', y: 600.3 }, - { x: '42 ', type: 'Electri_bass', y: 518 }, - { x: '42 ', type: 'Keyboard', y: 385 }, - { x: '42 ', type: 'Amplifier', y: 300 }, - { x: '42 ', type: 'Rhythm_guitar', y: 390 }, - { x: '43 ', type: 'Lead_guitar', y: 503 }, - { x: '43 ', type: 'Drum', y: 624.6 }, - { x: '43 ', type: 'Electri_bass', y: 325 }, - { x: '43 ', type: 'Keyboard', y: 240 }, - { x: '43 ', type: 'Amplifier', y: 600 }, - { x: '43 ', type: 'Rhythm_guitar', y: 780 }, - { x: '44 ', type: 'Lead_guitar', y: 570 }, - { x: '44 ', type: 'Drum', y: 624.6 }, - { x: '44 ', type: 'Electri_bass', y: 530 }, - { x: '44 ', type: 'Keyboard', y: 355 }, - { x: '44 ', type: 'Amplifier', y: 600 }, - { x: '44 ', type: 'Rhythm_guitar', y: 780 }, - { x: '45 ', type: 'Lead_guitar', y: 411 }, - { x: '45 ', type: 'Drum', y: 643.5 }, - { x: '45 ', type: 'Electri_bass', y: 573 }, - { x: '45 ', type: 'Keyboard', y: 196 }, - { x: '45 ', type: 'Amplifier', y: 200 }, - { x: '45 ', type: 'Rhythm_guitar', y: 260 }, - { x: '46 ', type: 'Lead_guitar', y: 495 }, - { x: '46 ', type: 'Drum', y: 686.7 }, - { x: '46 ', type: 'Electri_bass', y: 412 }, - { x: '46 ', type: 'Keyboard', y: 200 }, - { x: '46 ', type: 'Amplifier', y: 200 }, - { x: '46 ', type: 'Rhythm_guitar', y: 260 }, - { x: '47 ', type: 'Lead_guitar', y: 567 }, - { x: '47 ', type: 'Drum', y: 648.9 }, - { x: '47 ', type: 'Electri_bass', y: 532 }, - { x: '47 ', type: 'Keyboard', y: 426 }, - { x: '47 ', type: 'Amplifier', y: 800 }, - { x: '47 ', type: 'Rhythm_guitar', y: 1040 }, - { x: '48 ', type: 'Lead_guitar', y: 455 }, - { x: '48 ', type: 'Drum', y: 628.2 }, - { x: '48 ', type: 'Electri_bass', y: 431 }, - { x: '48 ', type: 'Keyboard', y: 266 }, - { x: '48 ', type: 'Amplifier', y: 800 }, - { x: '48 ', type: 'Rhythm_guitar', y: 1040 }, - { x: '49 ', type: 'Lead_guitar', y: 516 }, - { x: '49 ', type: 'Drum', y: 695 }, - { x: '49 ', type: 'Electri_bass', y: 752 }, - { x: '49 ', type: 'Keyboard', y: 259 }, - { x: '49 ', type: 'Amplifier', y: 100 }, - { x: '49 ', type: 'Rhythm_guitar', y: 130 }, - { x: '50 ', type: 'Lead_guitar', y: 570 }, - { x: '50 ', type: 'Drum', y: 746 }, - { x: '50 ', type: 'Electri_bass', y: 483 }, - { x: '50 ', type: 'Keyboard', y: 361 }, - { x: '50 ', type: 'Amplifier', y: 100 }, - { x: '50 ', type: 'Rhythm_guitar', y: 130 }, - { x: '51 ', type: 'Lead_guitar', y: 369 }, - { x: '51 ', type: 'Drum', y: 645 }, - { x: '51 ', type: 'Electri_bass', y: 737 }, - { x: '51 ', type: 'Keyboard', y: 199 }, - { x: '51 ', type: 'Amplifier', y: 800 }, - { x: '51 ', type: 'Rhythm_guitar', y: 1040 }, - { x: '52 ', type: 'Lead_guitar', y: 822 }, - { x: '52 ', type: 'Drum', y: 706 }, - { x: '52 ', type: 'Electri_bass', y: 471 }, - { x: '52 ', type: 'Keyboard', y: 148 }, - { x: '52 ', type: 'Amplifier', y: 800 }, - { x: '52 ', type: 'Rhythm_guitar', y: 1040 }, - { x: '53 ', type: 'Lead_guitar', y: 165 }, - { x: '53 ', type: 'Drum', y: 733 }, - { x: '53 ', type: 'Electri_bass', y: 505 }, - { x: '53 ', type: 'Keyboard', y: 49 }, - { x: '53 ', type: 'Amplifier', y: 200 }, - { x: '53 ', type: 'Rhythm_guitar', y: 260 }, - { x: '54 ', type: 'Lead_guitar', y: 528 }, - { x: '54 ', type: 'Drum', y: 703 }, - { x: '54 ', type: 'Electri_bass', y: 415 }, - { x: '54 ', type: 'Keyboard', y: 66 }, - { x: '54 ', type: 'Amplifier', y: 200 }, - { x: '54 ', type: 'Rhythm_guitar', y: 260 }, - { x: '55 ', type: 'Lead_guitar', y: 641 }, - { x: '55 ', type: 'Drum', y: 596 }, - { x: '55 ', type: 'Electri_bass', y: 419 }, - { x: '55 ', type: 'Keyboard', y: 258 }, - { x: '55 ', type: 'Amplifier', y: 600 }, - { x: '55 ', type: 'Rhythm_guitar', y: 780 }, - { x: '56 ', type: 'Lead_guitar', y: 868 }, - { x: '56 ', type: 'Drum', y: 644 }, - { x: '56 ', type: 'Electri_bass', y: 541 }, - { x: '56 ', type: 'Keyboard', y: 376 }, - { x: '56 ', type: 'Amplifier', y: 600 }, - { x: '56 ', type: 'Rhythm_guitar', y: 780 }, - { x: '57 ', type: 'Lead_guitar', y: 958 }, - { x: '57 ', type: 'Drum', y: 679 }, - { x: '57 ', type: 'Electri_bass', y: 411 }, - { x: '57 ', type: 'Keyboard', y: 319 }, - { x: '57 ', type: 'Amplifier', y: 300 }, - { x: '57 ', type: 'Rhythm_guitar', y: 390 }, - { x: '58 ', type: 'Lead_guitar', y: 930 }, - { x: '58 ', type: 'Drum', y: 670 }, - { x: '58 ', type: 'Electri_bass', y: 392 }, - { x: '58 ', type: 'Keyboard', y: 146 }, - { x: '58 ', type: 'Amplifier', y: 300 }, - { x: '58 ', type: 'Rhythm_guitar', y: 390 }, - { x: '59 ', type: 'Lead_guitar', y: 964 }, - { x: '59 ', type: 'Drum', y: 630 }, - { x: '59 ', type: 'Electri_bass', y: 435 }, - { x: '59 ', type: 'Keyboard', y: 340 }, - { x: '59 ', type: 'Amplifier', y: 500 }, - { x: '59 ', type: 'Rhythm_guitar', y: 650 }, - { x: '60 ', type: 'Lead_guitar', y: 488 }, - { x: '60 ', type: 'Drum', y: 655 }, - { x: '60 ', type: 'Electri_bass', y: 697 }, - { x: '60 ', type: 'Keyboard', y: 476 }, - { x: '60 ', type: 'Amplifier', y: 500 }, - { x: '60 ', type: 'Rhythm_guitar', y: 650 }, - { x: '61 ', type: 'Lead_guitar', y: 701 }, - { x: '61 ', type: 'Drum', y: 638 }, - { x: '61 ', type: 'Electri_bass', y: 549 }, - { x: '61 ', type: 'Keyboard', y: 397 }, - { x: '61 ', type: 'Amplifier', y: 400 }, - { x: '61 ', type: 'Rhythm_guitar', y: 520 }, - { x: '62 ', type: 'Lead_guitar', y: 960 }, - { x: '62 ', type: 'Drum', y: 726 }, - { x: '62 ', type: 'Electri_bass', y: 452 }, - { x: '62 ', type: 'Keyboard', y: 322 }, - { x: '62 ', type: 'Amplifier', y: 400 }, - { x: '62 ', type: 'Rhythm_guitar', y: 520 }, - { x: '63 ', type: 'Lead_guitar', y: 966 }, - { x: '63 ', type: 'Drum', y: 669 }, - { x: '63 ', type: 'Electri_bass', y: 350 }, - { x: '63 ', type: 'Keyboard', y: 222 }, - { x: '63 ', type: 'Amplifier', y: 500 }, - { x: '63 ', type: 'Rhythm_guitar', y: 650 }, - { x: '64 ', type: 'Lead_guitar', y: 310 }, - { x: '64 ', type: 'Drum', y: 672 }, - { x: '64 ', type: 'Electri_bass', y: 602 }, - { x: '64 ', type: 'Keyboard', y: 264 }, - { x: '64 ', type: 'Amplifier', y: 500 }, - { x: '64 ', type: 'Rhythm_guitar', y: 650 }, - { x: '65 ', type: 'Lead_guitar', y: 426 }, - { x: '65 ', type: 'Drum', y: 667 }, - { x: '65 ', type: 'Electri_bass', y: 576 }, - { x: '65 ', type: 'Keyboard', y: 428 }, - { x: '65 ', type: 'Amplifier', y: 300 }, - { x: '65 ', type: 'Rhythm_guitar', y: 390 }, - { x: '66 ', type: 'Lead_guitar', y: 559 }, - { x: '66 ', type: 'Drum', y: 694 }, - { x: '66 ', type: 'Electri_bass', y: 361 }, - { x: '66 ', type: 'Keyboard', y: 267 }, - { x: '66 ', type: 'Amplifier', y: 300 }, - { x: '66 ', type: 'Rhythm_guitar', y: 390 }, - { x: '67 ', type: 'Lead_guitar', y: 633 }, - { x: '67 ', type: 'Drum', y: 694 }, - { x: '67 ', type: 'Electri_bass', y: 589 }, - { x: '67 ', type: 'Keyboard', y: 394 }, - { x: '67 ', type: 'Amplifier', y: 600 }, - { x: '67 ', type: 'Rhythm_guitar', y: 780 }, - { x: '68 ', type: 'Lead_guitar', y: 457 }, - { x: '68 ', type: 'Drum', y: 715 }, - { x: '68 ', type: 'Electri_bass', y: 637 }, - { x: '68 ', type: 'Keyboard', y: 218 }, - { x: '68 ', type: 'Amplifier', y: 600 }, - { x: '68 ', type: 'Rhythm_guitar', y: 780 }, - { x: '69 ', type: 'Lead_guitar', y: 550 }, - { x: '69 ', type: 'Drum', y: 763 }, - { x: '69 ', type: 'Electri_bass', y: 458 }, - { x: '69 ', type: 'Keyboard', y: 222 }, - { x: '69 ', type: 'Amplifier', y: 200 }, - { x: '69 ', type: 'Rhythm_guitar', y: 260 }, - { x: '70 ', type: 'Lead_guitar', y: 630 }, - { x: '70 ', type: 'Drum', y: 721 }, - { x: '70 ', type: 'Electri_bass', y: 591 }, - { x: '70 ', type: 'Keyboard', y: 473 }, - { x: '70 ', type: 'Amplifier', y: 200 }, - { x: '70 ', type: 'Rhythm_guitar', y: 260 }, - { x: '71 ', type: 'Lead_guitar', y: 505 }, - { x: '71 ', type: 'Drum', y: 698 }, - { x: '71 ', type: 'Electri_bass', y: 479 }, - { x: '71 ', type: 'Keyboard', y: 295 }, - { x: '71 ', type: 'Amplifier', y: 800 }, - { x: '71 ', type: 'Rhythm_guitar', y: 1040 }, - { x: '72 ', type: 'Lead_guitar', y: 842 }, - { x: '72 ', type: 'Drum', y: 571.5 }, - { x: '72 ', type: 'Electri_bass', y: 641 }, - { x: '72 ', type: 'Keyboard', y: 261 }, - { x: '72 ', type: 'Amplifier', y: 800 }, - { x: '72 ', type: 'Rhythm_guitar', y: 1040 }, - { x: '73 ', type: 'Lead_guitar', y: 807 }, - { x: '73 ', type: 'Drum', y: 612.9 }, - { x: '73 ', type: 'Electri_bass', y: 528 }, - { x: '73 ', type: 'Keyboard', y: 238 }, - { x: '73 ', type: 'Amplifier', y: 100 }, - { x: '73 ', type: 'Rhythm_guitar', y: 130 }, - { x: '74 ', type: 'Lead_guitar', y: 847 }, - { x: '74 ', type: 'Drum', y: 594.9 }, - { x: '74 ', type: 'Electri_bass', y: 513 }, - { x: '74 ', type: 'Keyboard', y: 145 }, - { x: '74 ', type: 'Amplifier', y: 100 }, - { x: '74 ', type: 'Rhythm_guitar', y: 130 }, - { x: '75 ', type: 'Lead_guitar', y: 788 }, - { x: '75 ', type: 'Drum', y: 624.6 }, - { x: '75 ', type: 'Electri_bass', y: 548 }, - { x: '75 ', type: 'Keyboard', y: 211 }, - { x: '75 ', type: 'Amplifier', y: 800 }, - { x: '75 ', type: 'Rhythm_guitar', y: 1040 }, - { x: '76 ', type: 'Lead_guitar', y: 832 }, - { x: '76 ', type: 'Drum', y: 681.3 }, - { x: '76 ', type: 'Electri_bass', y: 507 }, - { x: '76 ', type: 'Keyboard', y: 194 }, - { x: '76 ', type: 'Amplifier', y: 800 }, - { x: '76 ', type: 'Rhythm_guitar', y: 1040 }, - { x: '77 ', type: 'Lead_guitar', y: 786 }, - { x: '77 ', type: 'Drum', y: 594.9 }, - { x: '77 ', type: 'Electri_bass', y: 380 }, - { x: '77 ', type: 'Keyboard', y: 251 }, - { x: '77 ', type: 'Amplifier', y: 200 }, - { x: '77 ', type: 'Rhythm_guitar', y: 260 }, - { x: '78 ', type: 'Lead_guitar', y: 689 }, - { x: '78 ', type: 'Drum', y: 632.7 }, - { x: '78 ', type: 'Electri_bass', y: 321 }, - { x: '78 ', type: 'Keyboard', y: 173 }, - { x: '78 ', type: 'Amplifier', y: 200 }, - { x: '78 ', type: 'Rhythm_guitar', y: 260 }, - { x: '79 ', type: 'Lead_guitar', y: 788 }, - { x: '79 ', type: 'Drum', y: 632.7 }, - { x: '79 ', type: 'Electri_bass', y: 415 }, - { x: '79 ', type: 'Keyboard', y: 278 }, - { x: '79 ', type: 'Amplifier', y: 600 }, - { x: '79 ', type: 'Rhythm_guitar', y: 780 }, - { x: '80 ', type: 'Lead_guitar', y: 799 }, - { x: '80 ', type: 'Drum', y: 635.4 }, - { x: '80 ', type: 'Electri_bass', y: 284 }, - { x: '80 ', type: 'Keyboard', y: 200 }, - { x: '80 ', type: 'Amplifier', y: 600 }, - { x: '80 ', type: 'Rhythm_guitar', y: 780 }, - { x: '81 ', type: 'Lead_guitar', y: 788 }, - { x: '81 ', type: 'Drum', y: 659.7 }, - { x: '81 ', type: 'Electri_bass', y: 295 }, - { x: '81 ', type: 'Keyboard', y: 200 }, - { x: '81 ', type: 'Amplifier', y: 300 }, - { x: '81 ', type: 'Rhythm_guitar', y: 390 }, - { x: '82 ', type: 'Lead_guitar', y: 806 }, - { x: '82 ', type: 'Drum', y: 604.8 }, - { x: '82 ', type: 'Electri_bass', y: 248 }, - { x: '82 ', type: 'Keyboard', y: 157 }, - { x: '82 ', type: 'Amplifier', y: 300 }, - { x: '82 ', type: 'Rhythm_guitar', y: 390 }, - { x: '83 ', type: 'Lead_guitar', y: 779 }, - { x: '83 ', type: 'Drum', y: 604.8 }, - { x: '83 ', type: 'Electri_bass', y: 470 }, - { x: '83 ', type: 'Keyboard', y: 186 }, - { x: '83 ', type: 'Amplifier', y: 500 }, - { x: '83 ', type: 'Rhythm_guitar', y: 650 }, - { x: '84 ', type: 'Lead_guitar', y: 824 }, - { x: '84 ', type: 'Drum', y: 574.2 }, - { x: '84 ', type: 'Electri_bass', y: 502 }, - { x: '84 ', type: 'Keyboard', y: 246 }, - { x: '84 ', type: 'Amplifier', y: 500 }, - { x: '84 ', type: 'Rhythm_guitar', y: 650 }, - { x: '85 ', type: 'Lead_guitar', y: 852 }, - { x: '85 ', type: 'Drum', y: 610.2 }, - { x: '85 ', type: 'Electri_bass', y: 355 }, - { x: '85 ', type: 'Keyboard', y: 158 }, - { x: '85 ', type: 'Amplifier', y: 400 }, - { x: '85 ', type: 'Rhythm_guitar', y: 520 }, - { x: '86 ', type: 'Lead_guitar', y: 580 }, - { x: '86 ', type: 'Drum', y: 536.4 }, - { x: '86 ', type: 'Electri_bass', y: 303 }, - { x: '86 ', type: 'Keyboard', y: 213 }, - { x: '86 ', type: 'Amplifier', y: 400 }, - { x: '86 ', type: 'Rhythm_guitar', y: 520 }, - { x: '87 ', type: 'Lead_guitar', y: 751 }, - { x: '87 ', type: 'Drum', y: 571.5 }, - { x: '87 ', type: 'Electri_bass', y: 281 }, - { x: '87 ', type: 'Keyboard', y: 226 }, - { x: '87 ', type: 'Amplifier', y: 500 }, - { x: '87 ', type: 'Rhythm_guitar', y: 650 }, - { x: '88 ', type: 'Lead_guitar', y: 810 }, - { x: '88 ', type: 'Drum', y: 612.9 }, - { x: '88 ', type: 'Electri_bass', y: 344 }, - { x: '88 ', type: 'Keyboard', y: 216 }, - { x: '88 ', type: 'Amplifier', y: 500 }, - { x: '88 ', type: 'Rhythm_guitar', y: 650 }, - { x: '89 ', type: 'Lead_guitar', y: 869 }, - { x: '89 ', type: 'Drum', y: 632.7 }, - { x: '89 ', type: 'Electri_bass', y: 395 }, - { x: '89 ', type: 'Keyboard', y: 238 }, - { x: '89 ', type: 'Amplifier', y: 300 }, - { x: '89 ', type: 'Rhythm_guitar', y: 390 }, - { x: '90 ', type: 'Lead_guitar', y: 845 }, - { x: '90 ', type: 'Drum', y: 628.2 }, - { x: '90 ', type: 'Electri_bass', y: 374 }, - { x: '90 ', type: 'Keyboard', y: 178 }, - { x: '90 ', type: 'Amplifier', y: 300 }, - { x: '90 ', type: 'Rhythm_guitar', y: 390 }, - { x: '91 ', type: 'Lead_guitar', y: 896 }, - { x: '91 ', type: 'Drum', y: 643.5 }, - { x: '91 ', type: 'Electri_bass', y: 458 }, - { x: '91 ', type: 'Keyboard', y: 349 }, - { x: '91 ', type: 'Amplifier', y: 600 }, - { x: '91 ', type: 'Rhythm_guitar', y: 780 }, - { x: '92 ', type: 'Lead_guitar', y: 857 }, - { x: '92 ', type: 'Drum', y: 657 }, - { x: '92 ', type: 'Electri_bass', y: 436 }, - { x: '92 ', type: 'Keyboard', y: 306 }, - { x: '92 ', type: 'Amplifier', y: 600 }, - { x: '92 ', type: 'Rhythm_guitar', y: 780 }, - { x: '93 ', type: 'Lead_guitar', y: 859 }, - { x: '93 ', type: 'Drum', y: 678.6 }, - { x: '93 ', type: 'Electri_bass', y: 423 }, - { x: '93 ', type: 'Keyboard', y: 303 }, - { x: '93 ', type: 'Amplifier', y: 200 }, - { x: '93 ', type: 'Rhythm_guitar', y: 260 }, - { x: '94 ', type: 'Lead_guitar', y: 815 }, - { x: '94 ', type: 'Drum', y: 605.7 }, - { x: '94 ', type: 'Electri_bass', y: 404 }, - { x: '94 ', type: 'Keyboard', y: 322 }, - { x: '94 ', type: 'Amplifier', y: 200 }, - { x: '94 ', type: 'Rhythm_guitar', y: 260 }, - { x: '95 ', type: 'Lead_guitar', y: 873 }, - { x: '95 ', type: 'Drum', y: 586.8 }, - { x: '95 ', type: 'Electri_bass', y: 404 }, - { x: '95 ', type: 'Keyboard', y: 176 }, - { x: '95 ', type: 'Amplifier', y: 800 }, - { x: '95 ', type: 'Rhythm_guitar', y: 1040 }, - { x: '96', type: 'Lead_guitar', y: 848 }, - { x: '96', type: 'Drum', y: 662.4 }, - { x: '96', type: 'Electri_bass', y: 391 }, - { x: '96', type: 'Keyboard', y: 235 }, - { x: '96', type: 'Amplifier', y: 800 }, - { x: '96', type: 'Rhythm_guitar', y: 1040 }, -]; diff --git a/site/components/D2Chart/shapes/breath-point.ts b/site/components/D2Chart/shapes/breath-point.ts deleted file mode 100644 index d200f3af6..000000000 --- a/site/components/D2Chart/shapes/breath-point.ts +++ /dev/null @@ -1,81 +0,0 @@ -// @ts-ignore -const { G2 } = require('@antv/g2plot/dist/g2plot.min.js'); - -G2.registerShape('point', 'breath-point', { - draw(shapeInfo: any, container: any) { - const point = { x: shapeInfo.x, y: shapeInfo.y }; - const group = container.addGroup(); - const r = shapeInfo.style?.r || 0; - const r1 = r * 0.8; - const r2 = r1 * 0.9; - const opacity = shapeInfo.style?.fillOpacity || 0.5; - const fill = shapeInfo.fill || shapeInfo.color; - try { - const point1 = group.addShape('circle', { - attrs: { - x: point.x, - y: point.y, - r, - fill, - opacity, - }, - }); - point1.animate( - { - r: r * 1.2, - opacity: 0, - }, - { - duration: 4500, - easing: 'easeLinear', - repeat: true, - }, - ); - const point2 = group.addShape('circle', { - attrs: { - x: point.x, - y: point.y, - r: r1, - fill, - opacity, - }, - }); - point2.animate( - { - r: r1 * 1.2, - opacity: 0.1, - }, - { - duration: 4500, - easing: 'easeLinear', - repeat: true, - delay: 600, - }, - ); - const point3 = group.addShape('circle', { - attrs: { - x: point.x, - y: point.y, - r: r2, - fill, - opacity, - }, - }); - point3.animate( - { - r: r2 * 1.2, - opacity: 0.1, - }, - { - duration: 4500, - easing: 'easeLinear', - repeat: true, - delay: 1200, - }, - ); - } catch (e) { - console.error(e); - } - return group; - }, -}); diff --git a/site/components/D2Chart/shapes/waterdrop.ts b/site/components/D2Chart/shapes/waterdrop.ts deleted file mode 100644 index aa64193b7..000000000 --- a/site/components/D2Chart/shapes/waterdrop.ts +++ /dev/null @@ -1,69 +0,0 @@ -// @ts-ignore -const { G2 } = require('@antv/g2plot/dist/g2plot.min.js'); - -type Point = { x: number; y: number }; - -G2.registerShape('interval', 'waterdrop', { - draw(shapeInfo: any, container: any) { - const getDistance = (p1: Point, p2: Point) => { - const pow = (x: number) => x * x; - return Math.sqrt(pow(p1.x - p2.x) + pow(p1.y - p2.y)); - }; - const center = (this as any).coordinate.getCenter(); - const points = shapeInfo.points.map((p: Point) => - (this as any).parsePoint(p), - ); - const distance = getDistance(points[1], points[2]); - const strokeWidth = shapeInfo.style?.lineWidth; - const fillOpacity = shapeInfo.style?.fillOpacity || 0.75; - const inleft = points[0].x < points[1].x; - const inbottom = points[0].y < points[1].y; - let startColor = shapeInfo.color; - let endColor = '#fff'; - if (inleft) { - startColor = '#fff'; - endColor = shapeInfo.color; - } - - const offsetX = (strokeWidth / 2) * (inleft ? -1 : 1); - const offsetY = (strokeWidth / 2) * (inbottom ? 1 : -1); - const waterdrop = container.addShape({ - type: 'path', - attrs: { - path: [ - ['M', points[2].x + offsetX, points[2].y + offsetY], - ['L', center.x, center.y], - ['L', points[1].x + offsetX, points[1].y + offsetY], - [ - 'A', - distance / 2, - distance / 2, - 0, - 1, - 1, - points[2].x + offsetX, - points[2].y + offsetY, - ], - ['L', points[2].x + offsetX, points[2].y + offsetY], - ['Z'], - ], - fill: `l(0): 0:${startColor} 1:${endColor}`, - stroke: shapeInfo.style?.stroke, - lineWidth: strokeWidth, - fillOpacity, - }, - }); - waterdrop.animate( - { - strokeOpacity: 0.8, - fillOpacity: fillOpacity * 0.75, - }, - { - duration: 1500, - easing: 'easeLinear', - repeat: true, - }, - ); - return container; - }, -}); diff --git a/site/components/Demos/Demos.module.less b/site/components/Demos/Demos.module.less deleted file mode 100644 index 1cd114d6d..000000000 --- a/site/components/Demos/Demos.module.less +++ /dev/null @@ -1,95 +0,0 @@ -.demos { - width: calc(100vw-360px); - height: 100%; - display: flex; - .col { - display: block; - a { - cursor: pointer; - width: 100%; - position: relative; - display: block; - background-color: #fff; - - &::after { - content: ''; - display: block; - clear: both; - } - .cover { - width: 100%; - height: 100%; - display: block; - position: absolute; - top: 0px; - z-index: 2; - } - .img { - width: 100%; - height: 100%; - background-repeat: no-repeat; - background-position: center center; - } - .title { - background-color: rgba(132, 57, 238, 0.8); - color: #fff; - display: block; - position: absolute; - bottom: 0px; - z-index: 10; - width: 100%; - font-size: 14px; - overflow: hidden; - white-space: nowrap; - padding: 6px 8px; - height: 30px; - opacity: 0; - box-sizing: border-box; - text-overflow: ellipsis; - -o-text-overflow: ellipsis; - } - - &:hover { - .cover { - animation: slidOut 1.4s; - -webkit-animation: slidOut 1.4s; - animation-fill-mode: forwards; - } - .title { - animation: showUp 0.5s; - -webkit-animation: showUp 0.3s; - animation-fill-mode: forwards; - } - } - } - } -} - -@keyframes showUp { - 0% { - opacity: 0; - bottom: -30px; - } - 100% { - opacity: 1; - bottom: 0px; - } -} - -@keyframes slidOut { - 0% { - opacity: 1; - } - 100% { - opacity: 0; - } -} - -@keyframes zoomIn { - 0% { - opacity: 0; - } - 100% { - opacity: 1; - } -} diff --git a/site/components/Demos/Demos.tsx b/site/components/Demos/Demos.tsx deleted file mode 100644 index 3cc1a32af..000000000 --- a/site/components/Demos/Demos.tsx +++ /dev/null @@ -1,163 +0,0 @@ -import chroma from 'chroma-js'; -import classNames from 'classnames'; -import { assign, debounce } from 'lodash'; -import React, { useEffect, useState } from 'react'; - -import { getLang } from '../../utils'; -import styles from './Demos.module.less'; - -interface DemoProps { - imgurl: string; - title_zh: string; - title_en: string; - host?: string; - path?: string; - ratio: number; //图片比例 - width?: number; - height?: number; - location?: string; -} -interface DemosProps { - list?: DemoProps[]; - active: number; - type: string; // demo类型 -} - -export default (props: DemosProps) => { - // 根据实际效果调整最大最小列数 - const MAX_COLS = 5; - const MIN_COLS = 2; - let list = props.list || []; - const { active, type } = props; - const [imgs, updateImgs] = useState([]); - const [totalImgs, updateTotalImgs] = useState(0); - const lang = getLang(); - const getRandomNum = (min: number, max: number) => { - return Math.floor(Math.random() * (max - min + 1) + min); - }; - - const colorScale = chroma.scale(['E0C1FF', '5900C9']); - - const getCols = (totalNum: number, ratio: number) => { - let total = 0; - let maxCols = 0; - let randomCols = 0; - for (let i = 1; total <= totalNum; i++) { - total += i; - if (total <= totalNum) { - maxCols += 1; - } - } - - // 比例阀值看实际情况调整 - if (ratio === 1.3) { - randomCols = 3; // g2 g2plot只适合3列 - } else { - randomCols = getRandomNum(MIN_COLS, MAX_COLS); - } - - return randomCols > maxCols ? maxCols : randomCols; - }; - - const getSum = (num: number) => { - let res = 0; - for (let i = 0; i <= num; i += 1) { - res += i; - } - return res; - }; - - const getColWidh = (cols: number, index: number, width: number) => { - return width * ((cols - index) / getSum(cols)); - }; - - const getRowHeight = (rows: number, height: number) => { - return height / rows; - }; - - /* 布局规则: 排序靠前的列宽大 */ - const layout = () => { - if (!list || list.length <= 0 || !active) { - return; - } - let res: number[][] = []; - const maxWidth = document.body.clientWidth - 360; - const height = document.body.clientHeight - 396; - const maxHeight = height > 480 ? height : 480; - const ratio = list[0].ratio; - const cols = getCols(list.length, ratio); - const totalImgNum = getSum(cols); - updateTotalImgs(totalImgNum); - let index = getRandomNum(0, list.length - totalImgNum - 1); // list索引,随机截取 - let firtColNum = getRandomNum(1, 2); - for (let i = 0; i < cols; i += 1) { - let rows = i + 1; // 每列的图片个数 - let rowIndex = []; - for (let j = 0; j < rows; j += 1) { - assign(list[index], { width: getColWidh(cols, i, maxWidth) }); - assign(list[index], { height: getRowHeight(rows, maxHeight) }); - rowIndex.push(index); - index += 1; - } - res.push(rowIndex); - firtColNum += 1; - } - updateImgs([...res]); - }; - - useEffect(() => { - const debounceLayout = debounce(layout, 200); - window.addEventListener('resize', debounceLayout); - layout(); - return () => { - window.removeEventListener('resize', debounceLayout); - }; - }, [list, active]); - - return ( -
- {imgs.map((rows: number[], key: number) => ( -
- {rows.map((item: number, index: number) => ( - - {key + index !== 0 && ( - - ); -}; diff --git a/site/components/Describe/Describe.module.less b/site/components/Describe/Describe.module.less deleted file mode 100644 index b496b6a1b..000000000 --- a/site/components/Describe/Describe.module.less +++ /dev/null @@ -1,88 +0,0 @@ -.wrapper { - height: auto; - display: flex; - margin: auto; - position: relative; - flex-direction: column; - padding: 0; - - .content { - width: 91.94%; - height: 100%; - padding-left: 4.06%; - margin-bottom: 5%; - position: relative; - width: 1440px; - max-width: calc(100% - 120px); - margin-left: auto; - margin-right: auto; - .title { - font-size: 2.8em; - font-weight: 500; - margin: 144px 0 0 0; - position: relative; - height: min-content; - color: rgba(0, 0, 0, 1); - } - .slicer { - width: 32px; - height: 6px; - background: linear-gradient(45deg, #c65aff, #248dff); - margin-top: 36px; - } - .descriptionWrapper { - margin-top: 32px; - left: 0; - position: relative; - width: 70%; - margin-bottom: 70px; - .description { - color: rgba(49, 70, 89, 1); - opacity: 0.6; - font-size: 1.25em; - line-height: 2em; - } - } - .gridback { - position: absolute; - width: 150px; - right: 8.06%; - bottom: 70px; - } - } -} - -@media (max-width: 768px) { - .wrapper { - .content { - margin-left: 4.27%; - width: 91.46%; - padding-bottom: 150px; - max-width: 100%; - .title { - font-size: 2.14em; - margin: 102px 0 0 0; - } - .slicer { - width: 25px; - height: 6px; - margin: 60px 0 65px 0; - } - .descriptionWrapper { - width: 100%; - margin-top: 70px; - margin-bottom: 0px; - z-index: 10; - .description { - font-size: 1em; - } - } - .gridback { - width: 40%; - right: 4.27%; - bottom: 63px; - z-index: 1; - } - } - } -} diff --git a/site/components/Describe/Describe.tsx b/site/components/Describe/Describe.tsx deleted file mode 100644 index 857fc7b27..000000000 --- a/site/components/Describe/Describe.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import { useIntl } from 'dumi'; -import React from 'react'; -import styles from './Describe.module.less'; - -const gridBackgroundImg = - 'https://gw.alipayobjects.com/zos/basement_prod/31366ec3-a932-4e29-9e84-44ae0d6e6815.svg'; - -const Describe = () => { - const intl = useIntl(); - - const useT = (transformedMessage: string) => { - return intl.formatMessage({ - id: transformedMessage, - }); - }; - let title = 'AntV 企业级可视化解决方案'; - let description = - 'AntV 3.0 已全新升级,主要包含 G2、G6、F2、L7 以及一套完整的图表使用和设计规范。得益于丰富的业务场景和用户需求挑战,AntV 经历多年积累与不断打磨,已支撑阿里集团内外 20000+ 业务系统,通过了日均千万级 UV 产品的严苛考验后方敢与君见。'; - return ( -
-
-

{useT(title)}

-
-
-

- {useT(description)} -

-
- gird-background -
-
- ); -}; -export default Describe; diff --git a/site/components/Products/Products.module.less b/site/components/Products/Products.module.less deleted file mode 100644 index 45f14e4ad..000000000 --- a/site/components/Products/Products.module.less +++ /dev/null @@ -1,459 +0,0 @@ -@import '~antd/es/style/themes/default.less'; - -.wrapper { - height: auto; - background: #f0f5fa; - display: flex; - margin: auto; - position: relative; - flex-direction: column; - padding: 0; - overflow: hidden; - .lefttop { - width: 100%; - height: 74.5%; - top: 0; - position: absolute; - display: flex; - flex-direction: row; - .ltblock1 { - width: 100%; - background: linear-gradient(130deg, #aa6aff, #706dff); - position: relative; - height: 100%; - } - } - .rightbottom { - position: absolute; - height: 900px; - background: #fff; - box-shadow: -5px 0px 15px rgba(0, 0, 0, 0.1); - width: 95.94%; - left: 4.06%; - top: 154px; - } - .slicerbarh { - width: 104.06%; - height: 1px; - position: absolute; - width: 95.94%; - left: 4.06%; - z-index: 2; - background-color: #f2f4f5; - } - .slicerbarh1 { - margin-top: 234px; - } - .slicerbarh2 { - margin-top: 426px; - } - .slicerbarh3 { - margin-top: 618px; - } - .slicerbarh4 { - margin-top: 810px; - } - .slicerbarh5 { - margin-top: 1002px; - } - .slicerbarh6 { - margin-top: 1780px; - display: none; - } - .slicerbarh7 { - margin-top: 2150px; - display: none; - } - .slicerbarh8 { - margin-top: 2520px; - display: none; - } - .slicerbarh9 { - margin-top: 2890px; - display: none; - } - .content { - height: 100%; - margin-bottom: 5%; - position: relative; - width: 1440px; - max-width: calc(100% - 120px); - margin-left: auto; - margin-right: auto; - .title { - padding-left: 4.06%; - position: relative; - font-size: 2.8em; - font-weight: 500; - margin: 48px 0 48px 0; - color: #fff; - } - .productsContainer { - width: 100%; - height: inherit; - position: relative; - padding-bottom: 80px; - .subTitleContainer { - display: block; - position: absolute; - padding-left: 4.06%; - display: flex; - margin-top: 30px; - .subTitleText { - color: rgba(106, 123, 140, 1); - font-weight: 300; - width: 200px; - font-size: 1.14em; - margin-left: 20px; - } - .subTitleBar { - background: linear-gradient( - 135deg, - rgb(157, 113, 247) 40%, - rgb(116, 113, 246) - ); - height: 18px; - width: 4px; - } - } - .extensionSubTitle { - margin-left: 45.86%; - } - .slicerbar { - position: absolute; - background-color: #f2f4f5; - } - .slicerbarv { - width: 1px; - height: 97%; - margin-left: 4.06%; - } - .slicerbarv2 { - margin-left: 49.9%; - // height: 100%; - } - .slicerbarv3 { - margin-left: 96%; - } - .products { - margin-left: 4.06%; - width: 91.88%; - padding-top: 77px; - display: flex; - .extensionsWrapper { - width: 50%; - } - .basicsWrapper { - width: 50%; - } - .col { - width: 100%; - height: 192px; - .product { - width: 100%; - height: 100%; - padding: 28px 4.64% 0 4.64%; - transition: all 0.3s; - &:hover { - box-shadow: 5px 20px 30px rgba(0, 0, 0, 0.1); - } - } - .imgHolder { - position: absolute; - } - .imgHolder1 { - left: 0; - top: 0; - width: 30%; - } - .imgHolder2 { - right: 0; - bottom: 0; - width: 45%; - } - } - .ptitle { - font-size: 1.714em; - color: #000; - font-weight: 440; - margin-bottom: 0; - } - .pdescription { - margin-top: 2%; - margin-bottom: 0; - opacity: 0.5; - font-size: 1.14em; - color: rgba(106, 123, 140, 1); - max-height: 30px; - } - .pbottom { - width: 91.84%; - display: flex; - position: absolute; - bottom: 28px; - .plinks { - width: -webkit-fill-available; - font-size: 1.14em; - position: absolute; - bottom: 0; - width: 100%; - .plink { - color: #597ef7; - } - .apilink { - margin-left: 6%; - } - } - .productimg { - width: 80px; - position: absolute; - right: 15px; - bottom: -22px; - } - } - } - } - } -} -.dot { - position: absolute; - width: 3px; - height: 3px; - border-radius: 50%; - background: #d8d8d8; - z-index: 3; -} -.mediumDot { - display: none; -} -.smallDot { - display: none; -} - -@media (max-width: 950px) { - .wrapper { - .rightbottom { - height: 1120px; - } - .slicerbarh2 { - transition: all 0.1s; - margin-top: 473px; - } - .slicerbarh3 { - transition: all 0.1s; - margin-top: 713px; - } - .slicerbarh4 { - transition: all 0.1s; - margin-top: 953px; - } - .slicerbarh5 { - transition: all 0.1s; - margin-top: 1193px; - } - .content { - .productsContainer { - .products { - .col { - transition: all 0.1s; - height: 240px; - .imgHolder1 { - left: 0; - top: 0; - width: 50%; - } - .imgHolder2 { - right: 0; - bottom: 0; - width: 60%; - } - } - } - - .slicerbarv { - height: 100%; - } - } - } - } - .largeDot { - display: none; - } - .mediumDot { - display: block; - } - .smallDot { - display: none; - } -} - -@media (max-width: 768px) { - .wrapper { - min-height: 0; - .lefttop { - height: 100%; - width: 100%; - .ltblock1 { - width: 100%; - } - } - .rightbottom { - top: 190px; - height: 2313px; - } - .slicerbarh { - margin-top: 270px; - height: 1px; - z-index: 2; - } - .slicerbarh2 { - margin-top: 480px; - } - .slicerbarh3 { - margin-top: 690px; - } - .slicerbarh4 { - margin-top: 900px; - } - .slicerbarh5 { - width: 100%; - margin-top: 1330px; - left: 4%; - } - .slicerbarh6 { - margin-top: 1114px; - display: block; - } - .slicerbarh7 { - margin-top: 1400px; - display: block; - } - .slicerbarh8 { - margin-top: 1610px; - display: block; - } - .slicerbarh9 { - margin-top: 1820px; - display: block; - } - .slicerbarh10 { - margin-top: 2032px; - display: block; - } - .slicerbarh11 { - margin-top: 2243px; - display: block; - } - .slicerbarh12 { - margin-top: 2453px; - display: block; - } - .content { - margin-left: 4.27%; - width: 95.73%; - margin-bottom: 85px; - max-width: 95.73%; - margin-right: 0; - .title { - font-size: 2.14rem; - margin: 80px 0 60px 0; - padding-left: 0; - } - .productsContainer { - padding-bottom: 50px; - .subTitleContainer { - position: absolute; - padding-left: 3%; - display: flex; - .subTitleBar { - background: linear-gradient( - 135deg, - rgb(157, 113, 247) 40%, - rgb(116, 113, 246) - ); - height: 18px; - width: 4px; - } - .subTitleText { - width: 200px; - font-size: 1em; - margin-left: 20px; - } - } - .basicSubTitle { - margin-top: 30px; - } - .extensionSubTitle { - margin-top: 1165px; - margin-left: 0; - } - .slicerbarv { - width: 1px; - margin-left: 3%; - } - .slicerbarv2 { - display: none; - } - .slicerbarv3 { - margin-left: 92.2%; - } - .products { - width: 88.86%; // 0.04 * 0.96 + 0.03 * 2 - margin-left: 3.34%; - padding-top: 80px; - flex-flow: column; - .subProducts { - width: 100%; - } - .extensionsWrapper { - margin-top: 80px; - width: 100%; - } - .basicsWrapper { - width: 100%; - } - .col { - width: 100%; - height: 210px; - .product { - padding: 7.5% 5.05% 5.05% 5.05%; - .ptitle { - margin-bottom: 0; - font-size: 1.29em; - font-weight: 450; - } - .pdescription { - margin-top: 8px; - margin-bottom: 0; - font-size: 1em; - } - .pbottom { - width: 92%; - .plinks { - font-size: 1em; - } - } - } - &:hover { - .product { - box-shadow: 0px 0px 0px rgba(0, 0, 0, 0); - } - } - } - .imgHolderWrapper { - display: none; - } - } - } - } - } - .largeDot { - display: none; - } - .mediumDot { - display: none; - } - .smallDot { - display: block; - } -} diff --git a/site/components/Products/Products.tsx b/site/components/Products/Products.tsx deleted file mode 100644 index e452b4e54..000000000 --- a/site/components/Products/Products.tsx +++ /dev/null @@ -1,341 +0,0 @@ -import { useChinaMirrorHost } from '@antv/dumi-theme-antv/dist/slots/hooks'; -import { Col, Row } from 'antd'; -import classNames from 'classnames'; -import { useIntl, useLocale } from 'dumi'; -import React from 'react'; -import { CATEGORIES, ProductType, getProducts } from './getProducts'; -import styles from './Products.module.less'; - -const Products = () => { - const locale = useLocale(); - const intl = useIntl(); - - const useT = (transformedMessage: string) => { - return intl.formatMessage({ - id: transformedMessage, - }); - }; - const [isChinaMirrorHost] = useChinaMirrorHost(); - const [products, setProducts] = React.useState([]); - - const lang: 'zh' | 'en' = locale.id.includes('zh') ? 'zh' : 'en'; - React.useEffect(() => { - getProducts({ language: lang, isChinaMirrorHost }).then((data) => { - setProducts(data.slice(0, 10)); - }); - }, [lang, isChinaMirrorHost]); - - const filterProducts = (type: string) => - products.filter((item) => item.category === type); - const getProductCols = (type: string) => { - const renderData = filterProducts(type); - const cols = []; - renderData.forEach((product: any) => { - cols.push( - - -
-

- {`${product.title} ${product.slogan || ''}`} -

-

- {product.description} -

- -
-
- , - ); - }); - if ( - type === 'extension' && - filterProducts('extension').length < filterProducts('basic').length - ) { - cols.push( - - holderback1 - holderback2 - , - ); - } - return cols; - }; - - const getDots = () => { - let dots: Array = []; - const length = products.length; - const cols = 3; - const rows = Math.ceil(length / 2) + 1; - const lefts = [0.0398, 0.4983, 0.9591]; - let startTop = 81; - const circleRadius = 1.5; - let cardHeight = 192; - for (let i = 0; i < rows; i++) { - for (let j = 0; j < cols; j++) { - const top = `${startTop + cardHeight * i - circleRadius}px`; - const left = `${lefts[j] * 100}%`; - dots.push( -
, - ); - } - } - - // for medium screen - cardHeight = 239.5; - const mlefts = [0.0398, 0.4978, 0.958]; - const mtops = [79, 318, 558, 798, 1038]; - for (let i = 0; i < rows; i++) { - for (let j = 0; j < cols; j++) { - const top = `${mtops[i]}px`; - const left = `${mlefts[j] * 100}%`; - dots.push( -
, - ); - } - } - - // for small screen - const smallStartLeftPercent = 0.028; - const srows = length + 1; - let sStartTop = 79.5; - const sCardHeight = 210; - const sCircleRadius = 1.5; - const sLeftColLeft = `${smallStartLeftPercent * 100}%`; - const sRigthColLeft = `${(smallStartLeftPercent + 0.891) * 100}%`; - for (let i = 0; i < srows; i++) { - let top; - if (i === Math.ceil(srows / 2)) { - top = `${sStartTop + sCardHeight * i - sCircleRadius}px`; - dots.push( -
, - ); - dots.push( -
, - ); - sStartTop = sStartTop * 2 + 0.5; - } - top = `${sStartTop + sCardHeight * i - sCircleRadius}px`; - dots.push( -
, - ); - dots.push( -
, - ); - } - - return dots; - }; - - let titleStr = '我们的产品'; - let subTitleStr1 = '基础产品'; - let subTitleStr2 = '扩展产品'; - - return ( -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

{useT(titleStr)}

-
-
-
-
- {getDots()} - {CATEGORIES.map(({ name }) => { - return ( -
-
-
{useT(name)}
-
- ); - })} -
- {CATEGORIES.map(({ type }) => { - return ( - - {getProductCols(type)} - - ); - })} -
-
-
-
- ); -}; -export default Products; diff --git a/site/components/Products/getProducts.tsx b/site/components/Products/getProducts.tsx deleted file mode 100644 index 8345b017d..000000000 --- a/site/components/Products/getProducts.tsx +++ /dev/null @@ -1,91 +0,0 @@ -import { each } from 'lodash'; -import React from 'react'; -import { getActualUrl } from '../Banner/helper'; - -const tuple = (...args: T) => args; -const CATEGORY_TYPE = tuple('basic', 'extension', 'mobile', 'ecology'); - -export const CATEGORIES: Array<{ - type: (typeof CATEGORY_TYPE)[number]; - name: string; -}> = [ - { type: 'basic', name: '标准版基础产品' }, - { type: 'extension', name: '标准版扩展产品' }, - { type: 'mobile', name: '移动定制(F版)产品' }, - { type: 'ecology', name: '周边生态' }, -]; - -export interface ProductItem { - title: string; - icon?: React.ReactNode; - slogan?: string; - description: string; - category: (typeof CATEGORY_TYPE)[number]; - links?: Array<{ - icon?: React.ReactNode; - title: React.ReactNode; - url?: string; - openExternal?: boolean; - }>; -} - -export type ValuesOf = T[number]; - -export type ProductType = { - links: { - /** 产品首页 */ - readonly home?: { url: string; title?: string }; - /** 图表示例 */ - readonly example?: { url: string; title?: string }; - /** 使用文档 */ - readonly api?: { url: string; title?: string }; - }; - [k: string]: any; -}; - -export function getProducts({ - language, - isChinaMirrorHost, -}: { - language: 'zh' | 'en'; - isChinaMirrorHost: boolean; -}): Promise { - // 如需要修改产品信息,请到 https://yuyan.antfin-inc.com/datavprod/antv-site-datas/schemas/site-products-h5data/console 修改区块内容 - return fetch( - 'https://render.alipay.com/p/h5data/antv-site-datas_site-products-h5data.json', - ) - .then((res) => res.json()) - .then((products: ProductType[]) => { - return products - .filter((d) => d.lang === language) - .map((d) => { - const links = - typeof d.links === 'string' ? JSON.parse(d.links) : { ...d.links }; - const newLinks: any = {}; - - each(links, (value, k: string) => { - newLinks[k] = { - ...value, - url: value?.url && getActualUrl(value.url, isChinaMirrorHost), - }; - }); - return { ...d, links: newLinks }; - }); - }); -} - -// 转化跳转,更具当前 镜像、中英文 进行修改。 -export function transformUrl({ - url, - language, - isChinaMirrorHost, -}: { - url: string; - language: 'zh' | 'en'; - isChinaMirrorHost: boolean; -}) { - const languageUrl = url - .replace(/\/(zh|en)/, '') - .replace(/([http|https]\:\/\/).+?\//, (v) => `${v}${language}/`); - return getActualUrl(languageUrl, isChinaMirrorHost); -} diff --git a/site/components/Quotes/Quotes.module.less b/site/components/Quotes/Quotes.module.less deleted file mode 100644 index 9f62d73b5..000000000 --- a/site/components/Quotes/Quotes.module.less +++ /dev/null @@ -1,129 +0,0 @@ -.wrapper { - display: flex; - margin: auto; - position: relative; - flex-direction: column; - padding: 0; - height: auto; - background: #f8fafe; - overflow: hidden; - .subWrapper { - width: 1440px; - max-width: calc(100% - 120px); - margin-left: auto; - margin-right: auto; - } - .quotesWrapper { - position: relative; - z-index: 10; - } - .rows { - width: fit-content; - position: relative; - margin-top: 10.8%; - margin-bottom: 120px; - margin-left: 4.05%; - width: 91.89%; - .cardWrapper { - height: 600px; - transition: all 0.3s; - } - } - .triangleback { - position: absolute; - width: 50%; - max-width: 638px; - top: -80px; - right: -150px; - z-index: 1; - } - .rectback { - position: absolute; - width: 30%; - max-width: 620px; - left: 0; - bottom: -150px; - z-index: 1; - } - .circleback1 { - position: absolute; - width: 80%; - left: -100px; - top: -130px; - z-index: 1; - display: none; - } - .circleback2 { - position: absolute; - top: 60%; - width: 80%; - left: -30%; - z-index: 1; - display: none; - } -} - -@media (max-width: 1350px) { - .wrapper { - .rows { - .cardWrapper { - height: 610px; - } - } - } -} - -@media (max-width: 1200px) { - .wrapper { - .rows { - .cardWrapper { - height: 690px; - } - } - } -} - -@media (max-width: 1014px) { - .wrapper { - .subWrapper { - width: 100%; - max-width: 100%; - margin-left: 0; - margin-right: 0; - } - .rows { - box-shadow: -0px 0px 0px rgba(0, 0, 0, 0.1); - margin-top: 150px; - margin-left: 4.27%; - width: 91.46%; - margin-bottom: 0px; - .cardWrapper { - height: auto; - margin-bottom: 135px; - width: 100%; - box-shadow: -5px 5px 15px rgba(0, 0, 0, 0.1); - background-color: #fff; - } - } - .triangleback { - position: absolute; - width: 65%; - top: 90%; - right: -20%; - z-index: 1; - } - .rectback { - position: absolute; - width: 50%; - left: 0%; - top: 31%; - z-index: 1; - } - .circleback1 { - display: block; - } - .circleback2 { - display: block; - } - } -} diff --git a/site/components/Quotes/Quotes.tsx b/site/components/Quotes/Quotes.tsx deleted file mode 100644 index eea415690..000000000 --- a/site/components/Quotes/Quotes.tsx +++ /dev/null @@ -1,112 +0,0 @@ -import { Col, Row } from 'antd'; -import React from 'react'; -import QuoteCard from '../quoteCard/quoteCard'; -import styles from './Quotes.module.less'; - -const triangleBackImg = - 'https://gw.alipayobjects.com/zos/basement_prod/19b3ca21-8814-4f6c-ac1f-48de7fef9c1e.svg'; -const rectBackImg = - 'https://gw.alipayobjects.com/zos/basement_prod/fcb07699-6159-4f9a-b473-73ad0e049203.svg'; -const circleBackImg = - 'https://gw.alipayobjects.com/zos/basement_prod/5615f534-8d29-40bb-91c8-ac6ff18d075e.svg'; -const circleBack2Img = - 'https://gw.alipayobjects.com/zos/basement_prod/5615f534-8d29-40bb-91c8-ac6ff18d075e.svg'; - -const Quotes = () => { - const quotes = [ - { - index: 0, - avatar: - 'https://gw.alipayobjects.com/zos/rmsportal/fSPDqijMJrYFdODpgEBV.png', - name: 'Leland Wilkinson', - from: '伊利诺伊大学计算机科学客座教授,H2O.ai 首席科学家,G2 项目顾问', - quote: - 'I am thrill with G2. It is amazingly faithful to the GG system and has the potential to generate more graphics.', - - nameEn: 'Leland Wilkinson', - fromEn: - 'Visiting professor of Computer Science College, University of Illinois. Chief Scientist of H2O.ai. Project Consultant of G2', - quoteEn: - 'I am thrill with G2. It is amazingly faithful to the GG system and has the potential to generate more graphics.', - }, - { - index: 1, - avatar: 'https://os.alipayobjects.com/rmsportal/CcFeLxXurbQmwrT.jpg', - name: '陈为', - from: '浙江大学计算机学院 CAD & CG 国家重点实验室教授', - quote: - '在多年可视化设计与开发的积累基础上,蚂蚁金服团队推出了 AntV 产品,这是工业界在基础可视化语法与实践方面发出的最强声音,也是工业界与学术界一道推进可视化研发进展的最佳利器。', - - nameEn: 'Wei Chen', - fromEn: 'Professor of State Key Lab of CAD & CG, Zhejiang University', - quoteEn: - 'Based on years of visualization design and development, Ant Financial launched AntV. ' + - 'It is the strongest voice on basic visualization syntax and practice in industry, ' + - 'and it is also the best tool for advancing the visualization development collaboration between industry and academia.', - }, - { - index: 2, - avatar: - 'https://zos.alipayobjects.com/rmsportal/wtkIALmYDSmOIiAalkdv.jpg', - name: '林峰', - from: '爱烹饪的可视化攻城狮', - quote: - 'G2 是面粉,Echarts 是面条,皆微小而美好,因小食材怀大梦想,助力共筹东方巨龙崛起之盛宴,迎四海饕客。', - nameEn: 'Feng Lin', - fromEn: 'Visualization Developer Who Loves Cooking', - quoteEn: - 'G2 is the flour, Echarts is the noodle. They are both tiny but beautiful. ' + - 'Tiny ingredients have big dreams, helping to co-sponser the feast of the rise of the Eastern Dragon, ' + - 'and welcoming the guests from all over the world.', - }, - ]; - - const getCards = () => { - const length = quotes.length; - const children = quotes.map((quote, i) => { - let hasBorder = true; - if (i === 0 || i === length - 1) { - hasBorder = false; - } - return ( - - - - ); - }); - return children; - }; - return ( -
-
-
- - {getCards()} - -
- triangle-background - rect-background - circle-background - circle-background -
-
- ); -}; - -export default Quotes; diff --git a/site/components/ResourceCard/ResourceCard.module.less b/site/components/ResourceCard/ResourceCard.module.less deleted file mode 100644 index 2a7192cc5..000000000 --- a/site/components/ResourceCard/ResourceCard.module.less +++ /dev/null @@ -1,89 +0,0 @@ -.card { - background-color: #fff; - margin-top: 0px; - height: 400px; - transition: all 0.3s; - &:hover { - margin-top: -25px; - height: 450px; - border-bottom: 4px solid; - border-image: linear-gradient(to right, #aa6aff, #706dff) 30 30; - border-color: #aa6aff; - .detail { - display: block; - } - } - .detail { - margin-top: 14.2%; - color: rgb(71, 118, 232); - display: none; - font-size: 1.14em; - } - .content { - padding: 69px 10% 96px 10%; - .icon { - transition: all 0.3s; - height: 96px; - } - .title { - font-size: 1.71em; - color: #000; - margin-top: 40px; - margin-bottom: 0; - } - .description { - margin-top: 16px; - opacity: 0.6; - width: 100%; - font-size: 1em; - font-weight: 350; - line-height: 1.7em; - color: rgba(105, 123, 140, 1); - } - } -} - -@media (max-width: 1000px) { - .card { - .content { - .icon { - height: 70px; - } - } - } -} - -@media (max-width: 768px) { - .card { - margin-left: 0; - margin-right: 0; - &:hover { - margin-top: 0px; - height: auto; - border: 0px solid; - } - &:not(:hover) { - height: auto; - } - .content { - padding: 80px 32px 60px 32px; - .icon { - width: 80px; - } - .title { - font-size: 1.286em; - margin-top: 66px; - font-weight: 500; - } - .description { - font-size: 1em; - margin-top: 8px; - } - .detail { - font-size: 1em; - margin-top: 28px; - display: block; - } - } - } -} diff --git a/site/components/ResourceCard/ResourceCard.tsx b/site/components/ResourceCard/ResourceCard.tsx deleted file mode 100644 index d8fd366a7..000000000 --- a/site/components/ResourceCard/ResourceCard.tsx +++ /dev/null @@ -1,47 +0,0 @@ -import classNames from 'classnames'; -import { useIntl } from 'dumi'; -import React from 'react'; -import styles from './ResourceCard.module.less'; - -interface Props { - cardContent: { - icon: string; - title: string; - description: string; - index: number; - link: string; - }; -} - -const ResourceCard = (props: Props) => { - const intl = useIntl(); - - const useT = (transformedMessage: string) => { - return intl.formatMessage({ - id: transformedMessage, - }); - }; - let detailLinkStr = '查看详情'; - return ( -
-
- resource -

{props.cardContent.title}

-

{props.cardContent.description}

- - {useT(detailLinkStr)} - -
-
- ); -}; - -export default ResourceCard; diff --git a/site/components/Resources/Resources.module.less b/site/components/Resources/Resources.module.less deleted file mode 100644 index 18ea02140..000000000 --- a/site/components/Resources/Resources.module.less +++ /dev/null @@ -1,107 +0,0 @@ -@import '~antd/lib/style/themes/default.less'; -.wrapper { - background: rgb(250, 251, 253); - height: calc(9.375% + 450px); - display: flex; - margin: auto; - position: relative; - flex-direction: column; - padding: 0; - overflow: hidden; - .content { - width: 91.95%; - height: 100%; - padding-bottom: 9.375%; - position: relative; - width: 1440px; - max-width: calc(100% - 120px); - margin-left: auto; - margin-right: auto; - .title { - font-size: 2.714em; - font-weight: 500; - margin: 100px 0 0 0; - position: relative; - height: min-content; - color: #000; - z-index: 10; - margin-left: 4.06%; - } - .slicer { - width: 32px; - height: 6px; - margin-top: 36px; - background-color: #597ef7; - margin-left: 4.06%; - } - .rowsWrapper { - position: relative; - margin-top: 57px; - height: 400px; - z-index: 10; - margin-left: 4.06%; - width: 91.88%; - .rows { - position: absolute; - width: 100%; - text-align: center; - display: flex; - .cardWrapper { - height: fit-content; - > div { - box-shadow: 0px 8px 10px rgba(49, 70, 89, 0.05); - } - } - } - } - .circleback { - position: absolute; - width: 40%; - top: -100px; - right: -15%; - z-index: 1; - } - .diamandback { - position: absolute; - width: 30%; - left: -10%; - bottom: -8%; - z-index: 1; - } - } -} - -@media (max-width: 768px) { - .wrapper { - .content { - padding-left: 4.27%; - padding-bottom: 23.47%; - width: 95.73%; - max-width: 95.73%; - margin-left: 0; - margin-right: 0; - .title { - font-size: 2.143rem; - margin: 80px 0 44px 0; - } - .slicer { - display: none; - } - .rowsWrapper { - margin-left: 0; - width: 100%; - height: auto; - .rows { - position: relative; - flex-direction: column; - .cardWrapper { - width: 100%; - margin-bottom: 20px; - margin-right: 0px; - margin-left: 0px; - } - } - } - } - } -} diff --git a/site/components/Resources/Resources.tsx b/site/components/Resources/Resources.tsx deleted file mode 100644 index a913e6545..000000000 --- a/site/components/Resources/Resources.tsx +++ /dev/null @@ -1,85 +0,0 @@ -import { Col, Row } from 'antd'; -import { useIntl } from 'dumi'; -import React from 'react'; -import { getLang } from '../../utils'; -import ResourceCard from '../ResourceCard/ResourceCard'; -import styles from './Resources.module.less'; - -const circleBackImg = - 'https://gw.alipayobjects.com/zos/basement_prod/e63aad85-573e-484b-94dd-dc8ea2334c09.svg'; -const diamandBackImg = - 'https://gw.alipayobjects.com/zos/basement_prod/bd846fce-bf9b-47f0-abba-87bb9bbd2982.svg'; - -const ResourcesPage = () => { - const lang = getLang(); - const intl = useIntl(); - - const useT = (transformedMessage: string) => { - return intl.formatMessage({ - id: transformedMessage, - }); - }; - const cards = [ - { - index: 0, - icon: 'https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*icqYSbEiNxIAAAAAAAAAAABkARQnAQ', - title: useT('图表用法'), - description: useT( - '从数据出发,从功能角度对常见图表进行分类,提供规范使用指引。', - ), - link: 'https://antv-2018.alipay.com/zh-cn/vis/chart/index.html', - }, - { - index: 1, - icon: 'https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*mt47RKxGy8kAAAAAAAAAAABkARQnAQ', - title: useT('设计价值观'), - description: useT( - '对数据图形进行拆解、提炼,抽象出一套数据图形可视化交互视觉规范。', - ), - link: `/${lang}/docs/specification/principles/basic`, - }, - { - index: 2, - icon: 'https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*zBDKTaSg-7AAAAAAAAAAAABkARQnAQ', - title: useT('工具资源'), - description: useT( - '在进行模式、组件和语言的整理过程中发现的优秀书籍和资源。', - ), - link: `/${lang}/docs/specification/resources`, - }, - ]; - - const cardCols = cards.map((card, i) => ( - - - - )); - - let titleStr = '工具和资源'; - return ( -
-
-

- {useT(titleStr)} -

-
-
- - {cardCols} - -
- circle-background - diamand-background -
-
- ); -}; -export default ResourcesPage; diff --git a/site/components/ThemeCharts/index.tsx b/site/components/ThemeCharts/index.tsx deleted file mode 100644 index 3ffae9742..000000000 --- a/site/components/ThemeCharts/index.tsx +++ /dev/null @@ -1,210 +0,0 @@ -import { ColorPicker } from 'antd'; -import classNames from 'classnames'; -import { useIntl } from 'dumi'; -import React, { useCallback, useMemo, useState } from 'react'; -import THEME_DATAS from '../../data/theme-charts.json'; -import THEME_COLORS1 from '../../data/theme-colors1.json'; -import THEME_COLORS2 from '../../data/theme-colors2.json'; -import THEME_COLORS3 from '../../data/theme-colors3.json'; -import { - ColumnChart, - GaugeChart, - GraphChart, - LineChart, - PieChart, - StackedColumnChart, -} from './Charts'; - -import styles from './index.module.less'; - -// 已经生成的主题 json 文件 -const themeColors = [THEME_COLORS1, THEME_COLORS2, THEME_COLORS3]; - -// 自定义主题,暂时不显示,需要时添加到 theme-charts.json 中 -// { -// "text": "自定主题", -// "img": "https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*5y_oTYSFUjUAAAAAAAAAAAAADmJ7AQ/original", -// "activeImg": "https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*qebjT6nhHBIAAAAAAAAAAAAADmJ7AQ/original", -// "darkImg": "https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*fuZwTJHtSWYAAAAAAAAAAAAADmJ7AQ/original", -// "theme": "light" -// } - -const CHARTS = [ - { - msg: '仪表盘', - chart: (theme: any) => , - }, - { - msg: '分组柱形图', - chart: (theme: any) => , - }, - { - msg: '力导向图布局', - chart: (theme: any) => , - }, - { - msg: '折线图', - chart: (theme: any) => , - }, - { - msg: '堆叠柱形图', - chart: (theme: any) => , - }, - { - msg: '环形图', - chart: (theme: any) => , - }, -]; - -// 定制主题,一键生成 -export function ThemeCharts() { - const intl = useIntl(); - const useT = (transformedMessage: string) => { - return intl.formatMessage({ - id: transformedMessage, - }); - }; - - const [select, setSelect] = useState(THEME_DATAS[0]); - - // theme.colors10 - // const [colors10, setColors10] = useState(pick('#6400FF', true)); - const [colorsJson, setColorsJson] = useState(THEME_COLORS1); - - // download theme - const onDownload = useCallback(() => { - // 等待后续放开自定义主题使用 autoPalette2 生成 - // const themes = autoPalette2(colors10); - // const json = { - // // _comment: { - // // [useT('发散色板')]: useT('对比色渐变色板,均基于分类色板生长而来,一般是两种互补色(也可以是对比色)去展现数据从一个负向值到 0 点再到正向值的连续变化区间,显示相对立的两个值的大小关系,常用于气温的冷热、海拔高低、股票涨跌等。'), - // // }, - // categorical: { - // text: useT('分类色板'), - // msg: useT('主要用于描述分类数据,如苹果、香蕉、梨,常用一个颜色代表一个值以区分不同类型,取色时色相分布均衡,相邻颜色之间明暗需考虑差异性,常用于饼图的不同分类、填充地图中的不同国家、关系图中的不同角色等。'), - // colors: themes.categorical, - // }, - // sequential: { - // text: useT('单一顺序色板'), - // msg: useT('单色顺序色板,均基于分类色板生长而来,一般使用同一色相,通过明度或饱和度的渐变,常用来表示同一事物中的数值大小或梯度变化,如排行榜等级变化、一个国家或地区的新增人口数对比、风险等级变化等。'), - // colors: themes.sequential, - // }, - // diverging: { - // text: useT('邻近顺序色板'), - // msg: useT('邻近顺序色板,均基于分类色板生长而来,为加大辨识度也可使用邻近色相,通过明度或饱和度的渐变,常用来表示同一事物中的数值大小或梯度变化,如排行榜等级变化、一个国家或地区的新增人口数对比、风险等级变化等。'), - // colors: themes.diverging, - // } - // }; - - const str = JSON.stringify(colorsJson, null, 2); - - const blobURL = new Blob([str], { type: 'text/json' }); - - const a = document.createElement('a'); - a.href = window.URL.createObjectURL(blobURL); - a.download = 'antv_theme.json'; - a.click(); - a.remove(); - }, [colorsJson]); - - const isDark = useMemo(() => select?.theme === 'dark', [select]); - - return ( -
-
{useT('定制主题,一键生成')}
-
- {THEME_DATAS.map((data, index) => { - const isTheme = select.text === data.text; - - const button = ( -
{ - setSelect(data); - setColorsJson(themeColors[index]); - }} - > - theme_icon{' '} - {useT(data.text)} -
- ); - - return index === 3 && isTheme ? ( - setColors10(pick(color, true))} - panelRender={(panel: React.ReactNode) => ( -
-
- { - // colors10.map((color) =>
) - } -
- {panel} -
- )} - > - {button} - - ) : ( - button - ); - })} -
-
-
- antv -
AntV 5.0
-
-
{useT(select.text)}
-
-
- {CHARTS.map((chart, index) => { - return ( -
-
{useT(chart.msg)}
-
- {chart.chart({ ...colorsJson, value: select.theme })} -
-
- ); - })} -
-
-
-
- download{' '} - {useT('规范下载')} -
-
-
- ); -} diff --git a/site/components/bannerSVG/bannerSVG.module.less b/site/components/bannerSVG/bannerSVG.module.less deleted file mode 100644 index 098fe8314..000000000 --- a/site/components/bannerSVG/bannerSVG.module.less +++ /dev/null @@ -1,1429 +0,0 @@ -.wrapper { - width: 100%; - text-align: center; -} - -.block1Circle1 { - animation: block1Circle1Position 4s ease-in-out infinite; -} -.block1Circle1Infinite { - animation: block1Circle1Position 4s ease-in-out infinite; -} -.block1Circle2 { - animation: block1Circle2Position 4s ease-in-out infinite; -} -.block1Circle2Infinite { - animation: block1Circle2Position 4s ease-in-out infinite; -} -.block1Circle3 { - animation: block1Circle3Position 4s ease-in-out infinite; -} -.block1Circle3Infinite { - animation: block1Circle3Position 4s ease-in-out infinite; -} -.block1Circle4 { - animation: block1Circle4Position 4s ease-in-out infinite; -} -.block1Circle4Infinite { - animation: block1Circle4Position 4s ease-in-out infinite; -} -.block1Circle5 { - animation: block1Circle1Position 4s ease-in-out infinite; -} -.block1Circle5Infinite { - animation: block1Circle1Position 4s ease-in-out infinite; -} - -@keyframes block1Circle1Position { - 0% { - cy: 30; - } - 35% { - cy: 45; - } - 65% { - cy: 15; - } - 100% { - cy: 30; - } -} -@keyframes block1Circle2Position { - 0% { - cy: 15; - } - 35% { - cy: 35; - } - 65% { - cy: 45; - } - 100% { - cy: 15; - } -} -@keyframes block1Circle3Position { - 0% { - cy: 30; - } - 35% { - cy: 15; - } - 65% { - cy: 45; - } - 100% { - cy: 30; - } -} -@keyframes block1Circle4Position { - 0% { - cy: 45; - } - 35% { - cy: 25; - } - 65% { - cy: 15; - } - 100% { - cy: 45; - } -} - -.block2Bar1 { - animation: block2Bar1Width 3.5s ease-in-out infinite; -} -.block2Bar1Infinite { - animation: block2Bar1WidthInfinite 2s ease-in-out infinite; -} -.block2Bar2 { - animation: block2Bar2Width 3.5s ease-in-out infinite; -} -.block2Bar2Infinite { - animation: block2Bar2WidthInfinite 2s ease-in-out infinite; -} -.block2Bar3 { - animation: block2Bar3Width 3.5s ease-in-out infinite; -} -.block2Bar3Infinite { - animation: block2Bar3WidthInfinite 2s ease-in-out infinite; -} -.block2Bar4 { - animation: block2Bar4Width 3.5s ease-in-out infinite; -} -.block2Bar4Infinite { - animation: block2Bar4WidthInfinite 2s ease-in-out infinite; -} - -@keyframes block2Bar1Width { - 0% { - width: 27px; - } - 40% { - width: 27px; - } - 50% { - width: 53px; - } - 90% { - width: 53px; - } - 100% { - width: 27px; - } -} -@keyframes block2Bar2Width { - 0% { - width: 44px; - } - 40% { - width: 44px; - } - 50% { - width: 10px; - } - 90% { - width: 10px; - } - 100% { - width: 44px; - } -} -@keyframes block2Bar3Width { - 0% { - width: 17px; - } - 40% { - width: 17px; - } - 50% { - width: 50px; - } - 90% { - width: 50px; - } - 100% { - width: 17px; - } -} -@keyframes block2Bar4Width { - 0% { - width: 34px; - } - 40% { - width: 34px; - } - 50% { - width: 5px; - } - 90% { - width: 5px; - } - 100% { - width: 34px; - } -} -@keyframes block2Bar1WidthInfinite { - 0% { - width: 27px; - } - 10% { - width: 27px; - } - 30% { - width: 53px; - } - 80% { - width: 53px; - } - 100% { - width: 27px; - } -} -@keyframes block2Bar2WidthInfinite { - 0% { - width: 44px; - } - 10% { - width: 44px; - } - 30% { - width: 10px; - } - 80% { - width: 10px; - } - 100% { - width: 44px; - } -} -@keyframes block2Bar3WidthInfinite { - 0% { - width: 17px; - } - 10% { - width: 17px; - } - 30% { - width: 50px; - } - 80% { - width: 50px; - } - 100% { - width: 17px; - } -} -@keyframes block2Bar4WidthInfinite { - 0% { - width: 34px; - } - 10% { - width: 34px; - } - 30% { - width: 5px; - } - 80% { - width: 5px; - } - 100% { - width: 34px; - } -} - -.block3ArcBig { - animation: block3ArcBigLinedash 5s ease-in-out infinite; -} -.block3ArcBigInfinite { - animation: block3ArcBigLinedashInfinite 2s ease-in-out infinite; -} -.block3ArcSmall { - animation: block3ArcSmallLinedash 5s ease-in-out infinite; -} -.block3ArcSmallInfinite { - animation: block3ArcSmallLinedashInfinite 2s ease-in-out infinite; -} - -@keyframes block3ArcBigLinedash { - 0% { - stroke-dashoffset: 36px; - } - 40% { - stroke-dashoffset: 36px; - } - 50% { - stroke-dashoffset: 10px; - } - 90% { - stroke-dashoffset: 10px; - } - 100% { - stroke-dashoffset: 36px; - } -} -@keyframes block3ArcSmallLinedash { - 0% { - stroke-dashoffset: 6px; - } - 40% { - stroke-dashoffset: 6px; - } - 50% { - stroke-dashoffset: 25px; - } - 90% { - stroke-dashoffset: 25px; - } - 100% { - stroke-dashoffset: 6px; - } -} - -@keyframes block3ArcBigLinedashInfinite { - 0% { - stroke-dashoffset: 36px; - } - 10% { - stroke-dashoffset: 36px; - } - 30% { - stroke-dashoffset: 10px; - } - 80% { - stroke-dashoffset: 10px; - } - 100% { - stroke-dashoffset: 36px; - } -} -@keyframes block3ArcSmallLinedashInfinite { - 0% { - stroke-dashoffset: 6px; - } - 10% { - stroke-dashoffset: 6px; - } - 30% { - stroke-dashoffset: 25px; - } - 80% { - stroke-dashoffset: 25px; - } - 100% { - stroke-dashoffset: 6px; - } -} - -.block4LineVerti { - animation: block4LineVertiHeight 1s ease-in-out infinite; -} -.block4LineVertiInfinite { - animation: block4LineVertiHeight 1s ease-in-out infinite; -} -.block4LineHori { - animation: block4LineHoriWidth 1s ease-in-out infinite; -} -.block4LineHoriInfinite { - animation: block4LineHoriWidth 1s ease-in-out infinite; -} -.block4Circle { - animation: block4CircleLinedash 1s ease-in-out infinite; -} -.block4CircleInfinite { - animation: block4CircleLinedash 1s ease-in-out infinite; -} - -@keyframes block4LineVertiHeight { - 0% { - height: 20px; - y: 180px; - } - 100% { - height: 192px; - y: 20px; - } -} -@keyframes block4LineHoriWidth { - 0% { - width: 20px; - } - 100% { - width: 202px; - } -} -@keyframes block4CircleLinedash { - 0% { - stroke-dashoffset: 130px; - } - 100% { - stroke-dashoffset: 0px; - } -} - -.block5Fan { - animation: block5FanLinedash 5s ease-in-out infinite; -} -.block5FanInfinite { - animation: block5FanLinedashInfinite 3s ease-in-out infinite; -} - -@keyframes block5FanLinedash { - 0% { - stroke-dashoffset: 193.5px; - } - 10% { - stroke-dashoffset: 193.5px; - } - 45% { - stroke-dashoffset: 0px; - } - 60% { - stroke-dashoffset: 0px; - } - 95% { - stroke-dashoffset: 193.5px; - } - 100% { - stroke-dashoffset: 193.5px; - } -} -@keyframes block5FanLinedashInfinite { - 0% { - stroke-dashoffset: 193.5px; - } - 5% { - stroke-dashoffset: 193.5px; - } - 45% { - stroke-dashoffset: 0px; - } - 50% { - stroke-dashoffset: 0px; - } - 85% { - stroke-dashoffset: 193.5px; - } - 100% { - stroke-dashoffset: 193.5px; - } -} - -.block6CircleA { - animation: block6CircleAPosition 3s ease-in-out infinite; -} -.block6CircleAInfinite { - animation: block6CircleAPositionInfinite 3s ease-in-out infinite; -} -.block6CircleB { - animation: block6CircleBPosition 3s ease-in-out infinite; -} -.block6CircleBInfinite { - animation: block6CircleBPositionInfinite 3s ease-in-out infinite; -} -.block6CircleC { - animation: block6CircleCPosition 3s ease-in-out infinite; -} -.block6CircleCInfinite { - animation: block6CircleCPositionInfinite 3s ease-in-out infinite; -} -.block6CircleD { - animation: block6CircleDPosition 3s ease-in-out infinite; -} -.block6CircleDInfinite { - animation: block6CircleDPositionInfinite 3s ease-in-out infinite; -} -.block6CircleE { - animation: block6CircleEPosition 3s ease-in-out infinite; -} -.block6CircleEInfinite { - animation: block6CircleEPositionInfinite 3s ease-in-out infinite; -} -.block6CircleF { - animation: block6CircleFPosition 3s ease-in-out infinite; -} -.block6CircleFInfinite { - animation: block6CircleFPositionInfinite 3s ease-in-out infinite; -} -.block6CircleG { - animation: block6CircleGPosition 3s ease-in-out infinite; -} -.block6CircleGInfinite { - animation: block6CircleGPositionInfinite 3s ease-in-out infinite; -} -.block6CircleH { - animation: block6CircleHPosition 3s ease-in-out infinite; -} -.block6CircleHInfinite { - animation: block6CircleHPositionInfinite 3s ease-in-out infinite; -} -.block6CircleI { - animation: block6CircleIPosition 3s ease-in-out infinite; -} -.block6CircleIInfinite { - animation: block6CircleIPositionInfinite 3s ease-in-out infinite; -} -.block6CircleJ { - animation: block6CircleJPosition 3s ease-in-out infinite; -} -.block6CircleJInfinite { - animation: block6CircleJPositionInfinite 3s ease-in-out infinite; -} -.block6CircleK { - animation: block6CircleKPosition 3s ease-in-out infinite; -} -.block6CircleKInfinite { - animation: block6CircleKPositionInfinite 3s ease-in-out infinite; -} -.block6CircleL { - animation: block6CircleLPosition 3s ease-in-out infinite; -} -.block6CircleLInfinite { - animation: block6CircleLPositionInfinite 3s ease-in-out infinite; -} -.block6CircleM { - animation: block6CircleMPosition 3s ease-in-out infinite; -} -.block6CircleMInfinite { - animation: block6CircleMPositionInfinite 3s ease-in-out infinite; -} -.block6CircleN { - animation: block6CircleNPosition 3s ease-in-out infinite; -} -.block6CircleNInfinite { - animation: block6CircleNPositionInfinite 3s ease-in-out infinite; -} -.block6CircleO { - animation: block6CircleOPosition 3s ease-in-out infinite; -} -.block6CircleOInfinite { - animation: block6CircleOPositionInfinite 3s ease-in-out infinite; -} -.block6CircleP { - animation: block6CirclePPosition 3s ease-in-out infinite; -} -.block6CirclePInfinite { - animation: block6CirclePPositionInfinite 3s ease-in-out infinite; -} -.block6NodesContainer { - animation: block6ContainerRotate 3s ease-in-out infinite; -} -.block6NodesContainerInfinite { - animation: block6ContainerRotateInfinite 3s ease-in-out infinite; -} -@keyframes block6CircleAPosition { - 0% { - cx: 45.5px; - cy: 45.5px; - } - 30% { - cx: 45.5px; - cy: 45.5px; - } - 50% { - cx: 36.8px; - cy: 49.8px; - } - 80% { - cx: 36.8px; - cy: 49.8px; - } - 100% { - cx: 45.5px; - cy: 45.5px; - } -} -@keyframes block6CircleBPosition { - 0% { - cx: 65.5px; - cy: 45.5px; - } - 30% { - cx: 65.5px; - cy: 45.5px; - } - 50% { - cx: 66.8px; - cy: 29.8px; - } - 80% { - cx: 66.8px; - cy: 29.8px; - } - 100% { - cx: 65.5px; - cy: 45.5px; - } -} -@keyframes block6CircleCPosition { - 0% { - cx: 85.5px; - cy: 45.5px; - } - 30% { - cx: 85.5px; - cy: 45.5px; - } - 50% { - cx: 84.8px; - cy: 29.8px; - } - 80% { - cx: 84.8px; - cy: 29.8px; - } - 100% { - cx: 85.5px; - cy: 45.5px; - } -} -@keyframes block6CircleDPosition { - 0% { - cx: 105.5px; - cy: 45.5px; - } - 30% { - cx: 105.5px; - cy: 45.5px; - } - 50% { - cx: 101.8px; - cy: 36.8px; - } - 80% { - cx: 101.8px; - cy: 36.8px; - } - 100% { - cx: 105.5px; - cy: 45.5px; - } -} -@keyframes block6CircleEPosition { - 0% { - cx: 45.5px; - cy: 65.5px; - } - 30% { - cx: 45.5px; - cy: 65.5px; - } - 50% { - cx: 29.8px; - cy: 66.8px; - } - 80% { - cx: 29.8px; - cy: 66.8px; - } - 100% { - cx: 45.5px; - cy: 65.5px; - } -} -@keyframes block6CircleFPosition { - 0% { - cx: 65.5px; - cy: 65.5px; - } - 30% { - cx: 65.5px; - cy: 65.5px; - } - 50% { - cx: 49.8px; - cy: 36.8px; - } - 80% { - cx: 49.8px; - cy: 36.8px; - } - 100% { - cx: 65.5px; - cy: 65.5px; - } -} -@keyframes block6CircleGPosition { - 0% { - cx: 85.5px; - cy: 65.5px; - } - 30% { - cx: 85.5px; - cy: 65.5px; - } - 50% { - cx: 114.8px; - cy: 49.8px; - } - 80% { - cx: 114.8px; - cy: 49.8px; - } - 100% { - cx: 85.5px; - cy: 65.5px; - } -} -@keyframes block6CircleHPosition { - 0% { - cx: 105.5px; - cy: 65.5px; - } - 30% { - cx: 105.5px; - cy: 65.5px; - } - 50% { - cx: 121.8px; - cy: 66.8px; - } - 80% { - cx: 121.8px; - cy: 66.8px; - } - 100% { - cx: 105.5px; - cy: 65.5px; - } -} -@keyframes block6CircleIPosition { - 0% { - cx: 45.5px; - cy: 85.5px; - } - 30% { - cx: 45.5px; - cy: 85.5px; - } - 50% { - cx: 29.8px; - cy: 84.8px; - } - 80% { - cx: 29.8px; - cy: 84.8px; - } - 100% { - cx: 45.5px; - cy: 85.5px; - } -} -@keyframes block6CircleJPosition { - 0% { - cx: 65.5px; - cy: 85.5px; - } - 30% { - cx: 65.5px; - cy: 85.5px; - } - 50% { - cx: 36.8px; - cy: 101.8px; - } - 80% { - cx: 36.8px; - cy: 101.8px; - } - 100% { - cx: 65.5px; - cy: 85.5px; - } -} -@keyframes block6CircleKPosition { - 0% { - cx: 85.5px; - cy: 85.5px; - } - 30% { - cx: 85.5px; - cy: 85.5px; - } - 50% { - cx: 101.8px; - cy: 114.8px; - } - 80% { - cx: 101.8px; - cy: 114.8px; - } - 100% { - cx: 85.5px; - cy: 85.5px; - } -} -@keyframes block6CircleLPosition { - 0% { - cx: 105.5px; - cy: 85.5px; - } - 30% { - cx: 105.5px; - cy: 85.5px; - } - 50% { - cx: 121.8px; - cy: 84.8px; - } - 80% { - cx: 121.8px; - cy: 84.8px; - } - 100% { - cx: 105.5px; - cy: 85.5px; - } -} -@keyframes block6CircleMPosition { - 0% { - cx: 45.5px; - cy: 105.5px; - } - 30% { - cx: 45.5px; - cy: 105.5px; - } - 50% { - cx: 49.8px; - cy: 115.8px; - } - 80% { - cx: 49.8px; - cy: 115.8px; - } - 100% { - cx: 45.5px; - cy: 105.5px; - } -} -@keyframes block6CircleNPosition { - 0% { - cx: 65.5px; - cy: 105.5px; - } - 30% { - cx: 65.5px; - cy: 105.5px; - } - 50% { - cx: 66.8px; - cy: 121.8px; - } - 80% { - cx: 66.8px; - cy: 121.8px; - } - 100% { - cx: 65.5px; - cy: 105.5px; - } -} -@keyframes block6CircleOPosition { - 0% { - cx: 85.5px; - cy: 105.5px; - } - 30% { - cx: 85.5px; - cy: 105.5px; - } - 50% { - cx: 84.8px; - cy: 121.8px; - } - 80% { - cx: 84.8px; - cy: 121.8px; - } - 100% { - cx: 85.5px; - cy: 105.5px; - } -} -@keyframes block6CirclePPosition { - 0% { - cx: 105.5px; - cy: 105.5px; - } - 30% { - cx: 105.5px; - cy: 105.5px; - } - 50% { - cx: 114.8px; - cy: 101.8px; - } - 80% { - cx: 114.8px; - cy: 101.8px; - } - 100% { - cx: 105.5px; - cy: 105.5px; - } -} - -@keyframes block6CircleAPositionInfinite { - 0% { - cx: 45.5px; - cy: 45.5px; - } - 10% { - cx: 45.5px; - cy: 45.5px; - } - 30% { - cx: 36.8px; - cy: 49.8px; - } - 60% { - cx: 36.8px; - cy: 49.8px; - } - 80% { - cx: 45.5px; - cy: 45.5px; - } - 100% { - cx: 45.5px; - cy: 45.5px; - } -} -@keyframes block6CircleBPositionInfinite { - 0% { - cx: 65.5px; - cy: 45.5px; - } - 10% { - cx: 65.5px; - cy: 45.5px; - } - 30% { - cx: 66.8px; - cy: 29.8px; - } - 60% { - cx: 66.8px; - cy: 29.8px; - } - 80% { - cx: 65.5px; - cy: 45.5px; - } - 100% { - cx: 65.5px; - cy: 45.5px; - } -} -@keyframes block6CircleCPositionInfinite { - 0% { - cx: 85.5px; - cy: 45.5px; - } - 10% { - cx: 85.5px; - cy: 45.5px; - } - 30% { - cx: 84.8px; - cy: 29.8px; - } - 60% { - cx: 84.8px; - cy: 29.8px; - } - 80% { - cx: 85.5px; - cy: 45.5px; - } - 100% { - cx: 85.5px; - cy: 45.5px; - } -} -@keyframes block6CircleDPositionInfinite { - 0% { - cx: 105.5px; - cy: 45.5px; - } - 10% { - cx: 105.5px; - cy: 45.5px; - } - 30% { - cx: 101.8px; - cy: 36.8px; - } - 60% { - cx: 101.8px; - cy: 36.8px; - } - 80% { - cx: 105.5px; - cy: 45.5px; - } - 100% { - cx: 105.5px; - cy: 45.5px; - } -} -@keyframes block6CircleEPositionInfinite { - 0% { - cx: 45.5px; - cy: 65.5px; - } - 10% { - cx: 45.5px; - cy: 65.5px; - } - 30% { - cx: 29.8px; - cy: 66.8px; - } - 60% { - cx: 29.8px; - cy: 66.8px; - } - 80% { - cx: 45.5px; - cy: 65.5px; - } - 100% { - cx: 45.5px; - cy: 65.5px; - } -} -@keyframes block6CircleFPositionInfinite { - 0% { - cx: 65.5px; - cy: 65.5px; - } - 10% { - cx: 65.5px; - cy: 65.5px; - } - 30% { - cx: 49.8px; - cy: 36.8px; - } - 60% { - cx: 49.8px; - cy: 36.8px; - } - 80% { - cx: 65.5px; - cy: 65.5px; - } - 100% { - cx: 65.5px; - cy: 65.5px; - } -} -@keyframes block6CircleGPositionInfinite { - 0% { - cx: 85.5px; - cy: 65.5px; - } - 10% { - cx: 85.5px; - cy: 65.5px; - } - 30% { - cx: 114.8px; - cy: 49.8px; - } - 60% { - cx: 114.8px; - cy: 49.8px; - } - 80% { - cx: 85.5px; - cy: 65.5px; - } - 100% { - cx: 85.5px; - cy: 65.5px; - } -} -@keyframes block6CircleHPositionInfinite { - 0% { - cx: 105.5px; - cy: 65.5px; - } - 10% { - cx: 105.5px; - cy: 65.5px; - } - 30% { - cx: 121.8px; - cy: 66.8px; - } - 60% { - cx: 121.8px; - cy: 66.8px; - } - 80% { - cx: 105.5px; - cy: 65.5px; - } - 100% { - cx: 105.5px; - cy: 65.5px; - } -} -@keyframes block6CircleIPositionInfinite { - 0% { - cx: 45.5px; - cy: 85.5px; - } - 10% { - cx: 45.5px; - cy: 85.5px; - } - 30% { - cx: 29.8px; - cy: 84.8px; - } - 60% { - cx: 29.8px; - cy: 84.8px; - } - 80% { - cx: 45.5px; - cy: 85.5px; - } - 100% { - cx: 45.5px; - cy: 85.5px; - } -} -@keyframes block6CircleJPositionInfinite { - 0% { - cx: 65.5px; - cy: 85.5px; - } - 10% { - cx: 65.5px; - cy: 85.5px; - } - 30% { - cx: 36.8px; - cy: 101.8px; - } - 60% { - cx: 36.8px; - cy: 101.8px; - } - 80% { - cx: 65.5px; - cy: 85.5px; - } - 100% { - cx: 65.5px; - cy: 85.5px; - } -} -@keyframes block6CircleKPositionInfinite { - 0% { - cx: 85.5px; - cy: 85.5px; - } - 10% { - cx: 85.5px; - cy: 85.5px; - } - 30% { - cx: 101.8px; - cy: 114.8px; - } - 60% { - cx: 101.8px; - cy: 114.8px; - } - 80% { - cx: 85.5px; - cy: 85.5px; - } - 100% { - cx: 85.5px; - cy: 85.5px; - } -} -@keyframes block6CircleLPositionInfinite { - 0% { - cx: 105.5px; - cy: 85.5px; - } - 10% { - cx: 105.5px; - cy: 85.5px; - } - 30% { - cx: 121.8px; - cy: 84.8px; - } - 60% { - cx: 121.8px; - cy: 84.8px; - } - 80% { - cx: 105.5px; - cy: 85.5px; - } - 100% { - cx: 105.5px; - cy: 85.5px; - } -} -@keyframes block6CircleMPositionInfinite { - 0% { - cx: 45.5px; - cy: 105.5px; - } - 10% { - cx: 45.5px; - cy: 105.5px; - } - 30% { - cx: 49.8px; - cy: 115.8px; - } - 60% { - cx: 49.8px; - cy: 115.8px; - } - 80% { - cx: 45.5px; - cy: 105.5px; - } - 100% { - cx: 45.5px; - cy: 105.5px; - } -} -@keyframes block6CircleNPositionInfinite { - 0% { - cx: 65.5px; - cy: 105.5px; - } - 10% { - cx: 65.5px; - cy: 105.5px; - } - 30% { - cx: 66.8px; - cy: 121.8px; - } - 60% { - cx: 66.8px; - cy: 121.8px; - } - 80% { - cx: 65.5px; - cy: 105.5px; - } - 100% { - cx: 65.5px; - cy: 105.5px; - } -} -@keyframes block6CircleOPositionInfinite { - 0% { - cx: 85.5px; - cy: 105.5px; - } - 10% { - cx: 85.5px; - cy: 105.5px; - } - 30% { - cx: 84.8px; - cy: 121.8px; - } - 60% { - cx: 84.8px; - cy: 121.8px; - } - 80% { - cx: 85.5px; - cy: 105.5px; - } - 100% { - cx: 85.5px; - cy: 105.5px; - } -} -@keyframes block6CirclePPositionInfinite { - 0% { - cx: 105.5px; - cy: 105.5px; - } - 10% { - cx: 105.5px; - cy: 105.5px; - } - 30% { - cx: 114.8px; - cy: 101.8px; - } - 60% { - cx: 114.8px; - cy: 101.8px; - } - 80% { - cx: 105.5px; - cy: 105.5px; - } - 100% { - cx: 105.5px; - cy: 105.5px; - } -} - -@keyframes block6ContainerRotate { - 0% { - transform: rotate(0deg); - transform-origin: 77.5px 77.5px; - } - 30% { - transform: rotate(0deg); - transform-origin: 77.5px 77.5px; - } - 50% { - transform: rotate(90deg); - transform-origin: 77.5px 77.5px; - } - 80% { - transform: rotate(90deg); - transform-origin: 77.5px 77.5px; - } - 100% { - transform: rotate(0deg); - transform-origin: 77.5px 77.5px; - } -} -@keyframes block6ContainerRotateInfinite { - 0% { - transform: rotate(0deg); - transform-origin: 77.5px 77.5px; - } - 10% { - transform: rotate(0deg); - transform-origin: 77.5px 77.5px; - } - 30% { - transform: rotate(90deg); - transform-origin: 77.5px 77.5px; - } - 60% { - transform: rotate(90deg); - transform-origin: 77.5px 77.5px; - } - 80% { - transform: rotate(0deg); - transform-origin: 77.5px 77.5px; - } - 100% { - transform: rotate(0deg); - transform-origin: 77.5px 77.5px; - } -} - -.block8Bar1 { - animation: block8Bar1Height 3s ease-in-out infinite; -} -.block8Bar1Infinite { - animation: block8Bar1Height 3s ease-in-out infinite; -} -.block8Bar2 { - animation: block8Bar2Height 3s ease-in-out infinite; -} -.block8Bar2Infinite { - animation: block8Bar2Height 3s ease-in-out infinite; -} -.block8Bar3 { - animation: block8Bar3Height 3s ease-in-out infinite; -} -.block8Bar3Infinite { - animation: block8Bar3Height 3s ease-in-out infinite; -} - -@keyframes block8Bar1Height { - 0% { - height: 23.75px; - y: 10px; - } - 50% { - height: 30.75px; - y: 3px; - } - 100% { - height: 23.75px; - y: 10px; - } -} -@keyframes block8Bar2Height { - 0% { - height: 33.75px; - y: 0px; - } - 50% { - height: 10px; - y: 23.75px; - } - 100% { - height: 33.75px; - y: 0px; - } -} -@keyframes block8Bar3Height { - 0% { - height: 16.875px; - y: 17px; - } - 50% { - height: 26.875px; - y: 7px; - } - 100% { - height: 16.875px; - y: 17px; - } -} - -.block7Curve { - animation: block7CurveLinedash 1.5s ease-in-out infinite; -} -.block7CurveInfinite { - animation: block7CurveLinedash 1.5s ease-in-out infinite; -} -@keyframes block7CurveLinedash { - 0% { - stroke-dashoffset: 90; - } - 100% { - stroke-dashoffset: 0; - } -} diff --git a/site/components/bannerSVG/bannerSVG.tsx b/site/components/bannerSVG/bannerSVG.tsx deleted file mode 100644 index 7deed5aed..000000000 --- a/site/components/bannerSVG/bannerSVG.tsx +++ /dev/null @@ -1,1233 +0,0 @@ -import React from 'react'; -import styles from './bannerSVG.module.less'; - -interface BannerSVGProps { - play: boolean; -} - -const BannerSVG = (props: BannerSVGProps) => { - const block6NodeRadius = '2'; - const block6CirclePositions = [ - { x: 36.8, y: 49.8 }, //A - { x: 66.8, y: 29.8 }, //B - { x: 84.8, y: 29.8 }, //C - { x: 101.8, y: 36.8 }, //D - { x: 29.8, y: 66.8 }, //E - { x: 49.8, y: 36.8 }, //F - { x: 114.8, y: 49.8 }, //G - { x: 121.8, y: 66.8 }, //H - { x: 29.8, y: 84.8 }, //I - { x: 36.8, y: 101.8 }, //J - { x: 101.8, y: 114.8 }, //K - { x: 121.8, y: 84.8 }, //L - { x: 49.8, y: 115.8 }, //M - { x: 66.8, y: 121.8 }, //N - { x: 84.8, y: 121.8 }, //O - { x: 114.8, y: 101.8 }, //P - ]; - const block6GridPositions = [ - { x: 45.5, y: 45.5 }, //A - { x: 65.5, y: 45.5 }, //B - { x: 85.5, y: 45.5 }, //C - { x: 105.5, y: 45.5 }, //D - { x: 45.5, y: 65.5 }, //E - { x: 65.5, y: 65.5 }, //F - { x: 85.5, y: 65.5 }, //G - { x: 105.5, y: 65.5 }, //H - { x: 45.5, y: 85.5 }, //I - { x: 65.5, y: 85.5 }, //J - { x: 85.5, y: 85.5 }, //K - { x: 105.5, y: 85.5 }, //L - { x: 45.5, y: 105.5 }, //M - { x: 65.5, y: 105.5 }, //N - { x: 85.5, y: 105.5 }, //O - { x: 105.5, y: 105.5 }, //P - ]; - const labels = [ - 'A', - 'B', - 'C', - 'D', - 'E', - 'F', - 'G', - 'H', - 'I', - 'J', - 'K', - 'L', - 'M', - 'N', - 'O', - 'P', - ]; - const fills = [ - 'rgb(180, 100, 254)', //A - 'rgb(163, 89, 254)', //B - 'rgb(141, 76, 254)', //C - 'rgb(120, 64, 254)', //D - 'rgb(205, 114, 254)', //E - 'rgb(185, 103, 254)', //F - 'rgb(159, 87, 254)', //G - 'rgb(140, 78, 254)', //H - 'rgb(224, 126, 254)', //I - 'rgb(202, 114, 254)', //J - 'rgb(179, 100, 254)', //K - 'rgb(164, 92, 254)', //L - 'rgb(248, 141, 254)', //M - 'rgb(223, 126, 254)', //N - 'rgb(201, 112, 254)', //O - 'rgb(180, 101, 254)', //P - ]; - - const getBlock6Circles = () => { - const circles = labels.map((label, i) => { - const beginx = block6GridPositions[i].x; - const beginy = block6GridPositions[i].y; - const classname = `block6Circle${label}`; - return ( - - ); - }); - return circles; - }; - - const hoverAnimate = false; - const mouseEnterBlock1 = () => { - if (hoverAnimate) { - for (let i = 1; i <= 5; i++) { - const circleShadow = document.getElementById( - `block1-circle${i}-shadow`, - ); - const circle = document.getElementById(`block1-circle${i}-object`); - circleShadow && - circleShadow.setAttribute( - 'class', - styles[`block1Circle${i}Infinite`], - ); - circle && - circle.setAttribute('class', styles[`block1Circle${i}Infinite`]); - } - } - }; - const mouseOutBlock1 = () => { - if (hoverAnimate) { - for (let i = 1; i <= 5; i++) { - const circleShadow = document.getElementById( - `block1-circle${i}-shadow`, - ); - const circle = document.getElementById(`block1-circle${i}-object`); - circleShadow && circleShadow.setAttribute('class', ''); //styles[`block1Circle${i}`] - circle && circle.setAttribute('class', ''); //styles[`block1Circle${i}`] - } - } - }; - const mouseEnterBlock2 = () => { - if (hoverAnimate) { - for (let i = 1; i <= 4; i++) { - const bar = document.getElementById(`block2-bar${i}`); - bar && bar.setAttribute('class', styles[`block2Bar${i}Infinite`]); - } - } - }; - const mouseOutBlock2 = () => { - if (hoverAnimate) { - for (let i = 1; i <= 4; i++) { - const bar = document.getElementById(`block2-bar${i}`); - bar && bar.setAttribute('class', ''); // styles[`block2Bar${i}Infinite`] - } - } - }; - const mouseEnterBlock3 = () => { - if (hoverAnimate) { - if (hoverAnimate) { - const bigArc = document.getElementById('block3-arc-big'); - const smallArc = document.getElementById('block3-arc-small'); - bigArc && bigArc.setAttribute('class', styles.block3ArcBigInfinite); - smallArc && - smallArc.setAttribute('class', styles.block3ArcSmallInfinite); - } - } - }; - const mouseOutBlock3 = () => { - if (hoverAnimate) { - const bigArc = document.getElementById('block3-arc-big'); - const smallArc = document.getElementById('block3-arc-small'); - bigArc && bigArc.setAttribute('class', ''); - smallArc && smallArc.setAttribute('class', ''); - } - }; - const mouseEnterBlock4 = () => { - if (hoverAnimate) { - const verti = document.getElementById('block4-back-line-verti'); - const hori = document.getElementById('block4-back-line-hori'); - const circle = document.getElementById('block4-back-circle'); - verti && verti.setAttribute('class', styles.block4LineVertiInfinite); - hori && hori.setAttribute('class', styles.block4LineHoriInfinite); - circle && circle.setAttribute('class', styles.block4CircleInfinite); - } - }; - const mouseOutBlock4 = () => { - if (hoverAnimate) { - const verti = document.getElementById('block4-back-line-verti'); - const hori = document.getElementById('block4-back-line-hori'); - const circle = document.getElementById('block4-back-circle'); - verti && verti.setAttribute('class', ''); - hori && hori.setAttribute('class', ''); - circle && circle.setAttribute('class', ''); - } - }; - - const mouseEnterBlock5 = () => { - if (hoverAnimate) { - const fan = document.getElementById('block5-fan'); - fan && fan.setAttribute('class', styles.block5FanInfinite); - } - }; - const mouseOutBlock5 = () => { - if (hoverAnimate) { - const fan = document.getElementById('block5-fan'); - fan && fan.setAttribute('class', styles.block5Fan); - } - }; - - const mouseEnterBlock6 = () => { - if (hoverAnimate) { - labels.forEach((label) => { - const circle = document.getElementById(`block6-circle-${label}`); - circle && - circle.setAttribute('class', styles[`block6Circle${label}Infinite`]); - }); - const container = document.getElementById('block6-nodes'); - container && - container.setAttribute('class', styles.block6NodesContainerInfinite); - } - }; - const mouseOutBlock6 = () => { - if (hoverAnimate) { - labels.forEach((label) => { - const circle = document.getElementById(`block6-circle-${label}`); - circle && circle.setAttribute('class', ''); - }); - const container = document.getElementById('block6-nodes'); - container && container.setAttribute('class', ''); - } - }; - const mouseEnterBlock7 = () => { - if (hoverAnimate) { - const curve = document.getElementById('block7-curve'); - curve && curve.setAttribute('class', styles.block7CurveInfinite); - } - }; - const mouseOutBlock7 = () => { - if (hoverAnimate) { - const curve = document.getElementById('block7-curve'); - curve && curve.setAttribute('class', ''); - } - }; - const mouseEnterBlock8 = () => { - if (hoverAnimate) { - for (let i = 1; i <= 3; i++) { - const bar = document.getElementById(`block8-bar${i}`); - bar && bar.setAttribute('class', styles[`block8Bar${i}Infinite`]); - } - } - }; - const mouseOutBlock8 = () => { - if (hoverAnimate) { - for (let i = 1; i <= 3; i++) { - const bar = document.getElementById(`block8-bar${i}`); - bar && bar.setAttribute('class', ''); - } - } - }; - - return ( -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {/* - - - - - - */} - -
- ); -}; - -export default BannerSVG; diff --git a/site/components/common/ModuleTitle/index.module.less b/site/components/common/ModuleTitle/index.module.less deleted file mode 100644 index 4d606858a..000000000 --- a/site/components/common/ModuleTitle/index.module.less +++ /dev/null @@ -1,23 +0,0 @@ -.msg { - display: flex; - align-items: center; - justify-content: center; - flex-direction: column; - - .title { - height: 48px; - font-size: 40px; - color: #1d2129; - margin-bottom: 16px; - font-family: AlibabaPuHuiTiB; - } - - .subTitle { - font-family: PingFangSC; - color: #424e66; - letter-spacing: 0; - line-height: 24px; - margin-bottom: 32px; - max-width: 800px; - } -} diff --git a/site/components/common/OverflowedText/mixins.less b/site/components/common/OverflowedText/mixins.less deleted file mode 100644 index 5e1b82451..000000000 --- a/site/components/common/OverflowedText/mixins.less +++ /dev/null @@ -1,44 +0,0 @@ -.text-overflow() { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} - -.transition-fast() { - transition: all 0.1s; -} - -.transition() { - transition: all 0.2s; -} - -.scroll-y() { - overflow: hidden; - overflow-y: auto; -} - -.childMiddle() { - display: flex; - align-items: center; - justify-content: center; -} - -.di-tooltip-inner() { - .ant-tooltip-inner { - max-height: 200px; - padding: 8px; - overflow-y: auto; - color: rgba(0, 0, 0, 0.65); - background: #fff; - box-shadow: 0 1px 12px rgba(0, 0, 0, 0.2); - } - .ant-tooltip-arrow { - border-top-color: #fff; - } -} - -.icon-extra () { - position: absolute; - top: -6px; - right: -8px; -} diff --git a/site/components/quoteCard/quoteCard.module.less b/site/components/quoteCard/quoteCard.module.less deleted file mode 100644 index 547d00c40..000000000 --- a/site/components/quoteCard/quoteCard.module.less +++ /dev/null @@ -1,181 +0,0 @@ -.card { - background-color: #fff; - height: 100%; - margin-top: 0px; - transition: all 0.3s; - text-align: center; - .border { - position: absolute; - width: 2px; - height: 100%; - background: rgba(0, 0, 0, 0.01); - } - .lborder { - left: 0; - } - .rborder { - right: 0; - } - .content { - padding: 92px 7.96% 0 7.96%; - .avatar { - width: 94px; - height: 94px; - margin-top: -210px; - box-shadow: 5px 15px 30px rgba(0, 0, 0, 0.1); - } - .name { - font-size: 1.714rem; - color: #000; - margin-top: -20px; - margin-bottom: 0; - } - .from { - opacity: 0.6; - width: 100%; - color: rgba(105, 123, 140, 1); - font-size: 1.14em; - margin-top: 12px; - margin-bottom: 0; - } - .qslicer { - display: block; - position: absolute; - width: 28px; - height: 6px; - top: 236px; - left: 50%; - transform: translateX(-14px); - background: linear-gradient(25deg, rgb(181, 99, 243), rgb(67, 115, 246)); - } - .quoteWrapper { - width: 84.08%; - top: 278px; - position: absolute; - height: auto; - .quote { - position: relative; - line-height: 2em; - z-index: 10; - font-size: 1.29em; - color: rgba(49, 70, 89, 1); - } - .pad { - position: absolute; - width: 68px; - } - .leftpad { - left: 0%; - margin-top: -35px; - } - .rightpad { - right: 0%; - margin-top: -50px; - } - } - } -} - -@media (max-width: 1014px) { - .card { - height: auto; - .border { - display: none; - } - .content { - padding: 120px 20px 120px 20px; - .avatar { - margin-top: -270px; - } - .name { - top: 87px; - } - .from { - margin-top: 12px; - } - .qslicer { - margin-top: 48px; - top: 0; - position: relative; - } - .quoteWrapper { - position: relative; - margin-top: 58px; - top: 0; - width: 100%; - .pad { - width: 68px; - } - .leftpad { - left: 0; - margin-top: -3%; - } - .rightpad { - right: 0; - margin-top: -6%; - } - } - } - } -} - -@media (max-width: 768px) { - .card { - .content { - padding: 120px 20px 120px 20px; - .avatar { - width: 100px; - height: 100px; - } - .name { - font-size: 1.5em; - font-weight: 500; - } - .from { - font-size: 1em; - margin-top: 8px; - } - .qslicer { - width: 30px; - height: 7px; - transform: translateX(-15px); - } - .quoteWrapper { - .quote { - line-height: 40px; - font-size: 1.2em; - } - .pad { - position: absolute; - width: 70px; - } - .leftpad { - left: 0; - margin-top: -3%; - } - .rightpad { - right: 0; - margin-top: -10%; - } - } - } - } -} - -@media (max-width: 480px) { - .card { - .content { - .quoteWrapper { - .leftpad { - left: 5%; - margin-top: unset; - top: -14%; - } - .rightpad { - right: 5%; - margin-top: -16%; - } - } - } - } -} diff --git a/site/components/quoteCard/quoteCard.tsx b/site/components/quoteCard/quoteCard.tsx deleted file mode 100644 index 15ca77dac..000000000 --- a/site/components/quoteCard/quoteCard.tsx +++ /dev/null @@ -1,69 +0,0 @@ -import { Avatar } from 'antd'; -import classNames from 'classnames'; -import { useIntl } from 'dumi'; -import React from 'react'; -import styles from './quoteCard.module.less'; - -const leftpad = - 'https://gw.alipayobjects.com/zos/basement_prod/50fbdc16-bac3-4ecd-8210-f4ed2c116fdb.svg'; -const rightpad = - 'https://gw.alipayobjects.com/zos/basement_prod/194a96ef-be8c-4e51-85e1-69b34aa2a697.svg'; - -interface Props { - cardContent: { - avatar: string | undefined; - quote: string; - from: string; - name: string; - index: number; - nameEn: string; - fromEn: string; - quoteEn: string; - }; - hasBorder: boolean; -} - -const QuoteCard = (props: Props) => { - const intl = useIntl(); - - const useT = (transformedMessage: string) => { - return intl.formatMessage({ - id: transformedMessage, - }); - }; - const borderSlicer: Array = []; - if (props.hasBorder) { - borderSlicer.push( -
, - ); - borderSlicer.push( -
, - ); - } - return ( -
- {borderSlicer} -
- -

{useT(props.cardContent.name)}

-

{useT(props.cardContent.from)}

-
-
- leftpad -

{useT(props.cardContent.quote)}

- rightpad -
-
-
- ); -}; - -export default QuoteCard; diff --git a/site/data/banner-info.json b/site/data/banner-info.json deleted file mode 100644 index 5fc087b6e..000000000 --- a/site/data/banner-info.json +++ /dev/null @@ -1,593 +0,0 @@ -{ - "about": { - "name": "About", - "title": "关于我们", - "info": "我们是蚂蚁集团数据可视化团队,一群有爱有梦的人,怀揣「让人们在数据世界里获得视觉化思考能力」的梦想前行,成就智能时代全球领先的数据可视化解决方案。", - "banner_img": "https://gw.alipayobjects.com/zos/bmw-prod/84f7b424-2003-452d-b9ff-e8c829095ebb.svg", - "banner_url": "/about" - }, - "products_tabs": [ - { - "name": "G2 | G2Plot", - "products": ["G2", "G2Plot"], - "demos": [ - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_f5c722/afts/img/A*WmOcQafphvEAAAAAAAAAAABkARQnAQ", - "title_zh": "动态条形图", - "title_en": "Dynamtic bar", - "host": "https://g2.antv.antgroup.com/", - "path": "/examples/case/dynamic#dynamic-bar", - "ratio": 1.3 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_d314dd/afts/img/A*kHHZQa-fpAQAAAAAAAAAAAAAARQnAQ", - "title_zh": "指标卡联动", - "title_en": "Dynamtic bar", - "host": "https://g2plot.antv.antgroup.com/", - "path": "/examples/case/statistical-scenario#trend", - "ratio": 1.3 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_d314dd/afts/img/A*5fg3Q7n3tFEAAAAAAAAAAAAAARQnAQ", - "title_zh": "自定义 Tooltip", - "title_en": "Custom tooltip", - "host": "https://g2plot.antv.antgroup.com/", - "path": "/examples/case/customize#customize-tooltip", - "ratio": 1.3 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_d314dd/afts/img/A*DIzzR6M4T94AAAAAAAAAAAAAARQnAQ", - "title_zh": "水波图", - "title_en": "Liquid charts", - "host": "https://g2plot.antv.antgroup.com/", - "path": "/examples/progress-plots/liquid#basic#style", - "ratio": 1.3 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_d314dd/afts/img/A*-9CLRItZrPMAAAAAAAAAAAAAARQnAQ", - "title_zh": "基础条形图 - 转化率", - "title_en": "Bar plot conversion tag", - "host": "https://g2plot.antv.antgroup.com/", - "path": "/examples/bar/basic#conversion-tag", - "ratio": 1.3 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_d314dd/afts/img/A*uKKQQ4Xc3GMAAAAAAAAAAAAAARQnAQ", - "title_zh": "瀑布图 - 数值标签展示绝对值", - "title_en": "Waterfall plot with absolute-label-dataMode", - "host": "https://g2plot.antv.antgroup.com/", - "path": "/examples/more-plots/waterfall/#absolute-label", - "ratio": 1.3 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_d314dd/afts/img/A*tdedT4uaPaYAAAAAAAAAAABkARQnAQ", - "title_zh": "四象限散点图", - "title_en": "Scatter with quadrants", - "host": "https://g2plot.antv.antgroup.com/", - "path": "/examples/scatter/bubble/#quadrant", - "ratio": 1.3 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_2274c3/afts/img/A*gS12TpN1MN8AAAAAAAAAAAAAARQnAQ", - "title_zh": "对比漏斗图", - "title_en": "Compare funnel", - "host": "https://g2plot.antv.antgroup.com/", - "path": "/examples/case/statistical-scenario#compare-funnel", - "ratio": 1.3 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_2274c3/afts/img/A*CcFlQ7se_sAAAAAAAAAAAABkARQnAQ", - "title_zh": "2016 年全球十大转基因作物种植面积和耕地总", - "title_en": "Row facet", - "host": "https://g2.antv.antgroup.com/", - "path": "/examples/case/facet#facet3", - "ratio": 1.3 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_f5c722/afts/img/A*id4CSZIMCtsAAAAAAAAAAABkARQnAQ", - "title_zh": "词云图-图片遮罩", - "title_en": "Word cloud plot - image mask", - "host": "https://g2plot.antv.antgroup.com/", - "path": "/examples/more-plots/word-cloud/#image-mask", - "ratio": 1.3 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_d314dd/afts/img/A*d_LXSq9yXEYAAAAAAAAAAAAAARQnAQ", - "title_zh": "雷达图", - "title_en": "Area radar plot", - "host": "https://g2plot.antv.antgroup.com/", - "path": "/examples/more-plots/radar#basic", - "ratio": 1.3 - }, - - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_f5c722/afts/img/A*KDGDQLKrV_EAAAAAAAAAAABkARQnAQ", - "title_zh": "某水产公司 2017 年月盈利变化", - "title_en": "Month earnings", - "host": "https://g2.antv.antgroup.com/", - "path": "/examples/case/area#area2", - "ratio": 1.3 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_d314dd/afts/img/A*aiU7SpgRN48AAAAAAAAAAAAAARQnAQ", - "title_zh": "柱线混合图表-更多示例", - "title_en": "Other column line", - "host": "https://g2plot.antv.antgroup.com/", - "path": "/examples/dual-axes/column-line#demo-more-1", - "ratio": 1.3 - }, - { - "imgurl": "https://gw.alicdn.com/tfs/TB1EgtsuuT2gK0jSZFvXXXnFXXa-958-591.png", - "title_zh": "基础漏斗图-转置", - "title_en": "Funnel plot-transpose", - "host": "https://g2plot.antv.antgroup.com/", - "path": "/examples/more-plots/funnel#basic-transpose", - "ratio": 1.3 - } - ] - }, - { - "name": "S2", - "products": ["S2"], - "demos": [ - { - "imgurl": "https://gw.alipayobjects.com/zos/antfincdn/RYy4GI8Y8d/demo.gif", - "title_zh": "分群下钻表", - "title_en": "Group drill down sheet", - "host": "https://s2.antv.antgroup.com/", - "path": "/examples/case/proportion#group-drill-down", - "ratio": 1.3 - }, - { - "imgurl": "https://gw.alipayobjects.com/zos/antfincdn/BLitStN%24sR/196f5853-98cf-414f-af83-16b9c594c377.png", - "title_zh": "KPI 趋势表", - "title_en": "KPI StrategySheet", - "host": "https://s2.antv.antgroup.com/", - "path": "/examples/case/kpi-strategy#basic", - "ratio": 1.3 - }, - { - "imgurl": "https://gw.alipayobjects.com/zos/antfincdn/clsZ0BSxpR/c315b0f0-03df-46e6-b470-7894c7fa5b17.png", - "title_zh": "单人群占比表", - "title_en": "Single population proportion Sheet", - "host": "https://s2.antv.antgroup.com/", - "path": "/examples/case/proportion#single-population-proportion", - "ratio": 1.3 - }, - { - "imgurl": "https://gw.alipayobjects.com/zos/antfincdn/Hp592db5za/60960a3d-f405-4474-a412-95721a21654d.png", - "title_zh": "指标对比表", - "title_en": "Measure Comparison Sheet", - "host": "https://s2.antv.antgroup.com/", - "path": "/examples/case/comparison#measure-comparison", - "ratio": 1.3 - }, - { - "imgurl": "https://gw.alipayobjects.com/zos/antfincdn/GVz3yaFf5O/b57857b9-a307-474a-a418-c97f627311a1.png", - "title_zh": "多人群对比表", - "title_en": "Multiple People Comparison Sheet", - "host": "https://s2.antv.antgroup.com/", - "path": "/examples/case/comparison#multiple-people-comparison", - "ratio": 1.3 - } - ] - }, - { - "name": "G6 | Graphin", - "products": ["G6", "Graphin"], - "demos": [ - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*HS5gQ6yCiL4AAAAAAAAAAAAAARQnAQ", - "title_zh": "决策树", - "title_en": "Decision Tree", - "host": "https://g6.antv.vision/", - "path": "/examples/case/treeDemos#decisionTree", - "ratio": 1.46 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*e2nhTZPD0tUAAAAAAAAAAAAAARQnAQ", - "title_zh": "布局切换", - "title_en": "Layout Translate", - "host": "https://g6.antv.vision/", - "path": "/examples/net/layoutMechanism#layoutTranslate", - "ratio": 1.46 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*4TJ0Tq3IQUwAAAAAAAAAAAAAARQnAQ", - "title_zh": "环形弧线图", - "title_en": "Circular Arc Diagram", - "host": "https://g6.antv.vision/", - "path": "/examples/net/arcDiagram#circularArcDiagram", - "ratio": 1.46 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*CWOwQrSBZ9wAAAAAAAAAAAAAARQnAQ", - "title_zh": "圣诞推文可视化", - "title_en": "Christmas Bubbles", - "host": "https://g6.antv.vision/", - "path": "/examples/case/graphDemos/#christmasBubbles", - "ratio": 1.46 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*w-HGQa0EwKIAAAAAAAAAAAAAARQnAQ", - "title_zh": "鱼眼放大镜", - "title_en": "Fisheye Lens", - "host": "https://g6.antv.vision/", - "path": "/examples/tool/fisheye#fisheye", - "ratio": 1.46 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*R1W_Q4A9IgQAAAAAAAAAAAAAARQnAQ", - "title_zh": "高亮相关元素", - "title_en": "Highlight Related Items", - "host": "https://g6.antv.vision/", - "path": "/examples/interaction/highlight#activateRelations", - "ratio": 1.46 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*tXyfTqdwv6cAAAAAAAAAAAAAARQnAQ", - "title_zh": "边过滤镜", - "title_en": "Edge Lens", - "host": "https://g6.antv.vision/", - "path": "/examples/tool/edgeFilterLens#edgeFilter", - "ratio": 1.46 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*KooGTZ8vm6cAAAAAAAAAAAAAARQnAQ", - "title_zh": "轮廓包裹", - "title_en": "Hull", - "host": "https://g6.antv.vision/", - "path": "/examples/interaction/hull#hull", - "ratio": 1.46 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*MeduR4-vUfsAAAAAAAAAAAAAARQnAQ", - "title_zh": "力导向布局", - "title_en": "Force Layout", - "host": "https://g6.antv.vision/", - "path": "/examples/net/forceDirected#forceDirectedPreventOverlap", - "ratio": 1.46 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*IGKUSq0-_OwAAAAAAAAAAAAAARQnAQ", - "title_zh": "边状态动画", - "title_en": "Edge State Animation", - "host": "https://g6.antv.vision/", - "path": "/examples/scatter/stateChange#hover", - "ratio": 1.46 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*spLJT46-tB0AAAAAAAAAAAAAARQnAQ", - "title_zh": "自定义树样式", - "title_en": "Custom Tree Style", - "host": "https://g6.antv.vision/", - "path": "/examples/tree/compactBox#compactBoxLeftAlign", - "ratio": 1.46 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_402c1a/afts/img/A*suE6SoLi6twAAAAAAAAAAAAAARQnAQ", - "title_zh": "节点扩散", - "title_en": "Node Expand", - "host": "https://graphin.antv.vision/", - "path": "/examples/advanced/node-expand#Force", - "ratio": 1.46 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_402c1a/afts/img/A*piRgQ6aKczYAAAAAAAAAAAAAARQnAQ", - "title_zh": "节点扩散 不带动画", - "title_en": "Node Expand Without Animation", - "host": "https://graphin.antv.vision/", - "path": "/examples/advanced/node-expand#ForceWithoutAnimation", - "ratio": 1.46 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_402c1a/afts/img/A*tnPpQLWNvH4AAAAAAAAAAAAAARQnAQ", - "title_zh": "内置节点与边", - "title_en": "Built-in Nodes and Edges", - "host": "https://graphin.antv.vision/", - "path": "/examples/shape/node", - "ratio": 1.46 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_402c1a/afts/img/A*J7K9QLr9X80AAAAAAAAAAAAAARQnAQ", - "title_zh": "力导布局", - "title_en": "Force Layout", - "host": "https://graphin.antv.vision/", - "path": "/examples/layout/force", - "ratio": 1.46 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_402c1a/afts/img/A*2yeyQ6Nyos0AAAAAAAAAAAAAARQnAQ", - "title_zh": "布局切换", - "title_en": "Layout Switching", - "host": "https://graphin.antv.vision/", - "path": "examples/advanced/layout-switching", - "ratio": 1.46 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_402c1a/afts/img/A*YlWCRITHEbsAAAAAAAAAAAAAARQnAQ", - "title_zh": "关系发现", - "title_en": "Find Connection", - "host": "https://graphin.antv.vision/", - "path": "/examples/advanced/find-connections", - "ratio": 1.46 - } - ] - }, - { - "name": "X6 | XFlow", - "products": ["X6", "XFlow"], - "demos": [ - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_43231b/afts/img/A*W9g1S7W-TOoAAAAAAAAAAAAAARQnAQ", - "title_zh": "DAG", - "title_en": "DAG", - "location": "https://x6.antv.antgroup.com/apps/dag/", - "ratio": 1.4 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_43231b/afts/img/A*_0vpQ5sFL-8AAAAAAAAAAAAAARQnAQ", - "title_zh": "流程图", - "title_en": "Flow Chart", - "location": "https://x6.antv.antgroup.com/apps/draw/", - "ratio": 1.4 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_43231b/afts/img/A*AVRUSrPL_dEAAAAAAAAAAAAAARQnAQ", - "title_zh": "ER", - "title_en": "ER", - "location": "https://x6.antv.antgroup.com/apps/er/", - "ratio": 1.4 - } - ] - }, - { - "name": "L7 | L7Plot", - "products": ["L7", "L7Plot"], - "demos": [ - { - "imgurl": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*v5j_QZEL-1YAAAAAAAAAAABkARQnAQ", - "title_zh": "气泡地图", - "title_en": "Bubble Map", - "host": "https://l7.antv.antgroup.com/", - "path": "/examples/point/bubble#world", - "ratio": 1.5 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*u5BsQbn30pkAAAAAAAAAAABkARQnAQ", - "title_zh": "动画", - "title_en": "Animate", - "host": "https://l7.antv.antgroup.com/", - "path": "/examples/gallery/animate#world2", - "ratio": 1.5 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*GD2bR7pb-yIAAAAAAAAAAABkARQnAQ", - "title_zh": "经典热力图", - "title_en": "HeatMap", - "host": "https://l7.antv.antgroup.com/", - "path": "/examples/heatmap/heatmap#heatmap_purple", - "ratio": 1.5 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*j-P8RaJMEvAAAAAAAAAAAABkARQnAQ", - "title_zh": "路径地图", - "title_en": "Path Map", - "host": "https://l7.antv.antgroup.com/", - "path": "/examples/line/path#bus_dark", - "ratio": 1.5 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*xr8BQouXGvoAAAAAAAAAAABkARQnAQ", - "title_zh": "基础可视化", - "title_en": "Featured", - "host": "https://l7.antv.antgroup.com/", - "path": "/examples/gallery/basic#normal", - "ratio": 1.5 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*6Qm_QY69sBMAAAAAAAAAAABkARQnAQ", - "title_zh": "基础可视化", - "title_en": "Featured", - "host": "https://l7.antv.antgroup.com/", - "path": "/examples/gallery/basic#arcCircle", - "ratio": 1.5 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*JjUcTZ8-PC8AAAAAAAAAAABkARQnAQ", - "title_zh": "弧线地图", - "title_en": "Arc Line Map", - "host": "https://l7.antv.antgroup.com/", - "path": "/examples/line/arc#trip_arc_dark", - "ratio": 1.5 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*Uo9oQolgoxYAAAAAAAAAAABkARQnAQ", - "title_zh": "网格热力图", - "title_en": "Grid Map", - "host": "https://l7.antv.antgroup.com/", - "path": "/examples/heatmap/grid#grid1", - "ratio": 1.5 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*7COqR4wCc6QAAAAAAAAAAABkARQnAQ", - "title_zh": "3D 柱状地图", - "title_en": "Column Map", - "host": "https://l7.antv.antgroup.com/", - "path": "/examples/point/column#column_dark", - "ratio": 1.5 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*jJd0Qq_E3_UAAAAAAAAAAABkARQnAQ", - "title_zh": "等值线地图", - "title_en": "Isoline Map", - "host": "https://l7.antv.antgroup.com/", - "path": "/examples/line/isoline#ele_dark", - "ratio": 1.5 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*RCaZSLthUn0AAAAAAAAAAABkARQnAQ", - "title_zh": "3D填充图", - "title_en": "Extrude Map", - "host": "https://l7.antv.antgroup.com/", - "path": "/examples/polygon/3d#polygon", - "ratio": 1.5 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*SLcGSbvZoEwAAAAAAAAAAABkARQnAQ", - "title_zh": "蜂窝热力图", - "title_en": "Hexagon Map", - "host": "https://l7.antv.antgroup.com/", - "path": "/examples/heatmap/hexagon#light", - "ratio": 1.5 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*jLo0RY0sDG4AAAAAAAAAAABkARQnAQ", - "title_zh": "动画", - "title_en": "Animate", - "host": "https://l7.antv.antgroup.com/", - "path": "/examples/gallery/animate#animate_line", - "ratio": 1.5 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*ypZCT6pqv84AAAAAAAAAAABkARQnAQ", - "title_zh": "亮度图", - "title_en": "Dot Intensity", - "host": "https://l7.antv.antgroup.com/", - "path": "/examples/point/dot#normal2", - "ratio": 1.5 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*7XkWTYQMfPMAAAAAAAAAAABkARQnAQ", - "title_zh": "动画", - "title_en": "Animate", - "host": "https://l7.antv.antgroup.com/", - "path": "/examples/gallery/animate#build", - "ratio": 1.5 - } - ] - }, - { - "name": "F2 | F6", - "products": ["F2", "F6", "F2Native"], - "demos": [ - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_4f0ff1/afts/img/A*BDubSYaFpboAAAAAAAAAAABkARQnAQ", - "title_zh": "对比折线图", - "title_en": "Compare Line Chart", - "host": "https://f2.antv.antgroup.com/", - "path": "/examples/line/multiple", - "ratio": 1.9 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_4f0ff1/afts/img/A*_SQ6TItK-U8AAAAAAAAAAABkARQnAQ", - "title_zh": "层叠面积图", - "title_en": "Stacked Area Chart", - "host": "https://f2.antv.antgroup.com/", - "path": "/examples/area/stacked", - "ratio": 1.9 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_4f0ff1/afts/img/A*sDB-S6qxxsYAAAAAAAAAAABkARQnAQ", - "title_zh": "预测线", - "title_en": "Forecast Line", - "host": "https://f2.antv.antgroup.com/", - "path": "/examples/gallery/forecast", - "ratio": 1.9 - }, - { - "imgurl": "https://gw.alipayobjects.com/zos/finxbff/compress-tinypng/92dbeff4-526e-48df-b122-72ed50395b79.jpg", - "title_zh": "基础演示", - "title_en": "Basic Demo", - "host": "https://f2.antv.antgroup.com/", - "path": "/examples/basic", - "ratio": 1.9 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_4f0ff1/afts/img/A*WDqYSYm6HPAAAAAAAAAAAABkARQnAQ", - "title_zh": "分组柱状图", - "title_en": "Dodge Column Chart", - "host": "https://f2.antv.antgroup.com/", - "path": "/examples/column/dodge#negetive", - "ratio": 1.9 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_4f0ff1/afts/img/A*6v1fRatDBM4AAAAAAAAAAABkARQnAQ", - "title_zh": "Guide", - "title_en": "Guide", - "host": "https://f2.antv.antgroup.com/", - "path": "/examples/component/guide#region-filter", - "ratio": 1.9 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_4f0ff1/afts/img/A*fZ11RIsy8zQAAAAAAAAAAABkARQnAQ", - "title_zh": "基础饼图", - "title_en": "Basic Pie Chart", - "host": "https://f2.antv.antgroup.com/", - "path": "/examples/pie/basic#pie-with-label", - "ratio": 1.9 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_4f0ff1/afts/img/A*agBZRoedYKQAAAAAAAAAAABkARQnAQ", - "title_zh": "南丁格尔玫瑰图", - "title_en": "Nightingale Rose Chart", - "host": "https://f2.antv.antgroup.com/", - "path": "/examples/pie/rose", - "ratio": 1.9 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_4f0ff1/afts/img/A*tq5ERqXPyOUAAAAAAAAAAABkARQnAQ", - "title_zh": "Basic Radar Chart", - "title_en": "Basic Radar Chart", - "host": "https://f2.antv.antgroup.com/", - "path": "/examples/radar/radar#area", - "ratio": 1.9 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_4f0ff1/afts/img/A*Xpt7QLmlgz0AAAAAAAAAAABkARQnAQ", - "title_zh": "点图", - "title_en": "Point Chart", - "host": "https://f2.antv.antgroup.com/", - "path": "/examples/point/scatter", - "ratio": 1.9 - }, - { - "imgurl": "https://gw.alipayobjects.com/mdn/rms_4f0ff1/afts/img/A*eKP_RJ2aMfgAAAAAAAAAAABkARQnAQ", - "title_zh": "点图", - "title_en": "Point Chart", - "host": "https://f2.antv.antgroup.com/", - "path": "/examples/point/scatter#bubble", - "ratio": 1.9 - }, - { - "imgurl": "https://gw.alipayobjects.com/zos/finxbff/compress-tinypng/ca7a35dd-b1e9-46b4-a802-54ee4c5e3501.jpg", - "title_zh": "金字塔图", - "title_en": "Pyramid Chart", - "host": "https://f2.antv.antgroup.com/", - "path": "/examples/funnel/pyramid#stroke", - "ratio": 1.9 - }, - { - "imgurl": "https://gw.alipayobjects.com/zos/finxbff/compress-tinypng/4f420a5d-6a81-4ef8-9cba-62106bbdb593.jpg", - "title_zh": "基础漏斗图", - "title_en": "Basic Funnel Chart", - "host": "https://f2.antv.antgroup.com/", - "path": "/examples/funnel/basic#stroke", - "ratio": 1.9 - } - ] - }, - { - "name": "AVA", - "products": ["AVA"], - "banner_img": "https://gw.alipayobjects.com/zos/bmw-prod/2add3311-0f8b-4dc3-a943-8bcff56a3fec.svg", - "banner_url": "https://ava.antv.antgroup.com" - } - ], - "extra_tabs": [ - { - "name": "ChartCube", - "url": "https://chartcube.alipay.com" - } - ] -} diff --git a/site/data/banner-link.json b/site/data/banner-link.json deleted file mode 100644 index 659631511..000000000 --- a/site/data/banner-link.json +++ /dev/null @@ -1,149 +0,0 @@ -[ - { - "title_zh": "AVA", - "title_en": "AVA", - "url": "https://ava.antv.antgroup.com", - "className": "ava", - "gridArea": "ava" - }, - { - "title_zh": "Ant Design Charts", - "title_en": "Ant Design Charts", - "url": "https://charts.ant.design", - "className": "charts", - "gridArea": "charts" - }, - { - "title_zh": "G2Plot", - "title_en": "G2Plot", - "url": "https://g2plot.antv.antgroup.com", - "className": "G2", - "gridArea": "G2Plot" - }, - { - "title_zh": "G2", - "title_en": "G2", - "url": "https://g2.antv.antgroup.com", - "className": "G2", - "gridArea": "G2" - }, - { - "title_zh": "S2", - "title_en": "S2", - "url": "https://s2.antv.antgroup.com", - "className": "G2", - "gridArea": "S2" - }, - { - "title_zh": "常规统计数据", - "title_en": "General Statistics", - "className": "conventional", - "gridArea": "statistic" - }, - { - "title_zh": "Graphin", - "title_en": "Graphin", - "url": "https://graphin.antv.vision", - "className": "G6", - "gridArea": "Graphin" - }, - { - "title_zh": "XFlow", - "title_en": "XFlow", - "url": "https://xflow.antv.vision", - "className": "G6", - "gridArea": "XFlow" - }, - { - "title_zh": "G6", - "title_en": "G6", - "url": "https://g6.antv.vision", - "className": "G6", - "gridArea": "G6" - }, - { - "title_zh": "X6", - "title_en": "X6", - "url": "https://x6.antv.antgroup.com", - "className": "G6", - "gridArea": "X6" - }, - { - "title_zh": "关系数据", - "title_en": "Relation Data", - "className": "relationship", - "gridArea": "graph" - }, - { - "title_zh": "L7Plot", - "title_en": "L7Plot", - "url": "https://l7plot.antv.vision", - "className": "L7", - "gridArea": "L7Plot" - }, - { - "title_zh": "L7", - "title_en": "L7", - "url": "https://l7.antv.antgroup.com", - "className": "L7", - "gridArea": "L7" - }, - { - "title_zh": "地理空间数据", - "title_en": "Geospatial Data", - "className": "geography", - "gridArea": "geo" - }, - { - "title_zh": "G", - "title_en": "G", - "url": "https://g-next.antv.vision", - "className": "G", - "gridArea": "G" - }, - { - "title_zh": "", - "title_en": "", - "className": "gutter", - "gridArea": "gutter" - }, - { - "title_zh": "267 全系 F 版", - "title_en": "F2、6、7", - "className": "FSeries", - "gridArea": "F" - }, - { - "title_zh": "极致移动定制", - "title_en": "Fast & Flexible", - "className": "FSeries", - "gridArea": "f-intro" - }, - { - "title_zh": "F2Native", - "title_en": "F2Native", - "url": "https://f2native.antv.vision", - "className": "G2", - "gridArea": "F2Native" - }, - { - "title_zh": "F2", - "title_en": "F2", - "url": "https://f2.antv.antgroup.com", - "className": "G2", - "gridArea": "F2" - }, - { - "title_zh": "F6", - "title_en": "F6", - "url": "https://f6.antv.vision", - "className": "G6", - "gridArea": "F6" - }, - { - "title_zh": "F7", - "title_en": "F7", - "className": "L7", - "gridArea": "F7" - } -] diff --git a/site/data/chart-urls.json b/site/data/chart-urls.json deleted file mode 100644 index 5eec8e373..000000000 --- a/site/data/chart-urls.json +++ /dev/null @@ -1,969 +0,0 @@ -{ - "single_line_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*JXRgQ4tcm1kAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/line/basic", - "/g2/zh/examples/line/basic", - "/f2/zh/examples/line/basic" - ], - "links_en": [ - "/g2plot/en/examples/line/basic", - "/g2/en/examples/line/basic", - "/f2/en/examples/line/basic" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - - "multi_line_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*gnbiSo8DaEwAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/line/multiple", - "/g2/zh/examples/line/multiple", - "/f2/zh/examples/line/multiple" - ], - "links_en": [ - "/g2plot/en/examples/line/multiple", - "/g2/en/examples/line/multiple", - "/f2/en/examples/line/multiple" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - - "step_line_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*sheqT5vGsewAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/step-line/basic", - "/g2/zh/examples/line/step" - ], - "links_en": [ - "/g2plot/en/examples/step-line/basic", - "/g2/en/examples/line/step" - ], - "linkNames": ["G2Plot", "G2"] - }, - - "multi_step_line_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*IFo8S4Ax2uYAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/step-line/multiple", - "/g2/zh/examples/line/step#step-series" - ], - "links_en": [ - "/g2plot/en/examples/step-line/multiple", - "/g2/en/examples/line/step#step-series" - ], - "linkNames": ["G2Plot", "G2"] - }, - - "basic_area_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*Zv4oSrF6JDYAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/area/basic", - "/g2/zh/examples/area/basic", - "/f2/zh/examples/area/basic" - ], - "links_en": [ - "/g2plot/en/examples/area/basic", - "/g2/en/examples/area/basic", - "/f2/en/examples/area/basic" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - - "stacked_area_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*YoCuRoNaN8kAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/area/stacked#basic", - "/g2/zh/examples/area/stacked#stacked", - "/g]f2/zh/examples/area/stacked#stacked" - ], - "links_en": [ - "/g2plot/en/examples/area/stacked#basic", - "/g2/en/examples/area/stacked", - "/f2/en/examples/area/stacked" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - - "percent_stacked_area_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*NMkWRLm2_8IAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/area/percent-stacked#basic", - "/g2/zh/examples/area/stacked#percentage", - "/f2/zh/examples/area/stacked#percent" - ], - "links_en": [ - "/g2plot/en/examples/area/percent-stacked#basic", - "/g2/en/examples/area/stacked#percentage", - "/f2/en/examples/area/stacked#percent" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - - "interval_area_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*wX5sTajQpn4AAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/area/range"], - "links_en": ["/g2/en/examples/area/range"], - "linkNames": ["G2"] - }, - - "stream_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*-lFRTootQesAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/area/stacked#streamgraph"], - "links_en": ["/g2/en/examples/area/stacked#streamgraph"], - "linkNames": ["G2"] - }, - - "basic_column_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*V9UkSqvdud4AAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/column/basic", - "/g2/zh/examples/column/basic", - "/f2/zh/examples/column/basic" - ], - "links_en": [ - "/g2plot/en/examples/column/basic", - "/g2/en/examples/column/basic", - "/f2/en/examples/column/basic" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - - "grouped_column_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*qjpuT6qOKG0AAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/column/grouped#group-column", - "/g2/zh/examples/column/dodge", - "/f2/zh/examples/column/dodge" - ], - "links_en": [ - "/g2plot/en/examples/column/grouped#group-column", - "/g2/en/examples/column/dodge", - "/f2/en/examples/column/dodge" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - - "stacked_column_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*l8T0QYLvYocAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/column/stacked#stackColumn", - "/g2/zh/examples/column/stack#stacked", - "/f2/zh/examples/column/stack#stacked" - ], - "links_en": [ - "/g2plot/en/examples/column/stacked##stackColumn", - "/g2/en/examples/column/stack#stacked", - "/f2/en/examples/column/stack#stacked" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - - "percent_stacked_column_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*nl5pTowaN5EAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/column/percent-stacked#basic", - "/g2/zh/examples/column/stack#stacked-percentage", - "/f2/zh/examples/column/stack#percent" - ], - "links_en": [ - "/g2plot/en/examples/column/percent-stacked#basic", - "/g2/en/examples/column/stack#stacked-percentage", - "/f2/en/examples/column/stack#stacked-percentage" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - - "interval_column_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*5FIvRblZNooAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/column/range#range-column", - "/g2/zh/examples/column/basic#ranged", - "/f2/zh/examples/column/basic#ranged" - ], - "links_en": [ - "/g2plot/en/examples/column/range#range-column", - "/g2/en/examples/column/basic#ranged", - "/f2/zh/examples/column/basic#ranged" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - - "waterfall_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*QLMTR4jmABYAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/column/waterfall#basic", - "/g2/zh/examples/column/basic#waterfall" - ], - "links_en": [ - "/g2plot/en/examples/column/waterfall#basic", - "/g2/en/examples/column/basic#waterfall" - ], - "linkNames": ["G2Plot", "G2"] - }, - - "histogram": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*WI97SJBgaCwAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/column/histogram", - "/g2/zh/examples/column/histogram#histogram" - ], - "links_en": [ - "/g2plot/en/examples/column/histogram#histogram", - "/g2/en/examples/column/histogram#histogram" - ], - "linkNames": ["G2Plot", "G2"] - }, - - "basic_bar_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*RENoRrj3PugAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/bar/basic", - "/g2/zh/examples/bar/basic", - "/f2/zh/examples/bar/basic" - ], - "links_en": [ - "/g2plot/en/examples/bar/basic", - "/g2/en/examples/bar/basic", - "/f2/en/examples/bar/basic" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - - "grouped_bar_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*ERLHR55JdTgAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/bar/grouped#basic", - "/g2/zh/examples/bar/dodge", - "/f2/zh/examples/bar/stack#percent" - ], - "links_en": [ - "/g2plot/en/examples/bar/grouped#basic", - "/g2/en/examples/bar/dodge", - "/f2/en/examples/bar/dodge" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - - "stacked_bar_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*JKcNRbvHZAwAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/bar/stacked#basic", - "/g2/zh/examples/bar/stack", - "/f2/zh/examples/bar/stack" - ], - "links_en": [ - "/g2plot/en/examples/bar/stacked#basic", - "/g2/en/examples/bar/stack#stacked", - "/f2/en/examples/bar/stack" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - - "percent_stacked_bar_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*R8HdRo0_Sp4AAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/bar/percent-stacked#basic", - "/g2/zh/examples/bar/stack#bar-percentage-stacked-marked", - "/f2/zh/examples/bar/stack#bar-percentage-stacked-marked" - ], - "links_en": [ - "/g2plot/en/examples/bar/percent-stacked#basic", - "/g2/en/examples/bar/stack#bar-percentage-stacked-marked", - "/f2/en/examples/bar/stack#bar-percentage-stacked-marked" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - - "interval_bar_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*G6vWT52rdz4AAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/bar/range#range-bar", - "/g2/zh/examples/bar/basic#ranged" - ], - "links_en": [ - "/g2plot/en/examples/bar/range#range-bar", - "/g2/en/examples/bar/basic#ranged" - ], - "linkNames": ["G2Plot", "G2"] - }, - - "radial_bar_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*5EwoQYlQ4q4AAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/bar/basic#radial-bar"], - "links_en": ["/g2/en/examples/bar/basic#radial-bar"], - "linkNames": ["G2"] - }, - - "mirror_bar_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*-y0dTbzSPycAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/bar/dodge#bar5"], - "links_en": ["/g2/en/examples/bar/dodge#bar5"], - "linkNames": ["G2"] - }, - - "basic_pie_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*ka5WSJgUllkAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/pie/basic", - "/g2/zh/examples/pie/basic", - "/f2/zh/examples/pie/basic" - ], - "links_en": [ - "/g2plot/en/examples/pie/basic", - "/g2/en/examples/pie/basic", - "/f2/en/examples/pie/basic" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - - "donut_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*NkK1T7VLgjkAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/pie/donut#ring-basic", - "/g2/zh/examples/pie/donut", - "/f2/zh/examples/pie/donut" - ], - "links_en": [ - "/g2plot/en/examples/pie/donut#ring-basic", - "/g2/en/examples/pie/donut#donut", - "/f2/en/examples/pie/donut#donut" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - - "nested_pie_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*JFtYRK6qeeUAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/pie/nested"], - "links_en": ["/g2/en/examples/pie/nested"], - "linkNames": ["G2"] - }, - - "nightingale_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*FBnUR449kzYAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/rose/rose#basic", - "/g2/zh/examples/pie/rose#color-rose", - "/f2/zh/examples/pie/rose#rose" - ], - "links_en": [ - "/g2plot/en/examples/rose/rose#basic", - "/g2/en/examples/pie/rose#color-rose", - "/f2/en/examples/pie/rose#color-rose" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - - "basic_scatter_plot": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*UQo_Rav7tO4AAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/point/scatter", "/f2/zh/examples/point/scatter"], - "links_en": [ - "/g2/en/examples/point/scatter#scatter", - "/f2/en/examples/point/scatter#scatter" - ], - "linkNames": ["G2", "F2"] - }, - - "basic_bubble_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*tJcRQa5kI10AAAAAAAAAAABkARQnAQ", - "links": [ - "/g2/zh/examples/point/scatter#bubble", - "/f2/zh/examples/point/scatter#bubble" - ], - "links_en": [ - "/g2/en/examples/point/scatter#bubble", - "/f2/en/examples/point/scatter#bubble" - ], - "linkNames": ["G2", "F2"] - }, - - "non_ribbon_chord_diagram": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*DltUTa3ASJ8AAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/arcDiagram#circularArcDiagram"], - "links_en": ["/g6/en/examples/net/arcDiagram#circularArcDiagram"], - "linkNames": ["G6"] - }, - - "arc_diagram": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*aVzrSI3NAtAAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/arcDiagram"], - "links_en": ["/g6/en/examples/net/arcDiagram"], - "linkNames": ["G6"] - }, - - "chord_diagram": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*KEDoQrZdzXUAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/relation/relation#chord"], - "links_en": ["/g2/en/examples/relation/relation#chord"], - "linkNames": ["G2"] - }, - - "treemap": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*nUuaSpgmG6UAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/treemap/rect#label", - "/g2/zh/examples/relation/relation#treemap-children", - "/f2/zh/examples/relation/relation#treemap" - ], - "links_en": [ - "/g2plot/en/examples/treemap/rect#label", - "/g2/en/examples/relation/relation#treemap-children", - "/f2/en/examples/relation/relation#treemap" - ], - "linkNames": ["G2Plot", "G2"] - }, - - "sankey_diagram": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*iuHTTJRzTW4AAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/relation/relation#sankey"], - "links_en": ["/g2/en/examples/relation/relation#sankey"], - "linkNames": ["G2"] - }, - - "basic_funnel_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*TqKWT57XsrIAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/funnel/basic#basic", - "/g2/zh/examples/funnel/funnel" - ], - "links_en": [ - "/g2plot/en/examples/funnel/basic#basic", - "/g2/en/examples/funnel/funnel" - ], - "linkNames": ["G2Plot", "G2"] - }, - - "overlapping_funnel_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*Q5tSQJMDvCoAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/funnel/funnel#comparision"], - "links_en": ["/g2/en/examples/funnel/funnel#comparision"], - "linkNames": ["G2"] - }, - - "mirror_funnel_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*GyMBTqqGY_wAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/funnel/basic#compare", - "/g2/zh/examples/funnel/funnel#symmetric" - ], - "links_en": [ - "/g2plot/en/examples/funnel/basic#compare", - "/g2/en/examples/funnel/funnel#symmetric" - ], - "linkNames": ["G2Plot", "G2"] - }, - - "boxplot": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*xhSaRb16RzYAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/box/box"], - "links_en": ["/g2/en/examples/box/box"], - "linkNames": ["G2"] - }, - - "heatmap": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*Te9gRYpVq0cAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/heatmap/basic#basic", - "/g2/zh/examples/heatmap/heatmap#image" - ], - "links_en": [ - "/g2plot/en/examples/heatmap/basic#basic", - "/g2/en/examples/heatmap/heatmap#image" - ], - "linkNames": ["G2Plot", "G2"] - }, - - "gauge_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*McoQQpjJFwkAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/gauge/basic", - "/g2/zh/examples/gauge/gauge", - "/f2/zh/examples/gallery/gauge" - ], - "links_en": [ - "/g2plot/en/examples/gauge/basic", - "/g2/en/examples/gauge/gauge#basic", - "/f2/en/examples/gauge/gauge#basic" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - - "basic_radar_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*NxMmSabzJGQAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/radar/basic", - "/g2/zh/examples/radar/radar", - "/f2/zh/examples/radar/radar" - ], - "links_en": [ - "/g2plot/en/examples/radar/basic", - "/g2/en/examples/radar/radar", - "/f2/en/examples/radar/radar" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - - "wordcloud": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*iHCmSaZ1tCwAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/word-cloud/basic#basic", - "/g2/zh/examples/other/other#word-cloud", - "/f2/zh/examples/other/other#word-cloud" - ], - "links_en": [ - "/g2plot/zh/examples/word-cloud/basic#basic", - "/g2/en/examples/other/other#word-cloud", - "/f2/en/examples/other/other#word-cloud" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - - "candlestick_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*nOPdTrLtpdMAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2/zh/examples/candlestick/demo#k-and-area", - "/f2/zh/examples/candlestick/basic#k" - ], - "links_en": [ - "/g2/en/examples/candlestick/demo#k-and-area", - "/f2/zh/examples/candlestick/demo#k-and-area" - ], - "linkNames": ["G2", "F2"] - }, - - "compact_box_tree": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*WGHWQYjLmXoAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/tree/compactBox#tbCompactBox"], - "links_en": ["/g6/en/examples/tree/compactBox#tbCompactBox"], - "linkNames": ["G6"] - }, - - "dendrogram": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*r51nTJ-Ha5MAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/tree/dendrogram#tbDendrogram"], - "links_en": ["/g6/en/examples/tree/dendrogram#tbDendrogram"], - "linkNames": ["G6"] - }, - - "indented_tree": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*ywVeSJIfeK8AAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/tree/indented"], - "links_en": ["/g6/en/examples/tree/indented"], - "linkNames": ["G6"] - }, - - "radial_tree": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*vUkTSpv9YqkAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/tree/radialtree"], - "links_en": ["/g6/en/examples/tree/radialtree"], - "linkNames": ["G6"] - }, - - "flow_diagram": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*35XETpuMRpsAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/dagreFlow"], - "links_en": ["/g6/en/examples/net/dagreFlow"], - "linkNames": ["G6"] - }, - - "fruchterman_layout_cluster_graph": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*8qAMTomesZcAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/furchtermanLayout#fruchtermanClustering"], - "links_en": ["/g6/en/examples/net/furchtermanLayout#fruchtermanClustering"], - "linkNames": ["G6"] - }, - - "fruchterman_layout_graph": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*XD22Q7uxddEAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/furchtermanLayout"], - "links_en": ["/g6/en/examples/net/furchtermanLayout"], - "linkNames": ["G6"] - }, - - "force_directed_layout_graph": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*dokGR7uP50oAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/forceDirected"], - "links_en": ["/g6/en/examples/net/forceDirected"], - "linkNames": ["G6"] - }, - - "circular_layout_graph": { - "tags": ["relational"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*2ZNjRqRzJggAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/circular"], - "links_en": ["/g6/en/examples/net/circular"], - "linkNames": ["G6"] - }, - - "spiral_layout_graph": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*5NkUTJyXfIcAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/circular#spiralCircular"], - "links_en": ["/g6/en/examples/net/circular#spiralCircular"], - "linkNames": ["G6"] - }, - - "radial_layout_graph": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*KON0Rbv5XtEAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/radialLayout"], - "links_en": ["/g6/en/examples/net/radialLayout"], - "linkNames": ["G6"] - }, - - "concentric_layout_graph": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*zxlhRobv7VEAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/concentricLayout"], - "links_en": ["/g6/en/examples/net/concentricLayout"], - "linkNames": ["G6"] - }, - - "grid_layout_graph": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*wlkBRKmjVNgAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/gridLayout"], - "links_en": ["/g6/en/examples/net/gridLayout"], - "linkNames": ["G6"] - }, - - "bubbles_diagram": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*EaIlRqda-VcAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/forceDirected#forceBubbles"], - "links_en": ["/g6/en/examples/net/forceDirected#forceBubbles"], - "linkNames": ["G6"] - }, - - "symbol_map": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*Af7tQJ_sFdwAAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/point/image"], - "links_en": ["/L7/en/examples/point/image"], - "linkNames": ["L7"] - }, - - "chart_map": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*KEmSSIB3scwAAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/point/chart"], - "links_en": ["/L7/en/examples/point/chart"], - "linkNames": ["L7"] - }, - - "column_map_3d": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*1X4mS4yNGSgAAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/point/column"], - "links_en": ["/L7/en/examples/point/column"], - "linkNames": ["L7"] - }, - - "scatter_map": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*c2EOQqwR-toAAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/point/scatter"], - "links_en": ["/L7/en/examples/point/scatter"], - "linkNames": ["L7"] - }, - - "path_map": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*J3sVRrzk3egAAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/line/path"], - "links_en": ["/L7/en/examples/line/path"], - "linkNames": ["L7"] - }, - - "isoline_map": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*hHKHSa1PH-MAAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/line/isoline"], - "links_en": ["/L7/en/examples/line/isoline"], - "linkNames": ["L7"] - }, - - "arc_map_3d": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*5cnzS4A3968AAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/line/arc"], - "links_en": ["/L7/en/examples/line/arc"], - "linkNames": ["L7"] - }, - - "choropleth_map": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*TSGQRowxmmAAAAAAAAAAAABkARQnAQ", - "links": [ - "/L7/zh/examples/polygon/fill", - "/g2/zh/examples/map/map#choropleth-map" - ], - "links_en": [ - "/L7/en/examples/polygon/fill", - "/g2/en/examples/map/map#choropleth-map" - ], - "linkNames": ["L7", "G2"] - }, - - "choropleth_map_3d": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*9b3zR6FNKh4AAAAAAAAAAABkARQnAQ", - "links": ["/l7/zh/examples/polygon/3d"], - "links_en": ["/l7/en/examples/polygon/3d"], - "linkNames": ["L7"] - }, - - "hexagonal_heat_map": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*YbKcRbypQ_oAAAAAAAAAAABkARQnAQ", - "links": [ - "/L7/zh/examples/heatmap/hexagon", - "/g2/zh/examples/map/map#hex-choropleth-map" - ], - "links_en": [ - "/L7/en/examples/heatmap/hexagon", - "/g2/en/examples/map/map#hex-choropleth-map" - ], - "linkNames": ["L7", "G2"] - }, - - "hexagonal_heat_map_3d": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*l9D1QK5-z-8AAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/heatmap/hexagon#light"], - "links_en": ["/L7/en//examples/heatmap/hexagon#light"], - "linkNames": ["L7"] - }, - - "classical_heat_map": { - "imgSrc": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*HxpoRIcBA80AAAAAAAAAAABkARQnAQ", - "links": [ - "/L7/zh/examples/heatmap/heatmap", - "/g2/zh/examples/map/map#with-heatmap" - ], - "links_en": [ - "/L7/en/examples/heatmap/heatmap", - "/g2/en/examples/map/map#with-heatmap" - ], - "linkNames": ["L7", "G2"] - }, - - "grid_heat_map": { - "imgSrc": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*tAGKS6EClQ4AAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/heatmap/grid#grid1"], - "links_en": ["/L7/en/examples/heatmap/grid#grid1"], - "linkNames": ["L7"] - }, - - "packed_circles": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*nbfsS6Fe8mgAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/relation/relation#circle-packing"], - "links_en": ["/g2/en/examples/relation/relation#circle-packing"], - "linkNames": ["G2"] - }, - - "polar_treemap": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*HGyHQbd3esQAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/relation/relation#polar-treemap"], - "links_en": ["/g2/en/examples/relation/relation#polar-treemap"], - "linkNames": ["G2"] - }, - - "sunburst_diagram": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*6vuVTqshFqgAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/relation/relation#sunburst"], - "links_en": ["/g2/en/examples/relation/relation#sunburst"], - "linkNames": ["G2"] - }, - - "liquid_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*UuVdTY8CCgwAAAAAAAAAAABkARQnAQ", - "links": ["/g2plot/zh/examples/liquid/basic#basic"], - "links_en": ["/g2plot/en/examples/liquid/basic#basic"], - "linkNames": ["G2Plot"] - }, - - "range_column_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*HnDyRbJLzRIAAAAAAAAAAABkARQnAQ", - "links": ["/g2plot/zh/examples/column/range#range-column"], - "links_en": ["/g2plot/en/examples/column/range#range-column"], - "linkNames": ["G2Plot"] - }, - - "range_bar_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*3k3KRKkG0XcAAAAAAAAAAABkARQnAQ", - "links": ["/g2plot/zh/examples/bar/range#range-bar"], - "links_en": ["/g2plot/en/examples/bar/range#range-bar"], - "linkNames": ["G2Plot"] - }, - - "bullet_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*n9NkQrE7Nf8AAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/bullet/basic#basic", - "/g2/zh/examples/other/other#bullet-graph" - ], - "links_en": [ - "/g2plot/en/examples/bullet/basic#basic", - "/g2/en/examples/other/other#bullet-graph" - ], - "linkNames": ["G2Plot", "G2"] - }, - - "density_heatmap": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*VX0VT7ejFJ4AAAAAAAAAAABkARQnAQ", - "links": [ - "/l7/zh/examples/heatmap/heatmap", - "/g2plot/zh/examples/heatmap/density#basic" - ], - "links_en": [ - "/l7/en/examples/heatmap/heatmap", - "/g2plot/en/examples/heatmap/density#basic" - ], - "linkNames": ["L7", "G2Plot"] - }, - - "bubble_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*Ju-vTbtJ2L4AAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/bubble/basic", - "/g2/zh/examples/point/bubble#bubble" - ], - "links_en": [ - "/g2plot/en/examples/bubble/basic", - "/g2/en/examples/point/bubble#bubble" - ], - "linkNames": ["G2Plot", "G2"] - }, - - "bubble_map": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*h8uZSar9UPEAAAAAAAAAAABkARQnAQ", - "links": ["/l7/zh/examples/point/bubble#point"], - "links_en": ["/l7/en/examples/point/bubble#point"], - "linkNames": ["L7"] - }, - - "bubble_light_map": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*8hJhRaqz5h0AAAAAAAAAAABkARQnAQ", - "links": ["/l7/zh/examples/point/dot"], - "links_en": ["/l7/en/examples/point/dot"], - "linkNames": ["L7"] - }, - - "column_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*APMLRan5SQkAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/gallery/column#column2", - "/g2/zh/examples/column/basic", - "/f2/zh/examples/column/basic" - ], - "links_en": [ - "/g2plot/en/examples/gallery/column#column2", - "/g2/en/examples/column/basic", - "/f2/en/examples/column/basic" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - - "bar_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*mxr-Q7aH970AAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/bar/basic", - "/g2/zh/examples/bar/basic", - "/f2/zh/examples/bar/basic" - ], - "links_en": [ - "/g2plot/en/examples/bar/basic", - "/g2/en/examples/bar/basic", - "/f2/en/examples/bar/basic" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - - "scatter_plot": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*UCKjQo1GzR0AAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/scatter/basic", - "/g2/zh/examples/point/scatter#scatter-series", - "/f2/zh/examples/point/scatter" - ], - "links_en": [ - "/g2plot/en/examples/scatter/basic", - "/g2/en/examples/point/scatter#scatter-series", - "/f2/en/examples/point/scatter" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - - "pie_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*cO3NQYaljgUAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/pie/basic", - "/g2/zh/examples/pie/basic", - "/f2/zh/examples/pie/basic" - ], - "links_en": [ - "/g2plot/en/examples/pie/basic", - "/g2/en/examples/pie/basic", - "/f2/en/examples/pie/basic" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - - "rose_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*v0leRYiKPWIAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/rose/basic", - "/g2/zh/examples/pie/rose#color-rose", - "/f2/zh/examples/pie/rose" - ], - "links_en": [ - "/g2plot/en/examples/rose/basic", - "/g2/en/examples/pie/rose#color-rose", - "/f2/en/examples/pie/rose" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - - "line_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*AXN-RL5AtWoAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/line/basic", - "/g2/zh/examples/line/basic", - "/f2/zh/examples/line/basic" - ], - "links_en": [ - "/g2plot/en/examples/line/basic", - "/g2/en/examples/line/basic", - "/f2/en/examples/line/basic" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - - "area_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*HnQ9TqZ8cl0AAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/area/basic", - "/g2/zh/examples/area/basic", - "/f2/zh/examples/area/basic" - ], - "links_en": [ - "/g2plot/en/examples/area/basic", - "/g2/en/examples/area/basic", - "/f2/en/examples/area/basic" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - - "funnel_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*VFFTRp_9pBEAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/funnel/basic", - "/g2/zh/examples/funnel/funnel" - ], - "links_en": [ - "/g2plot/en/examples/funnel/basic", - "/g2/en/examples/funnel/funnel" - ], - "linkNames": ["G2Plot", "G2"] - }, - - "radar_chart": { - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*71XVSojadu0AAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/radar/basic", - "/g2/zh/examples/radar/radar", - "/f2/zh/examples/radar/radar" - ], - "links_en": [ - "/g2plot/en/examples/radar/basic", - "/g2/en/examples/radar/radar", - "/f2/en/examples/radar/radar" - ], - "linkNames": ["G2Plot", "G2", "F2"] - } -} diff --git a/site/data/contributors.tsx b/site/data/contributors.tsx deleted file mode 100644 index 5909cbef3..000000000 --- a/site/data/contributors.tsx +++ /dev/null @@ -1,376 +0,0 @@ -const contributors: { - name: string; - jobTitle: string; - avatar: string; - weibo: string; - github: string; -}[] = [ - { - name: '艾因', - jobTitle: '工程师', - avatar: 'https://gw.alipayobjects.com/zos/antfincdn/z8eXl6l9GM/aiyin.jpg', - weibo: '', - github: 'https://github.com/liuzhenying', - }, - { - name: '白弦', - jobTitle: '设计师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*cu6GQ7yNpJIAAAAAAAAAAABkARQnAQ', - weibo: '', - github: '', - }, - { - name: '柏愚', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*IFYESbDDqI0AAAAAAAAAAABkARQnAQ', - weibo: '', - github: '', - }, - { - name: '不过', - jobTitle: '设计师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*z6bUQ7bvuAYAAAAAAAAAAABkARQnAQ', - weibo: '', - github: '', - }, - { - name: '步茗', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*zIFOTbhtCoMAAAAAAAAAAABkARQnAQ', - weibo: 'https://weibo.com/neopard/profile', - github: 'https://github.com/neoddish', - }, - { - name: '沧东', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*z9SnQpiMnIgAAAAAAAAAAABkARQnAQ', - weibo: '', - github: 'https://github.com/xiaoiver', - }, - { - name: '导演', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*aGTWQKFIx2cAAAAAAAAAAABkARQnAQ', - weibo: '', - github: 'https://github.com/tarobjtu', - }, - { - name: '多牧', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/zos/antfincdn/n%26uTxqsNHe/IMG_3154.JPG', - weibo: 'https://weibo.com/u/2866327102', - github: 'https://github.com/mxz96102', - }, - { - name: '耳铃', - jobTitle: '设计师', - avatar: - 'http://alipay-rmsdeploy-image.cn-hangzhou.alipay.aliyun-inc.com/antfincdn/sX13FkC4%26C/erling.jpg', - weibo: '', - github: '', - }, - { - name: '佛肚', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/zos/antfincdn/4VUXCQEiBd/c4f901c7-f591-4616-8dfc-83aecf839cd8.png', - weibo: '', - github: 'https://github.com/budlion', - }, - { - name: '福晋', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*5kqTSZE-9KMAAAAAAAAAAABkARQnAQ', - weibo: '', - github: 'https://github.com/lxfu', - }, - { - name: '顾己', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*_OhHTo0gxAMAAAAAAAAAAABkARQnAQ', - weibo: '', - github: 'https://github.com/Esorakouki', - }, - { - name: '伽壹', - jobTitle: '设计师', - avatar: - 'https://gw.alipayobjects.com/zos/antfincdn/aXQ3OTu6Er/IMG_3509.JPG', - weibo: '', - github: '', - }, - { - name: '尽白', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*blSIQbwdOqsAAAAAAAAAAABkARQnAQ', - weibo: 'https://www.weibo.com/u/1736341270', - github: 'https://github.com/aa1011372655', - }, - { - name: '镜曦', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*rVgGS5sJwHQAAAAAAAAAAABkARQnAQ', - weibo: '', - github: '', - }, - { - name: '聚则', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*gB63QppvTsgAAAAAAAAAAABkARQnAQ', - weibo: '', - github: 'https://github.com/baizn', - }, - { - name: '康奎', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/zos/antfincdn/AefmmqKied/3ca2b3d8-e568-4bec-b10d-e4e432cb6f23.png', - weibo: '', - github: 'https://github.com/benjamin920813', - }, - { - name: '珂甫', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*iBIzSZMCWRcAAAAAAAAAAABkARQnAQ', - weibo: '', - github: 'https://github.com/pddpd', - }, - { - name: '林外', - jobTitle: '设计师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*GHQQQYTL4g8AAAAAAAAAAABkARQnAQ', - weibo: '', - github: '', - }, - { - name: '翎刀', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*VXoNRoRXPBwAAAAAAAAAAABkARQnAQ', - weibo: '', - github: 'https://github.com/zqlu', - }, - { - name: '幕阑', - jobTitle: '设计师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*WZcQRJtWWlIAAAAAAAAAAABkARQnAQ', - weibo: '', - github: '', - }, - { - name: '偏右', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*-wAXRKlOrW4AAAAAAAAAAABkARQnAQ', - weibo: '', - github: 'https://github.com/afc163', - }, - { - name: '璆鸣', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*LSpRS6i_WOcAAAAAAAAAAABkARQnAQ', - weibo: '', - github: '', - }, - { - name: '山果', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*23r_SpWxPdEAAAAAAAAAAABkARQnAQ', - weibo: '', - github: 'https://github.com/pomelo-nwu', - }, - { - name: '十吾', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*R3QzTpZM7IUAAAAAAAAAAABkARQnAQ', - weibo: 'https://weibo.com/u/2844988612', - github: 'https://github.com/Yanyan-Wang', - }, - { - name: '拾锋', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*vU-mRr0XrfcAAAAAAAAAAABkARQnAQ', - weibo: '', - github: '', - }, - { - name: '索丘', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*LMcOQKUxbUEAAAAAAAAAAABkARQnAQ', - weibo: 'https://weibo.com/u/1959122550', - github: 'https://github.com/zengyue', - }, - { - name: '完白', - jobTitle: '设计师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*8CiTTqjnzcEAAAAAAAAAAABkARQnAQ', - weibo: '', - github: '', - }, - { - name: '文瑀', - jobTitle: '工程师', - avatar: 'https://gw.alipayobjects.com/zos/antfincdn/smBVaflWk5/my.jpg', - weibo: '', - github: 'https://github.com/newbyvector', - }, - { - name: '问崖', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*V7E0RqRAlG4AAAAAAAAAAABkARQnAQ', - weibo: '', - github: 'https://github.com/bubkoo', - }, - { - name: '象数', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*_E0SR4LCxaAAAAAAAAAAAABkARQnAQ', - weibo: 'https://weibo.com/1707284737', - github: 'https://github.com/lzxue', - }, - { - name: '逍为', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*PmifSa53auQAAAAAAAAAAABkARQnAQ', - weibo: '', - github: 'https://github.com/hustcc', - }, - { - name: '萧庆', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*mWkGRqxLexYAAAAAAAAAAABkARQnAQ', - weibo: '', - github: 'https://github.com/dxq613', - }, - { - name: '新茗', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*CPXKQ76YlfwAAAAAAAAAAABkARQnAQ', - weibo: 'https://weibo.com/kasmine/profile', - github: 'https://github.com/me-momo', - }, - { - name: '缨缨', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/zos/antfincdn/c9K5r1m%26y9/d0b8a090-f034-43e6-aeeb-f59cb6c7c33c.png', - weibo: '', - github: 'https://github.com/xingwanying', - }, - { - name: '鱼亦', - jobTitle: '设计师', - avatar: - 'https://gw.alipayobjects.com/zos/antfincdn/L%261dAufvjL/IMG_1477.JPG', - weibo: '', - github: '', - }, - { - name: '羽熙', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/zos/antfincdn/NkfCEL7RTL/7cdd44fc-8624-4b6c-8947-67f78e79142f.png', - weibo: '', - github: 'https://github.com/bbsqq', - }, - { - name: '羽依', - jobTitle: '工程师', - avatar: - 'https://ch-resources.oss-cn-shanghai.aliyuncs.com/images/avatar/observedobserver.png', - weibo: '', - github: 'https://github.com/ObservedObserver', - }, - { - name: '玉伯', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*dl_gToTY6msAAAAAAAAAAABkARQnAQ', - weibo: 'https://weibo.com/lifesinger', - github: 'https://github.com/lifesinger', - }, - { - name: '御术', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*QFEMTaidg9QAAAAAAAAAAABkARQnAQ', - weibo: 'https://weibo.com/kenerlinfeng', - github: 'https://github.com/kener', - }, - { - name: '源子', - jobTitle: '设计师', - avatar: - 'https://gw.alipayobjects.com/zos/antfincdn/KGawdl9Ahq/touxiang.JPG', - weibo: '', - github: '', - }, - { - name: '再飞', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*y1cFS4MDmPIAAAAAAAAAAABkARQnAQ', - weibo: 'https://weibo.com/simaoohappy', - github: 'https://github.com/simaQ', - }, - { - name: '杍鱼', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*qykaTLGttsgAAAAAAAAAAABkARQnAQ', - weibo: '', - github: 'https://github.com/cycgit', - }, - { - name: '子晴', - jobTitle: '设计师', - avatar: - 'https://gw.alipayobjects.com/zos/antfincdn/QL5d8rcf%24M/IMG_6534.JPG', - weibo: '', - github: '', - }, - { - name: '青原', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_04a9e5/afts/img/A*ZmohRYwarWcAAAAAAAAAAAAAARQnAQ', - weibo: '', - github: 'https://github.com/yangxlei', - }, - { - name: '夏珞', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_04a9e5/afts/img/A*1O_3R4Wcwy0AAAAAAAAAAAAAARQnAQ', - weibo: '', - github: 'https://github.com/JaneZhong', - }, -]; - -export default contributors; diff --git a/site/data/decision-tree-chartype.json b/site/data/decision-tree-chartype.json deleted file mode 100644 index da1a7195e..000000000 --- a/site/data/decision-tree-chartype.json +++ /dev/null @@ -1,1649 +0,0 @@ -{ - "nodes": [ - { - "id": "statisticchart", - "name": "统计图表", - "level": 0, - "childrenNum": 41, - "tag": "statisticchart" - }, - { - "id": "graph", - "name": "关系图", - "level": 0, - "childrenNum": 23, - "tag": "graph" - }, - { - "id": "map", - "name": "地图", - "level": 0, - "childrenNum": 14, - "tag": "map" - }, - { - "id": "linechart", - "name": "折线图", - "level": 1, - "tag": "linechart", - "childrenNum": 7, - "isLeaf": false, - "tags": ["statisticchart"] - }, - { - "id": "statisticchartothers", - "name": "其他", - "level": 1, - "tag": "statisticchartothers", - "childrenNum": 5, - "isLeaf": false, - "tags": ["statisticchart"] - }, - { - "id": "areachart", - "name": "面积图", - "level": 1, - "childrenNum": 5, - "tag": "areachart", - "isLeaf": false, - "tags": ["statisticchart"] - }, - { - "id": "histogram", - "name": "柱状图", - "level": 1, - "childrenNum": 7, - "tag": "histogram", - "isLeaf": false, - "tags": ["statisticchart"] - }, - { - "id": "barchart", - "name": "条形图", - "level": 1, - "childrenNum": 7, - "tag": "barchart", - "isLeaf": false, - "tags": ["statisticchart"] - }, - { - "id": "piechart", - "name": "饼图", - "level": 1, - "childrenNum": 4, - "tag": "piechart", - "isLeaf": false, - "tags": ["statisticchart"] - }, - { - "id": "scatterplot", - "name": "散点图", - "level": 1, - "childrenNum": 2, - "tag": "scatterplot", - "isLeaf": false, - "tags": ["statisticchart"] - }, - { - "id": "flowplot", - "name": "流程图", - "level": 1, - "childrenNum": 3, - "tag": "flowplot", - "isLeaf": false, - "tags": ["statisticchart"] - }, - { - "id": "stockplot", - "name": "股票", - "level": 1, - "tag": "stockplot", - "childrenNum": 2, - "isLeaf": false, - "tags": ["statisticchart"] - }, - { - "id": "tree", - "name": "树图", - "level": 1, - "tag": "tree", - "childrenNum": 8, - "isLeaf": false, - "tags": ["graph"] - }, - { - "id": "pointlayer", - "name": "点图层", - "level": 1, - "tag": "pointlayer", - "childrenNum": 5, - "isLeaf": false, - "tags": ["map"] - }, - { - "id": "linelayer", - "name": "线图层", - "level": 1, - "childrenNum": 3, - "tag": "linelayer", - "isLeaf": false, - "tags": ["map"] - }, - { - "id": "polygonlayer", - "name": "面图层", - "level": 1, - "childrenNum": 2, - "tag": "polygonlayer", - "isLeaf": false, - "tags": ["map"] - }, - { - "id": "heatmap", - "name": "热力图", - "level": 1, - "childrenNum": 4, - "tag": "heatmap", - "isLeaf": false, - "tags": ["map"] - }, - - { - "id": "basiclinechart", - "name": "基础折线", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-linechart"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*JXRgQ4tcm1kAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/line/basic", - "/g2/zh/examples/line/basic", - "/f2/zh/examples/line/basic" - ], - "links_en": [ - "/g2plot/en/examples/line/basic", - "/g2/en/examples/line/basic", - "/f2/en/examples/line/basic" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "multilinechart", - "name": "多折线图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-linechart"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*gnbiSo8DaEwAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/line/multiple", - "/g2/zh/examples/line/multiple", - "/f2/zh/examples/line/multiple" - ], - "links_en": [ - "/g2plot/en/examples/line/multiple", - "/g2/en/examples/line/multiple", - "/f2/en/examples/line/multiple" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "basicareachart", - "name": "基础面积图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-areachart"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*Zv4oSrF6JDYAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/area/basic", - "/g2/zh/examples/area/basic", - "/f2/zh/examples/area/basic" - ], - "links_en": [ - "/g2plot/en/examples/area/basic", - "/g2/en/examples/area/basic", - "/f2/en/examples/area/basic" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "stackareachart", - "name": "堆叠面积图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-areachart"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*YoCuRoNaN8kAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/area/stack", - "/g2/zh/examples/area/stacked#stacked", - "/g]f2/zh/examples/area/stacked#stacked" - ], - "links_en": [ - "/g2plot/en/examples/area/stacked", - "/g2/en/examples/area/stacked", - "/f2/en/examples/area/stacked" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "percentstackareachart", - "name": "百分比堆\n叠面积图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-areachart"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*NMkWRLm2_8IAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/area/percentageArea", - "/g2/zh/examples/area/stacked#percentage", - "/f2/zh/examples/area/stacked#percent" - ], - "links_en": [ - "/g2plot/en/examples/area/percentageArea", - "/g2/en/examples/area/stacked#percentage", - "/f2/en/examples/area/stacked#percent" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "intervalareachart", - "name": "区间面积图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-areachart"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*wX5sTajQpn4AAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/area/range"], - "links_en": ["/g2/en/examples/area/range"], - "linkNames": ["G2"] - }, - { - "id": "streamchart", - "name": "河流图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-areachart"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*-lFRTootQesAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/area/stacked#streamgraph"], - "links_en": ["/g2/en/examples/area/stacked#streamgraph"], - "linkNames": ["G2"] - }, - { - "id": "basichistogram", - "name": "基础柱状图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-histogram"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*V9UkSqvdud4AAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/column/basic", - "/g2/zh/examples/column/basic", - "/f2/zh/examples/column/basic" - ], - "links_en": [ - "/g2plot/en/examples/column/basic", - "/g2/en/examples/column/basic", - "/f2/en/examples/column/basic" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "grouphistogram", - "name": "分组柱状图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-histogram"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*qjpuT6qOKG0AAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/column/group", - "/g2/zh/examples/column/dodge", - "/f2/zh/examples/column/dodge" - ], - "links_en": [ - "/g2plot/en/examples/column/dodge", - "/g2/en/examples/column/dodge", - "/f2/en/examples/column/dodge" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "stackhistogram", - "name": "堆叠柱状图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-histogram"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*l8T0QYLvYocAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/column/stack#stacked", - "/g2/zh/examples/column/stack#stacked", - "/f2/zh/examples/column/stack#stacked" - ], - "links_en": [ - "/g2plot/en/examples/column/stack#stacked", - "/g2/en/examples/column/stack#stacked", - "/f2/en/examples/column/stack#stacked" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "percentstackhistogram", - "name": "百分比堆\n叠柱状图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-histogram"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*nl5pTowaN5EAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/column/percentageStack", - "/g2/zh/examples/column/stack#stacked-percentage", - "/f2/zh/examples/column/stack#percent" - ], - "links_en": [ - "/g2plot/en/examples/column/stack#stacked-percentage", - "/g2/en/examples/column/stack#stacked-percentage", - "/f2/en/examples/column/stack#stacked-percentage" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "intervalhistogram", - "name": "区间柱状图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-histogram"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*5FIvRblZNooAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2/zh/examples/column/basic#ranged", - "/f2/zh/examples/column/basic#ranged" - ], - "links_en": [ - "/g2/en/examples/column/basic#ranged", - "/f2/zh/examples/column/basic#ranged" - ], - "linkNames": ["G2", "F2"] - }, - { - "id": "waterfall", - "name": "瀑布图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-histogram"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*QLMTR4jmABYAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/column/basic#waterfall"], - "links_en": ["/g2/en/examples/column/basic#waterfall"], - "linkNames": ["G2"] - }, - { - "id": "histogramunit", - "name": "直方图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-histogram"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*WI97SJBgaCwAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/column/histogram", - "/g2/zh/examples/column/histogram#histogram" - ], - "links_en": [ - "/g2plot/en/examples/column/histogram#histogram", - "/g2/en/examples/column/histogram#histogram" - ], - "linkNames": ["G2Plot", "G2"] - }, - { - "id": "basicbarchart", - "name": "基础条形图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-barchart"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*RENoRrj3PugAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/bar/basic", - "/g2/zh/examples/bar/basic", - "/f2/zh/examples/bar/basic" - ], - "links_en": [ - "/g2plot/en/examples/bar/basic", - "/g2/en/examples/bar/basic", - "/f2/en/examples/bar/basic" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "stackbarchart", - "name": "堆叠条形图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-barchart"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*JKcNRbvHZAwAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/bar/stack", - "/g2/zh/examples/bar/stack", - "/f2/zh/examples/bar/stack" - ], - "links_en": [ - "/g2plot/en/examples/bar/stack#stacked", - "/g2/en/examples/bar/stack#stacked", - "/f2/en/examples/bar/stack" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "percentstackbarchart", - "name": "百分比堆\n叠条形图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-barchart"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*nl5pTowaN5EAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/bar/percentageStack", - "/g2/zh/examples/bar/stack#bar-percentage-stacked-marked", - "/f2/zh/examples/bar/stack#bar-percentage-stacked-marked" - ], - "links_en": [ - "/g2plot/en/examples/bar/stack#bar-percentage-stacked-marked", - "/g2/en/examples/bar/stack#bar-percentage-stacked-marked", - "/f2/en/examples/bar/stack#bar-percentage-stacked-marked" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "groupbarchart", - "name": "分组条形图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-barchart"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*ERLHR55JdTgAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/bar/group", - "/g2/zh/examples/bar/dodge", - "/f2/zh/examples/bar/stack#percent" - ], - "links_en": [ - "/g2plot/en/examples/bar/group", - "/g2/en/examples/bar/dodge", - "/f2/en/examples/bar/dodge" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "intervalbarchart", - "name": "区间条形图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-barchart"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*G6vWT52rdz4AAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/bar/basic#ranged"], - "links_en": ["/g2/en/examples/bar/basic#ranged"], - "linkNames": ["G2"] - }, - { - "id": "radiobarchart", - "name": "玉珏图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-barchart"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*5EwoQYlQ4q4AAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/bar/basic#radial-bar"], - "links_en": ["/g2/en/examples/bar/basic#radial-bar"], - "linkNames": ["G2"] - }, - { - "id": "symetricgroupbarchart", - "name": "对称分组\n条形图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-barchart"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*-y0dTbzSPycAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/bar/dodge#bar5"], - "links_en": ["/g2/en/examples/bar/dodge#bar5"], - "linkNames": ["G2"] - }, - { - "id": "basicpiechart", - "name": "基础饼图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-piechart"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*ka5WSJgUllkAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/pie/basic", - "/g2/zh/examples/pie/basic", - "/f2/zh/examples/pie/basic" - ], - "links_en": [ - "/g2plot/en/examples/pie/basic", - "/g2/en/examples/pie/basic", - "/f2/en/examples/pie/basic" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "ringpiechart", - "name": "环图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-piechart"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*NkK1T7VLgjkAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/pie/ring", - "/g2/zh/examples/pie/donut", - "/f2/zh/examples/pie/donut" - ], - "links_en": [ - "/g2plot/en/examples/pie/ring", - "/g2/en/examples/pie/donut#donut", - "/f2/en/examples/pie/donut#donut" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "nestpiechart", - "name": "嵌套饼图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-piechart"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*JFtYRK6qeeUAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/pie/nested"], - "links_en": ["/g2/en/examples/pie/nested"], - "linkNames": ["G2"] - }, - { - "id": "nightingalechart", - "name": "南丁格尔图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-piechart"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*FBnUR449kzYAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2/zh/examples/pie/rose#color-rose", - "/f2/zh/examples/pie/rose#rose" - ], - "links_en": [ - "/g2/en/examples/pie/rose#color-rose", - "/f2/en/examples/pie/rose#color-rose" - ], - "linkNames": ["G2", "F2"] - }, - { - "id": "scatterplotunit", - "name": "散点图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-scatterplot"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*UQo_Rav7tO4AAAAAAAAAAABkARQnAQ", - "links": [ - "/g2/zh/examples/point/scatter", - "/f2/zh/examples/point/scatter" - ], - "links_en": [ - "/g2/en/examples/point/scatter#scatter", - "/f2/en/examples/point/scatter#scatter" - ], - "linkNames": ["G2", "F2"] - }, - { - "id": "bublescatterplot", - "name": "散点\n气泡图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-scatterplot"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*tJcRQa5kI10AAAAAAAAAAABkARQnAQ", - "links": [ - "/g2/zh/examples/point/scatter#bubble", - "/f2/zh/examples/point/scatter#bubble" - ], - "links_en": [ - "/g2/en/examples/point/scatter#bubble", - "/f2/en/examples/point/scatter#bubble" - ], - "linkNames": ["G2", "F2"] - }, - { - "id": "circulararcdiagram", - "name": "环形弧线图", - "level": 2, - "isLeaf": true, - "tags": ["graph"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*DltUTa3ASJ8AAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/arcDiagram#circularArcDiagram"], - "links_en": ["/g6/en/examples/net/arcDiagram#circularArcDiagram"], - "linkNames": ["G6"] - }, - { - "id": "arcdiagram", - "name": "弧线图", - "level": 2, - "isLeaf": true, - "tags": ["graph"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*aVzrSI3NAtAAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/arcDiagram"], - "links_en": ["/g6/en/examples/net/arcDiagram"], - "linkNames": ["G6"] - }, - { - "id": "chorddiagram", - "name": "和弦图", - "level": 2, - "isLeaf": true, - "tags": ["graph"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*KEDoQrZdzXUAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/relation/relation#chord"], - "links_en": ["/g2/en/examples/relation/relation#chord"], - "linkNames": ["G2"] - }, - { - "id": "treemap", - "name": "矩阵树图", - "level": 2, - "isLeaf": true, - "tags": ["graph"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*nUuaSpgmG6UAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2/zh/examples/relation/relation#treemap-children", - "/f2/zh/examples/relation/relation#treemap" - ], - "links_en": [ - "/g2/en/examples/relation/relation#treemap-children", - "/f2/en/examples/relation/relation#treemap" - ], - "linkNames": ["G2"] - }, - { - "id": "sankey", - "name": "桑基图", - "level": 2, - "isLeaf": true, - "tags": ["graph"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*iuHTTJRzTW4AAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/relation/relation#sankey"], - "links_en": ["/g2/en/examples/relation/relation#sankey"], - "linkNames": ["G2"] - }, - { - "id": "basicfunnel", - "name": "基础漏斗图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-flowplot"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*TqKWT57XsrIAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/funnel/funnel"], - "links_en": ["/g2/en/examples/funnel/funnel"], - "linkNames": ["G2"] - }, - { - "id": "comparefunnel", - "name": "对比漏斗图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-flowplot"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*Q5tSQJMDvCoAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/funnel/funnel#comparision"], - "links_en": ["/g2/en/examples/funnel/funnel#comparision"], - "linkNames": ["G2"] - }, - { - "id": "symetricfunnel", - "name": "对称漏斗图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-flowplot"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*GyMBTqqGY_wAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/funnel/funnel#symmetric"], - "links_en": ["/g2/en/examples/funnel/funnel#symmetric"], - "linkNames": ["G2"] - }, - { - "id": "binchart", - "name": "箱型图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-statisticchartothers"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*xhSaRb16RzYAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/box/box"], - "links_en": ["/g2/en/examples/box/box"], - "linkNames": ["G2"] - }, - { - "id": "colorblockheatmap", - "name": "色块热力图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-statisticchartothers"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*eS0LS5wt6wwAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2/zh/examples/heatmap/heatmap#basic", - "/f2/zh/examples/heatmap/heatmap#basic" - ], - "links_en": [ - "/g2/en/examples/heatmap/heatmap#basic", - "/f2/en/examples/heatmap/heatmap#basic" - ], - "linkNames": ["G2", "F2"] - }, - { - "id": "basicheatmap", - "name": "基础热力图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-statisticchartothers"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*Te9gRYpVq0cAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/heatmap/heatmap#image"], - "links_en": ["/g2/en/examples/heatmap/heatmap#image"], - "linkNames": ["G2"] - }, - { - "id": "instrument", - "name": "仪表盘", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-statisticchartothers"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*McoQQpjJFwkAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/gauge/basic", - "/g2/zh/examples/gauge/gauge", - "/f2/zh/examples/gallery/gauge" - ], - "links_en": [ - "/g2plot/en/examples/gauge/basic", - "/g2/en/examples/gauge/gauge#basic", - "/f2/en/examples/gauge/gauge#basic" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "radar", - "name": "雷达图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-statisticchartothers"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*NxMmSabzJGQAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/radar/basic", - "/g2/zh/examples/radar/radar", - "/f2/zh/examples/radar/radar" - ], - "links_en": [ - "/g2plot/zh/examples/radar/basic", - "/g2/en/examples/radar/radar", - "/f2/en/examples/radar/radar" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "stockklines", - "name": "股票k线图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-stockplot"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*GbzaQLwYrFUAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2/zh/examples/candlestick/demo#basic", - "/f2/zh/examples/candlestick/basic" - ], - "links_en": [ - "/g2/en/examples/candlestick/demo", - "/f2/en/examples/candlestick/demo" - ], - "linkNames": ["G2", "F2"] - }, - { - "id": "wordcloud", - "name": "词云图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-statisticchartothers"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*iHCmSaZ1tCwAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2/zh/examples/other/other#word-cloud", - "/f2/zh/examples/other/other#word-cloud" - ], - "links_en": [ - "/g2/en/examples/other/other#word-cloud", - "/f2/en/examples/other/other#word-cloud" - ], - "linkNames": ["G2", "F2"] - }, - { - "id": "candlestick", - "name": "烛形图", - "level": 2, - "isLeaf": true, - "tags": ["statisticchart-linechart", "statisticchart-stockplot"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*nOPdTrLtpdMAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2/zh/examples/candlestick/demo#k-and-area", - "/f2/zh/examples/candlestick/basic#k" - ], - "links_en": [ - "/g2/en/examples/candlestick/demo#k-and-area", - "/f2/zh/examples/candlestick/demo#k-and-area" - ], - "linkNames": ["G2", "F2"] - }, - { - "id": "compactBox", - "name": "紧凑树", - "level": 2, - "isLeaf": true, - "tags": ["graph-tree"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*WGHWQYjLmXoAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/tree/compactBox#tbCompactBox"], - "links_en": ["/g6/en/examples/tree/compactBox#tbCompactBox"], - "linkNames": ["G6"] - }, - { - "id": "dendrogram", - "name": "系统树", - "level": 2, - "isLeaf": true, - "tags": ["graph-tree"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*r51nTJ-Ha5MAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/tree/dendrogram#tbDendrogram"], - "links_en": ["/g6/en/examples/tree/dendrogram#tbDendrogram"], - "linkNames": ["G6"] - }, - { - "id": "mindmap", - "name": "脑图", - "level": 2, - "isLeaf": true, - "tags": ["graph-tree"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*VFXlT6A_g7wAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/tree/mindmap"], - "links_en": ["/g6/en/examples/tree/mindmap"], - "linkNames": ["G6"] - }, - { - "id": "indented", - "name": "缩进树", - "level": 2, - "isLeaf": true, - "tags": ["graph-tree"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*ywVeSJIfeK8AAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/tree/indented"], - "links_en": ["/g6/en/examples/tree/indented"], - "linkNames": ["G6"] - }, - { - "id": "radialtree", - "name": "辐射树", - "level": 2, - "isLeaf": true, - "tags": ["graph-tree"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*vUkTSpv9YqkAAAAAAAAAAABkARQnAQ", - "links": [ - "/g6/zh/examples/tree/radialtree", - "/g2/zh/examples/relation/relation#radial-dendrogram" - ], - "links_en": [ - "/g6/en/examples/tree/radialtree", - "/g2/en/examples/relation/relation#radial-dendrogram" - ], - "linkNames": ["G6", "G2"] - }, - { - "id": "flowdiagram", - "name": "流程图", - "level": 2, - "isLeaf": true, - "tags": ["graph"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*35XETpuMRpsAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/dagreFlow"], - "links_en": ["/g6/en/examples/net/dagreFlow"], - "linkNames": ["G6"] - }, - { - "id": "fruchtermancluster", - "name": "Fruchterman\n聚类", - "level": 2, - "isLeaf": true, - "tags": ["graph"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*8qAMTomesZcAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/furchtermanLayout#fruchtermanClustering"], - "links_en": [ - "/g6/en/examples/net/furchtermanLayout#fruchtermanClustering" - ], - "linkNames": ["G6"] - }, - { - "id": "fruchterman", - "name": "Fruchterman", - "level": 2, - "isLeaf": true, - "tags": ["graph"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*XD22Q7uxddEAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/furchtermanLayout"], - "links_en": ["/g6/en/examples/net/furchtermanLayout"], - "linkNames": ["G6"] - }, - { - "id": "forcedirected", - "name": "力导向图", - "level": 2, - "isLeaf": true, - "tags": ["graph"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*dokGR7uP50oAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/forceDirected"], - "links_en": ["/g6/en/examples/net/forceDirected"], - "linkNames": ["G6"] - }, - { - "id": "circular", - "name": "环形图", - "level": 2, - "isLeaf": true, - "tags": ["graph"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*2ZNjRqRzJggAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/circular"], - "links_en": ["/g6/en/examples/net/circular"], - "linkNames": ["G6"] - }, - { - "id": "spiral", - "name": "螺旋线图", - "level": 2, - "isLeaf": true, - "tags": ["graph"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*5NkUTJyXfIcAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/circular#spiralCircular"], - "links_en": ["/g6/en/examples/net/circular#spiralCircular"], - "linkNames": ["G6"] - }, - { - "id": "radial", - "name": "辐射图", - "level": 2, - "isLeaf": true, - "tags": ["graph"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*KON0Rbv5XtEAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/radialLayout"], - "links_en": ["/g6/en/examples/net/radialLayout"], - "linkNames": ["G6"] - }, - { - "id": "concentric", - "name": "同心圆", - "level": 2, - "isLeaf": true, - "tags": ["graph"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*zxlhRobv7VEAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/concentricLayout"], - "links_en": ["/g6/en/examples/net/concentricLayout"], - "linkNames": ["G6"] - }, - { - "id": "grid", - "name": "网格图", - "level": 2, - "isLeaf": true, - "tags": ["graph"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*wlkBRKmjVNgAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/gridLayout"], - "links_en": ["/g6/en/examples/net/gridLayout"], - "linkNames": ["G6"] - }, - { - "id": "arcdiagram", - "name": "弧线图", - "level": 2, - "isLeaf": true, - "tags": ["graph"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*aVzrSI3NAtAAAAAAAAAAAABkARQnAQ", - "links": [ - "/g6/zh/examples/net/arcDiagram", - "/g2/zh/examples/relation/relation#arc" - ], - "links_en": [ - "/g6/en/examples/net/arcDiagram", - "/g2/en/examples/relation/relation#arc" - ], - "linkNames": ["G6"] - }, - { - "id": "circulararcdiagram", - "name": "环形弧线图", - "level": 2, - "isLeaf": true, - "tags": ["graph"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*DltUTa3ASJ8AAAAAAAAAAABkARQnAQ", - "links": [ - "/g6/zh/examples/net/arcDiagram#circularArcDiagram", - "/g2/zh/examples/relation/relation#arc-polar" - ], - "links_en": [ - "/g6/en/examples/net/arcDiagram#circularArcDiagram", - "/g2/en/examples/relation/relation#arc-polar" - ], - "linkNames": ["G6"] - }, - { - "id": "bubbles", - "name": "气泡图", - "level": 2, - "isLeaf": true, - "tags": ["graph"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*EaIlRqda-VcAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/forceDirected#forceBubbles"], - "links_en": ["/g6/en/examples/net/forceDirected#forceBubbles"], - "linkNames": ["G6"] - }, - - { - "id": "symbollayer", - "name": "符号地图", - "level": 2, - "isLeaf": true, - "tags": ["map-pointlayer"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*Af7tQJ_sFdwAAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/point/image"], - "links_en": ["/L7/en/examples/point/image"], - "linkNames": ["L7"] - }, - { - "id": "chartmap", - "name": "复合图表\n地图", - "level": 2, - "isLeaf": true, - "tags": ["map-pointlayer"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*KEmSSIB3scwAAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/point/chart"], - "links_en": ["/L7/en/examples/point/chart"], - "linkNames": ["L7"] - }, - { - "id": "columnmap", - "name": "3D 柱状\n地图", - "level": 2, - "isLeaf": true, - "tags": ["map-pointlayer"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*1X4mS4yNGSgAAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/point/column"], - "links_en": ["/L7/en/examples/point/column"], - "linkNames": ["L7"] - }, - { - "id": "scattermap", - "name": "散点地图", - "level": 2, - "isLeaf": true, - "tags": ["map-pointlayer"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*c2EOQqwR-toAAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/point/scatter"], - "links_en": ["/L7/en/examples/point/scatter"], - "linkNames": ["L7"] - }, - { - "id": "pathmap", - "name": "路径地图", - "level": 2, - "isLeaf": true, - "tags": ["map-linelayer"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*J3sVRrzk3egAAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/line/path"], - "links_en": ["/L7/en/examples/line/path"], - "linkNames": ["L7"] - }, - { - "id": "isolinemap", - "name": "等值线地图", - "level": 2, - "isLeaf": true, - "tags": ["map-linelayer"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*hHKHSa1PH-MAAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/line/isoline"], - "links_en": ["/L7/en/examples/line/isoline"], - "linkNames": ["L7"] - }, - { - "id": "custommakermap", - "name": "自定义\n Maker", - "level": 2, - "isLeaf": true, - "tags": ["map-pointlayer"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*_FJCRpEzM8YAAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/point/marker"], - "links_en": ["/L7/en/examples/point/marker"], - "linkNames": ["L7"] - }, - { - "id": "arc3dmap", - "name": "3D 弧线地图", - "level": 2, - "isLeaf": true, - "tags": ["map-linelayer"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*5cnzS4A3968AAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/line/arc"], - "links_en": ["/L7/en/examples/line/arc"], - "linkNames": ["L7"] - }, - { - "id": "choroplethmap", - "name": "分类填充图", - "level": 2, - "isLeaf": true, - "tags": ["map-polygonlayer"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*TSGQRowxmmAAAAAAAAAAAABkARQnAQ", - "links": [ - "/L7/zh/examples/polygon/fill", - "/g2/zh/examples/map/map#choropleth-map" - ], - "links_en": [ - "/L7/en/examples/polygon/fill", - "/g2/en/examples/map/map#choropleth-map" - ], - "linkNames": ["L7", "G2"] - }, - { - "id": "extrudemap", - "name": "3D 填充地图", - "level": 2, - "isLeaf": true, - "tags": ["map-polygonlayer"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*l9D1QK5-z-8AAAAAAAAAAABkARQnAQ", - "links": [ - "/L7/zh/examples/polygon/3d", - "/g2/zh/examples/map/map#choropleth-map" - ], - "links_en": [ - "/L7/en/examples/polygon/3d", - "/g2/en/examples/map/map#choropleth-map" - ], - "linkNames": ["L7", "G2"] - }, - { - "id": "hexagonalheatmap", - "name": "蜂窝热力图", - "level": 2, - "isLeaf": true, - "tags": ["map-heatmap"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*YbKcRbypQ_oAAAAAAAAAAABkARQnAQ", - "links": [ - "/L7/zh/examples/heatmap/hexagon", - "/g2/zh/examples/map/map#hex-choropleth-map" - ], - "links_en": [ - "/L7/en/examples/heatmap/hexagon", - "/g2/en/examples/map/map#hex-choropleth-map" - ], - "linkNames": ["L7", "G2"] - }, - { - "id": "3dhexagonalheatmap", - "name": "3D 蜂窝\n热力图", - "level": 2, - "isLeaf": true, - "tags": ["map-heatmap"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*l9D1QK5-z-8AAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/heatmap/hexagon#light"], - "links_en": ["/L7/en//examples/heatmap/hexagon#light"], - "linkNames": ["L7"] - }, - { - "id": "classicalheatmap", - "name": "经典热力图", - "level": 2, - "isLeaf": true, - "tags": ["map-heatmap"], - "imgSrc": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*HxpoRIcBA80AAAAAAAAAAABkARQnAQ", - "links": [ - "/L7/zh/examples/heatmap/heatmap", - "/g2/zh/examples/map/map#with-heatmap" - ], - "links_en": [ - "/L7/en/examples/heatmap/heatmap", - "/g2/en/examples/map/map#with-heatmap" - ], - "linkNames": ["L7", "G2"] - }, - { - "id": "gridbinheatmap", - "name": "网格\n热力图", - "level": 2, - "isLeaf": true, - "tags": ["map-heatmap"], - "imgSrc": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*tAGKS6EClQ4AAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/heatmap/grid#grid1"], - "links_en": ["/L7/en/examples/heatmap/grid#grid1"], - "linkNames": ["L7"] - }, - - { - "id": "circlepacking", - "name": "圆堆积图", - "level": 2, - "isLeaf": true, - "tags": ["graph-tree"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*nbfsS6Fe8mgAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/relation/relation#circle-packing"], - "links_en": ["/g2/en/examples/relation/relation#circle-packing"], - "linkNames": ["G2"] - }, - { - "id": "polartreemap", - "name": "极坐标树图", - "level": 2, - "isLeaf": true, - "tags": ["graph-tree"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*HGyHQbd3esQAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/relation/relation#polar-treemap"], - "links_en": ["/g2/en/examples/relation/relation#polar-treemap"], - "linkNames": ["G2"] - }, - { - "id": "sunburstdiagram", - "name": "旭日图", - "level": 2, - "isLeaf": true, - "tags": ["graph-tree"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*6vuVTqshFqgAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/relation/relation#sunburst"], - "links_en": ["/g2/en/examples/relation/relation#sunburst"], - "linkNames": ["G2"] - } - ], - "edges": [ - { - "source": "tree", - "target": "sunburstdiagram" - }, - { - "source": "tree", - "target": "circlepacking" - }, - { - "source": "tree", - "target": "polartreemap" - }, - { - "source": "statisticchart", - "target": "linechart" - }, - { - "source": "statisticchart", - "target": "areachart" - }, - { - "source": "statisticchart", - "target": "stockplot" - }, - { - "source": "statisticchart", - "target": "histogram" - }, - { - "source": "statisticchart", - "target": "barchart" - }, - { - "source": "statisticchart", - "target": "piechart" - }, - { - "source": "statisticchart", - "target": "scatterplot" - }, - { - "source": "graph", - "target": "tree" - }, - { - "source": "statisticchart", - "target": "flowplot" - }, - { - "source": "map", - "target": "pointlayer" - }, - { - "source": "map", - "target": "linelayer" - }, - { - "source": "map", - "target": "polygonlayer" - }, - { - "source": "map", - "target": "heatmap" - }, - { - "source": "statisticchart", - "target": "stock" - }, - { - "source": "statisticchart", - "target": "flowplot" - }, - { - "source": "flowplot", - "target": "basicfunnel" - }, - - { - "source": "linechart", - "target": "basiclinechart" - }, - { - "source": "linechart", - "target": "multilinechart" - }, - { - "source": "areachart", - "target": "basicareachart" - }, - { - "source": "areachart", - "target": "stackareachart" - }, - { - "source": "areachart", - "target": "percentstackareachart" - }, - { - "source": "areachart", - "target": "intervalareachart" - }, - { - "source": "areachart", - "target": "streamchart" - }, - { - "source": "histogram", - "target": "basichistogram" - }, - { - "source": "histogram", - "target": "grouphistogram" - }, - { - "source": "histogram", - "target": "stackhistogram" - }, - { - "source": "histogram", - "target": "percentstackhistogram" - }, - { - "source": "histogram", - "target": "intervalhistogram" - }, - { - "source": "histogram", - "target": "waterfall" - }, - { - "source": "histogram", - "target": "histogramunit" - }, - { - "source": "barchart", - "target": "basicbarchart" - }, - { - "source": "barchart", - "target": "percentstackbarchart" - }, - { - "source": "barchart", - "target": "stackbarchart" - }, - { - "source": "barchart", - "target": "percentbarchart" - }, - { - "source": "barchart", - "target": "groupbarchart" - }, - { - "source": "barchart", - "target": "intervalbarchart" - }, - { - "source": "barchart", - "target": "radiobarchart" - }, - { - "source": "barchart", - "target": "symetricgroupbarchart" - }, - { - "source": "piechart", - "target": "basicpiechart" - }, - { - "source": "piechart", - "target": "ringpiechart" - }, - { - "source": "piechart", - "target": "nightingalechart" - }, - { - "source": "piechart", - "target": "nestpiechart" - }, - { - "source": "scatterplot", - "target": "scatterplotunit" - }, - { - "source": "scatterplot", - "target": "bublescatterplot" - }, - { - "source": "scatterplot", - "target": "bubblescatterplot" - }, - { - "source": "graph", - "target": "circulararcdiagram" - }, - { - "source": "graph", - "target": "arcdiagram" - }, - { - "source": "graph", - "target": "chorddiagram" - }, - { - "source": "graph", - "target": "treemap" - }, - { - "source": "graph", - "target": "sankey" - }, - { - "source": "flowplot", - "target": "basicfunnel" - }, - { - "source": "flowplot", - "target": "comparefunnel" - }, - { - "source": "flowplot", - "target": "symetricfunnel" - }, - { - "source": "pointlayer", - "target": "bubblemap" - }, - { - "source": "statisticchart", - "target": "statisticchartothers" - }, - { - "source": "statisticchartothers", - "target": "binchart" - }, - { - "source": "statisticchartothers", - "target": "colorblockheatmap" - }, - { - "source": "statisticchartothers", - "target": "basicheatmap" - }, - { - "source": "statisticchartothers", - "target": "instrument" - }, - { - "source": "statisticchartothers", - "target": "radar" - }, - { - "source": "stockplot", - "target": "stockklines" - }, - { - "source": "statisticchartothers", - "target": "wordcloud" - }, - { - "source": "linechart", - "target": "candlestick" - }, - { - "source": "stockplot", - "target": "candlestick" - }, - { - "source": "tree", - "target": "compactBox" - }, - { - "source": "tree", - "target": "dendrogram" - }, - { - "source": "tree", - "target": "mindmap" - }, - { - "source": "tree", - "target": "indented" - }, - { - "source": "tree", - "target": "radialtree" - }, - { - "source": "graph", - "target": "flowdiagram" - }, - { - "source": "graph", - "target": "fruchtermancluster" - }, - - { - "source": "graph", - "target": "fruchterman" - }, - { - "source": "graph", - "target": "forcedirected" - }, - { - "source": "graph", - "target": "circular" - }, - { - "source": "graph", - "target": "spiral" - }, - { - "source": "graph", - "target": "radial" - }, - { - "source": "graph", - "target": "concentric" - }, - { - "source": "graph", - "target": "grid" - }, - { - "source": "graph", - "target": "chorddiagram" - }, - { - "source": "graph", - "target": "arddiagram" - }, - { - "source": "graph", - "target": "circulararddiagram" - }, - { - "source": "graph", - "target": "bubbles" - }, - { - "source": "pointlayer", - "target": "symbollayer" - }, - { - "source": "pointlayer", - "target": "chartmap" - }, - { - "source": "pointlayer", - "target": "columnmap" - }, - { - "source": "pointlayer", - "target": "scattermap" - }, - { - "source": "pointlayer", - "target": "custommakermap" - }, - { - "source": "pointlayer", - "target": "bubblemap" - }, - { - "source": "linelayer", - "target": "pathmap" - }, - { - "source": "linelayer", - "target": "isolinemap" - }, - { - "source": "linelayer", - "target": "arc3dmap" - }, - { - "source": "polygonlayer", - "target": "horoplethmap" - }, - { - "source": "polygonlayer", - "target": "choroplethmap" - }, - { - "source": "polygonlayer", - "target": "extrudemap" - }, - { - "source": "heatmap", - "target": "3dhexagonalheatmap" - }, - { - "source": "heatmap", - "target": "gridbinheatmap" - }, - { - "source": "heatmap", - "target": "hexagonalheatmap" - }, - { - "source": "heatmap", - "target": "classicalheatmap" - } - ] -} diff --git a/site/data/decision-tree-datatype.json b/site/data/decision-tree-datatype.json deleted file mode 100644 index c636e2bd2..000000000 --- a/site/data/decision-tree-datatype.json +++ /dev/null @@ -1,1718 +0,0 @@ -{ - "nodes": [ - { - "id": "numeric", - "name": "数值型", - "level": 0, - "childrenNum": 51, - "tag": "numeric" - }, - { - "id": "timeseries", - "name": "时序型", - "level": 0, - "childrenNum": 17, - "tag": "timeseries" - }, - { - "id": "category", - "name": "分类型", - "level": 0, - "childrenNum": 36, - "tag": "category" - }, - { - "id": "geography", - "name": "地理型", - "level": 0, - "childrenNum": 15, - "tag": "geography" - }, - { - "id": "relational", - "name": "关系型", - "level": 0, - "tag": "relational", - "childrenNum": 19 - }, - - { - "id": "tree", - "name": "树", - "level": 1, - "childrenNum": 9, - "tag": "tree", - "isLeaf": false, - "tags": ["relational"] - }, - - { - "id": "basiclinechart", - "name": "基础折线", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "timeseries"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*JXRgQ4tcm1kAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/line/basic", - "/g2/zh/examples/line/basic", - "/f2/zh/examples/line/basic" - ], - "links_en": [ - "/g2plot/en/examples/line/basic", - "/g2/en/examples/line/basic", - "/f2/en/examples/line/basic" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "multilinechart", - "name": "多折线图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "timeseries"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*gnbiSo8DaEwAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/line/multiple", - "/g2/zh/examples/line/multiple", - "/f2/zh/examples/line/multiple" - ], - "links_en": [ - "/g2plot/en/examples/line/multiple", - "/g2/en/examples/line/multiple", - "/f2/en/examples/line/multiple" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "basicareachart", - "name": "基础面积图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "timeseries"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*Zv4oSrF6JDYAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/area/basic", - "/g2/zh/examples/area/basic", - "/f2/zh/examples/area/basic" - ], - "links_en": [ - "/g2plot/en/examples/area/basic", - "/g2/en/examples/area/basic", - "/f2/en/examples/area/basic" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "stackareachart", - "name": "堆叠面积图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "timeseries"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*YoCuRoNaN8kAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/area/stack", - "/g2/zh/examples/area/stacked#stacked", - "/g]f2/zh/examples/area/stacked#stacked" - ], - "links_en": [ - "/g2plot/en/examples/area/stacked", - "/g2/en/examples/area/stacked", - "/f2/en/examples/area/stacked" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "percentstackareachart", - "name": "百分比堆\n叠面积图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "timeseries"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*NMkWRLm2_8IAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/area/percentageArea", - "/g2/zh/examples/area/stacked#percentage", - "/f2/zh/examples/area/stacked#percent" - ], - "links_en": [ - "/g2plot/en/examples/area/percentageArea", - "/g2/en/examples/area/stacked#percentage", - "/f2/en/examples/area/stacked#percent" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "intervalareachart", - "name": "区间面积图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "timeseries"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*wX5sTajQpn4AAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/area/range"], - "links_en": ["/g2/en/examples/area/range"], - "linkNames": ["G2"] - }, - { - "id": "streamchart", - "name": "河流图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "timeseries"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*-lFRTootQesAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/area/stacked#streamgraph"], - "links_en": ["/g2/en/examples/area/stacked#streamgraph"], - "linkNames": ["G2"] - }, - { - "id": "basichistogram", - "name": "基础柱状图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "timeseries", "category"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*V9UkSqvdud4AAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/column/basic", - "/g2/zh/examples/column/basic", - "/f2/zh/examples/column/basic" - ], - "links_en": [ - "/g2plot/en/examples/column/basic", - "/g2/en/examples/column/basic", - "/f2/en/examples/column/basic" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "grouphistogram", - "name": "分组柱状图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "category"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*qjpuT6qOKG0AAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/column/group", - "/g2/zh/examples/column/dodge", - "/f2/zh/examples/column/dodge" - ], - "links_en": [ - "/g2plot/en/examples/column/dodge", - "/g2/en/examples/column/dodge", - "/f2/en/examples/column/dodge" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "stackhistogram", - "name": "堆叠柱状图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "category"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*l8T0QYLvYocAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/column/stack#stacked", - "/g2/zh/examples/column/stack#stacked", - "/f2/zh/examples/column/stack#stacked" - ], - "links_en": [ - "/g2plot/en/examples/column/stack#stacked", - "/g2/en/examples/column/stack#stacked", - "/f2/en/examples/column/stack#stacked" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "percentstackhistogram", - "name": "百分比堆\n叠柱状图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "category"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*nl5pTowaN5EAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/column/percentageStack", - "/g2/zh/examples/column/stack#stacked-percentage", - "/f2/zh/examples/column/stack#percent" - ], - "links_en": [ - "/g2plot/en/examples/column/stack#stacked-percentage", - "/g2/en/examples/column/stack#stacked-percentage", - "/f2/en/examples/column/stack#stacked-percentage" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "intervalhistogram", - "name": "区间柱状图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "category"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*5FIvRblZNooAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2/zh/examples/column/basic#ranged", - "/f2/zh/examples/column/basic#ranged" - ], - "links_en": [ - "/g2/en/examples/column/basic#ranged", - "/f2/zh/examples/column/basic#ranged" - ], - "linkNames": ["G2", "F2"] - }, - { - "id": "waterfall", - "name": "瀑布图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "category"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*QLMTR4jmABYAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/column/basic#waterfall"], - "links_en": ["/g2/en/examples/column/basic#waterfall"], - "linkNames": ["G2"] - }, - { - "id": "histogramunit", - "name": "直方图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "category", "timeseries"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*WI97SJBgaCwAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/column/histogram", - "/g2/zh/examples/column/histogram#histogram" - ], - "links_en": [ - "/g2plot/en/examples/column/histogram#histogram", - "/g2/en/examples/column/histogram#histogram" - ], - "linkNames": ["G2Plot", "G2"] - }, - { - "id": "basicbarchart", - "name": "基础条形图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "category", "timeseries"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*RENoRrj3PugAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/bar/basic", - "/g2/zh/examples/bar/basic", - "/f2/zh/examples/bar/basic" - ], - "links_en": [ - "/g2plot/en/examples/bar/basic", - "/g2/en/examples/bar/basic", - "/f2/en/examples/bar/basic" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "stackbarchart", - "name": "堆叠条形图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "category", "timeseries"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*JKcNRbvHZAwAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/bar/stack", - "/g2/zh/examples/bar/stack", - "/f2/zh/examples/bar/stack" - ], - "links_en": [ - "/g2plot/en/examples/bar/stack#stacked", - "/g2/en/examples/bar/stack#stacked", - "/f2/en/examples/bar/stack" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "percentstackbarchart", - "name": "百分比堆\n叠条形图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "category", "timeseries"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*nl5pTowaN5EAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/bar/percentageStack", - "/g2/zh/examples/bar/stack#bar-percentage-stacked-marked", - "/f2/zh/examples/bar/stack#bar-percentage-stacked-marked" - ], - "links_en": [ - "/g2plot/en/examples/bar/stack#bar-percentage-stacked-marked", - "/g2/en/examples/bar/stack#bar-percentage-stacked-marked", - "/f2/en/examples/bar/stack#bar-percentage-stacked-marked" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "groupbarchart", - "name": "分组条形图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "category", "timeseries"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*ERLHR55JdTgAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/bar/group", - "/g2/zh/examples/bar/dodge", - "/f2/zh/examples/bar/stack#percent" - ], - "links_en": [ - "/g2plot/en/examples/bar/group", - "/g2/en/examples/bar/dodge", - "/f2/en/examples/bar/dodge" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "intervalbarchart", - "name": "区间条形图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "category", "timeseries"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*G6vWT52rdz4AAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/bar/basic#ranged"], - "links_en": ["/g2/en/examples/bar/basic#ranged"], - "linkNames": ["G2"] - }, - { - "id": "radiobarchart", - "name": "玉珏图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "category"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*5EwoQYlQ4q4AAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/bar/basic#radial-bar"], - "links_en": ["/g2/en/examples/bar/basic#radial-bar"], - "linkNames": ["G2"] - }, - { - "id": "symetricgroupbarchart", - "name": "对称分组\n条形图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "category"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*-y0dTbzSPycAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/bar/dodge#bar5"], - "links_en": ["/g2/en/examples/bar/dodge#bar5"], - "linkNames": ["G2"] - }, - { - "id": "basicpiechart", - "name": "基础饼图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "category"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*ka5WSJgUllkAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/pie/basic", - "/g2/zh/examples/pie/basic", - "/f2/zh/examples/pie/basic" - ], - "links_en": [ - "/g2plot/en/examples/pie/basic", - "/g2/en/examples/pie/basic", - "/f2/en/examples/pie/basic" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "ringpiechart", - "name": "环图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "category"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*NkK1T7VLgjkAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/pie/ring", - "/g2/zh/examples/pie/donut", - "/f2/zh/examples/pie/donut" - ], - "links_en": [ - "/g2plot/en/examples/pie/ring", - "/g2/en/examples/pie/donut#donut", - "/f2/en/examples/pie/donut#donut" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "nestpiechart", - "name": "嵌套饼图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "category"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*JFtYRK6qeeUAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/pie/nested"], - "links_en": ["/g2/en/examples/pie/nested"], - "linkNames": ["G2"] - }, - { - "id": "nightingalechart", - "name": "南丁格尔图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "category"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*FBnUR449kzYAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2/zh/examples/pie/rose#color-rose", - "/f2/zh/examples/pie/rose#rose" - ], - "links_en": [ - "/g2/en/examples/pie/rose#color-rose", - "/f2/en/examples/pie/rose#color-rose" - ], - "linkNames": ["G2", "F2"] - }, - { - "id": "scatterplotunit", - "name": "散点图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "category"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*UQo_Rav7tO4AAAAAAAAAAABkARQnAQ", - "links": [ - "/g2/zh/examples/point/scatter", - "/f2/zh/examples/point/scatter" - ], - "links_en": [ - "/g2/en/examples/point/scatter#scatter", - "/f2/en/examples/point/scatter#scatter" - ], - "linkNames": ["G2", "F2"] - }, - { - "id": "bubblescatterplot", - "name": "散点\n气泡图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "category"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*tJcRQa5kI10AAAAAAAAAAABkARQnAQ", - "links": [ - "/g2/zh/examples/point/scatter#bubble", - "/f2/zh/examples/point/scatter#bubble" - ], - "links_en": [ - "/g2/en/examples/point/scatter#bubble", - "/f2/en/examples/point/scatter#bubble" - ], - "linkNames": ["G2", "F2"] - }, - { - "id": "circulararcdiagram", - "name": "环形弧线图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "relational"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*DltUTa3ASJ8AAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/arcDiagram#circularArcDiagram"], - "links_en": ["/g6/en/examples/net/arcDiagram#circularArcDiagram"], - "linkNames": ["G6"] - }, - { - "id": "arcdiagram", - "name": "弧线图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "relational"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*aVzrSI3NAtAAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/arcDiagram"], - "links_en": ["/g6/en/examples/net/arcDiagram"], - "linkNames": ["G6"] - }, - { - "id": "chorddiagram", - "name": "和弦图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "relational"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*KEDoQrZdzXUAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/relation/relation#chord"], - "links_en": ["/g2/en/examples/relation/relation#chord"], - "linkNames": ["G2"] - }, - { - "id": "treemap", - "name": "矩阵树图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "relational"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*nUuaSpgmG6UAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2/zh/examples/relation/relation#treemap-children", - "/f2/zh/examples/relation/relation#treemap" - ], - "links_en": [ - "/g2/en/examples/relation/relation#treemap-children", - "/f2/en/examples/relation/relation#treemap" - ], - "linkNames": ["G2"] - }, - { - "id": "sankey", - "name": "桑基图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "relational"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*iuHTTJRzTW4AAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/relation/relation#sankey"], - "links_en": ["/g2/en/examples/relation/relation#sankey"], - "linkNames": ["G2"] - }, - { - "id": "basicfunnel", - "name": "基础漏斗图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "relational", "category"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*TqKWT57XsrIAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/funnel/funnel"], - "links_en": ["/g2/en/examples/funnel/funnel"], - "linkNames": ["G2"] - }, - { - "id": "comparefunnel", - "name": "对比漏斗图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "relational", "category"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*Q5tSQJMDvCoAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/funnel/funnel#comparision"], - "links_en": ["/g2/en/examples/funnel/funnel#comparision"], - "linkNames": ["G2"] - }, - { - "id": "symetricfunnel", - "name": "对称漏斗图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "relational", "category"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*GyMBTqqGY_wAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/funnel/funnel#symmetric"], - "links_en": ["/g2/en/examples/funnel/funnel#symmetric"], - "linkNames": ["G2"] - }, - { - "id": "binchart", - "name": "箱型图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "category"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*xhSaRb16RzYAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/box/box"], - "links_en": ["/g2/en/examples/box/box"], - "linkNames": ["G2"] - }, - { - "id": "colorblockheatmap", - "name": "色块热力图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "category", "timeseries"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*eS0LS5wt6wwAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2/zh/examples/heatmap/heatmap#basic", - "/f2/zh/examples/heatmap/heatmap#basic" - ], - "links_en": [ - "/g2/en/examples/heatmap/heatmap#basic", - "/f2/en/examples/heatmap/heatmap#basic" - ], - "linkNames": ["G2", "F2"] - }, - { - "id": "basicheatmap", - "name": "基础热力图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "category", "geography"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*Te9gRYpVq0cAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/heatmap/heatmap#image"], - "links_en": ["/g2/en/examples/heatmap/heatmap#image"], - "linkNames": ["G2"] - }, - { - "id": "instrument", - "name": "仪表盘", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "category"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*McoQQpjJFwkAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/gauge/basic", - "/g2/zh/examples/gauge/gauge", - "/f2/zh/examples/gallery/gauge" - ], - "links_en": [ - "/g2plot/en/examples/gauge/basic", - "/g2/en/examples/gauge/gauge#basic", - "/f2/en/examples/gauge/gauge#basic" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "radar", - "name": "雷达图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "category"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*NxMmSabzJGQAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/radar/basic", - "/g2/zh/examples/radar/radar", - "/f2/zh/examples/radar/radar" - ], - "links_en": [ - "/g2plot/zh/examples/radar/basic", - "/g2/en/examples/radar/radar", - "/f2/en/examples/radar/radar" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "stockklines", - "name": "股票k线图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "timeseries"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*GbzaQLwYrFUAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2/zh/examples/candlestick/demo#basic", - "/f2/zh/examples/candlestick/basic" - ], - "links_en": [ - "/g2/en/examples/candlestick/demo", - "/f2/en/examples/candlestick/demo" - ], - "linkNames": ["G2", "F2"] - }, - { - "id": "wordcloud", - "name": "词云图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "category"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*iHCmSaZ1tCwAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2/zh/examples/other/other#word-cloud", - "/f2/zh/examples/other/other#word-cloud" - ], - "links_en": [ - "/g2/en/examples/other/other#word-cloud", - "/f2/en/examples/other/other#word-cloud" - ], - "linkNames": ["G2", "F2"] - }, - { - "id": "candlestick", - "name": "烛形图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "timeseries"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*nOPdTrLtpdMAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2/zh/examples/candlestick/demo#k-and-area", - "/f2/zh/examples/candlestick/basic#k" - ], - "links_en": [ - "/g2/en/examples/candlestick/demo#k-and-area", - "/f2/zh/examples/candlestick/demo#k-and-area" - ], - "linkNames": ["G2", "F2"] - }, - { - "id": "compactBox", - "name": "紧凑树", - "level": 2, - "isLeaf": true, - "tags": ["relational-tree"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*WGHWQYjLmXoAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/tree/compactBox#tbCompactBox"], - "links_en": ["/g6/en/examples/tree/compactBox#tbCompactBox"], - "linkNames": ["G6"] - }, - { - "id": "dendrogram", - "name": "系统树", - "level": 2, - "isLeaf": true, - "tags": ["relational-tree"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*r51nTJ-Ha5MAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/tree/dendrogram#tbDendrogram"], - "links_en": ["/g6/en/examples/tree/dendrogram#tbDendrogram"], - "linkNames": ["G6"] - }, - { - "id": "mindmap", - "name": "脑图", - "level": 2, - "isLeaf": true, - "tags": ["relational-tree"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*VFXlT6A_g7wAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/tree/mindmap"], - "links_en": ["/g6/en/examples/tree/mindmap"], - "linkNames": ["G6"] - }, - { - "id": "indented", - "name": "缩进树", - "level": 2, - "isLeaf": true, - "tags": ["relational-tree"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*ywVeSJIfeK8AAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/tree/indented"], - "links_en": ["/g6/en/examples/tree/indented"], - "linkNames": ["G6"] - }, - { - "id": "radialtree", - "name": "辐射树", - "level": 2, - "isLeaf": true, - "tags": ["relational-tree"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*vUkTSpv9YqkAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/tree/radialtree"], - "links_en": ["/g6/en/examples/tree/radialtree"], - "linkNames": ["G6"] - }, - { - "id": "flowdiagram", - "name": "流程图", - "level": 2, - "isLeaf": true, - "tags": ["relational"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*35XETpuMRpsAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/dagreFlow"], - "links_en": ["/g6/en/examples/net/dagreFlow"], - "linkNames": ["G6"] - }, - { - "id": "fruchtermancluster", - "name": "Fruchterman\n聚类", - "level": 2, - "isLeaf": true, - "tags": ["relational"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*8qAMTomesZcAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/furchtermanLayout#fruchtermanClustering"], - "links_en": [ - "/g6/en/examples/net/furchtermanLayout#fruchtermanClustering" - ], - "linkNames": ["G6"] - }, - { - "id": "fruchterman", - "name": "Fruchterman", - "level": 2, - "isLeaf": true, - "tags": ["relational"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*XD22Q7uxddEAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/furchtermanLayout"], - "links_en": ["/g6/en/examples/net/furchtermanLayout"], - "linkNames": ["G6"] - }, - { - "id": "forcedirected", - "name": "力导向图", - "level": 2, - "isLeaf": true, - "tags": ["relational"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*dokGR7uP50oAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/forceDirected"], - "links_en": ["/g6/en/examples/net/forceDirected"], - "linkNames": ["G6"] - }, - { - "id": "circular", - "name": "环形图", - "level": 2, - "isLeaf": true, - "tags": ["relational"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*2ZNjRqRzJggAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/circular"], - "links_en": ["/g6/en/examples/net/circular"], - "linkNames": ["G6"] - }, - { - "id": "spiral", - "name": "螺旋线图", - "level": 2, - "isLeaf": true, - "tags": ["relational"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*5NkUTJyXfIcAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/circular#spiralCircular"], - "links_en": ["/g6/en/examples/net/circular#spiralCircular"], - "linkNames": ["G6"] - }, - { - "id": "radial", - "name": "辐射图", - "level": 2, - "isLeaf": true, - "tags": ["relational"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*KON0Rbv5XtEAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/radialLayout"], - "links_en": ["/g6/en/examples/net/radialLayout"], - "linkNames": ["G6"] - }, - { - "id": "concentric", - "name": "同心圆", - "level": 2, - "isLeaf": true, - "tags": ["relational"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*zxlhRobv7VEAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/concentricLayout"], - "links_en": ["/g6/en/examples/net/concentricLayout"], - "linkNames": ["G6"] - }, - { - "id": "grid", - "name": "网格图", - "level": 2, - "isLeaf": true, - "tags": ["relational"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*wlkBRKmjVNgAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/gridLayout"], - "links_en": ["/g6/en/examples/net/gridLayout"], - "linkNames": ["G6"] - }, - { - "id": "bubbles", - "name": "气泡图", - "level": 2, - "isLeaf": true, - "tags": ["relational"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*EaIlRqda-VcAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/forceDirected#forceBubbles"], - "links_en": ["/g6/en/examples/net/forceDirected#forceBubbles"], - "linkNames": ["G6"] - }, - - { - "id": "symbollayer", - "name": "符号地图", - "level": 2, - "isLeaf": true, - "tags": ["geography", "category"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*Af7tQJ_sFdwAAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/point/image"], - "links_en": ["/L7/en/examples/point/image"], - "linkNames": ["L7"] - }, - { - "id": "chartmap", - "name": "复合图表\n地图", - "level": 2, - "isLeaf": true, - "tags": ["geography"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*KEmSSIB3scwAAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/point/chart"], - "links_en": ["/L7/en/examples/point/chart"], - "linkNames": ["L7"] - }, - { - "id": "columnmap", - "name": "3D 柱状\n地图", - "level": 2, - "isLeaf": true, - "tags": ["geography", "numeric"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*1X4mS4yNGSgAAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/point/column"], - "links_en": ["/L7/en/examples/point/column"], - "linkNames": ["L7"] - }, - { - "id": "scattermap", - "name": "散点地图", - "level": 2, - "isLeaf": true, - "tags": ["geography"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*c2EOQqwR-toAAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/point/scatter"], - "links_en": ["/L7/en/examples/point/scatter"], - "linkNames": ["L7"] - }, - { - "id": "pathmap", - "name": "路径地图", - "level": 2, - "isLeaf": true, - "tags": ["geography"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*J3sVRrzk3egAAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/line/path"], - "links_en": ["/L7/en/examples/line/path"], - "linkNames": ["L7"] - }, - { - "id": "isolinemap", - "name": "等值线地图", - "level": 2, - "isLeaf": true, - "tags": ["category", "geography"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*hHKHSa1PH-MAAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/line/isoline"], - "links_en": ["/L7/en/examples/line/isoline"], - "linkNames": ["L7"] - }, - { - "id": "custommakermap", - "name": "自定义\n Maker", - "level": 2, - "isLeaf": true, - "tags": ["geography"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*_FJCRpEzM8YAAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/point/marker"], - "links_en": ["/L7/en/examples/point/marker"], - "linkNames": ["L7"] - }, - { - "id": "arc3dmap", - "name": "3D 弧线地图", - "level": 2, - "isLeaf": true, - "tags": ["relational", "geography"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*5cnzS4A3968AAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/line/arc"], - "links_en": ["/L7/en/examples/line/arc"], - "linkNames": ["L7"] - }, - { - "id": "choroplethmap", - "name": "分类填充图", - "level": 2, - "isLeaf": true, - "tags": ["category", "geography"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*TSGQRowxmmAAAAAAAAAAAABkARQnAQ", - "links": [ - "/L7/zh/examples/polygon/fill", - "/g2/zh/examples/map/map#choropleth-map" - ], - "links_en": [ - "/L7/en/examples/polygon/fill", - "/g2/en/examples/map/map#choropleth-map" - ], - "linkNames": ["L7", "G2"] - }, - { - "id": "extrudemap", - "name": "3D 填充地图", - "level": 2, - "isLeaf": true, - "tags": ["category", "geography"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*l9D1QK5-z-8AAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/polygon/3d"], - "links_en": ["/L7/en/examples/polygon/3d"], - "linkNames": ["L7"] - }, - { - "id": "hexagonalheatmap", - "name": "蜂窝热力图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "geography"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*YbKcRbypQ_oAAAAAAAAAAABkARQnAQ", - "links": [ - "/L7/zh/examples/heatmap/hexagon", - "/g2/zh/examples/map/map#hex-choropleth-map" - ], - "links_en": [ - "/L7/en/examples/heatmap/hexagon", - "/g2/en/examples/map/map#hex-choropleth-map" - ], - "linkNames": ["L7", "G2"] - }, - { - "id": "3dhexagonalheatmap", - "name": "3D 蜂窝\n热力图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "geography"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*l9D1QK5-z-8AAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/heatmap/hexagon#light"], - "links_en": ["/L7/en//examples/heatmap/hexagon#light"], - "linkNames": ["L7"] - }, - { - "id": "classicalheatmap", - "name": "经典热力图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "geography"], - "imgSrc": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*HxpoRIcBA80AAAAAAAAAAABkARQnAQ", - "links": [ - "/L7/zh/examples/heatmap/heatmap", - "/g2/zh/examples/map/map#with-heatmap" - ], - "links_en": [ - "/L7/en/examples/heatmap/heatmap", - "/g2/en/examples/map/map#with-heatmap" - ], - "linkNames": ["L7", "G2"] - }, - { - "id": "gridbinheatmap", - "name": "网格\n热力图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "geography"], - "imgSrc": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*tAGKS6EClQ4AAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/heatmap/grid#grid1"], - "links_en": ["/L7/en/examples/heatmap/grid#grid1"], - "linkNames": ["L7"] - }, - - { - "id": "circlepacking", - "name": "圆堆积图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "category", "relational-tree"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*nbfsS6Fe8mgAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/relation/relation#circle-packing"], - "links_en": ["/g2/en/examples/relation/relation#circle-packing"], - "linkNames": ["G2"] - }, - { - "id": "polartreemap", - "name": "极坐标树图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "category", "relational-tree"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*HGyHQbd3esQAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/relation/relation#polar-treemap"], - "links_en": ["/g2/en/examples/relation/relation#polar-treemap"], - "linkNames": ["G2"] - }, - { - "id": "sunburstdiagram", - "name": "旭日图", - "level": 2, - "isLeaf": true, - "tags": ["numeric", "category", "relational-tree"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*6vuVTqshFqgAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/relation/relation#sunburst"], - "links_en": ["/g2/en/examples/relation/relation#sunburst"], - "linkNames": ["G2"] - } - ], - "edges": [ - { - "source": "geography", - "target": "custommakermap" - }, - { - "source": "category", - "target": "isolinemap" - }, - { - "source": "geography", - "target": "isolinemap" - }, - { - "source": "category", - "target": "extrudemap" - }, - { - "source": "geography", - "target": "extrudemap" - }, - { - "source": "category", - "target": "sunburstdiagram" - }, - { - "source": "numeric", - "target": "sunburstdiagram" - }, - { - "source": "tree", - "target": "sunburstdiagram" - }, - { - "source": "category", - "target": "polartreemap" - }, - { - "source": "numeric", - "target": "polartreemap" - }, - { - "source": "tree", - "target": "polartreemap" - }, - { - "source": "numeric", - "target": "circlepacking" - }, - { - "source": "category", - "target": "circlepacking" - }, - { - "source": "tree", - "target": "circlepacking" - }, - { - "source": "relational", - "target": "tree" - }, - - { - "source": "numeric", - "target": "basiclinechart" - }, - { - "source": "timeseries", - "target": "basiclinechart" - }, - { - "source": "numeric", - "target": "multilinechart" - }, - { - "source": "timeseries", - "target": "multilinechart" - }, - { - "source": "numeric", - "target": "basicareachart" - }, - { - "source": "timeseries", - "target": "basicareachart" - }, - { - "source": "timeseries", - "target": "stackareachart" - }, - { - "source": "numeric", - "target": "stackareachart" - }, - { - "source": "timeseries", - "target": "percentstackareachart" - }, - { - "source": "numeric", - "target": "percentstackareachart" - }, - { - "source": "timeseries", - "target": "intervalareachart" - }, - { - "source": "numeric", - "target": "intervalareachart" - }, - { - "source": "numeric", - "target": "streamchart" - }, - { - "source": "timeseries", - "target": "streamchart" - }, - - { - "source": "numeric", - "target": "basichistogram" - }, - { - "source": "category", - "target": "basichistogram" - }, - { - "source": "timeseries", - "target": "basichistogram" - }, - { - "source": "numeric", - "target": "grouphistogram" - }, - { - "source": "category", - "target": "grouphistogram" - }, - { - "source": "numeric", - "target": "stackhistogram" - }, - { - "so urce": "category", - "target": "stackhistogram" - }, - { - "source": "numeric", - "target": "percentstackhistogram" - }, - { - "source": "category", - "target": "percentstackhistogram" - }, - { - "source": "numeric", - "target": "intervalhistogram" - }, - { - "source": "category", - "target": "intervalhistogram" - }, - { - "source": "numeric", - "target": "waterfall" - }, - { - "source": "category", - "target": "waterfall" - }, - { - "source": "numeric", - "target": "histogramunit" - }, - { - "source": "category", - "target": "histogramunit" - }, - { - "source": "timeseries", - "target": "histogramunit" - }, - { - "source": "numeric", - "target": "basicbarchart" - }, - { - "source": "category", - "target": "basicbarchart" - }, - { - "source": "timeseries", - "target": "basicbarchart" - }, - { - "source": "numeric", - "target": "stackbarchart" - }, - { - "source": "category", - "target": "stackbarchart" - }, - { - "source": "timeseries", - "target": "stackbarchart" - }, - { - "source": "numeric", - "target": "percentstackbarchart" - }, - { - "source": "category", - "target": "percentstackbarchart" - }, - { - "source": "timeseries", - "target": "percentstackbarchart" - }, - { - "source": "numeric", - "target": "groupbarchart" - }, - { - "source": "category", - "target": "groupbarchart" - }, - { - "source": "timeseries", - "target": "groupbarchart" - }, - { - "source": "numeric", - "target": "intervalbarchart" - }, - { - "source": "category", - "target": "intervalbarchart" - }, - { - "source": "timeseries", - "target": "intervalbarchart" - }, - { - "source": "numeric", - "target": "radiobarchart" - }, - { - "source": "category", - "target": "radiobarchart" - }, - { - "source": "numeric", - "target": "symetricgroupbarchart" - }, - { - "source": "category", - "target": "symetricgroupbarchart" - }, - { - "source": "numeric", - "target": "basicpiechart" - }, - { - "source": "category", - "target": "basicpiechart" - }, - { - "source": "numeric", - "target": "ringpiechart" - }, - { - "source": "category", - "target": "ringpiechart" - }, - { - "source": "numeric", - "target": "nestpiechart" - }, - { - "source": "category", - "target": "nestpiechart" - }, - { - "source": "numeric", - "target": "nightingalechart" - }, - { - "source": "category", - "target": "nightingalechart" - }, - { - "source": "category", - "target": "scatterplotunit" - }, - { - "source": "numeric", - "target": "scatterplotunit" - }, - { - "source": "numeric", - "target": "bubblescatterplot" - }, - { - "source": "category", - "target": "bubblescatterplot" - }, - { - "source": "numeric", - "target": "circulararcdiagram" - }, - { - "source": "relational", - "target": "circulararcdiagram" - }, - { - "source": "relational", - "target": "arcdiagram" - }, - { - "source": "numeric", - "target": "arcdiagram" - }, - { - "source": "numeric", - "target": "chorddiagram" - }, - { - "source": "relational", - "target": "chorddiagram" - }, - { - "source": "relational", - "target": "treemap" - }, - { - "source": "numeric", - "target": "treemap" - }, - { - "source": "numeric", - "target": "sankey" - }, - { - "source": "relational", - "target": "sankey" - }, - { - "source": "relational", - "target": "basicfunnel" - }, - { - "source": "numeric", - "target": "basicfunnel" - }, - { - "source": "category", - "target": "basicfunnel" - }, - { - "source": "category", - "target": "comparefunnel" - }, - { - "source": "numeric", - "target": "comparefunnel" - }, - { - "source": "relational", - "target": "comparefunnel" - }, - { - "source": "relational", - "target": "symetricfunnel" - }, - { - "source": "numeric", - "target": "symetricfunnel" - }, - { - "source": "category", - "target": "symetricfunnel" - }, - { - "source": "numeric", - "target": "bubblemap" - }, - { - "source": "category", - "target": "bubblemap" - }, - { - "source": "geography", - "target": "bubblemap" - }, - { - "source": "numeric", - "target": "binchart" - }, - { - "source": "category", - "target": "binchart" - }, - { - "source": "numberic", - "target": "colorblockheatmap" - }, - { - "source": "category", - "target": "colorblockheatmap" - }, - { - "source": "timeseries", - "target": "colorblockheatmap" - }, - { - "source": "timeseries", - "target": "basicheatmap" - }, - { - "source": "category", - "target": "basicheatmap" - }, - { - "source": "numeric", - "target": "basicheatmap" - }, - { - "source": "numeric", - "target": "instrument" - }, - { - "source": "category", - "target": "instrument" - }, - { - "source": "category", - "target": "radar" - }, - { - "source": "numeric", - "target": "radar" - }, - { - "source": "numeric", - "target": "stockklines" - }, - { - "source": "timeseries", - "target": "stockklines" - }, - { - "source": "numeric", - "target": "wordcloud" - }, - { - "source": "category", - "target": "wordcloud" - }, - { - "source": "numeric", - "target": "candlestick" - }, - { - "source": "timeseries", - "target": "candlestick" - }, - { - "source": "tree", - "target": "compactBox" - }, - { - "source": "tree", - "target": "dendrogram" - }, - { - "source": "tree", - "target": "mindmap" - }, - { - "source": "tree", - "target": "indented" - }, - { - "source": "tree", - "target": "radialtree" - }, - { - "source": "relational", - "target": "flowdiagram" - }, - { - "source": "relational", - "target": "fruchtermancluster" - }, - { - "source": "relational", - "target": "fruchterman" - }, - { - "source": "relational", - "target": "forcedirected" - }, - { - "source": "relational", - "target": "circular" - }, - - { - "source": "relational", - "target": "spiral" - }, - { - "source": "relational", - "target": "radial" - }, - { - "source": "relational", - "target": "concentric" - }, - { - "source": "relational", - "target": "grid" - }, - { - "source": "relational", - "target": "bubbles" - }, - { - "source": "geography", - "target": "dotmap" - }, - { - "source": "geography", - "target": "symbollayer" - }, - { - "source": "category", - "target": "symbollayer" - }, - { - "source": "geography", - "target": "clustermap" - }, - { - "source": "numeric", - "target": "clustermap" - }, - { - "source": "geography", - "target": "chartmap" - }, - { - "source": "geography", - "target": "columnmap" - }, - { - "source": "numeric", - "target": "columnmap" - }, - { - "source": "geography", - "target": "scattermap" - }, - { - "source": "geography", - "target": "pathmap" - }, - { - "source": "geography", - "target": "relationmap" - }, - { - "source": "relational", - "target": "relationmap" - }, - { - "source": "relational", - "target": "arc3dmap" - }, - { - "source": "geography", - "target": "arc3dmap" - }, - { - "source": "geography", - "target": "choroplethmap" - }, - { - "source": "category", - "target": "choroplethmap" - }, - { - "source": "geography", - "target": "hexagonalheatmap" - }, - { - "source": "numeric", - "target": "hexagonalheatmap" - }, - { - "source": "geography", - "target": "3dhexagonalheatmap" - }, - { - "source": "numeric", - "target": "3dhexagonalheatmap" - }, - { - "source": "geography", - "target": "classicalheatmap" - }, - { - "source": "numeric", - "target": "classicalheatmap" - }, - { - "source": "geography", - "target": "gridbinheatmap" - }, - { - "source": "numeric", - "target": "gridbinheatmap" - } - ] -} diff --git a/site/data/decision-tree-goal.json b/site/data/decision-tree-goal.json deleted file mode 100644 index 81b46da2b..000000000 --- a/site/data/decision-tree-goal.json +++ /dev/null @@ -1,1636 +0,0 @@ -{ - "nodes": [ - { - "id": "trend", - "name": "趋势", - "level": 0, - "childrenNum": 11, - "tag": "trend" - }, - { - "id": "compare", - "name": "比较", - "level": 0, - "childrenNum": 44, - "tag": "compare" - }, - { - "id": "percentage", - "name": "占比", - "level": 0, - "childrenNum": 15, - "tag": "percentage" - }, - { - "id": "flow", - "name": "流程", - "level": 0, - "childrenNum": 4, - "tag": "flow" - }, - { - "id": "distribution", - "name": "分布", - "level": 0, - "tag": "distribution", - "childrenNum": 11 - }, - { - "id": "relation", - "name": "关系", - "level": 0, - "tag": "relation", - "childrenNum": 33 - }, - { - "id": "composition", - "name": "组成", - "level": 0, - "childrenNum": 1, - "tag": "composition" - }, - - { - "id": "clustering", - "name": "聚类", - "level": 1, - "childrenNum": 5, - "tag": "clustering", - "isLeaf": false, - "tags": ["relation"] - }, - { - "id": "hierarchy", - "name": "层次", - "level": 1, - "childrenNum": 8, - "tag": "hierarchy", - "isLeaf": false, - "tags": ["relation"] - }, - - { - "id": "basiclinechart", - "name": "基础折线", - "level": 2, - "isLeaf": true, - "tags": ["trend"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*JXRgQ4tcm1kAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/line/basic", - "/g2/zh/examples/line/basic", - "/f2/zh/examples/line/basic" - ], - "links_en": [ - "/g2plot/en/examples/line/basic", - "/g2/en/examples/line/basic", - "/f2/en/examples/line/basic" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "multilinechart", - "name": "多折线图", - "level": 2, - "isLeaf": true, - "tags": ["trend", "compare"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*gnbiSo8DaEwAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/line/multiple", - "/g2/zh/examples/line/multiple", - "/f2/zh/examples/line/multiple" - ], - "links_en": [ - "/g2plot/en/examples/line/multiple", - "/g2/en/examples/line/multiple", - "/f2/en/examples/line/multiple" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "basicareachart", - "name": "基础面积图", - "level": 2, - "isLeaf": true, - "tags": ["trend"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*Zv4oSrF6JDYAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/area/basic", - "/g2/zh/examples/area/basic", - "/f2/zh/examples/area/basic" - ], - "links_en": [ - "/g2plot/en/examples/area/basic", - "/g2/en/examples/area/basic", - "/f2/en/examples/area/basic" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "stackareachart", - "name": "堆叠面积图", - "level": 2, - "isLeaf": true, - "tags": ["trend", "compare", "percentage"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*YoCuRoNaN8kAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/area/stack", - "/g2/zh/examples/area/stacked#stacked", - "/g]f2/zh/examples/area/stacked#stacked" - ], - "links_en": [ - "/g2plot/en/examples/area/stacked", - "/g2/en/examples/area/stacked", - "/f2/en/examples/area/stacked" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "percentstackareachart", - "name": "百分比堆\n叠面积图", - "level": 2, - "isLeaf": true, - "tags": ["trend", "compare", "percentage"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*NMkWRLm2_8IAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/area/percentageArea", - "/g2/zh/examples/area/stacked#percentage", - "/f2/zh/examples/area/stacked#percent" - ], - "links_en": [ - "/g2plot/en/examples/area/percentageArea", - "/g2/en/examples/area/stacked#percentage", - "/f2/en/examples/area/stacked#percent" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "intervalareachart", - "name": "区间面积图", - "level": 2, - "isLeaf": true, - "tags": ["trend", "compare"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*wX5sTajQpn4AAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/area/range"], - "links_en": ["/g2/en/examples/area/range"], - "linkNames": ["G2"] - }, - { - "id": "streamchart", - "name": "河流图", - "level": 2, - "isLeaf": true, - "tags": ["trend", "compare"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*-lFRTootQesAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/area/stacked#streamgraph"], - "links_en": ["/g2/en/examples/area/stacked#streamgraph"], - "linkNames": ["G2"] - }, - { - "id": "basichistogram", - "name": "基础柱状图", - "level": 2, - "isLeaf": true, - "tags": ["compare"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*V9UkSqvdud4AAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/column/basic", - "/g2/zh/examples/column/basic", - "/f2/zh/examples/column/basic" - ], - "links_en": [ - "/g2plot/en/examples/column/basic", - "/g2/en/examples/column/basic", - "/f2/en/examples/column/basic" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "grouphistogram", - "name": "分组柱状图", - "level": 2, - "isLeaf": true, - "tags": ["compare"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*qjpuT6qOKG0AAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/column/group", - "/g2/zh/examples/column/dodge", - "/f2/zh/examples/column/dodge" - ], - "links_en": [ - "/g2plot/en/examples/column/dodge", - "/g2/en/examples/column/dodge", - "/f2/en/examples/column/dodge" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "stackhistogram", - "name": "堆叠柱状图", - "level": 2, - "isLeaf": true, - "tags": ["compare"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*l8T0QYLvYocAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/column/stack#stacked", - "/g2/zh/examples/column/stack#stacked", - "/f2/zh/examples/column/stack#stacked" - ], - "links_en": [ - "/g2plot/en/examples/column/stack#stacked", - "/g2/en/examples/column/stack#stacked", - "/f2/en/examples/column/stack#stacked" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "percentstackhistogram", - "name": "百分比堆\n叠柱状图", - "level": 2, - "isLeaf": true, - "tags": ["compare", "percentage"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*nl5pTowaN5EAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/column/percentageStack", - "/g2/zh/examples/column/stack#stacked-percentage", - "/f2/zh/examples/column/stack#percent" - ], - "links_en": [ - "/g2plot/en/examples/column/stack#stacked-percentage", - "/g2/en/examples/column/stack#stacked-percentage", - "/f2/en/examples/column/stack#stacked-percentage" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "intervalhistogram", - "name": "区间柱状图", - "level": 2, - "isLeaf": true, - "tags": ["compare"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*5FIvRblZNooAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2/zh/examples/column/basic#ranged", - "/f2/zh/examples/column/basic#ranged" - ], - "links_en": [ - "/g2/en/examples/column/basic#ranged", - "/f2/zh/examples/column/basic#ranged" - ], - "linkNames": ["G2", "F2"] - }, - { - "id": "waterfall", - "name": "瀑布图", - "level": 2, - "isLeaf": true, - "tags": ["compare"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*QLMTR4jmABYAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/column/basic#waterfall"], - "links_en": ["/g2/en/examples/column/basic#waterfall"], - "linkNames": ["G2"] - }, - { - "id": "histogramunit", - "name": "直方图", - "level": 2, - "isLeaf": true, - "tags": ["compare", "distribution"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*WI97SJBgaCwAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/column/histogram", - "/g2/zh/examples/column/histogram#histogram" - ], - "links_en": [ - "/g2plot/en/examples/column/histogram#histogram", - "/g2/en/examples/column/histogram#histogram" - ], - "linkNames": ["G2Plot", "G2"] - }, - { - "id": "basicbarchart", - "name": "基础条形图", - "level": 2, - "isLeaf": true, - "tags": ["compare", "percentage"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*RENoRrj3PugAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/bar/basic", - "/g2/zh/examples/bar/basic", - "/f2/zh/examples/bar/basic" - ], - "links_en": [ - "/g2plot/en/examples/bar/basic", - "/g2/en/examples/bar/basic", - "/f2/en/examples/bar/basic" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "stackbarchart", - "name": "堆叠条形图", - "level": 2, - "isLeaf": true, - "tags": ["compare", "percentage"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*JKcNRbvHZAwAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/bar/stack", - "/g2/zh/examples/bar/stack", - "/f2/zh/examples/bar/stack" - ], - "links_en": [ - "/g2plot/en/examples/bar/stack#stacked", - "/g2/en/examples/bar/stack#stacked", - "/f2/en/examples/bar/stack" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "percentstackbarchart", - "name": "百分比堆\n叠条形图", - "level": 2, - "isLeaf": true, - "tags": ["compare", "percentage"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*nl5pTowaN5EAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/bar/percentageStack", - "/g2/zh/examples/bar/stack#bar-percentage-stacked-marked", - "/f2/zh/examples/bar/stack#bar-percentage-stacked-marked" - ], - "links_en": [ - "/g2plot/en/examples/bar/stack#bar-percentage-stacked-marked", - "/g2/en/examples/bar/stack#bar-percentage-stacked-marked", - "/f2/en/examples/bar/stack#bar-percentage-stacked-marked" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "groupbarchart", - "name": "分组条形图", - "level": 2, - "isLeaf": true, - "tags": ["compare", "percentage"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*ERLHR55JdTgAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/bar/group", - "/g2/zh/examples/bar/dodge", - "/f2/zh/examples/bar/stack#percent" - ], - "links_en": [ - "/g2plot/en/examples/bar/group", - "/g2/en/examples/bar/dodge", - "/f2/en/examples/bar/dodge" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "intervalbarchart", - "name": "区间条形图", - "level": 2, - "isLeaf": true, - "tags": ["compare", "percentage"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*G6vWT52rdz4AAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/bar/basic#ranged"], - "links_en": ["/g2/en/examples/bar/basic#ranged"], - "linkNames": ["G2"] - }, - { - "id": "radiobarchart", - "name": "玉珏图", - "level": 2, - "isLeaf": true, - "tags": ["compare", "percentage"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*5EwoQYlQ4q4AAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/bar/basic#radial-bar"], - "links_en": ["/g2/en/examples/bar/basic#radial-bar"], - "linkNames": ["G2"] - }, - { - "id": "symetricgroupbarchart", - "name": "对称分组\n条形图", - "level": 2, - "isLeaf": true, - "tags": ["compare"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*-y0dTbzSPycAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/bar/dodge#bar5"], - "links_en": ["/g2/en/examples/bar/dodge#bar5"], - "linkNames": ["G2"] - }, - { - "id": "basicpiechart", - "name": "基础饼图", - "level": 2, - "isLeaf": true, - "tags": ["percentage"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*ka5WSJgUllkAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/pie/basic", - "/g2/zh/examples/pie/basic", - "/f2/zh/examples/pie/basic" - ], - "links_en": [ - "/g2plot/en/examples/pie/basic", - "/g2/en/examples/pie/basic", - "/f2/en/examples/pie/basic" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "ringpiechart", - "name": "环图", - "level": 2, - "isLeaf": true, - "tags": ["percentage"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*NkK1T7VLgjkAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/pie/ring", - "/g2/zh/examples/pie/donut", - "/f2/zh/examples/pie/donut" - ], - "links_en": [ - "/g2plot/en/examples/pie/ring", - "/g2/en/examples/pie/donut#donut", - "/f2/en/examples/pie/donut#donut" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "nestpiechart", - "name": "嵌套饼图", - "level": 2, - "isLeaf": true, - "tags": ["percentage"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*JFtYRK6qeeUAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/pie/nested"], - "links_en": ["/g2/en/examples/pie/nested"], - "linkNames": ["G2"] - }, - { - "id": "nightingalechart", - "name": "南丁格尔图", - "level": 2, - "isLeaf": true, - "tags": ["percentage"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*FBnUR449kzYAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2/zh/examples/pie/rose#color-rose", - "/f2/zh/examples/pie/rose#rose" - ], - "links_en": [ - "/g2/en/examples/pie/rose#color-rose", - "/f2/en/examples/pie/rose#color-rose" - ], - "linkNames": ["G2", "F2"] - }, - { - "id": "scatterplotunit", - "name": "散点图", - "level": 2, - "isLeaf": true, - "tags": ["compare", "distribution", "relation"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*UQo_Rav7tO4AAAAAAAAAAABkARQnAQ", - "links": [ - "/g2/zh/examples/point/scatter", - "/f2/zh/examples/point/scatter" - ], - "links_en": [ - "/g2/en/examples/point/scatter#scatter", - "/f2/en/examples/point/scatter#scatter" - ], - "linkNames": ["G2", "F2"] - }, - { - "id": "bubblescatterplot", - "name": "散点\n气泡图", - "level": 2, - "isLeaf": true, - "tags": ["compare", "distribution", "relation"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*tJcRQa5kI10AAAAAAAAAAABkARQnAQ", - "links": [ - "/g2/zh/examples/point/scatter#bubble", - "/f2/zh/examples/point/scatter#bubble" - ], - "links_en": [ - "/g2/en/examples/point/scatter#bubble", - "/f2/en/examples/point/scatter#bubble" - ], - "linkNames": ["G2", "F2"] - }, - { - "id": "circulararcdiagram", - "name": "环形弧线图", - "level": 2, - "isLeaf": true, - "tags": ["relation"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*DltUTa3ASJ8AAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/arcDiagram#circularArcDiagram"], - "links_en": ["/g6/en/examples/net/arcDiagram#circularArcDiagram"], - "linkNames": ["G6"] - }, - { - "id": "arcdiagram", - "name": "弧线图", - "level": 2, - "isLeaf": true, - "tags": ["relation"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*aVzrSI3NAtAAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/arcDiagram"], - "links_en": ["/g6/en/examples/net/arcDiagram"], - "linkNames": ["G6"] - }, - { - "id": "chorddiagram", - "name": "和弦图", - "level": 2, - "isLeaf": true, - "tags": ["relation"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*KEDoQrZdzXUAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/relation/relation#chord"], - "links_en": ["/g2/en/examples/relation/relation#chord"], - "linkNames": ["G2"] - }, - { - "id": "treemap", - "name": "矩阵树图", - "level": 2, - "isLeaf": true, - "tags": ["percentage", "compare", "relation"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*nUuaSpgmG6UAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2/zh/examples/relation/relation#treemap-children", - "/f2/zh/examples/relation/relation#treemap" - ], - "links_en": [ - "/g2/en/examples/relation/relation#treemap-children", - "/f2/en/examples/relation/relation#treemap" - ], - "linkNames": ["G2"] - }, - { - "id": "sankey", - "name": "桑基图", - "level": 2, - "isLeaf": true, - "tags": ["flow", "trend", "relation"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*iuHTTJRzTW4AAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/relation/relation#sankey"], - "links_en": ["/g2/en/examples/relation/relation#sankey"], - "linkNames": ["G2"] - }, - { - "id": "basicfunnel", - "name": "基础漏斗图", - "level": 2, - "isLeaf": true, - "tags": ["flow", "compare", "relation"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*TqKWT57XsrIAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/funnel/funnel"], - "links_en": ["/g2/en/examples/funnel/funnel"], - "linkNames": ["G2"] - }, - { - "id": "comparefunnel", - "name": "对比漏斗图", - "level": 2, - "isLeaf": true, - "tags": ["flow", "compare", "relation"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*Q5tSQJMDvCoAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/funnel/funnel#comparision"], - "links_en": ["/g2/en/examples/funnel/funnel#comparision"], - "linkNames": ["G2"] - }, - { - "id": "symetricfunnel", - "name": "对称漏斗图", - "level": 2, - "isLeaf": true, - "tags": ["flow", "compare", "relation"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*GyMBTqqGY_wAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/funnel/funnel#symmetric"], - "links_en": ["/g2/en/examples/funnel/funnel#symmetric"], - "linkNames": ["G2"] - }, - { - "id": "binchart", - "name": "箱型图", - "level": 2, - "isLeaf": true, - "tags": ["distribution", "compare"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*xhSaRb16RzYAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/box/box"], - "links_en": ["/g2/en/examples/box/box"], - "linkNames": ["G2"] - }, - { - "id": "colorblockheatmap", - "name": "色块热力图", - "level": 2, - "isLeaf": true, - "tags": ["distribution", "compare"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*eS0LS5wt6wwAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2/zh/examples/heatmap/heatmap#basic", - "/f2/zh/examples/heatmap/heatmap#basic" - ], - "links_en": [ - "/g2/en/examples/heatmap/heatmap#basic", - "/f2/en/examples/heatmap/heatmap#basic" - ], - "linkNames": ["G2", "F2"] - }, - { - "id": "basicheatmap", - "name": "基础热力图", - "level": 2, - "isLeaf": true, - "tags": ["distribution", "compare"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*Te9gRYpVq0cAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/heatmap/heatmap#image"], - "links_en": ["/g2/en/examples/heatmap/heatmap#image"], - "linkNames": ["G2"] - }, - { - "id": "instrument", - "name": "仪表盘", - "level": 2, - "isLeaf": true, - "tags": ["compare"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*McoQQpjJFwkAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/gauge/basic", - "/g2/zh/examples/gauge/gauge", - "/f2/zh/examples/gallery/gauge" - ], - "links_en": [ - "/g2plot/en/examples/gauge/basic", - "/g2/en/examples/gauge/gauge#basic", - "/f2/en/examples/gauge/gauge#basic" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "radar", - "name": "雷达图", - "level": 2, - "isLeaf": true, - "tags": ["compare"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*NxMmSabzJGQAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2plot/zh/examples/radar/basic", - "/g2/zh/examples/radar/radar", - "/f2/zh/examples/radar/radar" - ], - "links_en": [ - "/g2plot/zh/examples/radar/basic", - "/g2/en/examples/radar/radar", - "/f2/en/examples/radar/radar" - ], - "linkNames": ["G2Plot", "G2", "F2"] - }, - { - "id": "stockklines", - "name": "股票k线图", - "level": 2, - "isLeaf": true, - "tags": ["compare", "trend"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*GbzaQLwYrFUAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2/zh/examples/candlestick/demo#basic", - "/f2/zh/examples/candlestick/basic" - ], - "links_en": [ - "/g2/en/examples/candlestick/demo", - "/f2/en/examples/candlestick/demo" - ], - "linkNames": ["G2", "F2"] - }, - { - "id": "wordcloud", - "name": "词云图", - "level": 2, - "isLeaf": true, - "tags": ["compare"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*iHCmSaZ1tCwAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2/zh/examples/other/other#word-cloud", - "/f2/zh/examples/other/other#word-cloud" - ], - "links_en": [ - "/g2/en/examples/other/other#word-cloud", - "/f2/en/examples/other/other#word-cloud" - ], - "linkNames": ["G2", "F2"] - }, - { - "id": "candlestick", - "name": "烛形图", - "level": 2, - "isLeaf": true, - "tags": ["trend"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*nOPdTrLtpdMAAAAAAAAAAABkARQnAQ", - "links": [ - "/g2/zh/examples/candlestick/demo#k-and-area", - "/f2/zh/examples/candlestick/basic#k" - ], - "links_en": [ - "/g2/en/examples/candlestick/demo#k-and-area", - "/f2/zh/examples/candlestick/demo#k-and-area" - ], - "linkNames": ["G2", "F2"] - }, - { - "id": "compactBox", - "name": "紧凑树", - "level": 2, - "isLeaf": true, - "tags": ["relation-hierarchy"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*WGHWQYjLmXoAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/tree/compactBox#tbCompactBox"], - "links_en": ["/g6/en/examples/tree/compactBox#tbCompactBox"], - "linkNames": ["G6"] - }, - { - "id": "dendrogram", - "name": "系统树", - "level": 2, - "isLeaf": true, - "tags": ["relation-hierarchy"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*r51nTJ-Ha5MAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/tree/dendrogram#tbDendrogram"], - "links_en": ["/g6/en/examples/tree/dendrogram#tbDendrogram"], - "linkNames": ["G6"] - }, - { - "id": "mindmap", - "name": "脑图", - "level": 2, - "isLeaf": true, - "tags": ["relation-hierarchy"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*VFXlT6A_g7wAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/tree/mindmap"], - "links_en": ["/g6/en/examples/tree/mindmap"], - "linkNames": ["G6"] - }, - { - "id": "indented", - "name": "缩进树", - "level": 2, - "isLeaf": true, - "tags": ["relation-hierarchy"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*ywVeSJIfeK8AAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/tree/indented"], - "links_en": ["/g6/en/examples/tree/indented"], - "linkNames": ["G6"] - }, - { - "id": "radialtree", - "name": "辐射树", - "level": 2, - "isLeaf": true, - "tags": ["relation-hierarchy"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*vUkTSpv9YqkAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/tree/radialtree"], - "links_en": ["/g6/en/examples/tree/radialtree"], - "linkNames": ["G6"] - }, - { - "id": "flowdiagram", - "name": "流程图", - "level": 2, - "isLeaf": true, - "tags": ["relation"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*35XETpuMRpsAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/dagreFlow"], - "links_en": ["/g6/en/examples/net/dagreFlow"], - "linkNames": ["G6"] - }, - { - "id": "fruchtermancluster", - "name": "Fruchterman\n聚类", - "level": 2, - "isLeaf": true, - "tags": ["relation-clustering"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*8qAMTomesZcAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/furchtermanLayout#fruchtermanClustering"], - "links_en": [ - "/g6/en/examples/net/furchtermanLayout#fruchtermanClustering" - ], - "linkNames": ["G6"] - }, - { - "id": "fruchterman", - "name": "Fruchterman", - "level": 2, - "isLeaf": true, - "tags": ["relation"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*XD22Q7uxddEAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/furchtermanLayout"], - "links_en": ["/g6/en/examples/net/furchtermanLayout"], - "linkNames": ["G6"] - }, - { - "id": "forcedirected", - "name": "力导向图", - "level": 2, - "isLeaf": true, - "tags": ["relation"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*dokGR7uP50oAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/forceDirected"], - "links_en": ["/g6/en/examples/net/forceDirected"], - "linkNames": ["G6"] - }, - { - "id": "circular", - "name": "环形图", - "level": 2, - "isLeaf": true, - "tags": ["relation"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*2ZNjRqRzJggAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/circular"], - "links_en": ["/g6/en/examples/net/circular"], - "linkNames": ["G6"] - }, - { - "id": "spiral", - "name": "螺旋线图", - "level": 2, - "isLeaf": true, - "tags": ["relation"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*5NkUTJyXfIcAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/circular#spiralCircular"], - "links_en": ["/g6/en/examples/net/circular#spiralCircular"], - "linkNames": ["G6"] - }, - { - "id": "radial", - "name": "辐射图", - "level": 2, - "isLeaf": true, - "tags": ["relation"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*KON0Rbv5XtEAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/radialLayout"], - "links_en": ["/g6/en/examples/net/radialLayout"], - "linkNames": ["G6"] - }, - { - "id": "concentric", - "name": "同心圆", - "level": 2, - "isLeaf": true, - "tags": ["relation"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*zxlhRobv7VEAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/concentricLayout"], - "links_en": ["/g6/en/examples/net/concentricLayout"], - "linkNames": ["G6"] - }, - { - "id": "grid", - "name": "网格图", - "level": 2, - "isLeaf": true, - "tags": ["relation"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*wlkBRKmjVNgAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/gridLayout"], - "links_en": ["/g6/en/examples/net/gridLayout"], - "linkNames": ["G6"] - }, - { - "id": "bubbles", - "name": "气泡图", - "level": 2, - "isLeaf": true, - "tags": ["relation", "compare"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*EaIlRqda-VcAAAAAAAAAAABkARQnAQ", - "links": ["/g6/zh/examples/net/forceDirected#forceBubbles"], - "links_en": ["/g6/en/examples/net/forceDirected#forceBubbles"], - "linkNames": ["G6"] - }, - - { - "id": "symbollayer", - "name": "符号地图", - "level": 2, - "isLeaf": true, - "tags": ["distribution", "compare"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*Af7tQJ_sFdwAAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/point/image"], - "links_en": ["/L7/en/examples/point/image"], - "linkNames": ["L7"] - }, - { - "id": "chartmap", - "name": "复合图表\n地图", - "level": 2, - "isLeaf": true, - "tags": ["composition", "distribution", "compare"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*KEmSSIB3scwAAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/point/chart"], - "links_en": ["/L7/en/examples/point/chart"], - "linkNames": ["L7"] - }, - { - "id": "columnmap", - "name": "3D 柱状\n地图", - "level": 2, - "isLeaf": true, - "tags": ["distribution", "compare"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*1X4mS4yNGSgAAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/point/column"], - "links_en": ["/L7/en/examples/point/column"], - "linkNames": ["L7"] - }, - { - "id": "scattermap", - "name": "散点地图", - "level": 2, - "isLeaf": true, - "tags": ["distribution"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*c2EOQqwR-toAAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/point/scatter"], - "links_en": ["/L7/en/examples/point/scatter"], - "linkNames": ["L7"] - }, - { - "id": "pathmap", - "name": "路径地图", - "level": 2, - "isLeaf": true, - "tags": ["trend"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*J3sVRrzk3egAAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/line/path"], - "links_en": ["/L7/en/examples/line/path"], - "linkNames": ["L7"] - }, - { - "id": "isolinemap", - "name": "等值线地图", - "level": 2, - "isLeaf": true, - "tags": ["compare"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*hHKHSa1PH-MAAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/line/isoline"], - "links_en": ["/L7/en/examples/line/isoline"], - "linkNames": ["L7"] - }, - { - "id": "custommakermap", - "name": "自定义\n Maker", - "level": 2, - "isLeaf": true, - "tags": ["distribution"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*_FJCRpEzM8YAAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/point/marker"], - "links_en": ["/L7/en/examples/point/marker"], - "linkNames": ["L7"] - }, - { - "id": "arc3dmap", - "name": "3D 弧线地图", - "level": 2, - "isLeaf": true, - "tags": ["relation"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*5cnzS4A3968AAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/line/arc"], - "links_en": ["/L7/en/examples/line/arc"], - "linkNames": ["L7"] - }, - { - "id": "choroplethmap", - "name": "分类填充图", - "level": 2, - "isLeaf": true, - "tags": ["compare"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*TSGQRowxmmAAAAAAAAAAAABkARQnAQ", - "links": [ - "/L7/zh/examples/polygon/fill", - "/g2/zh/examples/map/map#choropleth-map" - ], - "links_en": [ - "/L7/en/examples/polygon/fill", - "/g2/en/examples/map/map#choropleth-map" - ], - "linkNames": ["L7", "G2"] - }, - { - "id": "extrudemap", - "name": "3D 填充地图", - "level": 2, - "isLeaf": true, - "tags": ["compare"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*l9D1QK5-z-8AAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/polygon/3d"], - "links_en": ["/L7/en/examples/polygon/3d"], - "linkNames": ["L7"] - }, - { - "id": "hexagonalheatmap", - "name": "蜂窝热力图", - "level": 2, - "isLeaf": true, - "tags": ["compare", "relation-clustering"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*YbKcRbypQ_oAAAAAAAAAAABkARQnAQ", - "links": [ - "/L7/zh/examples/heatmap/hexagon", - "/g2/zh/examples/map/map#hex-choropleth-map" - ], - "links_en": [ - "/L7/en/examples/heatmap/hexagon", - "/g2/en/examples/map/map#hex-choropleth-map" - ], - "linkNames": ["L7", "G2"] - }, - { - "id": "3dhexagonalheatmap", - "name": "3D 蜂窝\n热力图", - "level": 2, - "isLeaf": true, - "tags": ["compare", "relation-clustering"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*l9D1QK5-z-8AAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/heatmap/hexagon#light"], - "links_en": ["/L7/en//examples/heatmap/hexagon#light"], - "linkNames": ["L7"] - }, - { - "id": "classicalheatmap", - "name": "经典热力图", - "level": 2, - "isLeaf": true, - "tags": ["compare", "relation-clustering"], - "imgSrc": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*HxpoRIcBA80AAAAAAAAAAABkARQnAQ", - "links": [ - "/L7/zh/examples/heatmap/heatmap", - "/g2/zh/examples/map/map#with-heatmap" - ], - "links_en": [ - "/L7/en/examples/heatmap/heatmap", - "/g2/en/examples/map/map#with-heatmap" - ], - "linkNames": ["L7", "G2"] - }, - { - "id": "gridbinheatmap", - "name": "网格\n热力图", - "level": 2, - "isLeaf": true, - "tags": ["compare", "relation-clustering"], - "imgSrc": "https://gw.alipayobjects.com/mdn/antv_site/afts/img/A*tAGKS6EClQ4AAAAAAAAAAABkARQnAQ", - "links": ["/L7/zh/examples/heatmap/grid#grid1"], - "links_en": ["/L7/en/examples/heatmap/grid#grid1"], - "linkNames": ["L7"] - }, - - { - "id": "circlepacking", - "name": "圆堆积图", - "level": 2, - "isLeaf": true, - "tags": ["relation-hierarchy"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*nbfsS6Fe8mgAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/relation/relation#circle-packing"], - "links_en": ["/g2/en/examples/relation/relation#circle-packing"], - "linkNames": ["G2"] - }, - { - "id": "polartreemap", - "name": "极坐标树图", - "level": 2, - "isLeaf": true, - "tags": ["percentage", "compare", "relation-hierarchy"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*HGyHQbd3esQAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/relation/relation#polar-treemap"], - "links_en": ["/g2/en/examples/relation/relation#polar-treemap"], - "linkNames": ["G2"] - }, - { - "id": "sunburstdiagram", - "name": "旭日图", - "level": 2, - "isLeaf": true, - "tags": ["relation-hierarchy"], - "imgSrc": "https://gw.alipayobjects.com/mdn/rms_f8c6a0/afts/img/A*6vuVTqshFqgAAAAAAAAAAABkARQnAQ", - "links": ["/g2/zh/examples/relation/relation#sunburst"], - "links_en": ["/g2/en/examples/relation/relation#sunburst"], - "linkNames": ["G2"] - } - ], - "edges": [ - { - "source": "compare", - "target": "isolinemap" - }, - { - "source": "compare", - "target": "extrudemap" - }, - { - "source": "distribution", - "target": "custommakermap" - }, - { - "source": "hierarchy", - "target": "sunburstdiagram" - }, - { - "source": "percentage", - "target": "polartreemap" - }, - { - "source": "compare", - "target": "polartreemap" - }, - { - "source": "hierarchy", - "target": "polartreemap" - }, - { - "source": "hierarchy", - "target": "circlepacking" - }, - { - "source": "relation", - "target": "hierarchy" - }, - { - "source": "relation", - "target": "clustering" - }, - { - "source": "trend", - "target": "basiclinechart" - }, - { - "source": "trend", - "target": "multilinechart" - }, - { - "source": "compare", - "target": "multilinechart" - }, - { - "source": "trend", - "target": "basicareachart" - }, - { - "source": "trend", - "target": "stackareachart" - }, - { - "source": "compare", - "target": "stackareachart" - }, - { - "source": "percentage", - "target": "stackareachart" - }, - { - "source": "trend", - "target": "percentstackareachart" - }, - { - "source": "compare", - "target": "percentstackareachart" - }, - { - "source": "percentage", - "target": "percentstackareachart" - }, - { - "source": "trend", - "target": "intervalareachart" - }, - { - "source": "compare", - "target": "intervalareachart" - }, - { - "source": "trend", - "target": "streamchart" - }, - { - "source": "compare", - "target": "streamchart" - }, - - { - "source": "compare", - "target": "basichistogram" - }, - { - "source": "compare", - "target": "grouphistogram" - }, - { - "source": "compare", - "target": "stackhistogram" - }, - { - "source": "compare", - "target": "percentstackhistogram" - }, - { - "source": "percentage", - "target": "percentstackhistogram" - }, - { - "source": "compare", - "target": "intervalhistogram" - }, - { - "source": "compare", - "target": "waterfall" - }, - { - "source": "compare", - "target": "histogramunit" - }, - { - "source": "distribution", - "target": "histogramunit" - }, - { - "source": "compare", - "target": "basicbarchart" - }, - { - "source": "percentage", - "target": "basicbarchart" - }, - { - "source": "compare", - "target": "stackbarchart" - }, - { - "source": "percentage", - "target": "stackbarchart" - }, - { - "source": "compare", - "target": "percentstackbarchart" - }, - { - "source": "percentage", - "target": "percentstackbarchart" - }, - { - "source": "compare", - "target": "groupbarchart" - }, - { - "source": "percentage", - "target": "groupbarchart" - }, - { - "source": "compare", - "target": "intervalbarchart" - }, - { - "source": "percentage", - "target": "intervalbarchart" - }, - { - "source": "compare", - "target": "radiobarchart" - }, - { - "source": "percentage", - "target": "radiobarchart" - }, - { - "source": "compare", - "target": "symetricgroupbarchart" - }, - { - "source": "percentage", - "target": "basicpiechart" - }, - { - "source": "percentage", - "target": "ringpiechart" - }, - { - "source": "percentage", - "target": "nestpiechart" - }, - { - "source": "percentage", - "target": "nightingalechart" - }, - { - "source": "comare", - "target": "scatterplotunit" - }, - { - "source": "distribution", - "target": "scatterplotunit" - }, - { - "source": "relation", - "target": "scatterplotunit" - }, - { - "source": "comare", - "target": "bubblescatterplot" - }, - { - "source": "distribution", - "target": "bubblescatterplot" - }, - { - "source": "relation", - "target": "bubblescatterplot" - }, - { - "source": "relation", - "target": "circulararcdiagram" - }, - { - "source": "relation", - "target": "arcdiagram" - }, - { - "source": "relation", - "target": "chorddiagram" - }, - { - "source": "compare", - "target": "treemap" - }, - { - "source": "relation", - "target": "treemap" - }, - { - "source": "percentage", - "target": "treemap" - }, - { - "source": "flow", - "target": "sankey" - }, - { - "source": "relation", - "target": "sankey" - }, - { - "source": "trend", - "target": "sankey" - }, - { - "source": "flow", - "target": "basicfunnel" - }, - { - "source": "compare", - "target": "basicfunnel" - }, - { - "source": "relation", - "target": "basicfunnel" - }, - { - "source": "flow", - "target": "comparefunnel" - }, - { - "source": "compare", - "target": "comparefunnel" - }, - { - "source": "relation", - "target": "comparefunnel" - }, - { - "source": "flow", - "target": "symetricfunnel" - }, - { - "source": "compare", - "target": "symetricfunnel" - }, - { - "source": "relation", - "target": "symetricfunnel" - }, - { - "source": "compare", - "target": "bubblemap" - }, - { - "source": "distribution", - "target": "bubblemap" - }, - { - "source": "compare", - "target": "binchart" - }, - { - "source": "distribution", - "target": "binchart" - }, - { - "source": "compare", - "target": "colorblockheatmap" - }, - { - "source": "distribution", - "target": "colorblockheatmap" - }, - { - "source": "compare", - "target": "basicheatmap" - }, - { - "source": "distribution", - "target": "basicheatmap" - }, - { - "source": "compare", - "target": "instrument" - }, - { - "source": "compare", - "target": "radar" - }, - { - "source": "trend", - "target": "stockklines" - }, - { - "source": "compare", - "target": "stockklines" - }, - { - "source": "compare", - "target": "wordcloud" - }, - { - "source": "trend", - "target": "candlestick" - }, - { - "source": "hierarchy", - "target": "compactBox" - }, - { - "source": "hierarchy", - "target": "dendrogram" - }, - { - "source": "hierarchy", - "target": "mindmap" - }, - { - "source": "hierarchy", - "target": "indented" - }, - { - "source": "hierarchy", - "target": "radialtree" - }, - { - "source": "relation", - "target": "flowdiagram" - }, - { - "source": "clustering", - "target": "fruchtermancluster" - }, - { - "source": "relation", - "target": "fruchterman" - }, - { - "source": "relation", - "target": "forcedirected" - }, - { - "source": "relation", - "target": "circular" - }, - - { - "source": "relation", - "target": "spiral" - }, - { - "source": "relation", - "target": "radial" - }, - { - "source": "relation", - "target": "concentric" - }, - { - "source": "distribution", - "target": "concentric" - }, - { - "source": "distribution", - "target": "grid" - }, - { - "source": "relation", - "target": "grid" - }, - { - "source": "relation", - "target": "bubbles" - }, - { - "source": "compare", - "target": "bubbles" - }, - { - "source": "distribution", - "target": "dotmap" - }, - { - "source": "distribution", - "target": "symbollayer" - }, - { - "source": "compare", - "target": "symbollayer" - }, - { - "source": "clustering", - "target": "clustermap" - }, - { - "source": "compare", - "target": "clustermap" - }, - { - "source": "compare", - "target": "chartmap" - }, - { - "source": "composition", - "target": "chartmap" - }, - { - "source": "distribution", - "target": "chartmap" - }, - { - "source": "distribution", - "target": "columnmap" - }, - { - "source": "compare", - "target": "columnmap" - }, - { - "source": "distribution", - "target": "scattermap" - }, - { - "source": "trend", - "target": "pathmap" - }, - { - "source": "relation", - "target": "relationmap" - }, - { - "source": "relation", - "target": "arc3dmap" - }, - { - "source": "compare", - "target": "choroplethmap" - }, - { - "source": "compare", - "target": "hexagonalheatmap" - }, - { - "source": "clustering", - "target": "hexagonalheatmap" - }, - { - "source": "compare", - "target": "3dhexagonalheatmap" - }, - { - "source": "clustering", - "target": "3dhexagonalheatmap" - }, - { - "source": "compare", - "target": "classicalheatmap" - }, - { - "source": "clustering", - "target": "classicalheatmap" - }, - { - "source": "compare", - "target": "gridbinheatmap" - }, - { - "source": "clustering", - "target": "gridbinheatmap" - } - ] -} diff --git a/site/data/historyContributors.tsx b/site/data/historyContributors.tsx deleted file mode 100644 index db64823ec..000000000 --- a/site/data/historyContributors.tsx +++ /dev/null @@ -1,186 +0,0 @@ -const historyContributors: { - name: string; - jobTitle: string; - avatar: string; - weibo: string; - github: string; -}[] = [ - { - name: '巴思', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*WiTATJQpbLIAAAAAAAAAAABkARQnAQ', - weibo: 'https://weibo.com/145643593', - github: '', - }, - { - name: '沉鱼', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*IMNERLEzuS8AAAAAAAAAAABkARQnAQ', - weibo: '', - github: '', - }, - { - name: '董珊珊', - jobTitle: '设计师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*cOoVT53fMRAAAAAAAAAAAABkARQnAQ', - weibo: '', - github: '', - }, - { - name: '顾倾', - jobTitle: '设计师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*xAQvQoGpucAAAAAAAAAAAABkARQnAQ', - weibo: '', - github: '', - }, - { - name: '光生', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*bLcFRI5XuJAAAAAAAAAAAABkARQnAQ', - weibo: '', - github: 'github: github.com/zxc0328', - }, - { - name: '广知', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*pqeZRI4PPQcAAAAAAAAAAABkARQnAQ', - weibo: '', - github: '', - }, - { - name: '画康', - jobTitle: '设计师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*QnJdSq-ts6wAAAAAAAAAAABkARQnAQ', - weibo: 'https://weibo.com/u/1985143287', - github: '', - }, - { - name: '绝云', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*1jxSSK2O9XAAAAAAAAAAAABkARQnAQ', - weibo: 'https://weibo.com/omosirovincent', - github: 'https://github.com/leungwensen', - }, - { - name: '陆沉', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*eqF9SY80u2QAAAAAAAAAAABkARQnAQ', - weibo: '', - github: '', - }, - { - name: '罗宪', - jobTitle: '动效设计师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*F6RgRLWn0PwAAAAAAAAAAABkARQnAQ', - weibo: '', - github: '', - }, - { - name: '米法', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*yvrBSIRx4OQAAAAAAAAAAABkARQnAQ', - weibo: '', - github: 'https://github.com/paleface001', - }, - { - name: '芈乐', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*SZd2QaFV8KkAAAAAAAAAAABkARQnAQ', - weibo: '', - github: 'https://github.com/weepy3641', - }, - { - name: '青湳', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*SVnYRaJ705sAAAAAAAAAAABkARQnAQ', - weibo: '', - github: 'https://github.com/elaine1234', - }, - { - name: '轻声', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*ULIwSqt8mscAAAAAAAAAAABkARQnAQ', - weibo: '', - github: 'https://github.com/laispace', - }, - { - name: '乌诺', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*NNrXRqwWfooAAAAAAAAAAABkARQnAQ', - weibo: '', - github: '', - }, - { - name: '亦叶', - jobTitle: '设计师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*al5RSKvDIYQAAAAAAAAAAABkARQnAQ', - weibo: '', - github: '', - }, - { - name: '有田', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*cVYyTJfysRsAAAAAAAAAAABkARQnAQ', - weibo: 'https://weibo.com/u/1869365461', - github: 'https://github.com/TomHuangCN', - }, - { - name: '早弦', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*1VQ3QrVIyMIAAAAAAAAAAABkARQnAQ', - weibo: 'https://www.weibo.com/markwhu', - github: 'https://github.com/fkysly', - }, - { - name: '张初尘', - jobTitle: '产品经理', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*-p3YQIlUtocAAAAAAAAAAABkARQnAQ', - weibo: 'https://weibo.com/u/1824917073', - github: 'https://github.com/lilyal', - }, - { - name: '长哲', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*z2OZQq5QGfYAAAAAAAAAAABkARQnAQ', - weibo: '', - github: 'https://github.com/bzhangzju', - }, - { - name: '祯逸', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*7WXcTYVBdmAAAAAAAAAAAABkARQnAQ', - weibo: '', - github: '', - }, - { - name: '诸岳', - jobTitle: '工程师', - avatar: - 'https://gw.alipayobjects.com/mdn/rms_23b644/afts/img/A*EkmcTa-uJDUAAAAAAAAAAABkARQnAQ', - weibo: 'https://www.weibo.com/u/6987384726', - github: 'https://github.com/dengfuping', - }, -]; - -export default historyContributors; diff --git a/site/externals.d.ts b/site/externals.d.ts deleted file mode 100644 index fb059c81e..000000000 --- a/site/externals.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -declare module '*.less'; -declare module '*.png'; -declare module 'chroma-js'; -declare module 'video-react'; -declare module '@antv/gatsby-theme-antv/site/templates/markdown.module.less'; diff --git a/site/font/Alibaba-PuHuiTi-Heavy.otf b/site/font/Alibaba-PuHuiTi-Heavy.otf deleted file mode 100644 index 28c3b45bd..000000000 Binary files a/site/font/Alibaba-PuHuiTi-Heavy.otf and /dev/null differ diff --git a/site/utils.ts b/site/utils.ts deleted file mode 100644 index e9e177542..000000000 --- a/site/utils.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * Translate函数 - */ -import { useLocale } from 'dumi'; - -export const getLang = () => { - return useLocale().id; -}; diff --git a/src/Content.astro b/src/Content.astro new file mode 100644 index 000000000..6e64a89da --- /dev/null +++ b/src/Content.astro @@ -0,0 +1,22 @@ +--- +import type { HomeSlotProps } from '@antv/astro-theme-antv'; +import ThemeIsland from './components/ThemeCharts/Island'; +import HomeSections from './components/HomeSections'; + +type Props = HomeSlotProps; +const { locale } = Astro.props; +--- + +
+
+ +

{locale === 'zh' ? '正在加载主题图表…' : 'Loading theme charts…'}

+
+
+ +
+ + diff --git a/src/Home.astro b/src/Home.astro new file mode 100644 index 000000000..a5f53041a --- /dev/null +++ b/src/Home.astro @@ -0,0 +1,62 @@ +--- +import type { HomeSlotProps } from '@antv/astro-theme-antv'; +import { QaEntry, Updates } from '@antv/astro-theme-antv/components'; + +type Props = HomeSlotProps; +const { locale, config } = Astro.props; + +const qaSuggestions = { + zh: [ + '帮我生成一个可交互的柱形图', + '数据标签遮挡了怎么办?', + '如何调整图例位置?', + ], + en: [ + 'Create an interactive bar chart', + 'How to solve the data label is covered?', + 'How to adjust the legend position?', + ], +} as const; +--- + +
+ +
+

{config.site.title} · {config.home.title[locale]}

+

{config.home.description[locale]}

+ +
+
+
+ + diff --git a/site/components/ComplexCharts/index.module.less b/src/components/ComplexCharts/index.module.less similarity index 60% rename from site/components/ComplexCharts/index.module.less rename to src/components/ComplexCharts/index.module.less index 5cc544970..67e2d16a6 100644 --- a/site/components/ComplexCharts/index.module.less +++ b/src/components/ComplexCharts/index.module.less @@ -8,14 +8,16 @@ &:extend(.commonFlexConfig); padding: 80px 0 40px; flex-direction: column; - font-family: PingFangSC; + font-family: var(--font-sans); .title { - height: 48px; + height: auto; + margin-top: 0; font-size: 40px; color: #1d2129; margin-bottom: 48px; - font-family: AlibabaPuHuiTiB; + font-family: var(--font-sans); + font-weight: 700; } .complexButtons { @@ -71,3 +73,43 @@ } } } + +@media (max-width: 1200px) { + .complexCharts { + padding-inline: 24px; + .content { + width: 100%; + min-width: 0; + min-height: 0; + height: auto; + aspect-ratio: 1680 / 571; + } + .content video { + display: block; + width: 100%; + height: 100%; + } + } +} +@media (max-width: 640px) { + .complexCharts { + padding: 48px 20px 24px; + .title { + font-size: 28px; + line-height: 1.3; + text-align: center; + margin-bottom: 24px; + } + .complexButtons { + gap: 8px; + flex-wrap: wrap; + } + .complexButtons .button { + width: auto; + min-width: 88px; + margin: 0; + padding-inline: 8px; + font-size: 14px; + } + } +} diff --git a/site/components/ComplexCharts/index.tsx b/src/components/ComplexCharts/index.tsx similarity index 60% rename from site/components/ComplexCharts/index.tsx rename to src/components/ComplexCharts/index.tsx index 6b64a3415..f4c1aec6d 100644 --- a/site/components/ComplexCharts/index.tsx +++ b/src/components/ComplexCharts/index.tsx @@ -1,36 +1,29 @@ -import { useChinaMirrorHost } from '@antv/dumi-theme-antv/dist/slots/hooks'; import classNames from 'classnames'; -import { useIntl, useLocale } from 'dumi'; -import React, { useState } from 'react'; +import { useTranslation } from '../../lib/i18n'; +import { useState } from 'react'; import COMPLEX_DATAS from '../../data/complex-charts.json'; -import { transformUrl } from '../Products/getProducts'; +import { transformUrl } from '../../lib/urls'; import styles from './index.module.less'; // 性能飞跃,专业优雅 export function ComplexCharts() { - const locale = useLocale(); - const [isChinaMirrorHost] = useChinaMirrorHost(); - const language: 'zh' | 'en' = locale.id.includes('zh') ? 'zh' : 'en'; - - const intl = useIntl(); - const useT = (transformedMessage: string) => { - return intl.formatMessage({ - id: transformedMessage, - }); - }; + const { locale: language, t: useT } = useTranslation(); const [select, setSelect] = useState(COMPLEX_DATAS[0]); return (
-
{useT('性能飞跃,专业优雅')}
+

{useT('性能飞跃,专业优雅')}

{COMPLEX_DATAS.map((data) => { const isSelect = select.text === data.text; return ( -
{data.text}{' '} {useT(data.text)} -
+ ); })}
+
image + + + + + + ); +} diff --git a/site/components/LinkCharts/index.module.less b/src/components/LinkCharts/index.module.less similarity index 92% rename from site/components/LinkCharts/index.module.less rename to src/components/LinkCharts/index.module.less index 311b4fc4f..6d1ae280b 100644 --- a/site/components/LinkCharts/index.module.less +++ b/src/components/LinkCharts/index.module.less @@ -8,7 +8,7 @@ &:extend(.commonFlexConfig); padding: 100px 0 80px 0; flex-direction: column; - font-family: PingFangSC; + font-family: var(--font-sans); .charts { width: 100%; @@ -58,7 +58,8 @@ color: #1d2129; line-height: 32px; margin: 18px 0 8px 0; - font-family: AlibabaPuHuiTiB; + font-family: var(--font-sans); + font-weight: 700; } .subTitle { @@ -104,6 +105,7 @@ .left, .right { + border: 0; &:extend(.commonFlexConfig); height: 44px; width: 44px; @@ -123,3 +125,9 @@ } } } + +@media (max-width: 640px) { + .linkCharts { + padding: 48px 0 24px; + } +} diff --git a/site/components/LinkCharts/index.tsx b/src/components/LinkCharts/index.tsx similarity index 73% rename from site/components/LinkCharts/index.tsx rename to src/components/LinkCharts/index.tsx index 4ef9ead6d..b815cca17 100644 --- a/site/components/LinkCharts/index.tsx +++ b/src/components/LinkCharts/index.tsx @@ -1,39 +1,31 @@ -import { useChinaMirrorHost } from '@antv/dumi-theme-antv/dist/slots/hooks'; import classNames from 'classnames'; -import { useIntl, useLocale } from 'dumi'; -import React, { useCallback, useState } from 'react'; +import { useTranslation } from '../../lib/i18n'; +import { useCallback, useEffect, useRef, useState } from 'react'; import CHARTS_DATAS from '../../data/link-charts.json'; -import { transformUrl } from '../Products/getProducts'; +import { transformUrl } from '../../lib/urls'; import { OverflowedText, ModuleTitle as Title } from '../common'; import styles from './index.module.less'; // 丰富图表,选用自如 export function LinkCharts() { + const timer = useRef>(); + useEffect(() => () => clearTimeout(timer.current), []); const [position, setPosition] = useState('center'); const [loading, setLoading] = useState(false); const [data, setData] = useState(CHARTS_DATAS); - const locale = useLocale(); - const [isChinaMirrorHost] = useChinaMirrorHost(); - const intl = useIntl(); - const useT = (transformedMessage: string) => { - return intl.formatMessage({ - id: transformedMessage, - }); - }; - - const language: 'zh' | 'en' = locale.id.includes('zh') ? 'zh' : 'en'; + const { locale: language, t: useT } = useTranslation(); // 滑动 const onClick = useCallback( - (position) => { + (position: 'left' | 'right') => { if (loading) return; setPosition(position); setLoading(true); const length = data.length; - setTimeout(() => { + timer.current = setTimeout(() => { setData((data) => { return position === 'left' ? [...data.slice(length - 3), ...data.slice(0, length - 3)] @@ -43,7 +35,7 @@ export function LinkCharts() { setLoading(false); }, 1000); }, - [loading], + [loading, data.length], ); return ( @@ -66,11 +58,11 @@ export function LinkCharts() { {data.map((data) => { return ( @@ -91,18 +83,30 @@ export function LinkCharts() {
-
onClick('left')}> +
-
onClick('right')}> + +
+
); diff --git a/site/components/ProjectCard/index.module.less b/src/components/ProjectCard/index.module.less similarity index 78% rename from site/components/ProjectCard/index.module.less rename to src/components/ProjectCard/index.module.less index 130d47140..2e6f0bfe7 100644 --- a/site/components/ProjectCard/index.module.less +++ b/src/components/ProjectCard/index.module.less @@ -8,12 +8,12 @@ &:extend(.commonFlexConfig); padding: 80px 0 40px; flex-direction: column; - height: 782px; + height: auto; overflow: hidden; - font-family: PingFangSC; + font-family: var(--font-sans); .cards { - height: 520px; + min-height: 520px; width: calc(100vw - 360px); max-width: 1680px; min-width: 1040px; @@ -24,6 +24,11 @@ letter-spacing: 0; .box { + .row { + display: grid; + grid-template-columns: repeat(24, minmax(0, 1fr)); + column-gap: 16px; + } .card { &:extend(.commonFlexConfig); height: 70px; @@ -41,7 +46,7 @@ } .cardSubTitle { - font-family: AlibabaPuHuiTiR; + font-family: var(--font-sans); height: 24px; opacity: 0.65; font-size: 16px; @@ -90,15 +95,20 @@ cursor: default; .divider { + display: flex; + align-items: center; + width: 100%; border-color: rgba(255, 255, 255, 0.2); - - :global(.ant-divider-inner-text) { - padding: 0; + &::before, + &::after { + content: ''; + flex: 1; + border-top: 1px dashed rgba(255, 255, 255, 0.2); } } .cardTitle { - font-family: AlibabaPuHuiTiR; + font-family: var(--font-sans); margin: 0 6px; font-size: 16px; color: #ffffff; @@ -129,7 +139,7 @@ } .content { - font-family: PingFangSC; + font-family: var(--font-sans); padding: 0 8px; .msg { @@ -172,11 +182,9 @@ font-size: 14px; color: #1d2129; - .link { - > img { - width: 16px; - height: 16px; - } + > img { + width: 16px; + height: 16px; } &:hover { @@ -185,3 +193,23 @@ } } } + +@media (max-width: 1200px) { + .projectCard { + padding-inline: 24px; + height: auto; + .cards { + width: 100%; + min-width: 0; + overflow-x: auto; + } + .box { + min-width: 992px; + } + } +} +@media (max-width: 640px) { + .projectCard { + padding: 48px 20px 24px; + } +} diff --git a/site/components/ProjectCard/index.tsx b/src/components/ProjectCard/index.tsx similarity index 74% rename from site/components/ProjectCard/index.tsx rename to src/components/ProjectCard/index.tsx index 3d777820b..b5a53bb35 100644 --- a/site/components/ProjectCard/index.tsx +++ b/src/components/ProjectCard/index.tsx @@ -1,15 +1,14 @@ -import { useChinaMirrorHost } from '@antv/dumi-theme-antv/dist/slots/hooks'; -import { Col, ConfigProvider, Divider, Popover, Row } from 'antd'; +import { ConfigProvider, Popover } from 'antd'; import classNames from 'classnames'; -import { useIntl, useLocale } from 'dumi'; +import { useTranslation } from '../../lib/i18n'; import React, { useCallback, useState } from 'react'; import ANTV_LINKS from '../../data/project-card-popover.json'; import { ActiveIcon, ModuleTitle as Title } from '../common'; import { - ProductType, + type ProductType, getProducts, - transformUrl, -} from '../Products/getProducts'; +} from '../../lib/products'; +import { transformUrl } from '../../lib/urls'; import styles from './index.module.less'; @@ -166,76 +165,80 @@ const PROJECT_DATAS: PrejectData = [ // 设计语言与研发框架 export function ProjectCard() { - const locale = useLocale(); - const [isChinaMirrorHost] = useChinaMirrorHost(); const [products, setProducts] = useState([]); - const language: 'zh' | 'en' = locale.id.includes('zh') ? 'zh' : 'en'; - - const intl = useIntl(); - const useT = (transformedMessage: string) => { - return intl.formatMessage({ - id: transformedMessage, - }); - }; + const { locale: language, t: useT } = useTranslation(); // 旧的跳转 json 获取 React.useEffect(() => { - getProducts({ language, isChinaMirrorHost }).then((data) => { - setProducts(data.slice(0, 14)); - }); - }, [language, isChinaMirrorHost]); + let active = true; + getProducts({ language }) + .then((data) => { + if (active) setProducts(data.slice(0, 14)); + }) + .catch(() => { + // The static product links remain usable when supplementary links fail. + if (active) setProducts([]); + }); + return () => { + active = false; + }; + }, [language]); // 弹出框内容 - const getContent = useCallback(({ title, subTitle, img, links, url }) => { - return ( -
-
-
{title}
-
{subTitle}
-
-
-
- {ANTV_LINKS.map((link) => { - let href = links[link.href]?.url.replace( - /https:\/\/.+?\//, - `${url}/`, - ); + const getContent = useCallback( + ({ title, subTitle, img, links, url }) => { + return ( +
+
+
{title}
+
{subTitle}
+
+
+
+ {ANTV_LINKS.map((link) => { + let href = links[link.href]?.url?.replace( + /https:\/\/.+?\//, + `${url}/`, + ); - // Ant Design Charts 本身跳转 https://charts.ant.design/example 为 404, 修改为 https://ant-design-charts.antgroup.com/examples - if (title === 'Ant Design Charts') { - href = - link.href === 'home' - ? url - : `${url}/${language}/${ - { - example: 'examples', - api: 'options/plots/overview', - }[link.href] - }`; - } - if (title === 'F6' && link.href === 'api') { - href = href + '/Graph'; - } + // Ant Design Charts 本身跳转 https://charts.ant.design/example 为 404, 修改为 https://ant-design-charts.antgroup.com/examples + if (title === 'Ant Design Charts') { + href = + link.href === 'home' + ? url + : `${url}/${language}/${ + { + example: 'examples', + api: 'options/plots/overview', + }[link.href] + }`; + } + if (href && title === 'F6' && link.href === 'api') { + href = href + '/Graph'; + } - return ( - + return ( - - ); - })} + ); + })} +
-
- ); - }, []); + ); + }, + [language], + ); return (
@@ -246,7 +249,7 @@ export function ProjectCard() {
{PROJECT_DATAS.map((cols) => ( - +
{cols.map((col) => { const { span, img, title, subTitle, isSort, icon, url } = col; @@ -261,16 +264,16 @@ export function ProjectCard() { {icon && {newTitle}} {isSort ? ( - +
{newTitle}
- +
) : (
{newTitle}
)} @@ -281,7 +284,10 @@ export function ProjectCard() { ); return ( - +
{links ? ( +
); })} - +
))}
diff --git a/src/components/Swatch.astro b/src/components/Swatch.astro new file mode 100644 index 000000000..3f6657cc3 --- /dev/null +++ b/src/components/Swatch.astro @@ -0,0 +1,49 @@ +--- +interface Props { + title?: string; + colors: string; + colorNames?: string; + descriptions?: string; + grid?: 'sudoku'; +} +const { title, colors, colorNames = '', descriptions = '', grid } = Astro.props; +const groups = colors.split('|').map((group) => group.split(',').map((color) => color.trim())); +const names = colorNames.split(','); +const captions = descriptions.split('|'); +for (const group of groups) { + if (group.some((color) => !/^#[\da-f]{6}$/i.test(color))) throw new Error('Invalid palette color'); +} +--- + +
+ {title &&
{title}
} +
+ {groups.map((group, index) => ( +
+ {groups.length > 1 && names[index] &&

{names[index]}

} +
+ {group.map((color, colorIndex) => ( +
+ + {color} +
+ ))} +
+ {captions[index] &&

{captions[index]}

} +
+ ))} +
+
+ + diff --git a/site/components/ThemeCharts/Charts/Column/index.tsx b/src/components/ThemeCharts/Charts/Column/index.tsx similarity index 93% rename from site/components/ThemeCharts/Charts/Column/index.tsx rename to src/components/ThemeCharts/Charts/Column/index.tsx index 1f1244423..0e2c01c14 100644 --- a/site/components/ThemeCharts/Charts/Column/index.tsx +++ b/src/components/ThemeCharts/Charts/Column/index.tsx @@ -1,5 +1,5 @@ import { Column } from '@antv/g2plot'; -import React, { useEffect, useMemo, useRef } from 'react'; +import React, { useEffect, useRef } from 'react'; import styles from '../index.module.less'; @@ -159,7 +159,7 @@ export function ColumnChart(props: ColumnProps) { const { theme = {} } = props; const { value, categorical } = theme; const colors10 = categorical.colors; - const isDark = useMemo(() => value === 'dark', [value]); + const isDark = value === 'dark'; const containerRef = useRef(null); const plotRef = React.useRef(null); @@ -192,6 +192,14 @@ export function ColumnChart(props: ColumnProps) { } }, [containerRef, isDark, colors10]); + useEffect( + () => () => { + plotRef.current?.destroy(); + plotRef.current = null; + }, + [], + ); + return (
diff --git a/site/components/ThemeCharts/Charts/Gauge/index.tsx b/src/components/ThemeCharts/Charts/Gauge/index.tsx similarity index 83% rename from site/components/ThemeCharts/Charts/Gauge/index.tsx rename to src/components/ThemeCharts/Charts/Gauge/index.tsx index 3a67f0443..4ac9706d6 100644 --- a/site/components/ThemeCharts/Charts/Gauge/index.tsx +++ b/src/components/ThemeCharts/Charts/Gauge/index.tsx @@ -1,7 +1,7 @@ import { Gauge } from '@antv/g2plot'; -import { useIntl } from 'dumi'; -import { get } from 'lodash'; -import React, { useEffect, useMemo, useRef } from 'react'; +import { useTranslation } from '../../../../lib/i18n'; +import get from 'lodash/get.js'; +import React, { useEffect, useRef } from 'react'; import styles from '../index.module.less'; @@ -14,14 +14,9 @@ export function GaugeChart(props: GaugeProps) { const { theme = {} } = props; const { value, sequential } = theme; const colors10 = get(sequential, ['colors', '0'], []); - const isDark = useMemo(() => value === 'dark', [value]); + const isDark = value === 'dark'; - const intl = useIntl(); - const useT = (transformedMessage: string) => { - return intl.formatMessage({ - id: transformedMessage, - }); - }; + const { t: useT } = useTranslation(); const containerRef = useRef(null); const plotRef = React.useRef(null); @@ -49,7 +44,7 @@ export function GaugeChart(props: GaugeProps) { };" >${useT('用户总量')}
1,320
+ }; line-height: 45px;font-family: Alibaba PuHuiTi 2.0;" >1,320
`; }, @@ -75,6 +70,14 @@ export function GaugeChart(props: GaugeProps) { } }, [containerRef, isDark, colors10]); + useEffect( + () => () => { + plotRef.current?.destroy(); + plotRef.current = null; + }, + [], + ); + return (
diff --git a/site/components/ThemeCharts/Charts/Graph/index.tsx b/src/components/ThemeCharts/Charts/Graph/index.tsx similarity index 93% rename from site/components/ThemeCharts/Charts/Graph/index.tsx rename to src/components/ThemeCharts/Charts/Graph/index.tsx index c690f8e7c..002acc924 100644 --- a/site/components/ThemeCharts/Charts/Graph/index.tsx +++ b/src/components/ThemeCharts/Charts/Graph/index.tsx @@ -1,5 +1,5 @@ import { Graph } from '@antv/g6'; -import { debounce } from 'lodash'; +import debounce from 'lodash/debounce.js'; import React, { useCallback, useEffect, useMemo, useRef } from 'react'; import styles from '../index.module.less'; @@ -89,7 +89,7 @@ export function GraphChart(props: GraphProps) { const { theme = {} } = props; const { value, categorical } = theme; const colors10 = categorical.colors; - const isDark = useMemo(() => value === 'dark', [value]); + const isDark = value === 'dark'; const containerRef = useRef(null); const plotRef = React.useRef(null); @@ -192,13 +192,14 @@ export function GraphChart(props: GraphProps) { plotRef.current.changeData(data); } } - }, [containerRef, data, defaultNode]); + }, [data, defaultNode, create]); // g6 不能自动更新以及手动更新而更新图的位置在最中心。 重新进行创建 useEffect(() => { const container = containerRef?.current; const onResize = debounce(() => { - plotRef.current.destroy(); + plotRef.current?.destroy(); + plotRef.current = null; create(container); }, 100); @@ -207,8 +208,17 @@ export function GraphChart(props: GraphProps) { } return () => { window.removeEventListener('resize', onResize); + onResize.cancel(); }; - }, [containerRef]); + }, [create]); + + useEffect( + () => () => { + plotRef.current?.destroy(); + plotRef.current = null; + }, + [], + ); return (
diff --git a/site/components/ThemeCharts/Charts/Line/index.tsx b/src/components/ThemeCharts/Charts/Line/index.tsx similarity index 88% rename from site/components/ThemeCharts/Charts/Line/index.tsx rename to src/components/ThemeCharts/Charts/Line/index.tsx index e493dbe28..a229d09de 100644 --- a/site/components/ThemeCharts/Charts/Line/index.tsx +++ b/src/components/ThemeCharts/Charts/Line/index.tsx @@ -1,5 +1,5 @@ import { Line } from '@antv/g2plot'; -import React, { useEffect, useMemo, useRef } from 'react'; +import React, { useEffect, useRef } from 'react'; import { DARK_THEME_CONFIG, LIGHT_THEME_CONFIG } from '../Column'; import styles from '../index.module.less'; @@ -56,7 +56,7 @@ export function LineChart(props: LineProps) { const { theme = {} } = props; const { value, categorical } = theme; const colors10 = categorical.colors; - const isDark = useMemo(() => value === 'dark', [value]); + const isDark = value === 'dark'; const containerRef = useRef(null); const plotRef = React.useRef(null); @@ -88,6 +88,14 @@ export function LineChart(props: LineProps) { } }, [containerRef, isDark, colors10]); + useEffect( + () => () => { + plotRef.current?.destroy(); + plotRef.current = null; + }, + [], + ); + return (
diff --git a/site/components/ThemeCharts/Charts/Pie/index.tsx b/src/components/ThemeCharts/Charts/Pie/index.tsx similarity index 89% rename from site/components/ThemeCharts/Charts/Pie/index.tsx rename to src/components/ThemeCharts/Charts/Pie/index.tsx index f5a94222d..f2cb08b68 100644 --- a/site/components/ThemeCharts/Charts/Pie/index.tsx +++ b/src/components/ThemeCharts/Charts/Pie/index.tsx @@ -1,6 +1,6 @@ import { Pie } from '@antv/g2plot'; -import { useIntl } from 'dumi'; -import React, { useEffect, useMemo, useRef } from 'react'; +import { useTranslation } from '../../../../lib/i18n'; +import React, { useEffect, useRef } from 'react'; import { DARK_THEME_CONFIG, LIGHT_THEME_CONFIG } from '../Column'; import styles from '../index.module.less'; @@ -20,14 +20,9 @@ export function PieChart(props: PieProps) { const { theme = {} } = props; const { value, categorical } = theme; const colors10 = categorical.colors; - const isDark = useMemo(() => value === 'dark', [value]); + const isDark = value === 'dark'; - const intl = useIntl(); - const useT = (transformedMessage: string) => { - return intl.formatMessage({ - id: transformedMessage, - }); - }; + const { t: useT } = useTranslation(); const containerRef = useRef(null); const plotRef = React.useRef(null); @@ -58,7 +53,7 @@ export function PieChart(props: PieProps) { offsetY: -2, content: '3,200', style: { - fontFamily: 'AlibabaPuHuiTiB', + fontFamily: 'Alibaba PuHuiTi 2.0', fontSize: '20px', color: isDark ? '#fff' : '#1D2129', }, @@ -113,6 +108,14 @@ export function PieChart(props: PieProps) { } }, [containerRef, isDark, colors10]); + useEffect( + () => () => { + plotRef.current?.destroy(); + plotRef.current = null; + }, + [], + ); + return (
diff --git a/site/components/ThemeCharts/Charts/StackedColumn/index.tsx b/src/components/ThemeCharts/Charts/StackedColumn/index.tsx similarity index 91% rename from site/components/ThemeCharts/Charts/StackedColumn/index.tsx rename to src/components/ThemeCharts/Charts/StackedColumn/index.tsx index a47f81103..417b53dc5 100644 --- a/site/components/ThemeCharts/Charts/StackedColumn/index.tsx +++ b/src/components/ThemeCharts/Charts/StackedColumn/index.tsx @@ -1,5 +1,5 @@ import { Column } from '@antv/g2plot'; -import React, { useEffect, useMemo, useRef } from 'react'; +import React, { useEffect, useRef } from 'react'; import { DARK_THEME_CONFIG, LIGHT_THEME_CONFIG } from '../Column'; import styles from '../index.module.less'; @@ -96,7 +96,7 @@ export function StackedColumnChart(props: StackedColumnProps) { const { theme = {} } = props; const { value, categorical } = theme; const colors10 = categorical.colors; - const isDark = useMemo(() => value === 'dark', [value]); + const isDark = value === 'dark'; const containerRef = useRef(null); const plotRef = React.useRef(null); @@ -127,6 +127,14 @@ export function StackedColumnChart(props: StackedColumnProps) { } }, [containerRef, isDark, colors10]); + useEffect( + () => () => { + plotRef.current?.destroy(); + plotRef.current = null; + }, + [], + ); + return (
diff --git a/site/components/ThemeCharts/Charts/index.module.less b/src/components/ThemeCharts/Charts/index.module.less similarity index 100% rename from site/components/ThemeCharts/Charts/index.module.less rename to src/components/ThemeCharts/Charts/index.module.less diff --git a/site/components/ThemeCharts/Charts/index.tsx b/src/components/ThemeCharts/Charts/index.tsx similarity index 100% rename from site/components/ThemeCharts/Charts/index.tsx rename to src/components/ThemeCharts/Charts/index.tsx diff --git a/src/components/ThemeCharts/Island.tsx b/src/components/ThemeCharts/Island.tsx new file mode 100644 index 000000000..14b2f017a --- /dev/null +++ b/src/components/ThemeCharts/Island.tsx @@ -0,0 +1,10 @@ +import { LocaleProvider, type Locale } from '../../lib/i18n'; +import { ThemeCharts } from './index'; + +export default function ThemeIsland({ locale }: { locale: Locale }) { + return ( + + + + ); +} diff --git a/site/components/ThemeCharts/index.module.less b/src/components/ThemeCharts/index.module.less similarity index 76% rename from site/components/ThemeCharts/index.module.less rename to src/components/ThemeCharts/index.module.less index 2d5cb93e3..eff456ee9 100644 --- a/site/components/ThemeCharts/index.module.less +++ b/src/components/ThemeCharts/index.module.less @@ -10,16 +10,18 @@ z-index: 2; padding: 50px 0 40px; flex-direction: column; - font-family: PingFangSC; + font-family: var(--font-sans); background-size: cover; background-color: rgba(0, 0, 0, 0); .title { - height: 48px; + height: auto; + margin-top: 0; line-height: 1em; font-size: 40px; color: #1d2129; - font-family: AlibabaPuHuiTiB; + font-family: var(--font-sans); + font-weight: 700; margin-bottom: 48px; } @@ -84,7 +86,8 @@ width: 85px; font-size: 20px; color: #1d2129; - font-family: AlibabaPuHuiTiB; + font-family: var(--font-sans); + font-weight: 700; } .msgText { @@ -131,6 +134,9 @@ &:extend(.commonFlexConfig); .download { + background: transparent; + border: 0; + font-family: inherit; font-size: 16px; color: #424e66; letter-spacing: 0; @@ -231,6 +237,61 @@ } } +@media (max-width: 1200px) { + .themeCharts { + padding-inline: 24px; + .themeChart { + width: 100%; + min-width: 0; + height: auto; + } + .themeChart .charts { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 14px; + } + .themeChart .charts .chart { + width: auto; + float: none; + margin: 0; + } + } +} + +@media (max-width: 640px) { + .themeCharts { + padding: 48px 20px; + .title { + font-size: 28px; + line-height: 1.3; + text-align: center; + margin-bottom: 24px; + } + .themeButtons { + gap: 8px; + width: 100%; + flex-wrap: wrap; + } + .themeButtons .button { + margin: 0; + width: auto; + min-width: 88px; + padding-inline: 8px; + font: inherit; + font-size: 14px; + } + .themeChart { + padding: 12px; + } + .themeChart .charts { + grid-template-columns: minmax(0, 1fr); + } + .themeChart .msg .msgTitle { + font-size: 16px; + } + } +} + .colors { display: flex; margin-bottom: 16px; diff --git a/src/components/ThemeCharts/index.tsx b/src/components/ThemeCharts/index.tsx new file mode 100644 index 000000000..5c4247d46 --- /dev/null +++ b/src/components/ThemeCharts/index.tsx @@ -0,0 +1,157 @@ +import classNames from 'classnames'; +import { useTranslation } from '../../lib/i18n'; +import { useCallback, useState } from 'react'; +import THEME_DATAS from '../../data/theme-charts.json'; +import THEME_COLORS1 from '../../data/theme-colors1.json'; +import THEME_COLORS2 from '../../data/theme-colors2.json'; +import THEME_COLORS3 from '../../data/theme-colors3.json'; +import { + ColumnChart, + GaugeChart, + GraphChart, + LineChart, + PieChart, + StackedColumnChart, +} from './Charts'; + +import styles from './index.module.less'; + +// 已经生成的主题 json 文件 +const themeColors = [THEME_COLORS1, THEME_COLORS2, THEME_COLORS3]; + +const CHARTS = [ + { + msg: '仪表盘', + chart: (theme: any) => , + }, + { + msg: '分组柱形图', + chart: (theme: any) => , + }, + { + msg: '力导向图布局', + chart: (theme: any) => , + }, + { + msg: '折线图', + chart: (theme: any) => , + }, + { + msg: '堆叠柱形图', + chart: (theme: any) => , + }, + { + msg: '环形图', + chart: (theme: any) => , + }, +]; + +// 定制主题,一键生成 +export function ThemeCharts() { + const { t: useT } = useTranslation(); + + const [selectedIndex, setSelectedIndex] = useState(0); + const select = THEME_DATAS[selectedIndex]; + const colorsJson = themeColors[selectedIndex]; + + // download theme + const onDownload = useCallback(() => { + const str = JSON.stringify(colorsJson, null, 2); + + const blobURL = new Blob([str], { type: 'application/json' }); + + const a = document.createElement('a'); + a.href = window.URL.createObjectURL(blobURL); + a.download = 'antv_theme.json'; + document.body.appendChild(a); + a.click(); + a.remove(); + setTimeout(() => URL.revokeObjectURL(a.href), 1000); + }, [colorsJson]); + + const isDark = select.theme === 'dark'; + + return ( +
+

{useT('定制主题,一键生成')}

+
+ {THEME_DATAS.map((data, index) => { + const isTheme = selectedIndex === index; + + return ( + + ); + })} +
+
+
+ antv +
AntV 5.0
+
+
{useT(select.text)}
+
+
+ {CHARTS.map((chart, index) => { + return ( +
+
{useT(chart.msg)}
+
+ {chart.chart({ ...colorsJson, value: select.theme })} +
+
+ ); + })} +
+
+
+ +
+
+ ); +} diff --git a/site/components/common/ActiveIcon/index.module.less b/src/components/common/ActiveIcon/index.module.less similarity index 100% rename from site/components/common/ActiveIcon/index.module.less rename to src/components/common/ActiveIcon/index.module.less diff --git a/site/components/common/ActiveIcon/index.tsx b/src/components/common/ActiveIcon/index.tsx similarity index 91% rename from site/components/common/ActiveIcon/index.tsx rename to src/components/common/ActiveIcon/index.tsx index 06d8ae26d..361f6abd5 100644 --- a/site/components/common/ActiveIcon/index.tsx +++ b/src/components/common/ActiveIcon/index.tsx @@ -1,5 +1,4 @@ import classNames from 'classnames'; -import React from 'react'; import styles from './index.module.less'; @@ -21,6 +20,7 @@ export default function ActiveIcon(props: ActiveIconProps) { className={classNames(className, styles.activeIcon)} href={href} target={target} + rel={target === '_blank' ? 'noreferrer' : undefined} > inactive_icon active_icon diff --git a/src/components/common/ModuleTitle/index.module.less b/src/components/common/ModuleTitle/index.module.less new file mode 100644 index 000000000..c9a880d40 --- /dev/null +++ b/src/components/common/ModuleTitle/index.module.less @@ -0,0 +1,39 @@ +.msg { + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + + .title { + height: auto; + line-height: 1.3; + margin-top: 0; + font-size: 40px; + color: #1d2129; + margin-bottom: 16px; + font-family: var(--font-sans); + font-weight: 700; + } + + .subTitle { + font-family: var(--font-sans); + color: #424e66; + letter-spacing: 0; + line-height: 24px; + margin-bottom: 32px; + max-width: 800px; + } +} + +@media (max-width: 640px) { + .msg { + text-align: center; + padding-inline: 12px; + .title { + font-size: 28px; + } + .subTitle { + font-size: 14px; + } + } +} diff --git a/site/components/common/ModuleTitle/index.tsx b/src/components/common/ModuleTitle/index.tsx similarity index 82% rename from site/components/common/ModuleTitle/index.tsx rename to src/components/common/ModuleTitle/index.tsx index 825413b67..6c835a599 100644 --- a/site/components/common/ModuleTitle/index.tsx +++ b/src/components/common/ModuleTitle/index.tsx @@ -1,5 +1,3 @@ -import React from 'react'; - import styles from './index.module.less'; type ModuleTitleProps = { @@ -12,7 +10,7 @@ export default function ModuleTitle(props: ModuleTitleProps) { const { title, subTitle } = props; return (
-
{title}
+

{title}

{subTitle &&
{subTitle}
}
); diff --git a/site/components/common/OverflowedText/index.less b/src/components/common/OverflowedText/index.less similarity index 68% rename from site/components/common/OverflowedText/index.less rename to src/components/common/OverflowedText/index.less index d60b09492..58b04ce93 100644 --- a/site/components/common/OverflowedText/index.less +++ b/src/components/common/OverflowedText/index.less @@ -1,8 +1,8 @@ -@import './mixins.less'; - .component-overflowed-text { max-width: 100px; - .text-overflow(); + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; &.max-height-text { white-space: normal; diff --git a/site/components/common/OverflowedText/index.tsx b/src/components/common/OverflowedText/index.tsx similarity index 87% rename from site/components/common/OverflowedText/index.tsx rename to src/components/common/OverflowedText/index.tsx index 6dff6bde8..22ae9f070 100644 --- a/site/components/common/OverflowedText/index.tsx +++ b/src/components/common/OverflowedText/index.tsx @@ -1,14 +1,17 @@ import { ConfigProvider, Tooltip } from 'antd'; import cx from 'classnames'; -import { isNumber, isString, omit, toNumber } from 'lodash'; -import React, { PureComponent } from 'react'; +import isNumber from 'lodash/isNumber.js'; +import isString from 'lodash/isString.js'; +import omit from 'lodash/omit.js'; +import toNumber from 'lodash/toNumber.js'; +import { PureComponent } from 'react'; import './index.less'; type Props = { - className: string; + className?: string; text: string; - maxWidth: string | number; + maxWidth?: string | number; maxHeight?: string | number; style?: Record; }; @@ -78,7 +81,7 @@ export class OverflowedText extends PureComponent { ); let textStyle: Record = { - maxWidth: getPixel(maxWidth), + maxWidth: getPixel(maxWidth ?? '100px'), ...style, }; // 最大高度 转化为 行数, 需要 fontSize, lineHeight 属性 @@ -88,8 +91,8 @@ export class OverflowedText extends PureComponent { ...textStyle, maxWidth: 'none', display: '-webkit-box', - '-webkitBoxOrient': 'vertical', - '-webkitLineClamp': ( + WebkitBoxOrient: 'vertical', + WebkitLineClamp: ( Math.max(getNumber(maxHeight), lineHeightSize) / lineHeightSize ).toFixed(0), }; diff --git a/site/components/common/index.tsx b/src/components/common/index.tsx similarity index 100% rename from site/components/common/index.tsx rename to src/components/common/index.tsx diff --git a/src/content.config.ts b/src/content.config.ts new file mode 100644 index 000000000..ea31874a5 --- /dev/null +++ b/src/content.config.ts @@ -0,0 +1,9 @@ +import { defineCollection } from 'astro:content'; +import { antvDocsLoader, antvDocsSchema } from '@antv/astro-theme-antv/content'; + +export const collections = { + docs: defineCollection({ + loader: antvDocsLoader({ base: './docs' }), + schema: antvDocsSchema, + }), +}; diff --git a/site/data/complex-charts.json b/src/data/complex-charts.json similarity index 100% rename from site/data/complex-charts.json rename to src/data/complex-charts.json diff --git a/site/data/famous-persons.json b/src/data/famous-persons.json similarity index 100% rename from site/data/famous-persons.json rename to src/data/famous-persons.json diff --git a/site/data/link-charts.json b/src/data/link-charts.json similarity index 100% rename from site/data/link-charts.json rename to src/data/link-charts.json diff --git a/site/data/project-card-popover.json b/src/data/project-card-popover.json similarity index 100% rename from site/data/project-card-popover.json rename to src/data/project-card-popover.json diff --git a/site/data/theme-charts.json b/src/data/theme-charts.json similarity index 100% rename from site/data/theme-charts.json rename to src/data/theme-charts.json diff --git a/site/data/theme-colors1.json b/src/data/theme-colors1.json similarity index 100% rename from site/data/theme-colors1.json rename to src/data/theme-colors1.json diff --git a/site/data/theme-colors2.json b/src/data/theme-colors2.json similarity index 100% rename from site/data/theme-colors2.json rename to src/data/theme-colors2.json diff --git a/site/data/theme-colors3.json b/src/data/theme-colors3.json similarity index 100% rename from site/data/theme-colors3.json rename to src/data/theme-colors3.json diff --git a/src/lib/i18n.tsx b/src/lib/i18n.tsx new file mode 100644 index 000000000..6b01a0fe2 --- /dev/null +++ b/src/lib/i18n.tsx @@ -0,0 +1,24 @@ +import React, { createContext, useContext } from 'react'; +import en from '../locales/en.json'; + +export type Locale = 'zh' | 'en'; +const LocaleContext = createContext('zh'); +const messages: Record = en; + +export function translate(locale: Locale, key: string): string { + return locale === 'en' ? messages[key] || key : key; +} + +export function LocaleProvider({ + locale, + children, +}: React.PropsWithChildren<{ locale: Locale }>) { + return ( + {children} + ); +} + +export function useTranslation() { + const locale = useContext(LocaleContext); + return { locale, t: (key: string) => translate(locale, key) }; +} diff --git a/src/lib/products.ts b/src/lib/products.ts new file mode 100644 index 000000000..aa5e85ecc --- /dev/null +++ b/src/lib/products.ts @@ -0,0 +1,32 @@ +export type ProductType = { + links: { + /** 产品首页 */ + readonly home?: { url: string; title?: string }; + /** 图表示例 */ + readonly example?: { url: string; title?: string }; + /** 使用文档 */ + readonly api?: { url: string; title?: string }; + }; + [k: string]: any; +}; + +export function getProducts({ + language, +}: { + language: 'zh' | 'en'; +}): Promise { + return fetch('https://assets.antv.antgroup.com/antv/products.json') + .then((res) => { + if (!res.ok) throw new Error(`Product feed returned ${res.status}`); + return res.json(); + }) + .then((products: ProductType[]) => { + return products + .filter((d) => d.lang === language) + .map((d) => { + const links = + typeof d.links === 'string' ? JSON.parse(d.links) : { ...d.links }; + return { ...d, links }; + }); + }); +} diff --git a/src/lib/urls.ts b/src/lib/urls.ts new file mode 100644 index 000000000..07213cd49 --- /dev/null +++ b/src/lib/urls.ts @@ -0,0 +1,18 @@ +import type { Locale } from './i18n'; + +export function transformUrl({ + url, + language, +}: { + url: string; + language: Locale; +}): string { + if (url.startsWith('/') && !url.startsWith('//')) { + const path = url + .replace(/^\/(zh|en)(?=\/|$)/, '') + .replace(/^\/docs\//, '/'); + const parsed = new URL(path, 'https://antv.antgroup.com'); + return `/${language}${parsed.pathname.replace(/\/$/, '')}/${parsed.search}${parsed.hash}`; + } + return url; +} diff --git a/src/locales/en.json b/src/locales/en.json new file mode 100644 index 000000000..4e63ee3fb --- /dev/null +++ b/src/locales/en.json @@ -0,0 +1,77 @@ +{ + "图表示例": "Examples", + "陈为": "Wei Chen", + "浙江大学计算机学院 CAD & CG 国家重点实验室教授": "Professor of State Key Lab of CAD & CG, Zhejiang University", + "林峰": "Feng Lin", + "爱烹饪的可视化攻城狮": "Visualization Developer Who Loves Cooking", + "G2 是面粉,Echarts 是面条,皆微小而美好,因小食材怀大梦想,助力共筹东方巨龙崛起之盛宴,迎四海饕客。": "G2 is the flour, Echarts is the noodle. They are both tiny but beautiful. Tiny ingredients have big dreams, helping to co-sponser the feast of the rise of the Eastern Dragon, and welcoming the guests from all over the world.", + "它山": "Tashan", + "仪表盘": "Gauge Graph", + "流程图": "Flow Diagram", + "环形图": "Circular", + "分组柱形图": "Stacked Column", + "力导向图布局": "Force-directed Layout", + "堆叠柱形图": "Grouped Column", + "统计图表": "Statistic", + "关系图": "Graph", + "地图": "Map", + "折线图": "Line Chart", + "热力图": "Heatmap", + "Leland Wilkinson": "Leland Wilkinson", + "I am thrill with G2. It is amazingly faithful to the GG system and has the potential to generate more graphics.": "I am thrill with G2. It is amazingly faithful to the GG system and has the potential to generate more graphics.", + "3D大图": "3D Chart", + "超强性能": "Super Power", + "叙事动画": "Animation", + "性能飞跃,专业优雅": "Performance Leap, Professional Elegance", + "专家之声": "Expert Voice", + "来自数据可视化专家的专业认可与推荐": "Professional endorsement and recommendation from data visualization experts.", + "丰富图表,选用自如": "Rich Chart, Choose Freely", + "数据驱动,高度易用,可扩展的可视化图形语法": "Data-driven, highly easy to use, extensible visual graphics syntax", + "开箱即用的多维可视分析表格": "Multi-dimensional visual analysis form out of the box.", + "便捷的关系数据可视化引擎与图分析工具": "Convenient relational data visualization engine and graph analysis tool.", + "散点图 (3D图表)": "Scatter Plot (3D Chart)", + "高性能/高渲染质量的地理空间数据可视化框架": "High performance/high render quality geospatial data visualization framework.", + "统计图表 (移动端)": "Statistical Charts (Mobile)", + "专注于移动端的可视化解决方案,兼容 H5/小程序/Weex 等多端环境": "Focus on mobile visualization solutions, compatible with H5/Mini Program/Weex and other multi-terminal environments.", + "树形图表 (移动端)": "Tree Chart (Mobile)", + "思维导图": "Mind Map", + "一款可以快速、流畅运行于移动设备中的图可视化引擎": "A graphical visualization engine that runs fast and smoothly on mobile devices.", + "极易定制、开箱即用、数据驱动的图编辑引擎": "Easy to customize, out of the box, data-driven graph editing engine.", + "树形图表": "Tree Chart", + "地图 (3D图表)": "Map (3D Chart)", + "矩形式树图 (移动端)": "Heat Tree Map (Mobile)", + "智能洞察": "Intelligent Insight", + "图表库": "Chart Base", + "多维表格": "Dimensions Table", + "移动统计图": "Module Statistical", + "移动关系图": "Module Diagram", + "移动地图": "Module Map", + "常用统计数据": "Common Statistics", + "关系数据": "Relational Data", + "极致移动定制": "Extreme Mobile Customization", + "设计语言": "Design", + "图表引擎": "Chart Engine", + "规范下载": "Download", + "定制主题,一键生成": "Custom Theme, One Click Generation", + "活动战报": "Report", + "数据监控": "Monitoring", + "日常分析": "Analysis", + "产品首页": "HomePage", + "使用文档": "Docs", + "伊利诺伊大学计算机科学客座教授H2O.ai 首席科学家,G2 项目顾问": "Visiting Professor of Computer Science at the University of Illinois, Principal Scientist at H2O.ai and Advisor to the G2 project.", + "在多年可视化设计与开发的基础上,蚂蚁金服推出了 AntV 产品,这是工业界基础可视化语法与实践方面发出的最强声音,也是工业界与学术界一道推进可视化研发进展的最佳利器。": "Building on years of visualization design and development, Ant Financial launched AntV, the industry's strongest voice in basic visualization grammar and practice, and the best tool for industry to work with academia to advance visualization research and development.", + "设计,让数据美而简单,让可视化更普惠。好策略、好资产助力好报表、好产品。": "Design, make the data beautiful and simple, make the visualization more inclusive. Good strategy, good assets help good reports, good products.", + "用户总量": "Total", + "分类色板": "Classification Color Palette", + "单一顺序色板": "Single Sequential Color Palette", + "邻近顺序色板": "Adjacent Sequential Color Palette", + "主要用于描述分类数据,如苹果、香蕉、梨,常用一个颜色代表一个值以区分不同类型,取色时色相分布均衡,相邻颜色之间明暗需考虑差异性,常用于饼图的不同分类、填充地图中的不同国家、关系图中的不同角色等。": "It is mainly used to describe classified data, such as apples, bananas, pears, usually a color represents a value to distinguish different types, the color distribution is balanced, the difference between adjacent colors should be considered between the light and dark, often used for different pie chart classification, filling different countries in the map, different roles in the relationship chart, etc.", + "单色顺序色板,均基于分类色板生长而来,一般使用同一色相,通过明度或饱和度的渐变,常用来表示同一事物中的数值大小或梯度变化,如排行榜等级变化、一个国家或地区的新增人口数对比、风险等级变化等。": "Monochromatic sequential color palette, all based on the growth of classification swatches, generally use the same hue, through the gradual change of brightness or saturation, commonly used to represent the numerical size or gradient change in the same thing, such as ranking changes, comparison of the number of new people in a country or region, risk level changes, etc.", + "邻近顺序色板,均基于分类色板生长而来,为加大辨识度也可使用邻近色相,通过明度或饱和度的渐变,常用来表示同一事物中的数值大小或梯度变化,如排行榜等级变化、一个国家或地区的新增人口数对比、风险等级变化等。": "Adjacent sequential color palette, all based on the growth of the classification color palette, in order to increase the recognition can also use adjacent colors, through the gradual change of brightness or saturation, commonly used to represent the value size or gradient change in the same thing, such as ranking change, comparison of the number of new population in a country or region, risk level change.", + "柱形图、饼图、关系图、地图、多维表格等260+丰富图表随心选用": "Column、Pie、Graph、Map、Dimensions Table and other 260+ rich chart choice at will.", + "设计语言与研发框架": "Design language and R&D framework", + "资产一览,让你快速搭建网站应用": "Assets list, let you quickly build a website application.", + "Ant Design / AntV 设计负责人": "Ant Design / AntV Design Leader", + "地理空间数据": "For Geospacial Data", + "267 全系 F 版": "F2、6、7" +} diff --git a/tsconfig.json b/tsconfig.json index 0e1ec37b4..a55b9ac5e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,20 +1,12 @@ { - "include": ["site", ".dumi/theme", ".dumi/pages", "./typing.d.ts"], + "extends": "astro/tsconfigs/base", + "include": [".astro/types.d.ts", "src/**/*"], + "exclude": ["dist", "node_modules"], "compilerOptions": { - "target": "esnext", - "module": "commonjs", - "lib": ["dom", "es2017"], - "jsx": "react", - "strict": false, - "esModuleInterop": true, - "experimentalDecorators": true, - "emitDecoratorMetadata": true, - "noEmit": true, - "resolveJsonModule": true, - "skipLibCheck": true, - "baseUrl": ".", - "paths": { - "site/*": ["./site/*"] - } + "jsx": "react-jsx", + "jsxImportSource": "react", + "allowJs": true, + "checkJs": false, + "strictNullChecks": true } } diff --git a/typing.d.ts b/typing.d.ts deleted file mode 100644 index d1dc2b9b3..000000000 --- a/typing.d.ts +++ /dev/null @@ -1,32 +0,0 @@ -import type { useIntl, FormattedMessage, useLocale } from 'react-intl'; - -declare module 'dumi' { - export const useIntl: typeof useIntl; - export const FormattedMessage: typeof FormattedMessage; - export const useLocale: typeof useLocale; -} - -declare module '@antv/dumi-theme-antv' { - const exports: any; - export = exports; -} - -declare module '@antv/dumi-theme-antv/*' { - const exports: { - useChinaMirrorHost: any; - Header: any; - Footer: any; - [key: string]: any; - }; - export = exports; -} - -declare module '@antv/dumi-theme-antv/dist/common/SEO' { - const SEO: any; - export default SEO; -} - -declare module '@antv/dumi-theme-antv/dist/slots/Article' { - const Article: any; - export default Article; -}