### Espaço de Tecnologias e Artes - Sesc Avenida Paulista ## Grupo de estudos em Python ### `hackmd.io/@sesc-av-paulista/estudos-em-python-16-setembro` --- #### Conversas paralelas Dicas de livros - https://penseallen.github.io/PensePython2e/ - https://automatetheboringstuff.com Documentário do Python - https://www.youtube.com/watch?v=GfH4QL4VqJ0 --- #### Algumas ferramentas de visualizações de dados e tipos diferentes de diagramas - Galerias de exemplos de dataviz - https://python-graph-gallery.com/ (Python) - https://datavizcatalogue.com/ (geral) - Alguns tipos que olhamos - **Treemap** - **Sankey** - **Wordcloud** (nuvem de palavras) - Grafos/di-grafos "rede"/"network" **QuadTree** é outra coisa (não é *treemap*) é uma estrutura de dados para otimização de relações espaciais entre partículas, por exemplo. - https://www.carlosfranco.co/posts/QuadTree ### Explorações - Treemap https://datavizcatalogue.com/methods/treemap.html Patiamos muito nos tutoriais :( - https://medium.com/wome nintechnology/a-visual-feast-creating-stunning-treemaps-in-python-using-squarify-631e999660ec O que chegou mais perto foi este com a bibliteca **plotly** - Treemap com plotly https://plotly.com/python/treemaps/ Não deu tempo de mostrar nada de grafos e **networkx** - networkx - Biblioteca para manipular grafos ### Vocabulario matplotlib fig(figura) e ax(eixo) Exemplo histograma simples ```python= import matplotlib.pyplot as plt plt.rcParams['figure.dpi'] = 300 # opcional # inventando uns dados import numpy as np alturas = np.random.normal(170, 10, 250) plt.hist(alturas) plt.show ``` ```python= # https://python-graph-gallery.com/basic-histogram-in-matplotlib/ import matplotlib.pyplot as plt plt.rcParams['figure.dpi'] = 300 # opcional # inventando uns dados import numpy as np alturas = np.random.normal(170, 10, 250) # Initialize layout fig, ax = plt.subplots(figsize = (4, 4)) #plot ax.hist(alturas, bins=10, edgecolor="black") plt.show() ``` ### Wordcloud - https://python-graph-gallery.com/wordcloud/ ![image](https://hackmd.io/_uploads/Hy7x6Vvjlx.png) Usando a lib `WordCloud`, e `nltk` para remover as palavras sem grande conteúdo semântico (*stopwords*) Pegamos o texto do romance Iracema. No Projeto Gutemberg. ```python= """ Generating a square wordcloud from the US constitution using default arguments. """ from pathlib import Path from wordcloud import WordCloud import matplotlib.pyplot as plt import nltk from nltk.corpus import stopwords from nltk.tokenize import word_tokenize nltk.download('stopwords') nltk.download('punkt') # Get English stopwords and tokenize stop_words = set(stopwords.words('portuguese')) text = Path('iracema.txt').read_text(encoding='UTF-8') # Generate a word cloud image wordcloud = WordCloud(stopwords=stop_words).generate(text) # Display the generated image: # the matplotlib way: plt.imshow(wordcloud, interpolation='bilinear') plt.axis("off") plt.show() ```