Display number of post published every day

Since the publish date is stored, you can simply range-select count for posts, which are published in a given interval range.

function count_posts_per_interval($seconds) {
    global $wpdb;

    $count = (array) $wpdb->get_row($wpdb->prepare(
        "select count(ID) from wp_posts where post_status="publish" and post_date between date_sub(now(), interval %d second) and now();",
        $seconds
    ));

    return (int) array_shift($count);
}

The SQL query can take day,week etc instead of second, but since WordPress ships with some useful time constants, let’s keep it that way.

# Retrieve number of posts posted within last day
print_r( count_posts_per_interval( DAY_IN_SECONDS ) );

# Retrieve number of posts posted within last week
print_r( count_posts_per_interval( WEEK_IN_SECONDS ) );