Vous devez créer un nouveau tableau avec cette structure avant de l'encoder en tant qu'objet json. Cela ferait l'affaire (votre nouveau tableau formaté est dans $new_array, vous pouvez donc simplement l'encoder en json):
$new_array = array();
foreach($pdo_response as $bf) {
if(empty($new_array[$bf['volume_name']])) {
$new_array[$bf['volume_name']] = array("key" => $bf['volume_name'], "values" => array());
}
$new_array[$bf['volume_name']]['values'][] = array("x" => $bf['recoreded'], "y" => $bf['volume_files_used']);
}
Utilisez array_values() si vous voulez des clés numériques (0 - ....) pour la première dimension.