【问题标题】:Plot pixels in a vertical strip matplotlib and python在垂直条 matplotlib 和 python 中绘制像素
【发布时间】:2020-03-13 00:53:16
【问题描述】:

我有一个包含 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 的绘图,其中 y 轴上的 50 个值是上面列表表示的像素颜色。

【问题讨论】:

  • 所以您正在寻找尺寸为 50x55 的图像?
  • 那条带有多宽?
  • @QuangHoang 只要它可见 :) 厚度 2 ?

标签: python numpy matplotlib


【解决方案1】:

给你:

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

输出:

【讨论】:

  • 你是明星!
【解决方案2】:
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()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-15
    • 1970-01-01
    • 2020-08-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多