我已经生成了一个类似于示例的holoviews
\ Bokeh
heatmap graph
我在plot_opts
中添加了一个带有colorbar=True
的颜色条,但是颜色条的标签显示为科学数字。
如何控制标签的格式?
我尝试实现以下代码但没有成功:
cbf = PrintfTickFormatter(format='0,0')
color_bar = ColorBar(formatter=cbf)
然后将其添加到plot_opts
但它没有改变任何内容。
我查看了这个user guide documentation和model documentation,但没有设法弄清楚如何实现该属性。
更新
这是完整的代码仍然不起作用。
dfqudf.head()
|的 INDEX |的道 |的小时 |的查询类型 |
| ------- | ------- | -------- | ------------- |
| 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)
答案 0 :(得分:3)
使用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)