def mapa(): df = df_inicial[['paises', 'artistas', 'ouvintes']] df = df.sort_values(by='ouvintes', ascending=False) # LÊ O CSV, DETERMINA AS COLUNAS A SEREM UTILIZADAS E ORDENA POR OUVINTES pais = df['paises'] paises = [] for i in range(len(df)): if pais[i] not in paises and type(pais[i]) == str: paises.append(pais[i]) # EVITA O APARECIMENTO DE NaN E FAZ COM QUE PAISES APAREÇAM APENAS UMA VEZ artista = df['artistas'] artistas = [] for i in range(len(df)): if artista[i] not in artistas: artistas.append(artista[i]) paises[paises.index( 'Soviet Union' )] = 'Russia' # TROCA O NOME "SOVIET UNION" QUE APARECE NO CSV PARA RUSSIA trace = go.Scattergeo( fill='toself', # PERMITE QUE A COR DA CAIXA DE TEXTO MUDE fillcolor='#252e3f', # DETERMINA A COR DA CAIXA DE TEXTO locationmode= 'country names', # DETERMINA O MODO EM QUE VÃO SER ENCONTRADOS # AS LOCALIZAÇÕES QUE APARECEM NA VARIÁVEL "LOCATIONS" locations= paises, # DETERMINA AS LOCALIZAÇÕES QUE APARECEM NO MAPA, NO CASO OS PAÍSES text=artistas, # DETERMINA O TEXTO QUE APARECE NA CAIXA DE TEXTO, # NESTE CASO, OS ARTISTAS MAIS INFLUENTES NO PAÍS mode= 'none', # DETERMINA O MODO DE COMO VÃO APARECER AS LOCALIZAÇÕES NO MAPA ) # CRIA O GRÁFICO layout = lm.layout_mc('Most Relevant Artist by Country') # EDITA O LAYOUT data = [trace] fig = go.Figure(data=data, layout=layout) return fig
def calor(): df = df_inicial[['paises', 'scrobbles']] df = df.values.tolist() # cria uma lista somando os scrobbles por país lista_s = list() for pais in lista_p: scrobbles = 0 for i in range(len(df)): if pais == df[i][0]: scrobbles += df[i][1] lista_s.append(scrobbles) # cria uma lista com os logs dos scrobbles da ultima lista lista_o_l = ([log2(i) for i in lista_s]) # cria o gráfico trace = go.Choropleth( locationmode= 'country names', # DETERMINA O MODO QUE MOSTRARÁ OS PONTOS NO MAPA locations= lista_p, # DETERMINA AS LOCALIZAÇÕES QUE APARECEM NO MAPA, NO CASO OS PAÍSES z=lista_o_l, # BASE PARA AS CORES DO MAPA text=lista_s, colorscale=['rgb(255, 255, 255)', 'rgb(67, 183, 152)' ], # ESCALA DE CORES DETERMINADA PARA O GRÁFICO colorbar={ 'thickness': 25, 'tickfont': { 'color': '#c8d4d3', 'family': 'Courier New' } } # DETERMINA A COR E FONTE DO TEXTO E A LARGURA DA BARRA DE CORES ) # cria e muda o layout layout = lm.layout_mc('Heat Map of Scrobbles per Country') data = [trace] fig = go.Figure(data=data, layout=layout) return fig
def calor(): df = df_inicial[['scrobbles', 'paises']] df = df.groupby(by='paises').sum() # LÊ O CSV, DETERMINA AS COLUNAS A SEREM UTILIZADAS E # SOMA OS SCROBBLES SEPARANDO-OS POR PAISES scrobbles = [math.log2(i) for i in df['scrobbles']] # CALCULA O LOG DOS SCROBBLES DE CADA PAÍS trace = go.Choropleth( locationmode= 'country names', # DETERMINA O MODO QUE MOSTRARÁ OS PONTOS NO MAPA locations=df. index, # DETERMINA AS LOCALIZAÇÕES QUE APARECEM NO MAPA, NO CASO OS PAÍSES z=scrobbles, # BASE PARA AS CORES DO MAPA text=df['scrobbles'], colorscale=['rgb(255, 255, 255)', 'rgb(67, 183, 152)' ], # ESCALA DE CORES DETERMINADA PARA O GRÁFICO colorbar={ 'thickness': 25, 'tickfont': { 'color': '#c8d4d3', 'family': 'Courier New' } } # DETERMINA A COR E FONTE DO TEXTO E A LARGURA DA BARRA DE CORES ) # CRIA O GRÁFICO layout = lm.layout_mc('Heat Map of Scrobbles per Country') # EDITA O LAYOUT data = [trace] fig = go.Figure(data=data, layout=layout) return fig