如何从 matplotlib 图表中删除科学记数法?

时间:2021-01-29 04:16:20

标签: python matplotlib

我无法从 matplotlib 图表的 y 轴上删除科学记数法。 (我想显示变量中保存的原始 str 或浮点数,如果我使用 plt.yaxis.set_major_formatter(ScalarFormatter(useOffset=False)) 我得到一个属性 arror:'matplotlib.pyplot' 没有属性 'yaxis'。 也累了 plt.ticklabel_format(useOffset=False, style='plain'),什么也没做。 (也没有错误)

from binance.client import Client
import time, os, csv, datetime
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import matplotlib as mpl
from matplotlib.ticker import ScalarFormatter

client = Client(apikey, apisecret)

mpl.rcParams['toolbar'] = 'None'
fig = plt.figure(figsize=(4,3))
plt.style.use('ggplot')
plt.rcParams['ytick.right'] = plt.rcParams['ytick.labelright'] = True
plt.rcParams['ytick.left'] = plt.rcParams['ytick.labelleft'] = False

x_vars = []
y_vars = []

def animate(i):
    global x_vars
    global y_vars
    if len(x_vars) > 30:
        x_vars = x_vars[-30:] 
        y_vars = y_vars[-30:] 
    else:
        pass

    current_time = client.get_server_time()
    current_price = client.get_symbol_ticker(symbol="XRPBTC")

    trstime = current_time["serverTime"] / 1000
    time = datetime.datetime.fromtimestamp(int(trstime)).strftime('%M:%S')

    x_vars.append(str(time))
    y_vars.append(float(current_price["price"]))

    plt.cla()
    plt.plot(x_vars, y_vars)
    plt.xticks(rotation = 45)  


ani = animation.FuncAnimation(fig, animate, interval=500)
plt.tight_layout()
plt.show()

1 个答案:

答案 0 :(得分:0)

好的,现在可以工作了,只需在 animate 函数中插入 plt.ticklabel_format(style='plain', useOffset=False, axis='y') 即可。

相关问题