我想要达到的目标是线形图及其在整个历史中的平均得分。 X轴=年,y轴=得分。
genre_list
是类型类型的数组。
for genre in genre_list:
random_color = [np.random.random_sample(), np.random.random_sample(), np.random.random_sample()]
plt.plot('release_year', 'vote_average',
data=genre_df, marker='',
markerfacecolor=random_color,
markersize=1,
color=random_color,
linewidth=1,
label = genre)
plt.legend()
plt.figure(figsize=(5,5))
尽管我最终很难看。
问题1)我尝试设置图形尺寸,但似乎保持不变。我该如何配置?
问题2)如何设置线条颜色以匹配图例?
问题3)如何配置x和y轴,使其更精确? (可能与#1相同)
感谢您的各种投入,谢谢。
答案 0 :(得分:0)
请考虑groupby
,以按照流派拆分数据帧,然后循环遍历子集以绘制图线。就像上面的@ImportanceOfBeingErnest引用一样,请使用此SO answer以每年的间隔(按需旋转刻度)来间隔x轴:
import matplotlib.pyplot as plt
import matplotlib.ticker as plticker
...
fig, ax = plt.subplots(figsize=(12,5))
for genre, sub_df in genre_df.groupby(['genres']):
random_color = [np.random.random_sample() for _ in range(3)]
plt.plot('release_year', 'vote_average',
data = sub_df, marker = '',
markerfacecolor = random_color,
markersize = 1,
color = random_color,
linewidth = 1,
label = genre)
loc = plticker.MultipleLocator(base=1.0)
ax.xaxis.set_major_locator(loc)
plt.xticks(rotation=45)
plt.legend()
plt.show()
plt.clf()