Visualization Software Cytooscape으로 일본 철도 시각화
개시하다
연구에서 Cytooscape이라는 시각화 소프트웨어를 사용할 기회가 있기 때문에 연습과 동시에 시각화를 시도하고 싶습니다.
그럼 클래식(?)철도
컨디션
Windows 10은 Anaconda가 Python 3 환경을 구축합니다.
Jupter notebook을 사용하고 있습니다.
또한 Cytooscape은 시각 형상 소프트웨어로 사용됩니다(후술).
할 일
• Cytooscape 설치
· 철도 데이터 획득
데이터 가공
• 시각화
Cytooscape 설치
Cytooscape은 생물정보시스템 등에 주로 사용되는 오픈소스 시각화 소프트웨어로, 특정 노드의 좌표를 하나씩 지정해 색상과 크기 등 외관을 바꾸고 직관적으로 편집할 수 있다는 인상을 준다.
공식 페이지에서 설치할 수 있습니다.
이번에 사용한 데스크톱 버전을 제외하고는 Cytooscape입니다.js의 라이브러리로도 제공됩니다.
철도 데이터의 입수
제가 여기 기사., 역 데이터를 참고하도록 허락해 주십시오.jp라는 역 데이터 무료 다운로드 서비스를 발견했다.
역 데이터.jp
・역(역 코드, 역 코드, 역 이름, 노선 코드, 우편 번호, 주소, 위도, 경도 등)
· 노선 (노선 코드, 명칭, 구분, 색깔 등)
・접속역(역 코드 1, 역 코드 2)
· 경영자(경영자 코드, 경영자 명칭 등)
이런 풍부한 데이터베이스는 csv 형식으로 무료로 다운로드할 수 있다.
API도 제공됩니다.
네트워크의 가시화는 노드와 가장자리, 즉 역 데이터와 연결 역 데이터가 필요하기 때문에 각각 다운로드했다.
데이터 가공
위에서 다운로드한 csv 파일을 Cytooscape에서 쉽게 사용할 수 있도록 성형을 했습니다. 원래 Jupter notebook에서 진행되었는데py 파일로 정리해 보았습니다. 댓글은 상세하지만 notebook 형식의 잔류라고 생각하십시오(^^)ω^)・・・
make_csv_station.pyimport pandas as pd
# エッジのデータ読み込み
station_edges_data = pd.read_csv("./ダウンロードした接続駅データ.csv")
# このデータは必要な列を切り取る加工だけでok
station_edges = station_edges_data.iloc[:, 1:]
station_data = pd.read_csv("./ダウンロードした駅データ.csv")
#必要な列のみ切り取る(Dataframeに対するilocは,各行,列ごとにbooleanで選択できるらしい,数行なら便利かも)
station_position_data = station_data.iloc[:,[True, False, True, False, False, False, False, False, False, True, True]]
# ノードのデータ作成
station_position = pd.DataFrame(columns=['station_name', 'x', 'y'] )
# 見栄えのため,経度の数字*500をx座標に,緯度の数字*-500をy座標に設定(Cytoscapeではy軸は下向きのため負にしている)
for index, row in station_position_data.iterrows():
station_position = station_position.append(pd.DataFrame({'station_name':[row[1]], 'x':[row[2]*500], 'y':[row[3]*(-500)]}, index=[int(row[0])]))
# csv出力
station_position.to_csv("station_potision.csv")
station_edges.to_csv("station_edges.csv")
결실
다음은 노드 스테이션position.csv는 역 코드, 역 이름, x 좌표, y 좌표를 나타낸다.
에지 스테이션edges.csv에 연결된 역 코드가 있습니다
시각화
Cytooscape을 엽니다.
에지 정보 읽기
테두리 정보망을 읽는 것만으로도 당분간 볼 수 있으니까 해봐.
네트워크 from file에서 stationedges.csv를 선택합니다.
아래 화면이 나오기 때문에 라벨을 클릭하고 다음과 같이 설정합니다(왼쪽 index 필요 없음)×,녹색은 시작이고 귤은 끝이다.
닭고기라면이 나왔습니다.
확대하면
데이터와 같이 이것은 인근 역 사이에 밀접하게 연결된 네트워크이다.
노드 정보 읽기
이어서 노드 정보(역명, 좌표)를 반영한다.
table from file로 station 만들기position.csv를 선택합니다.
이번 키는 역 코드이고 속성은 역 이름, x 좌표, y 좌표입니다. 처음부터 잘 어울려서 그렇게 OK.
이렇게 하면 아무런 반응이 없기 때문에 다음과 같은 조작을 한다.
1. control panel의 스타일 선택
2. propaties에서 x location, y location 검사
3. 가운데 맵.칸, 각각column 응용 x, y (mapping type은passthroughmapping)
그래서 좌표가 설정되어 일본의 철도 네트워크는 완벽하게 가시화되었다!스케줄러:당연하지?
마지막으로 노드의 이름을 역 코드에서 역 이름으로 변경합니다. 스타일에 대한 label은 좌표와 같습니다.name에서station-name으로 변경합니다.
스타일을 만지작거리면 잘 보인다(´63;)한번 해 봤어요. 고향인 푸산현을 보세요.
최후
예상대로 가시화할 수 있어 안심이 되지만, 줄만 서는 것도 힘들기 때문에 여기서 무게, 운임 계산, 환승까지 연결할 수 있는 사람은 위대하다고 느낀다
고맙습니다. 무슨 일이 있으면 지적해 주십시오.
Reference
이 문제에 관하여(Visualization Software Cytooscape으로 일본 철도 시각화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/macaroni10y/items/19d7033e26fc6be6ae57
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Windows 10은 Anaconda가 Python 3 환경을 구축합니다.
Jupter notebook을 사용하고 있습니다.
또한 Cytooscape은 시각 형상 소프트웨어로 사용됩니다(후술).
할 일
• Cytooscape 설치
· 철도 데이터 획득
데이터 가공
• 시각화
Cytooscape 설치
Cytooscape은 생물정보시스템 등에 주로 사용되는 오픈소스 시각화 소프트웨어로, 특정 노드의 좌표를 하나씩 지정해 색상과 크기 등 외관을 바꾸고 직관적으로 편집할 수 있다는 인상을 준다.
공식 페이지에서 설치할 수 있습니다.
이번에 사용한 데스크톱 버전을 제외하고는 Cytooscape입니다.js의 라이브러리로도 제공됩니다.
철도 데이터의 입수
제가 여기 기사., 역 데이터를 참고하도록 허락해 주십시오.jp라는 역 데이터 무료 다운로드 서비스를 발견했다.
역 데이터.jp
・역(역 코드, 역 코드, 역 이름, 노선 코드, 우편 번호, 주소, 위도, 경도 등)
· 노선 (노선 코드, 명칭, 구분, 색깔 등)
・접속역(역 코드 1, 역 코드 2)
· 경영자(경영자 코드, 경영자 명칭 등)
이런 풍부한 데이터베이스는 csv 형식으로 무료로 다운로드할 수 있다.
API도 제공됩니다.
네트워크의 가시화는 노드와 가장자리, 즉 역 데이터와 연결 역 데이터가 필요하기 때문에 각각 다운로드했다.
데이터 가공
위에서 다운로드한 csv 파일을 Cytooscape에서 쉽게 사용할 수 있도록 성형을 했습니다. 원래 Jupter notebook에서 진행되었는데py 파일로 정리해 보았습니다. 댓글은 상세하지만 notebook 형식의 잔류라고 생각하십시오(^^)ω^)・・・
make_csv_station.pyimport pandas as pd
# エッジのデータ読み込み
station_edges_data = pd.read_csv("./ダウンロードした接続駅データ.csv")
# このデータは必要な列を切り取る加工だけでok
station_edges = station_edges_data.iloc[:, 1:]
station_data = pd.read_csv("./ダウンロードした駅データ.csv")
#必要な列のみ切り取る(Dataframeに対するilocは,各行,列ごとにbooleanで選択できるらしい,数行なら便利かも)
station_position_data = station_data.iloc[:,[True, False, True, False, False, False, False, False, False, True, True]]
# ノードのデータ作成
station_position = pd.DataFrame(columns=['station_name', 'x', 'y'] )
# 見栄えのため,経度の数字*500をx座標に,緯度の数字*-500をy座標に設定(Cytoscapeではy軸は下向きのため負にしている)
for index, row in station_position_data.iterrows():
station_position = station_position.append(pd.DataFrame({'station_name':[row[1]], 'x':[row[2]*500], 'y':[row[3]*(-500)]}, index=[int(row[0])]))
# csv出力
station_position.to_csv("station_potision.csv")
station_edges.to_csv("station_edges.csv")
결실
다음은 노드 스테이션position.csv는 역 코드, 역 이름, x 좌표, y 좌표를 나타낸다.
에지 스테이션edges.csv에 연결된 역 코드가 있습니다
시각화
Cytooscape을 엽니다.
에지 정보 읽기
테두리 정보망을 읽는 것만으로도 당분간 볼 수 있으니까 해봐.
네트워크 from file에서 stationedges.csv를 선택합니다.
아래 화면이 나오기 때문에 라벨을 클릭하고 다음과 같이 설정합니다(왼쪽 index 필요 없음)×,녹색은 시작이고 귤은 끝이다.
닭고기라면이 나왔습니다.
확대하면
데이터와 같이 이것은 인근 역 사이에 밀접하게 연결된 네트워크이다.
노드 정보 읽기
이어서 노드 정보(역명, 좌표)를 반영한다.
table from file로 station 만들기position.csv를 선택합니다.
이번 키는 역 코드이고 속성은 역 이름, x 좌표, y 좌표입니다. 처음부터 잘 어울려서 그렇게 OK.
이렇게 하면 아무런 반응이 없기 때문에 다음과 같은 조작을 한다.
1. control panel의 스타일 선택
2. propaties에서 x location, y location 검사
3. 가운데 맵.칸, 각각column 응용 x, y (mapping type은passthroughmapping)
그래서 좌표가 설정되어 일본의 철도 네트워크는 완벽하게 가시화되었다!스케줄러:당연하지?
마지막으로 노드의 이름을 역 코드에서 역 이름으로 변경합니다. 스타일에 대한 label은 좌표와 같습니다.name에서station-name으로 변경합니다.
스타일을 만지작거리면 잘 보인다(´63;)한번 해 봤어요. 고향인 푸산현을 보세요.
최후
예상대로 가시화할 수 있어 안심이 되지만, 줄만 서는 것도 힘들기 때문에 여기서 무게, 운임 계산, 환승까지 연결할 수 있는 사람은 위대하다고 느낀다
고맙습니다. 무슨 일이 있으면 지적해 주십시오.
Reference
이 문제에 관하여(Visualization Software Cytooscape으로 일본 철도 시각화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/macaroni10y/items/19d7033e26fc6be6ae57
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Cytooscape은 생물정보시스템 등에 주로 사용되는 오픈소스 시각화 소프트웨어로, 특정 노드의 좌표를 하나씩 지정해 색상과 크기 등 외관을 바꾸고 직관적으로 편집할 수 있다는 인상을 준다.
공식 페이지에서 설치할 수 있습니다.
이번에 사용한 데스크톱 버전을 제외하고는 Cytooscape입니다.js의 라이브러리로도 제공됩니다.
철도 데이터의 입수
제가 여기 기사., 역 데이터를 참고하도록 허락해 주십시오.jp라는 역 데이터 무료 다운로드 서비스를 발견했다.
역 데이터.jp
・역(역 코드, 역 코드, 역 이름, 노선 코드, 우편 번호, 주소, 위도, 경도 등)
· 노선 (노선 코드, 명칭, 구분, 색깔 등)
・접속역(역 코드 1, 역 코드 2)
· 경영자(경영자 코드, 경영자 명칭 등)
이런 풍부한 데이터베이스는 csv 형식으로 무료로 다운로드할 수 있다.
API도 제공됩니다.
네트워크의 가시화는 노드와 가장자리, 즉 역 데이터와 연결 역 데이터가 필요하기 때문에 각각 다운로드했다.
데이터 가공
위에서 다운로드한 csv 파일을 Cytooscape에서 쉽게 사용할 수 있도록 성형을 했습니다. 원래 Jupter notebook에서 진행되었는데py 파일로 정리해 보았습니다. 댓글은 상세하지만 notebook 형식의 잔류라고 생각하십시오(^^)ω^)・・・
make_csv_station.pyimport pandas as pd
# エッジのデータ読み込み
station_edges_data = pd.read_csv("./ダウンロードした接続駅データ.csv")
# このデータは必要な列を切り取る加工だけでok
station_edges = station_edges_data.iloc[:, 1:]
station_data = pd.read_csv("./ダウンロードした駅データ.csv")
#必要な列のみ切り取る(Dataframeに対するilocは,各行,列ごとにbooleanで選択できるらしい,数行なら便利かも)
station_position_data = station_data.iloc[:,[True, False, True, False, False, False, False, False, False, True, True]]
# ノードのデータ作成
station_position = pd.DataFrame(columns=['station_name', 'x', 'y'] )
# 見栄えのため,経度の数字*500をx座標に,緯度の数字*-500をy座標に設定(Cytoscapeではy軸は下向きのため負にしている)
for index, row in station_position_data.iterrows():
station_position = station_position.append(pd.DataFrame({'station_name':[row[1]], 'x':[row[2]*500], 'y':[row[3]*(-500)]}, index=[int(row[0])]))
# csv出力
station_position.to_csv("station_potision.csv")
station_edges.to_csv("station_edges.csv")
결실
다음은 노드 스테이션position.csv는 역 코드, 역 이름, x 좌표, y 좌표를 나타낸다.
에지 스테이션edges.csv에 연결된 역 코드가 있습니다
시각화
Cytooscape을 엽니다.
에지 정보 읽기
테두리 정보망을 읽는 것만으로도 당분간 볼 수 있으니까 해봐.
네트워크 from file에서 stationedges.csv를 선택합니다.
아래 화면이 나오기 때문에 라벨을 클릭하고 다음과 같이 설정합니다(왼쪽 index 필요 없음)×,녹색은 시작이고 귤은 끝이다.
닭고기라면이 나왔습니다.
확대하면
데이터와 같이 이것은 인근 역 사이에 밀접하게 연결된 네트워크이다.
노드 정보 읽기
이어서 노드 정보(역명, 좌표)를 반영한다.
table from file로 station 만들기position.csv를 선택합니다.
이번 키는 역 코드이고 속성은 역 이름, x 좌표, y 좌표입니다. 처음부터 잘 어울려서 그렇게 OK.
이렇게 하면 아무런 반응이 없기 때문에 다음과 같은 조작을 한다.
1. control panel의 스타일 선택
2. propaties에서 x location, y location 검사
3. 가운데 맵.칸, 각각column 응용 x, y (mapping type은passthroughmapping)
그래서 좌표가 설정되어 일본의 철도 네트워크는 완벽하게 가시화되었다!스케줄러:당연하지?
마지막으로 노드의 이름을 역 코드에서 역 이름으로 변경합니다. 스타일에 대한 label은 좌표와 같습니다.name에서station-name으로 변경합니다.
스타일을 만지작거리면 잘 보인다(´63;)한번 해 봤어요. 고향인 푸산현을 보세요.
최후
예상대로 가시화할 수 있어 안심이 되지만, 줄만 서는 것도 힘들기 때문에 여기서 무게, 운임 계산, 환승까지 연결할 수 있는 사람은 위대하다고 느낀다
고맙습니다. 무슨 일이 있으면 지적해 주십시오.
Reference
이 문제에 관하여(Visualization Software Cytooscape으로 일본 철도 시각화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/macaroni10y/items/19d7033e26fc6be6ae57
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
위에서 다운로드한 csv 파일을 Cytooscape에서 쉽게 사용할 수 있도록 성형을 했습니다. 원래 Jupter notebook에서 진행되었는데py 파일로 정리해 보았습니다. 댓글은 상세하지만 notebook 형식의 잔류라고 생각하십시오(^^)ω^)・・・
make_csv_station.py
import pandas as pd
# エッジのデータ読み込み
station_edges_data = pd.read_csv("./ダウンロードした接続駅データ.csv")
# このデータは必要な列を切り取る加工だけでok
station_edges = station_edges_data.iloc[:, 1:]
station_data = pd.read_csv("./ダウンロードした駅データ.csv")
#必要な列のみ切り取る(Dataframeに対するilocは,各行,列ごとにbooleanで選択できるらしい,数行なら便利かも)
station_position_data = station_data.iloc[:,[True, False, True, False, False, False, False, False, False, True, True]]
# ノードのデータ作成
station_position = pd.DataFrame(columns=['station_name', 'x', 'y'] )
# 見栄えのため,経度の数字*500をx座標に,緯度の数字*-500をy座標に設定(Cytoscapeではy軸は下向きのため負にしている)
for index, row in station_position_data.iterrows():
station_position = station_position.append(pd.DataFrame({'station_name':[row[1]], 'x':[row[2]*500], 'y':[row[3]*(-500)]}, index=[int(row[0])]))
# csv出力
station_position.to_csv("station_potision.csv")
station_edges.to_csv("station_edges.csv")
결실
다음은 노드 스테이션position.csv는 역 코드, 역 이름, x 좌표, y 좌표를 나타낸다.
에지 스테이션edges.csv에 연결된 역 코드가 있습니다
시각화
Cytooscape을 엽니다.
에지 정보 읽기
테두리 정보망을 읽는 것만으로도 당분간 볼 수 있으니까 해봐.
네트워크 from file에서 stationedges.csv를 선택합니다.
아래 화면이 나오기 때문에 라벨을 클릭하고 다음과 같이 설정합니다(왼쪽 index 필요 없음)×,녹색은 시작이고 귤은 끝이다.
닭고기라면이 나왔습니다.
확대하면
데이터와 같이 이것은 인근 역 사이에 밀접하게 연결된 네트워크이다.
노드 정보 읽기
이어서 노드 정보(역명, 좌표)를 반영한다.
table from file로 station 만들기position.csv를 선택합니다.
이번 키는 역 코드이고 속성은 역 이름, x 좌표, y 좌표입니다. 처음부터 잘 어울려서 그렇게 OK.
이렇게 하면 아무런 반응이 없기 때문에 다음과 같은 조작을 한다.
1. control panel의 스타일 선택
2. propaties에서 x location, y location 검사
3. 가운데 맵.칸, 각각column 응용 x, y (mapping type은passthroughmapping)
그래서 좌표가 설정되어 일본의 철도 네트워크는 완벽하게 가시화되었다!스케줄러:당연하지?
마지막으로 노드의 이름을 역 코드에서 역 이름으로 변경합니다. 스타일에 대한 label은 좌표와 같습니다.name에서station-name으로 변경합니다.
스타일을 만지작거리면 잘 보인다(´63;)한번 해 봤어요. 고향인 푸산현을 보세요.
최후
예상대로 가시화할 수 있어 안심이 되지만, 줄만 서는 것도 힘들기 때문에 여기서 무게, 운임 계산, 환승까지 연결할 수 있는 사람은 위대하다고 느낀다
고맙습니다. 무슨 일이 있으면 지적해 주십시오.
Reference
이 문제에 관하여(Visualization Software Cytooscape으로 일본 철도 시각화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/macaroni10y/items/19d7033e26fc6be6ae57
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
예상대로 가시화할 수 있어 안심이 되지만, 줄만 서는 것도 힘들기 때문에 여기서 무게, 운임 계산, 환승까지 연결할 수 있는 사람은 위대하다고 느낀다
고맙습니다. 무슨 일이 있으면 지적해 주십시오.
Reference
이 문제에 관하여(Visualization Software Cytooscape으로 일본 철도 시각화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/macaroni10y/items/19d7033e26fc6be6ae57텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)