建议在matplotlib中绘制重叠线?

时间:2016-11-23 14:18:30

标签: python matplotlib

是否有人建议在情节上呈现重叠线条的最佳方式是什么?我有很多这样的东西,我想到了不同颜色的完整线条,它们不重叠,并且在它们重叠的地方有虚线,这样所有颜色都可见,并且可以看到重叠的颜色。

但是,我怎么做。

3 个答案:

答案 0 :(得分:11)

只需减少线条的不透明度,使它们透明。你可以使用alpha变量实现这一点。例如:

plt.plot(x, y, alpha=0.7)

其中alpha范围为0-1,0为不可见。

答案 1 :(得分:0)

想象一下您的熊猫数据框称为respone_times,那么您可以使用alpha来为图形设置不同的不透明度。使用alpha检查enter image description here之前和之后的图片。

plt.figure(figsize=(15, 7))
plt.plot(respone_times,alpha=0.5)
plt.title('a sample title')
plt.grid(True)
plt.show()

答案 2 :(得分:0)

在高度离散的情节中,我也遇到同样的问题。

这是开始情况:

import matplotlib.pyplot as plt
grid=[x for x in range(10)]
graphs=[
        [1,1,1,4,4,4,3,5,6,0],
        [1,1,1,5,5,5,3,5,6,0],
        [1,1,1,0,0,3,3,2,4,0],
        [1,2,4,4,3,2,3,2,4,0],
        [1,2,3,3,4,4,3,2,6,0],
        [1,1,3,3,0,3,3,5,4,3],
        ]

for gg,graph in enumerate(graphs):
    plt.plot(grid,graph,label='g'+str(gg))

plt.legend(loc=3,bbox_to_anchor=(1,0))
plt.show()

没人能说出绿线和蓝线的确切位置

和我的“解决方案”

import matplotlib.pyplot as plt
grid=[x for x in range(10)]
graphs=[
        [1,1,1,4,4,4,3,5,6,0],
        [1,1,1,5,5,5,3,5,6,0],
        [1,1,1,0,0,3,3,2,4,0],
        [1,2,4,4,3,2,3,2,4,0],
        [1,2,3,3,4,4,3,2,6,0],
        [1,1,3,3,0,3,3,5,4,3],
        ]

for gg,graph in enumerate(graphs):
    lw=10-8*gg/len(graphs)
    ls=['-','--','-.',':'][gg%4]
    plt.plot(grid,graph,label='g'+str(gg), linestyle=ls, linewidth=lw)

plt.legend(loc=3,bbox_to_anchor=(1,0))
plt.show()

感谢您提出改进建议!