Мне удалось сделать это при использовании графика со всей информацией, содержащейся в осях. и используя параметр экстента plt.imshow, потому что тогда мне просто нужно масштабировать изображение.
Я хотел бы масштабировать и смещать фоновый график. Перерисовка фона в реальном случае невозможна.
Вот что я пробовал:
- Создание фонового графика (воспроизводимый пример)
Код: Выделить всё
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([0, 5, 10], [8, 5, 12])
ax.set_xlim(0, 20)
ax.set_ylim(0, 15)
ax.set_title('Background graph')
fig.show()
fig.savefig('bg_graph.png')

- Используйте plt.imshow(), чтобы добавить фоновый график, а затем наложить мои данные.
Код: Выделить всё
bg_img = plt.imread('bg_graph.png')
fig, ax = plt.subplots()
ax.imshow(bg_img, extent=[0,50,0,50])
ax.scatter([4.9, 5.2], [7, 4.9])
fig.show()
fig.savefig('result.png')

У меня есть сделал макет ожидаемого результата с помощью Excel:

Есть ли способ растянуть новый график на существующую ось (из изображения), чтобы построить новые фрагменты данных? Я предполагаю, что координаты оси изображения известны или могут быть угаданы методом проб и ошибок. Можно перефразировать это и сказать, что я хотел бы распространить новый сюжет на изображение, а не наоборот.
Подробнее здесь: https://stackoverflow.com/questions/784 ... mage-chart