과학적 간행물에서 소프트웨어를 사용하는 경우 소프트웨어를 인용하십시오.
Dive는 데이터를 나타내는 한 화면에서 최대 백만 포인트의 대화식 3D 웹 뷰어입니다. 이전에 3D에 포함 된 고차원 데이터를보기위한 상호 작용을 제공하기위한 것입니다. 임베딩 (비선형 차원 감소 또는 매니 폴드 학습)의 경우 Bargevis (Microsoft Research의 새로운 알고리즘) 또는 TSNE를 권장합니다.
온라인 데모를 보려면 여기를 클릭하십시오. 이 사이트를 사용하여 아래 설명 된 데이터 형식에 준수하는 데이터 세트를 업로드 할 수도 있습니다.
새로운 : Linux와 Dive로 구성된 Linux의 파이프 라인이 여기에서 출시되었습니다 : https://github.com/sonjageorgievska/embed-dive.
가장 간단한 방법은 브라우저를 사용하여 코드를 다운로드하고 Index.html을 열 수 있습니다. 데이터 폴더에서 데이터 세트를 업로드하여 시도하십시오. 응용 프로그램은 완전히 오프라인으로 작동 할 수 있습니다.
로컬 HTTP 서버와 함께 사용하려면 :
npm install connect serve-staticnode server.js 입력하십시오http://localhost:8082/index.html 입력하십시오 npm install 실행하십시오grunt 실행하여 빌드하십시오. 결과 컴파일 된 JavaScript는 dist/ 이며 문서는 doc/ 에 있습니다. 모든 지점에는 3 개의 좌표와 고유 한 ID가 있습니다. (최상의 관점에서는 좌표의 절대 값이 1보다 작아야합니다. 유사성 (가중치)을 입력 한 대형을 사용하면 유사성을 1보다 작게 다시 스케일함으로써 달성 할 수 있습니다.)
요점에는 Properties 도 있습니다.
Properties 비어있을 수있는 문자열 목록입니다. 숫자 인 각 문자열은 각각의 숫자 속성의 값을 나타냅니다. 숫자가 아닌 각 문자열은 각각의 범주 형 속성의 값을 나타냅니다. 이 값은 웹 페이지 UI의 색칠 섹션에 사용됩니다. 사용자가 속성을 선택할 때, 속성에 범주 형 (수치가 아닌) 값이있는 경우 각 지점은 범주 형 속성의 값을 나타내는 색상으로 채색됩니다. 속성이 숫자 인 경우 사용자가 색상을 선택한 후 모든 지점에 선택한 색상의 그늘이 채색됩니다. 색상의 강도는 특정 지점에 대한 선택된 속성의 강도에 해당합니다.노드에도 관련된 이미지가있을 수 있습니다. 자세한 내용은 데이터 형식 섹션을 참조하십시오.
사용자는 검색 섹션을 사용하여 ID, 이름 또는 속성에 특정 하위 문자열이 포함 된 모든 지점을 검색 할 수 있습니다. 그런 다음 일치하는 모든 점은 빨간색이되고 나머지는 회색이됩니다. 정규 표현의 부울 표현도 검색 할 수도 있습니다. 부울 발현의 예는 xx AND yy OR NOT zz 이며, 여기서 XX, YY 및 ZZ는 정규 표현이며 OR보다 더 많이 결합하는 것 이상의 결합을하지 않습니다. 이 경우 메타 데이터에 정기적 인 Espressions XX 및 YY가 포함되어 있거나 ZZ를 포함하지 않는 모든 점은 빨간색으로 채색됩니다.
발견 된 노드 만 표시하면 검색에서 발생하는 노드 만 표시됩니다.
하단의 이력서 색상 버튼은 포인트의 색상을 이전 색칠 체계로 반환합니다.
섹션 데이터 설명 및 기능 에 설명 된 바와 같이.
데이터는 JSON (JavaScript 객체 표기법) 형식입니다. (예제는 폴더 데이터를 참조하십시오.) Data.js 를 얻으려면 먼저 데이터 구조
Dictionary<string, Point>
키가 포인트의 ID 인 모든 프로그래밍 언어로 만들어지고 Point 는 클래스의 대상입니다.
public class Point
{
public List<double> Coordinates;
public List<double> Properties;
}
Coordinates 및 Properties 이전 섹션에서 논의됩니다.
다음으로 사전은 JavaScriptSerializer를 사용하여 직렬화되고 Data.json (이름은 Flexible)으로 작성됩니다. 다음은 Data.json 파일에서 직렬화 된 사전의 항목 예입니다.
"3951" : {
"Coordinates" : [ 0.99860800383893167 , 0.61276015046241838 , 0.450976426942296 ],
"Properties" : [ " 0 " , " 1 " , " 5 " , " 12688892 " , " 0.998 " , " 5 " , " True " , " 0 " , " False " , " 5 " , " 1 " , " True " , " 1 " , " 518 " , " 0 " , " -1 " , " Rhodotorula " , " " , " Sporidiobolales " , " Microbotryomycetes " ]
}선택적으로 데이터에 속성이있는 경우 사전에도 항목도 포함해야합니다.
"NamesOfProperties" :[ " name1 " , " name2 " , , " name_n " ] 선택적으로 이미지가 노드에 연결되면 노드 위로 호버링 할 때 팝업에 노드 이미지를 표시 할 수 있습니다. datafile이 namedataset_ 로 시작하면 폴더 data 의 이미지가있는 폴더가 images_namedataset 이어야합니다. (폴더 data 의 예를 참조하십시오. 크기에 대해 죄송합니다). 이미지의 이름은 nodeId.jpg 여야합니다.
이미지에 .png 확장자가있는 경우 fingerprints_namedataset 폴더는 현재 셜록 목적으로 만들어졌지만 옵션입니다.
Largevis의 출력은 텍스트 파일입니다. 모든 줄에는 포인트의 ID가 있고 3 개의 좌표 (실수)가 있습니다. 첫 번째 줄만 예외입니다. 점수와 차원이 포함됩니다. 예는 다음과 같습니다.
4271 3
0 -33.729916 17.692684 17.466749
1 -32.923210 17.249269 18.111458
"scripts_preparedata"폴더에서 Python 스크립트 "makevizdatawithpropermetadata.py"를 사용하여 뷰어의 입력으로 처리 할 수 있습니다. 호출됩니다
python MakeVizDataWithProperMetaData.py -coord coordinatesFile -metadata metaDataFile -dir baseDir -np -namesOfPropertiesFile
coordinatesFile : Largevis의 출력 파일
metaData : 데이터에 대한 메타 정보가 포함 된 파일. 형식 : [id] [metadata] . 메타 데이터 형식 : "first_line" "second_line" "third_line" (줄 수는 제한되지 않음). metadata 의 예 : 35 "A dog" "Age:2" "Color brown" .
baseDir : 출력 파일을 저장하는 기본 디렉토리
namesOfPropertiesFile : 속성 이름 목록을 포함하는 JSON 파일. 예 : ["Height", "Weight", "Place of birth"] . 파일이 생략되면 이름이 "No" 여야합니다.
이 소프트웨어는 GPL2 라이센스에 따라 릴리스됩니다. Apache 라이센스가있는 버전을 원하시면 저자에게 문의하십시오.