Разместите пиксели в вертикальной полосе matplotlib и python - PullRequest
2 голосов
/ 13 марта 2020

У меня есть список из 50 значений, которые представляют цвета пикселей в сером

[71, 71, 70, 71, 73, 75, 70, 80, 81, 81, 72, 84, 74, 86, 
 80, 86, 84, 84, 86, 83, 88, 83, 86, 82, 87, 82, 88, 
 82, 89, 82, 89, 82, 89, 82, 88, 79, 89, 77, 92, 90, 
 79, 94, 92, 80, 93, 78, 75, 71, 72, 79]

Как построить одну вертикальную линию, используя python & matplotlib для представления этих цветов пикселей?

По сути, это вертикальная полоса с итерациями от 0 до 50 (значения по оси Y), представляющая фактические пиксели. Это график 1 x 50, где значения 50 на оси Y являются цветами пикселей, представленными в списке выше.

Ответы [ 2 ]

3 голосов
/ 13 марта 2020
import numpy as np
import matplotlib.pyplot as plt

array = np.array(
    [71, 71, 70, 71, 73, 75, 70, 80, 81, 81, 72, 84, 74, 86, 80, 86, 84, 84, 86, 83, 88, 83, 86, 82, 87, 82, 88, 82, 89, 82, 89, 82, 89, 82, 88, 79, 89, 77, 92, 90, 79, 94, 92, 80, 93, 78, 75, 71, 72, 79]
)
thickness = 5
img = np.repeat(array, thickness).reshape(-1, thickness)
plt.imshow(img, cmap="gray")
plt.colorbar()

enter image description here

3 голосов
/ 13 марта 2020

Здесь вы go:

width = 10
plt.imshow(np.repeat(aa, width).reshape(-1, width), cmap='gray')

Вывод:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...