Как изменить цвет отдельной полосы в MatPlot FuncAnimation?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как изменить цвет отдельной полосы в MatPlot FuncAnimation?

Сообщение 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) 

Подробнее здесь: [url]https://stackoverflow.com/questions/79330106/how-to-change-the-color-of-an-individual-bar-in-a-matplot-funcanimation[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как изменить цвет отдельной полосы в MatPlot FuncAnimation?
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Как изменить цвет отдельной полосы в MatPlot FuncAnimation?
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Как изменить как форму, так и цвет отдельной точки рассеяния в Python matplotlib?
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Как изменить как форму, так и цвет отдельной точки рассеяния в Python matplotlib?
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Окно в PysimpleGui изменяет размер после использования библиотеки Matplot
    Anonymous » » в форуме Python
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»