Как мне создать пользовательские оси на графике matplotlib, не затрагивая отображаемые данные?
Я хочу построить некоторые данные с изображением (из которого данные) под самим графиком с теми же осями, что и график данных.
Для построенных данных я скорректировал оси x, используя np.linespace()
, но я не могу этого сделать для изображения.
Ниже приведены примерное изображение и пример кода того, что я смог создать сам. Что я пытаюсь сделать, так это то, что по оси x подзаголовка изображения отображаются те же отметки и метки, что и на подзаголовке данных. Это не должно изменять внешний вид отображаемых данных или самого изображения, только отметки / метки осей.
import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt
#create figure
fig, axs=plt.subplots(nrows=2, ncols=1, figsize=(6, 4), dpi=300)
#plot example function in subplot 0
time = np.linspace(0, 10, 100)
axs[0].plot(time, np.sin(time))
axs[0].set_xlim(0-2, 10+2)
#load image
img = cv.imread(r"lena.png")
#convert BGR to RGB
RGB_img = cv.cvtColor(img, cv.COLOR_BGR2RGB)
#show image in subplot 1
axs[1].imshow(RGB_img)
axs[1].set_xlim(0-2, img.shape[1]+2)
axs[1].get_yaxis().set_visible(False)