Держите разрыв между двумя наборами данных в matplotlib - PullRequest
0 голосов
/ 23 марта 2020

У меня есть два набора данных

firstX = [0, 1, 2, 3, 4, 5, 6] # X Axis 
firstY = [10, 10, 20, 30, 40, 60, 70] # Y Axis
secondX = [9, 10, 11, 12, 13, 14, 15] # X Axis
secondY = [40, 20, 60, 11, 77, 12, 54] # Y Axis

Я хочу построить эти два набора данных на одном графике, но без их соединения. Как видите, между ними есть разъединение (по оси X 7 и 8 отсутствуют). Когда я объединяю их, matplotlib попытается соединить последнюю точку первого набора данных (6, 70) с первой точкой второго набора данных (9, 40). Я хотел бы знать, как избежать этого поведения

Ответы [ 3 ]

1 голос
/ 23 марта 2020

Из того, что я понимаю ваш вопрос, это должно работать:

import matplotlib.pyplot as plt

plt.figure()
plt.plot(firstX, firstY, c='b')
plt.plot(secondX, secondY, c='b')
plt.show
1 голос
/ 23 марта 2020

Вы можете просто построить их по отдельности. Если они являются подсписками списка, например X = [[X1], [X2]], Y = [[Y1], [Y2]], вы можете l oop поверх них.

import matplotlib.pyplot as plt

fig = plt.figure()
for i in range(len(X)):
    plt.plot(X[i], Y[i])
plt.show()
1 голос
/ 23 марта 2020

Вместо того, чтобы объединять наборы данных, вы можете вызвать команду plot два раза, нанося два раза на одну и ту же ось:

import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(firstX, firstY)
ax.plot(secondX, secondY)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...