首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何仅使用Python (不使用matplotlib)制作简单的垂直直方图

如何仅使用Python (不使用matplotlib)制作简单的垂直直方图
EN

Stack Overflow用户
提问于 2018-06-12 11:54:50
回答 1查看 1.4K关注 0票数 1

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

EN

回答 1

Stack Overflow用户

发布于 2018-06-12 13:08:46

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

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

例如,三个六面骰子之和的直方图:

代码语言:javascript
复制
>>> 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))
... 
                    * *              
                  * * * *            
                * * * * * *          
                * * * * * *          
              * * * * * * * *        
              * * * * * * * *       
            * * * * * * * * * *      
          * * * * * * * * * * * *    
        * * * * * * * * * * * * * *  
>>> 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50809008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档