├── .gitignore ├── 2.0.3 ├── README.md ├── build │ ├── animate │ │ ├── easing.js │ │ └── index.js │ ├── barchart │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── basechart │ │ ├── common.js │ │ └── index.js │ ├── dashboard │ │ ├── dashboard-ticks.js │ │ ├── index.js │ │ ├── pointer-pic.js │ │ └── pointer.js │ ├── datetime │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── icons │ │ └── index.js │ ├── legend │ │ └── index.js │ ├── linechart │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── mapchart │ │ ├── index.js │ │ ├── mapdata.js │ │ └── theme.js │ ├── piechart │ │ ├── index.js │ │ ├── label.js │ │ ├── sector.js │ │ └── util.js │ ├── radar │ │ └── index.js │ ├── raphael │ │ └── index.js │ ├── scatterchart │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── thermometer │ │ └── index.js │ ├── tip │ │ └── index.js │ └── tools │ │ ├── color │ │ └── index.js │ │ ├── graphtool │ │ └── index.js │ │ ├── htmlpaper │ │ └── index.js │ │ ├── template │ │ └── index.js │ │ └── touch │ │ └── index.js ├── changelog.md ├── demo │ ├── barchart │ │ ├── demo1.html │ │ ├── demo2.html │ │ ├── demo3.html │ │ ├── demo4.html │ │ ├── demo5.html │ │ └── demo6.html │ ├── dashboard │ │ ├── assets │ │ │ ├── bg1.png │ │ │ ├── bg2.png │ │ │ ├── pointer1.png │ │ │ └── pointer2.png │ │ ├── dashboard-half.html │ │ ├── dashboard-theme-red.html │ │ └── dashboard.html │ ├── datetime │ │ └── demo1.html │ ├── index.css │ ├── index.html │ ├── index.js │ ├── linechart │ │ ├── default.html │ │ ├── empty-data.html │ │ ├── large-data.html │ │ ├── no-points.html │ │ ├── width-areas.html │ │ └── width-mark.html │ ├── mapchart │ │ ├── demo1.html │ │ ├── demo2.html │ │ ├── demo3.html │ │ ├── demo4.html │ │ ├── demo5.html │ │ ├── demo6.html │ │ └── location.js │ ├── piechart │ │ ├── pie-auto-resize-donut.html │ │ ├── pie-auto-resize.html │ │ ├── pie-bs.html │ │ ├── pie-center-text.html │ │ ├── pie-donut.html │ │ ├── pie-nest-complex.html │ │ ├── pie-nest.html │ │ ├── pie-rerender.html │ │ ├── pie-simple.html │ │ └── pie-without-border.html │ ├── radar │ │ └── radar-rich-simple.html │ ├── scatterchart │ │ ├── demo1.html │ │ └── demo2.html │ └── thermometer │ │ └── demo.html ├── guide │ ├── barchart.md │ ├── dashboard.md │ ├── datetime.md │ ├── funnel.md │ ├── htmlpaper.md │ ├── index.md │ ├── legend.md │ ├── linechart.md │ ├── mapchart.md │ ├── piechart.md │ ├── pyramid.md │ ├── radar.md │ ├── ratiochart.md │ ├── scatterchart.md │ ├── tip.md │ └── trianglechart.md ├── gulpfile.js ├── package.json ├── src │ ├── animate │ │ ├── easing.js │ │ └── index.js │ ├── barchart │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── basechart │ │ ├── common.js │ │ └── index.js │ ├── dashboard │ │ ├── dashboard-ticks.js │ │ ├── index.js │ │ ├── pointer-pic.js │ │ └── pointer.js │ ├── datetime │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── icons │ │ └── index.js │ ├── legend │ │ └── index.js │ ├── linechart │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── mapchart │ │ ├── index.js │ │ ├── mapdata.js │ │ └── theme.js │ ├── piechart │ │ ├── index.js │ │ ├── label.js │ │ ├── sector.js │ │ └── util.js │ ├── radar │ │ └── index.js │ ├── raphael │ │ └── index.js │ ├── scatterchart │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── thermometer │ │ └── index.js │ ├── tip │ │ └── index.js │ └── tools │ │ ├── color │ │ └── index.js │ │ ├── graphtool │ │ └── index.js │ │ ├── htmlpaper │ │ └── index.js │ │ ├── template │ │ └── index.js │ │ └── touch │ │ └── index.js ├── test │ ├── barchart │ │ ├── gradient-bar.html │ │ └── zero.html │ ├── datetime │ │ ├── choose-range-data.js │ │ ├── choose-range.css │ │ ├── choose-range.html │ │ ├── choose-range.js │ │ ├── setdata.html │ │ └── theme.html │ ├── linechart │ │ ├── addchart.html │ │ ├── default.html │ │ ├── same-data.html │ │ ├── single-point.html │ │ ├── test2.html │ │ ├── test3.html │ │ ├── theme.html │ │ └── zcom.js │ ├── other │ │ ├── catmull-rom-test.html │ │ ├── getLinePath.html │ │ ├── grid.html │ │ ├── line-bar.html │ │ └── matrix.html │ ├── piechart │ │ └── autofix-label.html │ ├── runner.html │ ├── runner.js │ ├── scatterchart │ │ ├── bubble.html │ │ └── no-tip.html │ └── spec │ │ └── index-spec.js └── totoro-config.json ├── 5.0.1 ├── README.md ├── build │ ├── animate │ │ ├── easing.js │ │ └── index.js │ ├── barchart │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── basechart │ │ ├── common.js │ │ └── index.js │ ├── dashboard │ │ ├── dashboard-ticks.js │ │ ├── index.js │ │ ├── pointer-pic.js │ │ └── pointer.js │ ├── datetime │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── icons │ │ └── index.js │ ├── legend │ │ └── index.js │ ├── linechart │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── mapchart │ │ ├── index.js │ │ ├── mapdata.js │ │ └── theme.js │ ├── piechart │ │ ├── index.js │ │ ├── label.js │ │ ├── sector.js │ │ └── util.js │ ├── radar │ │ └── index.js │ ├── raphael │ │ └── index.js │ ├── scatterchart │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── thermometer │ │ └── index.js │ ├── tip │ │ └── index.js │ └── tools │ │ ├── color │ │ └── index.js │ │ ├── graphtool │ │ └── index.js │ │ ├── htmlpaper │ │ └── index.js │ │ ├── template │ │ └── index.js │ │ └── touch │ │ └── index.js ├── changelog.md ├── demo │ ├── barchart │ │ ├── demo1.html │ │ ├── demo2.html │ │ ├── demo3.html │ │ ├── demo4.html │ │ ├── demo5.html │ │ └── demo6.html │ ├── dashboard │ │ ├── assets │ │ │ ├── bg1.png │ │ │ ├── bg2.png │ │ │ ├── pointer1.png │ │ │ └── pointer2.png │ │ ├── dashboard-half.html │ │ ├── dashboard-theme-red.html │ │ └── dashboard.html │ ├── datetime │ │ └── demo1.html │ ├── index.css │ ├── index.html │ ├── index.js │ ├── linechart │ │ ├── default.html │ │ ├── empty-data.html │ │ ├── large-data.html │ │ ├── no-points.html │ │ ├── width-areas.html │ │ └── width-mark.html │ ├── mapchart │ │ ├── demo1.html │ │ ├── demo2.html │ │ ├── demo3.html │ │ ├── demo4.html │ │ ├── demo5.html │ │ ├── demo6.html │ │ └── location.js │ ├── piechart │ │ ├── pie-auto-resize-donut.html │ │ ├── pie-auto-resize.html │ │ ├── pie-bs.html │ │ ├── pie-center-text.html │ │ ├── pie-donut.html │ │ ├── pie-nest-complex.html │ │ ├── pie-nest.html │ │ ├── pie-rerender.html │ │ ├── pie-simple.html │ │ └── pie-without-border.html │ ├── radar │ │ └── radar-rich-simple.html │ ├── scatterchart │ │ ├── demo1.html │ │ └── demo2.html │ └── thermometer │ │ └── demo.html ├── guide │ ├── barchart.md │ ├── dashboard.md │ ├── datetime.md │ ├── funnel.md │ ├── htmlpaper.md │ ├── index.md │ ├── legend.md │ ├── linechart.md │ ├── mapchart.md │ ├── piechart.md │ ├── pyramid.md │ ├── radar.md │ ├── ratiochart.md │ ├── scatterchart.md │ ├── tip.md │ └── trianglechart.md ├── gulpfile.js ├── package.json ├── src │ ├── animate │ │ ├── easing.js │ │ └── index.js │ ├── barchart │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── basechart │ │ ├── common.js │ │ └── index.js │ ├── dashboard │ │ ├── dashboard-ticks.js │ │ ├── index.js │ │ ├── pointer-pic.js │ │ └── pointer.js │ ├── datetime │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── icons │ │ └── index.js │ ├── legend │ │ └── index.js │ ├── linechart │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── mapchart │ │ ├── index.js │ │ ├── mapdata.js │ │ └── theme.js │ ├── piechart │ │ ├── index.js │ │ ├── label.js │ │ ├── sector.js │ │ └── util.js │ ├── radar │ │ └── index.js │ ├── raphael │ │ └── index.js │ ├── scatterchart │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── thermometer │ │ └── index.js │ ├── tip │ │ └── index.js │ └── tools │ │ ├── color │ │ └── index.js │ │ ├── graphtool │ │ └── index.js │ │ ├── htmlpaper │ │ └── index.js │ │ ├── template │ │ └── index.js │ │ └── touch │ │ └── index.js ├── test │ ├── barchart │ │ └── zero.html │ ├── datetime │ │ ├── choose-range.html │ │ ├── setdata.html │ │ └── theme.html │ ├── linechart │ │ ├── addchart.html │ │ ├── default.html │ │ ├── same-data.html │ │ ├── single-point.html │ │ ├── test2.html │ │ ├── test3.html │ │ ├── theme.html │ │ └── zcom.js │ ├── other │ │ ├── catmull-rom-test.html │ │ ├── combine.html │ │ ├── getLinePath.html │ │ ├── grid.html │ │ ├── line-bar.html │ │ └── matrix.html │ ├── piechart │ │ └── autofix-label.html │ ├── runner.html │ ├── runner.js │ ├── scatterchart │ │ ├── bubble.html │ │ └── no-tip.html │ └── spec │ │ └── index-spec.js └── totoro-config.json ├── 6.0.0 ├── Gruntfile.js ├── README.md ├── build │ ├── animate │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ └── mods.js │ ├── barchart │ │ ├── cfg-min.js │ │ ├── cfg.js │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ ├── mods.js │ │ ├── theme-min.js │ │ └── theme.js │ ├── basechart │ │ ├── common-min.js │ │ ├── common.js │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ └── mods.js │ ├── dashboard │ │ ├── dashboard-ticks-min.js │ │ ├── dashboard-ticks.js │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ ├── mods.js │ │ ├── pointer-min.js │ │ ├── pointer-pic-min.js │ │ ├── pointer-pic.js │ │ └── pointer.js │ ├── datetime │ │ ├── cfg-min.js │ │ ├── cfg.js │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ ├── mods.js │ │ ├── theme-min.js │ │ └── theme.js │ ├── icons │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ └── mods.js │ ├── legend │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ └── mods.js │ ├── linechart │ │ ├── cfg-min.js │ │ ├── cfg.js │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ ├── mods.js │ │ ├── theme-min.js │ │ └── theme.js │ ├── mapchart │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mapdata-min.js │ │ ├── mapdata.js │ │ ├── mods-min.js │ │ ├── mods.js │ │ ├── theme-min.js │ │ └── theme.js │ ├── piechart │ │ ├── index-min.js │ │ ├── index.js │ │ ├── label-min.js │ │ ├── label.js │ │ ├── mods-min.js │ │ ├── mods.js │ │ ├── sector-min.js │ │ ├── sector.js │ │ ├── util-min.js │ │ └── util.js │ ├── radar │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ └── mods.js │ ├── raphael │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ └── mods.js │ ├── realtime │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ ├── mods.js │ │ ├── util-min.js │ │ └── util.js │ ├── scatterchart │ │ ├── cfg-min.js │ │ ├── cfg.js │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ ├── mods.js │ │ ├── theme-min.js │ │ └── theme.js │ ├── thermometer │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ └── mods.js │ ├── tip │ │ ├── assets │ │ │ ├── tip-min.css │ │ │ └── tip.css │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ └── mods.js │ └── tools │ │ ├── color │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ └── mods.js │ │ ├── graphtool │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ └── mods.js │ │ ├── htmlpaper │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ └── mods.js │ │ └── touch │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ └── mods.js ├── changelog.md ├── demo │ ├── barchart │ │ ├── demo1.html │ │ ├── demo2.html │ │ ├── demo3.html │ │ ├── demo4.html │ │ ├── demo5.html │ │ └── demo6.html │ ├── dashboard │ │ ├── assets │ │ │ ├── bg1.png │ │ │ ├── bg2.png │ │ │ ├── pointer1.png │ │ │ └── pointer2.png │ │ ├── dashboard-half.html │ │ ├── dashboard-theme-red.html │ │ └── dashboard.html │ ├── datetime │ │ └── demo1.html │ ├── index.css │ ├── index.html │ ├── index.js │ ├── linechart │ │ ├── default.html │ │ ├── empty-data.html │ │ ├── large-data.html │ │ ├── no-points.html │ │ ├── width-areas.html │ │ └── width-mark.html │ ├── mapchart │ │ ├── demo1.html │ │ ├── demo2.html │ │ ├── demo3.html │ │ ├── demo4.html │ │ ├── demo5.html │ │ └── location.js │ ├── piechart │ │ ├── pie-auto-resize-donut.html │ │ ├── pie-auto-resize.html │ │ ├── pie-bs.html │ │ ├── pie-center-text.html │ │ ├── pie-donut.html │ │ ├── pie-nest-complex.html │ │ ├── pie-nest.html │ │ ├── pie-rerender.html │ │ ├── pie-simple.html │ │ └── pie-without-border.html │ ├── radar │ │ └── radar-rich-simple.html │ ├── scatterchart │ │ ├── demo1.html │ │ └── demo2.html │ └── thermometer │ │ └── demo.html ├── examples │ ├── barchart │ │ ├── barchart-bi-dir.html │ │ ├── barchart-custom-bar-align-right-top.html │ │ ├── barchart-custom-bar-align-top-right.html │ │ ├── barchart-custom-bar.html │ │ ├── custom-xlabel.html │ │ └── horizonal-bar.html │ ├── icons │ │ ├── demo.html │ │ └── demo.js │ ├── legend │ │ ├── demo-2.html │ │ ├── demo.html │ │ └── demo.js │ ├── mapchart │ │ ├── map-chart.html │ │ ├── map-chart.js │ │ ├── map-marker.html │ │ └── test.js │ ├── piechart │ │ ├── kissy-1.3.0-1.4.0.html │ │ ├── label-custom-event.html │ │ ├── pie-all-eg.html │ │ ├── pie-all-eg.js │ │ ├── pie-all.html │ │ ├── pie-auto-resize-donut.html │ │ ├── pie-auto-resize.html │ │ ├── pie-autorender.html │ │ ├── pie-browser.html │ │ ├── pie-custom-label-2.html │ │ ├── pie-custom-label.html │ │ ├── pie-donut-bg.jpeg │ │ ├── pie-donut-with-bg.html │ │ ├── pie-donut.html │ │ ├── pie-event.html │ │ ├── pie-filter-data-bug.html │ │ ├── pie-filter-data.html │ │ ├── pie-gradient.html │ │ ├── pie-init-angle.html │ │ ├── pie-integrate-tip.html │ │ ├── pie-legend-dynamic-online.html │ │ ├── pie-legend-dynamic.html │ │ ├── pie-legend.html │ │ ├── pie-legend.js │ │ ├── pie-nest-complex.html │ │ ├── pie-nest-custom-label.html │ │ ├── pie-nest.html │ │ ├── pie-nest.js │ │ ├── pie-overdense-label.html │ │ ├── pie-render-many-times.html │ │ ├── pie-rerender.html │ │ ├── pie-simple.html │ │ ├── pie-template.html │ │ ├── pie-theme-setting.html │ │ ├── pie-title.html │ │ ├── pie-with-tip.html │ │ ├── pie-without-border.html │ │ ├── test.js │ │ ├── test_memory.html │ │ └── test_memory2.html │ ├── radar │ │ ├── radar-dynamic.html │ │ ├── radar-rich-dynamic.html │ │ ├── radar-rich-simple.html │ │ └── radar-simple.html │ └── realtime │ │ ├── data.php │ │ ├── data.php.bak │ │ ├── demo1.html │ │ ├── demo2.html │ │ ├── demo3.html │ │ ├── demo4.html │ │ ├── demo5.html │ │ ├── demo6.html │ │ ├── demo7.html │ │ ├── demo8.html │ │ ├── demo9.html │ │ └── template.html ├── guide │ ├── barchart.md │ ├── dashboard.md │ ├── datetime.md │ ├── funnel.md │ ├── htmlpaper.md │ ├── index.md │ ├── legend.md │ ├── linechart.md │ ├── mapchart.md │ ├── piechart.md │ ├── pyramid.md │ ├── radar.md │ ├── ratiochart.md │ ├── scatterchart.md │ ├── tip.md │ └── trianglechart.md ├── package.json ├── roadmap.md ├── src │ ├── animate │ │ └── index.js │ ├── barchart │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── basechart │ │ ├── common.js │ │ └── index.js │ ├── dashboard │ │ ├── dashboard-ticks.js │ │ ├── index.js │ │ ├── pointer-pic.js │ │ └── pointer.js │ ├── datetime │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── icons │ │ └── index.js │ ├── legend │ │ └── index.js │ ├── linechart │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── mapchart │ │ ├── index.js │ │ ├── mapdata.js │ │ └── theme.js │ ├── piechart │ │ ├── index.js │ │ ├── label.js │ │ ├── sector.js │ │ └── util.js │ ├── radar │ │ └── index.js │ ├── raphael │ │ └── index.js │ ├── realtime │ │ ├── index.js │ │ └── util.js │ ├── scatterchart │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── thermometer │ │ └── index.js │ ├── tip │ │ ├── assets │ │ │ ├── tip-min.css │ │ │ └── tip.css │ │ └── index.js │ └── tools │ │ ├── color │ │ └── index.js │ │ ├── graphtool │ │ └── index.js │ │ ├── htmlpaper │ │ └── index.js │ │ └── touch │ │ └── index.js ├── test │ ├── barchart │ │ ├── auto-barratio.html │ │ ├── firefox-tip-bug.html │ │ ├── no-tip.html │ │ ├── test1.html │ │ ├── test2.html │ │ ├── test3.html │ │ ├── test4.html │ │ └── zero.html │ ├── datetime │ │ ├── choose-range-data.js │ │ ├── choose-range.css │ │ ├── choose-range.html │ │ ├── choose-range.js │ │ ├── setdata.html │ │ └── test1.html │ ├── linechart │ │ ├── adapter.js │ │ ├── addchart.html │ │ ├── display-none.html │ │ ├── jquery-conflict.html │ │ ├── large-data.html │ │ ├── no-tip.html │ │ ├── point-template.html │ │ ├── same-data.html │ │ ├── single-point.html │ │ ├── single-point2.html │ │ ├── test2.html │ │ ├── test3.html │ │ ├── test4.html │ │ ├── test5.html │ │ ├── test6.html │ │ └── zcom.js │ ├── other │ │ ├── catmull-rom-test.html │ │ ├── getLinePath.html │ │ └── grid.html │ ├── piechart │ │ └── autofix-label.html │ ├── runner.html │ ├── runner.js │ ├── scatterchart │ │ ├── bubble.html │ │ ├── no-tip.html │ │ ├── test1.html │ │ └── test2.html │ └── spec │ │ └── index-spec.js └── totoro-config.json ├── 6.0.1 ├── Gruntfile.js ├── README.md ├── build │ ├── animate │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ └── mods.js │ ├── barchart │ │ ├── cfg-min.js │ │ ├── cfg.js │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ ├── mods.js │ │ ├── theme-min.js │ │ └── theme.js │ ├── basechart │ │ ├── common-min.js │ │ ├── common.js │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ └── mods.js │ ├── dashboard │ │ ├── dashboard-ticks-min.js │ │ ├── dashboard-ticks.js │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ ├── mods.js │ │ ├── pointer-min.js │ │ ├── pointer-pic-min.js │ │ ├── pointer-pic.js │ │ └── pointer.js │ ├── datetime │ │ ├── cfg-min.js │ │ ├── cfg.js │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ ├── mods.js │ │ ├── theme-min.js │ │ └── theme.js │ ├── icons │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ └── mods.js │ ├── legend │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ └── mods.js │ ├── linechart │ │ ├── cfg-min.js │ │ ├── cfg.js │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ ├── mods.js │ │ ├── theme-min.js │ │ └── theme.js │ ├── mapchart │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mapdata-min.js │ │ ├── mapdata.js │ │ ├── mods-min.js │ │ ├── mods.js │ │ ├── theme-min.js │ │ └── theme.js │ ├── piechart │ │ ├── index-min.js │ │ ├── index.js │ │ ├── label-min.js │ │ ├── label.js │ │ ├── mods-min.js │ │ ├── mods.js │ │ ├── sector-min.js │ │ ├── sector.js │ │ ├── util-min.js │ │ └── util.js │ ├── radar │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ └── mods.js │ ├── raphael │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ └── mods.js │ ├── realtime │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ ├── mods.js │ │ ├── util-min.js │ │ └── util.js │ ├── scatterchart │ │ ├── cfg-min.js │ │ ├── cfg.js │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ ├── mods.js │ │ ├── theme-min.js │ │ └── theme.js │ ├── template │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ └── mods.js │ ├── thermometer │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ └── mods.js │ ├── tip │ │ ├── assets │ │ │ ├── tip-min.css │ │ │ └── tip.css │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ └── mods.js │ └── tools │ │ ├── color │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ └── mods.js │ │ ├── graphtool │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ └── mods.js │ │ ├── htmlpaper │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ └── mods.js │ │ └── touch │ │ ├── index-min.js │ │ ├── index.js │ │ ├── mods-min.js │ │ └── mods.js ├── changelog.md ├── demo │ ├── barchart │ │ ├── demo1.html │ │ ├── demo2.html │ │ ├── demo3.html │ │ ├── demo4.html │ │ ├── demo5.html │ │ └── demo6.html │ ├── dashboard │ │ ├── assets │ │ │ ├── bg1.png │ │ │ ├── bg2.png │ │ │ ├── pointer1.png │ │ │ └── pointer2.png │ │ ├── dashboard-half.html │ │ ├── dashboard-theme-red.html │ │ └── dashboard.html │ ├── datetime │ │ └── demo1.html │ ├── index.css │ ├── index.html │ ├── index.js │ ├── linechart │ │ ├── default.html │ │ ├── empty-data.html │ │ ├── large-data.html │ │ ├── no-points.html │ │ ├── width-areas.html │ │ └── width-mark.html │ ├── mapchart │ │ ├── demo1.html │ │ ├── demo2.html │ │ ├── demo3.html │ │ ├── demo4.html │ │ ├── demo5.html │ │ └── location.js │ ├── piechart │ │ ├── pie-auto-resize-donut.html │ │ ├── pie-auto-resize.html │ │ ├── pie-bs.html │ │ ├── pie-center-text.html │ │ ├── pie-donut.html │ │ ├── pie-nest-complex.html │ │ ├── pie-nest.html │ │ ├── pie-rerender.html │ │ ├── pie-simple.html │ │ └── pie-without-border.html │ ├── radar │ │ └── radar-rich-simple.html │ ├── scatterchart │ │ ├── demo1.html │ │ └── demo2.html │ └── thermometer │ │ └── demo.html ├── examples │ ├── barchart │ │ ├── barchart-bi-dir.html │ │ ├── barchart-custom-bar-align-right-top.html │ │ ├── barchart-custom-bar-align-top-right.html │ │ ├── barchart-custom-bar.html │ │ ├── custom-xlabel.html │ │ └── horizonal-bar.html │ ├── icons │ │ ├── demo.html │ │ └── demo.js │ ├── legend │ │ ├── demo-2.html │ │ ├── demo.html │ │ └── demo.js │ ├── mapchart │ │ ├── map-chart.html │ │ ├── map-chart.js │ │ ├── map-marker.html │ │ └── test.js │ ├── piechart │ │ ├── kissy-1.3.0-1.4.0.html │ │ ├── label-custom-event.html │ │ ├── pie-all-eg.html │ │ ├── pie-all-eg.js │ │ ├── pie-all.html │ │ ├── pie-auto-resize-donut.html │ │ ├── pie-auto-resize.html │ │ ├── pie-autorender.html │ │ ├── pie-browser.html │ │ ├── pie-custom-label-2.html │ │ ├── pie-custom-label.html │ │ ├── pie-donut-bg.jpeg │ │ ├── pie-donut-with-bg.html │ │ ├── pie-donut.html │ │ ├── pie-event.html │ │ ├── pie-filter-data-bug.html │ │ ├── pie-filter-data.html │ │ ├── pie-gradient.html │ │ ├── pie-init-angle.html │ │ ├── pie-integrate-tip.html │ │ ├── pie-legend-dynamic-online.html │ │ ├── pie-legend-dynamic.html │ │ ├── pie-legend.html │ │ ├── pie-legend.js │ │ ├── pie-nest-complex.html │ │ ├── pie-nest-custom-label.html │ │ ├── pie-nest.html │ │ ├── pie-nest.js │ │ ├── pie-overdense-label.html │ │ ├── pie-render-many-times.html │ │ ├── pie-rerender.html │ │ ├── pie-simple.html │ │ ├── pie-template.html │ │ ├── pie-theme-setting.html │ │ ├── pie-title.html │ │ ├── pie-with-tip.html │ │ ├── pie-without-border.html │ │ ├── test.js │ │ ├── test_memory.html │ │ └── test_memory2.html │ ├── radar │ │ ├── radar-dynamic.html │ │ ├── radar-rich-dynamic.html │ │ ├── radar-rich-simple.html │ │ └── radar-simple.html │ └── realtime │ │ ├── data.php │ │ ├── data.php.bak │ │ ├── demo1.html │ │ ├── demo2.html │ │ ├── demo3.html │ │ ├── demo4.html │ │ ├── demo5.html │ │ ├── demo6.html │ │ ├── demo7.html │ │ ├── demo8.html │ │ ├── demo9.html │ │ └── template.html ├── guide │ ├── barchart.md │ ├── dashboard.md │ ├── datetime.md │ ├── funnel.md │ ├── htmlpaper.md │ ├── index.md │ ├── legend.md │ ├── linechart.md │ ├── mapchart.md │ ├── piechart.md │ ├── pyramid.md │ ├── radar.md │ ├── ratiochart.md │ ├── scatterchart.md │ ├── tip.md │ └── trianglechart.md ├── package.json ├── roadmap.md ├── src │ ├── animate │ │ └── index.js │ ├── barchart │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── basechart │ │ ├── common.js │ │ └── index.js │ ├── dashboard │ │ ├── dashboard-ticks.js │ │ ├── index.js │ │ ├── pointer-pic.js │ │ └── pointer.js │ ├── datetime │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── icons │ │ └── index.js │ ├── legend │ │ └── index.js │ ├── linechart │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── mapchart │ │ ├── index.js │ │ ├── mapdata.js │ │ └── theme.js │ ├── piechart │ │ ├── index.js │ │ ├── label.js │ │ ├── sector.js │ │ └── util.js │ ├── radar │ │ └── index.js │ ├── raphael │ │ └── index.js │ ├── realtime │ │ ├── index.js │ │ └── util.js │ ├── scatterchart │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── template │ │ └── index.js │ ├── thermometer │ │ └── index.js │ ├── tip │ │ ├── assets │ │ │ ├── tip-min.css │ │ │ └── tip.css │ │ └── index.js │ └── tools │ │ ├── color │ │ └── index.js │ │ ├── graphtool │ │ └── index.js │ │ ├── htmlpaper │ │ └── index.js │ │ └── touch │ │ └── index.js ├── test │ ├── barchart │ │ ├── auto-barratio.html │ │ ├── firefox-tip-bug.html │ │ ├── no-tip.html │ │ ├── test1.html │ │ ├── test2.html │ │ ├── test3.html │ │ ├── test4.html │ │ └── zero.html │ ├── datetime │ │ ├── choose-range-data.js │ │ ├── choose-range.css │ │ ├── choose-range.html │ │ ├── choose-range.js │ │ ├── setdata.html │ │ └── test1.html │ ├── linechart │ │ ├── adapter.js │ │ ├── addchart.html │ │ ├── display-none.html │ │ ├── jquery-conflict.html │ │ ├── large-data.html │ │ ├── no-tip.html │ │ ├── point-template.html │ │ ├── same-data.html │ │ ├── single-point.html │ │ ├── single-point2.html │ │ ├── test2.html │ │ ├── test3.html │ │ ├── test4.html │ │ ├── test5.html │ │ ├── test6.html │ │ └── zcom.js │ ├── other │ │ ├── catmull-rom-test.html │ │ ├── getLinePath.html │ │ └── grid.html │ ├── piechart │ │ └── autofix-label.html │ ├── runner.html │ ├── runner.js │ ├── scatterchart │ │ ├── bubble.html │ │ ├── no-tip.html │ │ ├── test1.html │ │ └── test2.html │ └── spec │ │ └── index-spec.js └── totoro-config.json ├── README.md ├── build ├── animate │ ├── easing.js │ └── index.js ├── barchart │ ├── cfg.js │ ├── index.js │ └── theme.js ├── basechart │ ├── common.js │ └── index.js ├── dashboard │ ├── dashboard-ticks.js │ ├── index.js │ ├── pointer-pic.js │ └── pointer.js ├── datetime │ ├── cfg.js │ ├── index.js │ └── theme.js ├── icons │ └── index.js ├── legend │ └── index.js ├── linechart │ ├── cfg.js │ ├── index.js │ └── theme.js ├── mapchart │ ├── index.js │ ├── mapdata.js │ └── theme.js ├── piechart │ ├── index.js │ ├── label.js │ ├── sector.js │ └── util.js ├── radar │ └── index.js ├── raphael │ └── index.js ├── scatterchart │ ├── cfg.js │ ├── index.js │ └── theme.js ├── thermometer │ └── index.js ├── tip │ └── index.js └── tools │ ├── color │ └── index.js │ ├── graphtool │ └── index.js │ ├── htmlpaper │ └── index.js │ ├── template │ └── index.js │ └── touch │ └── index.js ├── changelog.md ├── demo ├── barchart │ ├── demo1.html │ ├── demo2.html │ ├── demo3.html │ ├── demo4.html │ ├── demo5.html │ └── demo6.html ├── dashboard │ ├── assets │ │ ├── bg1.png │ │ ├── bg2.png │ │ ├── pointer1.png │ │ └── pointer2.png │ ├── dashboard-half.html │ ├── dashboard-theme-red.html │ └── dashboard.html ├── datetime │ └── demo1.html ├── index.css ├── index.html ├── index.js ├── linechart │ ├── default.html │ ├── empty-data.html │ ├── large-data.html │ ├── no-points.html │ ├── width-areas.html │ └── width-mark.html ├── mapchart │ ├── demo1.html │ ├── demo2.html │ ├── demo3.html │ ├── demo4.html │ ├── demo5.html │ ├── demo6.html │ └── location.js ├── piechart │ ├── pie-auto-resize-donut.html │ ├── pie-auto-resize.html │ ├── pie-bs.html │ ├── pie-center-text.html │ ├── pie-donut.html │ ├── pie-nest-complex.html │ ├── pie-nest.html │ ├── pie-rerender.html │ ├── pie-simple.html │ └── pie-without-border.html ├── radar │ └── radar-rich-simple.html ├── scatterchart │ ├── demo1.html │ └── demo2.html └── thermometer │ └── demo.html ├── doc ├── .gitignore ├── README.md ├── build │ ├── animate │ │ ├── easing.js │ │ └── index.js │ ├── barchart │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── basechart │ │ ├── common.js │ │ └── index.js │ ├── dashboard │ │ ├── dashboard-ticks.js │ │ ├── index.js │ │ ├── pointer-pic.js │ │ └── pointer.js │ ├── datetime │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── icons │ │ └── index.js │ ├── legend │ │ └── index.js │ ├── linechart │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── mapchart │ │ ├── index.js │ │ ├── mapdata.js │ │ └── theme.js │ ├── piechart │ │ ├── index.js │ │ ├── label.js │ │ ├── sector.js │ │ └── util.js │ ├── radar │ │ └── index.js │ ├── raphael │ │ └── index.js │ ├── scatterchart │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── thermometer │ │ └── index.js │ ├── tip │ │ └── index.js │ └── tools │ │ ├── color │ │ └── index.js │ │ ├── graphtool │ │ └── index.js │ │ ├── htmlpaper │ │ └── index.js │ │ ├── template │ │ └── index.js │ │ └── touch │ │ └── index.js ├── changelog.md ├── demo │ ├── barchart │ │ ├── demo1.html │ │ ├── demo2.html │ │ ├── demo3.html │ │ ├── demo4.html │ │ ├── demo5.html │ │ └── demo6.html │ ├── dashboard │ │ ├── assets │ │ │ ├── bg1.png │ │ │ ├── bg2.png │ │ │ ├── pointer1.png │ │ │ └── pointer2.png │ │ ├── dashboard-half.html │ │ ├── dashboard-theme-red.html │ │ └── dashboard.html │ ├── datetime │ │ └── demo1.html │ ├── index.css │ ├── index.html │ ├── index.js │ ├── linechart │ │ ├── default.html │ │ ├── empty-data.html │ │ ├── large-data.html │ │ ├── no-points.html │ │ ├── width-areas.html │ │ └── width-mark.html │ ├── mapchart │ │ ├── demo1.html │ │ ├── demo2.html │ │ ├── demo3.html │ │ ├── demo4.html │ │ ├── demo5.html │ │ ├── demo6.html │ │ └── location.js │ ├── piechart │ │ ├── pie-auto-resize-donut.html │ │ ├── pie-auto-resize.html │ │ ├── pie-bs.html │ │ ├── pie-center-text.html │ │ ├── pie-donut.html │ │ ├── pie-nest-complex.html │ │ ├── pie-nest.html │ │ ├── pie-rerender.html │ │ ├── pie-simple.html │ │ └── pie-without-border.html │ ├── radar │ │ └── radar-rich-simple.html │ ├── scatterchart │ │ ├── demo1.html │ │ └── demo2.html │ └── thermometer │ │ └── demo.html ├── guide │ ├── barchart.md │ ├── dashboard.md │ ├── datetime.md │ ├── funnel.md │ ├── htmlpaper.md │ ├── index.html │ ├── index.md │ ├── legend.md │ ├── linechart.md │ ├── mapchart.md │ ├── piechart.md │ ├── pyramid.md │ ├── radar.md │ ├── ratiochart.md │ ├── scatterchart.md │ ├── tip.md │ └── trianglechart.md ├── gulpfile.js ├── package.json ├── src │ ├── animate │ │ ├── easing.js │ │ └── index.js │ ├── barchart │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── basechart │ │ ├── common.js │ │ └── index.js │ ├── dashboard │ │ ├── dashboard-ticks.js │ │ ├── index.js │ │ ├── pointer-pic.js │ │ └── pointer.js │ ├── datetime │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── icons │ │ └── index.js │ ├── legend │ │ └── index.js │ ├── linechart │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── mapchart │ │ ├── index.js │ │ ├── mapdata.js │ │ └── theme.js │ ├── piechart │ │ ├── index.js │ │ ├── label.js │ │ ├── sector.js │ │ └── util.js │ ├── radar │ │ └── index.js │ ├── raphael │ │ └── index.js │ ├── scatterchart │ │ ├── cfg.js │ │ ├── index.js │ │ └── theme.js │ ├── thermometer │ │ └── index.js │ ├── tip │ │ └── index.js │ └── tools │ │ ├── color │ │ └── index.js │ │ ├── graphtool │ │ └── index.js │ │ ├── htmlpaper │ │ └── index.js │ │ ├── template │ │ └── index.js │ │ └── touch │ │ └── index.js ├── test │ ├── barchart │ │ └── zero.html │ ├── datetime │ │ ├── choose-range.html │ │ ├── setdata.html │ │ └── theme.html │ ├── linechart │ │ ├── addchart.html │ │ ├── default.html │ │ ├── same-data.html │ │ ├── single-point.html │ │ ├── test2.html │ │ ├── test3.html │ │ ├── theme.html │ │ └── zcom.js │ ├── other │ │ ├── catmull-rom-test.html │ │ ├── combine.html │ │ ├── getLinePath.html │ │ ├── grid.html │ │ ├── line-bar.html │ │ └── matrix.html │ ├── piechart │ │ └── autofix-label.html │ ├── runner.html │ ├── runner.js │ ├── scatterchart │ │ ├── bubble.html │ │ └── no-tip.html │ └── spec │ │ └── index-spec.js └── totoro-config.json ├── guide ├── barchart.md ├── dashboard.md ├── datetime.md ├── funnel.md ├── htmlpaper.md ├── index.md ├── legend.md ├── linechart.md ├── mapchart.md ├── piechart.md ├── pyramid.md ├── radar.md ├── ratiochart.md ├── scatterchart.md ├── tip.md └── trianglechart.md ├── gulpfile.js ├── package.json ├── src ├── animate │ ├── easing.js │ └── index.js ├── barchart │ ├── cfg.js │ ├── index.js │ └── theme.js ├── basechart │ ├── common.js │ └── index.js ├── dashboard │ ├── dashboard-ticks.js │ ├── index.js │ ├── pointer-pic.js │ └── pointer.js ├── datetime │ ├── cfg.js │ ├── index.js │ └── theme.js ├── icons │ └── index.js ├── legend │ └── index.js ├── linechart │ ├── cfg.js │ ├── index.js │ └── theme.js ├── mapchart │ ├── index.js │ ├── mapdata.js │ └── theme.js ├── piechart │ ├── index.js │ ├── label.js │ ├── sector.js │ └── util.js ├── radar │ └── index.js ├── raphael │ └── index.js ├── scatterchart │ ├── cfg.js │ ├── index.js │ └── theme.js ├── thermometer │ └── index.js ├── tip │ └── index.js └── tools │ ├── color │ └── index.js │ ├── graphtool │ └── index.js │ ├── htmlpaper │ └── index.js │ ├── template │ └── index.js │ └── touch │ └── index.js ├── test ├── barchart │ ├── gradient-bar.html │ └── zero.html ├── datetime │ ├── choose-range-data.js │ ├── choose-range.css │ ├── choose-range.html │ ├── choose-range.js │ ├── setdata.html │ └── theme.html ├── linechart │ ├── addchart.html │ ├── default.html │ ├── same-data.html │ ├── single-point.html │ ├── test2.html │ ├── test3.html │ ├── theme.html │ └── zcom.js ├── other │ ├── catmull-rom-test.html │ ├── getLinePath.html │ ├── grid.html │ ├── line-bar.html │ └── matrix.html ├── piechart │ └── autofix-label.html ├── runner.html ├── runner.js ├── scatterchart │ ├── bubble.html │ └── no-tip.html └── spec │ └── index-spec.js └── totoro-config.json /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | npm-debug.log 4 | *.swp 5 | .sw* 6 | .idea/* -------------------------------------------------------------------------------- /2.0.3/README.md: -------------------------------------------------------------------------------- 1 | ### ![Kcharts](http://img02.taobaocdn.com/tps/i2/T1TQygXEteXXXr6JI6-109-50.png) ### 2 | ##基于KISSY的图表集合 3 | * 包含业务常用图表类型 4 | * 底层基于raphael图形库 5 | * 采用html+css定制非矢量图形样式 6 | * 包含全面文档和在线图表生成器 7 | 8 | kcharts 首页: 9 | [http://kcharts.net](http://kcharts.net) 10 | 11 | ### 旺旺交流群 12 | - 818302516 13 | 14 | 15 | -------------------------------------------------------------------------------- /2.0.3/build/dashboard/pointer-pic.js: -------------------------------------------------------------------------------- 1 | define('kg/kcharts/5.0.0/dashboard/pointer-pic',["util","./pointer"],function(require, exports, module) { 2 | 3 | 4 | var Util = require('util'), 5 | Pointer = require('./pointer'); 6 | 7 | function PicturePointer(){ 8 | PicturePointer.superclass.constructor.apply(this,arguments) 9 | var pointer = this.get('pointer') 10 | , paper = this.get('paper') 11 | , dashboard = this.get('dashboard') 12 | , cx0 = this.get('cy') 13 | , cy0 = this.get('cx') 14 | , cx = dashboard.get('cx') 15 | , cy = dashboard.get('cy') 16 | 17 | this.pointer = pointer 18 | this.cx = cx0 19 | this.cy = cy0 20 | this.paperCx = cx 21 | this.paperCy = cy 22 | } 23 | 24 | Util.extend(PicturePointer,Pointer,{ 25 | pointTo:function(angle,effect){ 26 | var t = ['r',angle,this.paperCx,this.paperCy].join(',') 27 | if(effect){ 28 | this.pointer.animate({transform:t},effect.ms,effect.easing,effect.callback) 29 | }else{ 30 | this.pointer.transform(t) 31 | } 32 | return this 33 | } 34 | }) 35 | return PicturePointer 36 | }); -------------------------------------------------------------------------------- /2.0.3/build/tools/graphtool/index.js: -------------------------------------------------------------------------------- 1 | define('kg/kcharts/5.0.0/tools/graphtool/index',["util","kg/kcharts/5.0.0/raphael/index"],function(require, exports, module) { 2 | 3 | var Util = require("util"), 4 | Raphael = require("kg/kcharts/5.0.0/raphael/index"); 5 | var sqrt = Math.sqrt; 6 | var graphTool = {}; 7 | 8 | var triangle = function(paper,x,y,r,deg){ 9 | var path = [ 10 | "M" + [x,y-r].join(","), 11 | "L" + [x - r * sqrt(3)/2,y - 0 + r * 1/2].join(","), 12 | [x - 0 + r * sqrt(3)/2,y - 0 + r * 1/2].join(","), 13 | "Z" 14 | ].join(" "), 15 | el; 16 | 17 | if(paper && paper.path){ 18 | el = paper.path(path); 19 | 20 | el.rotate(deg,x,y); 21 | return el; 22 | } 23 | }; 24 | 25 | var rhomb = function(paper,x,y,w,h,deg){ 26 | var path = [ 27 | "M" + [x,y-h/2].join(","), 28 | "L" + [x - 0 + w/2,y].join(","), 29 | [x,y - 0 + h/2].join(","), 30 | [x - w/2,y].join(","), 31 | "Z" 32 | ].join(","), 33 | el; 34 | if(paper && paper.path){ 35 | el = paper.path(path); 36 | 37 | el.rotate(deg,x,y); 38 | return el; 39 | } 40 | }; 41 | 42 | var square = function(paper,x,y,w,h){ 43 | var path = [ 44 | ["M",x-w/2,",",y-h/2].join(""), 45 | [" L",x/1+w/2,",",y-h/2," v",h," h",-w,'z'].join("") 46 | ],el; 47 | if(paper && paper.path){ 48 | el = paper.path(path); 49 | return el; 50 | } 51 | } 52 | 53 | graphTool = Util.merge(graphTool,{ 54 | triangle:triangle, 55 | rhomb:rhomb, 56 | square:square 57 | }); 58 | 59 | return graphTool; 60 | }); -------------------------------------------------------------------------------- /2.0.3/changelog.md: -------------------------------------------------------------------------------- 1 | ### 升级注意事项 2 | - raphael 的svg为relative定位的,升级时需要改为absolute 3 | 4 | ### changelog 5 | - 2013-11-28 bugfix by 治修 6 | - 2013-10-25 升级raphael版本至2.1.2 7 | - 2013-07-15 饼图支持自适应容器 8 | - 2013-12-03 饼图bugfix by 玄道 9 | - 2013-12-18 对kissy1.4的支持 10 | 1. extend的使用方法变了需要做 [兼容性处理](https://gist.github.com/WeweTom/7822062) 11 | 2. 只提供了seed.js,默认是没有DOM,Event模块的,使用需要显示的requires这些模块。 12 | $.all依赖Node模块,需要显示的requires 13 | 14 | - 2014-05-29 修复继承与basechart的数据全零报错的bug by 伯才 15 | - 2014-05-29 修复了父容器display:none导致svg尺寸错误的bug by 伯才 16 | - 2014-07-29 修复了barClick事件不触发的bug 17 | - 2014-11-27 升级5.0.0 支持KISSY 5.0+ 18 | -------------------------------------------------------------------------------- /2.0.3/demo/dashboard/assets/bg1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/2.0.3/demo/dashboard/assets/bg1.png -------------------------------------------------------------------------------- /2.0.3/demo/dashboard/assets/bg2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/2.0.3/demo/dashboard/assets/bg2.png -------------------------------------------------------------------------------- /2.0.3/demo/dashboard/assets/pointer1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/2.0.3/demo/dashboard/assets/pointer1.png -------------------------------------------------------------------------------- /2.0.3/demo/dashboard/assets/pointer2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/2.0.3/demo/dashboard/assets/pointer2.png -------------------------------------------------------------------------------- /2.0.3/demo/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /2.0.3/demo/thermometer/demo.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 温度计 8 | 10 | 11 | 12 |
13 |
14 | 15 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /2.0.3/guide/dashboard.md: -------------------------------------------------------------------------------- 1 | # Demo 2 | [KCharts首页](http://www.kcharts.net) 3 | 4 | # properties 5 | 6 | ## renderTo 7 | 绘制到的dom容器 8 | 9 | ## width 10 | 11 | ## height 12 | 13 | ## ticks 14 | 刻度配置,仅对矢量的码表适用。示例配置: 15 | 16 | ``` 17 | ticks : { 18 | r1:85, //粗刻度的起始半径 19 | r2:90, //细刻度的起始半径 20 | R:95, //末半径 21 | start:0, //初始弧度 22 | end:Math.PI, //末弧度 23 | n:30, //分成的份数 24 | m:5, //粗线的规则 TODO:可以是函数 25 | thickStyle:{ // 粗刻度样式 26 | "stroke":'red' 27 | }, 28 | thinStyle:{ // 细刻度样式 29 | "stroke":'#666' 30 | } 31 | } 32 | ``` 33 | 34 | ## pointer 35 | 指针配置,进对矢量的码表适用,示例: 36 | 37 | ``` 38 | pointer:{ 39 | theme:{ 40 | name:'a', 41 | fill:'red', 42 | stroke:'#999', 43 | r:8, // 圆头半径 44 | R:80 // 指针半径 45 | } 46 | } 47 | ``` 48 | 49 | # method 50 | 51 | ## pointTo 52 | 指针指向某个度数 53 | -------------------------------------------------------------------------------- /2.0.3/guide/funnel.md: -------------------------------------------------------------------------------- 1 | # Funnel 2 | --- 3 | Demo 4 | --- 5 | 6 | [KCharts首页](http://www.kcharts.net) 7 | 8 | 9 | --- 10 | Config(详细配置) 11 | --- 12 | ### 13 | 14 | { id|HTMLElement } 容器 15 | 16 | ### chart 17 | { type } 声明组件的类型 18 | 19 | { marginRight } 漏斗距离整体容器的右边距 注:以右边距为基准,确定这个容器的宽度 20 | 21 | ### title 22 | 23 | { text } 标题 (默认居中) 24 | 25 | { color } 标题颜色 26 | 27 | ### plotOptions 28 | 29 | { dataLabels } tip模版 (以下是对应关系自动转化) 30 | 31 | - `title` { series.name } 32 | 33 | - `name` { series.data[0] } 34 | 35 | - `pointer` { series.data[1] } 36 | 37 | { neckWidth } 脖子的宽度(以百分比为单位) 38 | 39 | { neckStep } 脖子的间距(以PX为单位) 40 | 41 | { neckHeight } 脖子的高度(以百分比为单位,从上至下的高度的百分比) 42 | 43 | { background } 默认的漏斗的背景颜色(从上至下) 44 | 45 | { backgroundHover } 默认的漏斗的背景颜色鼠标hover(从上至下) 46 | 47 | ### series 48 | { name } 内容的标题 49 | 50 | { data } 数据 51 | 52 | -`data[0]` 数据标题 53 | 54 | -`data[1]` 数据数值 55 | 56 | 57 | --- 58 | Method(方法) 59 | --- 60 | 61 | ### _render(arry) 62 | 63 | 渲染图表 (arry 计算实际在画布高度的数组数据) 64 | 65 | ### set(attrConfigs,value) 66 | 67 | attrConfigs 支持 neckWidth,neckStep,neckHeight 的手动修改(如果改变其他的需要手动调用_rednderVal()) 68 | 69 | 70 | ### destroy() 71 | 72 | 清除画布上的所有内容(但不包括foot,如果要清除,需要手动,支持回掉) 73 | 74 | destroy(function(){ 75 | 76 | console.log('我已经清楚了所有的画布内容') 77 | 78 | }) 79 | 80 | --- 81 | Event(事件) 82 | --- 83 | 84 | ### pathClick 85 | 86 | 点击画布事件 87 | 88 | -------------------------------------------------------------------------------- /2.0.3/guide/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | 快速上手——以linechart为例 3 | --- 4 | 5 | ##KCharts首页 6 | - [KCharts 外网](http://kcharts.net) 7 | - [KCharts 内网](http://kcharts.taobao.net) 8 | 9 | 10 | ##组件文档 11 | 12 | ###core 13 | 14 | - [linechart 折线图](linechart.html) 15 | - [barchart 柱状图](barchart.html) 16 | - [piechart 饼图](piechart.html) 17 | - [scatterchart 散点图](scatterchart.html) 18 | - [mapchart 地图](mapchart.html) 19 | - [dashboard 油表](dashboard.html) 20 | - [radar 雷达图](radar.html) 21 | 22 | ###widget 23 | 24 | - [htmlpaper html画布](htmlpaper.html) 25 | - [legend 图例](legend.html) 26 | - [tip 移动标注](tip.html) 27 | 28 | -------------------------------------------------------------------------------- /2.0.3/guide/pyramid.md: -------------------------------------------------------------------------------- 1 | # Funnel 2 | --- 3 | Demo 4 | --- 5 | [pyramid](../demo/pyramid/demo1.html) 金字塔
6 | 7 | 8 | --- 9 | 代码示例 10 | --- 11 | ``` 12 | 13 | //载入Funnel 14 | KISSY.use('kg/kcharts/2.0.0/pyramid/index',function(S,Triangle){ 15 | //数据格式 16 | var data=[ 17 | { 18 | p:[0.75,'AAA','xxxx比'], 19 | d:[ 20 | [0.20,'T1'], 21 | [0.18,'T2'], 22 | [0.29,'T4'] 23 | ] 24 | }, 25 | { 26 | p:[0.25,'BBB','xxxx比'], 27 | d:[ 28 | [0.07,'T3'], 29 | [0.20,'T2'], 30 | [0.21,'T1'], 31 | [0.15,'B2'], 32 | [0.16,'B3'], 33 | [0.13,'B5'] 34 | ] 35 | } 36 | ]; 37 | //容器id 38 | //三角形宽度 39 | //数据 40 | //高亮显示,true:上面高亮,false:下面高亮 41 | var triangle=new Triangle(id,width,data,isRed,color1,color2); 42 | }); 43 | ``` 44 | 45 | --- 46 | Config(详细配置) 47 | --- 48 | ### 49 | 50 | { id } 容器 51 | 52 | { width } 三角形宽度 53 | 54 | {data} 数据源 55 | 56 | {isRed} 高亮显示部分,true:上面高亮,false:下面高亮 57 | 58 | {color1} 上半个的颜色,有默认值 59 | 60 | {color2} 下半个的颜色,有默认值 61 | 62 | 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /2.0.3/guide/radar.md: -------------------------------------------------------------------------------- 1 | # Radar 2 | --- 3 | Demo 4 | --- 5 | [KCharts首页](http://www.kcharts.net) 6 | 7 | # properties 8 | 9 | ## renderTo 10 | 渲染到的dom元素,比如#J_Radar 11 | 12 | ## width 13 | 雷达图宽度宽度,未设置的话,自适应 14 | 15 | ## height 16 | 雷达图宽度高度,未设置的话,自适应 17 | 18 | ## cx 19 | 中心点横坐标 20 | 21 | ## cy 22 | 中心点纵坐标 23 | 24 | ## r 25 | 雷达图半径 26 | 27 | ## max 28 | 最大值 29 | 30 | ## labels 31 | 雷达图标注 32 | 33 | ## scoreGroups 34 | 数据分组,格式为 35 | 36 | ``` 37 | [{title: "Real Madrid C.F.", scores: [ 8, 9, 7, 9, 7, 6]},{title: "FC Barcelona", scores: [ 10, 7, 10, 7, 6, 8]}] 38 | ``` 39 | 40 | 每个数据项可以进一步配置 41 | 42 | ``` 43 | { 44 | title: "Real Madrid C.F.", 45 | scores: [ 8, 9, 7, 9, 7, 6], 46 | draw_options: { 47 | lines: {'stroke-width':'4','stroke':'#0070bb','stroke-opacity':0.7,'fill':'#f7d2a8','fill-opacity':0.6}, 48 | points: {'fill':'#f05a23','stroke-width':'1.5','stroke':'#333', 'size': 6} 49 | } 50 | } 51 | ``` 52 | ## legend 53 | 标注配置,比如: 54 | 55 | ``` 56 | legend:{ 57 | globalConfig:{ 58 | iconsize:[2,2], 59 | icontype:"circle" 60 | } 61 | } 62 | ``` 63 | 64 | ## options 65 | 绘制选项 66 | 67 | 68 | # method 69 | 70 | ## render 71 | 绘制雷达图 72 | 73 | 74 | 75 | -------------------------------------------------------------------------------- /2.0.3/guide/tip.md: -------------------------------------------------------------------------------- 1 | # Tip 2 | 3 | --- 4 | Config(详细配置) 5 | --- 6 | ### rootNode 7 | { id|HTMLElement } 容器 默认为body 8 | 9 | ### clsName 10 | {string} 主题类名 默认"ks-chart-default" 可选"ks-chart-analytiks","ks-chart-analytiks" 也可自定义样式类名 11 | 12 | ### boundry 13 | {object} 边界 14 | 15 | - `x` { number } 水平距离 16 | - `y` { number } 垂直距离 17 | - `width` { number } 宽度 18 | - `height` { number } 高度 19 | 20 | ### tpl 21 | {string} 模版 参照KISSY/Template 22 | 23 | ### alignX 24 | {string} 水平对齐方式 可选"left","center","right" 默认"left" 25 | 26 | ### alignY 27 | {string} 垂直对齐方式 可选"top","middle","bottom" 默认"top" 28 | 29 | ### offset 30 | {object} 偏移量 31 | 32 | - `x` { number } 水平距离 33 | - `y` { number } 垂直距离 34 | 35 | ### anim 36 | {object} 动画配置 37 | 38 | - `easing` { string } 动画效果 默认"easeOut" 39 | - `duration` { number } 动画周期 默认0.25 40 | 41 | ### corner 42 | {object} 尖角 43 | 44 | - `isShow` { boolean } 是否显示 45 | - `tpl` { string } 模版 参照KISSY/Template 46 | - `css` { object } css样式 47 | 48 | 49 | --- 50 | Method(方法) 51 | --- 52 | 53 | ### show() 54 | 显示tip 55 | 56 | ### hide() 57 | 隐藏tip 58 | 59 | ### isVisable() 60 | tip是否可见,返回布尔值 61 | 62 | ### moveTo(x,y) 63 | 快速定位到相对于rootNode的位置 64 | 65 | ### animateTo(x,y) 66 | 移动到相对于rootNode的位置 67 | 68 | ### renderTemplate(tpl,data) 69 | 将tpl渲染data后填充tip内容 70 | 71 | ### setContent(content) 72 | 填充content至tip 73 | 74 | ### render() 75 | 渲染 76 | -------------------------------------------------------------------------------- /2.0.3/gulpfile.js: -------------------------------------------------------------------------------- 1 | var gulp = require('gulp'); 2 | var kmc = require('gulp-kmc'); 3 | var src = "./src", 4 | dest = "./build/"; 5 | 6 | kmc.config({ 7 | depFilePath: dest + 'mods-dep.js', //全局依赖文件关系,此处配置后下面的各个模块将不会再生成 8 | packages: [{ 9 | name: 'kg/kcharts/5.0.0/', 10 | // combine: true, 11 | base: './src/' 12 | }] 13 | }); 14 | 15 | 16 | 17 | gulp.task('kmc', function() { 18 | 19 | gulp.src(src + "/**/*.js") 20 | //转换cmd模块为kissy模块 21 | .pipe(kmc.convert({ 22 | seajs:true, 23 | fixModuleName:true, 24 | minify: true, //是否压缩 25 | //ext:"-min.js",//转换后文件扩展名,如果minify 为true则是压缩文件扩展名,同时也支持下面这种配置 26 | ext: { 27 | src: "-debug.js", //kissy1.5后添加debug参数会默认加载-debug.js 28 | min: ".js" 29 | }, 30 | exclude: [], //忽略该目录 31 | ignoreFiles: ['.combo.js', '-min.js'], //忽略该类文件 32 | })) 33 | //合并文件 34 | // .pipe(kmc.combo({ 35 | // minify: true, 36 | // ext: "-min.js", 37 | // files: [{ 38 | // // src: src + '/index.js', 39 | // // dest: dest + '/core.js' 40 | // }] 41 | // })) 42 | .pipe(gulp.dest(dest)); 43 | 44 | 45 | 46 | }); 47 | 48 | gulp.task('watch',function(){ 49 | gulp.watch('src/**/*.js', ['kmc']) 50 | }) 51 | 52 | gulp.task('default', ['kmc']); -------------------------------------------------------------------------------- /2.0.3/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "kcharts", 3 | "version": "5.0.0", 4 | "private": true, 5 | "devDependencies": { 6 | "gulp": "^3.8.8", 7 | "requirejs": "^2.1.15", 8 | "gulp-util": "^3.0.1", 9 | "gulp-concat-util": "^0.5.1", 10 | "amdclean": "^2.3.0", 11 | "gulp-kmc": "^1.0.22" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /2.0.3/src/dashboard/pointer-pic.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 指针 3 | * @author cookieu@gmail.com 4 | * */ 5 | define(function(require, exports, module) { 6 | 7 | var Util = require('util'), 8 | Pointer = require('./pointer'); 9 | 10 | function PicturePointer(){ 11 | PicturePointer.superclass.constructor.apply(this,arguments) 12 | var pointer = this.get('pointer') 13 | , paper = this.get('paper') 14 | , dashboard = this.get('dashboard') 15 | , cx0 = this.get('cy') 16 | , cy0 = this.get('cx') 17 | , cx = dashboard.get('cx') 18 | , cy = dashboard.get('cy') 19 | 20 | this.pointer = pointer 21 | this.cx = cx0 22 | this.cy = cy0 23 | this.paperCx = cx 24 | this.paperCy = cy 25 | } 26 | 27 | Util.extend(PicturePointer,Pointer,{ 28 | pointTo:function(angle,effect){ 29 | var t = ['r',angle,this.paperCx,this.paperCy].join(',') 30 | if(effect){ 31 | this.pointer.animate({transform:t},effect.ms,effect.easing,effect.callback) 32 | }else{ 33 | this.pointer.transform(t) 34 | } 35 | return this 36 | } 37 | }) 38 | return PicturePointer 39 | }); 40 | -------------------------------------------------------------------------------- /2.0.3/src/tools/graphtool/index.js: -------------------------------------------------------------------------------- 1 | //简单图形绘制的工具 2 | define(function(require,exports,module) { 3 | var Util = require("util"), 4 | Raphael = require("kg/kcharts/5.0.0/raphael/index"); 5 | var sqrt = Math.sqrt; 6 | var graphTool = {}; 7 | //等边三角形 8 | var triangle = function(paper,x,y,r,deg){ 9 | var path = [ 10 | "M" + [x,y-r].join(","), 11 | "L" + [x - r * sqrt(3)/2,y - 0 + r * 1/2].join(","), 12 | [x - 0 + r * sqrt(3)/2,y - 0 + r * 1/2].join(","), 13 | "Z" 14 | ].join(" "), 15 | el; 16 | 17 | if(paper && paper.path){ 18 | el = paper.path(path); 19 | // el.attr({cx:x,cy:y}); //伪造中心点 20 | el.rotate(deg,x,y); 21 | return el; 22 | } 23 | }; 24 | //菱形 25 | var rhomb = function(paper,x,y,w,h,deg){ 26 | var path = [ 27 | "M" + [x,y-h/2].join(","), 28 | "L" + [x - 0 + w/2,y].join(","), 29 | [x,y - 0 + h/2].join(","), 30 | [x - w/2,y].join(","), 31 | "Z" 32 | ].join(","), 33 | el; 34 | if(paper && paper.path){ 35 | el = paper.path(path); 36 | // el.attr({cx:x,cy:y}); //伪造中心点 37 | el.rotate(deg,x,y); 38 | return el; 39 | } 40 | }; 41 | 42 | var square = function(paper,x,y,w,h){ 43 | var path = [ 44 | ["M",x-w/2,",",y-h/2].join(""), 45 | [" L",x/1+w/2,",",y-h/2," v",h," h",-w,'z'].join("") 46 | ],el; 47 | if(paper && paper.path){ 48 | el = paper.path(path); 49 | return el; 50 | } 51 | } 52 | 53 | graphTool = Util.merge(graphTool,{ 54 | triangle:triangle, 55 | rhomb:rhomb, 56 | square:square 57 | }); 58 | 59 | return graphTool; 60 | }); -------------------------------------------------------------------------------- /2.0.3/test/datetime/choose-range.css: -------------------------------------------------------------------------------- 1 | .kc-range-inner{ 2 | position: absolute; 3 | width: 100%; 4 | height: 100%; 5 | z-index: 100; 6 | } 7 | .kc-range-inner .kc-range-block{ 8 | height: 100%; 9 | position: absolute; 10 | background: #fff; 11 | opacity: 0.8; 12 | } 13 | .kc-range-inner .kc-range-block-left{ 14 | border-top:1px solid #000; 15 | border-right:1px solid #000; 16 | } 17 | .kc-range-inner .kc-range-block-right{ 18 | border-top:1px solid #000; 19 | border-left:1px solid #000; 20 | } 21 | 22 | .kc-range-inner .kc-range-btn{ 23 | width:10px; 24 | height: 40px; 25 | position: absolute; 26 | } -------------------------------------------------------------------------------- /2.0.3/test/datetime/choose-range.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 大数据量线图的例子 6 | 7 | 49 | 50 | 51 |
52 |
53 |
54 |
55 | 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /2.0.3/test/other/catmull-rom-test.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | -------------------------------------------------------------------------------- /2.0.3/test/other/matrix.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 14 | 15 | 16 |
17 | 18 |
19 | 20 | 55 | 56 | -------------------------------------------------------------------------------- /2.0.3/test/runner.js: -------------------------------------------------------------------------------- 1 | KISSY.add(function(){ 2 | //在这里requires需要运行的用例文件 3 | },{requires:['test/spec/index-spec']}) -------------------------------------------------------------------------------- /2.0.3/test/spec/index-spec.js: -------------------------------------------------------------------------------- 1 | KISSY.add(function (S, Node,Demo) { 2 | var $ = Node.all; 3 | describe('kcharts', function () { 4 | it('Instantiation of components',function(){ 5 | var demo = new Demo(); 6 | expect(S.isObject(demo)).toBe(true); 7 | }) 8 | }); 9 | 10 | },{requires:['node','kg/kcharts/2.0.0//']}); -------------------------------------------------------------------------------- /2.0.3/totoro-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner":"./test/runner.html" 3 | } -------------------------------------------------------------------------------- /5.0.1/README.md: -------------------------------------------------------------------------------- 1 | ### ![Kcharts](http://img02.taobaocdn.com/tps/i2/T1TQygXEteXXXr6JI6-109-50.png) ### 2 | ##基于KISSY的图表集合 3 | * 包含业务常用图表类型 4 | * 底层基于raphael图形库 5 | * 采用html+css定制非矢量图形样式 6 | * 包含全面文档和在线图表生成器 7 | 8 | kcharts 首页: 9 | [http://kcharts.net](http://kcharts.net) 10 | 11 | ### 旺旺交流群 12 | - 818302516 13 | 14 | 15 | -------------------------------------------------------------------------------- /5.0.1/build/dashboard/pointer-pic.js: -------------------------------------------------------------------------------- 1 | define('kg/kcharts/5.0.1/dashboard/pointer-pic',["util","./pointer"],function(require, exports, module) { 2 | 3 | 4 | var Util = require('util'), 5 | Pointer = require('./pointer'); 6 | 7 | function PicturePointer(){ 8 | PicturePointer.superclass.constructor.apply(this,arguments) 9 | var pointer = this.get('pointer') 10 | , paper = this.get('paper') 11 | , dashboard = this.get('dashboard') 12 | , cx0 = this.get('cy') 13 | , cy0 = this.get('cx') 14 | , cx = dashboard.get('cx') 15 | , cy = dashboard.get('cy') 16 | 17 | this.pointer = pointer 18 | this.cx = cx0 19 | this.cy = cy0 20 | this.paperCx = cx 21 | this.paperCy = cy 22 | } 23 | 24 | Util.extend(PicturePointer,Pointer,{ 25 | pointTo:function(angle,effect){ 26 | var t = ['r',angle,this.paperCx,this.paperCy].join(',') 27 | if(effect){ 28 | this.pointer.animate({transform:t},effect.ms,effect.easing,effect.callback) 29 | }else{ 30 | this.pointer.transform(t) 31 | } 32 | return this 33 | } 34 | }) 35 | return PicturePointer 36 | }); -------------------------------------------------------------------------------- /5.0.1/build/tools/graphtool/index.js: -------------------------------------------------------------------------------- 1 | define('kg/kcharts/5.0.1/tools/graphtool/index',["util","kg/kcharts/5.0.1/raphael/index"],function(require, exports, module) { 2 | 3 | var Util = require("util"), 4 | Raphael = require("kg/kcharts/5.0.1/raphael/index"); 5 | var sqrt = Math.sqrt; 6 | var graphTool = {}; 7 | 8 | var triangle = function(paper,x,y,r,deg){ 9 | var path = [ 10 | "M" + [x,y-r].join(","), 11 | "L" + [x - r * sqrt(3)/2,y - 0 + r * 1/2].join(","), 12 | [x - 0 + r * sqrt(3)/2,y - 0 + r * 1/2].join(","), 13 | "Z" 14 | ].join(" "), 15 | el; 16 | 17 | if(paper && paper.path){ 18 | el = paper.path(path); 19 | 20 | el.rotate(deg,x,y); 21 | return el; 22 | } 23 | }; 24 | 25 | var rhomb = function(paper,x,y,w,h,deg){ 26 | var path = [ 27 | "M" + [x,y-h/2].join(","), 28 | "L" + [x - 0 + w/2,y].join(","), 29 | [x,y - 0 + h/2].join(","), 30 | [x - w/2,y].join(","), 31 | "Z" 32 | ].join(","), 33 | el; 34 | if(paper && paper.path){ 35 | el = paper.path(path); 36 | 37 | el.rotate(deg,x,y); 38 | return el; 39 | } 40 | }; 41 | 42 | var square = function(paper,x,y,w,h){ 43 | var path = [ 44 | ["M",x-w/2,",",y-h/2].join(""), 45 | [" L",x/1+w/2,",",y-h/2," v",h," h",-w,'z'].join("") 46 | ],el; 47 | if(paper && paper.path){ 48 | el = paper.path(path); 49 | return el; 50 | } 51 | } 52 | 53 | graphTool = Util.merge(graphTool,{ 54 | triangle:triangle, 55 | rhomb:rhomb, 56 | square:square 57 | }); 58 | 59 | return graphTool; 60 | }); -------------------------------------------------------------------------------- /5.0.1/changelog.md: -------------------------------------------------------------------------------- 1 | ### 升级注意事项 2 | - raphael 的svg为relative定位的,升级时需要改为absolute 3 | 4 | ### changelog 5 | - 2013-11-28 bugfix by 治修 6 | - 2013-10-25 升级raphael版本至2.1.2 7 | - 2013-07-15 饼图支持自适应容器 8 | - 2013-12-03 饼图bugfix by 玄道 9 | - 2013-12-18 对kissy1.4的支持 10 | 1. extend的使用方法变了需要做 [兼容性处理](https://gist.github.com/WeweTom/7822062) 11 | 2. 只提供了seed.js,默认是没有DOM,Event模块的,使用需要显示的requires这些模块。 12 | $.all依赖Node模块,需要显示的requires 13 | 14 | - 2014-05-29 修复继承与basechart的数据全零报错的bug by 伯才 15 | - 2014-05-29 修复了父容器display:none导致svg尺寸错误的bug by 伯才 16 | - 2014-07-29 修复了barClick事件不触发的bug 17 | - 2014-11-27 升级5.0.0 支持KISSY 5.0+ 18 | - 2015-01-14 升级5.0.1 解决combine出错的问题 19 | -------------------------------------------------------------------------------- /5.0.1/demo/dashboard/assets/bg1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/5.0.1/demo/dashboard/assets/bg1.png -------------------------------------------------------------------------------- /5.0.1/demo/dashboard/assets/bg2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/5.0.1/demo/dashboard/assets/bg2.png -------------------------------------------------------------------------------- /5.0.1/demo/dashboard/assets/pointer1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/5.0.1/demo/dashboard/assets/pointer1.png -------------------------------------------------------------------------------- /5.0.1/demo/dashboard/assets/pointer2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/5.0.1/demo/dashboard/assets/pointer2.png -------------------------------------------------------------------------------- /5.0.1/demo/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /5.0.1/demo/thermometer/demo.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 温度计 8 | 10 | 11 | 12 |
13 |
14 | 15 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /5.0.1/guide/dashboard.md: -------------------------------------------------------------------------------- 1 | # Demo 2 | [KCharts首页](http://www.kcharts.net) 3 | 4 | # properties 5 | 6 | ## renderTo 7 | 绘制到的dom容器 8 | 9 | ## width 10 | 11 | ## height 12 | 13 | ## ticks 14 | 刻度配置,仅对矢量的码表适用。示例配置: 15 | 16 | ``` 17 | ticks : { 18 | r1:85, //粗刻度的起始半径 19 | r2:90, //细刻度的起始半径 20 | R:95, //末半径 21 | start:0, //初始弧度 22 | end:Math.PI, //末弧度 23 | n:30, //分成的份数 24 | m:5, //粗线的规则 TODO:可以是函数 25 | thickStyle:{ // 粗刻度样式 26 | "stroke":'red' 27 | }, 28 | thinStyle:{ // 细刻度样式 29 | "stroke":'#666' 30 | } 31 | } 32 | ``` 33 | 34 | ## pointer 35 | 指针配置,进对矢量的码表适用,示例: 36 | 37 | ``` 38 | pointer:{ 39 | theme:{ 40 | name:'a', 41 | fill:'red', 42 | stroke:'#999', 43 | r:8, // 圆头半径 44 | R:80 // 指针半径 45 | } 46 | } 47 | ``` 48 | 49 | # method 50 | 51 | ## pointTo 52 | 指针指向某个度数 53 | -------------------------------------------------------------------------------- /5.0.1/guide/funnel.md: -------------------------------------------------------------------------------- 1 | # Funnel 2 | --- 3 | Demo 4 | --- 5 | 6 | [KCharts首页](http://www.kcharts.net) 7 | 8 | 9 | --- 10 | Config(详细配置) 11 | --- 12 | ### 13 | 14 | { id|HTMLElement } 容器 15 | 16 | ### chart 17 | { type } 声明组件的类型 18 | 19 | { marginRight } 漏斗距离整体容器的右边距 注:以右边距为基准,确定这个容器的宽度 20 | 21 | ### title 22 | 23 | { text } 标题 (默认居中) 24 | 25 | { color } 标题颜色 26 | 27 | ### plotOptions 28 | 29 | { dataLabels } tip模版 (以下是对应关系自动转化) 30 | 31 | - `title` { series.name } 32 | 33 | - `name` { series.data[0] } 34 | 35 | - `pointer` { series.data[1] } 36 | 37 | { neckWidth } 脖子的宽度(以百分比为单位) 38 | 39 | { neckStep } 脖子的间距(以PX为单位) 40 | 41 | { neckHeight } 脖子的高度(以百分比为单位,从上至下的高度的百分比) 42 | 43 | { background } 默认的漏斗的背景颜色(从上至下) 44 | 45 | { backgroundHover } 默认的漏斗的背景颜色鼠标hover(从上至下) 46 | 47 | ### series 48 | { name } 内容的标题 49 | 50 | { data } 数据 51 | 52 | -`data[0]` 数据标题 53 | 54 | -`data[1]` 数据数值 55 | 56 | 57 | --- 58 | Method(方法) 59 | --- 60 | 61 | ### _render(arry) 62 | 63 | 渲染图表 (arry 计算实际在画布高度的数组数据) 64 | 65 | ### set(attrConfigs,value) 66 | 67 | attrConfigs 支持 neckWidth,neckStep,neckHeight 的手动修改(如果改变其他的需要手动调用_rednderVal()) 68 | 69 | 70 | ### destroy() 71 | 72 | 清除画布上的所有内容(但不包括foot,如果要清除,需要手动,支持回掉) 73 | 74 | destroy(function(){ 75 | 76 | console.log('我已经清楚了所有的画布内容') 77 | 78 | }) 79 | 80 | --- 81 | Event(事件) 82 | --- 83 | 84 | ### pathClick 85 | 86 | 点击画布事件 87 | 88 | -------------------------------------------------------------------------------- /5.0.1/guide/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | 快速上手——以linechart为例 3 | --- 4 | 5 | ##KCharts首页 6 | - [KCharts 外网](http://kcharts.net) 7 | - [KCharts 内网](http://kcharts.taobao.net) 8 | 9 | 10 | ##组件文档 11 | 12 | ###core 13 | 14 | - [linechart 折线图](linechart.html) 15 | - [barchart 柱状图](barchart.html) 16 | - [piechart 饼图](piechart.html) 17 | - [scatterchart 散点图](scatterchart.html) 18 | - [mapchart 地图](mapchart.html) 19 | - [dashboard 油表](dashboard.html) 20 | - [radar 雷达图](radar.html) 21 | 22 | ###widget 23 | 24 | - [htmlpaper html画布](htmlpaper.html) 25 | - [legend 图例](legend.html) 26 | - [tip 移动标注](tip.html) 27 | 28 | -------------------------------------------------------------------------------- /5.0.1/guide/pyramid.md: -------------------------------------------------------------------------------- 1 | # Funnel 2 | --- 3 | Demo 4 | --- 5 | [pyramid](../demo/pyramid/demo1.html) 金字塔
6 | 7 | 8 | --- 9 | 代码示例 10 | --- 11 | ``` 12 | 13 | //载入Funnel 14 | KISSY.use('kg/kcharts/2.0.0/pyramid/index',function(S,Triangle){ 15 | //数据格式 16 | var data=[ 17 | { 18 | p:[0.75,'AAA','xxxx比'], 19 | d:[ 20 | [0.20,'T1'], 21 | [0.18,'T2'], 22 | [0.29,'T4'] 23 | ] 24 | }, 25 | { 26 | p:[0.25,'BBB','xxxx比'], 27 | d:[ 28 | [0.07,'T3'], 29 | [0.20,'T2'], 30 | [0.21,'T1'], 31 | [0.15,'B2'], 32 | [0.16,'B3'], 33 | [0.13,'B5'] 34 | ] 35 | } 36 | ]; 37 | //容器id 38 | //三角形宽度 39 | //数据 40 | //高亮显示,true:上面高亮,false:下面高亮 41 | var triangle=new Triangle(id,width,data,isRed,color1,color2); 42 | }); 43 | ``` 44 | 45 | --- 46 | Config(详细配置) 47 | --- 48 | ### 49 | 50 | { id } 容器 51 | 52 | { width } 三角形宽度 53 | 54 | {data} 数据源 55 | 56 | {isRed} 高亮显示部分,true:上面高亮,false:下面高亮 57 | 58 | {color1} 上半个的颜色,有默认值 59 | 60 | {color2} 下半个的颜色,有默认值 61 | 62 | 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /5.0.1/guide/radar.md: -------------------------------------------------------------------------------- 1 | # Radar 2 | --- 3 | Demo 4 | --- 5 | [KCharts首页](http://www.kcharts.net) 6 | 7 | # properties 8 | 9 | ## renderTo 10 | 渲染到的dom元素,比如#J_Radar 11 | 12 | ## width 13 | 雷达图宽度宽度,未设置的话,自适应 14 | 15 | ## height 16 | 雷达图宽度高度,未设置的话,自适应 17 | 18 | ## cx 19 | 中心点横坐标 20 | 21 | ## cy 22 | 中心点纵坐标 23 | 24 | ## r 25 | 雷达图半径 26 | 27 | ## max 28 | 最大值 29 | 30 | ## labels 31 | 雷达图标注 32 | 33 | ## scoreGroups 34 | 数据分组,格式为 35 | 36 | ``` 37 | [{title: "Real Madrid C.F.", scores: [ 8, 9, 7, 9, 7, 6]},{title: "FC Barcelona", scores: [ 10, 7, 10, 7, 6, 8]}] 38 | ``` 39 | 40 | 每个数据项可以进一步配置 41 | 42 | ``` 43 | { 44 | title: "Real Madrid C.F.", 45 | scores: [ 8, 9, 7, 9, 7, 6], 46 | draw_options: { 47 | lines: {'stroke-width':'4','stroke':'#0070bb','stroke-opacity':0.7,'fill':'#f7d2a8','fill-opacity':0.6}, 48 | points: {'fill':'#f05a23','stroke-width':'1.5','stroke':'#333', 'size': 6} 49 | } 50 | } 51 | ``` 52 | ## legend 53 | 标注配置,比如: 54 | 55 | ``` 56 | legend:{ 57 | globalConfig:{ 58 | iconsize:[2,2], 59 | icontype:"circle" 60 | } 61 | } 62 | ``` 63 | 64 | ## options 65 | 绘制选项 66 | 67 | 68 | # method 69 | 70 | ## render 71 | 绘制雷达图 72 | 73 | 74 | 75 | -------------------------------------------------------------------------------- /5.0.1/guide/tip.md: -------------------------------------------------------------------------------- 1 | # Tip 2 | 3 | --- 4 | Config(详细配置) 5 | --- 6 | ### rootNode 7 | { id|HTMLElement } 容器 默认为body 8 | 9 | ### clsName 10 | {string} 主题类名 默认"ks-chart-default" 可选"ks-chart-analytiks","ks-chart-analytiks" 也可自定义样式类名 11 | 12 | ### boundry 13 | {object} 边界 14 | 15 | - `x` { number } 水平距离 16 | - `y` { number } 垂直距离 17 | - `width` { number } 宽度 18 | - `height` { number } 高度 19 | 20 | ### tpl 21 | {string} 模版 参照KISSY/Template 22 | 23 | ### alignX 24 | {string} 水平对齐方式 可选"left","center","right" 默认"left" 25 | 26 | ### alignY 27 | {string} 垂直对齐方式 可选"top","middle","bottom" 默认"top" 28 | 29 | ### offset 30 | {object} 偏移量 31 | 32 | - `x` { number } 水平距离 33 | - `y` { number } 垂直距离 34 | 35 | ### anim 36 | {object} 动画配置 37 | 38 | - `easing` { string } 动画效果 默认"easeOut" 39 | - `duration` { number } 动画周期 默认0.25 40 | 41 | ### corner 42 | {object} 尖角 43 | 44 | - `isShow` { boolean } 是否显示 45 | - `tpl` { string } 模版 参照KISSY/Template 46 | - `css` { object } css样式 47 | 48 | 49 | --- 50 | Method(方法) 51 | --- 52 | 53 | ### show() 54 | 显示tip 55 | 56 | ### hide() 57 | 隐藏tip 58 | 59 | ### isVisable() 60 | tip是否可见,返回布尔值 61 | 62 | ### moveTo(x,y) 63 | 快速定位到相对于rootNode的位置 64 | 65 | ### animateTo(x,y) 66 | 移动到相对于rootNode的位置 67 | 68 | ### renderTemplate(tpl,data) 69 | 将tpl渲染data后填充tip内容 70 | 71 | ### setContent(content) 72 | 填充content至tip 73 | 74 | ### render() 75 | 渲染 76 | -------------------------------------------------------------------------------- /5.0.1/gulpfile.js: -------------------------------------------------------------------------------- 1 | var gulp = require('gulp'); 2 | var kmc = require('gulp-kmc'); 3 | var src = "./src", 4 | dest = "./build/"; 5 | 6 | kmc.config({ 7 | depFilePath: dest + 'mods-dep.js', //全局依赖文件关系,此处配置后下面的各个模块将不会再生成 8 | packages: [{ 9 | name: 'kg/kcharts/5.0.1/', 10 | // combine: true, 11 | base: './src/' 12 | }] 13 | }); 14 | 15 | 16 | 17 | gulp.task('kmc', function() { 18 | 19 | gulp.src(src + "/**/*.js") 20 | //转换cmd模块为kissy模块 21 | .pipe(kmc.convert({ 22 | seajs:true, 23 | fixModuleName:true, 24 | minify: true, //是否压缩 25 | //ext:"-min.js",//转换后文件扩展名,如果minify 为true则是压缩文件扩展名,同时也支持下面这种配置 26 | ext: { 27 | src: "-debug.js", //kissy1.5后添加debug参数会默认加载-debug.js 28 | min: ".js" 29 | }, 30 | exclude: [], //忽略该目录 31 | ignoreFiles: ['.combo.js', '-min.js'], //忽略该类文件 32 | })) 33 | //合并文件 34 | // .pipe(kmc.combo({ 35 | // minify: true, 36 | // ext: "-min.js", 37 | // files: [{ 38 | // // src: src + '/index.js', 39 | // // dest: dest + '/core.js' 40 | // }] 41 | // })) 42 | .pipe(gulp.dest(dest)); 43 | 44 | 45 | 46 | }); 47 | 48 | gulp.task('watch',function(){ 49 | gulp.watch('src/**/*.js', ['kmc']) 50 | }) 51 | 52 | gulp.task('default', ['kmc']); -------------------------------------------------------------------------------- /5.0.1/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "kcharts", 3 | "version": "5.0.1", 4 | "private": true, 5 | "devDependencies": { 6 | "gulp": "^3.8.8", 7 | "requirejs": "^2.1.15", 8 | "gulp-util": "^3.0.1", 9 | "gulp-concat-util": "^0.5.1", 10 | "amdclean": "^2.3.0", 11 | "gulp-kmc": "^1.0.22" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /5.0.1/src/dashboard/pointer-pic.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 指针 3 | * @author cookieu@gmail.com 4 | * */ 5 | define(function(require, exports, module) { 6 | 7 | var Util = require('util'), 8 | Pointer = require('./pointer'); 9 | 10 | function PicturePointer(){ 11 | PicturePointer.superclass.constructor.apply(this,arguments) 12 | var pointer = this.get('pointer') 13 | , paper = this.get('paper') 14 | , dashboard = this.get('dashboard') 15 | , cx0 = this.get('cy') 16 | , cy0 = this.get('cx') 17 | , cx = dashboard.get('cx') 18 | , cy = dashboard.get('cy') 19 | 20 | this.pointer = pointer 21 | this.cx = cx0 22 | this.cy = cy0 23 | this.paperCx = cx 24 | this.paperCy = cy 25 | } 26 | 27 | Util.extend(PicturePointer,Pointer,{ 28 | pointTo:function(angle,effect){ 29 | var t = ['r',angle,this.paperCx,this.paperCy].join(',') 30 | if(effect){ 31 | this.pointer.animate({transform:t},effect.ms,effect.easing,effect.callback) 32 | }else{ 33 | this.pointer.transform(t) 34 | } 35 | return this 36 | } 37 | }) 38 | return PicturePointer 39 | }); 40 | -------------------------------------------------------------------------------- /5.0.1/src/tools/graphtool/index.js: -------------------------------------------------------------------------------- 1 | //简单图形绘制的工具 2 | define(function(require,exports,module) { 3 | var Util = require("util"), 4 | Raphael = require("kg/kcharts/5.0.1/raphael/index"); 5 | var sqrt = Math.sqrt; 6 | var graphTool = {}; 7 | //等边三角形 8 | var triangle = function(paper,x,y,r,deg){ 9 | var path = [ 10 | "M" + [x,y-r].join(","), 11 | "L" + [x - r * sqrt(3)/2,y - 0 + r * 1/2].join(","), 12 | [x - 0 + r * sqrt(3)/2,y - 0 + r * 1/2].join(","), 13 | "Z" 14 | ].join(" "), 15 | el; 16 | 17 | if(paper && paper.path){ 18 | el = paper.path(path); 19 | // el.attr({cx:x,cy:y}); //伪造中心点 20 | el.rotate(deg,x,y); 21 | return el; 22 | } 23 | }; 24 | //菱形 25 | var rhomb = function(paper,x,y,w,h,deg){ 26 | var path = [ 27 | "M" + [x,y-h/2].join(","), 28 | "L" + [x - 0 + w/2,y].join(","), 29 | [x,y - 0 + h/2].join(","), 30 | [x - w/2,y].join(","), 31 | "Z" 32 | ].join(","), 33 | el; 34 | if(paper && paper.path){ 35 | el = paper.path(path); 36 | // el.attr({cx:x,cy:y}); //伪造中心点 37 | el.rotate(deg,x,y); 38 | return el; 39 | } 40 | }; 41 | 42 | var square = function(paper,x,y,w,h){ 43 | var path = [ 44 | ["M",x-w/2,",",y-h/2].join(""), 45 | [" L",x/1+w/2,",",y-h/2," v",h," h",-w,'z'].join("") 46 | ],el; 47 | if(paper && paper.path){ 48 | el = paper.path(path); 49 | return el; 50 | } 51 | } 52 | 53 | graphTool = Util.merge(graphTool,{ 54 | triangle:triangle, 55 | rhomb:rhomb, 56 | square:square 57 | }); 58 | 59 | return graphTool; 60 | }); -------------------------------------------------------------------------------- /5.0.1/test/barchart/zero.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | A Simple BarChart 6 | 7 | 14 | 15 | 16 |
17 | 18 |
19 | 20 | 32 | 33 | -------------------------------------------------------------------------------- /5.0.1/test/other/catmull-rom-test.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | -------------------------------------------------------------------------------- /5.0.1/test/other/combine.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /5.0.1/test/other/matrix.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 14 | 15 | 16 |
17 | 18 |
19 | 20 | 55 | 56 | -------------------------------------------------------------------------------- /5.0.1/test/runner.js: -------------------------------------------------------------------------------- 1 | KISSY.add(function(){ 2 | //在这里requires需要运行的用例文件 3 | },{requires:['test/spec/index-spec']}) -------------------------------------------------------------------------------- /5.0.1/test/spec/index-spec.js: -------------------------------------------------------------------------------- 1 | KISSY.add(function (S, Node,Demo) { 2 | var $ = Node.all; 3 | describe('kcharts', function () { 4 | it('Instantiation of components',function(){ 5 | var demo = new Demo(); 6 | expect(S.isObject(demo)).toBe(true); 7 | }) 8 | }); 9 | 10 | },{requires:['node','kg/kcharts/2.0.0//']}); -------------------------------------------------------------------------------- /5.0.1/totoro-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner":"./test/runner.html" 3 | } -------------------------------------------------------------------------------- /6.0.0/README.md: -------------------------------------------------------------------------------- 1 | ### ![Kcharts](http://img02.taobaocdn.com/tps/i2/T1TQygXEteXXXr6JI6-109-50.png) ### 2 | ##基于KISSY的图表集合 3 | * 包含业务常用图表类型 4 | * 底层基于raphael图形库 5 | * 采用html+css定制非矢量图形样式 6 | * 包含全面文档和在线图表生成器 7 | 8 | kcharts 首页: 9 | [http://kcharts.net](http://kcharts.net) 10 | 11 | ### 旺旺交流群 12 | - 818302516 13 | 14 | 15 | -------------------------------------------------------------------------------- /6.0.0/build/animate/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | KISSY.config("modules",{"kg/kcharts/6.0.0/animate/index":{requires:["anim"]}}); -------------------------------------------------------------------------------- /6.0.0/build/animate/mods.js: -------------------------------------------------------------------------------- 1 | KISSY.config('modules', { 2 | 'kg/kcharts/6.0.0/animate/index': { requires: ['anim']} 3 | }); -------------------------------------------------------------------------------- /6.0.0/build/barchart/cfg-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | KISSY.add("kg/kcharts/6.0.0/barchart/cfg",function(a){var b="ks-chart-",c=b+"default",d="{COLOR}";return{themeCls:c,autoRender:!0,colors:[],stackable:!1,title:{content:"",css:{"text-align":"center","font-size":"16px"},isShow:!0},subTitle:{content:"",css:{"text-align":"center","font-size":"12px"},isShow:!0},xLabels:{isShow:!0,css:{color:"#666","font-size":"12px","white-space":"nowrap",position:"absolute"}},yLabels:{isShow:!0,css:{color:"#666","font-size":"12px","white-space":"nowrap",position:"absolute"}},xAxis:{isShow:!0,css:{color:"#eee",zIndex:10},min:0},yAxis:{isShow:!0,css:{zIndex:10},num:5,min:0},xGrids:{isShow:!0,css:{}},yGrids:{isShow:!0,css:{}},areas:{isShow:!0,css:{}},bars:{isShow:!0,attr:{fill:d,"stroke-width":"0"},barsRatio:.6,barRatio:.5},legend:{isShow:!1},tip:{isShow:!0,template:"",css:{},anim:{easing:"easeOut",duration:.3},offset:{x:0,y:0},boundryDetect:!0,alignX:"right",alignY:"bottom"}}}); -------------------------------------------------------------------------------- /6.0.0/build/barchart/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | -------------------------------------------------------------------------------- /6.0.0/build/barchart/mods.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.0/build/barchart/mods.js -------------------------------------------------------------------------------- /6.0.0/build/barchart/theme-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | KISSY.add("kg/kcharts/6.0.0/barchart/theme",function(a){var b={"ks-chart-default":{title:{content:"",css:{"text-align":"center","font-size":"16px","font-weight":"bold",color:"#666"},isShow:!0},subTitle:{content:"",css:{"text-align":"center","font-size":"12px",color:"#666"},isShow:!0},xGrids:{css:{color:"#eee"}},yGrids:{css:{color:"#eee"}},yAxis:{css:{color:"#ccc"}},xAxis:{css:{color:"#ccc"}},xLabels:{css:{color:"#666","font-size":"12px"}},yLabels:{css:{color:"#666","font-size":"12px"}}},"ks-chart-analytiks":{title:{content:"",css:{"text-align":"center","font-size":"16px","font-weight":"bold",color:"#666"},isShow:!0},subTitle:{content:"",css:{"text-align":"center","font-size":"12px",color:"#666"},isShow:!0},xGrids:{css:{color:"#eee"}},yGrids:{css:{color:"#eee"}},yAxis:{css:{color:"#ccc"}},xAxis:{css:{color:"#ccc"}},xLabels:{css:{color:"#666","font-size":"12px"}},yLabels:{css:{color:"#666","font-size":"12px"}}},"ks-chart-rainbow":{title:{content:"",css:{"text-align":"center","font-size":"16px","font-weight":"bold",color:"#666"},isShow:!0},subTitle:{content:"",css:{"text-align":"center","font-size":"12px",color:"#666"},isShow:!0},xGrids:{css:{color:"#eee"}},yGrids:{css:{color:"#eee"}},yAxis:{css:{color:"#ccc"}},xAxis:{css:{color:"#ccc"}},xLabels:{css:{color:"#666","font-size":"12px"}},yLabels:{css:{color:"#666","font-size":"12px"}}}};return b}); -------------------------------------------------------------------------------- /6.0.0/build/basechart/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | KISSY.config("modules",{"kg/kcharts/6.0.0/basechart/index":{requires:["base","node"]}}); -------------------------------------------------------------------------------- /6.0.0/build/basechart/mods.js: -------------------------------------------------------------------------------- 1 | KISSY.config('modules', { 2 | 'kg/kcharts/6.0.0/basechart/index': { requires: ['base', 'node']} 3 | }); -------------------------------------------------------------------------------- /6.0.0/build/dashboard/dashboard-ticks-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | KISSY.add("kg/kcharts/6.0.0/dashboard/dashboard-ticks",function(a,b){var c,d={initializer:function(){var b,c,d,e,f,g,h,i,j,k,l,m,n=this.get("cfg"),o=n.r1||100,p=n.r2||105,q=n.R||110,r=this.get("dashboard"),s=this.get("paper"),t=r.get("cx"),u=r.get("cy"),v=[],w="";d=n.start||0,e=n.end||2*Math.PI,b=n.n||60,c=n.m,d-=Math.PI,e-=Math.PI,f=e-d,g=f/b;for(var x=0;b>=x;x+=1)if(!c||x%c!=0){var y=d+x*g;h=Math.cos(y),i=Math.sin(y),j=t+p*h,k=u+p*i,l=t+q*h,m=u+q*i,v.push("M",j,k,"L",l,m)}w=v.join(",");var z=s.path(w),A={};if(a.mix(A,n.thinStyle,!0,["stroke-width","stroke"]),z.attr(A),c){for(var B=[],C=0;b>=C;C+=c){var y=d+C*g;h=Math.cos(y),i=Math.sin(y),j=t+o*h,k=u+o*i,l=t+q*h,m=u+q*i,B.push("M",j,k,"L",l,m)}w=B.join(",");var D=s.path(w),E={"stroke-width":2};a.mix(E,n.thickStyle,!0,["stroke-width","stroke"]),D.attr(E)}}};return b.extend?c=b.extend(d):(c=function(a){this.set(a),this.userConfig=a,this.initializer()},a.extend(c,b,d)),c},{requires:["base"]}); -------------------------------------------------------------------------------- /6.0.0/build/dashboard/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | KISSY.config("modules",{"kg/kcharts/6.0.0/dashboard/pointer":{requires:["base"]}}); -------------------------------------------------------------------------------- /6.0.0/build/dashboard/mods.js: -------------------------------------------------------------------------------- 1 | KISSY.config('modules', { 2 | 'kg/kcharts/6.0.0/dashboard/pointer': { requires: ['base']} 3 | }); -------------------------------------------------------------------------------- /6.0.0/build/dashboard/pointer-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | KISSY.add("kg/kcharts/6.0.0/dashboard/pointer",function(a,b){function c(b,c,d,e,f,g){var h,i,j,k,l,m,n=Math.asin(e/f);g=a.mix({fill:"#000",stroke:"#000"},g,!0,["stroke","stroke-width","fill"]),h=c,i=d-f;var o=e*Math.cos(n);j=c+o,k=d-e*e/f,l=c-o,m=d-e*e/f;var p=["M",h,i,"L",j,k,"A",e,e,0,1,1,l,m,"Z"],q=b.path(p.join(","));return q.attr(g),q}var d,e={pointTo:function(a,b){var d=this.get("paper"),e=this,f=this.get("dashboard"),g=f.get("cx"),h=f.get("cy"),i=f.get("pointer")||{},j=i.cx||0,k=i.cy||0,l=g+j,m=h+k,n=(f.get("width"),f.get("height"),{a:function(f){var g=["r",a-90,l,m].join(",");e.pointer||(e.pointer=c(d,l,m,f.r||5,f.R||80,f)),a&&e.pointer.animate({transform:g},b.ms,b.easing,b.callback)},b:function(){}}),o=i.theme&&i.theme.name&&n[i.theme.name]||n.a;o&&o(i.theme)}};b.extend?d=b.extend(e):(d=function(a){this.set(a),this.userConfig=a},a.extend(d,b,e));return d},{requires:["base"]}); -------------------------------------------------------------------------------- /6.0.0/build/dashboard/pointer-pic-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | KISSY.add("kg/kcharts/6.0.0/dashboard/pointer",function(a,b){function c(b,c,d,e,f,g){var h,i,j,k,l,m,n=Math.asin(e/f);g=a.mix({fill:"#000",stroke:"#000"},g,!0,["stroke","stroke-width","fill"]),h=c,i=d-f;var o=e*Math.cos(n);j=c+o,k=d-e*e/f,l=c-o,m=d-e*e/f;var p=["M",h,i,"L",j,k,"A",e,e,0,1,1,l,m,"Z"],q=b.path(p.join(","));return q.attr(g),q}var d,e={pointTo:function(a,b){var d=this.get("paper"),e=this,f=this.get("dashboard"),g=f.get("cx"),h=f.get("cy"),i=f.get("pointer")||{},j=i.cx||0,k=i.cy||0,l=g+j,m=h+k,n=(f.get("width"),f.get("height"),{a:function(f){var g=["r",a-90,l,m].join(",");e.pointer||(e.pointer=c(d,l,m,f.r||5,f.R||80,f)),a&&e.pointer.animate({transform:g},b.ms,b.easing,b.callback)},b:function(){}}),o=i.theme&&i.theme.name&&n[i.theme.name]||n.a;o&&o(i.theme)}};b.extend?d=b.extend(e):(d=function(a){this.set(a),this.userConfig=a},a.extend(d,b,e));return d},{requires:["base"]}),KISSY.add("kg/kcharts/6.0.0/dashboard/pointer-pic",function(a,b){function c(){c.superclass.constructor.apply(this,arguments);var a=this.get("pointer"),b=(this.get("paper"),this.get("dashboard")),d=this.get("cy"),e=this.get("cx"),f=b.get("cx"),g=b.get("cy");this.pointer=a,this.cx=d,this.cy=e,this.paperCx=f,this.paperCy=g}return a.extend(c,b,{pointTo:function(a,b){var c=["r",a,this.paperCx,this.paperCy].join(",");return b?this.pointer.animate({transform:c},b.ms,b.easing,b.callback):this.pointer.transform(c),this}}),c},{requires:["./pointer"]}); -------------------------------------------------------------------------------- /6.0.0/build/datetime/cfg-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | KISSY.add("kg/kcharts/6.0.0/datetime/cfg",function(a){var b="ks-chart-",c=b+"default",d="{COLOR}";return{themeCls:c,autoRender:!0,comparable:!1,lineType:"straight",colors:[],title:{content:"",css:{"text-align":"center","font-size":"16px"},isShow:!0},subTitle:{content:"",css:{"text-align":"center","font-size":"12px"},isShow:!0},points:{isShow:!1,attr:{type:"circle",stroke:"#fff",r:0,"stroke-width":1.5,fill:d},hoverAttr:{type:"circle",stroke:"#fff",r:3,fill:d,"stroke-width":1}},xLabels:{isShow:!0,css:{color:"#666","font-size":"12px","white-space":"nowrap",position:"absolute"}},yLabels:{isShow:!0,css:{color:"#666","font-size":"12px","white-space":"nowrap",position:"absolute"}},xAxis:{isShow:!0,css:{zIndex:10}},yAxis:{isShow:!0,css:{zIndex:10},num:5},xGrids:{isShow:!1,css:{}},yGrids:{isShow:!0,css:{}},areas:{isShow:!0,attr:{fill:"90-#fff-"+d,"stroke-width":0,opacity:.5}},line:{isShow:!0,attr:{"stroke-width":"3px"},hoverAttr:{"stroke-width":"4px"}},pointLine:{isShow:!1,css:{}},legend:{isShow:!1},tip:{isShow:!0,clsName:"",template:"",css:{},offset:{x:0,y:0},boundryDetect:!0}}}); -------------------------------------------------------------------------------- /6.0.0/build/datetime/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | -------------------------------------------------------------------------------- /6.0.0/build/datetime/mods.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.0/build/datetime/mods.js -------------------------------------------------------------------------------- /6.0.0/build/datetime/theme-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | KISSY.add("kg/kcharts/6.0.0/datetime/theme",function(a){var b="{COLOR}",c={"ks-chart-default":{lineType:"arc",anim:!1,title:{content:"",css:{"text-align":"center","font-size":"16px","font-weight":"bold",color:"#666"},isShow:!0},subTitle:{content:"",css:{"text-align":"center","font-size":"12px",color:"#666"},isShow:!0},line:{attr:{"stroke-width":1},hoverAttr:{"stroke-width":1}},points:{isShow:!1,attr:{type:"circle",stroke:"#fff",r:0,"stroke-width":1.5,fill:b},hoverAttr:{type:"circle",stroke:"#fff",r:5,fill:b,"stroke-width":0}},xGrids:{isShow:!1,css:{color:"#eee"}},yGrids:{css:{color:"#eee"}},yAxis:{isShow:!1,css:{color:"#000"}},xAxis:{css:{color:"#000"}},xLabels:{css:{color:"#666","font-size":"12px"}},yLabels:{css:{color:"#666","font-size":"12px",marginLeft:-10}},pointLine:{css:{color:"#aaa"}},tip:{css:{border:"1px solid {COLOR}"},alignX:"right",css:{"border-color":"{COLOR}"},offset:{y:-10,x:-10}}}};return c}); -------------------------------------------------------------------------------- /6.0.0/build/icons/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | -------------------------------------------------------------------------------- /6.0.0/build/icons/mods.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.0/build/icons/mods.js -------------------------------------------------------------------------------- /6.0.0/build/legend/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | KISSY.config("modules",{"kg/kcharts/6.0.0/legend/index":{requires:["base","node","dom","event","kg/kcharts/6.0.0/icons/index","kg/kcharts/6.0.0/animate/index","kg/kcharts/6.0.0/raphael/index"]}}); -------------------------------------------------------------------------------- /6.0.0/build/legend/mods.js: -------------------------------------------------------------------------------- 1 | KISSY.config('modules', { 2 | 'kg/kcharts/6.0.0/legend/index': { requires: ['base', 'node', 'dom', 'event', 'kg/kcharts/6.0.0/icons/index', 'kg/kcharts/6.0.0/animate/index', 'kg/kcharts/6.0.0/raphael/index']} 3 | }); -------------------------------------------------------------------------------- /6.0.0/build/linechart/cfg-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | KISSY.add("kg/kcharts/6.0.0/linechart/cfg",function(a){var b="ks-chart-",c=b+"default",d="{COLOR}";return{themeCls:c,autoRender:!0,comparable:!1,lineType:"straight",colors:[],title:{content:"",css:{"text-align":"center","font-size":"16px"},isShow:!0},subTitle:{content:"",css:{"text-align":"center","font-size":"12px"},isShow:!0},points:{isShow:!0,attr:{type:"circle",stroke:"#fff",r:4,"stroke-width":1.5,fill:d},hoverAttr:{type:"circle",stroke:"#fff",r:5,fill:d,"stroke-width":0}},xLabels:{isShow:!0,css:{color:"#666","font-size":"12px","white-space":"nowrap",position:"absolute"}},yLabels:{isShow:!0,css:{color:"#666","font-size":"12px","white-space":"nowrap",position:"absolute"}},xAxis:{isShow:!0,css:{zIndex:10}},yAxis:{isShow:!0,css:{zIndex:10},num:5},xGrids:{isShow:!0,css:{}},yGrids:{isShow:!0,css:{}},areas:{isShow:!1,attr:{fill:"90-#fff-"+d,"stroke-width":0,opacity:.5}},line:{isShow:!0,attr:{"stroke-width":"3px"},hoverAttr:{"stroke-width":"4px"}},pointLine:{isShow:!1,css:{}},legend:{isShow:!1},tip:{isShow:!0,clsName:"",template:"",css:{},offset:{x:0,y:0},boundryDetect:!0}}}); -------------------------------------------------------------------------------- /6.0.0/build/linechart/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | -------------------------------------------------------------------------------- /6.0.0/build/linechart/mods.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.0/build/linechart/mods.js -------------------------------------------------------------------------------- /6.0.0/build/mapchart/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | -------------------------------------------------------------------------------- /6.0.0/build/mapchart/mods.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.0/build/mapchart/mods.js -------------------------------------------------------------------------------- /6.0.0/build/mapchart/theme-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | KISSY.add("kg/kcharts/6.0.0/mapchart/theme",function(a){return{"ks-chart-default":{title:{css:{"text-align":"center","font-size":"16px","font-weight":"bold",color:"#666",margin:"5px"}},area:{attr:{fill:"#f0efeb",stroke:"#fff"},hoverAttr:{fill:"#add3ee",stroke:"#fff"}},areaText:{css:{"font-size":"12px",color:"#000","font-weight":"normal",display:"block",cursor:"pointer"},hoverCss:{}},tip:{css:{padding:"5px 15px",border:"2px solid {COLOR}","border-radius":"6px","background-color":"#fff","font-size":"14px"}}},"ks-chart-orange":{title:{css:{"text-align":"center","font-size":"16px","font-weight":"bold",color:"#666",margin:"5px"}},area:{attr:{fill:"#FF8E58",stroke:"#fff","stroke-width":1,"stroke-linejoin":"round"},hoverAttr:{fill:"#B9A66B",cursor:"pointer"}},areaText:{css:{"font-size":"10px",color:"#000","font-weight":"normal",display:"block",cursor:"pointer"},hoverCss:{}},tip:{css:{border:"2px solid #000",backgroundColor:"#fff",fontSize:"12px",padding:"5px"}}}}}); -------------------------------------------------------------------------------- /6.0.0/build/piechart/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | KISSY.config("modules",{"kg/kcharts/6.0.0/piechart/util":{requires:["kg/kcharts/6.0.0/piechart/sector","kg/kcharts/6.0.0/tools/color/index","kg/kcharts/6.0.0/raphael/index"]}}); -------------------------------------------------------------------------------- /6.0.0/build/piechart/mods.js: -------------------------------------------------------------------------------- 1 | KISSY.config('modules', { 2 | 'kg/kcharts/6.0.0/piechart/util': { requires: ['kg/kcharts/6.0.0/piechart/sector', 'kg/kcharts/6.0.0/tools/color/index', 'kg/kcharts/6.0.0/raphael/index']} 3 | }); -------------------------------------------------------------------------------- /6.0.0/build/radar/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | KISSY.config("modules",{"kg/kcharts/6.0.0/radar/index":{requires:["base","kg/kcharts/6.0.0/raphael/index","dom","event","kg/kcharts/6.0.0/legend/index"]}}); -------------------------------------------------------------------------------- /6.0.0/build/radar/mods.js: -------------------------------------------------------------------------------- 1 | KISSY.config('modules', { 2 | 'kg/kcharts/6.0.0/radar/index': { requires: ['base', 'kg/kcharts/6.0.0/raphael/index', 'dom', 'event', 'kg/kcharts/6.0.0/legend/index']} 3 | }); -------------------------------------------------------------------------------- /6.0.0/build/raphael/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | -------------------------------------------------------------------------------- /6.0.0/build/raphael/mods.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.0/build/raphael/mods.js -------------------------------------------------------------------------------- /6.0.0/build/realtime/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | -------------------------------------------------------------------------------- /6.0.0/build/realtime/mods.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.0/build/realtime/mods.js -------------------------------------------------------------------------------- /6.0.0/build/scatterchart/cfg-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | KISSY.add("kg/kcharts/6.0.0/scatterchart/cfg",function(a){var b="ks-chart-",c=b+"default",d="{COLOR}";return{themeCls:c,autoRender:!0,title:{content:"",css:{"text-align":"center","font-size":"16px"},isShow:!0},colors:[],subTitle:{content:"",css:{"text-align":"center","font-size":"12px"},isShow:!0},points:{attr:{stroke:"#fff",r:4,"stroke-width":0,fill:d,opacity:.6},hoverAttr:{stroke:"#fff",r:5,fill:d,"stroke-width":0,opacity:1}},legend:{isShow:!1},xLabels:{isShow:!0,css:{color:"#666","font-size":"12px","white-space":"nowrap",position:"absolute"}},yLabels:{isShow:!0,css:{color:"#666","font-size":"12px","white-space":"nowrap",position:"absolute"}},xAxis:{isShow:!0,css:{zIndex:10}},yAxis:{isShow:!0,css:{zIndex:10},num:5},xGrids:{isShow:!0,css:{}},yGrids:{isShow:!0,css:{}},tip:{isShow:!0,clsName:"",template:"",css:{},offset:{x:0,y:0},boundryDetect:!0}}}); -------------------------------------------------------------------------------- /6.0.0/build/scatterchart/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | -------------------------------------------------------------------------------- /6.0.0/build/scatterchart/mods.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.0/build/scatterchart/mods.js -------------------------------------------------------------------------------- /6.0.0/build/thermometer/index-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | KISSY.add("kg/kcharts/6.0.0/thermometer/index",function(a,b){function c(c){this.set(c);var d,e=a.get(c.renderTo);if(!e)throw Error("\u5bb9\u5668\u4e0d\u80fd\u4e3a\u7a7a");d=b(e,c.width,c.height),this.set("paper",d);var f=d.path("M 11 1 a 10 10 0 0 1 -10 10 l 0 218 a 10 10 0 0 1 10 10 l 58 0 a 10 10 0 0 1 10 -10 l 0 -218 a 10 10 0 0 1 -10 -10z");f.attr("fill","#F4A460");var g=d.path("M 34 181 l 0 -151 a 5 5 0 1 1 12 0 l 0 151z");g.attr("stroke-width","0"),g.attr("fill","0-#feaa66:50-#ddd:70-#f5a561:100");var h=30,i=d.rect(35,180-h,10,h);i.attr("stroke-width","0"),i.attr("fill","0-#f00:50-#fdd:75-#f00:100");var j=d.circle(40,200,20);j.attr("stroke-width","0"),j.attr("fill","r(0.75,0.25)#ffffff-#ff0000");for(var k=0;150>=k;k+=15){var l=180-k;d.path("M 47 "+l+" l 10 0z"),d.text(65,l,k/1.5)}}return a.extend(c,a.Base),c},{requires:["kg/kcharts/6.0.0/raphael/index"]}); -------------------------------------------------------------------------------- /6.0.0/build/thermometer/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | KISSY.config("modules",{"kg/kcharts/6.0.0/thermometer/index":{requires:["kg/kcharts/6.0.0/raphael/index"]}}); -------------------------------------------------------------------------------- /6.0.0/build/thermometer/mods.js: -------------------------------------------------------------------------------- 1 | KISSY.config('modules', { 2 | 'kg/kcharts/6.0.0/thermometer/index': { requires: ['kg/kcharts/6.0.0/raphael/index']} 3 | }); -------------------------------------------------------------------------------- /6.0.0/build/tip/assets/tip-min.css: -------------------------------------------------------------------------------- 1 | .ks-chart-default-tip,.ks-chart-analytiks-tip,.ks-chart-rainbow-tip{background:#fff;filter:alpha(opacity=90);-moz-opacity:.9;-khtml-opacity:.9;opacity:.9;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;padding:10px;color:#666;font-family:Microsoft Yahei;z-index:10;font-size:12px;font-weight:bolder;-webkit-box-shadow:2px 2px 2px 2px #ccc;-moz-box-shadow:2px 2px 2px 2px #ccc;box-shadow:2px 2px 2px 2px #ccc}.ks-chart-default-tip span,.ks-chart-analytiks-tip span,.ks-chart-rainbow-tip span{font-weight:400} -------------------------------------------------------------------------------- /6.0.0/build/tip/assets/tip.css: -------------------------------------------------------------------------------- 1 | .ks-chart-default-tip,.ks-chart-analytiks-tip,.ks-chart-rainbow-tip{ 2 | background: #fff; 3 | filter:alpha(opacity =90); 4 | -moz-opacity:0.9 ; 5 | -khtml-opacity: 0.9; 6 | opacity: 0.9; 7 | -moz-border-radius: 10px; 8 | -webkit-border-radius: 10px; 9 | border-radius:10px; 10 | padding:10px; 11 | color:#666; 12 | font-family: Microsoft Yahei; 13 | z-index: 10; 14 | font-size: 12px; 15 | font-weight: bolder; 16 | -webkit-box-shadow:2px 2px 2px 2px #ccc; 17 | -moz-box-shadow:2px 2px 2px 2px #ccc; 18 | box-shadow:2px 2px 2px 2px #ccc; 19 | } 20 | .ks-chart-default-tip span,.ks-chart-analytiks-tip span,.ks-chart-rainbow-tip span{ 21 | font-weight: normal; 22 | } 23 | 24 | -------------------------------------------------------------------------------- /6.0.0/build/tip/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | KISSY.config("modules",{"kg/kcharts/6.0.0/tip/index":{requires:["node","base","anim","kg/kcharts/6.0.0/tip/assets/tip.css"]}}); -------------------------------------------------------------------------------- /6.0.0/build/tip/mods.js: -------------------------------------------------------------------------------- 1 | KISSY.config('modules', { 2 | 'kg/kcharts/6.0.0/tip/index': { requires: ['node', 'base', 'anim', 'kg/kcharts/6.0.0/tip/assets/tip.css']} 3 | }); -------------------------------------------------------------------------------- /6.0.0/build/tools/color/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | -------------------------------------------------------------------------------- /6.0.0/build/tools/color/mods.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.0/build/tools/color/mods.js -------------------------------------------------------------------------------- /6.0.0/build/tools/graphtool/index-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | KISSY.add("kg/kcharts/6.0.0/tools/graphtool/index",function(a,b){var c=Math.sqrt,d={},e=function(a,b,d,e,f){var g,h=["M"+[b,d-e].join(","),"L"+[b-e*c(3)/2,d-0+1*e/2].join(","),[b-0+e*c(3)/2,d-0+1*e/2].join(","),"Z"].join(" ");return a&&a.path?(g=a.path(h),g.rotate(f,b,d),g):void 0},f=function(a,b,c,d,e,f){var g,h=["M"+[b,c-e/2].join(","),"L"+[b-0+d/2,c].join(","),[b,c-0+e/2].join(","),[b-d/2,c].join(","),"Z"].join(",");return a&&a.path?(g=a.path(h),g.rotate(f,b,c),g):void 0},g=function(a,b,c,d,e){var f,g=[["M",b-d/2,",",c-e/2].join(""),[" L",b/1+d/2,",",c-e/2," v",e," h",-d,"z"].join("")];return a&&a.path?f=a.path(g):void 0};return d=a.merge(d,{triangle:e,rhomb:f,square:g})},{requires:["kg/kcharts/6.0.0/raphael/index"]}); -------------------------------------------------------------------------------- /6.0.0/build/tools/graphtool/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | KISSY.config("modules",{"kg/kcharts/6.0.0/tools/graphtool/index":{requires:["kg/kcharts/6.0.0/raphael/index"]}}); -------------------------------------------------------------------------------- /6.0.0/build/tools/graphtool/mods.js: -------------------------------------------------------------------------------- 1 | KISSY.config('modules', { 2 | 'kg/kcharts/6.0.0/tools/graphtool/index': { requires: ['kg/kcharts/6.0.0/raphael/index']} 3 | }); -------------------------------------------------------------------------------- /6.0.0/build/tools/htmlpaper/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | -------------------------------------------------------------------------------- /6.0.0/build/tools/htmlpaper/mods.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.0/build/tools/htmlpaper/mods.js -------------------------------------------------------------------------------- /6.0.0/build/tools/touch/index-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | KISSY.add("kg/kcharts/6.0.0/tools/touch/index",function(a){function b(a,b){if(!(a.touches.length>1)){var c=a.changedTouches,d=c[0],e=document.createEvent("MouseEvent");e.initMouseEvent(b,!0,!0,window,1,d.screenX,d.screenY,d.clientX,d.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(e)}}function c(a){var c=f(a);g||c||(g=!0,b(a,"mouseover"),b(a,"mousemove"),b(a,"mousedown"))}function d(a){g&&(b(a,"mousemove"),h=!0)}function e(a){g&&(b(a,"mouseup"),h&&b(a,"mouseout"),h=!1,g=!1)}function f(a){return"INPUT"==a.target.tagName.toUpperCase()?!0:!1}if(!a.UA.ie){var g,h=!1;document.addEventListener("touchstart",c,!0),document.addEventListener("touchmove",d,!0),document.addEventListener("touchend",e,!0)}}); -------------------------------------------------------------------------------- /6.0.0/build/tools/touch/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-03-31 1:06:08 PM*/ 2 | -------------------------------------------------------------------------------- /6.0.0/build/tools/touch/mods.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.0/build/tools/touch/mods.js -------------------------------------------------------------------------------- /6.0.0/changelog.md: -------------------------------------------------------------------------------- 1 | ### 升级注意事项 2 | - raphael 的svg为relative定位的,升级时需要改为absolute 3 | 4 | ### changelog 5 | - 2013-11-28 bugfix by 治修 6 | - 2013.10.25 升级raphael版本至2.1.2 7 | - 2013.07.15 饼图支持自适应容器 8 | - 2013.12.03 饼图bugfix by 玄道 9 | - 2013.12.18 对kissy1.4的支持 10 | 1. extend的使用方法变了需要做 [兼容性处理](https://gist.github.com/WeweTom/7822062) 11 | 2. 只提供了seed.js,默认是没有DOM,Event模块的,使用需要显示的requires这些模块。 12 | $.all依赖Node模块,需要显示的requires 13 | 14 | - 2014-05-29 修复继承与basechart的数据全零报错的bug by 伯才 15 | - 2014-05-29 修复了父容器display:none导致svg尺寸错误的bug by 伯才 16 | - 2014-07-29 修复了barClick事件不触发的bug by 伯才 17 | 18 | - 2015-03-31 去除http协议头 by 伯才 19 | -------------------------------------------------------------------------------- /6.0.0/demo/dashboard/assets/bg1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.0/demo/dashboard/assets/bg1.png -------------------------------------------------------------------------------- /6.0.0/demo/dashboard/assets/bg2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.0/demo/dashboard/assets/bg2.png -------------------------------------------------------------------------------- /6.0.0/demo/dashboard/assets/pointer1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.0/demo/dashboard/assets/pointer1.png -------------------------------------------------------------------------------- /6.0.0/demo/dashboard/assets/pointer2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.0/demo/dashboard/assets/pointer2.png -------------------------------------------------------------------------------- /6.0.0/demo/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /6.0.0/demo/thermometer/demo.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 温度计 8 | 10 | 11 | 12 |
13 |
14 | 15 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /6.0.0/examples/icons/demo.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | lengend 10 | 16 | 17 | 18 |
19 |
20 | 21 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /6.0.0/examples/icons/demo.js: -------------------------------------------------------------------------------- 1 | KISSY.use("kg/kcharts/6.0.0/raphael/index,dom,event,kg/kcharts/6.0.0/icons/index",function(S,Raphael,D,E,Icons){ 2 | var $con = S.one("#J_Con") 3 | , paper = Raphael($con[0],500,500) 4 | 5 | var x0 = 30; 6 | var y0 = 30; 7 | S.each([ 8 | "rect", 9 | "circle", 10 | "square", 11 | "triangle", 12 | "diamond", 13 | "linecircle", 14 | "linesquare", 15 | "linetriangle", 16 | "linediamond" 17 | ],function(type){ 18 | Icons[type](x0,y0,{ 19 | paper:paper, 20 | size:[1,1], 21 | attrs:{ 22 | fill:"#0a0" 23 | } 24 | }); 25 | x0+=50; 26 | }); 27 | 28 | //bigger 29 | x0 = 30;y0=80; 30 | S.each([ 31 | "rect", 32 | "circle", 33 | "square", 34 | "triangle", 35 | "diamond", 36 | "linecircle", 37 | "linesquare", 38 | "linetriangle", 39 | "linediamond" 40 | ],function(type){ 41 | var set = Icons[type](x0,y0,{ 42 | paper:paper, 43 | size:[1.5,1.5], 44 | attrs:{ 45 | fill:"#0a0" 46 | } 47 | }); 48 | var $path 49 | if(set.clear){ 50 | $path = set[0]; 51 | }else{ 52 | $path = set;//第二元素才是实际的线 53 | } 54 | $path.attr({"stroke":"#fff","stroke-width":2}); 55 | $path 56 | .mouseover(function(){ 57 | $path.attr({"stroke":"#0a0"}); 58 | }) 59 | .mouseout(function(){ 60 | $path.attr({"stroke":"#fff"}); 61 | }); 62 | x0+=50; 63 | }); 64 | }); 65 | -------------------------------------------------------------------------------- /6.0.0/examples/legend/demo.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | lengend 10 | 22 | 23 | 24 |
25 |
26 |
27 |
28 | 29 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /6.0.0/examples/mapchart/map-chart.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | chinaMap 6 | 26 | 27 | 28 |
29 | 30 | 31 | 32 | 33 | 34 | 35 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /6.0.0/examples/mapchart/map-marker.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 地图上的动画icon 8 | 11 | 12 | 13 |
14 |
15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /6.0.0/examples/piechart/pie-donut-bg.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.0/examples/piechart/pie-donut-bg.jpeg -------------------------------------------------------------------------------- /6.0.0/examples/piechart/test.js: -------------------------------------------------------------------------------- 1 | data ::= String || Object 2 | object ::= { 3 | "success":Bool, 4 | "data":lists 5 | } 6 | lists ::= [] || [{name:String(10)},...] 7 | 8 | -------------------------------------------------------------------------------- /6.0.0/examples/piechart/test_memory.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 性能测试:不断创建销毁raphael实例,看是否会造成内存溢出 6 | 9 | 10 | 11 |
12 |
13 | 14 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /6.0.0/examples/piechart/test_memory2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 性能测试:不断创建销毁raphael实例,看是否会造成内存溢出 (新添加事件) 6 | 9 | 10 | 11 |
12 |
13 | 14 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /6.0.0/examples/realtime/data.php: -------------------------------------------------------------------------------- 1 | ( 2 | [ 3 | [1147651200000,67.79], 4 | [1147737600000,64.98], 5 | [1147824000000,65.26], 6 | [1147910400000,63.18], 7 | [1147996800000,64.51], 8 | [1148256000000,63.38], 9 | [1148342400000,63.15], 10 | [1148428800000,63.34], 11 | [1148515200000,64.33], 12 | [1148601600000,63.55], 13 | [1148947200000,61.22], 14 | [1149033600000,59.77] 15 | ]); 16 | 17 | -------------------------------------------------------------------------------- /6.0.0/examples/realtime/template.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | chart test 8 | 17 | 18 | 19 |
20 |
21 | 22 | 23 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /6.0.0/guide/dashboard.md: -------------------------------------------------------------------------------- 1 | # Demo 2 | [KCharts首页](http://www.kcharts.net) 3 | 4 | # properties 5 | 6 | ## renderTo 7 | 绘制到的dom容器 8 | 9 | ## width 10 | 11 | ## height 12 | 13 | ## ticks 14 | 刻度配置,仅对矢量的码表适用。示例配置: 15 | 16 | ``` 17 | ticks : { 18 | r1:85, //粗刻度的起始半径 19 | r2:90, //细刻度的起始半径 20 | R:95, //末半径 21 | start:0, //初始弧度 22 | end:Math.PI, //末弧度 23 | n:30, //分成的份数 24 | m:5, //粗线的规则 TODO:可以是函数 25 | thickStyle:{ // 粗刻度样式 26 | "stroke":'red' 27 | }, 28 | thinStyle:{ // 细刻度样式 29 | "stroke":'#666' 30 | } 31 | } 32 | ``` 33 | 34 | ## pointer 35 | 指针配置,进对矢量的码表适用,示例: 36 | 37 | ``` 38 | pointer:{ 39 | theme:{ 40 | name:'a', 41 | fill:'red', 42 | stroke:'#999', 43 | r:8, // 圆头半径 44 | R:80 // 指针半径 45 | } 46 | } 47 | ``` 48 | 49 | # method 50 | 51 | ## pointTo 52 | 指针指向某个度数 53 | -------------------------------------------------------------------------------- /6.0.0/guide/funnel.md: -------------------------------------------------------------------------------- 1 | # Funnel 2 | --- 3 | Demo 4 | --- 5 | 6 | [KCharts首页](http://www.kcharts.net) 7 | 8 | 9 | --- 10 | Config(详细配置) 11 | --- 12 | ### 13 | 14 | { id|HTMLElement } 容器 15 | 16 | ### chart 17 | { type } 声明组件的类型 18 | 19 | { marginRight } 漏斗距离整体容器的右边距 注:以右边距为基准,确定这个容器的宽度 20 | 21 | ### title 22 | 23 | { text } 标题 (默认居中) 24 | 25 | { color } 标题颜色 26 | 27 | ### plotOptions 28 | 29 | { dataLabels } tip模版 (以下是对应关系自动转化) 30 | 31 | - `title` { series.name } 32 | 33 | - `name` { series.data[0] } 34 | 35 | - `pointer` { series.data[1] } 36 | 37 | { neckWidth } 脖子的宽度(以百分比为单位) 38 | 39 | { neckStep } 脖子的间距(以PX为单位) 40 | 41 | { neckHeight } 脖子的高度(以百分比为单位,从上至下的高度的百分比) 42 | 43 | { background } 默认的漏斗的背景颜色(从上至下) 44 | 45 | { backgroundHover } 默认的漏斗的背景颜色鼠标hover(从上至下) 46 | 47 | ### series 48 | { name } 内容的标题 49 | 50 | { data } 数据 51 | 52 | -`data[0]` 数据标题 53 | 54 | -`data[1]` 数据数值 55 | 56 | 57 | --- 58 | Method(方法) 59 | --- 60 | 61 | ### _render(arry) 62 | 63 | 渲染图表 (arry 计算实际在画布高度的数组数据) 64 | 65 | ### set(attrConfigs,value) 66 | 67 | attrConfigs 支持 neckWidth,neckStep,neckHeight 的手动修改(如果改变其他的需要手动调用_rednderVal()) 68 | 69 | 70 | ### destroy() 71 | 72 | 清除画布上的所有内容(但不包括foot,如果要清除,需要手动,支持回掉) 73 | 74 | destroy(function(){ 75 | 76 | console.log('我已经清楚了所有的画布内容') 77 | 78 | }) 79 | 80 | --- 81 | Event(事件) 82 | --- 83 | 84 | ### pathClick 85 | 86 | 点击画布事件 87 | 88 | -------------------------------------------------------------------------------- /6.0.0/guide/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | 快速上手——以linechart为例 3 | --- 4 | 5 | ##KCharts首页 6 | - [KCharts 外网](http://kcharts.net) 7 | - [KCharts 内网](http://kcharts.taobao.net) 8 | 9 | 10 | ##组件文档 11 | 12 | ###core 13 | 14 | - [linechart 折线图](linechart.html) 15 | - [barchart 柱状图](barchart.html) 16 | - [piechart 饼图](piechart.html) 17 | - [scatterchart 散点图](scatterchart.html) 18 | - [mapchart 地图](mapchart.html) 19 | - [dashboard 油表](dashboard.html) 20 | - [radar 雷达图](radar.html) 21 | 22 | ###widget 23 | 24 | - [htmlpaper html画布](htmlpaper.html) 25 | - [legend 图例](legend.html) 26 | - [tip 移动标注](tip.html) 27 | 28 | -------------------------------------------------------------------------------- /6.0.0/guide/pyramid.md: -------------------------------------------------------------------------------- 1 | # Funnel 2 | --- 3 | Demo 4 | --- 5 | [pyramid](../demo/pyramid/demo1.html) 金字塔
6 | 7 | 8 | --- 9 | 代码示例 10 | --- 11 | ``` 12 | 13 | //载入Funnel 14 | KISSY.use('kg/kcharts/6.0.0/pyramid/index',function(S,Triangle){ 15 | //数据格式 16 | var data=[ 17 | { 18 | p:[0.75,'AAA','xxxx比'], 19 | d:[ 20 | [0.20,'T1'], 21 | [0.18,'T2'], 22 | [0.29,'T4'] 23 | ] 24 | }, 25 | { 26 | p:[0.25,'BBB','xxxx比'], 27 | d:[ 28 | [0.07,'T3'], 29 | [0.20,'T2'], 30 | [0.21,'T1'], 31 | [0.15,'B2'], 32 | [0.16,'B3'], 33 | [0.13,'B5'] 34 | ] 35 | } 36 | ]; 37 | //容器id 38 | //三角形宽度 39 | //数据 40 | //高亮显示,true:上面高亮,false:下面高亮 41 | var triangle=new Triangle(id,width,data,isRed,color1,color2); 42 | }); 43 | ``` 44 | 45 | --- 46 | Config(详细配置) 47 | --- 48 | ### 49 | 50 | { id } 容器 51 | 52 | { width } 三角形宽度 53 | 54 | {data} 数据源 55 | 56 | {isRed} 高亮显示部分,true:上面高亮,false:下面高亮 57 | 58 | {color1} 上半个的颜色,有默认值 59 | 60 | {color2} 下半个的颜色,有默认值 61 | 62 | 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /6.0.0/guide/radar.md: -------------------------------------------------------------------------------- 1 | # Radar 2 | --- 3 | Demo 4 | --- 5 | [KCharts首页](http://www.kcharts.net) 6 | 7 | # properties 8 | 9 | ## renderTo 10 | 渲染到的dom元素,比如#J_Radar 11 | 12 | ## width 13 | 雷达图宽度宽度,未设置的话,自适应 14 | 15 | ## height 16 | 雷达图宽度高度,未设置的话,自适应 17 | 18 | ## cx 19 | 中心点横坐标 20 | 21 | ## cy 22 | 中心点纵坐标 23 | 24 | ## r 25 | 雷达图半径 26 | 27 | ## max 28 | 最大值 29 | 30 | ## labels 31 | 雷达图标注 32 | 33 | ## scoreGroups 34 | 数据分组,格式为 35 | 36 | ``` 37 | [{title: "Real Madrid C.F.", scores: [ 8, 9, 7, 9, 7, 6]},{title: "FC Barcelona", scores: [ 10, 7, 10, 7, 6, 8]}] 38 | ``` 39 | 40 | 每个数据项可以进一步配置 41 | 42 | ``` 43 | { 44 | title: "Real Madrid C.F.", 45 | scores: [ 8, 9, 7, 9, 7, 6], 46 | draw_options: { 47 | lines: {'stroke-width':'4','stroke':'#0070bb','stroke-opacity':0.7,'fill':'#f7d2a8','fill-opacity':0.6}, 48 | points: {'fill':'#f05a23','stroke-width':'1.5','stroke':'#333', 'size': 6} 49 | } 50 | } 51 | ``` 52 | ## legend 53 | 标注配置,比如: 54 | 55 | ``` 56 | legend:{ 57 | globalConfig:{ 58 | iconsize:[2,2], 59 | icontype:"circle" 60 | } 61 | } 62 | ``` 63 | 64 | ## options 65 | 绘制选项 66 | 67 | 68 | # method 69 | 70 | ## render 71 | 绘制雷达图 72 | 73 | 74 | 75 | -------------------------------------------------------------------------------- /6.0.0/guide/tip.md: -------------------------------------------------------------------------------- 1 | # Tip 2 | 3 | --- 4 | Config(详细配置) 5 | --- 6 | ### rootNode 7 | { id|HTMLElement } 容器 默认为body 8 | 9 | ### clsName 10 | {string} 主题类名 默认"ks-chart-default" 可选"ks-chart-analytiks","ks-chart-analytiks" 也可自定义样式类名 11 | 12 | ### boundry 13 | {object} 边界 14 | 15 | - `x` { number } 水平距离 16 | - `y` { number } 垂直距离 17 | - `width` { number } 宽度 18 | - `height` { number } 高度 19 | 20 | ### tpl 21 | {string} 模版 参照KISSY/Template 22 | 23 | ### alignX 24 | {string} 水平对齐方式 可选"left","center","right" 默认"left" 25 | 26 | ### alignY 27 | {string} 垂直对齐方式 可选"top","middle","bottom" 默认"top" 28 | 29 | ### offset 30 | {object} 偏移量 31 | 32 | - `x` { number } 水平距离 33 | - `y` { number } 垂直距离 34 | 35 | ### anim 36 | {object} 动画配置 37 | 38 | - `easing` { string } 动画效果 默认"easeOut" 39 | - `duration` { number } 动画周期 默认0.25 40 | 41 | ### corner 42 | {object} 尖角 43 | 44 | - `isShow` { boolean } 是否显示 45 | - `tpl` { string } 模版 参照KISSY/Template 46 | - `css` { object } css样式 47 | 48 | 49 | --- 50 | Method(方法) 51 | --- 52 | 53 | ### show() 54 | 显示tip 55 | 56 | ### hide() 57 | 隐藏tip 58 | 59 | ### isVisable() 60 | tip是否可见,返回布尔值 61 | 62 | ### moveTo(x,y) 63 | 快速定位到相对于rootNode的位置 64 | 65 | ### animateTo(x,y) 66 | 移动到相对于rootNode的位置 67 | 68 | ### renderTemplate(tpl,data) 69 | 将tpl渲染data后填充tip内容 70 | 71 | ### setContent(content) 72 | 填充content至tip 73 | 74 | ### render() 75 | 渲染 76 | -------------------------------------------------------------------------------- /6.0.0/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "kcharts", 3 | "version": "6.0.0", 4 | "private": true, 5 | "devDependencies": { 6 | "grunt-contrib-uglify": "~0.2.0", 7 | "grunt": "~0.4.1", 8 | "grunt-kmc": "~0.1.1", 9 | "grunt-contrib-less": "~0.5.0", 10 | "grunt-contrib-copy": "", 11 | "grunt-contrib-clean": "~0.4.0", 12 | "grunt-contrib-cssmin": "~0.5.0" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /6.0.0/roadmap.md: -------------------------------------------------------------------------------- 1 | # 1.3 2 | ## linechart/barchart 3 | - 倾斜的x轴标注添加到API中 4 | - 叠加的柱状图支持template索引获取 @桐人 5 | - 线图上的点事件支持,比如pointclick、pointover、pointout 6 | 7 | ## piechart 8 | - legend集成到API中 9 | - label标注可选,既可以一曲线条线指出来进行文案标注,也可以只要文案标注,并且可以 10 | 标注在饼图内部 11 | - 饼图的渐变色 12 | - 更加丰富的事件支持 labelclick labeldbclick sectorclick? 13 | 14 | ## 接口统一问题 15 | - 仙羽反馈barchart是否可以和piechart的配置接口统一掉 16 | 17 | ## kissy 1.4 支持 18 | > note: 1.2已经支持kissy 1.4 ,需要同步到1.3版本 19 | 20 | ## tip问题 21 | - 第一此不弹出tip的情况 22 | 23 | # 2.0 24 | - 更加漂亮的颜色主题 25 | - 混合的图表,常见的需求是linechart、barchart、pie的混搭 26 | - 提高接口的一致性 27 | - **delay** isv适配 28 | -------------------------------------------------------------------------------- /6.0.0/src/dashboard/pointer-pic.js: -------------------------------------------------------------------------------- 1 | // -*- coding: utf-8; -*- 2 | /** 3 | * 指针 4 | * @author cookieu@gmail.com 5 | * */ 6 | ;KISSY.add(function(S,Pointer){ 7 | function PicturePointer(){ 8 | PicturePointer.superclass.constructor.apply(this,arguments) 9 | var pointer = this.get('pointer') 10 | , paper = this.get('paper') 11 | , dashboard = this.get('dashboard') 12 | , cx0 = this.get('cy') 13 | , cy0 = this.get('cx') 14 | , cx = dashboard.get('cx') 15 | , cy = dashboard.get('cy') 16 | 17 | this.pointer = pointer 18 | this.cx = cx0 19 | this.cy = cy0 20 | this.paperCx = cx 21 | this.paperCy = cy 22 | } 23 | 24 | S.extend(PicturePointer,Pointer,{ 25 | pointTo:function(angle,effect){ 26 | var t = ['r',angle,this.paperCx,this.paperCy].join(',') 27 | if(effect){ 28 | this.pointer.animate({transform:t},effect.ms,effect.easing,effect.callback) 29 | }else{ 30 | this.pointer.transform(t) 31 | } 32 | return this 33 | } 34 | }) 35 | return PicturePointer 36 | },{ 37 | requires:['./pointer'] 38 | }) 39 | -------------------------------------------------------------------------------- /6.0.0/src/thermometer/index.js: -------------------------------------------------------------------------------- 1 | // steel from http://svenbieder.com/thermometer-gauge/ 2 | ;KISSY.add(function(S,Raphael){ 3 | function Thermometer(cfg){ 4 | this.set(cfg); 5 | var container = S.get(cfg.renderTo); 6 | var paper; 7 | if(container){ 8 | paper = Raphael(container,cfg.width,cfg.height) 9 | }else{ 10 | throw Error("容器不能为空"); 11 | } 12 | this.set("paper",paper); 13 | 14 | // 背景 15 | var backboard = paper.path("M 11 1 a 10 10 0 0 1 -10 10 l 0 218 a 10 10 0 0 1 10 10 l 58 0 a 10 10 0 0 1 10 -10 l 0 -218 a 10 10 0 0 1 -10 -10z"); 16 | backboard.attr("fill", "#F4A460"); 17 | 18 | // 玻璃管(下部被红色部分挡住) 19 | var glassbody = paper.path("M 34 181 l 0 -151 a 5 5 0 1 1 12 0 l 0 151z"); 20 | glassbody.attr("stroke-width", "0"); 21 | glassbody.attr("fill", "0-#feaa66:50-#ddd:70-#f5a561:100"); 22 | 23 | 24 | var fluidheight = 30 25 | // 玻璃管中的mercury 26 | var fluid = paper.rect(35, 180 - fluidheight, 10, fluidheight); 27 | fluid.attr("stroke-width", "0"); 28 | fluid.attr("fill", "0-#f00:50-#fdd:75-#f00:100"); 29 | 30 | // 球形 31 | var liqcon = paper.circle(40, 200, 20); 32 | liqcon.attr("stroke-width", "0"); 33 | liqcon.attr("fill", "r(0.75,0.25)#ffffff-#ff0000"); 34 | 35 | for (var i = 0; i <= 150; i += 15) { 36 | var ycoord = 180 - i; 37 | var line = paper.path("M 47 " + ycoord + " l 10 0z"); 38 | var text = paper.text(65, ycoord, i / 1.5); 39 | } 40 | } 41 | S.extend(Thermometer,S.Base); 42 | return Thermometer; 43 | },{ 44 | requires:["kg/kcharts/6.0.0/raphael/index"] 45 | }); 46 | -------------------------------------------------------------------------------- /6.0.0/src/tip/assets/tip-min.css: -------------------------------------------------------------------------------- 1 | .ks-chart-default-tip,.ks-chart-analytiks-tip,.ks-chart-rainbow-tip{ 2 | background: #fff; 3 | filter:alpha(opacity =90); 4 | -moz-opacity:0.9 ; 5 | -khtml-opacity: 0.9; 6 | opacity: 0.9; 7 | -moz-border-radius: 4px 4px 4px 4px; 8 | -webkit-border-radius: 4px 4px 4px 4px; 9 | border-radius:4px 4px 4px 4px ; 10 | padding:2px 4px; 11 | color:#666; 12 | font-family: Microsoft Yahei; 13 | z-index: 10; 14 | font-size: 12px; 15 | font-weight: bolder; 16 | border: 1px solid; 17 | } 18 | .ks-chart-default-tip span,.ks-chart-analytiks-tip span,.ks-chart-rainbow-tip span{ 19 | font-weight: normal; 20 | } 21 | 22 | -------------------------------------------------------------------------------- /6.0.0/src/tip/assets/tip.css: -------------------------------------------------------------------------------- 1 | .ks-chart-default-tip,.ks-chart-analytiks-tip,.ks-chart-rainbow-tip{ 2 | background: #fff; 3 | filter:alpha(opacity =90); 4 | -moz-opacity:0.9 ; 5 | -khtml-opacity: 0.9; 6 | opacity: 0.9; 7 | -moz-border-radius: 10px; 8 | -webkit-border-radius: 10px; 9 | border-radius:10px; 10 | padding:10px; 11 | color:#666; 12 | font-family: Microsoft Yahei; 13 | z-index: 10; 14 | font-size: 12px; 15 | font-weight: bolder; 16 | -webkit-box-shadow:2px 2px 2px 2px #ccc; 17 | -moz-box-shadow:2px 2px 2px 2px #ccc; 18 | box-shadow:2px 2px 2px 2px #ccc; 19 | } 20 | .ks-chart-default-tip span,.ks-chart-analytiks-tip span,.ks-chart-rainbow-tip span{ 21 | font-weight: normal; 22 | } 23 | 24 | -------------------------------------------------------------------------------- /6.0.0/src/tools/graphtool/index.js: -------------------------------------------------------------------------------- 1 | //简单图形绘制的工具 2 | ;KISSY.add(function(S,Raphael){ 3 | 4 | var sqrt = Math.sqrt; 5 | 6 | var graphTool = {}; 7 | //等边三角形 8 | var triangle = function(paper,x,y,r,deg){ 9 | var path = [ 10 | "M" + [x,y-r].join(","), 11 | "L" + [x - r * sqrt(3)/2,y - 0 + r * 1/2].join(","), 12 | [x - 0 + r * sqrt(3)/2,y - 0 + r * 1/2].join(","), 13 | "Z" 14 | ].join(" "), 15 | el; 16 | 17 | if(paper && paper.path){ 18 | el = paper.path(path); 19 | // el.attr({cx:x,cy:y}); //伪造中心点 20 | el.rotate(deg,x,y); 21 | return el; 22 | } 23 | }; 24 | //菱形 25 | var rhomb = function(paper,x,y,w,h,deg){ 26 | var path = [ 27 | "M" + [x,y-h/2].join(","), 28 | "L" + [x - 0 + w/2,y].join(","), 29 | [x,y - 0 + h/2].join(","), 30 | [x - w/2,y].join(","), 31 | "Z" 32 | ].join(","), 33 | el; 34 | if(paper && paper.path){ 35 | el = paper.path(path); 36 | // el.attr({cx:x,cy:y}); //伪造中心点 37 | el.rotate(deg,x,y); 38 | return el; 39 | } 40 | }; 41 | 42 | var square = function(paper,x,y,w,h){ 43 | var path = [ 44 | ["M",x-w/2,",",y-h/2].join(""), 45 | [" L",x/1+w/2,",",y-h/2," v",h," h",-w,'z'].join("") 46 | ],el; 47 | if(paper && paper.path){ 48 | el = paper.path(path); 49 | return el; 50 | } 51 | } 52 | 53 | graphTool = S.merge(graphTool,{ 54 | triangle:triangle, 55 | rhomb:rhomb, 56 | square:square 57 | }); 58 | 59 | return graphTool; 60 | },{requires:['kg/kcharts/6.0.0/raphael/index']}); -------------------------------------------------------------------------------- /6.0.0/test/datetime/choose-range.css: -------------------------------------------------------------------------------- 1 | .kc-range-inner{ 2 | position: absolute; 3 | width: 100%; 4 | height: 100%; 5 | z-index: 100; 6 | } 7 | .kc-range-inner .kc-range-block{ 8 | height: 100%; 9 | position: absolute; 10 | background: #fff; 11 | opacity: 0.8; 12 | } 13 | .kc-range-inner .kc-range-block-left{ 14 | border-top:1px solid #000; 15 | border-right:1px solid #000; 16 | } 17 | .kc-range-inner .kc-range-block-right{ 18 | border-top:1px solid #000; 19 | border-left:1px solid #000; 20 | } 21 | 22 | .kc-range-inner .kc-range-btn{ 23 | width:10px; 24 | height: 40px; 25 | position: absolute; 26 | } -------------------------------------------------------------------------------- /6.0.0/test/datetime/choose-range.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 大数据量线图的例子 7 | 8 | 9 | 25 | 26 | 27 |
28 |
29 |
30 |
31 | 32 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /6.0.0/test/other/catmull-rom-test.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | -------------------------------------------------------------------------------- /6.0.0/test/runner.js: -------------------------------------------------------------------------------- 1 | KISSY.add(function(){ 2 | //在这里requires需要运行的用例文件 3 | },{requires:['test/spec/index-spec']}) -------------------------------------------------------------------------------- /6.0.0/test/spec/index-spec.js: -------------------------------------------------------------------------------- 1 | KISSY.add(function (S, Node,Demo) { 2 | var $ = Node.all; 3 | describe('kcharts', function () { 4 | it('Instantiation of components',function(){ 5 | var demo = new Demo(); 6 | expect(S.isObject(demo)).toBe(true); 7 | }) 8 | }); 9 | 10 | },{requires:['node','kg/kcharts/6.0.0//']}); -------------------------------------------------------------------------------- /6.0.0/totoro-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner":"./test/runner.html" 3 | } -------------------------------------------------------------------------------- /6.0.1/README.md: -------------------------------------------------------------------------------- 1 | ### ![Kcharts](http://img02.taobaocdn.com/tps/i2/T1TQygXEteXXXr6JI6-109-50.png) ### 2 | ##基于KISSY的图表集合 3 | * 包含业务常用图表类型 4 | * 底层基于raphael图形库 5 | * 采用html+css定制非矢量图形样式 6 | * 包含全面文档和在线图表生成器 7 | 8 | kcharts 首页: 9 | [http://kcharts.net](http://kcharts.net) 10 | 11 | ### 旺旺交流群 12 | - 818302516 13 | 14 | 15 | -------------------------------------------------------------------------------- /6.0.1/build/animate/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | KISSY.config("modules",{"kg/kcharts/6.0.1/animate/index":{requires:["anim"]}}); -------------------------------------------------------------------------------- /6.0.1/build/animate/mods.js: -------------------------------------------------------------------------------- 1 | KISSY.config('modules', { 2 | 'kg/kcharts/6.0.1/animate/index': { requires: ['anim']} 3 | }); -------------------------------------------------------------------------------- /6.0.1/build/barchart/cfg-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | KISSY.add("kg/kcharts/6.0.1/barchart/cfg",function(a){var b="ks-chart-",c=b+"default",d="{COLOR}";return{themeCls:c,autoRender:!0,colors:[],stackable:!1,title:{content:"",css:{"text-align":"center","font-size":"16px"},isShow:!0},subTitle:{content:"",css:{"text-align":"center","font-size":"12px"},isShow:!0},xLabels:{isShow:!0,css:{color:"#666","font-size":"12px","white-space":"nowrap",position:"absolute"}},yLabels:{isShow:!0,css:{color:"#666","font-size":"12px","white-space":"nowrap",position:"absolute"}},xAxis:{isShow:!0,css:{color:"#eee",zIndex:10},min:0},yAxis:{isShow:!0,css:{zIndex:10},num:5,min:0},xGrids:{isShow:!0,css:{}},yGrids:{isShow:!0,css:{}},areas:{isShow:!0,css:{}},bars:{isShow:!0,attr:{fill:d,"stroke-width":"0"},barsRatio:.6,barRatio:.5},legend:{isShow:!1},tip:{isShow:!0,template:"",css:{},anim:{easing:"easeOut",duration:.3},offset:{x:0,y:0},boundryDetect:!0,alignX:"right",alignY:"bottom"}}}); -------------------------------------------------------------------------------- /6.0.1/build/barchart/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | -------------------------------------------------------------------------------- /6.0.1/build/barchart/mods.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.1/build/barchart/mods.js -------------------------------------------------------------------------------- /6.0.1/build/barchart/theme-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | KISSY.add("kg/kcharts/6.0.1/barchart/theme",function(a){var b={"ks-chart-default":{title:{content:"",css:{"text-align":"center","font-size":"16px","font-weight":"bold",color:"#666"},isShow:!0},subTitle:{content:"",css:{"text-align":"center","font-size":"12px",color:"#666"},isShow:!0},xGrids:{css:{color:"#eee"}},yGrids:{css:{color:"#eee"}},yAxis:{css:{color:"#ccc"}},xAxis:{css:{color:"#ccc"}},xLabels:{css:{color:"#666","font-size":"12px"}},yLabels:{css:{color:"#666","font-size":"12px"}}},"ks-chart-analytiks":{title:{content:"",css:{"text-align":"center","font-size":"16px","font-weight":"bold",color:"#666"},isShow:!0},subTitle:{content:"",css:{"text-align":"center","font-size":"12px",color:"#666"},isShow:!0},xGrids:{css:{color:"#eee"}},yGrids:{css:{color:"#eee"}},yAxis:{css:{color:"#ccc"}},xAxis:{css:{color:"#ccc"}},xLabels:{css:{color:"#666","font-size":"12px"}},yLabels:{css:{color:"#666","font-size":"12px"}}},"ks-chart-rainbow":{title:{content:"",css:{"text-align":"center","font-size":"16px","font-weight":"bold",color:"#666"},isShow:!0},subTitle:{content:"",css:{"text-align":"center","font-size":"12px",color:"#666"},isShow:!0},xGrids:{css:{color:"#eee"}},yGrids:{css:{color:"#eee"}},yAxis:{css:{color:"#ccc"}},xAxis:{css:{color:"#ccc"}},xLabels:{css:{color:"#666","font-size":"12px"}},yLabels:{css:{color:"#666","font-size":"12px"}}}};return b}); -------------------------------------------------------------------------------- /6.0.1/build/basechart/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | KISSY.config("modules",{"kg/kcharts/6.0.1/basechart/index":{requires:["base","node","kg/kcharts/6.0.1/template/index"]}}); -------------------------------------------------------------------------------- /6.0.1/build/basechart/mods.js: -------------------------------------------------------------------------------- 1 | KISSY.config('modules', { 2 | 'kg/kcharts/6.0.1/basechart/index': { requires: ['base', 'node', 'kg/kcharts/6.0.1/template/index']} 3 | }); -------------------------------------------------------------------------------- /6.0.1/build/dashboard/dashboard-ticks-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | KISSY.add("kg/kcharts/6.0.1/dashboard/dashboard-ticks",function(a,b){var c,d={initializer:function(){var b,c,d,e,f,g,h,i,j,k,l,m,n=this.get("cfg"),o=n.r1||100,p=n.r2||105,q=n.R||110,r=this.get("dashboard"),s=this.get("paper"),t=r.get("cx"),u=r.get("cy"),v=[],w="";d=n.start||0,e=n.end||2*Math.PI,b=n.n||60,c=n.m,d-=Math.PI,e-=Math.PI,f=e-d,g=f/b;for(var x=0;b>=x;x+=1)if(!c||x%c!=0){var y=d+x*g;h=Math.cos(y),i=Math.sin(y),j=t+p*h,k=u+p*i,l=t+q*h,m=u+q*i,v.push("M",j,k,"L",l,m)}w=v.join(",");var z=s.path(w),A={};if(a.mix(A,n.thinStyle,!0,["stroke-width","stroke"]),z.attr(A),c){for(var B=[],C=0;b>=C;C+=c){var y=d+C*g;h=Math.cos(y),i=Math.sin(y),j=t+o*h,k=u+o*i,l=t+q*h,m=u+q*i,B.push("M",j,k,"L",l,m)}w=B.join(",");var D=s.path(w),E={"stroke-width":2};a.mix(E,n.thickStyle,!0,["stroke-width","stroke"]),D.attr(E)}}};return b.extend?c=b.extend(d):(c=function(a){this.set(a),this.userConfig=a,this.initializer()},a.extend(c,b,d)),c},{requires:["base"]}); -------------------------------------------------------------------------------- /6.0.1/build/dashboard/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | KISSY.config("modules",{"kg/kcharts/6.0.1/dashboard/pointer":{requires:["base"]}}); -------------------------------------------------------------------------------- /6.0.1/build/dashboard/mods.js: -------------------------------------------------------------------------------- 1 | KISSY.config('modules', { 2 | 'kg/kcharts/6.0.1/dashboard/pointer': { requires: ['base']} 3 | }); -------------------------------------------------------------------------------- /6.0.1/build/dashboard/pointer-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | KISSY.add("kg/kcharts/6.0.1/dashboard/pointer",function(a,b){function c(b,c,d,e,f,g){var h,i,j,k,l,m,n=Math.asin(e/f);g=a.mix({fill:"#000",stroke:"#000"},g,!0,["stroke","stroke-width","fill"]),h=c,i=d-f;var o=e*Math.cos(n);j=c+o,k=d-e*e/f,l=c-o,m=d-e*e/f;var p=["M",h,i,"L",j,k,"A",e,e,0,1,1,l,m,"Z"],q=b.path(p.join(","));return q.attr(g),q}var d,e={pointTo:function(a,b){var d=this.get("paper"),e=this,f=this.get("dashboard"),g=f.get("cx"),h=f.get("cy"),i=f.get("pointer")||{},j=i.cx||0,k=i.cy||0,l=g+j,m=h+k,n=(f.get("width"),f.get("height"),{a:function(f){var g=["r",a-90,l,m].join(",");e.pointer||(e.pointer=c(d,l,m,f.r||5,f.R||80,f)),a&&e.pointer.animate({transform:g},b.ms,b.easing,b.callback)},b:function(){}}),o=i.theme&&i.theme.name&&n[i.theme.name]||n.a;o&&o(i.theme)}};b.extend?d=b.extend(e):(d=function(a){this.set(a),this.userConfig=a},a.extend(d,b,e));return d},{requires:["base"]}); -------------------------------------------------------------------------------- /6.0.1/build/dashboard/pointer-pic-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | KISSY.add("kg/kcharts/6.0.1/dashboard/pointer",function(a,b){function c(b,c,d,e,f,g){var h,i,j,k,l,m,n=Math.asin(e/f);g=a.mix({fill:"#000",stroke:"#000"},g,!0,["stroke","stroke-width","fill"]),h=c,i=d-f;var o=e*Math.cos(n);j=c+o,k=d-e*e/f,l=c-o,m=d-e*e/f;var p=["M",h,i,"L",j,k,"A",e,e,0,1,1,l,m,"Z"],q=b.path(p.join(","));return q.attr(g),q}var d,e={pointTo:function(a,b){var d=this.get("paper"),e=this,f=this.get("dashboard"),g=f.get("cx"),h=f.get("cy"),i=f.get("pointer")||{},j=i.cx||0,k=i.cy||0,l=g+j,m=h+k,n=(f.get("width"),f.get("height"),{a:function(f){var g=["r",a-90,l,m].join(",");e.pointer||(e.pointer=c(d,l,m,f.r||5,f.R||80,f)),a&&e.pointer.animate({transform:g},b.ms,b.easing,b.callback)},b:function(){}}),o=i.theme&&i.theme.name&&n[i.theme.name]||n.a;o&&o(i.theme)}};b.extend?d=b.extend(e):(d=function(a){this.set(a),this.userConfig=a},a.extend(d,b,e));return d},{requires:["base"]}),KISSY.add("kg/kcharts/6.0.1/dashboard/pointer-pic",function(a,b){function c(){c.superclass.constructor.apply(this,arguments);var a=this.get("pointer"),b=(this.get("paper"),this.get("dashboard")),d=this.get("cy"),e=this.get("cx"),f=b.get("cx"),g=b.get("cy");this.pointer=a,this.cx=d,this.cy=e,this.paperCx=f,this.paperCy=g}return a.extend(c,b,{pointTo:function(a,b){var c=["r",a,this.paperCx,this.paperCy].join(",");return b?this.pointer.animate({transform:c},b.ms,b.easing,b.callback):this.pointer.transform(c),this}}),c},{requires:["./pointer"]}); -------------------------------------------------------------------------------- /6.0.1/build/datetime/cfg-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | KISSY.add("kg/kcharts/6.0.1/datetime/cfg",function(a){var b="ks-chart-",c=b+"default",d="{COLOR}";return{themeCls:c,autoRender:!0,comparable:!1,lineType:"straight",colors:[],title:{content:"",css:{"text-align":"center","font-size":"16px"},isShow:!0},subTitle:{content:"",css:{"text-align":"center","font-size":"12px"},isShow:!0},points:{isShow:!1,attr:{type:"circle",stroke:"#fff",r:0,"stroke-width":1.5,fill:d},hoverAttr:{type:"circle",stroke:"#fff",r:3,fill:d,"stroke-width":1}},xLabels:{isShow:!0,css:{color:"#666","font-size":"12px","white-space":"nowrap",position:"absolute"}},yLabels:{isShow:!0,css:{color:"#666","font-size":"12px","white-space":"nowrap",position:"absolute"}},xAxis:{isShow:!0,css:{zIndex:10}},yAxis:{isShow:!0,css:{zIndex:10},num:5},xGrids:{isShow:!1,css:{}},yGrids:{isShow:!0,css:{}},areas:{isShow:!0,attr:{fill:"90-#fff-"+d,"stroke-width":0,opacity:.5}},line:{isShow:!0,attr:{"stroke-width":"3px"},hoverAttr:{"stroke-width":"4px"}},pointLine:{isShow:!1,css:{}},legend:{isShow:!1},tip:{isShow:!0,clsName:"",template:"",css:{},offset:{x:0,y:0},boundryDetect:!0}}}); -------------------------------------------------------------------------------- /6.0.1/build/datetime/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | -------------------------------------------------------------------------------- /6.0.1/build/datetime/mods.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.1/build/datetime/mods.js -------------------------------------------------------------------------------- /6.0.1/build/datetime/theme-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | KISSY.add("kg/kcharts/6.0.1/datetime/theme",function(a){var b="{COLOR}",c={"ks-chart-default":{lineType:"arc",anim:!1,title:{content:"",css:{"text-align":"center","font-size":"16px","font-weight":"bold",color:"#666"},isShow:!0},subTitle:{content:"",css:{"text-align":"center","font-size":"12px",color:"#666"},isShow:!0},line:{attr:{"stroke-width":1},hoverAttr:{"stroke-width":1}},points:{isShow:!1,attr:{type:"circle",stroke:"#fff",r:0,"stroke-width":1.5,fill:b},hoverAttr:{type:"circle",stroke:"#fff",r:5,fill:b,"stroke-width":0}},xGrids:{isShow:!1,css:{color:"#eee"}},yGrids:{css:{color:"#eee"}},yAxis:{isShow:!1,css:{color:"#000"}},xAxis:{css:{color:"#000"}},xLabels:{css:{color:"#666","font-size":"12px"}},yLabels:{css:{color:"#666","font-size":"12px",marginLeft:-10}},pointLine:{css:{color:"#aaa"}},tip:{css:{border:"1px solid {COLOR}"},alignX:"right",css:{"border-color":"{COLOR}"},offset:{y:-10,x:-10}}}};return c}); -------------------------------------------------------------------------------- /6.0.1/build/icons/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | -------------------------------------------------------------------------------- /6.0.1/build/icons/mods.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.1/build/icons/mods.js -------------------------------------------------------------------------------- /6.0.1/build/legend/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | KISSY.config("modules",{"kg/kcharts/6.0.1/legend/index":{requires:["base","node","dom","event","kg/kcharts/6.0.1/icons/index","kg/kcharts/6.0.1/animate/index","kg/kcharts/6.0.1/raphael/index"]}}); -------------------------------------------------------------------------------- /6.0.1/build/legend/mods.js: -------------------------------------------------------------------------------- 1 | KISSY.config('modules', { 2 | 'kg/kcharts/6.0.1/legend/index': { requires: ['base', 'node', 'dom', 'event', 'kg/kcharts/6.0.1/icons/index', 'kg/kcharts/6.0.1/animate/index', 'kg/kcharts/6.0.1/raphael/index']} 3 | }); -------------------------------------------------------------------------------- /6.0.1/build/linechart/cfg-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | KISSY.add("kg/kcharts/6.0.1/linechart/cfg",function(a){var b="ks-chart-",c=b+"default",d="{COLOR}";return{themeCls:c,autoRender:!0,comparable:!1,lineType:"straight",colors:[],title:{content:"",css:{"text-align":"center","font-size":"16px"},isShow:!0},subTitle:{content:"",css:{"text-align":"center","font-size":"12px"},isShow:!0},points:{isShow:!0,attr:{type:"circle",stroke:"#fff",r:4,"stroke-width":1.5,fill:d},hoverAttr:{type:"circle",stroke:"#fff",r:5,fill:d,"stroke-width":0}},xLabels:{isShow:!0,css:{color:"#666","font-size":"12px","white-space":"nowrap",position:"absolute"}},yLabels:{isShow:!0,css:{color:"#666","font-size":"12px","white-space":"nowrap",position:"absolute"}},xAxis:{isShow:!0,css:{zIndex:10}},yAxis:{isShow:!0,css:{zIndex:10},num:5},xGrids:{isShow:!0,css:{}},yGrids:{isShow:!0,css:{}},areas:{isShow:!1,attr:{fill:"90-#fff-"+d,"stroke-width":0,opacity:.5}},line:{isShow:!0,attr:{"stroke-width":"3px"},hoverAttr:{"stroke-width":"4px"}},pointLine:{isShow:!1,css:{}},legend:{isShow:!1},tip:{isShow:!0,clsName:"",template:"",css:{},offset:{x:0,y:0},boundryDetect:!0}}}); -------------------------------------------------------------------------------- /6.0.1/build/linechart/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | -------------------------------------------------------------------------------- /6.0.1/build/linechart/mods.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.1/build/linechart/mods.js -------------------------------------------------------------------------------- /6.0.1/build/mapchart/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | -------------------------------------------------------------------------------- /6.0.1/build/mapchart/mods.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.1/build/mapchart/mods.js -------------------------------------------------------------------------------- /6.0.1/build/mapchart/theme-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | KISSY.add("kg/kcharts/6.0.1/mapchart/theme",function(a){return{"ks-chart-default":{title:{css:{"text-align":"center","font-size":"16px","font-weight":"bold",color:"#666",margin:"5px"}},area:{attr:{fill:"#f0efeb",stroke:"#fff"},hoverAttr:{fill:"#add3ee",stroke:"#fff"}},areaText:{css:{"font-size":"12px",color:"#000","font-weight":"normal",display:"block",cursor:"pointer"},hoverCss:{}},tip:{css:{padding:"5px 15px",border:"2px solid {COLOR}","border-radius":"6px","background-color":"#fff","font-size":"14px"}}},"ks-chart-orange":{title:{css:{"text-align":"center","font-size":"16px","font-weight":"bold",color:"#666",margin:"5px"}},area:{attr:{fill:"#FF8E58",stroke:"#fff","stroke-width":1,"stroke-linejoin":"round"},hoverAttr:{fill:"#B9A66B",cursor:"pointer"}},areaText:{css:{"font-size":"10px",color:"#000","font-weight":"normal",display:"block",cursor:"pointer"},hoverCss:{}},tip:{css:{border:"2px solid #000",backgroundColor:"#fff",fontSize:"12px",padding:"5px"}}}}}); -------------------------------------------------------------------------------- /6.0.1/build/piechart/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | KISSY.config("modules",{"kg/kcharts/6.0.1/piechart/util":{requires:["kg/kcharts/6.0.1/piechart/sector","kg/kcharts/6.0.1/tools/color/index","kg/kcharts/6.0.1/raphael/index"]}}); -------------------------------------------------------------------------------- /6.0.1/build/piechart/mods.js: -------------------------------------------------------------------------------- 1 | KISSY.config('modules', { 2 | 'kg/kcharts/6.0.1/piechart/util': { requires: ['kg/kcharts/6.0.1/piechart/sector', 'kg/kcharts/6.0.1/tools/color/index', 'kg/kcharts/6.0.1/raphael/index']} 3 | }); -------------------------------------------------------------------------------- /6.0.1/build/radar/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | KISSY.config("modules",{"kg/kcharts/6.0.1/radar/index":{requires:["base","kg/kcharts/6.0.1/raphael/index","dom","event","kg/kcharts/6.0.1/legend/index"]}}); -------------------------------------------------------------------------------- /6.0.1/build/radar/mods.js: -------------------------------------------------------------------------------- 1 | KISSY.config('modules', { 2 | 'kg/kcharts/6.0.1/radar/index': { requires: ['base', 'kg/kcharts/6.0.1/raphael/index', 'dom', 'event', 'kg/kcharts/6.0.1/legend/index']} 3 | }); -------------------------------------------------------------------------------- /6.0.1/build/raphael/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | -------------------------------------------------------------------------------- /6.0.1/build/raphael/mods.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.1/build/raphael/mods.js -------------------------------------------------------------------------------- /6.0.1/build/realtime/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | -------------------------------------------------------------------------------- /6.0.1/build/realtime/mods.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.1/build/realtime/mods.js -------------------------------------------------------------------------------- /6.0.1/build/scatterchart/cfg-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | KISSY.add("kg/kcharts/6.0.1/scatterchart/cfg",function(a){var b="ks-chart-",c=b+"default",d="{COLOR}";return{themeCls:c,autoRender:!0,title:{content:"",css:{"text-align":"center","font-size":"16px"},isShow:!0},colors:[],subTitle:{content:"",css:{"text-align":"center","font-size":"12px"},isShow:!0},points:{attr:{stroke:"#fff",r:4,"stroke-width":0,fill:d,opacity:.6},hoverAttr:{stroke:"#fff",r:5,fill:d,"stroke-width":0,opacity:1}},legend:{isShow:!1},xLabels:{isShow:!0,css:{color:"#666","font-size":"12px","white-space":"nowrap",position:"absolute"}},yLabels:{isShow:!0,css:{color:"#666","font-size":"12px","white-space":"nowrap",position:"absolute"}},xAxis:{isShow:!0,css:{zIndex:10}},yAxis:{isShow:!0,css:{zIndex:10},num:5},xGrids:{isShow:!0,css:{}},yGrids:{isShow:!0,css:{}},tip:{isShow:!0,clsName:"",template:"",css:{},offset:{x:0,y:0},boundryDetect:!0}}}); -------------------------------------------------------------------------------- /6.0.1/build/scatterchart/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | -------------------------------------------------------------------------------- /6.0.1/build/scatterchart/mods.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.1/build/scatterchart/mods.js -------------------------------------------------------------------------------- /6.0.1/build/template/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | -------------------------------------------------------------------------------- /6.0.1/build/template/mods.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.1/build/template/mods.js -------------------------------------------------------------------------------- /6.0.1/build/thermometer/index-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | KISSY.add("kg/kcharts/6.0.1/thermometer/index",function(a,b){function c(c){this.set(c);var d,e=a.get(c.renderTo);if(!e)throw Error("\u5bb9\u5668\u4e0d\u80fd\u4e3a\u7a7a");d=b(e,c.width,c.height),this.set("paper",d);var f=d.path("M 11 1 a 10 10 0 0 1 -10 10 l 0 218 a 10 10 0 0 1 10 10 l 58 0 a 10 10 0 0 1 10 -10 l 0 -218 a 10 10 0 0 1 -10 -10z");f.attr("fill","#F4A460");var g=d.path("M 34 181 l 0 -151 a 5 5 0 1 1 12 0 l 0 151z");g.attr("stroke-width","0"),g.attr("fill","0-#feaa66:50-#ddd:70-#f5a561:100");var h=30,i=d.rect(35,180-h,10,h);i.attr("stroke-width","0"),i.attr("fill","0-#f00:50-#fdd:75-#f00:100");var j=d.circle(40,200,20);j.attr("stroke-width","0"),j.attr("fill","r(0.75,0.25)#ffffff-#ff0000");for(var k=0;150>=k;k+=15){var l=180-k;d.path("M 47 "+l+" l 10 0z"),d.text(65,l,k/1.5)}}return a.extend(c,a.Base),c},{requires:["kg/kcharts/6.0.1/raphael/index"]}); -------------------------------------------------------------------------------- /6.0.1/build/thermometer/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | KISSY.config("modules",{"kg/kcharts/6.0.1/thermometer/index":{requires:["kg/kcharts/6.0.1/raphael/index"]}}); -------------------------------------------------------------------------------- /6.0.1/build/thermometer/mods.js: -------------------------------------------------------------------------------- 1 | KISSY.config('modules', { 2 | 'kg/kcharts/6.0.1/thermometer/index': { requires: ['kg/kcharts/6.0.1/raphael/index']} 3 | }); -------------------------------------------------------------------------------- /6.0.1/build/tip/assets/tip-min.css: -------------------------------------------------------------------------------- 1 | .ks-chart-default-tip,.ks-chart-analytiks-tip,.ks-chart-rainbow-tip{background:#fff;filter:alpha(opacity=90);-moz-opacity:.9;-khtml-opacity:.9;opacity:.9;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;padding:10px;color:#666;font-family:Microsoft Yahei;z-index:10;font-size:12px;font-weight:bolder;-webkit-box-shadow:2px 2px 2px 2px #ccc;-moz-box-shadow:2px 2px 2px 2px #ccc;box-shadow:2px 2px 2px 2px #ccc}.ks-chart-default-tip span,.ks-chart-analytiks-tip span,.ks-chart-rainbow-tip span{font-weight:400} -------------------------------------------------------------------------------- /6.0.1/build/tip/assets/tip.css: -------------------------------------------------------------------------------- 1 | .ks-chart-default-tip,.ks-chart-analytiks-tip,.ks-chart-rainbow-tip{ 2 | background: #fff; 3 | filter:alpha(opacity =90); 4 | -moz-opacity:0.9 ; 5 | -khtml-opacity: 0.9; 6 | opacity: 0.9; 7 | -moz-border-radius: 10px; 8 | -webkit-border-radius: 10px; 9 | border-radius:10px; 10 | padding:10px; 11 | color:#666; 12 | font-family: Microsoft Yahei; 13 | z-index: 10; 14 | font-size: 12px; 15 | font-weight: bolder; 16 | -webkit-box-shadow:2px 2px 2px 2px #ccc; 17 | -moz-box-shadow:2px 2px 2px 2px #ccc; 18 | box-shadow:2px 2px 2px 2px #ccc; 19 | } 20 | .ks-chart-default-tip span,.ks-chart-analytiks-tip span,.ks-chart-rainbow-tip span{ 21 | font-weight: normal; 22 | } 23 | 24 | -------------------------------------------------------------------------------- /6.0.1/build/tip/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | KISSY.config("modules",{"kg/kcharts/6.0.1/tip/index":{requires:["node","base","anim","kg/kcharts/6.0.1/template/index","kg/kcharts/6.0.1/tip/assets/tip.css"]}}); -------------------------------------------------------------------------------- /6.0.1/build/tip/mods.js: -------------------------------------------------------------------------------- 1 | KISSY.config('modules', { 2 | 'kg/kcharts/6.0.1/tip/index': { requires: ['node', 'base', 'anim', 'kg/kcharts/6.0.1/template/index', 'kg/kcharts/6.0.1/tip/assets/tip.css']} 3 | }); -------------------------------------------------------------------------------- /6.0.1/build/tools/color/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | -------------------------------------------------------------------------------- /6.0.1/build/tools/color/mods.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.1/build/tools/color/mods.js -------------------------------------------------------------------------------- /6.0.1/build/tools/graphtool/index-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | KISSY.add("kg/kcharts/6.0.1/tools/graphtool/index",function(a,b){var c=Math.sqrt,d={},e=function(a,b,d,e,f){var g,h=["M"+[b,d-e].join(","),"L"+[b-e*c(3)/2,d-0+1*e/2].join(","),[b-0+e*c(3)/2,d-0+1*e/2].join(","),"Z"].join(" ");return a&&a.path?(g=a.path(h),g.rotate(f,b,d),g):void 0},f=function(a,b,c,d,e,f){var g,h=["M"+[b,c-e/2].join(","),"L"+[b-0+d/2,c].join(","),[b,c-0+e/2].join(","),[b-d/2,c].join(","),"Z"].join(",");return a&&a.path?(g=a.path(h),g.rotate(f,b,c),g):void 0},g=function(a,b,c,d,e){var f,g=[["M",b-d/2,",",c-e/2].join(""),[" L",b/1+d/2,",",c-e/2," v",e," h",-d,"z"].join("")];return a&&a.path?f=a.path(g):void 0};return d=a.merge(d,{triangle:e,rhomb:f,square:g})},{requires:["kg/kcharts/6.0.1/raphael/index"]}); -------------------------------------------------------------------------------- /6.0.1/build/tools/graphtool/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | KISSY.config("modules",{"kg/kcharts/6.0.1/tools/graphtool/index":{requires:["kg/kcharts/6.0.1/raphael/index"]}}); -------------------------------------------------------------------------------- /6.0.1/build/tools/graphtool/mods.js: -------------------------------------------------------------------------------- 1 | KISSY.config('modules', { 2 | 'kg/kcharts/6.0.1/tools/graphtool/index': { requires: ['kg/kcharts/6.0.1/raphael/index']} 3 | }); -------------------------------------------------------------------------------- /6.0.1/build/tools/htmlpaper/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | -------------------------------------------------------------------------------- /6.0.1/build/tools/htmlpaper/mods.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.1/build/tools/htmlpaper/mods.js -------------------------------------------------------------------------------- /6.0.1/build/tools/touch/index-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | KISSY.add("kg/kcharts/6.0.1/tools/touch/index",function(a){function b(a,b){if(!(a.touches.length>1)){var c=a.changedTouches,d=c[0],e=document.createEvent("MouseEvent");e.initMouseEvent(b,!0,!0,window,1,d.screenX,d.screenY,d.clientX,d.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(e)}}function c(a){var c=f(a);g||c||(g=!0,b(a,"mouseover"),b(a,"mousemove"),b(a,"mousedown"))}function d(a){g&&(b(a,"mousemove"),h=!0)}function e(a){g&&(b(a,"mouseup"),h&&b(a,"mouseout"),h=!1,g=!1)}function f(a){return"INPUT"==a.target.tagName.toUpperCase()?!0:!1}if(!a.UA.ie){var g,h=!1;document.addEventListener("touchstart",c,!0),document.addEventListener("touchmove",d,!0),document.addEventListener("touchend",e,!0)}}); -------------------------------------------------------------------------------- /6.0.1/build/tools/touch/mods-min.js: -------------------------------------------------------------------------------- 1 | /*!build time : 2015-04-14 1:37:57 PM*/ 2 | -------------------------------------------------------------------------------- /6.0.1/build/tools/touch/mods.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.1/build/tools/touch/mods.js -------------------------------------------------------------------------------- /6.0.1/changelog.md: -------------------------------------------------------------------------------- 1 | ### 升级注意事项 2 | - raphael 的svg为relative定位的,升级时需要改为absolute 3 | 4 | ### changelog 5 | - 2013-11-28 bugfix by 治修 6 | - 2013.10.25 升级raphael版本至2.1.2 7 | - 2013.07.15 饼图支持自适应容器 8 | - 2013.12.03 饼图bugfix by 玄道 9 | - 2013.12.18 对kissy1.4的支持 10 | 1. extend的使用方法变了需要做 [兼容性处理](https://gist.github.com/WeweTom/7822062) 11 | 2. 只提供了seed.js,默认是没有DOM,Event模块的,使用需要显示的requires这些模块。 12 | $.all依赖Node模块,需要显示的requires 13 | 14 | - 2014-05-29 修复继承与basechart的数据全零报错的bug by 伯才 15 | - 2014-05-29 修复了父容器display:none导致svg尺寸错误的bug by 伯才 16 | - 2014-07-29 修复了barClick事件不触发的bug by 伯才 17 | 18 | - 2015-03-31 去除http协议头 by 伯才 19 | - 2015-04-14 template模块内置 20 | -------------------------------------------------------------------------------- /6.0.1/demo/dashboard/assets/bg1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.1/demo/dashboard/assets/bg1.png -------------------------------------------------------------------------------- /6.0.1/demo/dashboard/assets/bg2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.1/demo/dashboard/assets/bg2.png -------------------------------------------------------------------------------- /6.0.1/demo/dashboard/assets/pointer1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.1/demo/dashboard/assets/pointer1.png -------------------------------------------------------------------------------- /6.0.1/demo/dashboard/assets/pointer2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.1/demo/dashboard/assets/pointer2.png -------------------------------------------------------------------------------- /6.0.1/demo/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /6.0.1/demo/thermometer/demo.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 温度计 8 | 10 | 11 | 12 |
13 |
14 | 15 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /6.0.1/examples/icons/demo.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | lengend 10 | 16 | 17 | 18 |
19 |
20 | 21 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /6.0.1/examples/icons/demo.js: -------------------------------------------------------------------------------- 1 | KISSY.use("kg/kcharts/6.0.1/raphael/index,dom,event,kg/kcharts/6.0.1/icons/index",function(S,Raphael,D,E,Icons){ 2 | var $con = S.one("#J_Con") 3 | , paper = Raphael($con[0],500,500) 4 | 5 | var x0 = 30; 6 | var y0 = 30; 7 | S.each([ 8 | "rect", 9 | "circle", 10 | "square", 11 | "triangle", 12 | "diamond", 13 | "linecircle", 14 | "linesquare", 15 | "linetriangle", 16 | "linediamond" 17 | ],function(type){ 18 | Icons[type](x0,y0,{ 19 | paper:paper, 20 | size:[1,1], 21 | attrs:{ 22 | fill:"#0a0" 23 | } 24 | }); 25 | x0+=50; 26 | }); 27 | 28 | //bigger 29 | x0 = 30;y0=80; 30 | S.each([ 31 | "rect", 32 | "circle", 33 | "square", 34 | "triangle", 35 | "diamond", 36 | "linecircle", 37 | "linesquare", 38 | "linetriangle", 39 | "linediamond" 40 | ],function(type){ 41 | var set = Icons[type](x0,y0,{ 42 | paper:paper, 43 | size:[1.5,1.5], 44 | attrs:{ 45 | fill:"#0a0" 46 | } 47 | }); 48 | var $path 49 | if(set.clear){ 50 | $path = set[0]; 51 | }else{ 52 | $path = set;//第二元素才是实际的线 53 | } 54 | $path.attr({"stroke":"#fff","stroke-width":2}); 55 | $path 56 | .mouseover(function(){ 57 | $path.attr({"stroke":"#0a0"}); 58 | }) 59 | .mouseout(function(){ 60 | $path.attr({"stroke":"#fff"}); 61 | }); 62 | x0+=50; 63 | }); 64 | }); 65 | -------------------------------------------------------------------------------- /6.0.1/examples/legend/demo.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | lengend 10 | 22 | 23 | 24 |
25 |
26 |
27 |
28 | 29 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /6.0.1/examples/mapchart/map-chart.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | chinaMap 6 | 26 | 27 | 28 |
29 | 30 | 31 | 32 | 33 | 34 | 35 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /6.0.1/examples/mapchart/map-marker.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 地图上的动画icon 8 | 11 | 12 | 13 |
14 |
15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /6.0.1/examples/piechart/pie-all-eg.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | chart test 9 | 22 | 23 | 24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /6.0.1/examples/piechart/pie-donut-bg.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/6.0.1/examples/piechart/pie-donut-bg.jpeg -------------------------------------------------------------------------------- /6.0.1/examples/piechart/test.js: -------------------------------------------------------------------------------- 1 | data ::= String || Object 2 | object ::= { 3 | "success":Bool, 4 | "data":lists 5 | } 6 | lists ::= [] || [{name:String(10)},...] 7 | 8 | -------------------------------------------------------------------------------- /6.0.1/examples/piechart/test_memory.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 性能测试:不断创建销毁raphael实例,看是否会造成内存溢出 6 | 9 | 10 | 11 |
12 |
13 | 14 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /6.0.1/examples/piechart/test_memory2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 性能测试:不断创建销毁raphael实例,看是否会造成内存溢出 (新添加事件) 6 | 9 | 10 | 11 |
12 |
13 | 14 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /6.0.1/examples/realtime/data.php: -------------------------------------------------------------------------------- 1 | ( 2 | [ 3 | [1147651200000,67.79], 4 | [1147737600000,64.98], 5 | [1147824000000,65.26], 6 | [1147910400000,63.18], 7 | [1147996800000,64.51], 8 | [1148256000000,63.38], 9 | [1148342400000,63.15], 10 | [1148428800000,63.34], 11 | [1148515200000,64.33], 12 | [1148601600000,63.55], 13 | [1148947200000,61.22], 14 | [1149033600000,59.77] 15 | ]); 16 | 17 | -------------------------------------------------------------------------------- /6.0.1/examples/realtime/template.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | chart test 8 | 17 | 18 | 19 |
20 |
21 | 22 | 23 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /6.0.1/guide/dashboard.md: -------------------------------------------------------------------------------- 1 | # Demo 2 | [KCharts首页](http://www.kcharts.net) 3 | 4 | # properties 5 | 6 | ## renderTo 7 | 绘制到的dom容器 8 | 9 | ## width 10 | 11 | ## height 12 | 13 | ## ticks 14 | 刻度配置,仅对矢量的码表适用。示例配置: 15 | 16 | ``` 17 | ticks : { 18 | r1:85, //粗刻度的起始半径 19 | r2:90, //细刻度的起始半径 20 | R:95, //末半径 21 | start:0, //初始弧度 22 | end:Math.PI, //末弧度 23 | n:30, //分成的份数 24 | m:5, //粗线的规则 TODO:可以是函数 25 | thickStyle:{ // 粗刻度样式 26 | "stroke":'red' 27 | }, 28 | thinStyle:{ // 细刻度样式 29 | "stroke":'#666' 30 | } 31 | } 32 | ``` 33 | 34 | ## pointer 35 | 指针配置,进对矢量的码表适用,示例: 36 | 37 | ``` 38 | pointer:{ 39 | theme:{ 40 | name:'a', 41 | fill:'red', 42 | stroke:'#999', 43 | r:8, // 圆头半径 44 | R:80 // 指针半径 45 | } 46 | } 47 | ``` 48 | 49 | # method 50 | 51 | ## pointTo 52 | 指针指向某个度数 53 | -------------------------------------------------------------------------------- /6.0.1/guide/funnel.md: -------------------------------------------------------------------------------- 1 | # Funnel 2 | --- 3 | Demo 4 | --- 5 | 6 | [KCharts首页](http://www.kcharts.net) 7 | 8 | 9 | --- 10 | Config(详细配置) 11 | --- 12 | ### 13 | 14 | { id|HTMLElement } 容器 15 | 16 | ### chart 17 | { type } 声明组件的类型 18 | 19 | { marginRight } 漏斗距离整体容器的右边距 注:以右边距为基准,确定这个容器的宽度 20 | 21 | ### title 22 | 23 | { text } 标题 (默认居中) 24 | 25 | { color } 标题颜色 26 | 27 | ### plotOptions 28 | 29 | { dataLabels } tip模版 (以下是对应关系自动转化) 30 | 31 | - `title` { series.name } 32 | 33 | - `name` { series.data[0] } 34 | 35 | - `pointer` { series.data[1] } 36 | 37 | { neckWidth } 脖子的宽度(以百分比为单位) 38 | 39 | { neckStep } 脖子的间距(以PX为单位) 40 | 41 | { neckHeight } 脖子的高度(以百分比为单位,从上至下的高度的百分比) 42 | 43 | { background } 默认的漏斗的背景颜色(从上至下) 44 | 45 | { backgroundHover } 默认的漏斗的背景颜色鼠标hover(从上至下) 46 | 47 | ### series 48 | { name } 内容的标题 49 | 50 | { data } 数据 51 | 52 | -`data[0]` 数据标题 53 | 54 | -`data[1]` 数据数值 55 | 56 | 57 | --- 58 | Method(方法) 59 | --- 60 | 61 | ### _render(arry) 62 | 63 | 渲染图表 (arry 计算实际在画布高度的数组数据) 64 | 65 | ### set(attrConfigs,value) 66 | 67 | attrConfigs 支持 neckWidth,neckStep,neckHeight 的手动修改(如果改变其他的需要手动调用_rednderVal()) 68 | 69 | 70 | ### destroy() 71 | 72 | 清除画布上的所有内容(但不包括foot,如果要清除,需要手动,支持回掉) 73 | 74 | destroy(function(){ 75 | 76 | console.log('我已经清楚了所有的画布内容') 77 | 78 | }) 79 | 80 | --- 81 | Event(事件) 82 | --- 83 | 84 | ### pathClick 85 | 86 | 点击画布事件 87 | 88 | -------------------------------------------------------------------------------- /6.0.1/guide/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | 快速上手——以linechart为例 3 | --- 4 | 5 | ##KCharts首页 6 | - [KCharts 外网](http://kcharts.net) 7 | - [KCharts 内网](http://kcharts.taobao.net) 8 | 9 | 10 | ##组件文档 11 | 12 | ###core 13 | 14 | - [linechart 折线图](linechart.html) 15 | - [barchart 柱状图](barchart.html) 16 | - [piechart 饼图](piechart.html) 17 | - [scatterchart 散点图](scatterchart.html) 18 | - [mapchart 地图](mapchart.html) 19 | - [dashboard 油表](dashboard.html) 20 | - [radar 雷达图](radar.html) 21 | 22 | ###widget 23 | 24 | - [htmlpaper html画布](htmlpaper.html) 25 | - [legend 图例](legend.html) 26 | - [tip 移动标注](tip.html) 27 | 28 | -------------------------------------------------------------------------------- /6.0.1/guide/pyramid.md: -------------------------------------------------------------------------------- 1 | # Funnel 2 | --- 3 | Demo 4 | --- 5 | [pyramid](../demo/pyramid/demo1.html) 金字塔
6 | 7 | 8 | --- 9 | 代码示例 10 | --- 11 | ``` 12 | 13 | //载入Funnel 14 | KISSY.use('kg/kcharts/6.0.1/pyramid/index',function(S,Triangle){ 15 | //数据格式 16 | var data=[ 17 | { 18 | p:[0.75,'AAA','xxxx比'], 19 | d:[ 20 | [0.20,'T1'], 21 | [0.18,'T2'], 22 | [0.29,'T4'] 23 | ] 24 | }, 25 | { 26 | p:[0.25,'BBB','xxxx比'], 27 | d:[ 28 | [0.07,'T3'], 29 | [0.20,'T2'], 30 | [0.21,'T1'], 31 | [0.15,'B2'], 32 | [0.16,'B3'], 33 | [0.13,'B5'] 34 | ] 35 | } 36 | ]; 37 | //容器id 38 | //三角形宽度 39 | //数据 40 | //高亮显示,true:上面高亮,false:下面高亮 41 | var triangle=new Triangle(id,width,data,isRed,color1,color2); 42 | }); 43 | ``` 44 | 45 | --- 46 | Config(详细配置) 47 | --- 48 | ### 49 | 50 | { id } 容器 51 | 52 | { width } 三角形宽度 53 | 54 | {data} 数据源 55 | 56 | {isRed} 高亮显示部分,true:上面高亮,false:下面高亮 57 | 58 | {color1} 上半个的颜色,有默认值 59 | 60 | {color2} 下半个的颜色,有默认值 61 | 62 | 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /6.0.1/guide/radar.md: -------------------------------------------------------------------------------- 1 | # Radar 2 | --- 3 | Demo 4 | --- 5 | [KCharts首页](http://www.kcharts.net) 6 | 7 | # properties 8 | 9 | ## renderTo 10 | 渲染到的dom元素,比如#J_Radar 11 | 12 | ## width 13 | 雷达图宽度宽度,未设置的话,自适应 14 | 15 | ## height 16 | 雷达图宽度高度,未设置的话,自适应 17 | 18 | ## cx 19 | 中心点横坐标 20 | 21 | ## cy 22 | 中心点纵坐标 23 | 24 | ## r 25 | 雷达图半径 26 | 27 | ## max 28 | 最大值 29 | 30 | ## labels 31 | 雷达图标注 32 | 33 | ## scoreGroups 34 | 数据分组,格式为 35 | 36 | ``` 37 | [{title: "Real Madrid C.F.", scores: [ 8, 9, 7, 9, 7, 6]},{title: "FC Barcelona", scores: [ 10, 7, 10, 7, 6, 8]}] 38 | ``` 39 | 40 | 每个数据项可以进一步配置 41 | 42 | ``` 43 | { 44 | title: "Real Madrid C.F.", 45 | scores: [ 8, 9, 7, 9, 7, 6], 46 | draw_options: { 47 | lines: {'stroke-width':'4','stroke':'#0070bb','stroke-opacity':0.7,'fill':'#f7d2a8','fill-opacity':0.6}, 48 | points: {'fill':'#f05a23','stroke-width':'1.5','stroke':'#333', 'size': 6} 49 | } 50 | } 51 | ``` 52 | ## legend 53 | 标注配置,比如: 54 | 55 | ``` 56 | legend:{ 57 | globalConfig:{ 58 | iconsize:[2,2], 59 | icontype:"circle" 60 | } 61 | } 62 | ``` 63 | 64 | ## options 65 | 绘制选项 66 | 67 | 68 | # method 69 | 70 | ## render 71 | 绘制雷达图 72 | 73 | 74 | 75 | -------------------------------------------------------------------------------- /6.0.1/guide/tip.md: -------------------------------------------------------------------------------- 1 | # Tip 2 | 3 | --- 4 | Config(详细配置) 5 | --- 6 | ### rootNode 7 | { id|HTMLElement } 容器 默认为body 8 | 9 | ### clsName 10 | {string} 主题类名 默认"ks-chart-default" 可选"ks-chart-analytiks","ks-chart-analytiks" 也可自定义样式类名 11 | 12 | ### boundry 13 | {object} 边界 14 | 15 | - `x` { number } 水平距离 16 | - `y` { number } 垂直距离 17 | - `width` { number } 宽度 18 | - `height` { number } 高度 19 | 20 | ### tpl 21 | {string} 模版 参照KISSY/Template 22 | 23 | ### alignX 24 | {string} 水平对齐方式 可选"left","center","right" 默认"left" 25 | 26 | ### alignY 27 | {string} 垂直对齐方式 可选"top","middle","bottom" 默认"top" 28 | 29 | ### offset 30 | {object} 偏移量 31 | 32 | - `x` { number } 水平距离 33 | - `y` { number } 垂直距离 34 | 35 | ### anim 36 | {object} 动画配置 37 | 38 | - `easing` { string } 动画效果 默认"easeOut" 39 | - `duration` { number } 动画周期 默认0.25 40 | 41 | ### corner 42 | {object} 尖角 43 | 44 | - `isShow` { boolean } 是否显示 45 | - `tpl` { string } 模版 参照KISSY/Template 46 | - `css` { object } css样式 47 | 48 | 49 | --- 50 | Method(方法) 51 | --- 52 | 53 | ### show() 54 | 显示tip 55 | 56 | ### hide() 57 | 隐藏tip 58 | 59 | ### isVisable() 60 | tip是否可见,返回布尔值 61 | 62 | ### moveTo(x,y) 63 | 快速定位到相对于rootNode的位置 64 | 65 | ### animateTo(x,y) 66 | 移动到相对于rootNode的位置 67 | 68 | ### renderTemplate(tpl,data) 69 | 将tpl渲染data后填充tip内容 70 | 71 | ### setContent(content) 72 | 填充content至tip 73 | 74 | ### render() 75 | 渲染 76 | -------------------------------------------------------------------------------- /6.0.1/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "kcharts", 3 | "version": "6.0.1", 4 | "private": true, 5 | "devDependencies": { 6 | "grunt-contrib-uglify": "~0.2.0", 7 | "grunt": "~0.4.1", 8 | "grunt-kmc": "~0.1.1", 9 | "grunt-contrib-less": "~0.5.0", 10 | "grunt-contrib-copy": "", 11 | "grunt-contrib-clean": "~0.4.0", 12 | "grunt-contrib-cssmin": "~0.5.0" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /6.0.1/roadmap.md: -------------------------------------------------------------------------------- 1 | # 1.3 2 | ## linechart/barchart 3 | - 倾斜的x轴标注添加到API中 4 | - 叠加的柱状图支持template索引获取 @桐人 5 | - 线图上的点事件支持,比如pointclick、pointover、pointout 6 | 7 | ## piechart 8 | - legend集成到API中 9 | - label标注可选,既可以一曲线条线指出来进行文案标注,也可以只要文案标注,并且可以 10 | 标注在饼图内部 11 | - 饼图的渐变色 12 | - 更加丰富的事件支持 labelclick labeldbclick sectorclick? 13 | 14 | ## 接口统一问题 15 | - 仙羽反馈barchart是否可以和piechart的配置接口统一掉 16 | 17 | ## kissy 1.4 支持 18 | > note: 1.2已经支持kissy 1.4 ,需要同步到1.3版本 19 | 20 | ## tip问题 21 | - 第一此不弹出tip的情况 22 | 23 | # 2.0 24 | - 更加漂亮的颜色主题 25 | - 混合的图表,常见的需求是linechart、barchart、pie的混搭 26 | - 提高接口的一致性 27 | - **delay** isv适配 28 | -------------------------------------------------------------------------------- /6.0.1/src/dashboard/pointer-pic.js: -------------------------------------------------------------------------------- 1 | // -*- coding: utf-8; -*- 2 | /** 3 | * 指针 4 | * @author cookieu@gmail.com 5 | * */ 6 | ;KISSY.add(function(S,Pointer){ 7 | function PicturePointer(){ 8 | PicturePointer.superclass.constructor.apply(this,arguments) 9 | var pointer = this.get('pointer') 10 | , paper = this.get('paper') 11 | , dashboard = this.get('dashboard') 12 | , cx0 = this.get('cy') 13 | , cy0 = this.get('cx') 14 | , cx = dashboard.get('cx') 15 | , cy = dashboard.get('cy') 16 | 17 | this.pointer = pointer 18 | this.cx = cx0 19 | this.cy = cy0 20 | this.paperCx = cx 21 | this.paperCy = cy 22 | } 23 | 24 | S.extend(PicturePointer,Pointer,{ 25 | pointTo:function(angle,effect){ 26 | var t = ['r',angle,this.paperCx,this.paperCy].join(',') 27 | if(effect){ 28 | this.pointer.animate({transform:t},effect.ms,effect.easing,effect.callback) 29 | }else{ 30 | this.pointer.transform(t) 31 | } 32 | return this 33 | } 34 | }) 35 | return PicturePointer 36 | },{ 37 | requires:['./pointer'] 38 | }) 39 | -------------------------------------------------------------------------------- /6.0.1/src/thermometer/index.js: -------------------------------------------------------------------------------- 1 | // steel from http://svenbieder.com/thermometer-gauge/ 2 | ;KISSY.add(function(S,Raphael){ 3 | function Thermometer(cfg){ 4 | this.set(cfg); 5 | var container = S.get(cfg.renderTo); 6 | var paper; 7 | if(container){ 8 | paper = Raphael(container,cfg.width,cfg.height) 9 | }else{ 10 | throw Error("容器不能为空"); 11 | } 12 | this.set("paper",paper); 13 | 14 | // 背景 15 | var backboard = paper.path("M 11 1 a 10 10 0 0 1 -10 10 l 0 218 a 10 10 0 0 1 10 10 l 58 0 a 10 10 0 0 1 10 -10 l 0 -218 a 10 10 0 0 1 -10 -10z"); 16 | backboard.attr("fill", "#F4A460"); 17 | 18 | // 玻璃管(下部被红色部分挡住) 19 | var glassbody = paper.path("M 34 181 l 0 -151 a 5 5 0 1 1 12 0 l 0 151z"); 20 | glassbody.attr("stroke-width", "0"); 21 | glassbody.attr("fill", "0-#feaa66:50-#ddd:70-#f5a561:100"); 22 | 23 | 24 | var fluidheight = 30 25 | // 玻璃管中的mercury 26 | var fluid = paper.rect(35, 180 - fluidheight, 10, fluidheight); 27 | fluid.attr("stroke-width", "0"); 28 | fluid.attr("fill", "0-#f00:50-#fdd:75-#f00:100"); 29 | 30 | // 球形 31 | var liqcon = paper.circle(40, 200, 20); 32 | liqcon.attr("stroke-width", "0"); 33 | liqcon.attr("fill", "r(0.75,0.25)#ffffff-#ff0000"); 34 | 35 | for (var i = 0; i <= 150; i += 15) { 36 | var ycoord = 180 - i; 37 | var line = paper.path("M 47 " + ycoord + " l 10 0z"); 38 | var text = paper.text(65, ycoord, i / 1.5); 39 | } 40 | } 41 | S.extend(Thermometer,S.Base); 42 | return Thermometer; 43 | },{ 44 | requires:["kg/kcharts/6.0.1/raphael/index"] 45 | }); 46 | -------------------------------------------------------------------------------- /6.0.1/src/tip/assets/tip-min.css: -------------------------------------------------------------------------------- 1 | .ks-chart-default-tip,.ks-chart-analytiks-tip,.ks-chart-rainbow-tip{ 2 | background: #fff; 3 | filter:alpha(opacity =90); 4 | -moz-opacity:0.9 ; 5 | -khtml-opacity: 0.9; 6 | opacity: 0.9; 7 | -moz-border-radius: 4px 4px 4px 4px; 8 | -webkit-border-radius: 4px 4px 4px 4px; 9 | border-radius:4px 4px 4px 4px ; 10 | padding:2px 4px; 11 | color:#666; 12 | font-family: Microsoft Yahei; 13 | z-index: 10; 14 | font-size: 12px; 15 | font-weight: bolder; 16 | border: 1px solid; 17 | } 18 | .ks-chart-default-tip span,.ks-chart-analytiks-tip span,.ks-chart-rainbow-tip span{ 19 | font-weight: normal; 20 | } 21 | 22 | -------------------------------------------------------------------------------- /6.0.1/src/tip/assets/tip.css: -------------------------------------------------------------------------------- 1 | .ks-chart-default-tip,.ks-chart-analytiks-tip,.ks-chart-rainbow-tip{ 2 | background: #fff; 3 | filter:alpha(opacity =90); 4 | -moz-opacity:0.9 ; 5 | -khtml-opacity: 0.9; 6 | opacity: 0.9; 7 | -moz-border-radius: 10px; 8 | -webkit-border-radius: 10px; 9 | border-radius:10px; 10 | padding:10px; 11 | color:#666; 12 | font-family: Microsoft Yahei; 13 | z-index: 10; 14 | font-size: 12px; 15 | font-weight: bolder; 16 | -webkit-box-shadow:2px 2px 2px 2px #ccc; 17 | -moz-box-shadow:2px 2px 2px 2px #ccc; 18 | box-shadow:2px 2px 2px 2px #ccc; 19 | } 20 | .ks-chart-default-tip span,.ks-chart-analytiks-tip span,.ks-chart-rainbow-tip span{ 21 | font-weight: normal; 22 | } 23 | 24 | -------------------------------------------------------------------------------- /6.0.1/src/tools/graphtool/index.js: -------------------------------------------------------------------------------- 1 | //简单图形绘制的工具 2 | ;KISSY.add(function(S,Raphael){ 3 | 4 | var sqrt = Math.sqrt; 5 | 6 | var graphTool = {}; 7 | //等边三角形 8 | var triangle = function(paper,x,y,r,deg){ 9 | var path = [ 10 | "M" + [x,y-r].join(","), 11 | "L" + [x - r * sqrt(3)/2,y - 0 + r * 1/2].join(","), 12 | [x - 0 + r * sqrt(3)/2,y - 0 + r * 1/2].join(","), 13 | "Z" 14 | ].join(" "), 15 | el; 16 | 17 | if(paper && paper.path){ 18 | el = paper.path(path); 19 | // el.attr({cx:x,cy:y}); //伪造中心点 20 | el.rotate(deg,x,y); 21 | return el; 22 | } 23 | }; 24 | //菱形 25 | var rhomb = function(paper,x,y,w,h,deg){ 26 | var path = [ 27 | "M" + [x,y-h/2].join(","), 28 | "L" + [x - 0 + w/2,y].join(","), 29 | [x,y - 0 + h/2].join(","), 30 | [x - w/2,y].join(","), 31 | "Z" 32 | ].join(","), 33 | el; 34 | if(paper && paper.path){ 35 | el = paper.path(path); 36 | // el.attr({cx:x,cy:y}); //伪造中心点 37 | el.rotate(deg,x,y); 38 | return el; 39 | } 40 | }; 41 | 42 | var square = function(paper,x,y,w,h){ 43 | var path = [ 44 | ["M",x-w/2,",",y-h/2].join(""), 45 | [" L",x/1+w/2,",",y-h/2," v",h," h",-w,'z'].join("") 46 | ],el; 47 | if(paper && paper.path){ 48 | el = paper.path(path); 49 | return el; 50 | } 51 | } 52 | 53 | graphTool = S.merge(graphTool,{ 54 | triangle:triangle, 55 | rhomb:rhomb, 56 | square:square 57 | }); 58 | 59 | return graphTool; 60 | },{requires:['kg/kcharts/6.0.1/raphael/index']}); -------------------------------------------------------------------------------- /6.0.1/test/datetime/choose-range.css: -------------------------------------------------------------------------------- 1 | .kc-range-inner{ 2 | position: absolute; 3 | width: 100%; 4 | height: 100%; 5 | z-index: 100; 6 | } 7 | .kc-range-inner .kc-range-block{ 8 | height: 100%; 9 | position: absolute; 10 | background: #fff; 11 | opacity: 0.8; 12 | } 13 | .kc-range-inner .kc-range-block-left{ 14 | border-top:1px solid #000; 15 | border-right:1px solid #000; 16 | } 17 | .kc-range-inner .kc-range-block-right{ 18 | border-top:1px solid #000; 19 | border-left:1px solid #000; 20 | } 21 | 22 | .kc-range-inner .kc-range-btn{ 23 | width:10px; 24 | height: 40px; 25 | position: absolute; 26 | } -------------------------------------------------------------------------------- /6.0.1/test/datetime/choose-range.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 大数据量线图的例子 7 | 8 | 9 | 25 | 26 | 27 |
28 |
29 |
30 |
31 | 32 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /6.0.1/test/other/catmull-rom-test.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | -------------------------------------------------------------------------------- /6.0.1/test/runner.js: -------------------------------------------------------------------------------- 1 | KISSY.add(function(){ 2 | //在这里requires需要运行的用例文件 3 | },{requires:['test/spec/index-spec']}) -------------------------------------------------------------------------------- /6.0.1/test/spec/index-spec.js: -------------------------------------------------------------------------------- 1 | KISSY.add(function (S, Node,Demo) { 2 | var $ = Node.all; 3 | describe('kcharts', function () { 4 | it('Instantiation of components',function(){ 5 | var demo = new Demo(); 6 | expect(S.isObject(demo)).toBe(true); 7 | }) 8 | }); 9 | 10 | },{requires:['node','kg/kcharts/6.0.1//']}); -------------------------------------------------------------------------------- /6.0.1/totoro-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner":"./test/runner.html" 3 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ### ![Kcharts](http://img02.taobaocdn.com/tps/i2/T1TQygXEteXXXr6JI6-109-50.png) ### 2 | ##基于KISSY的图表集合 3 | * 包含业务常用图表类型 4 | * 底层基于raphael图形库 5 | * 采用html+css定制非矢量图形样式 6 | * 包含全面文档和在线图表生成器 7 | 8 | kcharts 首页: 9 | [http://kcharts.net](http://kcharts.net) 10 | 11 | ### 旺旺交流群 12 | - 818302516 13 | 14 | 15 | -------------------------------------------------------------------------------- /build/dashboard/pointer-pic.js: -------------------------------------------------------------------------------- 1 | define('kg/kcharts/5.0.0/dashboard/pointer-pic',["util","./pointer"],function(require, exports, module) { 2 | 3 | 4 | var Util = require('util'), 5 | Pointer = require('./pointer'); 6 | 7 | function PicturePointer(){ 8 | PicturePointer.superclass.constructor.apply(this,arguments) 9 | var pointer = this.get('pointer') 10 | , paper = this.get('paper') 11 | , dashboard = this.get('dashboard') 12 | , cx0 = this.get('cy') 13 | , cy0 = this.get('cx') 14 | , cx = dashboard.get('cx') 15 | , cy = dashboard.get('cy') 16 | 17 | this.pointer = pointer 18 | this.cx = cx0 19 | this.cy = cy0 20 | this.paperCx = cx 21 | this.paperCy = cy 22 | } 23 | 24 | Util.extend(PicturePointer,Pointer,{ 25 | pointTo:function(angle,effect){ 26 | var t = ['r',angle,this.paperCx,this.paperCy].join(',') 27 | if(effect){ 28 | this.pointer.animate({transform:t},effect.ms,effect.easing,effect.callback) 29 | }else{ 30 | this.pointer.transform(t) 31 | } 32 | return this 33 | } 34 | }) 35 | return PicturePointer 36 | }); -------------------------------------------------------------------------------- /build/tools/graphtool/index.js: -------------------------------------------------------------------------------- 1 | define('kg/kcharts/5.0.0/tools/graphtool/index',["util","kg/kcharts/5.0.0/raphael/index"],function(require, exports, module) { 2 | 3 | var Util = require("util"), 4 | Raphael = require("kg/kcharts/5.0.0/raphael/index"); 5 | var sqrt = Math.sqrt; 6 | var graphTool = {}; 7 | 8 | var triangle = function(paper,x,y,r,deg){ 9 | var path = [ 10 | "M" + [x,y-r].join(","), 11 | "L" + [x - r * sqrt(3)/2,y - 0 + r * 1/2].join(","), 12 | [x - 0 + r * sqrt(3)/2,y - 0 + r * 1/2].join(","), 13 | "Z" 14 | ].join(" "), 15 | el; 16 | 17 | if(paper && paper.path){ 18 | el = paper.path(path); 19 | 20 | el.rotate(deg,x,y); 21 | return el; 22 | } 23 | }; 24 | 25 | var rhomb = function(paper,x,y,w,h,deg){ 26 | var path = [ 27 | "M" + [x,y-h/2].join(","), 28 | "L" + [x - 0 + w/2,y].join(","), 29 | [x,y - 0 + h/2].join(","), 30 | [x - w/2,y].join(","), 31 | "Z" 32 | ].join(","), 33 | el; 34 | if(paper && paper.path){ 35 | el = paper.path(path); 36 | 37 | el.rotate(deg,x,y); 38 | return el; 39 | } 40 | }; 41 | 42 | var square = function(paper,x,y,w,h){ 43 | var path = [ 44 | ["M",x-w/2,",",y-h/2].join(""), 45 | [" L",x/1+w/2,",",y-h/2," v",h," h",-w,'z'].join("") 46 | ],el; 47 | if(paper && paper.path){ 48 | el = paper.path(path); 49 | return el; 50 | } 51 | } 52 | 53 | graphTool = Util.merge(graphTool,{ 54 | triangle:triangle, 55 | rhomb:rhomb, 56 | square:square 57 | }); 58 | 59 | return graphTool; 60 | }); -------------------------------------------------------------------------------- /changelog.md: -------------------------------------------------------------------------------- 1 | ### 升级注意事项 2 | - raphael 的svg为relative定位的,升级时需要改为absolute 3 | 4 | ### changelog 5 | - 2013-11-28 bugfix by 治修 6 | - 2013-10-25 升级raphael版本至2.1.2 7 | - 2013-07-15 饼图支持自适应容器 8 | - 2013-12-03 饼图bugfix by 玄道 9 | - 2013-12-18 对kissy1.4的支持 10 | 1. extend的使用方法变了需要做 [兼容性处理](https://gist.github.com/WeweTom/7822062) 11 | 2. 只提供了seed.js,默认是没有DOM,Event模块的,使用需要显示的requires这些模块。 12 | $.all依赖Node模块,需要显示的requires 13 | 14 | - 2014-05-29 修复继承与basechart的数据全零报错的bug by 伯才 15 | - 2014-05-29 修复了父容器display:none导致svg尺寸错误的bug by 伯才 16 | - 2014-07-29 修复了barClick事件不触发的bug 17 | - 2014-11-27 升级5.0.0 支持KISSY 5.0+ 18 | -------------------------------------------------------------------------------- /demo/dashboard/assets/bg1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/demo/dashboard/assets/bg1.png -------------------------------------------------------------------------------- /demo/dashboard/assets/bg2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/demo/dashboard/assets/bg2.png -------------------------------------------------------------------------------- /demo/dashboard/assets/pointer1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/demo/dashboard/assets/pointer1.png -------------------------------------------------------------------------------- /demo/dashboard/assets/pointer2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/demo/dashboard/assets/pointer2.png -------------------------------------------------------------------------------- /demo/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/thermometer/demo.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 温度计 8 | 10 | 11 | 12 |
13 |
14 | 15 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /doc/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | npm-debug.log 4 | *.swp 5 | .sw* 6 | .idea/* -------------------------------------------------------------------------------- /doc/README.md: -------------------------------------------------------------------------------- 1 | ### ![Kcharts](http://img02.taobaocdn.com/tps/i2/T1TQygXEteXXXr6JI6-109-50.png) ### 2 | ##基于KISSY的图表集合 3 | * 包含业务常用图表类型 4 | * 底层基于raphael图形库 5 | * 采用html+css定制非矢量图形样式 6 | * 包含全面文档和在线图表生成器 7 | 8 | kcharts 首页: 9 | [http://kcharts.net](http://kcharts.net) 10 | 11 | ### 旺旺交流群 12 | - 818302516 13 | 14 | 15 | -------------------------------------------------------------------------------- /doc/build/dashboard/pointer-pic.js: -------------------------------------------------------------------------------- 1 | define('kg/kcharts/5.0.1/dashboard/pointer-pic',["util","./pointer"],function(require, exports, module) { 2 | 3 | 4 | var Util = require('util'), 5 | Pointer = require('./pointer'); 6 | 7 | function PicturePointer(){ 8 | PicturePointer.superclass.constructor.apply(this,arguments) 9 | var pointer = this.get('pointer') 10 | , paper = this.get('paper') 11 | , dashboard = this.get('dashboard') 12 | , cx0 = this.get('cy') 13 | , cy0 = this.get('cx') 14 | , cx = dashboard.get('cx') 15 | , cy = dashboard.get('cy') 16 | 17 | this.pointer = pointer 18 | this.cx = cx0 19 | this.cy = cy0 20 | this.paperCx = cx 21 | this.paperCy = cy 22 | } 23 | 24 | Util.extend(PicturePointer,Pointer,{ 25 | pointTo:function(angle,effect){ 26 | var t = ['r',angle,this.paperCx,this.paperCy].join(',') 27 | if(effect){ 28 | this.pointer.animate({transform:t},effect.ms,effect.easing,effect.callback) 29 | }else{ 30 | this.pointer.transform(t) 31 | } 32 | return this 33 | } 34 | }) 35 | return PicturePointer 36 | }); -------------------------------------------------------------------------------- /doc/build/tools/graphtool/index.js: -------------------------------------------------------------------------------- 1 | define('kg/kcharts/5.0.1/tools/graphtool/index',["util","kg/kcharts/5.0.1/raphael/index"],function(require, exports, module) { 2 | 3 | var Util = require("util"), 4 | Raphael = require("kg/kcharts/5.0.1/raphael/index"); 5 | var sqrt = Math.sqrt; 6 | var graphTool = {}; 7 | 8 | var triangle = function(paper,x,y,r,deg){ 9 | var path = [ 10 | "M" + [x,y-r].join(","), 11 | "L" + [x - r * sqrt(3)/2,y - 0 + r * 1/2].join(","), 12 | [x - 0 + r * sqrt(3)/2,y - 0 + r * 1/2].join(","), 13 | "Z" 14 | ].join(" "), 15 | el; 16 | 17 | if(paper && paper.path){ 18 | el = paper.path(path); 19 | 20 | el.rotate(deg,x,y); 21 | return el; 22 | } 23 | }; 24 | 25 | var rhomb = function(paper,x,y,w,h,deg){ 26 | var path = [ 27 | "M" + [x,y-h/2].join(","), 28 | "L" + [x - 0 + w/2,y].join(","), 29 | [x,y - 0 + h/2].join(","), 30 | [x - w/2,y].join(","), 31 | "Z" 32 | ].join(","), 33 | el; 34 | if(paper && paper.path){ 35 | el = paper.path(path); 36 | 37 | el.rotate(deg,x,y); 38 | return el; 39 | } 40 | }; 41 | 42 | var square = function(paper,x,y,w,h){ 43 | var path = [ 44 | ["M",x-w/2,",",y-h/2].join(""), 45 | [" L",x/1+w/2,",",y-h/2," v",h," h",-w,'z'].join("") 46 | ],el; 47 | if(paper && paper.path){ 48 | el = paper.path(path); 49 | return el; 50 | } 51 | } 52 | 53 | graphTool = Util.merge(graphTool,{ 54 | triangle:triangle, 55 | rhomb:rhomb, 56 | square:square 57 | }); 58 | 59 | return graphTool; 60 | }); -------------------------------------------------------------------------------- /doc/changelog.md: -------------------------------------------------------------------------------- 1 | ### 升级注意事项 2 | - raphael 的svg为relative定位的,升级时需要改为absolute 3 | 4 | ### changelog 5 | - 2013-11-28 bugfix by 治修 6 | - 2013-10-25 升级raphael版本至2.1.2 7 | - 2013-07-15 饼图支持自适应容器 8 | - 2013-12-03 饼图bugfix by 玄道 9 | - 2013-12-18 对kissy1.4的支持 10 | 1. extend的使用方法变了需要做 [兼容性处理](https://gist.github.com/WeweTom/7822062) 11 | 2. 只提供了seed.js,默认是没有DOM,Event模块的,使用需要显示的requires这些模块。 12 | $.all依赖Node模块,需要显示的requires 13 | 14 | - 2014-05-29 修复继承与basechart的数据全零报错的bug by 伯才 15 | - 2014-05-29 修复了父容器display:none导致svg尺寸错误的bug by 伯才 16 | - 2014-07-29 修复了barClick事件不触发的bug 17 | - 2014-11-27 升级5.0.0 支持KISSY 5.0+ 18 | - 2015-01-14 升级5.0.1 解决combine出错的问题 19 | -------------------------------------------------------------------------------- /doc/demo/dashboard/assets/bg1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/doc/demo/dashboard/assets/bg1.png -------------------------------------------------------------------------------- /doc/demo/dashboard/assets/bg2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/doc/demo/dashboard/assets/bg2.png -------------------------------------------------------------------------------- /doc/demo/dashboard/assets/pointer1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/doc/demo/dashboard/assets/pointer1.png -------------------------------------------------------------------------------- /doc/demo/dashboard/assets/pointer2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kissygalleryteam/kcharts/5874ca3d85d5ecbe95dfe07000d24c6022d48729/doc/demo/dashboard/assets/pointer2.png -------------------------------------------------------------------------------- /doc/demo/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /doc/demo/thermometer/demo.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 温度计 8 | 10 | 11 | 12 |
13 |
14 | 15 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /doc/guide/dashboard.md: -------------------------------------------------------------------------------- 1 | # Demo 2 | [KCharts首页](http://www.kcharts.net) 3 | 4 | # properties 5 | 6 | ## renderTo 7 | 绘制到的dom容器 8 | 9 | ## width 10 | 11 | ## height 12 | 13 | ## ticks 14 | 刻度配置,仅对矢量的码表适用。示例配置: 15 | 16 | ``` 17 | ticks : { 18 | r1:85, //粗刻度的起始半径 19 | r2:90, //细刻度的起始半径 20 | R:95, //末半径 21 | start:0, //初始弧度 22 | end:Math.PI, //末弧度 23 | n:30, //分成的份数 24 | m:5, //粗线的规则 TODO:可以是函数 25 | thickStyle:{ // 粗刻度样式 26 | "stroke":'red' 27 | }, 28 | thinStyle:{ // 细刻度样式 29 | "stroke":'#666' 30 | } 31 | } 32 | ``` 33 | 34 | ## pointer 35 | 指针配置,进对矢量的码表适用,示例: 36 | 37 | ``` 38 | pointer:{ 39 | theme:{ 40 | name:'a', 41 | fill:'red', 42 | stroke:'#999', 43 | r:8, // 圆头半径 44 | R:80 // 指针半径 45 | } 46 | } 47 | ``` 48 | 49 | # method 50 | 51 | ## pointTo 52 | 指针指向某个度数 53 | -------------------------------------------------------------------------------- /doc/guide/funnel.md: -------------------------------------------------------------------------------- 1 | # Funnel 2 | --- 3 | Demo 4 | --- 5 | 6 | [KCharts首页](http://www.kcharts.net) 7 | 8 | 9 | --- 10 | Config(详细配置) 11 | --- 12 | ### 13 | 14 | { id|HTMLElement } 容器 15 | 16 | ### chart 17 | { type } 声明组件的类型 18 | 19 | { marginRight } 漏斗距离整体容器的右边距 注:以右边距为基准,确定这个容器的宽度 20 | 21 | ### title 22 | 23 | { text } 标题 (默认居中) 24 | 25 | { color } 标题颜色 26 | 27 | ### plotOptions 28 | 29 | { dataLabels } tip模版 (以下是对应关系自动转化) 30 | 31 | - `title` { series.name } 32 | 33 | - `name` { series.data[0] } 34 | 35 | - `pointer` { series.data[1] } 36 | 37 | { neckWidth } 脖子的宽度(以百分比为单位) 38 | 39 | { neckStep } 脖子的间距(以PX为单位) 40 | 41 | { neckHeight } 脖子的高度(以百分比为单位,从上至下的高度的百分比) 42 | 43 | { background } 默认的漏斗的背景颜色(从上至下) 44 | 45 | { backgroundHover } 默认的漏斗的背景颜色鼠标hover(从上至下) 46 | 47 | ### series 48 | { name } 内容的标题 49 | 50 | { data } 数据 51 | 52 | -`data[0]` 数据标题 53 | 54 | -`data[1]` 数据数值 55 | 56 | 57 | --- 58 | Method(方法) 59 | --- 60 | 61 | ### _render(arry) 62 | 63 | 渲染图表 (arry 计算实际在画布高度的数组数据) 64 | 65 | ### set(attrConfigs,value) 66 | 67 | attrConfigs 支持 neckWidth,neckStep,neckHeight 的手动修改(如果改变其他的需要手动调用_rednderVal()) 68 | 69 | 70 | ### destroy() 71 | 72 | 清除画布上的所有内容(但不包括foot,如果要清除,需要手动,支持回掉) 73 | 74 | destroy(function(){ 75 | 76 | console.log('我已经清楚了所有的画布内容') 77 | 78 | }) 79 | 80 | --- 81 | Event(事件) 82 | --- 83 | 84 | ### pathClick 85 | 86 | 点击画布事件 87 | 88 | -------------------------------------------------------------------------------- /doc/guide/htmlpaper.md: -------------------------------------------------------------------------------- 1 | # HtmlPaper 2 | 3 | --- 4 | Demo 5 | --- 6 | [KCharts首页](http://www.kcharts.net) 7 | 8 | --- 9 | Method(方法) 10 | --- 11 | 12 | ### text(x,y,str,h_align,v_align) 插入文本,返回NodeList 13 | - `x` {number} 横坐标 14 | - `y` {number} 纵坐标 15 | - `str` {string} 文本或html 16 | - `h_align` {string} 可选,水平对齐方式 可选参数有:"left","right","center" 17 | - `v_align` {string} 可选,垂直对齐方式 可选参数有:"top","middle","bottom" 18 | 19 | ``` 20 | //example 21 | ... 22 | var paper = linechart.getPaper(); //获取html画布 23 | paper.text(0,100,"这个是文本","left","top").css({color:"red"});//插入文本 24 | 25 | ``` 26 | 27 | ### rect(x,y,w,h) 插入矩形 28 | - `x` {number} 横坐标 29 | - `y` {number} 纵坐标 30 | - `w` {number} 宽度 31 | - `h` {number} 高度 32 | 33 | ``` 34 | //example 35 | ... 36 | var paper = linechart.getPaper(); //获取html画布 37 | paper.rect(0,100,200,200).css({border:"1px solid red"});//插入矩形 38 | 39 | ``` 40 | 41 | ### lineX(x,y,len) 画横线 42 | - `x` {number} 横坐标 43 | - `y` {number} 纵坐标 44 | - `len` {number} 长度 45 | 46 | ``` 47 | //example 48 | ... 49 | var paper = linechart.getPaper(); //获取html画布 50 | paper.lineX(0,100,200).css({border-top:"1px solid red"}); 51 | 52 | ``` 53 | 54 | ### lineY(x,y,len) 画竖线 55 | - `x` {number} 横坐标 56 | - `y` {number} 纵坐标 57 | - `len` {number} 长度 58 | 59 | ``` 60 | //example 61 | ... 62 | var paper = linechart.getPaper(); //获取html画布 63 | paper.lineY(0,100,200).css({border-left:"1px solid red"}); 64 | 65 | ``` 66 | 67 | ### clear() 清除画布上所有内容 68 | 69 | ``` 70 | //example 71 | ... 72 | var paper = linechart.getPaper(); //获取html画布 73 | ... 74 | paper.clear(); //清除画布 75 | 76 | ``` 77 | -------------------------------------------------------------------------------- /doc/guide/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | 快速上手——以linechart为例 3 | --- 4 | 5 | ##KCharts首页 6 | - [KCharts 外网](http://kcharts.net) 7 | - [KCharts 内网](http://kcharts.taobao.net) 8 | 9 | 10 | ##组件文档 11 | 12 | ###core 13 | 14 | - [linechart 折线图](linechart.html) 15 | - [barchart 柱状图](barchart.html) 16 | - [piechart 饼图](piechart.html) 17 | - [scatterchart 散点图](scatterchart.html) 18 | - [mapchart 地图](mapchart.html) 19 | - [dashboard 油表](dashboard.html) 20 | - [radar 雷达图](radar.html) 21 | 22 | ###widget 23 | 24 | - [htmlpaper html画布](htmlpaper.html) 25 | - [legend 图例](legend.html) 26 | - [tip 移动标注](tip.html) 27 | 28 | -------------------------------------------------------------------------------- /doc/guide/pyramid.md: -------------------------------------------------------------------------------- 1 | # Funnel 2 | --- 3 | Demo 4 | --- 5 | [pyramid](../demo/pyramid/demo1.html) 金字塔
6 | 7 | 8 | --- 9 | 代码示例 10 | --- 11 | ``` 12 | 13 | //载入Funnel 14 | KISSY.use('kg/kcharts/2.0.0/pyramid/index',function(S,Triangle){ 15 | //数据格式 16 | var data=[ 17 | { 18 | p:[0.75,'AAA','xxxx比'], 19 | d:[ 20 | [0.20,'T1'], 21 | [0.18,'T2'], 22 | [0.29,'T4'] 23 | ] 24 | }, 25 | { 26 | p:[0.25,'BBB','xxxx比'], 27 | d:[ 28 | [0.07,'T3'], 29 | [0.20,'T2'], 30 | [0.21,'T1'], 31 | [0.15,'B2'], 32 | [0.16,'B3'], 33 | [0.13,'B5'] 34 | ] 35 | } 36 | ]; 37 | //容器id 38 | //三角形宽度 39 | //数据 40 | //高亮显示,true:上面高亮,false:下面高亮 41 | var triangle=new Triangle(id,width,data,isRed,color1,color2); 42 | }); 43 | ``` 44 | 45 | --- 46 | Config(详细配置) 47 | --- 48 | ### 49 | 50 | { id } 容器 51 | 52 | { width } 三角形宽度 53 | 54 | {data} 数据源 55 | 56 | {isRed} 高亮显示部分,true:上面高亮,false:下面高亮 57 | 58 | {color1} 上半个的颜色,有默认值 59 | 60 | {color2} 下半个的颜色,有默认值 61 | 62 | 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /doc/guide/radar.md: -------------------------------------------------------------------------------- 1 | # Radar 2 | --- 3 | Demo 4 | --- 5 | [KCharts首页](http://www.kcharts.net) 6 | 7 | # properties 8 | 9 | ## renderTo 10 | 渲染到的dom元素,比如#J_Radar 11 | 12 | ## width 13 | 雷达图宽度宽度,未设置的话,自适应 14 | 15 | ## height 16 | 雷达图宽度高度,未设置的话,自适应 17 | 18 | ## cx 19 | 中心点横坐标 20 | 21 | ## cy 22 | 中心点纵坐标 23 | 24 | ## r 25 | 雷达图半径 26 | 27 | ## max 28 | 最大值 29 | 30 | ## labels 31 | 雷达图标注 32 | 33 | ## scoreGroups 34 | 数据分组,格式为 35 | 36 | ``` 37 | [{title: "Real Madrid C.F.", scores: [ 8, 9, 7, 9, 7, 6]},{title: "FC Barcelona", scores: [ 10, 7, 10, 7, 6, 8]}] 38 | ``` 39 | 40 | 每个数据项可以进一步配置 41 | 42 | ``` 43 | { 44 | title: "Real Madrid C.F.", 45 | scores: [ 8, 9, 7, 9, 7, 6], 46 | draw_options: { 47 | lines: {'stroke-width':'4','stroke':'#0070bb','stroke-opacity':0.7,'fill':'#f7d2a8','fill-opacity':0.6}, 48 | points: {'fill':'#f05a23','stroke-width':'1.5','stroke':'#333', 'size': 6} 49 | } 50 | } 51 | ``` 52 | ## legend 53 | 标注配置,比如: 54 | 55 | ``` 56 | legend:{ 57 | globalConfig:{ 58 | iconsize:[2,2], 59 | icontype:"circle" 60 | } 61 | } 62 | ``` 63 | 64 | ## options 65 | 绘制选项 66 | 67 | 68 | # method 69 | 70 | ## render 71 | 绘制雷达图 72 | 73 | 74 | 75 | -------------------------------------------------------------------------------- /doc/guide/tip.md: -------------------------------------------------------------------------------- 1 | # Tip 2 | 3 | --- 4 | Config(详细配置) 5 | --- 6 | ### rootNode 7 | { id|HTMLElement } 容器 默认为body 8 | 9 | ### clsName 10 | {string} 主题类名 默认"ks-chart-default" 可选"ks-chart-analytiks","ks-chart-analytiks" 也可自定义样式类名 11 | 12 | ### boundry 13 | {object} 边界 14 | 15 | - `x` { number } 水平距离 16 | - `y` { number } 垂直距离 17 | - `width` { number } 宽度 18 | - `height` { number } 高度 19 | 20 | ### tpl 21 | {string} 模版 参照KISSY/Template 22 | 23 | ### alignX 24 | {string} 水平对齐方式 可选"left","center","right" 默认"left" 25 | 26 | ### alignY 27 | {string} 垂直对齐方式 可选"top","middle","bottom" 默认"top" 28 | 29 | ### offset 30 | {object} 偏移量 31 | 32 | - `x` { number } 水平距离 33 | - `y` { number } 垂直距离 34 | 35 | ### anim 36 | {object} 动画配置 37 | 38 | - `easing` { string } 动画效果 默认"easeOut" 39 | - `duration` { number } 动画周期 默认0.25 40 | 41 | ### corner 42 | {object} 尖角 43 | 44 | - `isShow` { boolean } 是否显示 45 | - `tpl` { string } 模版 参照KISSY/Template 46 | - `css` { object } css样式 47 | 48 | 49 | --- 50 | Method(方法) 51 | --- 52 | 53 | ### show() 54 | 显示tip 55 | 56 | ### hide() 57 | 隐藏tip 58 | 59 | ### isVisable() 60 | tip是否可见,返回布尔值 61 | 62 | ### moveTo(x,y) 63 | 快速定位到相对于rootNode的位置 64 | 65 | ### animateTo(x,y) 66 | 移动到相对于rootNode的位置 67 | 68 | ### renderTemplate(tpl,data) 69 | 将tpl渲染data后填充tip内容 70 | 71 | ### setContent(content) 72 | 填充content至tip 73 | 74 | ### render() 75 | 渲染 76 | -------------------------------------------------------------------------------- /doc/gulpfile.js: -------------------------------------------------------------------------------- 1 | var gulp = require('gulp'); 2 | var kmc = require('gulp-kmc'); 3 | var src = "./src", 4 | dest = "./build/"; 5 | 6 | kmc.config({ 7 | depFilePath: dest + 'mods-dep.js', //全局依赖文件关系,此处配置后下面的各个模块将不会再生成 8 | packages: [{ 9 | name: 'kg/kcharts/5.0.1/', 10 | // combine: true, 11 | base: './src/' 12 | }] 13 | }); 14 | 15 | 16 | 17 | gulp.task('kmc', function() { 18 | 19 | gulp.src(src + "/**/*.js") 20 | //转换cmd模块为kissy模块 21 | .pipe(kmc.convert({ 22 | seajs:true, 23 | fixModuleName:true, 24 | minify: true, //是否压缩 25 | //ext:"-min.js",//转换后文件扩展名,如果minify 为true则是压缩文件扩展名,同时也支持下面这种配置 26 | ext: { 27 | src: "-debug.js", //kissy1.5后添加debug参数会默认加载-debug.js 28 | min: ".js" 29 | }, 30 | exclude: [], //忽略该目录 31 | ignoreFiles: ['.combo.js', '-min.js'], //忽略该类文件 32 | })) 33 | //合并文件 34 | // .pipe(kmc.combo({ 35 | // minify: true, 36 | // ext: "-min.js", 37 | // files: [{ 38 | // // src: src + '/index.js', 39 | // // dest: dest + '/core.js' 40 | // }] 41 | // })) 42 | .pipe(gulp.dest(dest)); 43 | 44 | 45 | 46 | }); 47 | 48 | gulp.task('watch',function(){ 49 | gulp.watch('src/**/*.js', ['kmc']) 50 | }) 51 | 52 | gulp.task('default', ['kmc']); -------------------------------------------------------------------------------- /doc/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "kcharts", 3 | "version": "5.0.1", 4 | "private": true, 5 | "devDependencies": { 6 | "gulp": "^3.8.8", 7 | "requirejs": "^2.1.15", 8 | "gulp-util": "^3.0.1", 9 | "gulp-concat-util": "^0.5.1", 10 | "amdclean": "^2.3.0", 11 | "gulp-kmc": "^1.0.22" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /doc/src/dashboard/pointer-pic.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 指针 3 | * @author cookieu@gmail.com 4 | * */ 5 | define(function(require, exports, module) { 6 | 7 | var Util = require('util'), 8 | Pointer = require('./pointer'); 9 | 10 | function PicturePointer(){ 11 | PicturePointer.superclass.constructor.apply(this,arguments) 12 | var pointer = this.get('pointer') 13 | , paper = this.get('paper') 14 | , dashboard = this.get('dashboard') 15 | , cx0 = this.get('cy') 16 | , cy0 = this.get('cx') 17 | , cx = dashboard.get('cx') 18 | , cy = dashboard.get('cy') 19 | 20 | this.pointer = pointer 21 | this.cx = cx0 22 | this.cy = cy0 23 | this.paperCx = cx 24 | this.paperCy = cy 25 | } 26 | 27 | Util.extend(PicturePointer,Pointer,{ 28 | pointTo:function(angle,effect){ 29 | var t = ['r',angle,this.paperCx,this.paperCy].join(',') 30 | if(effect){ 31 | this.pointer.animate({transform:t},effect.ms,effect.easing,effect.callback) 32 | }else{ 33 | this.pointer.transform(t) 34 | } 35 | return this 36 | } 37 | }) 38 | return PicturePointer 39 | }); 40 | -------------------------------------------------------------------------------- /doc/src/tools/graphtool/index.js: -------------------------------------------------------------------------------- 1 | //简单图形绘制的工具 2 | define(function(require,exports,module) { 3 | var Util = require("util"), 4 | Raphael = require("kg/kcharts/5.0.1/raphael/index"); 5 | var sqrt = Math.sqrt; 6 | var graphTool = {}; 7 | //等边三角形 8 | var triangle = function(paper,x,y,r,deg){ 9 | var path = [ 10 | "M" + [x,y-r].join(","), 11 | "L" + [x - r * sqrt(3)/2,y - 0 + r * 1/2].join(","), 12 | [x - 0 + r * sqrt(3)/2,y - 0 + r * 1/2].join(","), 13 | "Z" 14 | ].join(" "), 15 | el; 16 | 17 | if(paper && paper.path){ 18 | el = paper.path(path); 19 | // el.attr({cx:x,cy:y}); //伪造中心点 20 | el.rotate(deg,x,y); 21 | return el; 22 | } 23 | }; 24 | //菱形 25 | var rhomb = function(paper,x,y,w,h,deg){ 26 | var path = [ 27 | "M" + [x,y-h/2].join(","), 28 | "L" + [x - 0 + w/2,y].join(","), 29 | [x,y - 0 + h/2].join(","), 30 | [x - w/2,y].join(","), 31 | "Z" 32 | ].join(","), 33 | el; 34 | if(paper && paper.path){ 35 | el = paper.path(path); 36 | // el.attr({cx:x,cy:y}); //伪造中心点 37 | el.rotate(deg,x,y); 38 | return el; 39 | } 40 | }; 41 | 42 | var square = function(paper,x,y,w,h){ 43 | var path = [ 44 | ["M",x-w/2,",",y-h/2].join(""), 45 | [" L",x/1+w/2,",",y-h/2," v",h," h",-w,'z'].join("") 46 | ],el; 47 | if(paper && paper.path){ 48 | el = paper.path(path); 49 | return el; 50 | } 51 | } 52 | 53 | graphTool = Util.merge(graphTool,{ 54 | triangle:triangle, 55 | rhomb:rhomb, 56 | square:square 57 | }); 58 | 59 | return graphTool; 60 | }); -------------------------------------------------------------------------------- /doc/test/barchart/zero.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | A Simple BarChart 6 | 7 | 14 | 15 | 16 |
17 | 18 |
19 | 20 | 32 | 33 | -------------------------------------------------------------------------------- /doc/test/other/catmull-rom-test.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | -------------------------------------------------------------------------------- /doc/test/other/combine.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /doc/test/other/matrix.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 14 | 15 | 16 |
17 | 18 |
19 | 20 | 55 | 56 | -------------------------------------------------------------------------------- /doc/test/runner.js: -------------------------------------------------------------------------------- 1 | KISSY.add(function(){ 2 | //在这里requires需要运行的用例文件 3 | },{requires:['test/spec/index-spec']}) -------------------------------------------------------------------------------- /doc/test/spec/index-spec.js: -------------------------------------------------------------------------------- 1 | KISSY.add(function (S, Node,Demo) { 2 | var $ = Node.all; 3 | describe('kcharts', function () { 4 | it('Instantiation of components',function(){ 5 | var demo = new Demo(); 6 | expect(S.isObject(demo)).toBe(true); 7 | }) 8 | }); 9 | 10 | },{requires:['node','kg/kcharts/2.0.0//']}); -------------------------------------------------------------------------------- /doc/totoro-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner":"./test/runner.html" 3 | } -------------------------------------------------------------------------------- /guide/dashboard.md: -------------------------------------------------------------------------------- 1 | # Demo 2 | [KCharts首页](http://www.kcharts.net) 3 | 4 | # properties 5 | 6 | ## renderTo 7 | 绘制到的dom容器 8 | 9 | ## width 10 | 11 | ## height 12 | 13 | ## ticks 14 | 刻度配置,仅对矢量的码表适用。示例配置: 15 | 16 | ``` 17 | ticks : { 18 | r1:85, //粗刻度的起始半径 19 | r2:90, //细刻度的起始半径 20 | R:95, //末半径 21 | start:0, //初始弧度 22 | end:Math.PI, //末弧度 23 | n:30, //分成的份数 24 | m:5, //粗线的规则 TODO:可以是函数 25 | thickStyle:{ // 粗刻度样式 26 | "stroke":'red' 27 | }, 28 | thinStyle:{ // 细刻度样式 29 | "stroke":'#666' 30 | } 31 | } 32 | ``` 33 | 34 | ## pointer 35 | 指针配置,进对矢量的码表适用,示例: 36 | 37 | ``` 38 | pointer:{ 39 | theme:{ 40 | name:'a', 41 | fill:'red', 42 | stroke:'#999', 43 | r:8, // 圆头半径 44 | R:80 // 指针半径 45 | } 46 | } 47 | ``` 48 | 49 | # method 50 | 51 | ## pointTo 52 | 指针指向某个度数 53 | -------------------------------------------------------------------------------- /guide/funnel.md: -------------------------------------------------------------------------------- 1 | # Funnel 2 | --- 3 | Demo 4 | --- 5 | 6 | [KCharts首页](http://www.kcharts.net) 7 | 8 | 9 | --- 10 | Config(详细配置) 11 | --- 12 | ### 13 | 14 | { id|HTMLElement } 容器 15 | 16 | ### chart 17 | { type } 声明组件的类型 18 | 19 | { marginRight } 漏斗距离整体容器的右边距 注:以右边距为基准,确定这个容器的宽度 20 | 21 | ### title 22 | 23 | { text } 标题 (默认居中) 24 | 25 | { color } 标题颜色 26 | 27 | ### plotOptions 28 | 29 | { dataLabels } tip模版 (以下是对应关系自动转化) 30 | 31 | - `title` { series.name } 32 | 33 | - `name` { series.data[0] } 34 | 35 | - `pointer` { series.data[1] } 36 | 37 | { neckWidth } 脖子的宽度(以百分比为单位) 38 | 39 | { neckStep } 脖子的间距(以PX为单位) 40 | 41 | { neckHeight } 脖子的高度(以百分比为单位,从上至下的高度的百分比) 42 | 43 | { background } 默认的漏斗的背景颜色(从上至下) 44 | 45 | { backgroundHover } 默认的漏斗的背景颜色鼠标hover(从上至下) 46 | 47 | ### series 48 | { name } 内容的标题 49 | 50 | { data } 数据 51 | 52 | -`data[0]` 数据标题 53 | 54 | -`data[1]` 数据数值 55 | 56 | 57 | --- 58 | Method(方法) 59 | --- 60 | 61 | ### _render(arry) 62 | 63 | 渲染图表 (arry 计算实际在画布高度的数组数据) 64 | 65 | ### set(attrConfigs,value) 66 | 67 | attrConfigs 支持 neckWidth,neckStep,neckHeight 的手动修改(如果改变其他的需要手动调用_rednderVal()) 68 | 69 | 70 | ### destroy() 71 | 72 | 清除画布上的所有内容(但不包括foot,如果要清除,需要手动,支持回掉) 73 | 74 | destroy(function(){ 75 | 76 | console.log('我已经清楚了所有的画布内容') 77 | 78 | }) 79 | 80 | --- 81 | Event(事件) 82 | --- 83 | 84 | ### pathClick 85 | 86 | 点击画布事件 87 | 88 | -------------------------------------------------------------------------------- /guide/htmlpaper.md: -------------------------------------------------------------------------------- 1 | # HtmlPaper 2 | 3 | --- 4 | Demo 5 | --- 6 | [KCharts首页](http://www.kcharts.net) 7 | 8 | --- 9 | Method(方法) 10 | --- 11 | 12 | ### text(x,y,str,h_align,v_align) 插入文本,返回NodeList 13 | - `x` {number} 横坐标 14 | - `y` {number} 纵坐标 15 | - `str` {string} 文本或html 16 | - `h_align` {string} 可选,水平对齐方式 可选参数有:"left","right","center" 17 | - `v_align` {string} 可选,垂直对齐方式 可选参数有:"top","middle","bottom" 18 | 19 | ``` 20 | //example 21 | ... 22 | var paper = linechart.getPaper(); //获取html画布 23 | paper.text(0,100,"这个是文本","left","top").css({color:"red"});//插入文本 24 | 25 | ``` 26 | 27 | ### rect(x,y,w,h) 插入矩形 28 | - `x` {number} 横坐标 29 | - `y` {number} 纵坐标 30 | - `w` {number} 宽度 31 | - `h` {number} 高度 32 | 33 | ``` 34 | //example 35 | ... 36 | var paper = linechart.getPaper(); //获取html画布 37 | paper.rect(0,100,200,200).css({border:"1px solid red"});//插入矩形 38 | 39 | ``` 40 | 41 | ### lineX(x,y,len) 画横线 42 | - `x` {number} 横坐标 43 | - `y` {number} 纵坐标 44 | - `len` {number} 长度 45 | 46 | ``` 47 | //example 48 | ... 49 | var paper = linechart.getPaper(); //获取html画布 50 | paper.lineX(0,100,200).css({border-top:"1px solid red"}); 51 | 52 | ``` 53 | 54 | ### lineY(x,y,len) 画竖线 55 | - `x` {number} 横坐标 56 | - `y` {number} 纵坐标 57 | - `len` {number} 长度 58 | 59 | ``` 60 | //example 61 | ... 62 | var paper = linechart.getPaper(); //获取html画布 63 | paper.lineY(0,100,200).css({border-left:"1px solid red"}); 64 | 65 | ``` 66 | 67 | ### clear() 清除画布上所有内容 68 | 69 | ``` 70 | //example 71 | ... 72 | var paper = linechart.getPaper(); //获取html画布 73 | ... 74 | paper.clear(); //清除画布 75 | 76 | ``` 77 | -------------------------------------------------------------------------------- /guide/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | 快速上手——以linechart为例 3 | --- 4 | 5 | ##KCharts首页 6 | - [KCharts 外网](http://kcharts.net) 7 | - [KCharts 内网](http://kcharts.taobao.net) 8 | 9 | 10 | ##组件文档 11 | 12 | ###core 13 | 14 | - [linechart 折线图](linechart.html) 15 | - [barchart 柱状图](barchart.html) 16 | - [piechart 饼图](piechart.html) 17 | - [scatterchart 散点图](scatterchart.html) 18 | - [mapchart 地图](mapchart.html) 19 | - [dashboard 油表](dashboard.html) 20 | - [radar 雷达图](radar.html) 21 | 22 | ###widget 23 | 24 | - [htmlpaper html画布](htmlpaper.html) 25 | - [legend 图例](legend.html) 26 | - [tip 移动标注](tip.html) 27 | 28 | -------------------------------------------------------------------------------- /guide/pyramid.md: -------------------------------------------------------------------------------- 1 | # Funnel 2 | --- 3 | Demo 4 | --- 5 | [pyramid](../demo/pyramid/demo1.html) 金字塔
6 | 7 | 8 | --- 9 | 代码示例 10 | --- 11 | ``` 12 | 13 | //载入Funnel 14 | KISSY.use('kg/kcharts/2.0.0/pyramid/index',function(S,Triangle){ 15 | //数据格式 16 | var data=[ 17 | { 18 | p:[0.75,'AAA','xxxx比'], 19 | d:[ 20 | [0.20,'T1'], 21 | [0.18,'T2'], 22 | [0.29,'T4'] 23 | ] 24 | }, 25 | { 26 | p:[0.25,'BBB','xxxx比'], 27 | d:[ 28 | [0.07,'T3'], 29 | [0.20,'T2'], 30 | [0.21,'T1'], 31 | [0.15,'B2'], 32 | [0.16,'B3'], 33 | [0.13,'B5'] 34 | ] 35 | } 36 | ]; 37 | //容器id 38 | //三角形宽度 39 | //数据 40 | //高亮显示,true:上面高亮,false:下面高亮 41 | var triangle=new Triangle(id,width,data,isRed,color1,color2); 42 | }); 43 | ``` 44 | 45 | --- 46 | Config(详细配置) 47 | --- 48 | ### 49 | 50 | { id } 容器 51 | 52 | { width } 三角形宽度 53 | 54 | {data} 数据源 55 | 56 | {isRed} 高亮显示部分,true:上面高亮,false:下面高亮 57 | 58 | {color1} 上半个的颜色,有默认值 59 | 60 | {color2} 下半个的颜色,有默认值 61 | 62 | 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /guide/radar.md: -------------------------------------------------------------------------------- 1 | # Radar 2 | --- 3 | Demo 4 | --- 5 | [KCharts首页](http://www.kcharts.net) 6 | 7 | # properties 8 | 9 | ## renderTo 10 | 渲染到的dom元素,比如#J_Radar 11 | 12 | ## width 13 | 雷达图宽度宽度,未设置的话,自适应 14 | 15 | ## height 16 | 雷达图宽度高度,未设置的话,自适应 17 | 18 | ## cx 19 | 中心点横坐标 20 | 21 | ## cy 22 | 中心点纵坐标 23 | 24 | ## r 25 | 雷达图半径 26 | 27 | ## max 28 | 最大值 29 | 30 | ## labels 31 | 雷达图标注 32 | 33 | ## scoreGroups 34 | 数据分组,格式为 35 | 36 | ``` 37 | [{title: "Real Madrid C.F.", scores: [ 8, 9, 7, 9, 7, 6]},{title: "FC Barcelona", scores: [ 10, 7, 10, 7, 6, 8]}] 38 | ``` 39 | 40 | 每个数据项可以进一步配置 41 | 42 | ``` 43 | { 44 | title: "Real Madrid C.F.", 45 | scores: [ 8, 9, 7, 9, 7, 6], 46 | draw_options: { 47 | lines: {'stroke-width':'4','stroke':'#0070bb','stroke-opacity':0.7,'fill':'#f7d2a8','fill-opacity':0.6}, 48 | points: {'fill':'#f05a23','stroke-width':'1.5','stroke':'#333', 'size': 6} 49 | } 50 | } 51 | ``` 52 | ## legend 53 | 标注配置,比如: 54 | 55 | ``` 56 | legend:{ 57 | globalConfig:{ 58 | iconsize:[2,2], 59 | icontype:"circle" 60 | } 61 | } 62 | ``` 63 | 64 | ## options 65 | 绘制选项 66 | 67 | 68 | # method 69 | 70 | ## render 71 | 绘制雷达图 72 | 73 | 74 | 75 | -------------------------------------------------------------------------------- /guide/tip.md: -------------------------------------------------------------------------------- 1 | # Tip 2 | 3 | --- 4 | Config(详细配置) 5 | --- 6 | ### rootNode 7 | { id|HTMLElement } 容器 默认为body 8 | 9 | ### clsName 10 | {string} 主题类名 默认"ks-chart-default" 可选"ks-chart-analytiks","ks-chart-analytiks" 也可自定义样式类名 11 | 12 | ### boundry 13 | {object} 边界 14 | 15 | - `x` { number } 水平距离 16 | - `y` { number } 垂直距离 17 | - `width` { number } 宽度 18 | - `height` { number } 高度 19 | 20 | ### tpl 21 | {string} 模版 参照KISSY/Template 22 | 23 | ### alignX 24 | {string} 水平对齐方式 可选"left","center","right" 默认"left" 25 | 26 | ### alignY 27 | {string} 垂直对齐方式 可选"top","middle","bottom" 默认"top" 28 | 29 | ### offset 30 | {object} 偏移量 31 | 32 | - `x` { number } 水平距离 33 | - `y` { number } 垂直距离 34 | 35 | ### anim 36 | {object} 动画配置 37 | 38 | - `easing` { string } 动画效果 默认"easeOut" 39 | - `duration` { number } 动画周期 默认0.25 40 | 41 | ### corner 42 | {object} 尖角 43 | 44 | - `isShow` { boolean } 是否显示 45 | - `tpl` { string } 模版 参照KISSY/Template 46 | - `css` { object } css样式 47 | 48 | 49 | --- 50 | Method(方法) 51 | --- 52 | 53 | ### show() 54 | 显示tip 55 | 56 | ### hide() 57 | 隐藏tip 58 | 59 | ### isVisable() 60 | tip是否可见,返回布尔值 61 | 62 | ### moveTo(x,y) 63 | 快速定位到相对于rootNode的位置 64 | 65 | ### animateTo(x,y) 66 | 移动到相对于rootNode的位置 67 | 68 | ### renderTemplate(tpl,data) 69 | 将tpl渲染data后填充tip内容 70 | 71 | ### setContent(content) 72 | 填充content至tip 73 | 74 | ### render() 75 | 渲染 76 | -------------------------------------------------------------------------------- /gulpfile.js: -------------------------------------------------------------------------------- 1 | var gulp = require('gulp'); 2 | var kmc = require('gulp-kmc'); 3 | var src = "./src", 4 | dest = "./build/"; 5 | 6 | kmc.config({ 7 | depFilePath: dest + 'mods-dep.js', //全局依赖文件关系,此处配置后下面的各个模块将不会再生成 8 | packages: [{ 9 | name: 'kg/kcharts/5.0.0/', 10 | // combine: true, 11 | base: './src/' 12 | }] 13 | }); 14 | 15 | 16 | 17 | gulp.task('kmc', function() { 18 | 19 | gulp.src(src + "/**/*.js") 20 | //转换cmd模块为kissy模块 21 | .pipe(kmc.convert({ 22 | seajs:true, 23 | fixModuleName:true, 24 | minify: true, //是否压缩 25 | //ext:"-min.js",//转换后文件扩展名,如果minify 为true则是压缩文件扩展名,同时也支持下面这种配置 26 | ext: { 27 | src: "-debug.js", //kissy1.5后添加debug参数会默认加载-debug.js 28 | min: ".js" 29 | }, 30 | exclude: [], //忽略该目录 31 | ignoreFiles: ['.combo.js', '-min.js'], //忽略该类文件 32 | })) 33 | //合并文件 34 | // .pipe(kmc.combo({ 35 | // minify: true, 36 | // ext: "-min.js", 37 | // files: [{ 38 | // // src: src + '/index.js', 39 | // // dest: dest + '/core.js' 40 | // }] 41 | // })) 42 | .pipe(gulp.dest(dest)); 43 | 44 | 45 | 46 | }); 47 | 48 | gulp.task('watch',function(){ 49 | gulp.watch('src/**/*.js', ['kmc']) 50 | }) 51 | 52 | gulp.task('default', ['kmc']); -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "kcharts", 3 | "version": "5.0.0", 4 | "private": true, 5 | "devDependencies": { 6 | "gulp": "^3.8.8", 7 | "requirejs": "^2.1.15", 8 | "gulp-util": "^3.0.1", 9 | "gulp-concat-util": "^0.5.1", 10 | "amdclean": "^2.3.0", 11 | "gulp-kmc": "^1.0.22" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/dashboard/pointer-pic.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 指针 3 | * @author cookieu@gmail.com 4 | * */ 5 | define(function(require, exports, module) { 6 | 7 | var Util = require('util'), 8 | Pointer = require('./pointer'); 9 | 10 | function PicturePointer(){ 11 | PicturePointer.superclass.constructor.apply(this,arguments) 12 | var pointer = this.get('pointer') 13 | , paper = this.get('paper') 14 | , dashboard = this.get('dashboard') 15 | , cx0 = this.get('cy') 16 | , cy0 = this.get('cx') 17 | , cx = dashboard.get('cx') 18 | , cy = dashboard.get('cy') 19 | 20 | this.pointer = pointer 21 | this.cx = cx0 22 | this.cy = cy0 23 | this.paperCx = cx 24 | this.paperCy = cy 25 | } 26 | 27 | Util.extend(PicturePointer,Pointer,{ 28 | pointTo:function(angle,effect){ 29 | var t = ['r',angle,this.paperCx,this.paperCy].join(',') 30 | if(effect){ 31 | this.pointer.animate({transform:t},effect.ms,effect.easing,effect.callback) 32 | }else{ 33 | this.pointer.transform(t) 34 | } 35 | return this 36 | } 37 | }) 38 | return PicturePointer 39 | }); 40 | -------------------------------------------------------------------------------- /src/tools/graphtool/index.js: -------------------------------------------------------------------------------- 1 | //简单图形绘制的工具 2 | define(function(require,exports,module) { 3 | var Util = require("util"), 4 | Raphael = require("kg/kcharts/5.0.0/raphael/index"); 5 | var sqrt = Math.sqrt; 6 | var graphTool = {}; 7 | //等边三角形 8 | var triangle = function(paper,x,y,r,deg){ 9 | var path = [ 10 | "M" + [x,y-r].join(","), 11 | "L" + [x - r * sqrt(3)/2,y - 0 + r * 1/2].join(","), 12 | [x - 0 + r * sqrt(3)/2,y - 0 + r * 1/2].join(","), 13 | "Z" 14 | ].join(" "), 15 | el; 16 | 17 | if(paper && paper.path){ 18 | el = paper.path(path); 19 | // el.attr({cx:x,cy:y}); //伪造中心点 20 | el.rotate(deg,x,y); 21 | return el; 22 | } 23 | }; 24 | //菱形 25 | var rhomb = function(paper,x,y,w,h,deg){ 26 | var path = [ 27 | "M" + [x,y-h/2].join(","), 28 | "L" + [x - 0 + w/2,y].join(","), 29 | [x,y - 0 + h/2].join(","), 30 | [x - w/2,y].join(","), 31 | "Z" 32 | ].join(","), 33 | el; 34 | if(paper && paper.path){ 35 | el = paper.path(path); 36 | // el.attr({cx:x,cy:y}); //伪造中心点 37 | el.rotate(deg,x,y); 38 | return el; 39 | } 40 | }; 41 | 42 | var square = function(paper,x,y,w,h){ 43 | var path = [ 44 | ["M",x-w/2,",",y-h/2].join(""), 45 | [" L",x/1+w/2,",",y-h/2," v",h," h",-w,'z'].join("") 46 | ],el; 47 | if(paper && paper.path){ 48 | el = paper.path(path); 49 | return el; 50 | } 51 | } 52 | 53 | graphTool = Util.merge(graphTool,{ 54 | triangle:triangle, 55 | rhomb:rhomb, 56 | square:square 57 | }); 58 | 59 | return graphTool; 60 | }); -------------------------------------------------------------------------------- /test/datetime/choose-range.css: -------------------------------------------------------------------------------- 1 | .kc-range-inner{ 2 | position: absolute; 3 | width: 100%; 4 | height: 100%; 5 | z-index: 100; 6 | } 7 | .kc-range-inner .kc-range-block{ 8 | height: 100%; 9 | position: absolute; 10 | background: #fff; 11 | opacity: 0.8; 12 | } 13 | .kc-range-inner .kc-range-block-left{ 14 | border-top:1px solid #000; 15 | border-right:1px solid #000; 16 | } 17 | .kc-range-inner .kc-range-block-right{ 18 | border-top:1px solid #000; 19 | border-left:1px solid #000; 20 | } 21 | 22 | .kc-range-inner .kc-range-btn{ 23 | width:10px; 24 | height: 40px; 25 | position: absolute; 26 | } -------------------------------------------------------------------------------- /test/datetime/choose-range.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 大数据量线图的例子 6 | 7 | 49 | 50 | 51 |
52 |
53 |
54 |
55 | 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /test/other/catmull-rom-test.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | -------------------------------------------------------------------------------- /test/other/matrix.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 14 | 15 | 16 |
17 | 18 |
19 | 20 | 55 | 56 | -------------------------------------------------------------------------------- /test/runner.js: -------------------------------------------------------------------------------- 1 | KISSY.add(function(){ 2 | //在这里requires需要运行的用例文件 3 | },{requires:['test/spec/index-spec']}) -------------------------------------------------------------------------------- /test/spec/index-spec.js: -------------------------------------------------------------------------------- 1 | KISSY.add(function (S, Node,Demo) { 2 | var $ = Node.all; 3 | describe('kcharts', function () { 4 | it('Instantiation of components',function(){ 5 | var demo = new Demo(); 6 | expect(S.isObject(demo)).toBe(true); 7 | }) 8 | }); 9 | 10 | },{requires:['node','kg/kcharts/2.0.0//']}); -------------------------------------------------------------------------------- /totoro-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "runner":"./test/runner.html" 3 | } --------------------------------------------------------------------------------