#python #matplotlib
Вопрос:
В python у меня есть следующая функция для создания характерных кривых композиции Менденхолла
def mendenhall(toks): dist = nltk.FreqDist([len(w) for w in toks]) x = sorted(dist.keys()) y = [dist[i] for i in x] return x, y
Затем я создал с его помощью следующие графики
x,y = mendenhall((nltk.corpus.brown.words(categories='romance'))) plt.plot(x,y)
и
x,y = mendenhall((nltk.corpus.brown.words(categories='mystery'))) plt.plot(x,y)
но есть ли способ поместить эти два на график вместе, или они должны быть отдельными?
Комментарии:
1. Вы пробовали это сделать? Сделайте оба
plot
звонка, прежде чем делатьshow
. Документация matplotlib очень обширна.2. Я пытался, но пока безуспешно.
Ответ №1:
Вот доказательство существования того, что то, что я сказал, работает:
import matplotlib.pyplot as plt x = [1,2,3,4,5] y1 = [6,7,8,9,10] y2 = [7,6,5,4,3] plt.plot(x,y1) plt.plot(x,y2) plt.show()
Итак, в вашем случае:
x,y = mendenhall((nltk.corpus.brown.words(categories='romance'))) plt.plot(x,y) x,y = mendenhall((nltk.corpus.brown.words(categories='mystery'))) plt.plot(x,y) plt.show()
Комментарии:
1. Конечно, если оси x не совпадают, результаты не будут перекрываться.
2. Я был сбит с толку, но теперь, когда я это вижу, вы правы. Большое спасибо!
3. Есть ли способ выбрать цвет для каждой строки и/или добавить легион?
4. Конечно, но вам нужно прочитать документацию или поискать примеры.