네트워크의 다른 노드에 다른 색상을 할당하려면 어떻게해야합니까?

우디

나는 온라인에서 찾을 수있는 모든 것을 시도했지만 여전히 부족했습니다. 내 목표는 matplotlib / networkx를 사용하여 식별자를 기반으로 노드를 구별하는 것입니다.

따라서 현재 그래프의 가장자리와 노드가 있습니다 (여기에 각각의 작은 스 니펫이 있습니다).

sub_interactome.edges = [('P30876', 'P36954'), ('P30876', 'P19387'), ('P41136', 'Q60722'), ('P41136', 'P17433')]

sub_interactome.nodes = ['P30876', 'P36954', 'P41136', 'Q60722', 'P30876', 'P19387','P17433']

내 끝 그래프의 각 노드에 대해 고유 한 색상을 만들려고합니다. 지금까지 이것이 제가 만든 코드이지만 멀리 떨어져 있다고 확신합니다. 이 부분은 나에게 네트워크 자체를 제공합니다.

plt.figure(figsize=(10,10))
nx.spring_layout(sub_interactome)
nx.draw_networkx(sub_interactome, with_labels=True)
col.Colormap(valid_uniprots, len(valid_uniprots))
plt.tick_params(axis='x', which='both', bottom=False, top=False, labelbottom=False)
plt.tick_params(axis='y', which='both', right=False, left=False, labelleft=False)
for ty in ['right','top','bottom','left']:
    plt.gca().spines[ty].set_visible(False)   
plt.show()

총 239 개의 노드가 있으므로 각각에 대해 색상을 입력하는 것만으로는 작동하지 않습니다. 온라인에서 찾을 수있는 다양한 방법을 사용하여 컬러 맵을 만들려고했지만 작동하지 않았습니다. 그런 다음 모든 것을 사전으로 바꾸어 색상 맵을 그런 방식으로 매핑하려고했습니다.

def Convert(tup, di): 
    for a, b in tup: 
        di.setdefault(a, [] ).append(b) 
    return di 
dictionary = {}
keyvalinteractome = Convert(sub_interactome.edges,dictionary)

이것은 나를 사전으로 만들었지 만 여전히 각 노드를 색칠하는 적절한 방법을 알아낼 수 없었습니다. .nodes를 사용하여 노드 목록을 만들 수 있기 때문에 아마도 이것이 필요하지 않지만 어떤 식 으로든 도움이 될 수 있다고 생각했습니다. 이들에 대한 컬러 맵을 만들려는 최근 시도는 다음과 같습니다.

G = sub_interactome
n_colors = len(keyvalinteractome.keys())

pos = nx.spring_layout(G)
for key in G.nodes():
    nx.draw_networkx_nodes(G,pos,[m for m in G.nodes() if keyvalinteractome[m]==key],node_color=['red','blue','green','yellow','purple'])
    nx.draw_networkx_edges(G,pos)

이런 식으로 작동하지 않을 색상을 입력해야하며 어쨌든 오류가 발생합니다.

누군가 나를 도울 수 있다면 정말 감사하겠습니다. 저는 파이썬을 처음 접했고 배우려고 노력했지만 지금은 약 5 시간 동안이 문제를 시도해 왔습니다.

미리 감사드립니다!

사얀 데이

내가 틀리지 않다면 당신은 일종의 색상 생성기를 찾고 있습니다. 나는 비슷한 도전을 겪었고 가장 대조되는 색상을 선택하는 데 어려움을 겪었습니다.

다음 코드는 잘 작동합니다. HSV 색상 기술을 사용하고 360도 색조 색상 실린더에서 색상을 선택합니다.

import numpy as np, colorsys

def choose_colors(node_list):

    num_colors = len(node_list)
    
    colors=[]
    for i in np.arange(0., 360., 360. / num_colors):
        hue = i/360.
        lightness = (30 + np.random.rand() * 70)/100.0
        saturation = (30 + np.random.rand() * 70)/100.0
        colors.append(colorsys.hls_to_rgb(hue, lightness, saturation))
    return colors

