analysis
This commit is contained in:
@@ -1,8 +1,6 @@
|
||||
import pandas as pd
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
import networkx as nx
|
||||
import math
|
||||
|
||||
plt.rcParams['font.sans-serif'] = 'SimHei'
|
||||
|
||||
@@ -32,7 +30,7 @@ for code in G.nodes:
|
||||
index_list = count_prod[count_prod['id_product'] == code].index.tolist()
|
||||
index = index_list[0] if len(index_list) == 1 else -1
|
||||
node_attr['count'] = count_prod['count'].get(index, 0)
|
||||
node_attr['node_size'] = 5 * count_prod['count'].get(index, 0)
|
||||
node_attr['node_size'] = count_prod['count'].get(index, 0)
|
||||
node_attr['node_color'] = count_prod['count'].get(index, 0)
|
||||
labels_dict[code] = node_attr
|
||||
nx.set_node_attributes(G, labels_dict)
|
||||
@@ -62,8 +60,10 @@ nx.draw(G,
|
||||
sm = plt.cm.ScalarMappable(cmap=cmap, norm=plt.Normalize(vmin=vmin, vmax=vmax))
|
||||
sm._A = []
|
||||
position = fig.add_axes([0.01, 0.05, 0.01, 0.3])
|
||||
plt.colorbar(sm, fraction=0.01, cax=position)
|
||||
# plt.savefig("analysis\\count_prod_network")
|
||||
cb = plt.colorbar(sm, fraction=0.01, cax=position)
|
||||
cb.ax.tick_params(labelsize=8)
|
||||
cb.outline.set_visible(False)
|
||||
plt.savefig("analysis\\count_prod_network")
|
||||
plt.close()
|
||||
|
||||
# dcp_prod
|
||||
@@ -72,13 +72,17 @@ count_dcp = pd.read_csv("analysis\\count_dcp.csv",
|
||||
'up_id_firm': str,
|
||||
'down_id_firm': str
|
||||
})
|
||||
count_dcp_prod = count_dcp.groupby(['up_id_product','up_name_product', 'down_id_product', 'down_name_product'])['count'].sum()
|
||||
count_dcp_prod = count_dcp.groupby(
|
||||
['up_id_product',
|
||||
'up_name_product',
|
||||
'down_id_product',
|
||||
'down_name_product'])['count'].sum()
|
||||
count_dcp_prod = count_dcp_prod.reset_index()
|
||||
count_dcp_prod.sort_values('count', inplace=True, ascending=False)
|
||||
count_dcp_prod.to_csv('analysis\\count_dcp_prod.csv',
|
||||
index=False,
|
||||
encoding='utf-8-sig')
|
||||
count_dcp_prod = count_dcp_prod[count_dcp_prod['count'] > 2]
|
||||
index=False,
|
||||
encoding='utf-8-sig')
|
||||
count_dcp_prod = count_dcp_prod[count_dcp_prod['count'] > 10]
|
||||
# print(count_dcp_prod)
|
||||
|
||||
list_prod = count_dcp_prod['up_id_product'].tolist(
|
||||
@@ -126,28 +130,7 @@ vmin = min(colors)
|
||||
vmax = max(colors)
|
||||
cmap = plt.cm.Blues
|
||||
|
||||
# dct_row = {}
|
||||
# for node, p in pos.items():
|
||||
# if p[1] not in dct_row.keys():
|
||||
# dct_row[p[1]] = {node: p}
|
||||
# else:
|
||||
# dct_row[p[1]][node] = p
|
||||
# dct_row = dict(sorted(dct_row.items(), key=lambda d: d[0], reverse=True))
|
||||
# dct_up = dct_row[max(dct_row.keys())]
|
||||
# dct_up = dict(sorted(dct_up.items(), key=lambda d: d[1][0], reverse=True))
|
||||
# h = list(dct_row.keys())[0] - list(dct_row.keys())[1]
|
||||
# n = len(dct_up.items())
|
||||
# arr_h = np.linspace(list(dct_row.keys())[0]-h/2, list(dct_row.keys())[0]+2*h, num=n)
|
||||
# dct_up_new = {}
|
||||
# for index, (node, p) in enumerate(dct_up.items()):
|
||||
# dct_up_new[node] = (p[0], arr_h[index])
|
||||
# pos_new = {}
|
||||
# for row, dct in dct_row.items():
|
||||
# if row == list(dct_row.keys())[0]:
|
||||
# pos_new.update(dct_up_new)
|
||||
# else:
|
||||
# pos_new.update(dct)
|
||||
pos_new ={}
|
||||
pos_new = {}
|
||||
for node, p in pos.items():
|
||||
pos_new[node] = (p[1], p[0])
|
||||
|
||||
@@ -157,8 +140,8 @@ nx.draw(g_bom,
|
||||
pos_new,
|
||||
node_size=50,
|
||||
labels=node_labels,
|
||||
font_size=6,
|
||||
width = 1.5,
|
||||
font_size=5,
|
||||
width=1.5,
|
||||
edge_color=colors,
|
||||
edge_cmap=cmap,
|
||||
edge_vmin=vmin,
|
||||
@@ -170,7 +153,9 @@ axis.set_ylim([1.2*y for y in axis.get_ylim()])
|
||||
|
||||
sm = plt.cm.ScalarMappable(cmap=cmap, norm=plt.Normalize(vmin=vmin, vmax=vmax))
|
||||
sm._A = []
|
||||
position=fig.add_axes([0.1, 0.4, 0.01, 0.2])
|
||||
plt.colorbar(sm, fraction=0.01, cax=position)
|
||||
# plt.savefig("analysis\\count_dcp_prod_network")
|
||||
plt.close()
|
||||
position = fig.add_axes([0.75, 0.1, 0.01, 0.3])
|
||||
cb = plt.colorbar(sm, fraction=0.01, cax=position)
|
||||
cb.ax.tick_params(labelsize=8)
|
||||
cb.outline.set_visible(False)
|
||||
plt.savefig("analysis\\count_dcp_prod_network")
|
||||
plt.close()
|
||||
|
||||
Reference in New Issue
Block a user