无法在 Bokeh .rect 字形中按颜色对 ColumnDataSource 数据进行分组
Unable to group ColumnDataSource Data by color in Bokeh .rect glyph
我想根据 .csv 文件中包含字符串的列按颜色对绘图进行分组。
我的印象是 "color = 'ColumnName'" 会起作用。
p.rect(x = range(len(source.data['Project Description'])),
y = adj_h,
color= 'Client',
source = source,
width = .4,
height = 'Budget'
)
这只是让我的矩形字形显示为黑色轮廓且没有填充颜色。
散景中的颜色是使用颜色映射方案绘制的。首先,您需要设置颜色图,让 Bokeh 知道为哪个对象使用什么颜色。您可以使用字典 colormap = {'Client_1':'red', Client_2:'blue'}
手动设置颜色图,或者如果您可以使用内置 CategoricalColorMapper
函数创建颜色图 colormap = CategoricalColorMapper(palette=palette, factors=list_of_factors)
.
然后您可以在绘图函数中指定颜色。您可以使用包含所有数据点 colors = [colormap[x] for x in source['Client']]
的所有颜色的列表,然后将颜色传递给图 color=colors
。或者你可以让 bokeh 直接在 plot 函数中为你做转换 color={'field': 'Client', 'transform': colormap}
在你的代码中,我会尝试类似
colormap = CategoricalColorMapper(palette=palette, factors=list(set(data['Client'])))
p.rect(x = range(len(source.data['Project Description'])),
y = adj_h,
color = {'field': 'Client', 'transform': colormap}',
source = source,
width = .4,
height = 'Budget'
)
根据类别数量和数据选择调色板的位置是您的原始数据集。
参考文献:
iris.py - 为数据集中的每个项目手动设置颜色并在图中使用颜色列表的示例。
texas.py - 使用调色板和颜色映射器然后让绘图函数使用 'transform'
.
设置颜色的示例
我想根据 .csv 文件中包含字符串的列按颜色对绘图进行分组。 我的印象是 "color = 'ColumnName'" 会起作用。
p.rect(x = range(len(source.data['Project Description'])),
y = adj_h,
color= 'Client',
source = source,
width = .4,
height = 'Budget'
)
这只是让我的矩形字形显示为黑色轮廓且没有填充颜色。
散景中的颜色是使用颜色映射方案绘制的。首先,您需要设置颜色图,让 Bokeh 知道为哪个对象使用什么颜色。您可以使用字典 colormap = {'Client_1':'red', Client_2:'blue'}
手动设置颜色图,或者如果您可以使用内置 CategoricalColorMapper
函数创建颜色图 colormap = CategoricalColorMapper(palette=palette, factors=list_of_factors)
.
然后您可以在绘图函数中指定颜色。您可以使用包含所有数据点 colors = [colormap[x] for x in source['Client']]
的所有颜色的列表,然后将颜色传递给图 color=colors
。或者你可以让 bokeh 直接在 plot 函数中为你做转换 color={'field': 'Client', 'transform': colormap}
在你的代码中,我会尝试类似
colormap = CategoricalColorMapper(palette=palette, factors=list(set(data['Client'])))
p.rect(x = range(len(source.data['Project Description'])),
y = adj_h,
color = {'field': 'Client', 'transform': colormap}',
source = source,
width = .4,
height = 'Budget'
)
根据类别数量和数据选择调色板的位置是您的原始数据集。
参考文献:
iris.py - 为数据集中的每个项目手动设置颜色并在图中使用颜色列表的示例。
texas.py - 使用调色板和颜色映射器然后让绘图函数使用 'transform'
.