Sapui5 叠合柱与线
我们需要结合折线图显示堆叠柱形图,并希望坚持UI5提供的VizFrame控件。有没有办法做到这一点?示例()中没有列出它,但可能有一种方法可以做到这一点 编辑 我们需要显示的数据采用以下格式:Sapui5 叠合柱与线,sapui5,Sapui5,我们需要结合折线图显示堆叠柱形图,并希望坚持UI5提供的VizFrame控件。有没有办法做到这一点?示例()中没有列出它,但可能有一种方法可以做到这一点 编辑 我们需要显示的数据采用以下格式: var data = [ {week: 1, stacked1: 10, stacked2: 20, stacked3: 30, line: 100}, {week: 2, stacked1: 12, stacked2: 13, stacked3: 14, line: 40}, {
var data = [
{week: 1, stacked1: 10, stacked2: 20, stacked3: 30, line: 100},
{week: 2, stacked1: 12, stacked2: 13, stacked3: 14, line: 40},
{week: 3, stacked1: 14, stacked2: 25, stacked3: 26, line: 20},
{week: 4, stacked1: 15, stacked2: 24, stacked3: 33, line: 52}
];
因此,我们的想法是在x轴上有一个星期,一个用于stacked1、stacked2和stacked3值的堆叠条,以及一个线的值点。我认为您希望在VIZ框架上使用setVizType(“堆叠的组合”)[或vizType:“堆叠的组合”]。您可以在getVizType()VizFrame对话框上看到所有类型。下面是一个简单的示例,其中我扩展了VizFrame并添加了两个函数来显示直线堆叠柱形图:
sap.viz.ui5.controls.VizFrame.extend("jonova.ui5.chart.JuVizFrame", {
renderer: { },
setLineStackedBar: function() {
var oModel = new sap.ui.model.json.JSONModel(
[{Product:"Total", Date: 2000, Available: 100},
{Product:"Total", Date: 2001, Available: 100},
{Product:"P1", Date: 2000, Utilized: 30},
{Product:"P1", Date: 2001, Utilized: 20},
{Product:"P2", Date: 2000, Utilized: 40},
{Product:"P2", Date: 2001, Utilized: 60}]);
var oDataset = new sap.viz.ui5.data.FlattenedDataset({
dimensions: [{name: 'Date', value: '{Date}'},
{name: 'Product', value: '{Product}'}],
measures: [{name: 'Available', value: '{Available}'},
{name: 'Utilized', value: '{Utilized}' }],
data: {path: "/"}});
var oFeeds = [new sap.viz.ui5.controls.common.feeds.FeedItem({uid: "valueAxis", type: "Measure", values: ["Utilized", "Available"]}),
new sap.viz.ui5.controls.common.feeds.FeedItem({uid: "categoryAxis", type: "Dimension", values: ["Date"]}),
new sap.viz.ui5.controls.common.feeds.FeedItem({uid: "color", type: "Dimension", values: ["Product"]})];
this.setChart("stacked_combination", oDataset, oModel, oFeeds);
},
setChart: function(aVizType, aDataset, aModel, aFeeds) {
this.setVizType(aVizType);
this.setDataset(aDataset);
this.setModel(aModel);
for( var i=0, len=aFeeds.length; i<len; i++) this.addFeed(aFeeds[i]);
},
});
sap.viz.ui5.controls.VizFrame.extend(“jonova.ui5.chart.JuVizFrame”{
渲染器:{},
setLineStackedBar:函数(){
var oModel=new sap.ui.model.json.JSONModel(
[{产品:“总数”,日期:2000年,可得数量:100},
{产品:“总数”,日期:2001年,可供查阅:100},
{产品:“P1”,日期:2000年,使用日期:30},
{产品:“P1”,日期:2001,使用日期:20},
{产品:“P2”,日期:2000年,使用日期:40},
{产品:“P2”,日期:2001年,使用日期:60});
var oDataset=new sap.viz.ui5.data.flattedDataset({
维度:[{name:'Date',值:{Date},
{name:'Product',value:{Product}}],
度量值:[{name:'Available',value:{Available}},
{name:'useded',value:{useded}}],
数据:{路径:“/”});
var oFeeds=[new sap.viz.ui5.controls.common.feeds.FeedItem({uid:“valueAxis”,type:“Measure”,value:[“used”,“Available”]}),
新的sap.viz.ui5.controls.common.feeds.FeedItem({uid:“categoryAxis”,类型:“Dimension”,值:[“Date”]}),
新的sap.viz.ui5.controls.common.feeds.FeedItem({uid:“color”,type:“Dimension”,value:[“Product”]});
此.setChart(“堆叠的_组合”,oDataset,oModel,oFeeds);
},
设置图表:功能(aVizType、aDataset、aModel、aFeeds){
this.setVizType(aVizType);
这个.setDataset(aDataset);
这个.setModel(aModel);
对于(var i=0,len=aFeeds.length;i你所说的“组合”是什么意思?叠加?比如。同时有堆叠的列和一条线。谢谢你的回答。不幸的是,我们需要显示的数据格式不同。我更新了我的问题。也许你也知道如何处理。