Comments (9)
E vai aqui uma proposta de "tabela" de cores:
var cores = {"PT":["#a00001",0],"PTC":["#ac1b01",1],"PRTB":["#be4700",2],"PCdoB":["#d57800",3],"PSB":["#e9a900",4],"PP":["#f8d100",5],"PSL":["#fff600",6],"PMDB":["#f8e804",7],"PTB":["#e7d20c",8],"PRB":["#cfb014",9],"PSD":["#b48d1c",10],"PSC":["#9c7222",11],"PTdoB":["#816022",12],"PRP":["#7a6f1f",13],"PMN":["#6a7f16",14],"PDT":["#5c9411",15],"PHS":["#51a911",16],"PR":["#4bbc11",17],"PV":["#4cd22e",18],"PPS":["#6cecab",19],"PSOL":["#74e7f6",20],"DEM":["#53b4eb",21],"PSDB":["#246ec2",22],"S.Part.":["#999",23],"S/PARTIDO":["#999",24]};
from radar.
Essa tabela parcial está hardcoded no arquivo grafico.py do módulo análise. Há de se automatizar ela seguindo algum critério, ou conferir a cada importação se existe partido novo e adicionar, na mão, uma cor para este partido novo.
from radar.
Aqui tem algumas possibilidades de como resolver esse problemas de forma a gerar as cores "dinamicamente" (de acordo com o número de partidos):
http://stackoverflow.com/questions/470690/how-to-automatically-generate-n-distinct-colors
Destaco ainda dois critérios possível de serem adotados na escola das cores de cada partido:
- Cores de maiores contrastes nos maiores partidos
- Cores de maiores contrastes nos partidos mais "similares".
from radar.
Acho que essas cores não precisam ser uma "opção"; a gente simplesmente mostra as cores
Talvez isso pudesse ser hardcoded no arquivo q lista os nomes e números dos partidos existentes, e aí teríamos um atributo a mais na classe Partido, q seria a cor. Nesse caso, a proposta é de alocação estática de cores... nesse contexto, talvez ainda valesse um algoritmo dinâmico pra caso alguns partidos fiquem sem cores definidas (exemplo: os da convenção nacional francesa : )
from radar.
Eu escrevi a tabela hardcoded que está em grafico.py. Para fazê-la eu procurei o site oficial de cada um dos partidos que estão ali e adotei a cor predominante (escolhi uma delas arbitrariamente no caso de haver duas ou três sem ter uma dominante). Utilizei um programa para pegar o código hexadecimal exato.
Escolhi este critério para facilitar a identificação do partido a partir da cor, como um auxílio a mais além do nome do partido escrito dentro do círculo. O ponto negativo é que haverão partidos com cores bem similares, mas considerei que a opção alternativa de utilizar uma cor qualquer, que poderia levar por exemplo a representar o PT na cor azul, seria mais confusa e portanto pior.
Acho que continua aberto a discussão, mas por enquanto eu sou a favor de utilizar cores fixas (hardcoded) para os partidos: acho que os partidos não são tão numerosos assim que não possamos fazer uma lista de cores. E partidos novos não surgem todos os dias (e podem ficar sem cor até que façamos uma manutenção na tabela de cores).
from radar.
Concordo com o Saulo.
O ponto negativo é que haverão partidos com cores bem similares
Verdade, mas fazer oq... o interessante é tentar não repetir as cores entre os partidos grandes.
Aí se o PT for vermelho e algum outro partido pequeno for vermelho, não se confunde facilmente.
from radar.
Aproveito para expressar que eu prefiro ver o nome (sigla) do partido no gráfico em vez do número+legenda, porque a legibilidade é melhor, mesmo que talvez não seja tão bonito esteticamente. Poderíamos pensar também em dar a opção: sigla ou número.
from radar.
É, esse ponto já acho mais controverso. Mas deixar esse controle ao usuário poderia resolver a questão...
from radar.
Status atual: aplicar a tabela de cores q o Saulo criou no gráfico atual no processo de importação.
Por hora vamos manter o mapa hard-coded (futuramente a cor poderia se tornar um atributo do partido).
from radar.
Related Issues (20)
- Migrar cache para utilizar Memcache ao invés de arquivos em disco. HOT 2
- Gerar nova imagem docker no Travis
- Automatizar build do Dockerfilebase HOT 2
- Melhorar a qualidade da busca por palavras-chaves HOT 7
- Atualizar lista de partidos HOT 11
- Radar na academia HOT 4
- Exibir a porcentagem da variância explicada pelas duas dimensões do mapa de votações HOT 13
- Utilizar o cleanup do entrypoint na saída do container.
- Incorporar rotinas periódicas no Docker para produção. HOT 12
- Fazer novo diagrama de implantação considerando Docker HOT 2
- ANO_MIN em cmsp.py HOT 2
- Colocar "chamada" para o artigo da Leviathan na home page HOT 3
- Rotina periódica para dump do banco HOT 12
- Rotina periódica para atualizar o cash HOT 1
- Existe alguma API que retornar as ações parlamentares de um determinado candidato? HOT 3
- Listar votações, mesmo sem filtro HOT 2
- Exportar gráfico
- Importador não funcionando? HOT 6
- Buscas por palavras-chave não funcionando. HOT 3
- Importador do senado está quebrado HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from radar.