Plotting a network using a co-occurrence matrix












0














I want to plot a network in Python using a co-occurence matrix as an input, such that nodes that have a non-zero co-occurence count are connected, and the weight of the edges is proportional to the number of co-occurrences between each node.



Is there a python library in existence that will facilitate this task using a co-occurence matrix as an input?










share|improve this question



























    0














    I want to plot a network in Python using a co-occurence matrix as an input, such that nodes that have a non-zero co-occurence count are connected, and the weight of the edges is proportional to the number of co-occurrences between each node.



    Is there a python library in existence that will facilitate this task using a co-occurence matrix as an input?










    share|improve this question

























      0












      0








      0







      I want to plot a network in Python using a co-occurence matrix as an input, such that nodes that have a non-zero co-occurence count are connected, and the weight of the edges is proportional to the number of co-occurrences between each node.



      Is there a python library in existence that will facilitate this task using a co-occurence matrix as an input?










      share|improve this question













      I want to plot a network in Python using a co-occurence matrix as an input, such that nodes that have a non-zero co-occurence count are connected, and the weight of the edges is proportional to the number of co-occurrences between each node.



      Is there a python library in existence that will facilitate this task using a co-occurence matrix as an input?







      python plot network-analysis






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 23 '18 at 10:15









      RDG

      6816




      6816
























          2 Answers
          2






          active

          oldest

          votes


















          1














          You might find NetworkX to be a useful tool for that. You can easily feed it the input nodes and edges in several ways.



          In the case that you want to generate your network using a co-occurrence matrix, you can use NetworkX's method from_numpy_matrix, which allows you to create a graph from a numpy matrix matrix which will be interpreted as an adjacency matrix.



          Here's a simply toy example from the documentation:



          import numpy as np
          import networkx as nx

          A=np.matrix([[1,1],[2,1]])
          G=nx.from_numpy_matrix(A)





          share|improve this answer































            1














            It is indeed possible to do something like that with networkx



            Check this: https://stackoverflow.com/a/25651827/4288795



            With it you can generate graphs like this:



            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%2f53444717%2fplotting-a-network-using-a-co-occurrence-matrix%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              1














              You might find NetworkX to be a useful tool for that. You can easily feed it the input nodes and edges in several ways.



              In the case that you want to generate your network using a co-occurrence matrix, you can use NetworkX's method from_numpy_matrix, which allows you to create a graph from a numpy matrix matrix which will be interpreted as an adjacency matrix.



              Here's a simply toy example from the documentation:



              import numpy as np
              import networkx as nx

              A=np.matrix([[1,1],[2,1]])
              G=nx.from_numpy_matrix(A)





              share|improve this answer




























                1














                You might find NetworkX to be a useful tool for that. You can easily feed it the input nodes and edges in several ways.



                In the case that you want to generate your network using a co-occurrence matrix, you can use NetworkX's method from_numpy_matrix, which allows you to create a graph from a numpy matrix matrix which will be interpreted as an adjacency matrix.



                Here's a simply toy example from the documentation:



                import numpy as np
                import networkx as nx

                A=np.matrix([[1,1],[2,1]])
                G=nx.from_numpy_matrix(A)





                share|improve this answer


























                  1












                  1








                  1






                  You might find NetworkX to be a useful tool for that. You can easily feed it the input nodes and edges in several ways.



                  In the case that you want to generate your network using a co-occurrence matrix, you can use NetworkX's method from_numpy_matrix, which allows you to create a graph from a numpy matrix matrix which will be interpreted as an adjacency matrix.



                  Here's a simply toy example from the documentation:



                  import numpy as np
                  import networkx as nx

                  A=np.matrix([[1,1],[2,1]])
                  G=nx.from_numpy_matrix(A)





                  share|improve this answer














                  You might find NetworkX to be a useful tool for that. You can easily feed it the input nodes and edges in several ways.



                  In the case that you want to generate your network using a co-occurrence matrix, you can use NetworkX's method from_numpy_matrix, which allows you to create a graph from a numpy matrix matrix which will be interpreted as an adjacency matrix.



                  Here's a simply toy example from the documentation:



                  import numpy as np
                  import networkx as nx

                  A=np.matrix([[1,1],[2,1]])
                  G=nx.from_numpy_matrix(A)






                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Nov 23 '18 at 10:38

























                  answered Nov 23 '18 at 10:31









                  yatu

                  5,2511423




                  5,2511423

























                      1














                      It is indeed possible to do something like that with networkx



                      Check this: https://stackoverflow.com/a/25651827/4288795



                      With it you can generate graphs like this:



                      enter image description here






                      share|improve this answer


























                        1














                        It is indeed possible to do something like that with networkx



                        Check this: https://stackoverflow.com/a/25651827/4288795



                        With it you can generate graphs like this:



                        enter image description here






                        share|improve this answer
























                          1












                          1








                          1






                          It is indeed possible to do something like that with networkx



                          Check this: https://stackoverflow.com/a/25651827/4288795



                          With it you can generate graphs like this:



                          enter image description here






                          share|improve this answer












                          It is indeed possible to do something like that with networkx



                          Check this: https://stackoverflow.com/a/25651827/4288795



                          With it you can generate graphs like this:



                          enter image description here







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Nov 23 '18 at 10:52









                          Pedro Torres

                          683413




                          683413






























                              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.





                              Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                              Please pay close attention to the following guidance:


                              • 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%2f53444717%2fplotting-a-network-using-a-co-occurrence-matrix%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

                              Catalogne

                              Violoncelliste

                              Héron pourpré