{"id":20704986,"url":"https://github.com/latentcat/network-vis","last_synced_at":"2026-03-16T01:03:48.608Z","repository":{"id":233109906,"uuid":"786033837","full_name":"latentcat/network-vis","owner":"latentcat","description":"WIP. Visualization of social networks. 社交网络可视化。","archived":false,"fork":false,"pushed_at":"2024-04-16T07:36:37.000Z","size":9533,"stargazers_count":14,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-17T20:15:48.907Z","etag":null,"topics":["complex-networks","data","data-science","graph","graph-visualization","social-media","social-network-analysis","visualization","wechat"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/latentcat.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-13T08:16:36.000Z","updated_at":"2024-12-15T17:17:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"4a224c62-a57c-4480-864a-0bd61176506b","html_url":"https://github.com/latentcat/network-vis","commit_stats":null,"previous_names":["latentcat/social-vis","latentcat/network-vis"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/latentcat%2Fnetwork-vis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/latentcat%2Fnetwork-vis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/latentcat%2Fnetwork-vis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/latentcat%2Fnetwork-vis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/latentcat","download_url":"https://codeload.github.com/latentcat/network-vis/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242973988,"owners_count":20215248,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["complex-networks","data","data-science","graph","graph-visualization","social-media","social-network-analysis","visualization","wechat"],"created_at":"2024-11-17T01:15:34.337Z","updated_at":"2025-12-25T01:02:15.661Z","avatar_url":"https://github.com/latentcat.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# social-vis\n\n\n## WeChat Memory Like Relationship Vis\n\n### Data Crawl\n\n\u003e TBD.\n\n### Data Struct (Example)\n\n```json\n{\n  \"isCurrentUser\": false,\n  \"snsId\": \"...\",\n  \"authorName\": \"...\",\n  \"authorId\": \"...\",\n  \"content\": \"...\",\n  \"comments\": [],\n  \"likes\": [\n    {\n      \"isCurrentUser\": false,\n      \"userName\": \"...\",\n      \"userId\": \"...\"\n    }\n  ],\n  \"mediaList\": [\n    \"http://...\"\n  ],\n  \"rawXML\": \"...\",\n  \"timestamp\": 1569122476\n}\n```\n\n### Data Process\n\n```mathematica\ngr = Flatten[\n   Table[Table[\n     UndirectedEdge[dataset[j, 7, \"likes\", All, \"userName\"][i], \n      dataset[j, 3, \"authorName\"]], {i, 1, \n      Length[dataset[j, 7, \"likes\"]]}], {j, 1, 7418}]];\n```\n\n### Variation 1\n\n![](./assets/wechat-01.jpg)\n\n```mathematica\nstyle = {EdgeStyle -\u003e \n    Directive[Opacity[.05], Black, Thickness -\u003e 0.00001], \n   Background -\u003e White, EdgeShapeFunction -\u003e (Line[#1] \u0026), \n   ImageSize -\u003e 30000};\nCommunityGraphPlot[gr, style]\n```\n\n### Variation 2\n\n![](./assets/wechat-02.jpg)\n\n```mathematica\nstyle = {EdgeStyle -\u003e Directive[Opacity[.05], Black, Thickness -\u003e 0.0001], ImageSize -\u003e 3000};\ngraph = CommunityGraphPlot[gr,CommunityBoundaryStyle -\u003e None, style, \n  VertexLabels -\u003e \"Name\", \n  VertexLabelStyle -\u003e Directive[Black, Opacity[1], 2]]\n```\n\n\n## Houdini Node Vis\n\n```python\nimport hou\nimport json\n\ndata = []\n\ntools = hou.shelves.tools()\n\nfor node_category in hou.nodeTypeCategories().values():\n    category_name = node_category.name()\n\n    node_types = node_category.nodeTypes()\n\n    for node_type in node_types.values():\n        default_tool_name = hou.shelves.defaultToolName(\n            category_name,\n            node_type.name()\n        )\n        node_tool = tools.get(default_tool_name.lower())\n\n        node_data = {}\n        node_data[\"category\"] = category_name\n        node_data[\"name\"] = node_type.name()\n        node_data[\"nameComponents\"] = node_type.nameComponents()\n        node_data[\"description\"] = node_type.description()\n\n        if node_tool:\n            node_data[\"toolMenuLocations\"] = node_tool.toolMenuLocations()\n            node_data[\"toolLabel\"] = node_tool.label()\n\n        data.append(node_data)\n\n\nwith open('/Users/ciaochaos/Downloads/houdini_data.json', 'w') as file:\n    file.write(json.dumps(data, indent=4))\n```\n\n![](./assets/houdini-01.jpg)\n\n![](./assets/houdini-02.jpg)\n\n![](./assets/houdini-03.jpg)\n\n![](./assets/houdini-04.jpg)\n\n![](./assets/houdini-05.jpg)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flatentcat%2Fnetwork-vis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flatentcat%2Fnetwork-vis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flatentcat%2Fnetwork-vis/lists"}