이 스 니펫은 전달 된 node_list의 길이와 동일한 색상 배열을 반환합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Excel-다른 워크 시트에서 해당 값을 검색하려면 어떻게합니까?

분류에서Dev

Linux 터미널을 사용하여 네트워크의 다른 파일 시스템에 액세스하려면 어떻게해야합니까?

분류에서Dev

내 네트워크의 다른 컴퓨터를 통해 네트워크 트래픽을 라우팅하려면 어떻게해야합니까?

분류에서Dev

Perl에서 XLSX 워크 시트의 열 하위 집합을 다른 워크 시트로 복사하려면 어떻게해야합니까?

분류에서Dev

cloud-init로 네트워크 구성을 다시로드하려면 어떻게해야합니까?

분류에서Dev

다른 네트워크 컴퓨터 mysql에서 내 컴퓨터 mysql로 연결을 변경하려면 어떻게해야합니까?

분류에서Dev

Pandas에서 다른 열의 값을 기준으로 열을 분할하려면 어떻게해야합니까?

분류에서Dev

여러 입력의 값을 가져오고 값을 다른 양식 컨트롤에 할당하려면 어떻게해야합니까?

분류에서Dev

서로 다른 색상에 대해 두 개의 버튼을 사용하여 표 셀 (td)의 배경색을 변경하려면 어떻게해야합니까?

분류에서Dev

Ansible : 다른 호스트에 병렬로 역할을 배포하려면 어떻게해야합니까?

분류에서Dev

XSLT를 사용하여 다른 노드의 내용에 따라 XML 노드의 값을 얻으려면 어떻게해야합니까?

분류에서Dev

XSLT를 사용하여 다른 노드의 내용에 따라 XML 노드의 값을 얻으려면 어떻게해야합니까?

분류에서Dev

한 JavaScript 파일의 변수를 다른 JS 파일에 할당하려면 어떻게해야합니까?

분류에서Dev

PowerShell을 사용하여 다른 배포 모델의 가상 네트워크를 연결하려면 어떻게해야합니까?

분류에서Dev

순위 함수가 동일한 순위의 행에 다른 값을 할당하도록하려면 어떻게해야합니까?

분류에서Dev

Firefox와 Chrome에서 링크 색상을 변경하고 다른 모든 색상과 글꼴은 그대로 두려면 어떻게해야합니까?

분류에서Dev

Firefox와 Chrome에서 링크 색상을 변경하고 다른 모든 색상과 글꼴은 그대로 두려면 어떻게해야합니까?

분류에서Dev

서버에 따라 다른 색상의 프롬프트를 받으려면 어떻게해야합니까?

분류에서Dev

상속 된 코드의 다른 부분에 액세스하려면 어떻게해야합니까?

분류에서Dev

matplotlib barplot에 다른 해치 색상을 추가하려면 어떻게해야합니까?

분류에서Dev

다른 AppCompatActivity 클래스의 단편에 WebView URL을로드하려면 어떻게해야합니까?

분류에서Dev

ListView에서 다른 항목을 클릭 할 때 다른 항목의 텍스트보기에 액세스하려면 어떻게해야합니까?

분류에서Dev

listview 항목을 클릭하고 원하는 경우 listview의 텍스트에 색상을 지정하려면 어떻게해야합니까? 다른 항목을 클릭하면 이전 항목이 기본 색상이어야합니다.

분류에서Dev

Google지도에서 지역을 다른 색상으로 표시하려면 어떻게해야합니까?

분류에서Dev

노틸러스에서 다른 드라이브와 파티션에 짧고 의미있는 이름을 지정하려면 어떻게해야합니까?

분류에서Dev

S3의 파일을 FormData로 다른 API에 게시하려면 어떻게해야합니까?

분류에서Dev

PIG의 다른 테이블에서 두 개의 파일을 합산하려면 어떻게해야합니까?

분류에서Dev

useQuery 후크를 사용하여 다른 후크에 상태를 채우려면 어떻게해야합니까?

분류에서Dev

