在地图边缘重叠xtick

问题描述 投票:0回答:1

我从这段代码中得到了折线图

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()

看起来像这样:

我的问题是: 如何使上图末端的 2 个点像此图一样浮动。

python linechart point pyqtgraph overlapping
1个回答
0
投票

有两个步骤。第一步是更改绘图的 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)
© www.soinside.com 2019 - 2024. All rights reserved.