Matplotlib:如何制作由点(圆圈)组成的虚线?

时间:2016-08-09 11:18:14

标签: python matplotlib

我有两个平滑的依赖关系y1(x)和y2(x),其中x是不规则分布的。我希望用虚线(linestyle = ':')描述这些依赖关系。我现在在* .pdf文件中显示here

以下是代码:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

x  = [0, 1, 2,  3,  5,  7, 13, 14]
y1 = [3, 5, 6,  8,  7,  6,  9, 10]
y2 = [1, 7, 8, 10, 14, 18, 20, 23]

ax.plot(x, y1, 
        linestyle = ':',
        linewidth = 4,
        color = 'Green')

ax.plot(x, y2, 
        linestyle = ':',
        linewidth = 4,
        color = 'Blue')

ax.set_ylabel('y(x)')
ax.set_xlabel('x')

plt.savefig("./test_dotted_line.pdf")

我使用dashes = [2,2](以及其他组合)和dash_capstyle = 'round',但结果看起来不错。

是否有可能有一个由'圆圈'点组成的虚线?

4 个答案:

答案 0 :(得分:1)

这就是诀窍

ax.plot(x, y1, linestyle = '--',
    linewidth = 4,
    color = 'Green',
    dashes=(0.5, 5.),
    dash_capstyle='round'

您使用短划线,设置dash_capstyle =' round',然后使用短划线=(ink_points_on,ink_points_off)来获取所需大小的点。

答案 1 :(得分:1)

尝试此线型:

ax.plot(x, y1, 
    linestyle = (0,(0.1,2)),
    dash_capstyle = 'round',
    linewidth = 4,
    color = 'Green')

输出是这样的: output

答案 2 :(得分:0)

删除linewidth。然后它打印小方块 - 足够好?

您还可以使用dash_capstyle = "round"对方块进行舍入。

答案 3 :(得分:0)

如果您想在短划线后加点的行,请使用 linestyle ='-。'

x.plot(x, y2, 
    linestyle = '-.',
    linewidth = 4,
    color = 'Blue')

如果要对每个数据点绘制线形的圆形标记,请使用 marker ='o'

x.plot(x, y2, 
    linestyle = '-',
    linewidth = 4,
    marker='o',
    color = 'Blue')