如何在Matplotlib的绘图中绘制轴线?

Tho*_*sen 5 python matplotlib

当我使用Matplotlib绘制数据时,默认情况下会将轴绘制为框图框.比方说,我在轴的限度内绘制数据-2 < x < 2-2 < y < 2,但我想通过原点绘制轴线该地块区域内,最好有蜱和刻度标记沿着这些轴线-不沿外框架.

tmd*_*son 8

这在spines示例(旧链接)/ 脊椎放置演示(新链接)中有详细记录.

您将关闭右侧和顶部脊柱(例如spines['right'].set_color('none')),并将左侧和右侧脊柱移动到零位置(例如spines['left'].set_position('zero')).

import numpy as np
import matplotlib.pyplot as plt


fig = plt.figure()
x = np.linspace(-np.pi, np.pi, 100)
y = 2*np.sin(x)

ax = fig.add_subplot(111)
ax.set_title('zeroed spines')
ax.plot(x, y)
ax.spines['left'].set_position('zero')
ax.spines['right'].set_color('none')
ax.spines['bottom'].set_position('zero')
ax.spines['top'].set_color('none')

# remove the ticks from the top and right edges
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


Han*_*rén 5

我至少可以给出一个完整的答案。是的,您可以轻松绘制轴线。就这么简单

plt.axvline(0)
plt.axhline(0)
Run Code Online (Sandbox Code Playgroud)

原始轴将保留,但可以使用关闭plt.axis('off')。它也不会给您任何刻度线。