Вот полный пример того, как это сделать, включая всю обработку данных, заголовки и т. Д. Я надеюсь, что это поможет:)
counts <- c(0.2, 1.3,4.2,9.0,1.0,1.7,1.0,1.0,13.1)
tags <- c("BL11-a","BL-11b","BL-12","BL-13","BL-15","BL-16","BL-17","BL-18","Everything Else")
df <- data.frame(counts=counts,tags=tags,stringsAsFactors = FALSE)
df <- df[order(df$counts,decreasing=TRUE), ]
df$tags <- factor(df$tags, levels=df$tags)
df$cumulative <- cumsum(df$counts)
df$cumulative <- 100 * df$cumulative/tail(df$cumulative, n=1)
scaleRight <- tail(df$cumulative, n=1)/head(df$counts, n=1)
library(ggplot2)
ggplot(df, aes(x=df$tags)) +
geom_bar(aes(y=df$counts), fill='deepskyblue4', stat="identity") +
geom_path(aes(y=df$cumulative/scaleRight, group=1),colour="red", size=0.9) +
geom_point(aes(y=df$cumulative/scaleRight, group=1),colour="red") +
scale_y_continuous(sec.axis = sec_axis(~.*scaleRight, name = "Cumulative (%)")) +
theme(axis.text.x = element_text(angle=90, vjust=0.6)) +
labs(title="Pareto Chart", subtitle="SNS Hyspec Background Contributions", x="Background Source", y=expression(Counts(~mu~Ah/~mu~s)))
ggsave("snsParetoChart.png")
, который производит: Эта диаграмма Парето с масштабированными осями
(я пока не могу публиковать изображения!)