Haskell에서 다른 유형의 맵을 통합하려면 어떻게해야합니까?

Related 관련 기사

  1. 1

    Excel-다른 워크 시트에서 해당 값을 검색하려면 어떻게합니까?

  2. 2

    Linux 터미널을 사용하여 네트워크의 다른 파일 시스템에 액세스하려면 어떻게해야합니까?

  3. 3

    내 네트워크의 다른 컴퓨터를 통해 네트워크 트래픽을 라우팅하려면 어떻게해야합니까?

  4. 4

    Perl에서 XLSX 워크 시트의 열 하위 집합을 다른 워크 시트로 복사하려면 어떻게해야합니까?

  5. 5

    cloud-init로 네트워크 구성을 다시로드하려면 어떻게해야합니까?

  6. 6

    다른 네트워크 컴퓨터 mysql에서 내 컴퓨터 mysql로 연결을 변경하려면 어떻게해야합니까?

  7. 7

    Pandas에서 다른 열의 값을 기준으로 열을 분할하려면 어떻게해야합니까?

  8. 8

    여러 입력의 값을 가져오고 값을 다른 양식 컨트롤에 할당하려면 어떻게해야합니까?

  9. 9

    서로 다른 색상에 대해 두 개의 버튼을 사용하여 표 셀 (td)의 배경색을 변경하려면 어떻게해야합니까?

  10. 10

    Ansible : 다른 호스트에 병렬로 역할을 배포하려면 어떻게해야합니까?

  11. 11

    XSLT를 사용하여 다른 노드의 내용에 따라 XML 노드의 값을 얻으려면 어떻게해야합니까?

  12. 12

    XSLT를 사용하여 다른 노드의 내용에 따라 XML 노드의 값을 얻으려면 어떻게해야합니까?

  13. 13

    한 JavaScript 파일의 변수를 다른 JS 파일에 할당하려면 어떻게해야합니까?

  14. 14

    PowerShell을 사용하여 다른 배포 모델의 가상 네트워크를 연결하려면 어떻게해야합니까?

  15. 15

    순위 함수가 동일한 순위의 행에 다른 값을 할당하도록하려면 어떻게해야합니까?

  16. 16

    Firefox와 Chrome에서 링크 색상을 변경하고 다른 모든 색상과 글꼴은 그대로 두려면 어떻게해야합니까?

  17. 17

    Firefox와 Chrome에서 링크 색상을 변경하고 다른 모든 색상과 글꼴은 그대로 두려면 어떻게해야합니까?

  18. 18

    서버에 따라 다른 색상의 프롬프트를 받으려면 어떻게해야합니까?

  19. 19

    상속 된 코드의 다른 부분에 액세스하려면 어떻게해야합니까?

  20. 20

    matplotlib barplot에 다른 해치 색상을 추가하려면 어떻게해야합니까?

  21. 21

    다른 AppCompatActivity 클래스의 단편에 WebView URL을로드하려면 어떻게해야합니까?

  22. 22

    ListView에서 다른 항목을 클릭 할 때 다른 항목의 텍스트보기에 액세스하려면 어떻게해야합니까?

  23. 23

    listview 항목을 클릭하고 원하는 경우 listview의 텍스트에 색상을 지정하려면 어떻게해야합니까? 다른 항목을 클릭하면 이전 항목이 기본 색상이어야합니다.

  24. 24

    Google지도에서 지역을 다른 색상으로 표시하려면 어떻게해야합니까?

  25. 25

    노틸러스에서 다른 드라이브와 파티션에 짧고 의미있는 이름을 지정하려면 어떻게해야합니까?

  26. 26

    S3의 파일을 FormData로 다른 API에 게시하려면 어떻게해야합니까?

  27. 27

    PIG의 다른 테이블에서 두 개의 파일을 합산하려면 어떻게해야합니까?

  28. 28

    useQuery 후크를 사용하여 다른 후크에 상태를 채우려면 어떻게해야합니까?

  29. 29

    Haskell에서 다른 유형의 맵을 통합하려면 어떻게해야합니까?

뜨겁다태그

보관