I am a nltk beginner. Recently, I am facing difficulties when drawing a bar chart for frequency of modals.

```
colors = 'rgbcmyk'
def bar_chart(categories, words, counts):
    import pylab
    ind = pylab.arange(len(words))
    width = 1 / (len(categories) + 1)
    bar_groups = []
    for c in range(len(categories)):
        bars = pylab.bar(ind+c*width, counts[categories[c]], width, 
                         color=colors[c % len(colors)])
        bar_groups.append(bars)
    pylab.xticks(ind+width, words)
    pylab.legend([b[0] for b in bar_groups], categories, loc = 'upper left')
    pylab.ylabel('Frequency')
    pylab.title('Frequency of Six Modal Verbs by Genre')
    pylab.show()

import nltk
from nltk.corpus import brown
genres = ['news', 'religion', 'hobbies', 'government', 'adventure']
modals = ['can', 'could', 'may', 'might', 'must', 'will']
cfd = nltk.ConditionalFreqDist(
        (genre, word)
        for genre in brown.categories()
        for word in brown.words(categories = genre)
        if word in modals)
counts = {}
for genre in genres:
    counts[genre] = [cfd[genre][word] for word in modals]
bar_chart(genre, modals, counts)

```

The format could be provided by Python after running the function 'bar\_chart,' but the bar could not be seen. I suspected whether Python did not read the data from brown, so I used:

```
cfd.tabulate(conditions = genres, samples = modals)

```

Output:

> 
> 
> ```
>              can could   may might  must  will 
>       news    93    86    66    38    50   389 
>   religion    82    59    78    12    54    71 
>    hobbies   268    58   131    22    83   264 
> government   117    38   153    13   102   244 
>  adventure    46   151     5    58    27    50 
> 
> ```
> 
> 

It seems that Python read the data. I want to ensure where the mistakes are. Thank you very much.