ano*_*428 10 python matplotlib
我有一个如下的条形图: http://matplotlib.org/examples/api/barchart_demo.html
在这种情况下,让我们假设G1-G5组中的每一组代表每组中男性参加某些考试的平均分数,并且每组中的女性参加相同的考试.
现在让我们说我有一些与每个组相关的其他功能(平均可爱性(在1-5之间浮动)).
Ex: Avg Likability of men in G1 - 1.33
Avg Likability of women in G1 - 4.6
Avg Likability of men in G2- 5.0
.... etc...
Run Code Online (Sandbox Code Playgroud)
让我们假设1 - 不讨人喜欢,5 - 非常讨人喜欢
我想知道如何通过改变颜色示例的阴影将这个可爱性特征结合到每个条形图中:因为上面例子中第1组的人有1.33,所以他们的图形将被涂上比红色阴影更浅的红色阴影. G2,因为G2的男性有5.0可爱,他们的酒吧将是图中最暗的红色,对女性来说也是如此.
我希望我已经说清楚了.如果有人能指出matplotlib中可以实现这一目标的资源,我真的很感激,因为我对这个软件包很新.
提前致谢.
bar将颜色列表作为参数(docs)。只需传递您想要的颜色即可。
import matplotlib.pyplot as plt
import matplotlib.cm as cm
from matplotlib.colors import Normalize
from numpy.random import rand
fig, ax = plt.subplots(1, 1)
# get a color map
my_cmap = cm.get_cmap('jet')
# get normalize function (takes data in range [vmin, vmax] -> [0, 1])
my_norm = Normalize(vmin=0, vmax=5)
# some boring fake data
my_data = 5*rand(5)
ax.bar(range(5), rand(5), color=my_cmap(my_norm(my_data)))
plt.show()
Run Code Online (Sandbox Code Playgroud)

小智 5
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame([1,2,3,4], [1,2,3,4])
color = ['red','blue','green','orange']
df.plot(kind='bar', y=0, color=color, legend=False, rot=0)
Run Code Online (Sandbox Code Playgroud)