我从这段代码中得到了折线图
import numpy as np
import matplotlib.pyplot as plt
if __name__ == "__main__":
res_files=([1],[2],[3],[4])
marker_list = ['bo-', 'gv-', 'rD--', 'c*--', 'mh:', 'ys:']
label_list = ['a', 'b', 'c', 'd','e']
fig, ax = plt.subplots()
j = 0
for i, res in enumerate(res_files):
data = res_files
x = np.arange(0, len(data))
ax.plot(x, data, marker_list[i], label=label_list[j])
j = (j + 1)
plt.xticks(np.arange(0, len(data), 1.0)) #rotation=0, visible = True
ax.set_xlim(0, 3)
plt.ylabel('abc')
plt.xlabel('dcf')
plt.legend(loc='upper left')
plt.grid(which='major', linestyle='-', linewidth='0.05', color='black')
plt.show()
有两个步骤。第一步是更改绘图的 z 顺序,以便将它们绘制在轴上(有关更多信息,请参阅docs)。这是通过将参数
zorder
添加到每个 ax.plot(...)
来完成的。要在轴上绘制 2.5
以上的任何内容就足够了,因此我建议使用 2.5
和 3
之间的值。
第二步是确保绘图不会在两侧剪切。为此,可以使用
set_clip_on(False)
。
所以,
ax.plot(...)
应该改为:
line = ax.plot(x, data, marker_list[i], label=label_list[j], zorder=2.6)[0]
line.set_clip_on(False)