如何删除 bqplot 上的科学记数法?

How to remove scientific notation on bqplot?

我正在使用 bqplot 在 jupyter-notebook + VOILA 上创建实时折线图

from bqplot import pyplot as plt2
import datetime

x_values = []  #array of datetimes
y_values = []  #array of 10+ digit numbers
plt2.show()

def functionThatIsCalledRepeatedly(x_val, y_val):
    x_values.append(x_val)
    y_values.append(y_val)
    plt2.plot(x_values, y_values)

Part of the Resulting Plot

我的问题是,如何从 y 轴上删除科学记数法。这是一个简单的任务,但我已经尝试了很多东西。

我尝试使用图表的 axes.tick_format 属性,但我认为只有当你有我不能拥有的轴对象时才有效,因为它们需要强制性的 Scale 属性 我不能使用它,因为图表是实时的并且 x 和 y 尺度在运行时需要 generated/recalibrated。

我尝试将 y_values.append(y_val) 更改为 y_values.append("{:.2f}".format(y_val)) 但它会转换为字符串并且 bqplot 不会将其作为数字处理,因此它有时会在 0 的顶部出现负数。

我尝试转换为 numpy 数组,然后执行 np.set_printoptions(suppress=True)(显然)没有用。

基本上尝试了很多东西,我认为这归结为一些可能存在也可能不存在的 bqplot 属性。卡了一段时间了。谢谢!

您可以为 plot 方法提供带有您想要的刻度格式的坐标轴选项:

plt2.plot(x_values, y_values, axes_options={
    y=dict(tick_format='0.2f')
})

您可以在本笔记本中查看此 axes_options 的示例(使用散点图,但效果应该相同):https://github.com/bqplot/bqplot/blob/master/examples/Marks/Pyplot/Scatter.ipynb