ggplot :多变量(多个连续变量)绘图
ggplot : Multi variable (multiple continuous variable) plotting
使用 dplyr
从更大的数据中推导出的数据显示了有关 2013 年和 2014 年四个季度的总销售额的信息。
Quarter X2013 X2014 Total.Result
1 Qtr 1 77282.13 66421.10 143703.2
2 Qtr 2 69174.64 76480.13 145654.8
3 Qtr 3 65238.47 79081.74 144320.2
4 Qtr 4 65429.73 109738.82 175168.5
我希望使用 ggplot
通过比较条形图上的两年和每个季度的此类条形图组绘制条形图,如下所示。 (来自 MS Excel 的输出)
我使用的ggplot语句如下图(我可能错了)
ggplot(qtr2, aes(x=as.factor(Quarter),fill=c(X2013,X2014))) +
geom_bar(position="dodge")
然后出现错误
Error: Aesthetics must either be length one, or the same length as the dataProblems:as.factor(Quarter)
您需要将数据转换为 ggplot 的长格式:
require(ggplot2)
require(reshape2)
df <- read.table(header = TRUE, text = 'R Quarter X2013 X2014 Total.Result
1 Qtr 1 77282.13 66421.10 143703.2
2 Qtr 2 69174.64 76480.13 145654.8
3 Qtr 3 65238.47 79081.74 144320.2
4 Qtr 4 65429.73 109738.82 175168.5')
df$R <- NULL
head(df)
# bring to long data (1)
dfm <- melt(df, id.vars = c('Quarter', 'Total.Result'))
dfm
ggplot(dfm, aes(x = factor(Quarter), y = value, fill = variable) ) +
geom_bar(stat="identity", position = 'dodge')
关于总结果列/条:我不知道这些数据应该来自哪里(丢失?) - 只有一列,但有两个条?而且价值观不合适。如果你告诉我如何生成这些,绘制应该没有问题。
使用 dplyr
从更大的数据中推导出的数据显示了有关 2013 年和 2014 年四个季度的总销售额的信息。
Quarter X2013 X2014 Total.Result
1 Qtr 1 77282.13 66421.10 143703.2
2 Qtr 2 69174.64 76480.13 145654.8
3 Qtr 3 65238.47 79081.74 144320.2
4 Qtr 4 65429.73 109738.82 175168.5
我希望使用 ggplot
通过比较条形图上的两年和每个季度的此类条形图组绘制条形图,如下所示。 (来自 MS Excel 的输出)
我使用的ggplot语句如下图(我可能错了)
ggplot(qtr2, aes(x=as.factor(Quarter),fill=c(X2013,X2014))) +
geom_bar(position="dodge")
然后出现错误
Error: Aesthetics must either be length one, or the same length as the dataProblems:as.factor(Quarter)
您需要将数据转换为 ggplot 的长格式:
require(ggplot2)
require(reshape2)
df <- read.table(header = TRUE, text = 'R Quarter X2013 X2014 Total.Result
1 Qtr 1 77282.13 66421.10 143703.2
2 Qtr 2 69174.64 76480.13 145654.8
3 Qtr 3 65238.47 79081.74 144320.2
4 Qtr 4 65429.73 109738.82 175168.5')
df$R <- NULL
head(df)
# bring to long data (1)
dfm <- melt(df, id.vars = c('Quarter', 'Total.Result'))
dfm
ggplot(dfm, aes(x = factor(Quarter), y = value, fill = variable) ) +
geom_bar(stat="identity", position = 'dodge')
关于总结果列/条:我不知道这些数据应该来自哪里(丢失?) - 只有一列,但有两个条?而且价值观不合适。如果你告诉我如何生成这些,绘制应该没有问题。