在matplotlib中为标记和线条设置不同的颜色并在图例中显示它们

Fed*_*eda 3 python matplotlib

我想创建一个由线条和标记组成的绘图,但两者使用不同的颜色。我的方法是使用两个重叠图:

#!/usr/bin/env python3
import matplotlib.pyplot as plt
fig,ax1 = plt.subplots()
x=[0,1,2,3]
y=[10,20,40,80]
ax1.plot(x, y,color='#FF0000', alpha=0.5, linewidth=2.2,label='Example line',zorder=9)
ax1.scatter(x, y ,marker='o',s=80,color='black',alpha=1,label='Example marker',zorder=10) 

ax1.set_ylim([0,150])
ax1.set_xlim([0,5])
ax1.legend(loc='upper right')
plt.show()
plt.close()
Run Code Online (Sandbox Code Playgroud)

输出:

图输出

这里的问题是,自然地,线(----)和标记(X)在图例中是分开显示的。

您是否知道一种在图例中同时显示标记和线条的方法,也就是说,在组合的线条和标记 (---X---) 标签中?

Big*_*Ben 7

也许只需在第一个绘图调用中指定您的标记属性...例如

ax1.plot(x, y,color='#FF0000', linewidth=2.2, label='Example line',
          marker='o', mfc='black', mec='black', ms=10)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述