2024-03-28 17:05:44 发布
网友
我目前正努力通过matplotlib水平条形图中的一组条形图来设置颜色。 我将此数据框作为输入: dataframe
到目前为止,我有一个图形输出: graph
我想做的是根据组定义条的颜色,并按值(从高到低)对条进行排序。例如,Luc,Shan…(A组)的条形图将显示为红色,B组显示为蓝色
当然,组的数量可能会发生变化(目前有4个组,但可能是5、6或其他)。我还想添加一个传奇
为了解决这个问题,我做了很多努力,但在网上找不到任何关于我问题的信息
Pandas.plot.barh接受一个颜色参数,该参数可以是一个系列,每个表行都有颜色(使用.replace(map_group_color)创建)。图例是使用matplotlib修补程序添加的,这是手动添加图例的一种标准方法
Pandas.plot.barh
.replace(map_group_color)
import matplotlib.patches as mpatches data = pd.DataFrame({"name": ["A", "B", "C"], "value": [1, 5, 3], "group": ["a", "a", "x"]}) data = data.sort_values("value") map_group_color = {"a": "green", "x": "red"} ax = data.plot.barh(x="name", y="value", color=data.group.replace(map_group_color)) legend_handles = [mpatches.Patch(color=color, label=group) for group, color in map_group_color.items()] ax.legend(handles=legend_handles)
Pandas.plot.barh
接受一个颜色参数,该参数可以是一个系列,每个表行都有颜色(使用.replace(map_group_color)
创建)。图例是使用matplotlib修补程序添加的,这是手动添加图例的一种标准方法相关问题 更多 >
编程相关推荐