Кто-нибудь придумал способ изменения объектов Graph в Mathematica 8? В частности, как получить ту же функциональность, которую вы получаете при щелчке правой кнопкой мыши по графику.
Некоторые из новых функций для графиков конфликтуют с Combinatorica
, есть ли способ заставить Mathematica использовать встроенные функции. в версии функции? Другими словами, есть ли способ получить доступ к встроенному CompleteGraph
после того, как я сделаю Needs ["Combinatorica"]
, который импортирует Combinatorica версию CompleteGraph
?
Чтобы уточнить 1, контекстное меню на графике позволяет вам изменять GraphStyle и GraphLayout, и я хотел бы иметь возможность изменять их программно. Вот один из способов, который я нашел для изменения GraphStyle объекта Graph
g = GridGraph[{4, 4}];
BooleanGraph[Or, g, g, GraphStyle -> "DiagramBlack"]
. Однако который забывает параметры исходного графа, такие как VertexCoordinates
Попытка рецепта Бретта на сеточном графе
g = GridGraph[{3, 2}, ImageSize -> Tiny]
coords = PropertyValue[{g, #}, VertexCoordinates] & /@ VertexList[g];
Graph[EdgeList[g], GraphStyle -> "BasicGold",
VertexCoordinates -> coords, ImageSize -> Tiny]
(источник: yaroslavvb.com )
Кажется, есть ошибка в том, как Mathematica обрабатывает Координаты графа на графических операциях. Первая строка ниже переставляет координаты, вторая дает внутреннее предупреждение, вероятно, связанное с координатами. Использование нецелочисленных вершин и явных координат для каждой вершины не помогает. Одно из решений - хранить координаты глобально и иметь функцию fixCoordinates
для переназначения правильных координат на График
после изменений
VertexDelete[GridGraph[{3, 3}], 1]
NeighborhoodGraph[VertexDelete[GridGraph[{3, 3}], 1], 2]