如何在perfplot生成的图表中设置实测输入值为X轴标签?
解决方法
perfplot 执行 show() 方法后会返回底层 matplotlib 的 Axes 对象,直接调用 matplotlib 原生的刻度设置接口即可自定义X轴显示,无需修改perfplot原有配置逻辑,修改后的代码如下:
import numpy as np import perfplot import matplotlib.pyplot as plt perfplot.show( setup=lambda n: np.random.rand(n), kernels=[ lambda a: np.c_[a, a], lambda a: np.stack([a, a]).T, lambda a: np.vstack([a, a]).T, lambda a: np.column_stack([a, a]), lambda a: np.concatenate([a[:, None], a[:, None]], axis=1), ], labels=["c_", "stack", "vstack", "column_stack", "concat"], n_range=[16, 512, 16384, 524288, 16777216], xlabel="len(a)", ) # 手动设置X轴刻度和标签 plt.xticks( ticks=[16, 512, 16384, 524288, 16777216], labels=["16", "512", "16384", "524288", "16777216"] ) plt.show()
如果不需要弹出交互窗口,仅需要保存图片,也可以用 perfplot.save() 方法,拿到返回的Axes对象后做同样的刻度修改,再调用 plt.savefig() 保存即可。
内容的提问来源于stack exchange,提问作者Karol Zlot
相关产品推荐
相关产品推荐

