По сути, я пытаюсь добиться этого. Но я изо всех сил пытаюсь понять, как я могу применить это к столбцам.
Я пытаюсь визуализировать алгоритмы сортировки с помощью matplot (принимая пользовательские данные, чтобы определить, какой алгоритм использовать и насколько большой размер список, который нужно использовать) и хотите установить цвет текущей полосы (в каждом кадре анимации), отличный от цвета остальных, чтобы показать, какой элемент в списке сортирует алгоритм в данный момент.Я пытался получить доступ к BarContainer в функции animate() и, среди прочего, создавая цвета в качестве отдельного генератора для каждого кадра и таким образом назначая список цветов. Я изо всех сил пытаюсь понять, как я могу добиться этого, не переписывая все мои модули и не смешивая генерации графиков с самими алгоритмами.
Ниже приведен мой файлplot.py модуль:
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import sortalgorithms as sort
import random
fig, axis = plt.subplots()
bar_plots = axis.bar(0, 0)
text = axis.text(0, 0, 0)
iteration_counter = []
def animate(size, rectangle, iteration):
for rect, val in zip(rectangle, size):
rect.set_height(val)
iteration[0] += 1
text.set_text("Iterations : {}".format(iteration[0]))
def plot_algorithm(selected_algorithm, sample_size=None, given_data=None):
global fig, axis
global bar_plots
global text
global iteration_counter
fig, axis = plt.subplots()
data_set = []
generator = ()
if given_data is None:
[data_set.append(x) for x in range(1, int(sample_size))]
random.shuffle(data_set)
elif sample_size is None:
data_set = given_data
if selected_algorithm == 1:
generator = sort.bubble_sort(data_set)
elif selected_algorithm == 2:
generator = sort.visual_merge_sort(data_set)
elif selected_algorithm == 3:
generator = sort.insertion_sort(data_set)
bar_plots = axis.bar(range(len(data_set)), data_set, align="edge")
if len(data_set) data_set[i + 1]:
data_set, data_set[i + 1] = data_set[i + 1], data_set
swapped = True
yield data_set
if not swapped:
break
yield data_set
Подробнее здесь: https://stackoverflow.com/questions/793 ... canimation
Как изменить цвет отдельной полосы в MatPlot FuncAnimation? ⇐ Python
Программы на Python
-
Anonymous
1736176411
Anonymous
По сути, я пытаюсь добиться этого. Но я изо всех сил пытаюсь понять, как я могу применить это к столбцам.
Я пытаюсь визуализировать алгоритмы сортировки с помощью matplot (принимая пользовательские данные, чтобы определить, какой алгоритм использовать и насколько большой размер список, который нужно использовать) и хотите установить цвет текущей полосы (в каждом кадре анимации), отличный от цвета остальных, чтобы показать, какой элемент в списке сортирует алгоритм в данный момент.Я пытался получить доступ к BarContainer в функции animate() и, среди прочего, создавая цвета в качестве отдельного генератора для каждого кадра и таким образом назначая список цветов. Я изо всех сил пытаюсь понять, как я могу добиться этого, не переписывая все мои модули и не смешивая генерации графиков с самими алгоритмами.
Ниже приведен мой файлplot.py модуль:
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import sortalgorithms as sort
import random
fig, axis = plt.subplots()
bar_plots = axis.bar(0, 0)
text = axis.text(0, 0, 0)
iteration_counter = []
def animate(size, rectangle, iteration):
for rect, val in zip(rectangle, size):
rect.set_height(val)
iteration[0] += 1
text.set_text("Iterations : {}".format(iteration[0]))
def plot_algorithm(selected_algorithm, sample_size=None, given_data=None):
global fig, axis
global bar_plots
global text
global iteration_counter
fig, axis = plt.subplots()
data_set = []
generator = ()
if given_data is None:
[data_set.append(x) for x in range(1, int(sample_size))]
random.shuffle(data_set)
elif sample_size is None:
data_set = given_data
if selected_algorithm == 1:
generator = sort.bubble_sort(data_set)
elif selected_algorithm == 2:
generator = sort.visual_merge_sort(data_set)
elif selected_algorithm == 3:
generator = sort.insertion_sort(data_set)
bar_plots = axis.bar(range(len(data_set)), data_set, align="edge")
if len(data_set) data_set[i + 1]:
data_set[i], data_set[i + 1] = data_set[i + 1], data_set[i]
swapped = True
yield data_set
if not swapped:
break
yield data_set
Подробнее здесь: [url]https://stackoverflow.com/questions/79330106/how-to-change-the-color-of-an-individual-bar-in-a-matplot-funcanimation[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия