【问题标题】:How to add secondary axis while making barplot using ggplot2如何在使用 ggplot2 制作条形图时添加辅助轴
【发布时间】:2020-01-01 08:15:32
【问题描述】:

我有一个如图所示类型的数据集

季节 A B C A1 B1 C1 冬季 97 94 87 0.2 0.4 0.3 夏季 92 94 101 1 0.7 0.3

每个季节(夏季、冬季、秋季、春季)都有值,变量从 (A 到 E) 和 (A1 到 E1)。在使用 ggplot2 绘制条形图时,A1 到 E1 的条形高度由于它们的低值而非常小,我希望将它们移动到辅助轴,但我不知道该怎么做。请建议代码。直到现在我都在分享我的代码。

library(readxl)
library(ggplot2)
library(readxl)
cell_viability_data <- read_excel("C:/Users/CEZ178522/Downloads/ananya/Cell_viability.xlsx")
cell_viability_data


plot1 <- ggplot(data=cell_viability_data, aes(x=Seasons, y= CellViability, fill= Types)) +
  geom_bar(stat="identity", position=position_dodge()) +
             labs(title = "Seasonal Cell Viability") +
             theme(axis.text.x = element_text(colour = "grey1", size = 10),
                   axis.text.y = element_text(colour = "grey1", size = 10),
                   plot.title = element_text(hjust = 0.5))
plot1

我需要小条移动到辅助轴

【问题讨论】:

    标签: r ggplot2 bar-chart


    【解决方案1】:

    辅助 y 轴在 ggplot 中长期被禁止,因为它们通常造成的伤害大于好处。目前唯一的选择是显示一个辅助的、次要的 y 轴,它与主要的 y 轴有直接的比例变换。换句话说,第二个 y 轴是一个补充轴,它显示相同的信息,但比例不同(摄氏和华氏)。

    您要问的是有一个数据点的子集被某个任意值膨胀,因此它们与其余的“同等”。考虑一下:通过选择缩放常数,您能否使值 A1-E1 看起来比值 A-E 高得多?您能否通过选择缩放常数使值 A1-E1 看起来比值 A-E 低得多?您是否可以通过选择缩放常数使 A1-E1 的值与 A-E “同等”,但总是稍微低一些?如果是这样,对于任何问题,您的数据可视化都不可信。

    请考虑:您要进行的重要比较是什么?每种类型的季节? A与A1?拿出笔和纸,试着勾勒出你想比较的东西,以及你在比较时遇到的问题。然后你就可以在 R/ggplot 中进行可视化了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-24
      • 2021-08-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多