我正在查看是否有方法設置調色板以確保在任何時候繪製圖形時,條形的顏色將與x軸。Seaborn/Python/Matplotlib定期自定義調色板
我使用Seaborn
我敢肯定,這是什麼地方上網,但已經超過一個小時,沒有運氣搜索
例如,我會想:
「星期四」總是映射到紫色, 「星期五」總是映射到紅色, 「星期六」總是映射到綠色, 「星期日」,以始終映射到藍色,
我會用這對各種不同的圖表,使用不同的標準的 - 有時是全部4個日子將被包括在內,有時他們不會
如果你看看下面的例子中,顏色做工精細
例1:
%matplotlib inline
import pandas as pd
import seaborn as sns
df=pd.read_csv("https://raw.githubusercontent.com/wesm/pydata- book/master/ch08/tips.csv", sep=',')
df=df[(df['sex']=='Female')&(df['smoker']=='No')&(df['time']=='Dinner')&(df['size']==2)]
但實施例2的基礎上,濾除星期日的:
%matplotlib inline
import pandas as pd
import seaborn as sns
df=pd.read_csv("https://raw.githubusercontent.com/wesm/pydata- book/master/ch08/tips.csv", sep=',')
df=df[(df['sex']=='Female')&(df['smoker']=='No')&(df['time']=='Dinner')&(df['size']==2)]
df=df[df['day']!='Sun']
好吧,請注意所有的顏色轉移
如何設置一個被映射到值的主列表自定義調色板(即星期一=紅色,星期二=綠色,星期三=藍色等)。動態將是巨大的,但靜態列表是確定的也
我知道我可以這樣做:
pal = dict(Sat="k", Thur="b", Fri="y", Sun="#9b59b6")
x=sns.barplot(x="day",y="tip",data=df, palette=pal)
後者建立一個調色板,然後將它應用到每個酒吧,但我更希望能能夠使用現有的調色板,像
sns.color_palette("Set1", n_colors=30, desat=.5)
然後通過調色板和迭代每個顏色分配給一個值(即,第一值是星期一,星期二第二等)
將不勝感激任何幫助!
謝謝!
傑夫
真棒..謝謝! –