Как построить круговую диаграмму, используя словарь букв и цифр - PullRequest
0 голосов
/ 25 мая 2019

Итак, у меня есть некоторый код здесь. Этот код берет вид разрешенного животного, ассоциирует его с таксоном и подсчитывает таксоны.Это делается с помощью словарей. Однако, когда я собираюсь отобразить их на круговой диаграмме, он не может их сформировать.

Я уверен в том, что словарь: Таксон: #N вхождений, Таксон: #N вхождений и т. Д. Так что я могу просто преобразовать его в число с плавающей точкой.Но я пытался использовать


#imports csv and mathplot
import csv
import matplotlib.pyplot as plt

#creates a correlation table as a dict
with open('species_taxon.csv', 'r', encoding = 'utf8', newline='') as f:
    cf = csv.DictReader(f)
    correlation = {row['Species']: row['Taxon'] for row in cf}

#then uses it to count the taxons
import collections
with open('Accessions-Jan-2018.csv','r', encoding = 'utf8', newline='') as f:
    cf = csv.DictReader(f)
    count = collections.Counter(correlation.get(row['species'], 'Unknown') for row in cf)
#prints the counted taxons
print(count)

Когда я пытаюсь использовать

plt.pie([float(v) for v in count], labels=[float(k) for k in keys], autopct=None)

, я получаю ошибку ValueError: не удалось преобразовать строку в число с плавающей точкой: '# Имя Таксона«

1 Ответ

0 голосов
/ 25 мая 2019

Вам нужны все ваши ярлыки в str вместо float:

plt.pie([float(v) for v in count], labels=[str(k) for k in keys], autopct=None)

...