Aha, thanks. That was not clear from the docs. I was confused because some
'original' property maps do seem to work when drawing a graph view, e.g.
vertex_fill_color.

On Thu, Oct 8, 2015 at 3:03 AM, Tiago de Paula Peixoto <[email protected]>
wrote:

> On 08.10.2015 00:21, Richard Ree wrote:
> > Hi, I think I've found a bug. Basically I'm trying to use vertex_size
> with graph_draw() using a GraphView, but it only seems to work with the
> original graph.
> >
> > import graph_tool.all as gt
> > from numpy.random import randint, random
> > from itertools import izip
> >
> > N = 50
> > g = gt.Graph()
> >
> > g.add_vertex(N)
> > # insert some random links
> > for s,t in izip(randint(0, N, N), randint(0, N, N)):
> >     g.add_edge(g.vertex(s), g.vertex(t))
> >
> > vsize = g.new_vertex_property('float')
> > vsize.a = random(N)**2
> > vsize = gt.prop_to_size(vsize)
> > vsize.a *= 10
> >
> > # this works
> > gt.graph_draw(g, vertex_size=vsize)
> >
> > gv = gt.GraphView(g, vfilt=lambda v:v.out_degree()>1)
> > # this doesn't
> > gt.graph_draw(gv, vertex_size=vsize)
> >
> > The traceback is:
> >
> > /usr/lib/python2.7/dist-packages/graph_tool/draw/cairo_draw.pyc in
> get_bb(g, pos, size, pen_width, size_scale, text, font_family, font_size,
> cr)
> >    1279     x_range = [pos_x.fa.min(), pos_x.fa.max()]
> >    1280     y_range = [pos_y.fa.min(), pos_y.fa.max()]
> > -> 1281     x_delta = [x_range[0] - (pos_x.fa - delta).min(),
> >    1282                (pos_x.fa + delta).max() - x_range[1]]
> >    1283     y_delta = [y_range[0] - (pos_y.fa - delta).min(),
> >
> > ValueError: operands could not be broadcast together with shapes (13,)
> (50,)
>
> It is not a bug. The "vsize" property belongs to the original graph, and
> hence will have a different number of elements. You need to do:
>
>       vsize = gv.own_property(vsize)
>
> before calling graph_draw(). Note that, like GraphView, this does not
> duplicate the property map; it is only a "view".
>
> Best,
> Tiago
>
> --
> Tiago de Paula Peixoto <[email protected]>
>
>
> _______________________________________________
> graph-tool mailing list
> [email protected]
> http://lists.skewed.de/mailman/listinfo/graph-tool
>
>
_______________________________________________
graph-tool mailing list
[email protected]
http://lists.skewed.de/mailman/listinfo/graph-tool

Reply via email to