coord_flip()和使用geom_bar的水平log10比例尺

时间:2018-11-19 02:56:56

标签: r ggplot2 stacked-chart

我需要使用TWh中的log10比例将波段堆叠到每个ISO3中。

我生成了以下几行,但没有对数刻度,但对其进行了测试。

代码在这里

> head(exx)
  ISO3   band        ET    TWh
  <fct> <int>     <dbl>  <dbl>
1 AFG       1 37418724. 37.4  
2 AFG       2   890119.  0.890
3 AFG       3   554229.  0.554
4 AFG       4   516820.  0.517
5 AFG       5  5773072.  5.77 
6 AFG       6   249360.  0.249

exx %>%
  ggplot(aes(x = reorder(ISO3, TWh, sum), y = TWh, fill = as.factor(band))) +
  geom_bar(stat = "identity") +
  theme_bw() +
  theme(panel.grid = element_blank()) +
  xlab("") + 
  ylab("") +
  guides(fill=FALSE) +
  guides(fill = guide_legend(nrow = 3, title = "band")) +
  theme(legend.justification = c(1, 0),
    legend.position = c(0.995, 0.001),
    text = element_text(size = 12)) +
  theme(axis.text.x = element_text(size = 10, color="black"),
    axis.text.y = element_text(size = 7, color="black"),
    panel.grid.major.x = element_line( size=.1, color="grey", linetype = 2 )) +
  #here i tested
  #scale_y_continuous(trans=log10_trans())+
  coord_flip() + 
  scale_fill_npg()

Here数据

这是预期的数字(这里我需要添加对数刻度) enter image description here

这是测试对数刻度时得到的。另外,如何解释这个无花果? enter image description here

非常感谢您的帮助。 我已经尝试过this answer,但没有用。

#次尝试修改

我已经乘以1000000,然后应用以下内容:

scale_y_continuous(trans=log10_trans(), 
                 #breaks = trans_breaks('log10', function(x) 10^x))+#, 
                 labels = trans_format('log10', math_format(10^.x)))+

得到这个

enter image description here

我现在想在休息时得到原始标签。

0 个答案:

没有答案