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

2024-04-25 06:59:23 发布

您现在位置:Python中文网/ 问答频道 /正文

当我使用Matplotlib打印数据时,默认情况下轴始终打印为框式打印。假设我正在绘制轴限制范围内的数据-2 < x < 2-2 < y < 2,但我希望在该绘图区域内通过原点绘制轴线,最好使用沿这些轴线的记号和记号标签,而不是沿外部框架。


Tags: 数据框架区域绘图matplotlib绘制情况标签
2条回答

这在spines example(旧链接)/spine placement demo(新链接)中有很好的记录。

您将关闭右侧和顶部脊椎(例如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')

enter image description here

我至少能给出半个完整的答案。 是的,你可以很容易地画出轴线。就这么简单

plt.axvline(0)
plt.axhline(0)

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

相关问题 更多 >