Python 固定matplotlib图
在matplotlib中,我喜欢通过从原点移动脊椎来自定义绘图,例如:Python 固定matplotlib图,python,matplotlib,Python,Matplotlib,在matplotlib中,我喜欢通过从原点移动脊椎来自定义绘图,例如: plot(range(10), marker='o', ms=20) #customize axes axes = gca() axes.spines['right'].set_color('none') axes.spines['top'].set_color('none') axes.xaxis.set_ticks_position('bottom') axes.spines['bottom'].set_positio
plot(range(10), marker='o', ms=20)
#customize axes
axes = gca()
axes.spines['right'].set_color('none')
axes.spines['top'].set_color('none')
axes.xaxis.set_ticks_position('bottom')
axes.spines['bottom'].set_position(('axes', -0.05))
axes.yaxis.set_ticks_position('left')
axes.spines['left'].set_position(('axes', -0.05))
axes.tick_params(axis='x', direction='out')
axes.tick_params(axis='y', direction='out')
问题:
我能做些什么来避免我的标记在边界处被切割
from pylab import *
plot(range(10), marker='o', ms=20)
#customize axes
axes = gca()
axes.spines['right'].set_color('none')
axes.spines['top'].set_color('none')
axes.xaxis.set_ticks_position('bottom')
axes.spines['bottom'].set_position(('axes', -0.05))
axes.yaxis.set_ticks_position('left')
axes.spines['left'].set_position(('axes', -0.05))
axes.tick_params(axis='x', direction='out')
axes.tick_params(axis='y', direction='out')
axes.spines['bottom'].set_smart_bounds(True)
axes.spines['left'].set_smart_bounds(True)
axes.set_xlim(-0.5, 9.5)
axes.set_ylim(-0.5, 9.5)
axes.set_xticks(range(10))
axes.set_yticks(range(10))
必须通过将
clip\u on=False
添加到绘图命令来关闭剪裁:
import numpy as np
import matplotlib.pyplot as plt
plt.plot(range(10), marker='o', ms=20, clip_on=False)
axes = plt.gca()
axes.spines['right'].set_color('none')
axes.spines['top'].set_color('none')
axes.xaxis.set_ticks_position('bottom')
axes.spines['bottom'].set_position(('axes', -0.05))
axes.yaxis.set_ticks_position('left')
axes.spines['left'].set_position(('axes', -0.05))
axes.tick_params(axis='x', direction='out')
axes.tick_params(axis='y', direction='out')
plt.show()
产生:
这妨碍了我漂亮的脊骨,请看@elyas,因为我看到的唯一区别是蜱虫。您可以使用轴设置刻度。设置刻度(范围(10)),y轴也是如此。这应该给你同样的结果。不幸的是,它没有,看。两端不太正确。@elyase所以你不希望轴在0到9之间,并且是整圈。。。我更新了这个例子。@ViktorKerkez这个现在看起来不错,但糟糕的是,它之前累积了几张反对票。我希望你不介意,我添加了图片内联以帮助你的帖子。这很好。这与另一个答案中的
set_smart_bounds
有什么区别?我不知道set_smart_bounds
有什么作用:-知道为什么这条线消失了吗?哦,那是我的绘图风格。我会换的。我想是别的东西,我试过了,在这里也是一样的。