Fixing position of nodes in a multiplex network plot using pymnet2019 Community Moderator ElectionHow to put the legend out of the plotSave plot to image file instead of displaying it using MatplotlibUnicodeEncodeError: 'ascii' codec can't encode character u'xa0' in position 20: ordinal not in range(128)networkx draw_networkx_edges capstyleDrawing a graph or a network from a distance matrix?How to make IPython notebook matplotlib plot inlineFixed position hierarchical output from NetworkX without graphviz?Matplotlib + NetworkX - draw 2 networks in a single graphicAnimate scatter plotPlace a “root” node in an undirected graph

Create chunks from an array

Writing text next to a table

Is it a Cyclops number? "Nobody" knows!

How to write a chaotic neutral protagonist and prevent my readers from thinking they are evil?

How should I solve this integral with changing parameters?

How to install round brake pads

Can I negotiate a patent idea for a raise, under French law?

Smooth vector fields on a surface modulo diffeomorphisms

Locked Away- What am I?

Origin of the word “pushka”

I reported the illegal activity of my boss to his boss. My boss found out. Now I am being punished. What should I do?

Should we avoid writing fiction about historical events without extensive research?

Is there a math expression equivalent to the conditional ternary operator?

ESPP--any reason not to go all in?

Is it possible to clone a polymorphic object without manually adding overridden clone method into each derived class in C++?

Why do we say 'Pairwise Disjoint', rather than 'Disjoint'?

Are these two graphs isomorphic? Why/Why not?

Are small insurances worth it?

Why do phishing e-mails use faked e-mail addresses instead of the real one?

Was it really inappropriate to write a pull request for the company I interviewed with?

How exactly does an Ethernet collision happen in the cable, since nodes use different circuits for Tx and Rx?

Did Amazon pay $0 in taxes last year?

How do you make a gun that shoots melee weapons and/or swords?

Does the US political system, in principle, allow for a no-party system?



Fixing position of nodes in a multiplex network plot using pymnet



2019 Community Moderator ElectionHow to put the legend out of the plotSave plot to image file instead of displaying it using MatplotlibUnicodeEncodeError: 'ascii' codec can't encode character u'xa0' in position 20: ordinal not in range(128)networkx draw_networkx_edges capstyleDrawing a graph or a network from a distance matrix?How to make IPython notebook matplotlib plot inlineFixed position hierarchical output from NetworkX without graphviz?Matplotlib + NetworkX - draw 2 networks in a single graphicAnimate scatter plotPlace a “root” node in an undirected graph










1















I want to plot a multiplex network but would like to have the nodes in each layer ordered in a line (as a path).



So far my code is as follows, but it draws the nodes more in a square position. I would like to fix their position (even if manually) so that they are in a line.



import string
import random
import numpy as np
# setting initial conditions
alphabet = string.ascii_lowercase
n_countries = 4
n_layers = 3
layer_name = [alphabet[i] for i in range(n_layers)]

# making categorial multiplex
coupling_weight = 1
cnet = MultiplexNetwork(couplings=('categorical',coupling_weight))
# adding nodes
for i in range(n_countries):
cnet.add_node(i)
# adding layers
for l in layer_name:
cnet.add_layer(l)
# adding edges
for l in range(n_layers):
cnet[l ,(l + 1) % n_countries,alphabet[l],alphabet[l]] = 1
# plotting
random.seed(3)
fig = draw(cnet,show=True)


The plot I get is this one.multiplex
I know pymnet uses matplotlib, perhaps using some matplotlib commands it could be done?










