【问题标题】:Creating an image histogram from a csv从 csv 创建图像直方图
【发布时间】:2017-12-08 03:23:28
【问题描述】:

所以我有一个这样的 csv 文件:

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

它表示灰度图像的直方图。文件显示颜色255出现9次,颜色250出现1次,以此类推

我在以下位置读取文件:

df <- read.csv("/tmp/hist.csv", header= F, dec=",")

然后尝试绘制它:

hist(df$V2)

输出如下所示:

但我更想要的是 x 轴上 0-255 的颜色和 y 轴表示的频率。我怎样才能告诉 R ……将轴“绕”转?

【问题讨论】:

标签: r plot


【解决方案1】:

不,hist(df$V2) 创建一个出现次数的直方图(计数表)。因此,您正在绘制的内容与table(df$V2) 相同(您应该确认这一点以了解发生了什么)。我认为这不是你想要的。

相反,我假设您想要绘制所有 256 种颜色中颜色出现的分布。

您可以在基础 R 中使用barplot:

# 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");


样本数据

# 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)

【讨论】:

    猜你喜欢
    • 2013-05-02
    • 1970-01-01
    • 2011-10-30
    • 1970-01-01
    • 2013-02-06
    • 2011-02-06
    • 1970-01-01
    • 1970-01-01
    • 2018-11-17
    相关资源
    最近更新 更多