根据颜色图动态更改条形的颜色

时间:2020-08-07 18:40:04

标签: python matplotlib dynamic colormap color-mapping

我有以下内容,深海猫图每天都取平均值,看起来像图像中的一样。我想做的是根据交互线(var)的值动态更改条形颜色,如果它靠近任何条形的顶部,它将颜色更改为白色,如果它低于顶部,则变为蓝色,如果顶部高于交互值,它将变红。就像在地震色条/调色板中一样。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from ipywidgets import interact, interactive
import seaborn as sb
%matplotlib inline

np.random.seed(12345)

df = pd.DataFrame([np.random.normal(32000,200000,3650), 
                   np.random.normal(43000,100000,3650), 
                   np.random.normal(43500,140000,3650), 
                   np.random.normal(48000,70000,3650)], 
                  index=[1992,1993,1994,1995])



def plotting(var=20000):

    H = sb.catplot(data = df.T, kind = 'bar', palette = 'seismic')
    H.map(plt.axhline, y=var, ls='--', c='black')
    sm = plt.cm.ScalarMappable(cmap="seismic")
    sm.set_array([])
    plt.colorbar(sm)

interactive(plotting, var = (20000,50000))

enter image description here

0 个答案:

没有答案