【问题标题】:Curious error using the function barplot使用函数 barplot 的奇怪错误
【发布时间】:2014-05-26 13:49:57
【问题描述】:

我在使用 barplot 函数打印直方图时遇到问题。每次我打电话都会收到以下错误。我检查了功能,但没有看到任何错误。我将函数放入 data.frame 输入样本、错误并给我一个结果示例。有没有其他方法可以将直方图作为图像?

这很有趣,因为有时函数会给出结果,但其他函数会失败并给出错误

功能:

HIST_EPC_list<-function(DF_TAG_PHASE_EPC_counter){
  barplot(DF_TAG_PHASE_EPC_counter$Num_EPC, names.arg = DF_TAG_PHASE_EPC_counter$Tag_PHASE, xlab = "Tag_PHASE", ylab = "Num_EPC", main="Histograma Num tags/PHASE:", width=10)
}

data.frame 示例: DF_TAG_PHASE_EPC_counter

 Tag_PHASE Num_EPC
1     123.0       1
2      75.0       1
3      78.0       1
4      81.0       2
5      84.0       1
6      87.0       1
7      90.0       2
8      98.0       1

错误:

Error in plot.new() : figure margins too large
Called from: barplot(DF_TAG_RSSI_EPC_counter$Num_EPC, names.arg = DF_TAG_RSSI_EPC_counter$Tag_RSSI, 
    xlab = "Tag_RSSI", ylab = "Num_EPC", main = "Histograma Num tags/RSSI:", 
    width = 10)

【问题讨论】:

  • 你在使用 RStudio 吗?
  • 是的 :) 但其他时候它有效
  • 直方图与条形图不同,条形图分别用于连续数据和分类数据。如果您尝试制作直方图,您应该对绘图中的类别进行排序。或者只是使用直方图绘图功能。为了清楚起见。

标签: r plot dataframe bar-chart


【解决方案1】:

错误“图形边距太大”是因为您尝试绘制的图形与图框的大小相比太大。

例如在 RStudio 中,绘图区域很小时会发生这种情况。

你可以试试这些:

  • 在 RStudio 中放大绘图区
  • 在绘图前使用x11() 命令(它会创建一个新的绘图窗口)
  • 使用par(mar=...) 函数减少绘图中的边距。例如,试试par(mar=c(0.1,0.1,0.1,0.1)(见?par

【讨论】:

  • 但是par(margin =),用在哪里?可以举个例子吗?
  • 问题是在另一个函数中使用该函数,我的意图是使用库 R2HTML 在 html 文件上打印直方图
  • 我认为如果您在 html 文件中绘图,则不应该出现此错误(就像您使用 pdfpng... 函数在文件中绘图时一样。如果在 html 文件中绘图时仍然出现此错误。
  • 现在我还有其他错误,但这可能是因为我使用了 data.frames 列表,错误是:“barplot.default 中的错误(DF_TAG_PHASE_EPC_counter $ Num_EPC, names.arg = DF_TAG_PHASE_EPC_counter $ Tag_PHASE ,: 'height' 必须是向量或矩阵 "
  • 您应该针对脚本中的其他错误提出另一个问题。这个与第一个无关。无论如何,你的剧情问题解决了吗?
猜你喜欢
  • 2017-11-11
  • 2016-02-02
  • 1970-01-01
  • 2016-04-24
  • 1970-01-01
  • 1970-01-01
  • 2020-03-26
  • 2018-01-15
  • 1970-01-01
相关资源
最近更新 更多