другой сегмент сюжета с разными цветами - PullRequest
2 голосов
/ 25 октября 2019

У меня есть список, который я хочу построить. Для каждого элемента списка у меня есть соответствующий цвет. Я хочу построить список с цветами. НЕТ рассеянного графика.

value=[12,15,20] 
color_list=['red','red','blue']
plt.plot(value, color=color_list)

Я ожидаю, что у меня будет два сегмента, первый красный и второй синий. Спасибо

1 Ответ

1 голос
/ 26 октября 2019

Один из способов сделать это - построить каждый сегмент линии отдельно, используя цикл for и индексировать значения, которые вы хотите построить. Обратите внимание, что у вас есть цвет, соответствующий каждой точке, а не отрезкам, поэтому я проиндексировал i+1, чтобы получить красный и синий отрезки.

from matplotlib import pyplot as plt

value=[12,15,20]
color_list=['red','red','blue']

for i in range(0,(len(value)-1)):
    plt.plot(value[i:i+2], color=color_list[i+1])

plt.show()

enter image description here

Поскольку вы не указали значение x, в этом подходе предполагается, что каждая строка изменится с 0 на 1. Если это неВ этом случае вам необходимо указать значения x и проиндексировать их таким же образом.

from matplotlib import pyplot as plt

value=[12,15,20]
xs = [0,1,2]
color_list=['red','red','blue']

for i in range(0,(len(value)-1)):
    plt.plot(xs[i:i+2],value[i:i+2], color=color_list[i+1])

plt.show()

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...