python - 散景向水平堆叠条形图添加标签
问题描述
我创建了一个从 0 到 100% 的简单水平堆积条形图,它只需要两个数据就可以知道两者之间的平衡。我希望能够将它们的值写在条内(如果可能的话,在中间)。但即使这个例子看起来很相似,我也找不到一种方法来适应我的水平堆积条形图。
到目前为止,这是我的代码:
colors = ["blue", "red"]
choose = ["a", "b"]
y_axis = ['Percent']
# For example for 60.1% and 39.9%
data = {'y' : y_axis,
'a' : [60.1],
'b' : [39.9]}
p = figure(y_range=y_axis, plot_height=150, x_range=(0, 100), title="TITLE", toolbar_location=None)
p.hbar_stack(choose, y='y', height=0.6, color=colors, source=ColumnDataSource(data))
p.add_tools(HoverTool(tooltips=[("A", "@a{1.1}%"), ("B", "@b{1.1}%")]))
labels = LabelSet(x=choose, y=y_axis, text=choose, level='glyph',
x_offset=-13.5, y_offset=0, source=ColumnDataSource(data), render_mode='canvas')
p.add_tools(labels) # Can we do that ?
p.ygrid.grid_line_color = None
p.axis.minor_tick_line_color = None
p.outline_line_color = None
解决方案
我用了两个Label
而不是一个LabelSet
。
left_label = Label( x=20,
y=0.35,
x_units='data',
y_units='data',
text="%s%%"%left_percent_var,
text_color="white",
text_font_size="20pt",
text_font_style="bold",
level='glyph',
render_mode='css'
)
plot.add_layout(left_label)
推荐阅读
- java - 减少 Amazon S3 AWS 上传 ProgressListener 的详细程度/频率?
- node.js - Dockerfile:在 CMD 之外创建的文件在使用卷时消失
- java - 从 android 模拟器中擦除用户数据后,Android Studio Firebase 无法识别注册帐户
- javascript - 如何在打字稿中使用“this”上下文定义函数
- mongodb - 如何在 mongodb 的数组中合并具有相同键的对象?
- javascript - Discord.JS 中的消息收集器未运行
- c# - 在图片框悬停时启用/禁用 GIF
- python - 在 Transformer 模型中删除层 (PyTorch / HuggingFace)
- r - R - 在 Microsoft Edge 中抓取数据的包是什么?
- reactjs - 如何在主机应用程序中缓存 remoteEntry.js?