@@ -14,27 +14,23 @@ defmodule Graph.Serializers.DOT do
1414
1515 defp serialize_nodes ( % Graph { vertices: vertices } = g ) do
1616 Enum . reduce ( vertices , "" , fn { id , v } , acc ->
17- acc <> Serializer . indent ( 1 ) <> Serializer . get_vertex_label ( g , id , v ) <> "\n "
17+ acc <> Serializer . indent ( 1 ) <> " #{ id } " <> "[label=" <> Serializer . get_vertex_label ( g , id , v ) <> "] \n "
1818 end )
1919 end
2020
21- defp serialize_edges ( % Graph { type: type , vertices: vertices , out_edges: oe , edges: em } = g ) do
21+ defp serialize_edges ( % Graph { type: type , vertices: vertices , out_edges: oe , edges: em } = _g ) do
2222 edges =
23- Enum . reduce ( vertices , [ ] , fn { id , v } , acc ->
24- v_label = Serializer . get_vertex_label ( g , id , v )
25-
23+ Enum . reduce ( vertices , [ ] , fn { id , _v } , acc ->
2624 edges =
2725 oe
2826 |> Map . get ( id , MapSet . new ( ) )
2927 |> Enum . flat_map ( fn id2 ->
30- v2_label = Serializer . get_vertex_label ( g , id2 , Map . get ( vertices , id2 ) )
31-
3228 Enum . map ( Map . fetch! ( em , { id , id2 } ) , fn
3329 { nil , weight } ->
34- { v_label , v2_label , weight }
30+ { id , id2 , weight }
3531
3632 { label , weight } ->
37- { v_label , v2_label , weight , Serializer . encode_label ( label ) }
33+ { id , id2 , weight , Serializer . encode_label ( label ) }
3834 end )
3935 end )
4036
@@ -47,16 +43,16 @@ defmodule Graph.Serializers.DOT do
4743 arrow = if type == :directed , do: "->" , else: "--"
4844
4945 Enum . reduce ( edges , "" , fn
50- { v_label , v2_label , weight , edge_label } , acc ->
46+ { v_id , v2_id , weight , edge_label } , acc ->
5147 acc <>
5248 Serializer . indent ( 1 ) <>
53- v_label <>
54- " #{ arrow } " <> v2_label <> " [" <> "label=#{ edge_label } ; weight=#{ weight } " <> "]\n "
49+ " #{ v_id } " <>
50+ " #{ arrow } " <> " #{ v2_id } " <> " [" <> "label=#{ edge_label } ; weight=#{ weight } " <> "]\n "
5551
56- { v_label , v2_label , weight } , acc ->
52+ { v_id , v2_id , weight } , acc ->
5753 acc <>
5854 Serializer . indent ( 1 ) <>
59- v_label <> " #{ arrow } " <> v2_label <> " [" <> "weight=#{ weight } " <> "]\n "
55+ " #{ v_id } " <> " #{ arrow } " <> " #{ v2_id } " <> " [" <> "weight=#{ weight } " <> "]\n "
6056 end )
6157 end
6258end
0 commit comments