matplotlib使用plot_date出现marker冗余警告如何不改变绘图效果消除
问题原因
这个警告触发的核心原因是 plt.plot_date 函数默认的fmt格式字符串参数值为'o',自带圆点标记配置,你手动传入marker参数后,两处都定义了标记样式,就出现了冗余配置警告。你之前省略marker=','后出现的圆点,就是这个默认fmt参数带来的默认标记效果。
解决方案
你可以任选以下任意一种方法,既能保留原有绘图效果,又能消除警告:
- 方法1:将标记、线型配置都合并到
fmt参数中,避免重复定义
plt.plot_date([dates[index], dates[index]+timeD], [pivots[index],pivots[index]], fmt=',-', linewidth=2)
其中fmt=',-'分别对应你原来的marker=','和linestyle='-',完全匹配原有绘图效果,没有冗余配置就不会触发警告。
- 方法2:显式将
fmt参数设为空字符串,清除默认配置,保留你原来的参数写法
plt.plot_date([dates[index], dates[index]+timeD], [pivots[index],pivots[index]], fmt='', linestyle = "-", linewidth=2, marker = ",")
清空fmt默认值后,就不会有默认的marker='o'和你手动传入的标记参数冲突,原有绘图效果完全不变。
内容的提问来源于stack exchange,提问作者RazzleDazzle
相关产品推荐
相关产品推荐

