我有以下数据:
文本是指叙述,mi是特定功能的计数,shi是另一个功能的计数。我将它们放在数据框中,如下所示。我不确定如何使用值的向量手动重新创建此数据框,因此我向您表示歉意,因为它的再现性不如其他方式。
test <- as.data.frame(read_excel("plotTEST.xlsx"))
我想要一个绘图,其中x轴是每个文本,而y显示两个特征的计数。我想近似这样,如here或here所示。
使用这些示例,我将以下内容拼凑在一起:
ggplot(data=test, aes(x=text, y=mi, fill=shi)) + geom_bar(stat="identity")
通过大量的调整和几次迭代,这是我得到的最干净的结果:
尽管我尝试遵循链接示例中的代码,并且似乎没有提供有关颜色选择的特定详细信息,但渐变似乎是默认设置。
这是渐变色而不是谨慎的颜色,如何才能获得mi计数和shi计数的谨慎颜色?
我尝试过提到here的解决方案,但这只会导致另一个单独的键具有不同的颜色,并且每个条形都有不同的彩色轮廓。
答案 0 :(得分:1)
您可以这样做:
# Your data
text <- c("Swollen River", "Anaconda caught", "Chikwan speaks", "Lake explodes","Swollen River", "Anaconda caught", "Chikwan speaks", "Lake explodes")
values <- c(5,18,45,98, 0,9,33,23)
type <- c("mi","mi","mi","mi","shi","shi","shi","shi")
df <- data.frame("text"=text, "values"=values, "type"=type)
# dataframe in long format:
# text values type
# 1 Swollen River 5 mi
# 2 Anaconda caught 18 mi
# 3 Chikwan speaks 45 mi
# 4 Lake explodes 98 mi
# 5 Swollen River 0 shi
# 6 Anaconda caught 9 shi
# 7 Chikwan speaks 33 shi
# 8 Lake explodes 23 shi
# Plot
ggplot(data=df, aes(x=text, y=values, fill=type)) + geom_bar(stat="identity")
换句话说,您确实需要使用长格式的数据,如here所述。