可能是 Mathematica 中的错误 - 图形导出错误
Maybe bug in Mathematica - Graph export error
执行以下代码行绘制一些二进制图。
BDDPlot[depth_, funValues_] :=
Module[{BDDLabels, INVEdges},
BDDLabels = Thread[Range[2^depth - 1] -> Join[Alphabet[][[Floor[Log2[#]] + 1]] & /@ Range[2^(depth - 1) - 1], funValues]];
INVEdges =
Flatten[ Map[{#1 \[UndirectedEdge] #1*2 ->
Dashed, {#1 \[UndirectedEdge] #1*2 + 1 -> {Thick, Black}}} &,
Range[2^(depth - 1)]]];
CompleteKaryTree[depth,
VertexShapeFunction -> "Circle",
VertexSize -> Large,
VertexLabels ->
MapAt[Placed[#, Center] &,
BDDLabels, {All, 2}], EdgeStyle -> INVEdges ,
VertexLabelStyle -> {Large}, VertexStyle -> White, ImageSize -> Large]]
BDDPlot[3, {0, 1, 0, 0}] (* Drawing BDD example *)
然后右击绘图并选择"save graph as",结果出现以下错误:
Set::write: Tag Inherited in Inherited[State] is Protected.
如果知道错误的来源是什么以及如何解决这个问题,我们将不胜感激。
错误已报告给 Mathematica。
解决方法是:Export["~/graph.pdf", BDDPlot[3, {0, 1, 0, 0}]];
执行以下代码行绘制一些二进制图。
BDDPlot[depth_, funValues_] :=
Module[{BDDLabels, INVEdges},
BDDLabels = Thread[Range[2^depth - 1] -> Join[Alphabet[][[Floor[Log2[#]] + 1]] & /@ Range[2^(depth - 1) - 1], funValues]];
INVEdges =
Flatten[ Map[{#1 \[UndirectedEdge] #1*2 ->
Dashed, {#1 \[UndirectedEdge] #1*2 + 1 -> {Thick, Black}}} &,
Range[2^(depth - 1)]]];
CompleteKaryTree[depth,
VertexShapeFunction -> "Circle",
VertexSize -> Large,
VertexLabels ->
MapAt[Placed[#, Center] &,
BDDLabels, {All, 2}], EdgeStyle -> INVEdges ,
VertexLabelStyle -> {Large}, VertexStyle -> White, ImageSize -> Large]]
BDDPlot[3, {0, 1, 0, 0}] (* Drawing BDD example *)
然后右击绘图并选择"save graph as",结果出现以下错误:
Set::write: Tag Inherited in Inherited[State] is Protected.
如果知道错误的来源是什么以及如何解决这个问题,我们将不胜感激。
错误已报告给 Mathematica。
解决方法是:Export["~/graph.pdf", BDDPlot[3, {0, 1, 0, 0}]];