2016-04-15 8 views
-1

可変軸を持つ反応性のある光沢のあるアプリ用に書かれたコードがいくつかあります。 私は1つのことを除いて、私が望むようにそれらを表示する。私は両方の軸が線形の代わりに対数スケール上にある必要があります。私はtrans = "log"という解決策を見つけましたが、それは私のグラフが空になるのを引き起こします。どんな解決策ですか?プロット:ログ軸を動作させることができません(Shiny + GGvis + Dplyr)

(私はloglinearに、その作品を変更した場合)私はプロットを持っているコード:

vis <- reactive({ 
    # Labels for axes 
    xvar_name <- names(axis_vars)[axis_vars == input$xvar] 
    yvar_name <- names(axis_vars)[axis_vars == input$yvar] 

    xvar <- prop("x", as.symbol(input$xvar)) 
    yvar <- prop("y", as.symbol(input$yvar)) 

    gegevens %>% 
    ggvis(x = xvar, y = yvar) %>% 
    layer_points(size := 50, size.hover := 200, 
       fillOpacity := 0.2, fillOpacity.hover := 0.5, 
       stroke = ~bron, key := ~Project.ID) %>% 
    add_tooltip(gegevens_tooltip, "hover") %>% 
    add_axis("x", title = xvar_name) %>% 
    add_axis("y", title = yvar_name) %>% 
    add_legend("stroke", title = "Gegevens van:", values = c("A", "B")) %>% 
    scale_numeric("x", trans = "log") %>% 
    scale_numeric("y", trans = "log") %>% 
    scale_nominal("stroke", domain = c("A", "B"), 
        range = c("blue", "#aaa")) %>% 
    set_options(width = 600, height = 600) 
}) 

vis %>% bind_shiny("plot1") 
+0

は、あなたのデータがゼロまたは負の値を持っていますか? – Axeman

+0

これは値を示しています。グラフの左端には1ドットが見えます。それはまた私に選択された行の量を教えてくれる、そしてそれらは標準選択で約1400であるので、私は1400のドットを見なければならない。線形で私はすべての点を参照してください。私が間違っているか分からないが、データを提示する代わりにデータを提示することでその何かを賭けている。 –

+0

これらのログが定義されていないので、ゼロと負の値について質問している。したがって、ゼロまたは負のデータはグラフに表示されません(可能性としてはメッセージまたは警告付き)。再現性のある例がなければ、助けが難しいです。 'ggvis'は'光沢 'の外で動作しますか? – Axeman

答えて

0

そのログスケールになりコードに展開する追加します。 私はまた、format = "d"を認めます、grid = FALSEをadd_axisにすると少し良くなりました。 は依然として軸上の値に満足していませんが、これは他の質問です。私は交換し

コード:

add_axis("x", title = xvar_name, format='d', grid = FALSE) %>% 

scale_numeric("x", trans = "log", expand=0) %>%