我正在使用numpy制作一个(x,y)散点图。目前坐标轴从(0,0)开始,延伸到与数据范围对齐。我需要绘制两个位于x=0线上的点。
目前看来符号是在轴之前被绘制的,随后被轴截断。我希望它出现在轴的上方。我相信我可以通过'label'做些什么,但我找不到任何方法使其起作用。
标记有些可见,但它们是可视化的重要组成部分。如果有人有解决方法那就太好了。
我正在使用numpy制作一个(x,y)散点图。目前坐标轴从(0,0)开始,延伸到与数据范围对齐。我需要绘制两个位于x=0线上的点。
目前看来符号是在轴之前被绘制的,随后被轴截断。我希望它出现在轴的上方。我相信我可以通过'label'做些什么,但我找不到任何方法使其起作用。
标记有些可见,但它们是可视化的重要组成部分。如果有人有解决方法那就太好了。
为了使标记实际出现在轴的顶部,您可以使用 zorder
:
import numpy as np
import matplotlib.pyplot as plt
x = np.array([0,1,2,3,4,5,6])
y = np.array([0,2,0,4.5,0.5,2,3])
plt.plot(x, y, 'o', zorder=10, clip_on=False)
plt.xlim(0, 6)
plt.ylim(0, 4.5)
plt.show()
import numpy as np
import matplotlib.pyplot as plt
x = np.array([0,1,2,3,4,5,6])
y = np.array([0,2,0,4.5,0.5,2,3])
line = plt.plot(x,y,'o')[0]
line.set_clip_on(False)
plt.show()
我认为您需要的是plt.axis([xmin,xmax,ymin,ymax])
:
import numpy as np
import matplotlib.pyplot as plt
x = np.array([0,1,2,3,4,5,6])
y = np.array([0,2,0,4.5,0.5,2,3])
plt.plot(x,y,'o')
plt.axis()
# (0.0, 6.0, 0.0, 4.5)
plt.axis([-.5,6.5,-.5,5])
plt.show()
plt.axis()
动态获取当前坐标轴,然后加/减一个小的边距值,最后重新设置它。pyplot.xlim()
和 pyplot.ylim()
。 - Chinmay Kanchi
zorder=10, clip_on=False
。 - one