Mis*_*cht 7 python matplotlib pandas colormap
我正在尝试将matplotlib.colormap对象与pandas.plot函数结合使用:
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.cm as cm
df = pd.DataFrame({'days':[172, 200, 400, 600]})
cmap = cm.get_cmap('RdYlGn')
df['days'].plot(kind='barh', colormap=cmap)
plt.show()
Run Code Online (Sandbox Code Playgroud)
我知道我应该以某种方式告诉colormap它正在被输入的值的范围,但我无法弄清楚如何使用pandas .plot()函数,因为这个plot()不接受vmin例如/ vmax参数.
Pandas为每一行应用色彩映射,这意味着您可以为单列数据帧获得相同的颜色.
要为数据框的每一行应用不同的颜色,您必须从所选的颜色图生成颜色列表:
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.cm as cm
import numpy as np
df = pd.DataFrame({'days':[172, 200, 400, 600]})
colors = cm.RdYlGn(np.linspace(0,1,len(df)))
df['days'].plot(kind='barh', color=colors)
plt.show()
Run Code Online (Sandbox Code Playgroud)
另一种方法是直接使用matplotlib.