我有这个不带列名的csv文件:
0.21,2200
0.22,2161
0.23,2384
0.24,2059
0.25,1510
0.26,1343
0.27,1681
0.28,1501
0.29,938
0.30,686
0.31,598
0.32,399
0.33,385并希望绘制类似的直方图(第一列中的值为x轴,第二列中的值为y轴),如下图所示。

我怎样才能做到这一点?感谢您的回复。
df<-read.csv(file="c-all-prop.csv",head=F,sep=",")
require(ggplot2)
qplot(x=df[,1],weight=df[,2],geom="histogram",xlab="Proportions of GD",ylab="No. of strains",binwidth = 1)这段代码产生了一个奇怪的结果,如下图所示。我想知道为什么。

发布于 2014-02-06 19:11:38
下面是一个使用ggplot2的实现。我已经将您的数据放在一个csv中,读取它并通过dput共享它的结构。这应该也可以在没有列名的情况下工作。
df <- structure(list(V1 = c(0.21, 0.22, 0.23, 0.24, 0.25, 0.26, 0.27,
0.28, 0.29, 0.3, 0.31, 0.32, 0.33), V2 = c(2200L, 2161L, 2384L,
2059L, 1510L, 1343L, 1681L, 1501L, 938L, 686L, 598L, 399L, 385L
)), .Names = c("V1", "V2"), class = "data.frame", row.names = c(NA,
-13L))
require(ggplot2)
qplot(data=df,x=df[,1],weight=df[,2],geom="histogram",xlab="Proportions to whatever",ylab="No. of strains whatever")

使用qplot的binwidth选项进行试验,以获得直方图中所需的间距。
发布于 2014-02-22 15:25:30
这听起来像是你在问如何在R中绘制一个预先入库的数据集,例如,你有一个包含存储桶和计数的CSV文件,而不是底层分布的所有值。CRAN上的HistogramTools R包提供了PreBinnedHistogram函数,该函数接受一个存储桶向量和一个计数向量,并返回一个可以绘制或操作的普通R直方图对象。
您的图与描述和数据不匹配,但我认为下面的图真实地代表了您所描述的内容,而不是问题中包含的图:
require(HistogramTools)
counts<-c(2200,2161,2384,2059,1510,1343,1681,1501,938,686,598,399,385)
breaks<-(21:34)/100
plot(PreBinnedHistogram(breaks,counts))

https://stackoverflow.com/questions/21600448
复制相似问题