matplotlib - 在 Matplotlib 图中叠加线?
问题描述
我正在尝试打印一个简单的折线图,其中输出跟踪 imdbRating 在节目中不同季节的时间。我的代码是这样输入的:
S1imdb = season_1['imdbRating']
S2imdb = season_2['imdbRating']
S3imdb = season_3['imdbRating']
S4imdb = season_4['imdbRating']
S5imdb = season_5['imdbRating']
S6imdb = season_6['imdbRating']
S7imdb = season_7['imdbRating']
S8imdb = season_8['imdbRating']
S9imdb = season_9['imdbRating']
plt.plot(S1imdb, label = "Season 1")
plt.plot(S2imdb, label = 'Season 2')
plt.plot(S3imdb, label = 'Season 3')
plt.plot(S4imdb, label = 'Season 4')
plt.plot(S5imdb, label = 'Season 5')
plt.plot(S6imdb, label = 'Season 6')
plt.plot(S7imdb, label = 'Season 7')
plt.plot(S8imdb, label = 'Season 8')
plt.plot(S9imdb, label = 'Season 9')
plt.show()
我的输出是这样的:
但是,我希望将这些线映射在彼此之上,而不是彼此相邻。我该怎么做呢?
解决方案
您可以根据数据帧的长度创建新的 x 坐标。
seasons = [season_1, season_2, season_3, season_4, ...]
for i, season in enumerate(seasons):
y = season['imdbRating']
x = range(1, len(y)+1)
plt.plot(x, y, label = "Season {}".format(i+1))
推荐阅读
- django - 网站拒绝在自定义域上打开,但在 IP 上工作
- javascript - 是否可以让 Bootstrap 工作的宽度而不是视口宽度?
- javascript - How to insert item at certain positions in a multiple array loop
- android - Android - DrawerLayout 仅显示后退箭头
- git - GitHub 的“id_rsa”密钥文件名有什么意义吗?
- filtering - nestjs 根据 dto 模式进行响应过滤
- node.js - 为什么我的 netlify 应用程序将客户端路径名添加到我的 api 请求(使用弹性 beanstalk 托管的后端)?
- asp.net-core - 如何在 ASP.NET Core API 的 Swagger 中将注释显示为描述段落
- ios - Apple Combine 将 TapPublisher 添加到 UIView
- html - 在简单的 UI 布局中无法理解浮动问题