Genogram: person attributes/markers and technical info


I’m checking out the genogram sample and wondering if I could get more information about the array of the person attributes and what each letter stands for in the attribute list. Also, is there a wiki page that I can learn more about setupDiagram function and any other functions that I can use in the genogram? I hoping to be able to create a genogram for each of the family scenarios we have here.


The Genogram sample is just an example of how a diagram like that might be implemented. It is completely up to you what you want to show for each person and each relationship, and how you want to show it.

We do expect that you are a programmer – we do not offer any apps for end-users.

The data in the model could be much simpler than what that Genogram sample has. You have to decide what attributes to have and how to show them. That’s a matter of customizing the node templates (or the link templates) to appear how you want them to be.

I assume you have seen other samples such as:
Get Started with GoJS
Org Chart Static
Org Chart Editor
and there are probably others too.

Thanks for your response. I am currently on my learning path with goJS and I am trying to understand its capabilities and functionalities as part of my technical evaluation. Please bear with me.

My current focus is the Genogram sample at this link Genogram
Once you open the HTML page, please scroll down to see the node data representing the people in JSON format. Notice the a property with values in different letters “a: [“C”, “F”, “K”] }”. What are these letter representing? What does “C” stand for? So does F or K? If you could help provide information on these letters, that would be great!

  { key: 0, n: "Aaron", s: "M", m:-10, f:-11, ux: 1, a: ["C", "F", "K"] },
  { key: 1, n: "Alice", s: "F", m:-12, f:-13, a: ["B", "H", "K"] },
  { key: 2, n: "Bob", s: "M", m: 1, f: 0, ux: 3, a: ["C", "H", "L"] },

Those letters don’t mean anything – they are just random examples of data. Presumably you would substitute your own codes for whatever is meaningful in the app that you are building.

If you look at the source code for that page, you will see several functions that convert each of those strings into colors and geometries so that they can be rendered as part of the node representing a person. You can use that mechanism if you want, or you can replace it entirely with your own node design. In fact, from what I have seen, most developers make substantial changes for their apps.

Okay, thanks Walter. I will take it from here. Will keep you posted if I have more questions.