2016-09-04 2 views
0

私はThinkcellを使いましたが、その特長の1つは、グラフに合うように非常に長いy軸を壊すことです。 ggplot2でこれを行うことができるかどうかはわかりません。私はggplot2の初心者です。だから、私はどんな考えにも感謝します。例えばggplot2を使用して値軸を破る

は:

enter image description here

:私はこのようになりますグラフをしたい、しかし

enter image description here

Series<- c(1:6) 
    Values<-c(899,543,787,35323,121,234) 
    df_val_break<-data.frame(Series,Values) 
    ggplot(data=df_val_break,aes(x=Series,y=Values)) + 
     geom_bar(stat = "identity") 

これは、このようなグラフを作成します

しかし、それはmsは壊れた軸はggplot2でサポートされていません。誤解を招く(ソース:Using ggplot2, can I insert a break in the axis?)。このスレッドは、ファセッティングとテーブルの2つのことを示しています。

私はテーブルが好きですが、私はカテゴリ変数 "シリーズ"が密接に関連しているため、ファセットを好きではありません。また、私はテーブルを描画するためのExcelを好むだろう - それは高速です。

質問1:私が言っていたオプションの一つhttps://stats.stackexchange.com/questions/1764/what-are-alternatives-to-broken-axesである

は、私は2つの質問があります。グラフは enter image description hereです。

スケール問題のため、類似のグラフを複製できません。

質問2:これは私たちがこれを行うのに役立つかもしれない新しいパッケージが導入された場合の小さな問題です。 (上記のリンクされたSOスレッドは5年以上です。)テーブルには他のオプションはありますか?


アップデート:私は私の質問には二つの理由で重複しているとは思わない:A)私はすでに指定されたスレッドを経ていて、私は第三のように見える解決策を探していますことを説明ここで参照しています私のポストのグラフ。具体的には、両方のグラフをプロットすることを検討しています.1つはグラフで、もう1つは1/20スケールです。スケールの問題のためにggplot2を使用してこれを行うことができません。どちらのサブグラフも1/nthにスケーリングされるか、そのうちの1つが標準範囲にスケーリングされます。私は、このバージョンが、logInverse transformationを理解していない非技術的な視聴者にはかなり関係していると思います。

enter image description here

+2

ハドリーはggplotで間違っていると思っているため、不連続または二重のy軸を許さないことは明らかです。この場合、 '+ scale_y_log10()'を用いたログ変換は、グラフをより美味しくする。 – alistaire

+0

@alistaireご協力いただきありがとうございます。私は同意しますが、私は聴衆が対数スケールを得られないかもしれないと信じています。だからこそ私は、技術的でも統計的にも精通していない視聴者に適したソリューションを探していたのです。ご理解頂けるとありがたいです。 – watchtower

+0

ログスケールの値を伝えるために '+ annotation_logticks()'を強くお勧めします。 'base = numeric(x)'を調整することさえできます。プラス不連続なスケールは悪魔の仕事です-team_tidyverse – Nate

答えて

0

私はこの1つで刺しを取りました。私は初心者ですので、テキストの配置の面でさらに改善できるかどうかはわかりません。私は、高成長率シリーズと低成長率シリーズの両方を、異なるスケールのために1つのグラフに合わせることに苦労しました。だから、私はファセットを使った。

ここでは、コードです: enter image description here 私が見るかなりの数の問題があります:

A)High_growthレートのグラフは、xにシリーズ2及びシリーズ6を持っている

ggplot(data = df_val_break,aes(x=Series,y=Values)) + 
     geom_bar(stat = "identity") + 
     facet_wrap(~Modified) + 
     geom_text(data = df_val_break[df_val_break$Modified=="HIGH_GROWTH",], aes(label = "x20 growth rate"),hjust=0.5, vjust=0) 
    ggsave("post.png") 

ここでは出力がありますが、我々はそれらを必要としないが、軸である。私はそれらをオフにする方法を知らない。

b)geom_textがバーと重なっています。これは少し迷惑に見えます。

c)y軸がLOW_GROWTHでスケーリングされていないため、特にグラフが少し誤解を招くと思います.2つの異なるy軸を表示することを最初に考えていました。/20であり、他方はスケーリングされていない。

関連する問題