python - Matplotlib - 在带有负和正 y 轴的折线图中提高刻度线
问题描述
我正在使用 matplotlib 绘制一系列 5 个图。但是,我希望每个图的刻度线在 y 轴上为 0,而不是在图的底部(y 轴上的负数)。在所附图片中,您可以看到 x 轴刻度线有点浮动在 0 以下。
我目前正在通过物理调用将这条线绘制在 y 轴上的 0 处:
ax[i].plot(np.zeros(300), linewidth=1, color='black')
但是我意识到这可能不是最好的方法,而且我缺少一些东西来提高 x 轴及其刻度线而无需设置它是隐形的吗?
此命令是否有等效的方法将 x 轴刻度线设置到中间?ax.xaxis.set_ticks_position('middle')
不幸的是,看起来只有“顶部”或“底部”
谢谢你的帮助!
to_plot : A Numpy array of shape: (5, 300)
fig, ax = plt.subplots(5, 1, figsize=(12, 7))
plt.tight_layout()
plt.margins(0)
# ax[axis].set_ylabel("Attention Score (a.u.)", family='Arial', fontsize=15)
# ax[axis].set_xlabel("Timestep", family='Arial', fontsize=15)
for axis in range(5):
ax[axis].spines['top'].set_visible(False)
ax[axis].spines['right'].set_visible(False)
ax[axis].spines['bottom'].set_visible(False)
ax[axis].set_ylim([-0.004, 0.006])
ax[axis].set_xlim([0, 300])
for i, line in enumerate(to_plot):
ax[i].plot(np.zeros(len(line)), linewidth=1, color='black')
ax[i].plot(line, linewidth=1)
plt.show()
解决方案
推荐阅读
- windows - 将响应文件传递给 Powershell 中的进程
- c# - 如何修复'值不能为空。参数名称:C#中的键错误
- objective-c - 在 Objective-C 中是否有一种安全的方法来创建对象池?
- javascript - 为什么javascript函数和for循环在下拉菜单中返回未定义?
- fonts - 关于自定义字体的建议
- azure - ADFv2:使用经过身份验证的动态 URL 创建数据源
- c++ - 为什么我会收到错误:使用基类型时从类型表达式中对类型 &my_type 的引用无效初始化?
- ruby-on-rails - 是否可以在不遍历数组的情况下选择某些元素?
- codenameone - 无法再在 Android 上构建
- javascript - 使用 TypeORM 更新多对多关系