share|improve this question




























    1















    I want to plot a multiplex network but would like to have the nodes in each layer ordered in a line (as a path).



    So far my code is as follows, but it draws the nodes more in a square position. I would like to fix their position (even if manually) so that they are in a line.



    import string
    import random
    import numpy as np
    # setting initial conditions
    alphabet = string.ascii_lowercase
    n_countries = 4
    n_layers = 3
    layer_name = [alphabet[i] for i in range(n_layers)]

    # making categorial multiplex
    coupling_weight = 1
    cnet = MultiplexNetwork(couplings=('categorical',coupling_weight))
    # adding nodes
    for i in range(n_countries):
    cnet.add_node(i)
    # adding layers
    for l in layer_name:
    cnet.add_layer(l)
    # adding edges
    for l in range(n_layers):
    cnet[l ,(l + 1) % n_countries,alphabet[l],alphabet[l]] = 1
    # plotting
    random.seed(3)
    fig = draw(cnet,show=True)


    The plot I get is this one.multiplex
    I know pymnet uses matplotlib, perhaps using some matplotlib commands it could be done?










    share|improve this question


























      1












      1








      1








      I want to plot a multiplex network but would like to have the nodes in each layer ordered in a line (as a path).



      So far my code is as follows, but it draws the nodes more in a square position. I would like to fix their position (even if manually) so that they are in a line.



      import string
      import random
      import numpy as np
      # setting initial conditions
      alphabet = string.ascii_lowercase
      n_countries = 4
      n_layers = 3
      layer_name = [alphabet[i] for i in range(n_layers)]

      # making categorial multiplex
      coupling_weight = 1
      cnet = MultiplexNetwork(couplings=('categorical',coupling_weight))
      # adding nodes
      for i in range(n_countries):
      cnet.add_node(i)
      # adding layers
      for l in layer_name:
      cnet.add_layer(l)
      # adding edges
      for l in range(n_layers):
      cnet[l ,(l + 1) % n_countries,alphabet[l],alphabet[l]] = 1
      # plotting
      random.seed(3)
      fig = draw(cnet,show=True)


      The plot I get is this one.multiplex
      I know pymnet uses matplotlib, perhaps using some matplotlib commands it could be done?










      share|improve this question
















      I want to plot a multiplex network but would like to have the nodes in each layer ordered in a line (as a path).



      So far my code is as follows, but it draws the nodes more in a square position. I would like to fix their position (even if manually) so that they are in a line.



      import string
      import random
      import numpy as np
      # setting initial conditions
      alphabet = string.ascii_lowercase
      n_countries = 4
      n_layers = 3
      layer_name = [alphabet[i] for i in range(n_layers)]

      # making categorial multiplex
      coupling_weight = 1
      cnet = MultiplexNetwork(couplings=('categorical',coupling_weight))
      # adding nodes
      for i in range(n_countries):
      cnet.add_node(i)
      # adding layers
      for l in layer_name:
      cnet.add_layer(l)
      # adding edges
      for l in range(n_layers):
      cnet[l ,(l + 1) % n_countries,alphabet[l],alphabet[l]] = 1
      # plotting
      random.seed(3)
      fig = draw(cnet,show=True)


      The plot I get is this one.multiplex
      I know pymnet uses matplotlib, perhaps using some matplotlib commands it could be done?







      python matplotlib






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Mar 6 at 13:22







      RM-

















      asked Mar 6 at 10:27









      RM-RM-

      375418




      375418






















          1 Answer
          1






          active

          oldest

          votes


















          0














          Node positions can be fixed using args nodeCoords= and nodelayerCoords=. To have the nodes in a line adding the following code works:



          ncoord = 
          ncoord[0] = (1,1)
          ncoord[1] = (2,1)
          ncoord[2] = (3,1)
          ncoord[3] = (4,1)
          #nlaycoord =
          fig = draw(cnet,show=True, nodeCoords=ncoord)


          enter image description here






          share|improve this answer
























            Your Answer






            StackExchange.ifUsing("editor", function ()
            StackExchange.using("externalEditor", function ()
            StackExchange.using("snippets", function ()
            StackExchange.snippets.init();
            );
            );
            , "code-snippets");

            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "1"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55020847%2ffixing-position-of-nodes-in-a-multiplex-network-plot-using-pymnet%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            Node positions can be fixed using args nodeCoords= and nodelayerCoords=. To have the nodes in a line adding the following code works:



            ncoord = 
            ncoord[0] = (1,1)
            ncoord[1] = (2,1)
            ncoord[2] = (3,1)
            ncoord[3] = (4,1)
            #nlaycoord =
            fig = draw(cnet,show=True, nodeCoords=ncoord)


            enter image description here






            share|improve this answer





























              0














              Node positions can be fixed using args nodeCoords= and nodelayerCoords=. To have the nodes in a line adding the following code works:



              ncoord = 
              ncoord[0] = (1,1)
              ncoord[1] = (2,1)
              ncoord[2] = (3,1)
              ncoord[3] = (4,1)
              #nlaycoord =
              fig = draw(cnet,show=True, nodeCoords=ncoord)


              enter image description here






              share|improve this answer



























                0












                0








                0







                Node positions can be fixed using args nodeCoords= and nodelayerCoords=. To have the nodes in a line adding the following code works:



                ncoord = 
                ncoord[0] = (1,1)
                ncoord[1] = (2,1)
                ncoord[2] = (3,1)
                ncoord[3] = (4,1)
                #nlaycoord =
                fig = draw(cnet,show=True, nodeCoords=ncoord)


                enter image description here






                share|improve this answer















                Node positions can be fixed using args nodeCoords= and nodelayerCoords=. To have the nodes in a line adding the following code works:



                ncoord = 
                ncoord[0] = (1,1)
                ncoord[1] = (2,1)
                ncoord[2] = (3,1)
                ncoord[3] = (4,1)
                #nlaycoord =
                fig = draw(cnet,show=True, nodeCoords=ncoord)


                enter image description here







                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited Mar 6 at 21:41

























                answered Mar 6 at 19:41









                RM-RM-

                375418




                375418





























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55020847%2ffixing-position-of-nodes-in-a-multiplex-network-plot-using-pymnet%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    1928 у кіно

                    Захаров Федір Захарович

                    Ель Греко