图表标题重叠在图表上

时间:2015-07-10 21:42:52

标签: highcharts

我正在尝试将标题放在图表上但是当我添加标题时它的重叠图表本身。 这是jsfiddle代码jsfiddle code。你们知道我需要设置什么属性来使其工作?

//-------------------------------------------------------
Highcharts.Renderer.prototype.symbols.line = function(x, y, width, height) {
    return ['M',x ,y + width / 2,'L',x+height,y + width / 2];
};

//-------------------------------------------------------
Highcharts.setOptions({
    chart:{
        defaultSeriesType:'bar',
        marginTop:5,
        marginRight:15,
        marginBottom:10,
        marginLeft:100,        
        borderWidth:0
    },
    credits:{enabled:false},
    exporting:{enabled:false},
    title:{text:'Title'},
    xAxis:{
        tickLength:0,
        lineColor:'#999',
        lineWidth:1,
        labels:{style:{fontWeight:'bold'}}        
    },
    yAxis:{
        min:0,
        minPadding:0,
        maxPadding:0,
        tickColor:'#ccc',
        tickWidth:1,
        tickLength:3,
        gridLineWidth:0,
        endOnTick:true,
        title:{text: ''},
        labels:{
            y:10,
            style:{
                fontSize:'8px'
            },
            formatter:function(){
                if (this.isLast){
                    return this.value + ' %';
                }
                else{
                    return this.value;
                }
            },
            enabled: false
        }
    },
    legend:{enabled:false},
    tooltip:{
        enabled:true,
        backgroundColor:'rgba(255, 255, 255, .85)',
        borderWidth:0,
        shadow:true,
        style:{fontSize:'10px',padding:2},
        formatter:function() {
           return this.series.name + ": <strong>" + Highcharts.numberFormat(this.y,2) + "</strong>";
        }
    },
    plotOptions:{
        bar:{
            color:'#000',
            shadow:false,
            borderWidth:0,
        },
        scatter:{
            marker:{
                symbol:'line',
                lineWidth:3,
                radius:8,
                lineColor:'#f00'
            }
        }
    }
});

//-------------------------------------------------------
var chart1 = new Highcharts.Chart({
    chart:{renderTo:'container1'},
    xAxis:{categories:['Title 1']},
    yAxis:{
        max:100,
        labels:{y:10,style:{fontSize:'8px'}},    
        plotBands:[{from:0,to:70,color: 'rgba(103,103,103,.35)'},
                   {from:70,to:85,color: 'rgba(153,153,153,.35)'},
                   {from:85,to:100,color: 'rgba(204,204,204,.35)'}]
    },
    series:[{name:'Measure',pointWidth:10,data:[80]},
            {name:'Target',type: 'scatter',data:[90],}]
});

2 个答案:

答案 0 :(得分:0)

假设您想让图表的高度与现在相同,请将div的高度增加30px,将chart.marginTop的高度增加30px。

<div id="container1" style="height:66px;width:350px;"></div> 


Highcharts.setOptions({
    chart:{
        defaultSeriesType:'bar',
        marginTop:35,
        marginRight:15,
        marginBottom:10,
        marginLeft:100,        
        borderWidth:0
    },

http://jsfiddle.net/blaird/e96yX/89/

您的问题是您的图表上方没有标题空间,因此highcharts将它放在尽可能的位置。图表边距设置边缘和绘图区域之间的固定间距,因此如果要使用它们,则需要为绘图区域外的项目留出空间。  http://api.highcharts.com/highcharts#chart.marginTop

答案 1 :(得分:0)

尝试在图例中使用y属性设置垂直位置

legend: { 
            y:18
        }