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)