Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在matplotlib python中删除中间的记号标签_Python_Matplotlib_Reportlab - Fatal编程技术网

如何在matplotlib python中删除中间的记号标签

如何在matplotlib python中删除中间的记号标签,python,matplotlib,reportlab,Python,Matplotlib,Reportlab,我正在使用matplotlib创建图形, 如何删除蜱虫,但只保留第一个和最后一个蜱虫?我想在绘图内部绘制网格时保留它们的效果。(为了精确起见,仅移除标签) 代码 当前数字: 目标: 谢谢。您可以使用xticks和yticks在x轴和y轴上设置所需的刻度,并将要显示的数字(刻度)列表传递给函数。例如: plt.yticks(np.arange(0, 450, step=50)) 记号位置定义栅格的位置。所以,在x方向上,我们每10个就有一个。标签可以设置为空字符串,第一个和最后一个除外 最复

我正在使用matplotlib创建图形, 如何删除蜱虫,但只保留第一个和最后一个蜱虫?我想在绘图内部绘制网格时保留它们的效果。(为了精确起见,仅移除标签)

代码

当前数字:

目标:


谢谢。

您可以使用
xticks
yticks
在x轴和y轴上设置所需的刻度,并将要显示的数字(刻度)列表传递给函数。例如:

plt.yticks(np.arange(0, 450, step=50))

记号位置定义栅格的位置。所以,在x方向上,我们每10个就有一个。标签可以设置为空字符串,第一个和最后一个除外

最复杂的部分是强制第一条和最后一条网格线可见。由于成圆,有时它们可能落在绘图区域之外。在限制中添加一个额外的ε,应强制这些网格线可见

x和Y标签的填充可以设置为负数,以使它们更靠近轴

请注意,图形和轴应在执行设置标签和轴网等操作之前创建。最简单的方法是在任何打印相关命令之前调用
fig,ax=plt.subplot()

将numpy导入为np
将matplotlib.pyplot作为plt导入
从matplotlib.ticker导入FormatStrFormatter
#创建一些虚拟数据
x=np.linspace(0,60,500)
y=(np.sin(x/5)+1)*450000/2
图,ax1=plt.子批次(图尺寸=(6,4.4))
ax1.绘图(x,y,颜色='#6969',线宽='0.5')
xlims=(0,60)
xlim_eps=xlims[1]/200
#使用一些额外的ε强制绘制第一条和最后一条网格线,以防四舍五入将其置于绘图之外
ax1.设置xlim(xlims[0]-xlim\u eps,xlims[1]+xlim\u eps)
xticks=范围(xlims[0],xlims[1]+1,10)
ax1.set_xticks(xticks)#刻度定义网格的位置
ax1.set_xticklabels([i if i in xlims else''for i in xticks])#为除第一个和最后一个之外的所有对象设置空标签
ax1.设置xlabel(“时间[秒]”,labelpad=-8)#负填充以使标签更靠近轴
ylims=(0450)
ylim_eps=ylims[1]/200
ax1.set_ylim(ylims[0]-ylim_eps,ylims[1]+ylim_eps)
Ylicks=范围(ylims[0],ylims[1]+1,50)
ax1.设置_yticks(yticks)
ax1.set_yticklabels([f'{i:.3f}'如果我在ylims中,则为ylims中的i设置else')
ax1.勾选参数(轴=y',旋转=90)
ax1.设置标签(“荷载[kN]”,标签垫=-8)
ax1.grid(True,linestyle='pointed')
对于[‘右’、‘下’、‘左’、‘上’]中的目录:
ax1.spines[dir]。设置颜色(“无”)
ax1.勾选参数(axis='both',which='major',labelsize=6,colors='6969',length=0)
plt.show()

我尝试了以下方法,但这完全消除了滴答声。plt.yticks(np.arange(0,max(y)+50,50)),我想让它们的效果显示内联网格。嗯,那么@JohanC的答案应该就可以了。既然你似乎对堆栈溢出还不熟悉,你应该看看这个答案有用吗?
plt.yticks(np.arange(0, 450, step=50))