我有一张用Morris.JS生成的图表,但x轴上的标签很长并且由于显示标签的区域的高度有限而被切断。
下面的代码将呈现仅显示“COUNTY PARK ROAD ELEM。”的部分标签的图表。如何调整标签区域的高度以显示整个文本?
代码如下
if ($('#IP1').length){
Morris.Bar({
element: 'IP1',
data: [
{x: 'COUNTY PARK ROAD ELEM.', yIndex: 376.92}
],
xkey: 'x',
ykeys: ['yIndex'],
labels: ['Index Points'],
ymax: 500,
barRatio: 0.2,
xLabelAngle: 45,
hideHover: 'auto'
});
}
答案 0 :(得分:13)
对我有用的解决方案是增加svg标签的大小
$('svg').height(700);
答案 1 :(得分:6)
除了增加包含图表的元素的高度之外,您还可以在Morris.Bar
上设置填充选项,以便为x轴上的标签提供更多空间。
Morris.Bar({
...
padding: 50,
...
});
答案 2 :(得分:2)
尝试将(当前未记录的)xLabelMargin选项更改为较小的值 - 它设置x轴上标签之间的最小边距。如果标签比边距更近,则不会绘制它们。
例如:
Morris.Bar({
// ...
xLabelMargin: 10
})
答案 3 :(得分:0)
如果在指令中,您可以使用以下内容:
//in pixels
var heightToAdd = 30;
var svg = element.find("svg")[0];
svg.height.baseVal.value += heightToAdd;
答案 4 :(得分:0)
像下面这样简单地添加潜水
<div id="chart"></div>
并为div上方添加样式,例如
#chart{
height:400px;
}