jqplot pie chart not rendering correctly.

Justin picture Justin · Jul 28, 2011 · Viewed 10.6k times · Source

Getting the log message: Diameter of pie too small, not rendering.

Then, it seems when I hover or click inside the page I get: Uncaught TypeError: Cannot read property '0' of undefined

    <link href="/Content/jqPlot/jquery.jqplot.css" rel="stylesheet" type="text/css" />
    <script src="/Scripts/jquery.jqplot.js" type="text/javascript"></script>
    <script src="/Scripts/jqplot.pieRenderer.js" type="text/javascript"></script>

    <script type="text/javascript">
        $(function () {
            //GetWeeklyProjectSummary();
            Test();
        });

        function Test() {
            var data = [["987 Project",74],["ABC Project",68],["XYZ project",26]];
            var plot1 = jQuery.jqplot('weeklyProjectSummary', [data],
                {
                    seriesDefaults: {
                        // Make this a pie chart.
                        renderer: jQuery.jqplot.PieRenderer,
                        rendererOptions: {
                            // Put data labels on the pie slices.
                            // By default, labels show the percentage of the slice.
                            showDataLabels: true
                        }
                    },
                    legend: { show: true, location: 'e' }
                }
              );
        }
    </script>

Here is the div its going into:

<div id="weeklyProjectSummary"></div>

Here is what I get on the page: page output

Let me know if you need any more details.

Answer

otso picture otso · Aug 29, 2011

I had similar problem when using jqplot with blueprintcss - based on your screen capture I believe you are using blueprintcss.

Try removing the following line:

legend: { show: true, location: 'e' }

and see if it renders properly.

(Edit: More information here:

https://bitbucket.org/cleonello/jqplot/issue/48/legends-doesnt-look-nice-when-using)