【问题标题】:How to make a simple vertical histogram using only Python (no matplotlib) [duplicate]如何仅使用 Python(无 matplotlib)制作简单的垂直直方图 [重复]
【发布时间】:2018-06-12 03:54:49
【问题描述】:

我想使用 Python 通过打印星号模式来制作垂直直方图。在水平方向上做同样的事情很容易,但如何在垂直方向上做呢?

【问题讨论】:

  • 这是否与 opencv 或图像处理有关,因为它们已被标记?你至少有水平版本的代码吗?你有没有为垂直尝试过任何东西?我在想一个二维数组来存储输出。

标签: python opencv image-processing


【解决方案1】:

您需要按行打印数据,从最大直方图值的行开始。

在每一行中,您将为每个存储桶打印一个“*”,其中该存储桶的值大于或等于当前行对应的值,以及该值较小的空格。

例如)三个 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))
... 
                    * *              
                  * * * *            
                * * * * * *          
                * * * * * *          
              * * * * * * * *        
              * * * * * * * *       
            * * * * * * * * * *      
          * * * * * * * * * * * *    
        * * * * * * * * * * * * * *  
>>> 

【讨论】:

    猜你喜欢
    • 2014-04-15
    • 2015-09-19
    • 2021-05-10
    • 1970-01-01
    • 2013-04-27
    • 2018-12-23
    • 1970-01-01
    • 2017-02-05
    • 2014-11-15
    相关资源
    最近更新 更多