0

我正在使用 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)

结果图的一部分

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

我尝试使用axes.tick_format图形的属性,但我认为只有当你有我不能拥有的轴对象时才有效,因为它们需要我无法使用的强制Scale属性,因为图形是实时的并且需要生成/重新校准 x 和 y 比例当它运行时。

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

我尝试转换为 numpy 数组,然后这样做np.set_printoptions(suppress=True)(显然)不起作用。

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

4

1 回答 1

0

您可以为方法提供带有刻度格式的轴选项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

于 2022-01-31T08:50:53.903 回答