xCharts:基于D3的JavaScript圖表庫
xCharts是 一款基于D3的JavaScript圖表庫,xCharts的功能非常強大,不僅支持多種圖表類型,而且擁有豐富的圖表主題風格,并且非常漂亮。另 外,xCharts的設計非常靈活,配置也比較簡單,加載速度也還不錯,是一款開放性和可定制性都非常不錯的JavaScript圖表應用。
xCharts的特點
- 基于JavaScript,因此只要有瀏覽器即可使用,平臺兼容性不錯。
- 開放,可定制,因此配置相當靈活。
- 支持SVG格式,因此也可以方便地導出圖表數據。
xCharts的使用
簡單的柱形圖
JavaScript代碼:
var data = {
"xScale": "ordinal",
"yScale": "linear",
"main": [
{
"className": ".pizza",
"data": [
{
"x": "Pepperoni",
"y": 4
},
{
"x": "Cheese",
"y": 8
}
]
}
]
};
var myChart = new xChart('bar', data, '#example1'); 效果圖:

線性圖
JavaScript代碼:
var data = {
"xScale": "time",
"yScale": "linear",
"type": "line",
"main": [
{
"className": ".pizza",
"data": [
{
"x": "2012-11-05",
"y": 1
},
{
"x": "2012-11-06",
"y": 6
},
{
"x": "2012-11-07",
"y": 13
},
{
"x": "2012-11-08",
"y": -3
},
{
"x": "2012-11-09",
"y": -4
},
{
"x": "2012-11-10",
"y": 9
},
{
"x": "2012-11-11",
"y": 6
}
]
}
]
};
var opts = {
"dataFormatX": function (x) { return d3.time.format('%Y-%m-%d').parse(x); },
"tickFormatX": function (x) { return d3.time.format('%A')(x); }
};
var myChart = new xChart('line', data, '#example3', opts); 效果圖:

動畫柱形圖
JavaScript代碼:
var errorBar = {
enter: function (self, storage, className, data, callbacks) {
var insertionPoint = xChart.visutils.getInsertionPoint(9),
container,
// Map each error bar into 3 points, so it's easier to draw as a single path
// Converts each point to a triplet with y from (y - e) to (y + e)
// It would be better to use the `preUpdateScale` method here,
// but for this quick example, we're taking a shortcut
eData = data.map(function (d) {
d.data = d.data.map(function (d) {
return [{x: d.x, y: d.y - d.e}, {x: d.x, y: d.y}, {x: d.x, y: d.y + d.e}];
});
return d;
}),
paths;
// It's always a good idea to create containers for sets
container = self._g.selectAll('.errorLine' + className)xChart.setVis('error', errorBar);var data = {
"xScale": "ordinal",
"yScale": "linear",
"main": [
{
"className": ".errorExample",
"data": [
{
"x": "Ponies",
"y": 12
},
{
"x": "Unicorns",
"y": 23
},
{
"x": "Trolls",
"y": 1
}
]
}
],
"comp": [
{
"type": "error",
"className": ".comp.errorBar",
"data": [
{
"x": "Ponies",
"y": 12,
"e": 5
},
{
"x": "Unicorns",
"y": 23,
"e": 2
},
{
"x": "Trolls",
"y": 1,
"e": 1
}
]
}
]
}; 效果圖:

總結
xCharts的功能相當強大,如果你在自己的Web應用中需要使用圖表,那么xCharts非常適合你,可以嘗試一下。
項目主頁:http://www.baiduhome.net/lib/view/home/1417939155886
譯文鏈接:http://原網站已經失效/article/xcharts-d3-javascript-chart.html
翻譯作者:碼農網 – 小峰
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!