0

我已经生成了一个类似于示例的holoviews\Bokeh 热图图。
我在plot_optswith中添加了一个颜色colorbar=True条,但颜色条的标签显示为科学数字。
如何控制标签的格式?我尝试实现以下代码但没有成功:

cbf = PrintfTickFormatter(format='0,0')
color_bar = ColorBar(formatter=cbf)

然后将其添加到plot_opts但它没有改变任何东西。

我查看了这个用户指南文档和这个模型文档 ,但没有设法弄清楚如何实现该属性。

更新
这里是完整的代码,它仍然不起作用。

dfqudf.head()  

| 索引| 道琼斯| 小时| 查询类型|
|-------|-------|--------|-------------|
|72| 周日| 0 |205104|
|24| 星期一| 0 |210293|
|120| 周二| 0 |206381|
|144| 星期三| 0 |212874|
|96| 星期四| 0 |216195|

hv.extension('bokeh')
colors = ["#75968f", "#a5bab7", "#c9d9d3", "#e2e2e2", "#dfccce", "#ddb7b1", "#cc7878", "#933b41", "#550b1d"]
heatmap = hv.HeatMap(data=dfqudf[['hour','dow','QUERYTYPE']]
                     , label="Query Hour by Weekday")

hover = HoverTool(tooltips=[('Num of Queries', '@QUERYTYPE{0,0}')])

formatter = NumeralTickFormatter(format='0,0')  #PrintfTickFormatter(format='%.1f') doesn't work either
color_bar = {'formatter': formatter}
plot_opts = dict(width=900, height=300, xrotation=45, xaxis='top', labelled=[]
                 , tools=[hover], toolbar='below'
                 , colorbar=True, colorbar_opts= color_bar
                )
style = dict(cmap=ListedColormap(colors))

heatmap(plot=plot_opts, style=style)
4

1 回答 1

4

使用hv.help(element)您可以找出可以使用哪些选项自定义元素。支持颜色映射(包括 HeatMap)的元素接受colorbar_opts传递给 ColorBar 构造函数的绘图选项。这是一个非常简单的例子:

from bokeh.models import PrintfTickFormatter
formatter = PrintfTickFormatter(format='%.1f')
plot_opts = dict(colorbar=True, colorbar_opts={'formatter': formatter})
hv.HeatMap([(0,0,0), (1,1,1)]).opts(plot=plot_opts)
于 2017-09-03T16:09:07.360 回答