Python 图形中X轴上的可变间距

Python 图形中X轴上的可变间距,python,matplotlib,plot,Python,Matplotlib,Plot,我想在X轴上有不同的间距。见图: ] 图像来源于“自适应深嵌入”一文——泰勒R.斯科特等人 例如,在上图中,x轴上的间距为1个单位,x在(和icluding)1和5之间。这与5和10之间的间距不同,依此类推 假设我有所有y的值,从x=1到x=1000的所有整数值 举例说明: 如果我简单地用matlplotlib将y与x的选择值[1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90100200,30400500]进行对比: import matplotlib

我想在X轴上有不同的间距。见图:

]

  • 图像来源于“自适应深嵌入”一文——泰勒R.斯科特等人
例如,在上图中,x轴上的间距为1个单位,x在(和icluding)1和5之间。这与5和10之间的间距不同,依此类推

假设我有所有y的值,从x=1到x=1000的所有整数值

举例说明: 如果我简单地用matlplotlib将y与x的选择值[1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90100200,30400500]进行对比:

import matplotlib.pyplot as plt
plt.plot(t, test_accuracy_Exp1, 'r') # plotting t, a separately    ##Author's Orginal 
plt.plot(t, test_accuracy_Exp5, 'g') # plotting t, a separately ##Diff_LR_for_Diff_layers_2
plt.show()
生成的图形在x轴上的间距仍然相等,我得到以下结果:


那么如何控制间距呢?

您可以控制所有值的轴间距,但不能控制单个值的间距。

因此我找到了答案,答案非常简单。 在上述情况下,作者使用了日志缩放(仅在x轴上)

这可以使用matplotlib中的semilogx()函数完成,如下所示:

plt.semilogx(t, test_accuracy_Exp1, 'r') # plotting t, a separately    
plt.semilogx(t, test_accuracy_Exp5, 'g') # plotting t, a separately 
plt.show()
更多关于semilogx的信息: