Matplotlib pyplot';s xscale日志标签重叠

Matplotlib pyplot';s xscale日志标签重叠,matplotlib,axis,Matplotlib,Axis,我试图用pyplot绘制两个不同模型的不和谐图,我必须在x轴上使用对数比例。问题是2x10的刻度⁰ 与我为图表设置的刻度重叠。有没有关于如何移除2x10的想法⁰ 在右下角和右上角 以下是我使用的代码: import numpy as np import matplotlib.pyplot as plt #Random Data space = [2**(i/100) for i in range(101)] plot1 = [np.sin(2*np.pi*30*i) for i in spac

我试图用pyplot绘制两个不同模型的不和谐图,我必须在x轴上使用对数比例。问题是2x10的刻度⁰ 与我为图表设置的刻度重叠。有没有关于如何移除2x10的想法⁰ 在右下角和右上角

以下是我使用的代码:

import numpy as np
import matplotlib.pyplot as plt

#Random Data
space = [2**(i/100) for i in range(101)]
plot1 = [np.sin(2*np.pi*30*i) for i in space]
plot2 = [np.sin(2*np.pi*60*i) for i in space]


fig = plt.figure()
ax1 = fig.add_subplot(111)
ax2 = ax1.twiny()

ax1.set_xscale('log')
ax2.set_xscale('log')
ax1.plot(space, plot1,label='Vassilakis - C4 with C4 generated Spec')
ax1.plot(space, plot2,label='Sethares - C4 with C4 generated Spec')
ax1.legend(bbox_to_anchor=(1.04,1), loc="upper left")
ax1.set_title("Dissonance curve for different Models",y=1.08)
ax1.set_xlabel("scale steps")
ax1.set_ylabel("dissonance for Vassilakis method")


steps = [2**(i/8) for i in range(9)]
labels= ['0','1','2','3','4','5','6','7','8']
steps2 = [2**(i/12) for i in range(13)]
labels2= ['0','1','2','3','4','5','6','7','8','9','10','11','12']

ax1.set_xticks(steps)
ax1.set_xticklabels(labels)
ax2.set_xlim(ax1.get_xlim())
ax2.set_xticks(steps2)
ax2.set_xticklabels(labels2)
plt.show()

如果我尝试运行您的代码(注释掉
ax1.plot
行,因为我没有你的数据,所以我不会在与你相同的位置上得到记号。你能创建一个仍然产生这种行为的标记吗?您好,很抱歉示例不完整。我刚刚编辑了代码,使其在没有依赖项的情况下工作,并且仍然存在相同的问题。thnx