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

如何在Matplotlib中排除重叠图形,使虚线在实心重叠区始终可见?

用Matplotlib重现自定义虚线效果

要实现图中的虚线样式,你可以通过Matplotlib的自定义线条样式功能来完成,以下是两种实用方法:

方法1:直接定义linestyle参数

Matplotlib支持用(偏移量, (实线段长度, 空白段长度...))的格式自定义线条,序列里的数字会循环重复。比如针对图中的「短划线+小点」循环样式,示例代码如下:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y = np.sin(x)

# 自定义样式:3单位实线 → 1单位空白 → 1单位实线(模拟点) → 1单位空白,循环
plt.plot(x, y, linestyle=(0, (3, 1, 1, 1)), color='black')
plt.show()

方法2:使用dashes参数

和上面原理一致,单独通过dashes参数设置线段/空白的长度序列:

plt.plot(x, y, dashes=[3, 1, 1, 1], color='black')
plt.show()

细节调整

你可以根据原图的实际比例微调序列中的数字:

  • 数字越大,对应的线段或空白越长;数字越小则越短
  • 修改偏移量(比如(1, (3,1,1,1)))可以改变线条的起始位置,让样式对齐更贴合需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 22:25:41