我是一个有用的助手,可以为您进行文本翻译。以下是需要翻译的内容:
如果杂交列表中的项目存在于节点列表中,则需要更改节点的颜色,而不会改变节点列表的结构以保持原始图像结构。我尝试删除与杂交项匹配的节点,并使用两个列表创建不同颜色的节点,但是没有颜色变化,并且图形布局发生了显着变化。除非有人能建议一种将簇从大到小垂直放置的方法,否则我想继续使用来自graphviz的“fdp”。
在搜索中,我偶然发现了A = nx.to_agraph(G)并且我喜欢这种表示方式,颜色也按预期更改,但图像质量较低,对于较大的簇,什么都无法分辨。有人能建议如何提高图像质量吗?也许,将其放大以拉伸大型集群?
以下是原始的graphviz fdp图:
以下是A = nx.to_graph的输出:
更正两种方法都是首选,感谢所有帮助。
我刚开始使用 networkx 并需要一些帮助。之前我进行了搜索但没有解决我的问题。我已经创建了一个 networkx graphviz 图像,使用了一个列表作为节点的输入,并使用两列文件来表示边缘。第二个文件包含第一个列表中的项,以及相应节点大小的值。我还有另一个文件,其中包含原始列表中的项目,我需要将这些相同的项目显示为另一种颜色,而不改变图形的布局或结构。
这是我正在测试的代码的一部分:
import sys
from collections import defaultdict
import networkx as nx
import matplotlib.pyplot as plt
inp = sys.argv[1]
cluster = sys.argv[1] + ".cluster"
counts = sys.argv[1] + ".counts"
hybrids = sys.argv[2]
with open(cluster, "r") as f1:
edges = [line.strip().split('\t') for line in f1]
with open(counts, "r") as f2:
countsdic = defaultdict(list)
for line in f2:
k,v = line.strip().split()
countsdic[k].append(v)
with open(hybrids, "r") as f3:
hybrids = [line.strip() for line in f3]
tmp = []
for el in sum(edges, []):
tmp.append(el)
nodes = []
for t in tmp:
if t not in nodes:
nodes.append(t)
node_sizes = {}
for n in nodes:
node_sizes[n] = ' '.join(countsdic[n])
sizes = []
for v in node_sizes.values():
x = int(v) * 10
sizes.append(x)
g = nx.Graph()
g.add_nodes_from(nodes)
g.add_edges_from(edges)
for node in nodes:
if node in hybrids:
color = 'green'
if node not in hybrids:
color = 'blue'
nx.draw_graphviz(g, prog="fdp", node_color-color, node_size = sizes)
for node in nodes:
if node in hybrids:
g.add_node(node, fillcolor='green')
if node not in hybrids:
g.add_node(node, fillcolor='blue')
A = nx.to_agraph(g)
A.layout()
A.draw(inp + ".png")
plt.figure(1,figsize=(2000,2000))
plt.savefig(out + ".png", dpi = 1000)
plt.show()
如果杂交列表中的项目存在于节点列表中,则需要更改节点的颜色,而不会改变节点列表的结构以保持原始图像结构。我尝试删除与杂交项匹配的节点,并使用两个列表创建不同颜色的节点,但是没有颜色变化,并且图形布局发生了显着变化。除非有人能建议一种将簇从大到小垂直放置的方法,否则我想继续使用来自graphviz的“fdp”。
在搜索中,我偶然发现了A = nx.to_agraph(G)并且我喜欢这种表示方式,颜色也按预期更改,但图像质量较低,对于较大的簇,什么都无法分辨。有人能建议如何提高图像质量吗?也许,将其放大以拉伸大型集群?
以下是原始的graphviz fdp图:
![enter image description here](https://istack.dev59.com/wkpuY.webp)
![enter image description here](https://istack.dev59.com/lQTSJ.webp)