【问题标题】:Unable to Plot Hbar in Bokeh [Pandas]无法在散景中绘制 Hbar [熊猫]
【发布时间】:2018-07-09 01:50:11
【问题描述】:

我正在尝试为数据框绘制 HBar。下面的代码非常适合另一个数据帧,但对于当前数据帧,似乎根本没有输出。

以下是代码:

from bokeh.models import ColumnDataSource, DataRange1d, Plot, LinearAxis, Grid,Label,LabelSet,HoverTool
from bokeh.models.glyphs import HBar
from bokeh.resources import INLINE
import bokeh.io
bokeh.io.output_notebook() 
source1 = ColumnDataSource(
        data=dict(
            GID = Customer_rank.GuestId.head(15).tolist(),
            GSale = Customer_rank.FinalSalePrice.head(15).astype(int).tolist()
        )
    )

    GID = Customer_rank.GuestId.tolist()

    # hover = HoverTool(tooltips=[
    # #     ("(x,y)", "(@lat, @lon)"),
    #     ("Merch_ID", "@ID"),
    #     ('Revenue','@Sales'),
    #     ("Visits","@Count")
    # ])

    p = figure(y_range= ID)
    # p.background_fill_color = None
    # p.background_fill_alpha = None
    # labels = LabelSet(x='Count', y='ID', text='Count', level='glyph',
    #                y_offset=5, render_mode='canvas',source=source)
    # p.add_tools(hover)
    p.grid.grid_line_color = None
    p.xaxis.visible = None
    p.yaxis.axis_line_color = None
    p.xaxis.axis_line_color = None
    p.xaxis.major_tick_line_color = None
    p.xaxis.minor_tick_line_color = None
    p.outline_line_alpha = 0.2
    H_1= HBar(y='GID',right='GSale',height = 0.5,fill_color="#6C69EB")
    # H_2 = HBar(y='ID',right='Sales',height = 0.5)
    p.add_glyph(source1, H_1)
    # p_2 = p.add_glyph(source, H_2)


    # p.add_layout(labels)
    show(p)

有问题的 Dataframe(head) 如下:

    GuestId FinalSalePrice
0   d1dd    16609.103745
1   70c1    4374.211920
2   0bfe    3153.746635
3   5360    2972.489390
4   8b7e    2518.886240
5   7170    2350.038275
6   e359    2312.321375
7   14e1    2057.333395
8   1d1c    1858.219285
9   4956    1793.117495
10  d390    1766.650210
11  2e99    1751.953710
12  ade6    1687.164375
13  bb4c    1686.418435
14  9986    1678.981265

我很困惑为什么代码不渲染图。

编辑: 我使用上面的代码生成了一个带有以下数据框的图:

Merchants   Total_Count
    0   LP  198787
    1   KC  134952
    2   BDR 123668
    3   JHU 108698
    4   LKW 82122
    5   COL 75449
    6   POW 70844
    7   GTK 69816
    8   INM 37715
    9   PH  13048
    10  BLO 7464
    11  BWF 4324
    12  HO  4233
    13  BKM 2957
    14  BIN 1877

【问题讨论】:

    标签: python pandas jupyter-notebook bokeh


    【解决方案1】:

    我将导入调整如下(在 Jupyter 笔记本上测试)

    from bokeh.models import ColumnDataSource, DataRange1d, Plot, 
    LinearAxis, Grid,Label,LabelSet,HoverTool
    from bokeh.models.glyphs import HBar
    from bokeh.plotting import figure, output_notebook
    from bokeh.io import show
    output_notebook()
    

    然后换行,ID为GID:

    p = figure(y_range= GID)
    

    并且我可以正确看到 Hbar 图表(我收到了未导入的 show 和 figure 错误,以及注释掉时未定义的 ID)

    【讨论】:

    • 即使上述方法似乎也不起作用。我认为问题可能在于查看可视化 INLINE。
    猜你喜欢
    • 1970-01-01
    • 2017-09-06
    • 2016-08-26
    • 2016-03-23
    • 2019-11-01
    • 2015-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多