Hi, I guess you need to set

asp = 0

See more here: http://igraph.org/r/doc/plot.common.html

Gabor

ps. please provide a reproducible example, without that I could not
actually try this.

On Thu, Mar 12, 2015 at 10:53 AM, Christina Pikas <[email protected]> wrote:

> The below help worked like a charm and now I've been asked for an ellipse.
> No problem, I thought to myself, except for some reason my outer ring
> remains a circle regardless of what I do. Inner ring is fine. Here's what
> I've done.
>
> I hope there's something stupid I forgot, but I just can't find it.
> ellip.layout <- function(a,b, theta) {
>   cbind(a*cos(theta), -b*sin(theta))
> }
>
> males <- which(V(g)$gender == "M")
> females <- which(V(g)$gender == "F")
>
> a<- ifelse(V(g)$gender == "M",4,5)
> b<- ifelse(V(V(g)$gender == "M",0.5,1)
>
> theta <- rep.int(0, vcount(g)) #creates a blank vector
> theta[males] <- (1:length(males)-1) * 2 * pi / length(males)
> theta[females] <- (1:length(females)-1) * 2 * pi / length(females)
>
> layout<- ellip.layout(a,b,theta)
>
>
> plot.igraph(g, layout=layout)
>
> I thought maybe it was squishing it so I tried different values for a and
> b but that didn't help.
>
> Thank you for your patience!
>
> Christina
> On Thu, Mar 5, 2015 at 12:00 PM, <[email protected]> wrote:
>
>>
>> Message: 1
>>
>> Date: Thu, 5 Mar 2015 12:18:11 +0100
>> From: Tamas Nepusz <[email protected]>
>> To: Help for igraph users <[email protected]>
>> Subject: Re: [igraph] Graphing in a "polar" layout
>> Message-ID: <[email protected]>
>> Content-Type: text/plain; charset=us-ascii
>>
>> Hi Christina,
>>
>> igraph layouts are simply matrices with 2 columns and one row for each
>> vertex,
>> so the easiest is probably if you generate such a matrix yourself. If you
>> want
>> to place a vertex at radius r from the center with an angle of alpha (in
>> radians), then you have to use the following formulae to figure out the X
>> and
>> Y coordinates:
>>
>> X = r * cos(alpha)
>> Y = -r * sin(alpha)
>>
>> where the Y coordinate is negated only because the Y axis of the
>> coordinate
>> system of the screen is oriented from top to bottom.
>>
>> You haven't mentioned whether you are using igraph from R or Python and
>> I'm
>> more familar with Python, so I'll add an example in Python here:
>>
>> from igraph import Layout
>> from math import sin, cos
>>
>> def polar_layout(radii, angles):
>>     return Layout([(r*cos(angle), -r*sin(angle)) for r, angle in
>> zip(radii, angles)])
>>
>> The "polar_layout" function has to be called with two lists: one that
>> specifies
>> the radius of each vertex and one that specifies the angle of each
>> vertex. It
>> will then return a Layout object that can be passed to plot() as follows:
>>
>> layout = polar_layout(..., ...)
>> plot(graph, layout=layout)
>>
>> All the best,
>> Tamas
>>
>> On 02/04, Christina Pikas wrote:
>> > I've got ~100 nodes assigned to various categories. I would like to end
>> up
>> > with nodes of one category in the center and all the other categories
>> > spaced along a ring outside - like this NodeXL polar graph:
>> >
>> http://www.connectedaction.net/2013/03/03/how-to-plot-a-network-in-a-polar-layout-using-nodexl/
>> >
>> > I know about star layouts (just one node in the center?) and ring or
>> circle
>> > layouts.
>> >
>> > My plan was to find the layout coordinates for subgraphs for each group
>> and
>> > then copy them all over, but this is proving to be even more of a hassle
>> > than I had originally thought.
>> >
>> > Is there an easier way?
>> >
>> > Thanks in advance,
>> > Christina
>>
>> > _______________________________________________
>> > igraph-help mailing list
>> > [email protected]
>> > https://lists.nongnu.org/mailman/listinfo/igraph-help
>>
>
> _______________________________________________
> igraph-help mailing list
> [email protected]
> https://lists.nongnu.org/mailman/listinfo/igraph-help
>
>
_______________________________________________
igraph-help mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/igraph-help

Reply via email to