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

使用Pandas与Matplotlib绘制折线图出现填充问题求助

解决Matplotlib折线图显示为填充样式的问题

问题描述

使用pandas和matplotlib绘制数据集时,应用Solarize_Light2样式后,折线图显示为填充区域样式,需要改为普通折线样式。

解决方案

方法1:显式指定线条样式

在plt.plot()中添加linestyle='-'参数,覆盖样式的默认设置:

%matplotlib inline
from matplotlib import style
import pandas as pd
from matplotlib import pyplot as plt
covid = pd.read_csv('covid_19_india.csv')
plt.style.use('Solarize_Light2')
# 指定实线样式
plt.plot(covid.Date, covid.Deaths, linestyle='-')
plt.show()

方法2:修改样式默认参数

加载样式后,全局修改线条样式的默认配置:

%matplotlib inline
from matplotlib import style
import pandas as pd
from matplotlib import pyplot as plt
covid = pd.read_csv('covid_19_india.csv')
plt.style.use('Solarize_Light2')
# 覆盖样式中的线条设置
plt.rcParams['lines.linestyle'] = '-'
plt.plot(covid.Date, covid.Deaths)
plt.show()

方法3:更换其他内置样式

如果不需要Solarize_Light2的配色,可直接使用默认或其他内置样式(如ggplot、seaborn),这些样式默认采用折线展示:

%matplotlib inline
from matplotlib import style
import pandas as pd
from matplotlib import pyplot as plt
covid = pd.read_csv('covid_19_india.csv')
# 使用ggplot样式
plt.style.use('ggplot')
plt.plot(covid.Date, covid.Deaths)
plt.show()

原因说明

Solarize_Light2是matplotlib的内置样式之一,其默认配置中lines.linestyle被设置为'None',同时开启了填充效果,导致图表显示为填充区域而非折线。通过显式指定线条样式或修改配置,可以恢复普通折线的展示效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 07:55:30