You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何绘制按Start时间升序排列的电视剧散点图?

解决Matplotlib折线图重叠问题:改为散点图展示电视剧播出时间

没问题!要解决折线图线条重叠、难以看清排序顺序的问题,把它改成散点图是个绝佳选择——散点图能独立展示每个数据点,完美避免线条交叉重叠的问题。下面是具体的实现步骤:

1. 先确保数据按播出时间升序排序

首先得把你的DataFrame按照Start列(播出时间)从00:00到23:59升序排列,这样绘图时数据就是按时间顺序展示的:

import pandas as pd
import matplotlib.pyplot as plt

# 先把Start列转换成时间类型(如果还没转换的话)
df['Start'] = pd.to_datetime(df['Start'], format='%H:%M:%S')

# 按播出时间升序排序
df_sorted = df.sort_values('Start')

2. 绘制散点图

把原来的plt.plot()换成plt.scatter(),就可以生成散点图了。为了让图表更易读,还可以加上坐标轴标签、标题,调整x轴的显示(比如旋转电视剧名称避免重叠):

plt.figure(figsize=(10, 6))  # 根据数据量调整图表大小

# 绘制散点图:x轴是电视剧名称,y轴是播出时间
plt.scatter(df_sorted['TV'], df_sorted['Start'])

# 添加图表辅助元素
plt.xlabel('电视剧名称')
plt.ylabel('播出时间')
plt.title('电视剧按播出时间升序分布')
plt.xticks(rotation=45, ha='right')  # 旋转x轴标签,避免文字重叠

plt.tight_layout()  # 自动调整布局,防止元素被截断
plt.show()

额外优化小技巧

如果同一时间有多部剧,你可以给散点加上不同颜色,进一步区分不同剧集:

# 为每部剧分配独特颜色
unique_shows = df_sorted['TV'].unique()
colors = plt.cm.tab10(range(len(unique_shows)))
color_map = dict(zip(unique_shows, colors))

# 带颜色区分的散点图
plt.scatter(df_sorted['TV'], df_sorted['Start'], color=[color_map[show] for show in df_sorted['TV']])

这样处理后,每部剧的播出时间点都会清晰展示,再也不会有折线重叠的困扰啦!

内容的提问来源于stack exchange,提问作者user12809368

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 22:12:44