Wednesday, 26 March 2025

Pedigree Analysis Chart Using Python

 


import networkx as nx
import matplotlib.pyplot as plt

G = nx.DiGraph()

nodes = ['Grandfather', 'Grandmother', 'Father', 'Mother', 'Child 1', 'Child 2']
G.add_nodes_from(nodes)
edges = [('Grandfather', 'Father'), 
         ('Grandmother', 'Father'),
         ('Father', 'Child 1'), 
         ('Father', 'Child 2'), 
         ('Mother', 'Child 1'), 
         ('Mother', 'Child 2')]
G.add_edges_from(edges)

plt.figure(figsize=(8, 6))
pos = nx.spring_layout(G)
nx.draw(G, pos, with_labels=True, node_size=3000, node_color='skyblue', font_size=10, font_weight='bold', edge_color='gray')
plt.title('Pedigree Analysis Chart')
plt.show()
#source code --> clcoding.com 

Code Explanation

1. Import Libraries

import networkx as nx

import matplotlib.pyplot as plt

networkx is used for creating and managing graphs (e.g., family trees).

matplotlib.pyplot is used for visualizing the graph.

 2. Create a Graph

G = nx.DiGraph()

DiGraph() creates a Directed Graph where edges have a direction (e.g., parent to child).

 3. Add Nodes (Individuals)

nodes = ['Grandfather', 'Grandmother', 'Father', 'Mother', 'Child 1', 'Child 2']

G.add_nodes_from(nodes)

Nodes represent individuals in the family.

 add_nodes_from() efficiently adds multiple nodes at once.

 4. Add Edges (Relationships)

edges = [('Grandfather', 'Father'),

         ('Grandmother', 'Father'),

         ('Father', 'Child 1'),

         ('Father', 'Child 2'),

         ('Mother', 'Child 1'),

         ('Mother', 'Child 2')]

G.add_edges_from(edges)

Edges represent parent-child relationships using tuples (Parent, Child).

 add_edges_from() adds multiple relationships.

 5. Configure and Draw the Graph

plt.figure(figsize=(8, 6))

pos = nx.spring_layout(G)

plt.figure(figsize=(8, 6)) sets the figure size for better visibility.

 nx.spring_layout(G) positions nodes using a force-directed layout, providing a natural and balanced appearance.

 nx.draw(G, pos, with_labels=True, node_size=3000, node_color='skyblue', font_size=10, font_weight='bold', edge_color='gray')

nx.draw() renders the graph.

 with_labels=True displays the node names.

 node_size=3000 controls the size of nodes.

node_color='skyblue' makes the nodes visually distinct.

 font_size=10, font_weight='bold' makes the labels more readable.

 edge_color='gray' sets the color of the relationships.

 6. Add Title and Display the Chart

plt.title('Pedigree Analysis Chart')

plt.show()

plt.title() adds a title to the chart.

 plt.show() displays the final output

0 Comments:

Post a Comment

Popular Posts

Categories

100 Python Programs for Beginner (96) AI (39) Android (24) AngularJS (1) Api (2) Assembly Language (2) aws (17) Azure (7) BI (10) book (4) Books (197) C (77) C# (12) C++ (83) Course (67) Coursera (249) Cybersecurity (25) Data Analysis (2) Data Analytics (2) data management (11) Data Science (148) Data Strucures (8) Deep Learning (21) Django (16) Downloads (3) edx (2) Engineering (14) Euron (29) Events (6) Excel (13) Factorial (1) Finance (6) flask (3) flutter (1) FPL (17) Generative AI (11) Google (36) Hadoop (3) HTML Quiz (1) HTML&CSS (47) IBM (30) IoT (1) IS (25) Java (93) Java quiz (1) Leet Code (4) Machine Learning (85) Meta (22) MICHIGAN (5) microsoft (4) Nvidia (4) Pandas (4) PHP (20) Projects (29) pyth (1) Python (1041) Python Coding Challenge (454) Python Quiz (116) Python Tips (5) Questions (2) R (70) React (6) Scripting (1) security (3) Selenium Webdriver (4) Software (17) SQL (42) UX Research (1) web application (8) Web development (4) web scraping (2)

Followers

Python Coding for Kids ( Free Demo for Everyone)