Power BI中Matplotlib折线图无法正常连接的问题求助
问题解决:Power BI Python视觉中Matplotlib折线不连续
核心问题原因
折线图绘制时,若x轴数据(R_Length)未按顺序排列,Matplotlib会按数据原有顺序连接点,导致线条断裂、不连续。另外原代码的DataFrame初始化方式有误,会导致列名与数据对应关系异常。
修复步骤
1. 修正DataFrame初始化逻辑
直接传入多个序列创建DataFrame的方式不符合pandas规范,需用字典明确指定列名与对应数据:
dataset = pandas.DataFrame({ 'R_Length': R_Length, 'ScatterPlot': ScatterPlot, 'ClusterLine': ClusterLine, 'TargetLine': TargetLine })
2. 按x轴数据排序
去重后对R_Length进行排序,确保折线连接的点按x轴顺序排列:
dataset = dataset.drop_duplicates().sort_values(by='R_Length')
3. 完整修正代码
# 正确初始化DataFrame dataset = pandas.DataFrame({ 'R_Length': R_Length, 'ScatterPlot': ScatterPlot, 'ClusterLine': ClusterLine, 'TargetLine': TargetLine }) # 去重后按x轴排序 dataset = dataset.drop_duplicates().sort_values(by='R_Length') import matplotlib.pyplot as plt ax = plt.gca() # 绘制散点图 dataset.plot(kind='scatter', x='R_Length', y='ScatterPlot', color='blue', ax=ax) # 绘制ClusterLine折线 dataset.plot(kind='line', x='R_Length', y='ClusterLine', color='black', linestyle='solid', ax=ax) # 绘制TargetLine折线 dataset.plot(kind='line', x='R_Length', y='TargetLine', color='red', linestyle='-', ax=ax) plt.show()
额外排查点
- 检查
ClusterLine和TargetLine列是否存在大量缺失值(NaN),缺失值会导致折线中断,可通过dataset[['ClusterLine', 'TargetLine']].isnull().sum()查看,必要时用fillna()填充或筛选掉缺失行。 - 确认去重操作(
drop_duplicates())没有误删必要的连续数据点,若不需要去重可考虑移除该步骤。
内容的提问来源于stack exchange,提问作者user1403789
相关产品推荐
相关产品推荐

