Jqplot и проблема с легендой - PullRequest
2 голосов
/ 15 ноября 2010

В моем коде есть следующее.Наличие опции

 legend: {show:true}  

сильно портит график.Раздел легенды очень длинный, а графика отсутствует.Я вставил сюда изображение, показывающее, как выглядит диаграмма: http://tinypic.com/view.php?pic=2eqgbgy&s=7

Хотя она прекрасно работает без опции легенды, но диаграмма, конечно, без легенды.

В ChromeЯ вижу следующее исключение Uncaught Error: INDEX_SIZE_ERR: DOM Exception 1

<script type="text/javascript"> 
        line2 = [['Living Expenses',1000], ['Loans',2000], ['Credit 
Card',500]]; 
    $j(document).ready(function() { 
        $j.jqplot.config.enablePlugins = true; 
        $j.jqplot('piechartdiv', [line2], { 
            title: 'Where is my money going?', 
            seriesDefaults:{renderer:$j.jqplot.PieRenderer, 
rendererOptions:{sliceMargin:8}}, legend:{show:true} 
        }); 
}); 

</script> 

<div style="width: 450px;margin: 0px auto;"> 
    <div id='piechartdiv'></div> 
</div> 

Любая помощь приветствуется.

Ответы [ 4 ]

11 голосов
/ 11 февраля 2012

Используете ли вы Bootstrap или какую-либо другую библиотеку сброса CSS?

Если вы зайдете в firebug и выберете элемент <table class="jqplot-table-legend" ...>, вы, вероятно, увидите, что есть width:100% свойство по умолчанию устанавливает элементы table.Вы можете исправить это в своем макете CSS:

#piechartdiv table.jqplot-table-legend {
    width:auto;
}
1 голос
/ 20 октября 2012

Включили ли вы файл jqplot.css в свой код.

Убедитесь, что он включен в код и что файл также присутствует в каталоге, на который вы ссылаетесь.

Спасибо

1 голос
/ 28 декабря 2010

Единственное, что мне кажется странным, это:

$j.jqplot

Почему в вашем коде есть какие-то J ? Кроме того, все вроде бы нормально, возможно попробуйте указать место в легенде, чтобы увидеть, решит ли это проблему, вот пример :

plot = $.jqplot('chart2', [arr], {
        grid: {
            drawBorder: true,
            drawGridlines: false,
            background: '#FFFFFF',
            shadow: true
        },
        seriesDefaults: {
            renderer: $.jqplot.PieRenderer,
            rendererOptions: {
                showDataLabels: true
            }
        },
        legend: {
            show: true,
            location: 'e'
        }
    });
0 голосов
/ 20 января 2011

Я сталкивался с чем-то похожим. попробуйте проверить свойство css text-align: left

<div id='piechartdiv' style="text-align:left;"></div> 

Боюсь, я не знаю почему, но это исправило ошибку для меня

...