我在UI5中开发了一个堆积条形图。
它在PC
和Ipad's Portrait
方向上正常运行。但是当涉及到Ipad's landscape
方向时,图表会变小并显示一个滚动条来访问位于图表底部的条形图。我不确定为什么堆积条形图不能动态调整条形高度。(如图所示)
我的观点:
<f:SimpleForm editable="true" layout="ResponsiveGridLayout"
id="OEEform" class="formTitleStyle" labelSpanL="6"
labelSpanM="6" adjustLabelSpan="false" emptySpanL="0"
emptySpanM="0" columnsL="2" columnsM="2">
<f:content>
<Label id="idPerformance" visible="true" text="Performance">
<layoutData>
<l:GridData span="L5 M5 S5" />
</layoutData>
</Label>
<ProgressIndicator id="idPerformancePI" class="sapUiSmallMarginBottom"
percentValue="0" showValue="true" state="None"
displayValue="0%" width="100%" />
<Label id="idAvailability" visible="true" text="Availability">
<layoutData>
<l:GridData span="L5 M5 S5" />
</layoutData>
</Label>
<ProgressIndicator id="idAvailabilityPI"
class="sapUiSmallMarginBottom" percentValue="0"
displayValue="0%" showValue="true" state="None" width="100%" />
<core:Title />
<Label id="idQuality" visible="true" text="Quality">
<layoutData>
<l:GridData span="L5 M5 S5" />
</layoutData>
</Label>
<ProgressIndicator id="idQualityPI" class="sapUiSmallMarginBottom"
percentValue="0" displayValue="0%" showValue="true"
state="None" width="100%" />
<Label id="idOEE" visible="true" text="OEE">
<layoutData>
<l:GridData span="L5 M5 S5" />
</layoutData>
</Label>
<ProgressIndicator id="idOEEPI" class="sapUiSmallMarginBottom"
percentValue="0" displayValue="0%" showValue="true"
state="None" width="100%" />
</f:content>
</f:SimpleForm>
<viz:Popover id="idPopOver"></viz:Popover>
<viz:VizFrame id="idVizFrame" uiConfig="{applicationSet:'fiori'}"
width='100%' vizType='stacked_bar'>
<viz:dataset>
<viz.data:FlattenedDataset
data="{/Rowsets/Rowset/0/Row}">
<viz.data:dimensions>
<viz.data:DimensionDefinition
name="Title" value="{Title}" />
<!-- <viz.data:DimensionDefinition name="Staco" value="{Staco}"
/> -->
<viz.data:DimensionDefinition
name="Status" value="{Status}" />
<!-- <viz.data:DimensionDefinition name="Fat Percentage"
value="{Fat Percentage}" /> -->
</viz.data:dimensions>
<viz.data:measures>
<viz.data:MeasureDefinition
name="Hours" value="{Hours}" />
</viz.data:measures>
</viz.data:FlattenedDataset>
</viz:dataset>
<viz:feeds>
<viz.feeds:FeedItem uid="valueAxis"
type="Measure" values="Hours" />
<viz.feeds:FeedItem uid="categoryAxis"
type="Dimension" values="Title" />
<viz.feeds:FeedItem uid="color" type="Dimension"
values="Status" />
<!-- <viz.feeds:FeedItem uid="color" type="Dimension" values="Fat
Percentage" />
<viz.feeds:FeedItem uid="waterfallType"
type="Dimension" values="Type" /> -->
</viz:feeds>
</viz:VizFrame>
现在只有一种方法,当方向是横向时,我需要明确地降低条形的高度。
我在控制器中添加了以下代码(请参阅注释),我在这里为图表指定了属性,但不知何故它没有设置高度。
oVizFrame.setVizProperties({
valueAxis : {
title : {
visible : true
}
},
categoryAxis : {
title : {
visible : false
},
label:{
visible:false
}
},
legend: {
title: {
visible: false
},
label: {
text: {
positiveValue: "Hours"
}
}
},
plotArea:{
dataLabel:{
renderer: function(oParam){
//alert(oParam.dataPointWidth + " -- " + oParam.ctx["Status"]);
if(oParam.dataPointWidth > 300)
{
oParam.text = oParam.ctx["Status"] + " (" + oParam.val + ")";
}
// Below code is not setting the height of the bar
if (sap.ui.Device.orientation.landscape === true){
oParam.dataPointHeight = 10;
}
},
visible : true
},
dataPointStyle:{ //Allows to set color,legend and data label based on rules defined.
'rules':[
我做错了什么?还有其他方法可以在条形图中调整条形高度吗?
答案 0 :(得分:1)
如果您尝试以下内容会发生什么:
oVizFrame.setVizProperties({
...
plotArea: {
dataPointSize: {
max: 400,
min: 5
}
请参阅
中plotArea.dataPointSize.min的相应文件和
Chart Property Reference / Overview
如果你有很多酒吧,他们可能会收缩太多而变得难以理解。 在这种情况下,滚动条可能仍然是必要的。