При использовании matplotlib попытайтесь сгенерировать графики, используя списки значений.
Попробуйте это, например:
import matplotlib.pyplot as plt
counter = 0
uses = list()
amounts = list()
while True:
counter += 1
use = input("Enter activity " + str(counter) + " (0 to finish): ")
if use == "0":
break
else:
uses.append(use)
amount = eval(input("Enter amount for " + use + ": "))
amounts.append(amount)
plt.pie(amounts, labels=uses)
plt.show()