2017-06-05 9 views
0

redditのグラフィックを見て、それを再作成しています。しかし、私はaxis.textを読みやすいフォーマットに設定するのに問題があり、いくつかの可能な解決方法が何であるか疑問に思っていました。axis.text(ggplot2)を操作するのに問題がある

私は今のところ出ているコードは次のとおりです。

library(ggplot2) 
    library(forcats) 

    airlines <- c('Delta', 'American', 'Spirit', 'JetBlue', 'Alaska', 'United', 'Southwest') 

    market_cap <- c(37100000000,25300000000, 3400000000, 7000000000, 9000000000, 21000000000, 25800000000) 

    airline_industry <- data.frame(airlines, market_cap) 

    ggplot(airline_industry, aes(fct_reorder(airlines, market_cap), market_cap)) + 
    geom_bar(stat = "identity") + 
    labs(title = "Biggest US Airline Companies by Market Cap", y = 'Market Capitalization (USD)') + 
    coord_flip() + 
    theme(axis.title.y = element_blank()) + 
    scale_x_discrete(labels = c('10000000000' = '10B', '20000000000' = '20B', '30000000000' = '30B')) 

だから私が午前問題は、x軸に沿って私のブレークは、手動で10を示していますということである20、数字形式で& 300億、これは乱雑に見えます。私は10B、20B、および30Bでブレークを表現する方法を理解しようとしています。上記で共有されたredditの例の例に似ています。 scale_x_discreteは動作していないようです。私が望む結果を得る正しい方法は何でしょうか?

を使用でき

答えて

0

scale_y_continuous(breaks = c(0, 1e10, 2e10, 3e10), labels = c('0B', '10B', '20B', '30B')) 

ここyスケールを使用するように、おそらく混乱少し、それはcoord_flipによるものです。元の美的マッピングはmarket_cap -> yです。

次に、軸は離散ではなく連続的であることに注意してください。

最後に、ブレークでもあるため、0のラベルも指定する必要があります。ブレークとラベルの両方を入力するのは常に良いことです。継続的な縮尺であるため、改行を文字ベクタとして指定しないでください。

関連する問題