【问题标题】:Incorrect Plot Color R不正确的绘图颜色 R
【发布时间】:2018-08-08 03:48:44
【问题描述】:

我正在使用以下代码生成绘图:

library(plotrix)

dat_fn = "emptiness.csv"
storage_fn = "final/results/emptiness_values.png"
data <- read.csv(dat_fn, header = TRUE, sep = "\t")

png(storage_fn)
sizeplot(data$PercentEmpty, data$PercentUniform, col = data$QuestionType)
legend("topleft", legend = levels(data$QuestionType), pch = "o", col = 
unique(data$QuestionType))
dev.off()

我应该在左下角得到两个黑点,在右上角得到一个红点。相反,我在左下角得到一个黑色和一个红色,在右上角得到一个黑色。 (见下图。)我完全被难住了——这里会发生什么?我仔细检查了我的数据三遍,数据不是问题。

Plot

我的数据是:

ColumnName  PercentEmpty    PercentUniform  QuestionType
D   0.0 5.155436407691911e-05   a
E   0.0 0.00030932618446151465  a
F   0.14146517502706604 0.09666443264422334 b

谢谢!

【问题讨论】:

  • 你能分享你的数据吗?将dput(data) 粘贴到您的问题中将为我们提供您数据的副本/可粘贴副本。
  • 已编辑 - 谢谢!
  • 我无法复制您的问题 - 当我在您共享的数据上运行您的代码时,我得到了正确的图。尝试重新启动 R,重新加载数据,看看是否还有问题。
  • 我重新启动了 R,重新加载了我的数据,然后重新启动了我的计算机,我仍然得到相同的情节。这很奇怪……
  • 嗯,实际上当我放大它时,看起来我可以复制问题。如果我用plot 替换sizeplot,它工作正常。我认为,在内部,sizeplot 正在重新排序数据。

标签: r plot plotrix


【解决方案1】:

我认为处理sizeplot 最终会重新排序一些点。您似乎没有使用sizeplot 的自动调整点大小的功能,所以我建议您只使用plot 来代替它就可以了。

如果您确实需要 sizeplot,这里有一个 hacky 解决方法:

with(data, plot(PercentEmpty, PercentUniform, type = "n"))
with(subset(data, QuestionType == "a"), sizeplot(PercentEmpty, PercentUniform, col = 1, add = TRUE))
with(subset(data, QuestionType == "b"), sizeplot(PercentEmpty, PercentUniform, col = 2, add = TRUE))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-12
    • 2021-02-22
    • 2011-12-18
    • 1970-01-01
    • 1970-01-01
    • 2018-07-09
    • 1970-01-01
    相关资源
    最近更新 更多