Нарисуйте две гистограммы в одном окне, но на разных графиках - PullRequest
0 голосов
/ 10 октября 2018

Я хочу построить две разные гистограммы на разных графиках, но открыть в одном окне.С помощью следующего кода я получаю две гистограммы на одном графике.Я не мог получить гистограмму с подпунктом, не знаю, где я ошибся.

from matplotlib import pyplot as plt

    img = cv2.imread(f)
    img1 = cv2.imread('compressed_' + f)
    color = ('b', 'g', 'r')
    for i, col in enumerate(color):
        histr = cv2.calcHist([img], [i], None, [256], [0, 256])
        hist = cv2.calcHist([img1], [i], None, [256], [0, 256])
        plt.plot(histr, color=col)
        plt.plot(hist, color=col)
        plt.xlim([0, 256])
        plt.title('Original image')
    plt.show()

1 Ответ

0 голосов
/ 10 октября 2018

Похоже, что вы хотите создать два участка.Для этого вы должны использовать функцию subplots из matplotlib.

Ваш код должен выглядеть примерно так:

from matplotlib import pyplot as plt
import cv2

img = cv2.imread(f)
img1 = cv2.imread('compressed_' + f)
color = ('b', 'g', 'r')

fig, ax = plt.subplots(2,1)

for i, col in enumerate(color):
    histr = cv2.calcHist([img], [i], None, [256], [0, 256])
    hist = cv2.calcHist([img1], [i], None, [256], [0, 256])
    ax[0].plot(histr, color=col)
    ax[1].plot(hist, color=col)
    plt.xlim([0, 256])
    plt.title('Original image')
plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...