Я недавно вернулся к изучению Python для его использования matplotlib
и способности красиво отображать данные.
Я решил создать базовый проект для построения двух визуализаций.Первым будет общее число бросков для каждой грани на шестигранном кристалле в виде гистограммы.
второй график будет представлять собой простой точечный график, отображающий свертывание каждой гранипрокат.Это означает, что он будет отображать результат бросков, ответственных за первый сюжет.
Пока я справился с этим и достиг хорошего результата, однако я хотел бы анимировать каждый бросок на обоих участках, но этоэто то, с чем у меня до сих пор было много проблем.
В настоящее время мой основной код выглядит следующим образом:
import random
import matplotlib.pyplot as plt
# Generate a plot displaying two elements:
# One: Display 6 side die roll results
# Two: Plot the order of rolls
numRolls = 100
rollTotals = [0, 0, 0, 0, 0, 0]
rollSeq = []
for roll in range(numRolls):
currentRoll = random.randint(1, 6)
rollTotals[currentRoll - 1] += 1
rollSeq.append(currentRoll)
plt.subplot(2, 1, 1)
plt.bar([1, 2, 3, 4, 5, 6], rollTotals, 1/1.5)
plt.title("Roll Totals")
plt.subplot(2, 1, 2)
plt.plot(rollSeq)
plt.title("Roll Sequence")
plt.show()
numRolls
- это константа, позволяющая быстро менять переменную вколичество бросков костей.rollTotals
- это список значений из 6 элементов, используемый для представления общего количества бросков для каждой стороны матрицы.rollSeq
- это список, показывающий порядок каждого броска.
Как вы можете видеть, у меня есть базовый скрипт для немедленного моделирования и вывода результатов в виде подзаговора.Я изучил анимационную сторону matplotlib
, но я не могу понять, как именно все работать вместе, чтобы правильно и плавно анимировать.
Спасибо за вашу помощь, помогающую мне в дальнейшем моем хобби.