如何仅使用Python制作简单的垂直直方图(无matplotlib)
我想通过打印星号模式,使用Python制作一个垂直直方图。在水平方向做同样的事情很容易,但是垂直方向怎么做呢 您需要按行打印数据,从最大直方图值的行开始 在每一行中,您将为每个bucket打印一个“*”,其中该bucket的值大于或等于对应于当前行的值,以及一个较小的空格 Eg)三个六面骰子之和的直方图:如何仅使用Python制作简单的垂直直方图(无matplotlib),python,opencv,image-processing,Python,Opencv,Image Processing,我想通过打印星号模式,使用Python制作一个垂直直方图。在水平方向做同样的事情很容易,但是垂直方向怎么做呢 您需要按行打印数据,从最大直方图值的行开始 在每一行中,您将为每个bucket打印一个“*”,其中该bucket的值大于或等于对应于当前行的值,以及一个较小的空格 Eg)三个六面骰子之和的直方图: >>> r = list(x+y+z+3 for x in range(6) for y in range(6) for z in range(6)) >>>
>>> r = list(x+y+z+3 for x in range(6) for y in range(6) for z in range(6))
>>> data = [r.count(v) for v in range(max(r)+1)]
>>> for y in range(max(data), 0, -3):
... print(*('*' if v >= y else ' ' for v in data))
...
* *
* * * *
* * * * * *
* * * * * *
* * * * * * * *
* * * * * * * *
* * * * * * * * * *
* * * * * * * * * * * *
* * * * * * * * * * * * * *
>>>
这是否与opencv或图像处理有关,因为它们被标记了?你至少有水平版本的代码吗?你试过垂直方向的吗?我想用一个2d数组来存储输出。