获得一个全黑背景的条形图

Getting a barplot with a fully dark background

我正在尝试在 R 中获取条形图来表示 csv 文件中目标变量的出现次数。但是,我得到的输出条形图是一张全黑的图片,中间有线条。图形是怎么回事,我该如何解决这个问题?谢谢

这里是绘图和数据结构的示例

barplot dput

dput(head(organics.df,5))

structure(list(ID = c(140L, 620L, 868L, 1120L, 2313L), DemAffl = c(10L, 
4L, 5L, 10L, 11L), DemAge = c(76L, 49L, 70L, 65L, 68L), DemCluster = c(16L, 
35L, 27L, 51L, 4L), DemClusterGroup = c("C", "D", "D", "F", "A"
), DemGender = c("U", "U", "F", "M", "F"), DemReg = c("Midlands", 
"Midlands", "Midlands", "Midlands", "Midlands"), DemTVReg = c("Wales & West", 
"Wales & West", "Wales & West", "Midlands", "Midlands"), PromClass = c("Gold", 
"Gold", "Silver", "Tin", "Tin"), PromSpend = c(16000, 6000, 0.02, 
0.01, 0.01), PromTime = c(4L, 5L, 8L, 7L, 8L), TargetBuy = c(0L, 
0L, 1L, 1L, 0L), TargetAmt = c(0L, 0L, 1L, 1L, 0L)), row.names = c(NA, 
5L), class = "data.frame")

您的条形图代码运行正常;由于您绘制的变量是二进制的,因此白色条纹很有可能位于目标变量为“0”的位置。当数据框有大量行时,R 的 barplot() 函数将删除大部分传统格式,使每一列成为一条黑线。

此外,当仅将单行数据传递到 barplot(具有两个轴的可视化)时,它会自动使 x 轴成为数据的索引,而 y 轴成为实际数据值。

您的代码行 barplot(organics.df$TargetBuy) 将生成一个条形图,其中您的 x 轴是数据框中某个值的 index/position,而 y 轴是该值。在这种情况下,您的值似乎在 0-1 范围内,其中 0 显示为白色直线和黑色长方形,代表数据框的大部分,其中您的图形变量为 1。

给定 1 和 0 的数据帧,这将使您的图表看起来像这样:

这是只有 15 个观测值的图表。将其增加到几千,它看起来与您提交的图片非常相似。

要回答您最初的问题,如果您想要一个条形图来显示每种类型的出现次数,请使用此代码:

counts <- table(organics.df$TargetBuy)
barplot(counts, main= "number of yes/no", xlab = "response", ylab = "number of occurrences")

你应该得到一个类似这样的图表: