2016-12-23 7 views
0

Ich habe den folgenden Datenrahmen, der die Variablen Stadt, Beschreibung und n hat.hchart() Balkendiagramm zeigt nicht alle x Achsenbeschriftungen in R

city <- c("BIG COTTONWOOD", "BOUNTIFUL", "CANYON RIM", "CANYON RIM", 
"CANYON RIM", "COPPERTON", "COTTONWOOD HEIGHTS", "DRAPER", "DRAPER", 
"EAST MILLCREEK", "FARMINGTON", "FARMINGTON", "HERRIMAN", "HERRIMAN", 
"HERRIMAN", "HERRIMAN", "HOLLADAY", "KEARNS", "KEARNS", "MAGNA", 
"MAGNA", "MAGNA", "MAGNA", "MAGNA", "MIDVALE", "MIDVALE", "MIDVALE", 
"MIDVALE", "MIDVALE", "MURRAY", "MURRAY", "MURRAY", "MURRAY", 
"MURRAY", "MURRAY", "MURRAY", "NORTH SALT LAKE", "OLYMPUS COVE", 
"OLYMPUS COVE", "PARK CITY", "RIVERTON", "SALT LAKE CITY", "SALT LAKE CITY", 
"SALT LAKE CITY", "SALT LAKE CITY", "SALT LAKE CITY", "SALT LAKE CITY", 
"SALT LAKE CITY", "SALT LAKE CITY", "SALT LAKE CITY", "SALT LAKE CITY", 
"SALT LAKE COUNTY", "SALT LAKE COUNTY", "SANDY", "SANDY", "SANDY", 
"SANDY", "SANDY", "SANDY", "SOUTH JORDAN", "SOUTH SALT LAKE", 
"SOUTH SALT LAKE", "SOUTH SALT LAKE", "SOUTH SALT LAKE", "SOUTH SALT LAKE", 
"SOUTH SALT LAKE", "SOUTH SALT LAKE", "SOUTH SALT LAKE", "SOUTH WEST SL COUNTY", 
"TAYLORSVILLE", "TAYLORSVILLE", "TAYLORSVILLE", "TOOELE", "UTAH COUNTY", 
"WEST JORDAN", "WEST JORDAN", "WEST JORDAN", "WEST JORDAN", "WEST MILLCREEK", 
"WEST MILLCREEK", "WEST MILLCREEK", "WEST MILLCREEK", "WEST MILLCREEK", 
"WEST MILLCREEK", "WEST MILLCREEK", "WEST VALLEY CITY", "WEST VALLEY CITY", 
"WEST VALLEY CITY", "WEST VALLEY CITY", "WEST VALLEY CITY", "WEST VALLEY CITY", 
"WEST VALLEY CITY", "WEST VALLEY CITY", "WOODS CROSS", "WOODS CROSS" 
) 
description <- c("PUBLIC ORDER", "PUBLIC ORDER", "LARCENY", "PUBLIC ORDER", 
"PUBLIC PEACE", "PUBLIC ORDER", "PUBLIC ORDER", "NONREPTABL TA", 
"PUBLIC ORDER", "PUBLIC ORDER", "DAMAGED PROP", "PUBLIC ORDER", 
"DAMAGED PROP", "DRUGS", "LARCENY", "PUBLIC ORDER", "PUBLIC ORDER", 
"PUBLIC ORDER", "PUBLIC PEACE", "ASSAULT", "DRUGS", "ESCAPE", 
"LARCENY", "PUBLIC ORDER", "DRUGS", "ESCAPE", "PUBLIC ORDER", 
"PUBLIC PEACE", "REPORTABLE TA", "ASSAULT", "DAMAGED PROP", "DRUGS", 
"ESCAPE", "LARCENY", "PUBLIC ORDER", "STOLEN VEHICLE", "PUBLIC ORDER", 
"ESCAPE", "PUBLIC ORDER", "PUBLIC ORDER", "PUBLIC ORDER", "ASSAULT", 
"DAMAGED PROP", "DRUGS", "ESCAPE", "LARCENY", "NONREPTABL TA", 
"PUBLIC ORDER", "PUBLIC PEACE", "REPORTABLE TA", "STOLEN VEHICLE", 
"PUBLIC ORDER", "REPORTABLE TA", "DAMAGED PROP", "DRUGS", "ESCAPE", 
"NONREPTABL TA", "PUBLIC ORDER", "PUBLIC PEACE", "PUBLIC ORDER", 
"ASSAULT", "DRUGS", "ESCAPE", "LARCENY", "PUBLIC ORDER", "PUBLIC PEACE", 
"REPORTABLE TA", "STOLEN VEHICLE", "PUBLIC ORDER", "ESCAPE", 
"PUBLIC ORDER", "PUBLIC PEACE", "DAMAGED PROP", "PUBLIC PEACE", 
"DRUGS", "ESCAPE", "PUBLIC ORDER", "PUBLIC PEACE", "ASSAULT", 
"DRUGS", "ESCAPE", "LARCENY", "NONREPTABL TA", "PUBLIC ORDER", 
"PUBLIC PEACE", "ASSAULT", "DRUGS", "ESCAPE", "NONREPTABL TA", 
"PUBLIC ORDER", "PUBLIC PEACE", "REPORTABLE TA", "STOLEN VEHICLE", 
"DAMAGED PROP", "PUBLIC ORDER") 

