I believe I’m seeing a similar problem with P3 on InstantWP, which I’m using to learn WordPress. When the P3 plugin is run, only the graph on the “Detailed Breakdown” tab was being drawn — all the other graphs were blank.
I traced the problem to the fact that the HTML IDs for the divs for each of the graphs were identical. As a result, the jQuery functions that were drawing the graphs all draw in the same div, and thus only the last graph drawn survived.
The reason all of the IDs were identical is due to the following code in the P3 plugin’s view-scan.php:
$pie_chart_id = substr( md5( uniqid() ), -8 );
$runtime_chart_id = substr( md5( uniqid() ), -8 );
$query_chart_id = substr( md5( uniqid() ), -8 );
$component_breakdown_chart_id = substr( md5( uniqid() ), -8 );
$component_runtime_chart_id = substr( md5( uniqid() ), -8 );
It appears that php’s uniqid() function must be returning the same value in each of these calls, possibly because the system clock only has a granularity of milliseconds, not microseconds. Regardless, changing the above code to the following fixed the problem so that unique IDs were generated and the graphs were rendered properly:
$baseId = substr( md5( uniqid() ), -8 );
$pie_chart_id = $baseId . '_A';
$runtime_chart_id = $baseId . '_B';
$query_chart_id = $baseId . '_C';
$component_breakdown_chart_id = $baseId . '_D';
$component_runtime_chart_id = $baseId . '_E';