График частоты вхождения элемента в список

Подскажите, пожалуйста, можно ли сделать график частоты вхождения элементов в список?

list_1 = [(1, 4), (1,), (1, 0), (1, 0), (3, 1, 0), (1, 0), (1, 0), (3, 2, 0), (2, 0), (2, 0), (10,), (3, 2, 0), (2, 0)]
c2 = Counter(list_1)
print(c2)

Вывод:

Counter({(1, 0): 4, (2, 0): 3, (3, 2, 0): 2, (1, 4): 1, (1,): 1, (3, 1, 0): 1, (10,): 1})

Ответы (2 шт):

Автор решения: strawdog

Можно, например, так:

import matplotlib.pyplot as plt
from collections import Counter

list_1 = [(1, 4), (1,), (1, 0), (1, 0), (3, 1, 0), (1, 0), (1, 0), (3, 2, 0), (2, 0), (2, 0), (10,), (3, 2, 0), (2, 0)]
c2 = Counter(list_1)
fig, ax = plt.subplots()
x = list(range(len(c2)))

patches = ax.bar(data = c2, x = x, height=c2.values())
ax.bar_label(patches)
ax.set_xticks(x)
ax.set_xticklabels(c2.keys())
plt.show()

получите введите сюда описание изображения

→ Ссылка
Автор решения: CrazyElf

Как вариант - через Seaborn, у него и метод свой есть для подсчёта. Но кортежи он что-то не хочет брать, пришлось в строки превратить:

import seaborn as sns

list_1 = [(1, 4), (1,), (1, 0), (1, 0), (3, 1, 0), (1, 0), (1, 0), (3, 2, 0), (2, 0), (2, 0), (10,), (3, 2, 0), (2, 0)]

sns.countplot(y=list(map(str,list_1)))

введите сюда описание изображения

→ Ссылка