n <- c(3L, 2L, 1L, 2L, 1L, 1L, 4L, 1L, 16L, 6L, 1L, 4L, 1L, 1L, 2L, 
2L, 6L, 13L, 2L, 2L, 1L, 2L, 1L, 8L, 3L, 1L, 11L, 1L, 2L, 1L, 
1L, 2L, 3L, 1L, 8L, 1L, 1L, 1L, 2L, 1L, 4L, 4029L, 2496L, 4837L, 
3637L, 11432L, 2348L, 8008L, 3798L, 2210L, 2341L, 1L, 1L, 1L, 
4L, 1L, 1L, 10L, 1L, 3L, 1L, 11L, 9L, 6L, 13L, 1L, 2L, 1L, 3L, 
1L, 12L, 2L, 1L, 1L, 3L, 1L, 7L, 1L, 2L, 1L, 3L, 2L, 1L, 15L, 
1L, 2L, 6L, 7L, 4L, 16L, 5L, 2L, 1L, 1L, 1L) 

slc <- data.frame(city,description,n) 

ich verwende die highcharter() Paket von J.Kunst Verfügung gestellt, die über Datenrahmen in einem gruppierten Balkendiagramm anzuzeigen. Ich habe die folgenden Befehle für das gleiche ausgeführt.

library(highcharter) 
library(dplyr) 
colors <- c("#487098","#484898","#34348d","#19198b","#208582","#942f59","#dd125b","#000000","#c61051","#000FFF") 


slc %>% hchart("column",x=city,y=log(n*100),group=description)%>%hc_add_theme(hc_theme_google()) %>% hc_colors(colors) 

Das gruppierte Balkendiagramm wird ordnungsgemäß angezeigt, mit einem kleinen Problem. Nicht alle slc$city Variablen werden auf der x-Achse angezeigt. Dies ist wahrscheinlich auf die Anzahl der verfügbaren Stadtvariablen zurückzuführen. Gibt es eine Möglichkeit, die Größe der Textanzeige zu reduzieren? (ähnlich wie in ggplot2) Vielen Dank im Voraus!

Antwort

0

Sie können die Anzeige aller xAxis-Etiketten erzwingen, indem Sie xAxis.labels.step auf 1 setzen. Die Rotation der Etiketten wird nicht jedes Mal sehr gut berechnet, so dass Sie rotation über Einstellungen auf -90 einstellen können.

slc %>% hchart("column",x=city,y=log(n*100),group=description) %>% 
    hc_add_theme(hc_theme_google()) %>% 
    hc_colors(colors) %>% 
    hc_xAxis(labels = list(rotation = -90, step = 1)) 

Ergebnis:

enter image description here

Demo für Highcharts (ohne R): http://jsfiddle.net/Lv12u7cg/

Verwandte Themen