ggvis:具有整数刻度的x轴

时间:2015-01-14 17:17:08

标签: r graph scale ggvis

我希望获得ggvis图的x轴的整数。

MWE

df <- 
  structure(list(Factor = structure(c(1L, 2L, 3L, 1L, 2L, 3L, 1L, 
  2L, 3L, 1L, 2L, 3L), .Label = c("A", "B", "C"), class = "factor"), 
  X = c(15.5133333333333, 14.63, 14.41, 14.1266666666667, 13.1833333333333, 
  12.9466666666667, 13.6133333333333, 13.55, 13.5333333333333, 
  11.5566666666667, 11.3066666666667, 11.4566666666667), Y = c(20L, 
  20L, 20L, 40L, 40L, 40L, 70L, 70L, 70L, 100L, 100L, 100L)), .Names = c("Factor", 
  "X", "Y"), row.names = c(NA, -12L), class = "data.frame")

library(ggvis)

ggvis(data=df
      , x= ~X
      , y= ~Y
      , fill= ~Factor
      , stroke = ~Factor) %>% 
  arrange(Y) %>%
  group_by(Factor) %>%
  layer_points(shape=~Factor) %>% 
  layer_paths(fill := NA)  %>%
  add_axis('x', orient=c('bottom'), format='####') 

enter image description here

一种可能性是在values=seq(from=10, to=16, by=1)中使用add_axis()。但这种方法并非自动化。

1 个答案:

答案 0 :(得分:5)

format参数设置为'd'将仅在轴标签中显示整数值:

library(ggvis)
library(dplyr)
##
ggvis(data=df
      , x= ~X
      , y= ~Y
      , fill= ~Factor
      , stroke = ~Factor) %>% 
  arrange(Y) %>%
  group_by(Factor) %>%
  layer_points(shape=~Factor) %>% 
  layer_paths(fill := NA)  %>%
  add_axis('x', orient=c('bottom'), format='d')

enter image description here

this page上提供了有关d3格式规范的更多信息,如this ggvis guide公共属性部分所述。