NetworkX ও Matplotlib ব্যবহার করে গ্রাফ ড্রইং-এর অ্যাট্রিবিউট (এজ কালার, ওয়IDTH, নোড কালার ইত্যাদি) কাস্টোমাইজ করার পদ্ধতি।
ধাপসমূহ
- ফিগার সাইজ সেট করুন এবং প্যাডিং অ্যাডজাস্ট করুন
- এজসহ গ্রাফ ইনিশিয়ালাইজ করুন
- গ্রাফের অ্যাট্রিবিউট যোগ করুন (কালার, ওয়েইট)
- এজ অ্যাট্রিবিউট এক্সট্রাক্ট করুন
- নোড পজিশন সেট করুন (সার্কুলার লেআউট)
- Matplotlib-এ গ্রাফ ড্র করুন
show()দিয়ে প্রদর্শন করুন
উদাহরণ কোড
import matplotlib.pyplot as plt
import networkx as nx
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
G = nx.Graph()
G.add_edge(0, 1, color='r', weight=2)
G.add_edge(1, 2, color='g', weight=4)
G.add_edge(2, 3, color='b', weight=6)
G.add_edge(3, 4, color='y', weight=3)
G.add_edge(4, 0, color='m', weight=1)
colors = nx.get_edge_attributes(G, 'color').values()
weights = nx.get_edge_attributes(G, 'weight').values()
pos = nx.circular_layout(G)
nx.draw(G, pos,
edge_color=colors,
width=list(weights),
with_labels=True,
node_color='lightgreen')
plt.show()
আউটপুট
একটি সার্কুলার গ্রাফ দেখাবে যেখানে ৫টি নোড এবং ৫টি রঙিন এজ আছে। এজের মোটায় ওয়েইট অনুযায়ী, কালার নির্দিষ্ট কালার অনুযায়ী। নোডগুলোর কালার লাইট গ্রিন।