Como fazer gráficos de bolhas Um gráfico de bolhas também pode ser apenas para cima de bolhas de tamanho proporcional, mas aqui vamos cobrir como criar a variedade que é como um diagrama de dispersão com uma terceira dimensão, borbulhante. A vantagem deste tipo de gráfico é que ele permite comparar três variáveis de uma só vez. Um é sobre o eixo x, um está no eixo y, eo terceiro é representado por tamanho de área de bolhas. Dê uma olhada no gráfico final para ver o que estamos fazendo. Passo 0. Baixe R We8217re vai usar R para fazer isso, então baixe isso antes de seguir em frente. It8217s livre e de código aberto, então você não tem nada a perder. Além de it8217s uma necessidade de saber nome de 2017. assim que você pode muito bem conhecê-lo agora. Você pode me agradecer mais tarde. Etapa 1. Carregar os dados Assumindo que você já tem R aberto, a primeira coisa que we8217ll faz é carregar os dados. Examinamos os mesmos dados de crime que fizemos para nosso último tutorial. I8217ve adicionou a população do estado desta vez. Uma nota sobre os dados. Os números do crime são, na verdade, para 2005, enquanto as populações são para 2008. Este não é um grande negócio, pois estamos mais interessados em populações relativas do que os valores brutos, mas tenha isso em mente. Ok, continuando. Você pode baixar o arquivo delimitado por tabulações aqui e mantê-lo local, mas a maneira mais fácil é carregá-lo diretamente em R com a linha de código abaixo: You8217re dizendo R para baixar os dados e lê-lo como um arquivo delimitado por vírgulas com um cabeçalho. Isso o carrega como um quadro de dados na variável de crime. Passo 2. Desenhe alguns círculos Agora podemos chegar à direita para desenhar círculos com o comando symbols (). Passe os valores para o eixo x, o eixo y e os círculos, e it8217ll cuspir um gráfico de bolhas para você. Execute a linha de código acima, e you8217ll obter este: Tudo feito, certo Errado. Isso foi um teste. Os tamanhos acima o raio dos círculos por população. Queremos dimensioná-los por área. As proporções relativas são todas fora do wack se você tamanho pelo raio. Passo 3. Dimensionar os círculos corretamente Para dimensionar os raios corretamente, olhamos para a equação para a área de um círculo: Área do círculo 960r 2 Neste caso, a área do círculo é a população. Queremos saber r. Mova algumas coisas e obtemos isto: r 8730 (Área do círculo 960) Substitua a população pela área do círculo, e traduzir para R, e obtemos isto: Yay. Círculos corretamente dimensionados. They8217re forma muito grande embora para este gráfico para ser útil. Por padrão, os símbolos () dimensionam a maior bolha para uma polegada e, em seguida, escalam o resto em conformidade. Podemos mudar isso usando o argumento polegadas. Qualquer valor que você colocar vai tomar o lugar do padrão de uma polegada. Enquanto estivermos nela, vamos adicionar cor e mudar os rótulos dos eixos x e y. Observe que usamos fg para alterar a cor da borda, bg para mudar a cor de preenchimento. Aqui está o que temos: Agora estamos chegando a algum lugar. By the way, você pode fazer um gráfico com outras formas também com symbols (). Você pode fazer quadrados, retângulos, termômetros, boxplots e estrelas. Eles tomam argumentos diferentes do que o círculo. Os quadrados, por exemplo, são dimensionados pelo comprimento de um lado. Novamente, certifique-se de dimensioná-los adequadamente. Aqui é o que parecem quadrados, usando a linha abaixo do código. Vamos ficar com os círculos por enquanto. Etapa 4. Adicionar rótulos Como está, o gráfico mostra algum sentido de distribuição, mas não sabemos qual círculo representa cada estado. Então let8217s adicionar etiquetas. Fazemos isso com text (). Cujos argumentos são coordenadas x, coordenadas y eo texto real a ser impresso. Nós temos tudo isso. Como as bolhas, o x é assassinatos eo y é assaltos. Os rótulos reais são nomes de estado, que é a primeira coluna em nosso quadro de dados. Com isso em mente, fazemos isso: O argumento cex controla o tamanho do texto. É 1 por padrão. Valores maiores que um farão os rótulos maiores e o oposto para menos de um. As etiquetas serão centradas nas coordenadas x e y. Aqui está o que parece. Etapa 5. Limpeza Finalmente, como de costume, eu limpar no Adobe Illustrator. Você pode mexer com isso em R, se quiser, mas I8217ve encontrou it8217s maneira mais fácil de salvar o meu arquivo como um PDF e fazer o que eu quero com o Illustrator. Eu organizei os rótulos de estado para torná-los mais legíveis, girou os rótulos do eixo y, de modo que eles fiquem horizontais, adicionei uma legenda para a população e removi a borda externa. Eu também trouxe a Geórgia para a frente, porque a maior parte estava escondida pelo Texas. Aqui está a versão final. Clique na imagem para vê-la na íntegra. E lá você vai. Digite símbolos em R para mais opções de plotagem. Enlouquecer. Para obter mais exemplos, orientação e todos os dados de qualidade como este, compre Visualize This. O novo FlowingData livro. Se você quiser ficar muito perto da figura resultante sem usar um editor de imagem, então você pode usar o seguinte código R. Um pode melhorar o posicionamento do nome do estado com um vetor do offset (e seguindo o conselho no texto sobre o posicionamento interativo). par (assinalar 0,2, bty 8216n8217) crime LT - read. csv (quotdatasets. flowingdatacrimeRatesByState2008.csv038quot, headerTRUE, sepquottquot) limpar os espaços no final em estado campo crimestate gsub LT - (039 039, 039,039, crimestate) ylim LT - C (200 , 1250) crime LT - ordem crime (crimepopulation, diminuindo TRUE), raio da LT-sqrt (pi) crimepopulation símbolos (crimemurder, crimeburglary, círculos raio, 0,35 polegadas, ylim ylim, fg 039white039, bg 039red039, XLAB 039039, ylab 039,039, Yaxt 039n039) ylabpos lt - (1: 6) 200 eixo (2, ylabpos, etiquetas FALSO) texto (-0,35, ylabpos, etiquetas ylabpos, pos 2, xpd TRUE) texto (-1,4, 1350, expressão (negrito) (039Burglaries pern100 , 000 população039)), cex 0,8, pos 4, xpd VERDADEIRO) texto (mediana (crimemurder), -50, expressão (negrito (039Murders por 100000 população039)), cex 0,8, xpd TRUE) (Crime)) pos-rep (3, nrow (crime)) poscrimestate em c (039Alabama039, 039California039, 039Connecticut039, 039Maine039, 039Mississippi039, 039Ne w York039, 039North Dakota039, 039Georgia039, 039Alaska039) LT - 1 poscrimestate em C (039Hawaii039, 039Indiana039, 039Illinois039, 039Minnesota039, 039Nebraska039, 039West Virginia039, 039Wyoming039) LT - 2 poscrimestate em C (039Arizona039, 039Massachusetts039, 039Nevada039, 039Rhode Island039, 039South Dakota039 , 039South Carolina039, 039Wisconsin039) LT - 4 texto (crimemurder, crimeburglary, crimestate, CEX 0,5, pos pos, offset 0,25) criar individualidades legPop LT-C (4E7, 2E7, 3E6) Legrad LT-sqrt (pi legPop) Hin LT - par (039pin039) 2 burgPerInch LT - (ylim2 8211 ylim1) radPerInch him LT - max (raio) 0,35 heightAdj LT - legRadradPerInchburgPerInch símbolos (rep (9,3), rep (200,3) heightAdj, círculos Legrad, 0,35 polegadas, adicionar TRUE) Tadj LT strheight (03940m039,) texto CEX 0,5 (rep (9,3), rep (200,3) heightAdj2 8211 Tadj, c (03940m039, 03920m039, 0393m039), CEX 0,5) este tem sido útil até agora. Por exemplo, eu quero mostrar o assalto (y) pelo assassinato (x) com o tamanho da população (z) para 1. As fêmeas, 2.Males e 3.Children. Tendo, por exemplo, círculos azuis representando machos, círculos vermelhos representando fêmeas e círculos verdes representando crianças8230 Oi Nathan, eu vim ao seu site hoje, estava explorando e fazendo alguns tutoriais. Eu tenho um problema neste, talvez um noob, como I8217m não um especialista em Illustrator. Eu exportar o gráfico de bolha R para PDF e abri-lo no Acrobat ok, mas quando eu abri-lo no Illustrator algumas bolhas estão faltando e substituído por uma imagem X. O que estou fazendo errado Thans para responder. Btw, seu local é grande: lotes da informação e divertimento com dados e gráficos.
Comments
Post a Comment