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

为何折线图显示为方块而非线条?Plotly代码排查求助

问题排查与解决:Plotly折线图显示方块而非线条

可能原因

  • Year列数据类型错误:若Year是字符串类型,Plotly会将其视为离散分类,无法连接成连续线条,仅显示离散数据标记(方块)。
  • 数据存在重复条目:同一Area_Name+Year组合下有多个Victims_of_Rape_Total值,Plotly无法确定连线的取值依据,只能显示单个数据点标记。
  • Plotly版本/渲染环境问题:旧版Plotly或渲染环境(如Jupyter Notebook)的配置异常,导致线条渲染失败。

解决办法

1. 修复Year列数据类型

先检查Year列的类型:

print(df['Year'].dtype)

若为object(字符串),转换为数值类型:

import pandas as pd
df['Year'] = pd.to_numeric(df['Year'], errors='coerce')
# 移除转换后产生的空值行
df = df.dropna(subset=['Year'])

2. 聚合重复数据

对同一Area_Name和Year的重复数据进行聚合(以求和为例):

df_agg = df.groupby(['Area_Name', 'Year'], as_index=False)['Victims_of_Rape_Total'].sum()
# 使用聚合后的数据重新绘图
fig2 = px.line(df_agg, x="Year", y="Victims_of_Rape_Total", color='Area_Name')
fig2.show()

3. 强制配置线条样式

若数据无问题但仍仅显示标记,手动设置线条可见:

fig2 = px.line(df, x="Year", y="Victims_of_Rape_Total", color='Area_Name', markers=True)
# 调整线条宽度确保可见
fig2.update_traces(line=dict(width=2))
fig2.show()

4. 更新Plotly版本

如果是版本兼容问题,升级到最新版:

pip install plotly --upgrade

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 09:50:57