python의 set operation을 알아봅시다.
set가 빠릅니다 만약 해당 데이터 set이 unique하고 세트에 있는지 없는지 찾아야 하는 일이 많다면, 무조건 set로 처리하시는 것이 좋습니다. 아무튼, python3에서 지원하는 set operation을 한번 정리하는 게 좋을 것 같아...
set가 빠릅니다 만약 해당 데이터 set이 unique하고 세트에 있는지 없는지 찾아야 하는 일이 많다면, 무조건 set로 처리하시는 것이 좋습니다. 아무튼, python3에서 지원하는 set operation을 한번 정리하는 게 좋을 것 같아...
jupyter notebook에 그림을 넣고 싶어요. graphviz로 그림을 만드는 함수를 다음처럼 정의했습니다. 그런데, 저는 경우에 따라서 한 셀 내에서 여러 그림을 동시에 보여주려고 하고 있거든요. 따라서 다른 방법을 모색했습니다. usi...
인트로 저는 jupyter notebook에서 코딩을 합니다. 경우에 따라서, jupyter notebook이 불편하다고 느끼는 사람들도 있어요. 전통적인 IDE들과는 다르게, 브라우저에서 돌아가는 것도 그렇고, cell별로 코딩을 하는데, ce...
간단합니다. 보통 때는 상관이 없는데, tree 구조를 그릴 때는 graphviz의 레이아웃이 그림이 더 이쁘거든요. 그래서 간단하게 변경하는 코드를 추가합니다. 두잇 간단합니다. 밑에 주석처리한 코드는 그림을 원하는 곳에 저장하고 싶을 때 씁니...
rescaling layout networkx로 네트워크를 시각화할 때 다양한 layout을 씁니다. 보통 쓰는 spring, spectral, shell 등의 레이아웃에는 문제가 없는데, 아래와 같은 layout을 사용할때는 0.0과 1.0사이...
tree에서 Root 찾기 networkx의 를 사용해서 tree를 만들고 관리하는데, 그때 적절한 root를 찾는 것이 중요해요. 또 해당 root를 중심으로 다른 node들이 얼마나 멀리 떨어져 있는지를 파악하는 것도 중요하구요. 그래서 아래...
tree에 적합한 layout을 찾습니다. networkx에는 다양한 layout이 있습니다만, tree 구조에 적합한 레이아웃은 없어요(정확히는 없다고 생각했습니다). 그런데 사실 없다는게, 제 입장에서는 말이 안되서 한참 찾았는데, 찾다보니 ...
random하게 tree를 만듭니다. 예전에 제가 직접 random하게 tree를 만들어주는 코드를 만들었습니다. random하게 각 level별 node의 수를 정하고 children의 수도 랜덤하게 정해서 진행했는데, 생각보다 만드는데 시간이...
인간관계를 분석합니다. 이번에 파이콘 한국 2018에서 발표하게 되어 발표자료를 준비하고 있습니다. 일단 여기에는 그림은 들어가지 않을 예정이고, 코드만 정리해서 보여줄 예정입니다. 발표자료는 여기서 보실 수 있습니다. 아무래도 필요한 부분들을 ...
svg를 png로 바꾸고 있습니다. graphviz를 사용할 때, svg, png, pdf 로 모두 저장할 수 있지만, png로 저장할 때 dpi가 매우 낮게 설정되는 일들이 발생합니다. 어떤 글에서는 를 사용해서 dpi를 graph의 attri...
runtimerror 예전에도 맥에서 graphviz를 잘 실행했는데 오늘은 뭐가 잘 안되더군요. 에러는 다음과 같았습니다. 잘 모를 때는 그냥 검색을 해보면 되는데, 검색해보면 스택오버플로우에서 아주 잘 정리된 답변이 있습니다. 아래를 순서대로...
DiGraph DiGraph는 방향성이 있는 네트워크를 말합니다. 일반적인 graph라면 edge를 그냥 그리면 되는데, 방향성이 있는 graph는 화살표를 잘 그려줘야 합니다. arrow style은 여기에 볼 수 있는데, 각각 어떻게 나오는지...
random tree 만들기 random tree를 만들거에요. tree라는 것은 parent, children를 가지는 스트럭쳐죠. 저는 parent, children로 node를 접근하는 건 만들지 않았습니다만, random 하게 tree를 ...
title 위치 바꾸기 다른 일에는 별 문제가 없는데, heatmap을 그릴때는 종종 문제가 됩니다. 특히 xtick을 위쪽으로 두면 다음 그림에서처럼 xtick과 title이 겹쳐서 보기 흉해져요. 그림을 보면, title과 xtick이 겹쳐 ...
havelhakimigraph networkx에 라는 랜덤한 bipartite 그래프 생성기가 있습니다. 만약 bipartite set가 각각 5개, 3개 라면, 그 크기의 각 node의 deg sequence를 넘겨주면 그 deg들에 맞는 gr...
노드를 바꿔주기 networkx에는 꽤 괜찮은 random graph generator들이 많이 있습니다. 단 만들 때부터 node set를 정하고 만들기는 조금 어려워요. 그렇다면 일단 만든 다음에 바꿔주면 됩니다 하하핫 쉽죠. 바꿔주는 방법이...