Я начал работать с графиком Matplotlib p ie и до сих пор хорошо выглядит! У меня только несколько выпусков.
Меня интересует определенный столбец, и они являются своего рода категориальными, но цифры и эти числа означают разные вещи, которые я хотел бы изобразить на графике p ie .
Вот мой рабочий код. Я начал со словаря Python, чтобы отобразить числа
valuelables = {
1:"Deutschland",
2:"UK",
3:"America"
}
s1 = df.request.value_counts(normalize=True)*100
size = s1.tolist()
keys = s1.keys().tolist()
, чтобы вы могли производить на локальном компьютере:
print(size) # size gives a list [99.22871437721278, 0.5294334011693548, 0.2418522216178678]
print(keys) # keys give [2, 1, 3]
patches, texts = plt.pie(size, shadow=True, startangle=90, autopct='%1.1f%%')
plt.legend(patches, valuelables[keys], loc="best")
plt.axis('equal')
К сожалению, я получаю следующая ошибка: TypeError: unhashable type: 'list'
Это очевидно происходит из сопоставления словаря в plt.legend (). Как мне отобразить его, чтобы получить новый график p ie, как показано ниже, со значениями на графике, подобными второму графику:
![enter image description here](https://i.stack.imgur.com/lrH4L.png)
![enter image description here](https://i.stack.imgur.com/k1d02.png)