extjs 画多列柱状图
时间: 2023-07-25 14:38:44 浏览: 115
d3js绘制多系统柱形图
好的,您可以使用 ExtJS 中的 `Ext.chart.series.Bar` 类来创建多列柱状图。以下是一个示例代码,展示如何在 ExtJS 中创建一个多列柱状图:
```javascript
Ext.create('Ext.chart.Chart', {
renderTo: Ext.getBody(),
width: 400,
height: 300,
store: {
fields: ['name', 'data1', 'data2', 'data3'],
data: [
{ name: 'A', data1: 10, data2: 20, data3: 30 },
{ name: 'B', data1: 20, data2: 30, data3: 40 },
{ name: 'C', data1: 30, data2: 40, data3: 50 },
{ name: 'D', data1: 40, data2: 50, data3: 60 }
]
},
axes: [
{
type: 'numeric',
position: 'left',
fields: ['data1', 'data2', 'data3'],
title: '数值',
grid: true,
minimum: 0
},
{
type: 'category',
position: 'bottom',
fields: ['name'],
title: '类别'
}
],
series: [
{
type: 'bar',
xField: 'name',
yField: ['data1', 'data2', 'data3'],
stacked: false,
title: ['数据1', '数据2', '数据3'],
style: {
opacity: 0.80
},
highlight: {
fillStyle: 'yellow'
},
tooltip: {
trackMouse: true,
renderer: function (tooltip, record, item) {
tooltip.setHtml(record.get('name') + ': ' + item.field + ' = ' + record.get(item.field));
}
}
}
]
});
```
在上面的代码中,我们首先创建了一个 `Ext.chart.Chart` 实例,并将其渲染到页面的 `body` 元素中。然后,我们定义了一个数据源,其中包含了每个类别的三个数据列。接下来,我们定义了两个坐标轴:一个是数值轴,用于显示数据列的值;另一个是类别轴,用于显示类别名称。最后,我们定义了一个柱状图系列,其中 `xField` 是类别名称,`yField` 是三个数据列名称的数组,`stacked` 属性设置为 `false`,因为我们不希望将数据列堆叠在一起。我们还设置了一些样式和工具提示,以便用户可以查看每个数据点的值。
请注意,您需要在 ExtJS 应用程序中加载 `Ext.chart.*` 和 `Ext.draw.*` 包,以便使用 ExtJS 的图表和绘图功能。
阅读全文