首页 > 解决方案 > matplotlib/pyplot - 使轴(纵坐标和横坐标)加粗

问题描述

有没有办法使笛卡尔图中的 x=0 和 y=0(纵坐标和横坐标)轴变粗?

例如,一个简单的情节是:

x = np.arange(0.01, 5, 0.1)
y = np.log(x)
plt.plot(x,y)
plt.grid()

看起来像:

在此处输入图像描述

我可以添加这个“黑客”:

x = np.arange(0.01, 5, 0.1)
y = np.log(x)
plt.plot(x,y)
plt.grid()

plt.plot(x,0*x, 'k')
plt.plot(x*0,x, 'k')
plt.plot(x*0,-x, 'k')

然后我得到:

在此处输入图像描述

有没有办法让这变得不那么老套——一个 API 或更复杂的解决方案?

标签: pythonpandasnumpymatplotlib

解决方案


请看下面的代码:

fig, ax = plt.subplots(1, 1, figsize=(9, 9))
ax.plot(x, y)
ax.grid(True)
ax.axhline(y=0, lw=5, color='k')
ax.axvline(x=0, lw=5, color='k')

在此处输入图像描述 从实用的角度来看,我总是使用艺术家制作 matplotlib 绘图,使属性调整变得更加容易。


推荐阅读