3 回答

TA貢獻1801條經驗 獲得超8個贊
使用ggplot2:
library(ggplot2)
Animals <- read.table(
header=TRUE, text='Category Reason Species
1 Decline Genuine 24
2 Improved Genuine 16
3 Improved Misclassified 85
4 Decline Misclassified 41
5 Decline Taxonomic 2
6 Improved Taxonomic 7
7 Decline Unclear 41
8 Improved Unclear 117')
ggplot(Animals, aes(factor(Reason), Species, fill = Category)) +
geom_bar(stat="identity", position = "dodge") +
scale_fill_brewer(palette = "Set1")

TA貢獻1815條經驗 獲得超10個贊
有多種方法可以在R中進行繪圖。lattice是其中之一,并且始終是合理的解決方案,對@agstudy +1。如果要在基本圖形中執行此操作,則可以嘗試以下操作:
Reasonstats <- read.table(text="Category Reason Species
Decline Genuine 24
Improved Genuine 16
Improved Misclassified 85
Decline Misclassified 41
Decline Taxonomic 2
Improved Taxonomic 7
Decline Unclear 41
Improved Unclear 117", header=T)
ReasonstatsDec <- Reasonstats[which(Reasonstats$Category=="Decline"),]
ReasonstatsImp <- Reasonstats[which(Reasonstats$Category=="Improved"),]
Reasonstats3 <- cbind(ReasonstatsImp[,3], ReasonstatsDec[,3])
colnames(Reasonstats3) <- c("Improved", "Decline")
rownames(Reasonstats3) <- ReasonstatsImp$Reason
windows()
barplot(t(Reasonstats3), beside=TRUE, ylab="number of species",
cex.names=0.8, las=2, ylim=c(0,120), col=c("darkblue","red"))
box(bty="l")
下面是我所做的:我創建了一個矩陣具有兩列(因為你的數據均列)其中列是種計數Decline和Improved。然后,我將這些類別作為列名。我還給了Reasons行名。該barplot()函數可以在此矩陣上運行,但希望數據以行而不是列的形式存在,因此我將其轉置為矩陣。最后,我刪除了一些barplot()不再需要的函數
- 3 回答
- 0 關注
- 983 瀏覽
添加回答
舉報