[英]switch color of one given bar in a bar plot of a pandas dataframe in python
我有給定 dataframe 的以下 barh plot:
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
df = pd.DataFrame({"first":np.arange(1,6), "second":np.arange(2,7)})
df.plot(kind="barh", color=tuple(["g", "b"]))
我想切換到自定義顏色,即“#af12be22”,對應於 df.loc[0,"a"] 的條,即最短的綠色條。
理想情況下,我希望有一種簡單的方法來控制每個單元格的 colors,比如將 dataframe 作為 .plot 方法的“顏色”參數的參數。 就像是:
df = pd.DataFrame({"first":np.arange(1,6), "second":np.arange(2,7)})
df_colors = pd.DataFrame({"first":["#af12be22"] + 4*["g"], "second":5*["b"]})
df.plot(kind="barh", color=df_color)
是否可以?
我查看了 pandas.DataFrame.plot 文檔,發現“顏色”似乎只允許從 dataframe 的一列到另一列的顏色變化,但不允許在一列內變化。 我試圖將 df_color 更改為 np.array 或列表,但都沒有幫助,並顯示以下錯誤消息:
ValueError: Invalid color ['#af12be22' 'g' 'g' 'g' 'g']
我確實理解錯誤,但想知道是否有簡單的解決方法
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.