如何使用内置函数从字典数据中打印直方图

时间:2014-03-05 01:50:23

标签: python python-3.x graph charts

您好我是python的新手,需要使用以下数据打印图表:

每个条形的高度是每种单词的计数。假设我们有三个桶(a,b和c),每个桶中都有许多苹果:

  a - 1
  b - 3
  c - 2

因此,如果我们要将其绘制出来,它可能看起来像:

  3_x_
  2_xx
  1xxx
  .abc

使用'_'作为没有任何数据的单元格的占位符,并使用'x'作为数据的标记。如何从这些数据中绘制图表?

1 个答案:

答案 0 :(得分:0)

如果您是Python的新手,我强烈建议您浏览他们的库文档:http://docs.python.org/3/library/。以下是这个问题的一些代码:

def chart(dictionary):
    height = max(dictionary.values())      # Figures out how tall the diagram needs
    for i in range(height):                # to be, then loops once per level.
            current_height = height - i          # Next line creates a string 
        s = "{0}".format(current_height)         # containing the height number.
        for value in dictionary.values():         # This loop decides for each entry
            if value >= current_height:           # whether to use a 'x' or a '_'.
                s += 'x'
            else:
                s += '_'
        print(s)
    s = '.'                          # These two lines create the lowermost string
    for key in dictionary.keys():    # with labels.
        s += key
    print(s)

此代码非常专门针对上述问题,但它应该让您对自己需要去的地方有所了解。