我正在尝试在 matplotlib 中绘制一些数据以显示实验结果,如下所示:
xvalues = [2, 4, 8, 16, 32, 64, 128, 256]
yvalues = [400139397.517, 339303459.4277, 296846508.2103, 271801897.1163,
295153640.7553, 323820220.6226, 372099806.9102, 466940449.0719]
我希望将其绘制在对数刻度上以使其更易于可视化,因此编写了以下代码:
import matplotlib.pyplot as plt
def plot_energy(xvalues, yvalues):
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
ax.scatter(xvalues, yvalues)
ax.plot(xvalues, yvalues)
ax.set_xscale('log')
ax.set_xticklabels(xvalues)
ax.set_xlabel('RUU size')
ax.set_title("Energy consumption")
ax.set_ylabel('Energy per instruction (nJ)')
plt.show()
但是,正如您所见,我的 xlabels 并没有像我希望的那样出现,如下所示
如果我删除该行ax.set_xticklabels(xvalues)
,那么我会得到以下结果,这也不是我想要的:
对于在 x 轴上绘制正确值的帮助,我将不胜感激!
提前致谢。