Сложенное изображение и сюжет в Python - PullRequest
0 голосов
/ 02 мая 2020

Я новичок в Python и пытаюсь создать фигуры, похожие на те, которые я сделал с использованием IDL. Я пытаюсь построить график, подобный приведенному ниже (не беспокойтесь о данных, которые он представляет):

enter image description here

Как видите, этот рисунок изображение, отображаемое рядом с линейным графиком. Поскольку я пытался воссоздать это в Python Я столкнулся с некоторыми проблемами, пожалуйста, посмотрите мой код, который приведен ниже:

import matplotlib.pyplot as pyplot
import numpy as numpy
import pandas as pandas

fig, ax = pyplot.subplots(2, 1, sharex = True, gridspec_kw={'hspace': 0})
fig.subplots_adjust(hspace=0)
ax[0].imshow(rot_selected_logfile1[::-1], cmap='rainbow')
ax[1].pyplot(testarr, testarr)
ax[0].axis('off')

pyplot.show()

Вот что он выводит:

enter image description here

Есть кое-что, что мне нужно случиться с этим, что я не могу понять самостоятельно. Любая помощь будет принята с благодарностью! 1. Мне нужно, чтобы изображение было полностью прилегающим к линейному графику, но по какой-то причине я просто не могу понять, как это сделать (если вы видите мой код, я попытался, но не смог заставить его работать). 2. Мне нужно избавиться от текущих осей для изображения, а затем создать еще один набор осей поверх изображения. 3. Я хочу иметь возможность растягивать изображение так, чтобы каждый пиксель не был полностью квадратным, и больше напоминал пример, который я прикрепил. Любая помощь по любому вопросу будет принята с благодарностью! Заранее спасибо.

1 Ответ

0 голосов
/ 02 мая 2020

И проблема неработающего горизонтального пространства, и фиксированное соотношение сторон графика изображения вызваны тем, что imshow имеет значение по умолчанию, аналогичное размерам изображения. aspect='auto' изменяет это на поведение по умолчанию для регулярных графиков.

Чтобы получить отметки x под изображением и, учитывая, что изображение и линейный график используют общие оси X, вторичная ось X может быть рисуется в верхней части нижнего графика. Установка его галочек и их меток внутри должна привести к желаемому результату.

Можно установить галочки со всех сторон с помощью tick_params.

Чтобы установить правильные оси x и y для изображения, Можно использовать extent= параметр imshow.

Приведенный ниже код пытается воссоздать сюжет, похожий на тот, что в вопросе. * * * * * * * * * * * * * * * * * * * * * imshow * * * * * * * * * * * *1014* 1018 *demo plot

Так как *1014* не очень хорошо работает с lognorm, lognorm применяется непосредственно к изображению.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...