Error in gList(...) : "gList"只许用'grobs'怎么改代码
时间: 2024-05-14 20:18:10 浏览: 19
"gList" 是 "grid" 包中的一个函数,用于将多个 "grob"(即 "grid graphics objects")组合成一个列表。如果出现错误 "gList(...) : "gList"只许用'grobs'",通常是因为在 "gList" 函数中使用了不属于 "grob" 类型的对象。
如果需要将多个 "grob" 对象组合成一个列表,可以使用以下代码:
``` r
library(grid)
# 创建两个示例 grob
grob1 <- rectGrob()
grob2 <- circleGrob()
# 将两个 grob 组合成一个列表
grobs_list <- list(grob1, grob2)
gList(grobs_list)
```
如果还有其他问题,请提供更多的上下文和代码细节,以便更好地理解和解决问题。
相关问题
上述代码出现了“Error in gList(...) : only 'grobs' allowed in "gList"”
这个错误通常是由于没有正确加载grid包导致的。在运行grid.arrange()函数之前,需要确保已经加载grid包。可以尝试在代码开头使用library(grid)命令加载grid包,或者在代码中使用require(grid)命令检查是否已经加载了grid包。如果还是无法解决问题,可以尝试更新ggplot2和grid包或重新安装这两个包。
D:\code\myworld\lib\site-packages\requests\__init__.py:109: RequestsDependencyWarning: urllib3 (2.0.2) or chardet (None)/charset_normalizer (3.0.1) doesn't match a supported version! warnings.warn( Traceback (most recent call last): File "E:/403/myworld/graphBatch.py", line 38, in <module> dgl.save_graphs(OUT_PATH + "merged_graph_train.bin",[merged_graph_train],'coo') File "D:\code\myworld\lib\site-packages\dgl\data\graph_serialize.py", line 142, in save_graphs save_heterographs(filename, g_list, labels, formats) File "D:\code\myworld\lib\site-packages\dgl\data\heterograph_serialize.py", line 37, in save_heterographs filename, gdata_list, tensor_dict_to_ndarray_dict(labels), formats File "D:\code\myworld\lib\site-packages\dgl\data\heterograph_serialize.py", line 17, in tensor_dict_to_ndarray_dict for key, value in tensor_dict.items(): AttributeError: 'str' object has no attribute 'items'
这个错误提示表明在执行`dgl.save_graphs`函数时,传入的`labels`参数是一个字符串,而不是一个字典类型的对象,导致在调用`tensor_dict_to_ndarray_dict`函数时发生了错误。需要将`labels`参数改为字典类型的对象,或者将其置为空字典`{}`即可。
修改后的代码示例如下:
```python
import dgl
import torch
# 创建一张图
g = dgl.graph([(0, 1), (1, 2), (2, 3)])
g.ndata['feat'] = torch.randn(4, 5)
g.edata['feat'] = torch.randn(3, 3)
# 以COO格式存储
dgl.save_graphs('graph.bin', [g], 'coo', {})
# 读取存储的图
glist, _ = dgl.load_graphs('graph.bin')
print(glist)
```
在上面的示例中,我们将`labels`参数改为空字典`{}`,以COO格式存储了一张图,并用`load_graphs`函数读取了存储的图。