豆瓣Top250大数据可视化分析

引言

豆瓣是中国最大的电影评分和评论网站之一,其Top250电影榜单是广大影迷和电影爱好者关注的焦点。本文将使用Python进行豆瓣Top250电影数据的获取和可视化分析,通过数据分析和可视化展示,我们可以深入了解这些电影的特点和趋势。

数据获取

首先,我们需要获取豆瓣Top250电影的数据。豆瓣提供了API接口,可以通过发送HTTP请求获取电影数据。以下是使用Python的requests库发送HTTP请求的示例代码:

import requests

url = '
params = {
    'start': 0,
    'count': 250
}
response = requests.get(url, params=params)
data = response.json()

以上代码中,我们发送了一个GET请求到豆瓣的API接口,并传递了起始位置和数量参数。接口返回的数据为JSON格式,我们使用response.json()将其转换为Python字典。

数据处理与分析

获取到数据后,我们可以进行进一步的处理和分析。首先,我们可以提取每个电影的评分、评分人数、上映年份等信息,并计算出平均评分和评分人数的分布情况。以下是示例代码:

ratings = []
votes = []
years = []

for movie in data['subjects']:
    rating = movie['rating']['average']
    vote = movie['rating']['numRaters']
    year = movie['year']
    ratings.append(rating)
    votes.append(vote)
    years.append(year)

average_rating = sum(ratings) / len(ratings)
average_vote = sum(votes) / len(votes)

以上代码中,我们使用循环遍历每个电影,提取出评分、评分人数和上映年份,并分别保存到对应的列表中。最后,我们计算出平均评分和评分人数。

接下来,我们可以使用Matplotlib库进行数据可视化。以下是示例代码:

import matplotlib.pyplot as plt

# 绘制平均评分的直方图
plt.hist(ratings, bins=10, color='steelblue', edgecolor='k')
plt.xlabel('Rating')
plt.ylabel('Count')
plt.title('Distribution of Ratings')
plt.show()

# 绘制评分人数和平均评分的散点图
plt.scatter(votes, ratings, color='steelblue', alpha=0.6)
plt.xlabel('Votes')
plt.ylabel('Rating')
plt.title('Votes vs Rating')
plt.show()

以上代码中,我们使用Matplotlib的plt.hist()绘制平均评分的直方图,并使用plt.scatter()绘制评分人数和平均评分的散点图。

结果展示与分析

通过以上的数据处理和可视化分析,我们可以得到豆瓣Top250电影的一些特点和趋势。以下是结果的展示和分析:

平均评分分布

通过绘制平均评分的直方图,我们可以看出豆瓣Top250电影的评分主要集中在7-9之间,其中8分的电影数量最多,说明这些电影总体上受到观众的较高评价。

评分人数与平均评分关系

通过绘制评分人数和平均评分的散点图,我们可以看出评分人数与平均评分之间存在一定的正相关关系。评分人数较多的电影往往具有较高的平均评分,说明这些电影受到了更多观众的认可和喜爱。

旅行图(Journey)

旅行图(Journey)是一种用来展示过程或事件的图表,我们可以使用Mermaid语法中的journey标识来绘制旅行图。以下是豆瓣Top250电影的旅行图示例代码:

journey
    title Journey of Top250 Movies
    section 1990-2000
        Top Gun --> The Lion King --> Titanic
    section 2000-2010
        Gladiator --> The Lord of the Rings