有人找到了一种在Mathematica 8中修改图形对象的方法吗?特别是如何获得右键单击图形时获取的相同功能。
一些新的图形函数与
Combinatorica
冲突,有没有办法强制Mathematica使用内置版本的函数?换句话说,在执行Needs["Combinatorica"]
导入了CompleteGraph
的Combinatorica版本之后,有没有一种方法可以访问内置的CompleteGraph
?
为了澄清第一个问题,图形上下文菜单可以更改图形样式和布局,我想以编程方式进行更改。这里是我发现的一种更改图形对象的图形样式的方法:
g = GridGraph[{4, 4}];
BooleanGraph[Or, g, g, GraphStyle -> "DiagramBlack"]
然而,这忽略了原始图形的选项,如VertexCoordinates
在网格图上尝试Brett的方法
g = GridGraph[{3, 2}, ImageSize -> Tiny]
coords = PropertyValue[{g, #}, VertexCoordinates] & /@ VertexList[g];
Graph[EdgeList[g], GraphStyle -> "BasicGold",
VertexCoordinates -> coords, ImageSize -> Tiny]
(来源:yaroslavvb.com)
Mathematica在图形操作中处理图形坐标时似乎存在一个bug。第一行代码会对坐标进行排列,第二行代码会给出内部警告,可能与坐标有关。使用非整数顶点和每个顶点的显式坐标也无法解决问题。其中一种解决方案是全局存储坐标,并在修改后使用fixCoordinates
函数重新分配正确的坐标给Graph
。
VertexDelete[GridGraph[{3, 3}], 1]
NeighborhoodGraph[VertexDelete[GridGraph[{3, 3}], 1], 2]