質問するログイン新規登録

質問編集履歴

2

誤字、文の追加

2021/02/21 09:58

投稿

mi41
mi41

スコア1

title CHANGED
File without changes
body CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
 
7
7
  ### 発生している問題・エラーメッセージ
8
- ノードの表示のみでは、ノード位置は固定されるが、エッジを描画するとノード位置が変わ
8
+ ノードの表示のみでは、ノード位置は固定されるが、エッジを描画するとノード位置が変わってしまいます
9
9
  以下の画像(2枚)は、異なる入力による出力結果になります。この二枚を重ね合わせて比較したいのですが、ノード位置がずれてしまいます。
10
10
  恐らく、エッジ表示によるノード間距離が変わってしまうのが、原因だと思ってますが、解決策が思いつきません。
11
11
  プログラム上では、ノードの位置を固定していて、エッジ表示をやめたらノード位置が固定され、重ね合わせて比較できます。
@@ -14,24 +14,106 @@
14
14
  ### 該当のソースコード
15
15
 
16
16
  ```Python
17
+ import networkx as nx
18
+ from networkx.drawing.nx_pydot import write_dot
19
+ import matplotlib.pyplot as plt
20
+ import numpy as np
21
+
22
+ node_225 = []
23
+ for r in range(225):
24
+ node_225.append(r+1) #ノード用のリスト作成
25
+
26
+ #グラフの作成
27
+
28
+ Graph = nx.DiGraph() #空のグラフを作成
29
+ Graph.add_nodes_from(node_225) #ノード格納
30
+
31
+
32
+ pos2 = {
33
+ g+1:(((3840/15)*(g%15)+128),((2160/15)*((int(((225-(g+1))/15)))))+216) #g+1がノード番号
34
+ for g in range(225)
35
+ } #ノードの位置固定したい
36
+
37
+ #描画処理
17
38
  plt.figure(dpi = 100,figsize=(38.4,21.6))                   #3840*2160の画像出力したい
18
39
 
19
40
  Graph.add_weighted_edges_from(omomi_all) #重み付きエッジの登録
20
41
  edge_labels = {(i, j): w['weight'] for i, j, w in Graph.edges(data=True)} #'weight'っていう文字を削除とedge_labelsの作成
21
- edge_width = [ d['weight']*1 for (u,v,d) in Graph.edges(data=True)] #設定した重みの値に比例して大きさを設定
42
+ #edge_width = [ d['weight']*1 for (u,v,d) in Graph.edges(data=True)] #設定した重みの値に比例して大きさを設定
22
43
 
23
44
  nx.draw_networkx_edge_labels(Graph,pos2,label_pos=0.3, edge_labels=edge_labels)#エッジの重みを表示する
24
45
 
25
- nx.draw(Graph, with_labels=True,pos=pos2,edge_color=colors,node_size = node_1_225)#pos2でノード位置固定
46
+ nx.draw(Graph, with_labels=True,pos=pos2,node_size = node_1_225)#pos2でノード位置固定
26
47
 
27
48
  plt.show()
28
49
 
29
50
  ```
30
51
 
