Как построить линию и установить цвет каждой линии во вложенном списке? - PullRequest
1 голос
/ 26 марта 2019

У меня был вложенный список и функция:

a = [[2,3,4],[3,4,5],[5,7]]

def triple(a):
    return (a**2)+3

Я пытался построить каждую точку в подсписке, как первое значение, связанное со вторым, второе, связанное с третьим, и остановку на последнем значении.в подсписке.x - это значение в подсписке, y - это triple(y for y in sublist)

for g in a:
    for t in g:
        plt.scatter(t, triple(t))
for g in a:
    for o in range(len(g)):
        plt.plot([g[o],g[o+1]], [triple(g[o]), triple(g[o+1])], color = 'red')
plt.show()

Я пробовал это, но не получил желаемого результата.

Что я долженсделать каждый подсписок в a и получить три разных цвета линии?

1 Ответ

0 голосов
/ 26 марта 2019
  1. Вы указали color='red', поэтому каждая ваша линия рисуется одним цветом.
  2. Вы используете plt.scatter для рисования кругов. В этом нет необходимости, вы можете использовать параметр marker в plt.plot.
  3. Ваш код выдает ValueError, потому что, когда o находится в последнем элементе g, o+1 будет указывать на неопределенный элемент. Я переписал эту строку.

Я немного изменил a, только для более выдающегося взгляда. Вот окончательный код:

a = [[2, 3, 4], [5, 6, 7], [8, 9]]
for g in a:
    plt.plot(g, [(x**2)+3 for x in g], marker='.')
plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...