NOTE:When there are no registered visualisation clients, this predicate succeeds with any arguments, and has no effect.
This predicate works exactly the same as
        viewable_create/3 except that you have the added
        ability to set location names (e.g. row/column names) for
        arrays and to indicate which elements of the edge info
        structure should be attached to edge labels for graphs.
        
For array type viewables the LocNamesList argument should be a list as long as the number of dimensions in the viewable. The ith element LocNames of LocNamesList should be a list whose length is equal to the size of the ith dimension of the new viewable. The jth element of LocNames should be a ground string and this will become the name of the jth location of the ith dimension.
For graph type viewables the LocNamesList argument should be a list of the following form.
[ node_property([0->[name(NodeInfoName), label]]), edge_property([Index->[name(EdgeInfoName), label]]) ]Where
NodeInfoName is a meaningful name for the
        information to be displayed at the nodes in the graph.  eg. If
        the graph represented a computer network, the nodes may show
        individual machine names. In such a case, "machine
        name" would be a likely candidate for the NodeInfoName
        argument.  Similarly EdgeInfoName refers to the
        information associated with edge labels.
        The Index argument specifies which part of the
        edge info field should be shown on edges. 0:The whole edge
        info structure.  N:The Nth argument of the edge info
        structure.  [...,I,J,K]:The Kth argument of the Jth argument
        of the Ith argument... of the edge info structure. See below
        for examples.
        
For a more detailed description of creating viewables, refer to the
        documentation for viewable_create/3.
            To create a 2 x 3 viewable, you could do:
            viewable_create(v1, [[A,B,C], [D,E,F]], 
                            array([fixed, fixed], any), 
                            [["foo", "bar"], ["tom", "dick", "harry"]]).
            This would have two rows (named "foo" and "bar") each
	    with three columns (named "tom", "dick" and
	    "harry").
            To create a graph viewable where node names are attached
            to node labels and edge info fields are attached to edge
            lables (ie info(1,foo(A)), info(2,foo(B)) and
            info(3,foo(C)) as per viewable_create/3).
            lib(graph_algorithms),
            make_graph_symbolic([](n1,n2,n3),
                                [edge(n1,n2,info(1,foo(A)),
                                 edge(n2,n3,info(2,foo(B)),
                                 edge(n1,n3,info(3,foo(C))], Graph),
            viewable_create(v2, Graph, graph(fixed),
                            [node_property([0->[name('node names'), label]]),
                             edge_property([0->[name('edge info'), label]])
                            ]).
                            
            To create a graph where the edges are labelled with the
            second argument of the edge info structure. (ie with the
            structures foo(A), foo(B) and foo(C))
            lib(graph_algorithms),
            make_graph_symbolic([](n1,n2,n3),
                                [edge(n1,n2,info(1,foo(A)),
                                 edge(n2,n3,info(2,foo(B)),
                                 edge(n1,n3,info(3,foo(C))], Graph),
            viewable_create(v2, Graph, graph(fixed),
                            [node_property([0->[name('node names'), label]]),
                             edge_property([2->[name('edge info'), label]])
                            ]).
            
            To create a graph where the edges are labelled with the
            first argument of the nested structure at the second
            argument of the edge info structure. (ie with the
            variables A, B and C)
            lib(graph_algorithms),
            make_graph_symbolic([](n1,n2,n3),
                                [edge(n1,n2,info(1,foo(A)),
                                 edge(n2,n3,info(2,foo(B)),
                                 edge(n1,n3,info(3,foo(C))], Graph),
            viewable_create(v2, Graph, graph(fixed),
                            [node_property([0->[name('node names'), label]]),
                             edge_property([[2,1]->[name('edge info'), label]])
                            ]).