繁体   English   中英

Python matplotlib 条形按周分组

[英]Python matplotlib bars grouped by week

我有以下 python 示例。

import matplotlib.pyplot as plt
import numpy as np

x= ['Ja', 'Nein', 'Ja', 'Nein', 'Ja', 'Nein'] 
y = [60, 46, 31, 37, 1, 3]
week = [27.0, 27.0, 28.0, 28.0, 29.0, 29.0]

x_pos = [i for i, _ in enumerate(x)]

plt.bar(x_pos, y, color='green')

plt.xticks(x_pos, x)

plt.show()

我想按周订购条形图,这意味着第 27 周的蓝色条形图,第 28 周的红色条形图,第 29 周的绿色条形图始终显示 x 值。 y 是该组合的计数。

任何人都可以帮忙吗?

最佳罗伯特

您可以在周和该周想要的颜色之间创建颜色映射,并在创建图形时传递 colors 列表:

import matplotlib.pyplot as plt
import numpy as np

x= ['Ja', 'Nein', 'Ja', 'Nein', 'Ja', 'Nein'] 
y = [60, 46, 31, 37, 1, 3]
week = [27.0, 27.0, 28.0, 28.0, 29.0, 29.0]

x_pos = [i for i, _ in enumerate(x)]

# Mapping from week to color:
week_to_color = {
    27.0: 'blue',
    28.0: 'red',
    29.0: 'green',
}

# Pass a list of colors to your bar chart:
plt.bar(x_pos, y, color=[week_to_color[w] for w in week])

plt.xticks(x_pos, x)

plt.show()

条形图

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM