Make a sociogram in minutes

A sociogram is a diagram of interpersonal relationships within a group. This group is an elementary school class. Each student has nominated three classmates that they admire. The arrows point to who they have nominated. Their circle size and color is determined by their nominations.

We notice several things about this class:
  1. The group contains a tight subgroup of six girls on the right side with no links out to the rest of the group.
  2. Michael is isolated, with no nominations at all.
  3. Emily and William occupy central roles and both bridge subgroups.
Sociograms help you gain insight into group dynamics.

I built a webapp to make building sociograms quick and easy. The core principle is to allow data entry and editing of the graph contents like a spreadsheet.

Here is a screencast demonstrating how to use it. Get graphing with LeaderboardX.


  1. Very nice tool, outstanding in its ease to use and its dynamics. Brilliant you can move people afterwards to group the class. How about negative selections? Any chance to get this in as well? Sympathy is not always symmetrical. Alas.

    1. Hi Neupy,

      Thank you for the feedback :)

      I've made an initial anti-endorsement version that allows you to select a link then SHIFT click on the link to convert it to an anti-endorsement. This causes the link to push the nodes apart. See this short video of how it works:

      To try it out please visit:
      This has the in-development changes I'm thinking about that haven't been put on this site yet.

      Please let me know if this is in line with what you would expect from negative selections, or if you see an opportunity to do it in a better way.


    2. opps the link didn't paste well here it is:

  2. Some queries Timothy,
    a) Could we have the option to add images for the actors? Like, instead of names?
    b) I wanted to increase the width of the connecting lines , to imply the intensity of connection. Can I do that?
    c) Also, I am working on a project to explain how the actors are connected on different aspects in varying degrees. So, could I have an option to include these concepts as tags between the connections? For example, a and b are connected by friendship. whereas b and c in love. so I wanted to include 'love' and 'friendship' into the sociogram. Could I do that?

    Leaderboard is an excelllent tool. Thank you so much !

    1. Hi Deepta,

      a) If you use an email address that has a gravatar, it will show the image. For example if you add as a node, you will see my face. It would be easy for me to add a url to an image as a property of the node so that you could Put in anything you like, provided the image is hosted somewhere... does that sound like what you are after?
      b) Yes; If you set the weight attribute on an edge to 2 or 3 it will draw 2 or 3 lines instead of 1 line. Also I could add another attribute for line thickness. To set the weight, click on the triangle of an edge and you should see the attributes, and update it there.
      c) Yes; you can set the label attribute. In this case I recommend creating a new edge type: click on the cog in the top right, and click add edge type. Then scroll down to the new edge type and add attributes like "label" with a value "loves", and "color" with a value like "pink". Now you can create edges of the "loves" type by selecting the type from the heading of the table, or you can convert existing edges to "loves" by shift clicking the triangles on the edge (you'll need to shift click twice, to cycle past "dislikes"). You can also create node types in a similar way.

      Thank you for trying it out :)