Maybe... Here are some cases to consider:

```
# 1
ggvis(x = ~y)

# 2
ggvis(x2 = ~y)

# 3
ggvis(x = prop(~y, scale = "x"))

# 4
ggvis(x = prop(~y, scale = "blah"))
```

In each case the props will be something very roughly like this (stripped down for simplicity):

```
# 1
list(x = list(value = quote(y), scale = TRUE))

# 2
list(x2 = list(value = quote(y), scale = TRUE))

# 3
list(x = list(value = quote(y), scale = "x"))

# 4
list(x = list(value = quote(y), scale = "blah"))
```

In cases 1, 2, and 3, you want property="x", name="x", and label="y".

In case 4, you want property="x", name="blah", and label="y".

Also, this has made me realize that there's a bug in getting the labels.


Here are real, examples:

```S
df <- data.frame(xvar = 1:5)
# 1
df %>% ggvis(x = ~xvar, y = 1) %>% layer_points()

# 2
df %>% ggvis(x = 1, x2 = ~xvar+0.5, y = ~xvar, y2 = 0.5) %>% layer_rects(fillOpacity := 0.2)

# 3
df %>% ggvis(x = prop(~xvar, scale = "x"), y = 1) %>% layer_points()

# 4
df %>% ggvis(x = prop(~xvar, scale = "blah"), y = 1) %>% layer_points() %>%
  add_guide_axis("x", "blah")
```