Scripting 格菲';s脚本插件接受十六进制,而不是“只接受”;“红色”;或;蓝色;?

Scripting 格菲';s脚本插件接受十六进制,而不是“只接受”;“红色”;或;蓝色;?,scripting,jython,gephi,Scripting,Jython,Gephi,代码: 为什么下面的方法不起作用 g.filter(join_month == "2008.03").nodes.color = red 我只是把十六进制颜色的格式弄错了吗?Gephi似乎在用它作为Python解释器的基础 通过创建java.awt.Color对象并将十六进制值传递给构造函数,您应该能够获得所需的结果,如下所示: g.filter(join_month == "2008.03").nodes.color = #FFFFFF 根据发现的一个例子,另一种方法是使用Gephi的颜色

代码:

为什么下面的方法不起作用

g.filter(join_month == "2008.03").nodes.color = red
我只是把十六进制颜色的格式弄错了吗?

Gephi似乎在用它作为Python解释器的基础

通过创建
java.awt.Color
对象并将十六进制值传递给构造函数,您应该能够获得所需的结果,如下所示:

g.filter(join_month == "2008.03").nodes.color = #FFFFFF
根据发现的一个例子,另一种方法是使用Gephi的
颜色

>>> from java.awt import Color
>>> mycolor = Color(0xFFFFFF)
>>> g.filter(join_month == "2008.03").nodes.color = mycolor

#FFFFFF
在Python中不是有效的十六进制格式。使用
0xFFFFFF
仅在控制台中键入
red
的输出是什么?键入
red
时没有输出。它将图形中节点的颜色更改为红色。当我使用
0xFFFFFF
g.filter(join\u month==“2008.03”).nodes.color=0xFFFFFF回溯(最后一次调用):文件“”,第1行,在ClassCastException:java.lang.ClassCastException:org.python.core.PySingleton中,无法将其强制转换为java.awt.Color
@user1604416,错误似乎来自Jython。我附上了一个答案,应该能解决这个问题。我没有安装Gephi来测试。。。如果这些答案不适用于您,请在您的评论开始时使用@回复。这会提醒我您的回复。(直到我随机重新审视这个问题,我才看到之前的回答。)
>>> red = 0xFF
>>> green = 0xFF
>>> blue = 0xFF
>>> g.filter(join_month == "2008.03").nodes.color = color(red, green, blue)