flot饼图与长标签呈现问题

时间:2013-08-27 12:15:33

标签: javascript jquery charts flot pie-chart

我用长标签绘制了一个flot pie聊天,它显得丑陋,我认为可以在饼图或饼图下方显示标签。正在使用的javascript是

function onSuccess(series) {
            var tickLabels = [];
            var pieData= [];
            for (var i =0;i<series.length;i++){
                tickLabels.push([i,series[i][0]]);
                var obj = {};
                obj['label']=series[i][0];
                obj['data']=series[i][1];
                pieData.push(obj);
                series[i][0] = i;
            }
            var data = [series];
        var pieArea = $("#pieChart");  

        pieArea.css("height", "400px");  
        pieArea.css("width", "600px"); 


            $.plot( $("#barChart"), data, {
        series: {
         bars: {
            show:true,
            barWidth: 0.5,
            align: "center"
         },
            points: {
                show: true
            }
        },
        grid: {
            hoverable: true,
            clickable: true
        },
        xaxis: {
            labelWidth:12,
            labelAngle: 45,
            ticks: tickLabels
        }
        } ); 

图表 the ugly pie chart

有没有人知道这个

的任何解决方案

2 个答案:

答案 0 :(得分:8)

您可以将图例放在不同的容器中,并使用CSS将其放在任何位置。

legend: {
    container: '#graphLegend'     
}

来自API文档:

  

如果您希望图例显示在DOM中的其他位置,则可以   将“container”指定为放置图例的jQuery对象/表达式   表成。那么“位置”和“边缘”等选项将是   忽略。请注意,Flot将覆盖容器的内容。

我更新了Mark's fiddle来演示此替代方案。

答案 1 :(得分:4)

您可以结合图例的positionmargin属性来执行此操作:

例如,这会将它推到northwest角的右侧400像素。

legend: {
    position: 'nw',
    margin: [400,0]     
}

请参阅小提琴here

相关问题