如何在Holoviews的Plotly后端中修改柱状图颜色?
解决Holoviews Plotly后端柱状图改红色的问题
在Plotly后端中,Holoviews的Bars元素样式参数和Bokeh后端存在差异,要实现红色柱状图,需要使用fill_color(或marker_color)参数设置填充颜色,而非Bokeh里的color参数。
正确代码示例
import holoviews as hv hv.extension('plotly') data = [('one',8),('two', 10), ('three', 16), ('four', 8), ('five', 4), ('six', 1)] bars = hv.Bars(data, hv.Dimension('Car occupants'), 'Count') bars.opts(fill_color="red") bars
也可以用marker_color实现相同效果:
bars.opts(marker_color="red")
为什么之前的方法无效?
- Bokeh后端中,
color参数直接控制柱状图的填充颜色;但在Plotly后端,color默认对应柱状图的边框线条颜色,而非填充色,所以设置color="red"只会改变边框,柱体仍为默认填充色。 - 直接在
hv.Bars初始化时传入color="red"会触发警告,因为color不是Bars元素的核心参数,样式参数必须通过.opts()方法传递给后端渲染器。
内容的提问来源于stack exchange,提问作者Haha TTpro
相关产品推荐
相关产品推荐

