R新手在这里,所以你可能要判断,但这是我的问题。
我有一个非常简单的结构化CSV文件,它有2列:标签(ASCII文本值)作为第1列,它们各自的计数(数字)作为第2列。
例如,CSV的格式为:
type,count
cat,23000
dog,444566,
wolf,3442
tiger,306
...
我想在R中绘制一个简单的折线图,它有'计数'作为y轴和x轴上的标签。我希望能够看到'标签'比如“狗”等。 '猫'标记在x轴或数据点上。我怎么在R?
这样做这是我到目前为止所拥有的:
> heresmydata <- read.csv("data.csv")
> matplot(heresmydata[, 1], heresmydata[, -1], type="l")
Warning messages:
1: In xy.coords(x, y, xlabel, ylabel, log = log) :
NAs introduced by coercion
2: In xy.coords(x, y, xlabel, ylabel, log) : NAs introduced by coercion
>
它生成一个带有不正确标签的空图。
答案 0 :(得分:2)
在基础R图形中粗暴对待。查看axis
,mtext
和plot
选项以进行优化。
请继续阅读:data <- read.csv("data.csv", header=TRUE, stringsAsFactors=FALSE)
情节:plot(data$count, type="l", axes=FALSE, ylim=c(min(data$count), max(data$count)), xlab="Creature", ylab="Count")
Y轴:axis(side=2, at=c(min(data$count), max(data$count)), labels=c(min(data$count), max(data$count)))
X轴:axis(side=1, at=seq(1,nrow(data),1), labels=data$type)
答案 1 :(得分:1)
使用ggplot2
library("ggplot2")
ggplot(heresmydata, aes(x = type, y = count)) +
geom_bar(stat = "identity") +
scale_y_log10()