python散景图如何格式化轴显示

问题描述 投票:6回答:2

y轴刻度似乎是格式化数字,如500000000到5.000e + 8。有没有办法控制显示器,使其显示为500000000?

使用python 2.7,散景0.5.2

我正在尝试散景教程页面上的时间序列示例

该教程将'Adj Close'与'Date'进行对比,但我正在用'Volume'对'Date'进行绘图

python bokeh
2个回答
9
投票

您还可以使用下面玩具图中使用的NumeralTickFormatter。其他可能的值代替'00'列出here

import pandas as pd
import numpy as np
from bokeh.plotting import figure, output_file, show
from bokeh.models import NumeralTickFormatter

df = pd.DataFrame(np.random.randint(0, 90000000000, (10,1)), columns=['my_int'])
p = figure(plot_width=700, plot_height=280, y_range=[0,100000000000])
output_file("toy_plot_with_commas")

for index, record in df.iterrows():
    p.rect([index], [record['my_int']/2], 0.8, [record['my_int']], fill_color="red", line_color="black")

p.yaxis.formatter=NumeralTickFormatter(format="00")
show(p)

8
投票

您必须将选项p.left[0].formatter.use_scientific = False添加到您的代码中。在时间序列教程中,它是:

p1 = figure(title="Stocks")
p1.line(
    AAPL['Date'],
    AAPL['Adj Close'],
    color='#A6CEE3',
    legend='AAPL',
)

p1.left[0].formatter.use_scientific = False # <---- This forces showing 500000000 instead of 5.000e+8 as you want

show(VBox(p1, p2))
© www.soinside.com 2019 - 2024. All rights reserved.