R 从csv创建图像直方图

R 从csv创建图像直方图,r,plot,R,Plot,我有一个csv文件,如下所示: 0,0 1,0 2,0 3,0 4,0 ... 250,1 251,0 252,0 253,2 254,2 255,9 它表示灰度图像的直方图。该文件指示color255出现9次,color250出现1次,以此类推 我在以下文件中阅读了该文件: df <- read.csv("/tmp/hist.csv", header= F, dec=",") 输出如下所示: 0,0 1,0 2,0 3,0 4,0 ... 250,1 251,0 252,0 253,

我有一个csv文件,如下所示:

0,0
1,0
2,0
3,0
4,0
...
250,1
251,0
252,0
253,2
254,2
255,9
它表示灰度图像的直方图。该文件指示color
255
出现9次,color
250
出现1次,以此类推

我在以下文件中阅读了该文件:

df <- read.csv("/tmp/hist.csv", header= F, dec=",")
输出如下所示:

0,0
1,0
2,0
3,0
4,0
...
250,1
251,0
252,0
253,2
254,2
255,9

但我更希望得到的是x轴上0-255之间的颜色和y轴表示的频率。如何让R…绕轴旋转?

否,
hist(df$V2)
创建事件发生的柱状图(计数表)。因此,您正在绘制的内容与
表(df$V2)
相同(您应该确认这一点以了解发生了什么)。我想这不是你想要的

相反,我假设您希望绘制所有256种颜色的颜色分布

您可以使用
条形图在base R中执行此操作:

# Barplot base R
barplot(df[, 2], names.arg = df[, 1]);

或使用
ggplot2

# (gg)plot
colnames(df) <- c("colour", "count");
ggplot(df, aes(x = as.factor(colour), y = count)) + geom_bar(stat = "identity");
#(gg)绘图

colnames(df)的可能副本请参见下面我的答案。您使用的
hist
不正确。
# Your sample data
df <- read.csv(text =
    "0,0
     1,0
     2,0
     3,0
     4,0
     250,1
     251,0
     252,0
     253,2
     254,2
     255,9", header = T)