-
Notifications
You must be signed in to change notification settings - Fork 0
/
zad_dom_wykresy.txt
48 lines (39 loc) · 2.67 KB
/
zad_dom_wykresy.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
0. Na zachętę do matplotlib przykłady wykresów, jakie można stworzyć z jego pomocą (drobny wycinek jego możliwości :) )
http://matplotlib.org/users/screenshots.html
1. Stwórz wykres liniowy z liniami w różnych kolorach dla każdego tekstu z listy.
words = ['morze', 'Polska', 'sklep', 'wiosna', 'morze', 'dziecko']
filenames = ["lord-jim.txt", "przedwiosnie.txt", "sklepy-cynamonowe.txt", "szewcy.txt",
"ziemia-obiecana-tom-pierwszy.txt"]
titles = ["Lord Jim", "Przedwiośnie", "Sklepy cynamonowe", "Szewcy", "Ziemia obiecana Tom I"]
Rozwiązanie oddaj w postaci funkcji color_lines(texts) w pliku line_1.py
Możesz użyć listy z nazwami wbudowanych kolorów matplotlib, lub generować własne kolory.
https://matplotlib.org/api/colors_api.html
(Wykres liniowy ma być analogiczny do wykresu z przykładu wykresu liniowego)
2. Stwórz wykres linowy z tej samej listy tekstów co wyżej, tyle że zliczający
liczbę wystąpień jednego słowa we wszystkich tekstach z listy. Teksty podajemy na osi x jako xticks.
Rozwiązanie oddaj w postaci funkcji one_word(results, texts_titles, word) w pliku line_2.py
3. Stwórz wykres słupkowy zawierający liczbę wystąpień słów z listy
words = ['Wokulski', 'Rzecki', 'subiekt', 'handel', 'sklep']
w tomie I "Lalki" tak, by pary wyników (tzn. częstość występowania w tomie I i II)
dla poszczególnych słów występowały w słupkach ustawionych obok siebie.
Rozwiązanie oddaj w postaci funkcji bar_chart(title1, title2, words) w pliku bar.py
Podpowiedź 1:
Używamy funkcji plt.bar(), której podajemy argumenty tak jak funkcji plt.scatter()
Podpowiedź 2:
Ustawanie dwóch słupków obok siebie jest dość problematyczne, pomaga nieco:
http://matplotlib.org/examples/api/barchart_demo.html
https://stackoverflow.com/questions/14270391/python-matplotlib-multiple-bars
4. (Nieobowiązkowe, ale ciekawsze!)
Pobierz korpus inaugural z bazy nltk (używając nltk.download()).
Dla niego opracuj dla pojedynczych słów wykres analogiczny do wykresu ze strony:
https://books.google.com/ngrams
(bazując ewentualnie na wykresie z z zadania 2).
Warto porównać potem wyniki z wykresem Google dla wybranego słowa (lub słów) i danego zakresu lat :)
Rozwiązanie oddaj w pliku ngrams.py
Jeśli chcesz, to rozszerz działanie wykresu o bigramy korzystając z funkcji bigrams() z nltk
lub własnoręcznie napisanej funkcji (rekomendowane rozwiązanie!).
Co to bigramy?
Np. "United States", "great difference"
http://text-analytics101.rxnlp.com/2014/11/what-are-n-grams.html
Uwaga:
Dołącz legendę lub podpisy na wykresie - spraw, aby był czytelny :)