52
+ ```
53
+ #上の画像のデータ
54
+ node_1_225の中身
55
+ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
56
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
57
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
58
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0,
59
+ 0, 0, 0, 37, 3, 88, 378, 200, 599, 0, 0, 0, 0, 0, 0, 0, 0,
60
+ 0, 35, 53, 167, 578, 255, 334, 89, 1, 0, 0, 0, 0, 0, 0, 1,
61
+ 391, 30, 283, 1496, 450, 112, 4, 1, 0, 0, 0, 0, 0, 0, 0, 386,
62
+ 5, 59, 269, 128, 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 375, 43,
63
+ 4, 4, 23, 2, 0, 0, 0, 0, 0, 0, 0, 0, 61, 64, 3, 1, 24, 30, 17,
64
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
65
+ 0, 0, 0, 81, 13, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 27, 3,
66
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 14, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0]
67
+
68
+
69
+ omomi_allの中身 
70
+ [エッジの始点ノード,終点ノード,重み]
71
+ [[202, 187, 0.1], [187, 202, 0.1], [201, 202, 0.1], [188, 187, 0.1], [214, 215, 0.1], [215, 214, 0.1],
72
+ [114, 130, 3.5], [99, 84, 0.1], [100, 114, 0.25], [115, 114, 0.25], [84, 83, 0.1], [98, 113, 0.25],
73
+ [85, 100, 0.1], [97, 112, 0.25], [83, 84, 0.1], [113, 128, 0.5], [112, 97, 0.25], [109, 112, 0.1],
74
+ [116, 114, 0.1], [111, 112, 0.1], [127, 142, 0.1], [156, 142, 0.1], [157, 142, 0.1], [172, 142, 0.1],
75
+ [142, 127, 0.25], [125, 126, 0.1], [110, 112, 0.1], [67, 188, 0.1], [143, 144, 0.1], [129, 144, 0.25],
76
+ [130, 115, 0.1], [95, 80, 0.1], [80, 110, 0.1], [96, 111, 0.1], [82, 83, 0.1], [131, 101, 0.1],
77
+ [101, 116, 0.1], [128, 113, 0.5], [189, 217, 0.1], [217, 203, 0.1], [203, 158, 0.1], [158, 143, 0.1],
78
+ [159, 144, 0.1], [173, 220, 0.1], [220, 112, 0.1], [218, 158, 0.1], [144, 129, 0.25], [145, 160, 0.1],
79
+ [146, 145, 0.1], [161, 146, 0.1], [160, 145, 0.1], [147, 162, 0.1], [162, 161, 0.1], [141, 142, 0.1],
80
+ [126, 127, 0.1], [117, 100, 0.1], [69, 68, 0.1], [68, 83, 0.1], [102, 100, 0.1], [81, 82, 0.1]]
81
+ ```
82
+ ```
83
+ #下の画像のデータ
84
+ node_1_225の中身
85
+ [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
86
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
87
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0,
88
+ 0, 0, 0, 0, 0, 0, 0, 0, 6, 8, 31, 3, 1, 0, 0, 0, 0, 0, 0,
89
+ 0, 0, 1, 0, 141, 124, 269, 504, 15, 2, 0, 0, 0, 0, 0, 0, 0,
90
+ 1, 4, 2034, 61, 2013, 464, 126, 2, 1, 0, 0, 0, 0, 0, 0, 0,
91
+ 143, 2039, 354, 1421, 385, 105, 145, 1, 0, 0, 0, 0, 0, 0, 0,
92
+ 1, 137, 133, 472, 114, 40, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 22,
93
+ 394, 2, 6, 21, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 3, 6, 2, 23,
94
+ 41, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 6, 3, 0, 0, 0,
95
+ 0, 0, 0, 0, 0, 0, 1, 37, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
96
+ 0, 0, 0, 0, 58, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
97
+
98
+ omomi_allの中身 
99
+ [エッジの始点ノード,終点ノード,重み]
100
+ [[97, 96, 0.1], [82, 83, 0.1], [112, 113, 1.5], [113, 128, 0.5], [98, 114, 0.5], [96, 97, 0.1],
101
+ [111, 112, 0.25], [114, 98, 0.5], [99, 114, 0.5], [84, 114, 0.1], [115, 114, 0.1], [100, 99, 0.1],
102
+ [130, 115, 0.1], [129, 114, 0.1], [81, 82, 0.1], [95, 112, 0.1], [128, 112, 0.5], [127, 126, 0.5],
103
+ [94, 111, 0.1], [126, 112, 0.5], [110, 112, 0.1], [125, 112, 0.1], [204, 189, 0.1], [205, 204, 0.1],
104
+ [189, 204, 0.1], [188, 187, 0.1], [187, 188, 0.1], [116, 101, 0.1], [101, 117, 0.1], [117, 116, 0.1],
105
+ [102, 116, 0.1], [159, 160, 0.1], [144, 159, 0.1], [143, 144, 0.1], [142, 127, 0.25], [141, 142, 0.1],
106
+ [156, 141, 0.1], [157, 143, 0.1], [173, 158, 0.1], [158, 143, 0.1], [140, 142, 0.1], [155, 142, 0.1],
107
+ [145, 144, 0.1], [160, 144, 0.1], [161, 176, 0.1], [146, 161, 0.1], [176, 177, 0.1], [177, 161, 0.1],
108
+ [175, 159, 0.1], [162, 161, 0.1], [132, 130, 0.1], [131, 130, 0.1], [83, 98, 0.25], [68, 53, 0.1],
109
+ [69, 83, 0.1], [70, 81, 0.1], [86, 85, 0.1], [85, 84, 0.1], [53, 68, 0.1], [52, 53, 0.1], [67, 66, 0.1],
110
+ [66, 81, 0.1], [79, 82, 0.1]]
111
+
112
+ ```
31
113
  ### 試したこと
32
114
 
33
115
  該当エラーに関する記事を調べたが、出てこなかった。
34
- ノード間距離の調整を試みたが出来なかった。
116
+ ノード間距離の調整を試みたが出来なかった。
35
117
  ### 補足情報(FW/ツールのバージョンなど)
36
118
  環境
37
119
  Jupiternotebook 6.0.3

1

文の追加

2021/02/21 09:58

投稿

mi41
mi41

スコア1

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,5 @@
1
1
  ### 前提・実現したいこと
2
-
2
+ 初めて、質問させて頂きます。
3
3
  現在、PythonのNetworkxを用いて、ネットワークグラフを作成しています。
4
4
  ノードとエッジの両方を表示させて、同じノード位置で画像を出力したいです。
5
5
 
@@ -7,6 +7,7 @@
7
7
  ### 発生している問題・エラーメッセージ
8
8
  ノードの表示のみでは、ノード位置は固定されるが、エッジを描画するとノード位置が変わる。
9
9
  以下の画像(2枚)は、異なる入力による出力結果になります。この二枚を重ね合わせて比較したいのですが、ノード位置がずれてしまいます。
10
+ 恐らく、エッジ表示によるノード間距離が変わってしまうのが、原因だと思ってますが、解決策が思いつきません。
10
11
  プログラム上では、ノードの位置を固定していて、エッジ表示をやめたらノード位置が固定され、重ね合わせて比較できます。
11
12
  ![![イメージ説明](75c2ea6a6c563943190938bee9fa540e.png)](eae633efcd2a8b896f5688e701f6d2ee.png)
12
13
  ![イメージ説明](99a0592b175b45e9389f8cf3bf8fb072.png)
@@ -30,7 +31,7 @@
30
31
  ### 試したこと
31
32
 
32
33
  該当エラーに関する記事を調べたが、出てこなかった。
33
-
34
+ ノード間距離の調整を試みたが。出来なかった。
34
35
  ### 補足情報(FW/ツールのバージョンなど)
35
36
  環境
36
37
  Jupiternotebook 6.0.3