如题,我们要分析电影时间长短的分布情况,绘制直方图展示。这张图的思路比较特殊,可以作为一个例子。
还是使用之前的数据,读取并清洗数据。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
df = pd.read_csv('movie_metadata.csv',
usecols=[0,1,2,3,4,5,6,7,8,9,10,11,13,15,27])
data=df.dropna(how='any')
绘制 电影时长-电影个数 的直方图我们只需要用到电影时长一列数据。
绘制直方图用 数据、组数 两个参数
# movie_duration=data['duration']也可以写成
movie_duration=data.duration
plt.figure(figsize=(20,8),dpi=100)
# 设置组距
distance = 5
group_num=int((max(movie_duration)-min(movie_duration))/distance)
# 计算组数
# 绘制直方图用 数据、组数 两个参数
plt.hist(movie_duration,bins=group_num)
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.xticks(range(int(min(movie_duration)),int(max(movie_duration)))[::5])
plt.grid(linestyle&