Spaces:
Sleeping
Sleeping
feat: html
Browse files- presentation.html +288 -197
presentation.html
CHANGED
|
@@ -3,27 +3,29 @@
|
|
| 3 |
<head>
|
| 4 |
<meta charset="UTF-8">
|
| 5 |
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 6 |
-
<title
|
| 7 |
<style>
|
| 8 |
body {
|
| 9 |
font-family: Arial, sans-serif;
|
| 10 |
margin: 0;
|
| 11 |
padding: 0;
|
| 12 |
background-color: #f5f5f5;
|
|
|
|
| 13 |
}
|
| 14 |
.slide-container {
|
| 15 |
-
max-width:
|
| 16 |
margin: 0 auto;
|
| 17 |
background-color: white;
|
| 18 |
box-shadow: 0 0 10px rgba(0,0,0,0.1);
|
| 19 |
padding: 20px;
|
|
|
|
| 20 |
}
|
| 21 |
.slide {
|
| 22 |
-
margin-bottom: 30px;
|
| 23 |
padding: 20px;
|
| 24 |
border-radius: 5px;
|
| 25 |
background-color: #fff;
|
| 26 |
box-shadow: 0 0 5px rgba(0,0,0,0.1);
|
|
|
|
| 27 |
}
|
| 28 |
.slide h2 {
|
| 29 |
color: #2c3e50;
|
|
@@ -41,28 +43,6 @@
|
|
| 41 |
white-space: pre-wrap;
|
| 42 |
margin: 10px 0;
|
| 43 |
}
|
| 44 |
-
.highlight {
|
| 45 |
-
background-color: #e8f4f8;
|
| 46 |
-
padding: 2px 5px;
|
| 47 |
-
border-radius: 3px;
|
| 48 |
-
}
|
| 49 |
-
.navigation {
|
| 50 |
-
text-align: center;
|
| 51 |
-
margin-top: 20px;
|
| 52 |
-
}
|
| 53 |
-
.navigation button {
|
| 54 |
-
padding: 10px 20px;
|
| 55 |
-
margin: 0 10px;
|
| 56 |
-
background-color: #3498db;
|
| 57 |
-
color: white;
|
| 58 |
-
border: none;
|
| 59 |
-
border-radius: 5px;
|
| 60 |
-
cursor: pointer;
|
| 61 |
-
font-size: 16px;
|
| 62 |
-
}
|
| 63 |
-
.navigation button:hover {
|
| 64 |
-
background-color: #2980b9;
|
| 65 |
-
}
|
| 66 |
table {
|
| 67 |
width: 100%;
|
| 68 |
border-collapse: collapse;
|
|
@@ -76,221 +56,332 @@
|
|
| 76 |
th {
|
| 77 |
background-color: #f2f2f2;
|
| 78 |
}
|
| 79 |
-
|
| 80 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 81 |
color: #2c3e50;
|
| 82 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 83 |
</style>
|
| 84 |
</head>
|
| 85 |
<body>
|
| 86 |
<div class="slide-container">
|
| 87 |
-
<div class="slide"
|
| 88 |
-
<h2
|
| 89 |
-
<p
|
| 90 |
-
<p
|
| 91 |
-
</div>
|
| 92 |
-
|
| 93 |
-
<div class="slide" id="slide2" style="display: none;">
|
| 94 |
-
<h2>主要Python超图可视化库</h2>
|
| 95 |
-
<p>通过研究,确定了四个主要的Python库,它们提供超图可视化功能:</p>
|
| 96 |
<ul>
|
| 97 |
-
<li><strong
|
| 98 |
-
<li><strong
|
| 99 |
-
<li><strong>XGI (CompleX Group Interactions)</strong>:由网络科学家设计,专注于建模、分析和可视化具有群体交互的复杂系统。</li>
|
| 100 |
-
<li><strong>dhg (DeepHypergraph)</strong>:基于PyTorch的深度学习库,专门设计用于图和超图神经网络。</li>
|
| 101 |
</ul>
|
| 102 |
</div>
|
| 103 |
|
| 104 |
-
<div class="slide"
|
| 105 |
-
<h2>
|
| 106 |
-
<p
|
| 107 |
-
<
|
| 108 |
-
|
| 109 |
-
|
| 110 |
-
|
| 111 |
-
|
| 112 |
-
|
| 113 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 114 |
<ul>
|
| 115 |
-
<li
|
| 116 |
-
<li
|
|
|
|
|
|
|
| 117 |
</ul>
|
|
|
|
| 118 |
</div>
|
| 119 |
|
| 120 |
-
<div class="slide"
|
| 121 |
-
<h2>
|
| 122 |
-
<p
|
| 123 |
-
<p>交互功能:</p>
|
| 124 |
<ul>
|
| 125 |
-
<li
|
|
|
|
| 126 |
</ul>
|
| 127 |
-
<p
|
| 128 |
<ul>
|
| 129 |
-
<li
|
| 130 |
-
<li>其可视化功能对于大型数据集的稳定性未明确说明。</li>
|
| 131 |
</ul>
|
| 132 |
</div>
|
| 133 |
|
| 134 |
-
<div class="slide"
|
| 135 |
-
<h2>
|
| 136 |
-
<p
|
| 137 |
-
<p>交互功能:</p>
|
| 138 |
<ul>
|
| 139 |
-
<li
|
|
|
|
| 140 |
</ul>
|
| 141 |
-
<p
|
| 142 |
<ul>
|
| 143 |
-
<li
|
| 144 |
-
<li>缺乏其可视化对于大型超图的稳定性的直接证据。</li>
|
| 145 |
</ul>
|
| 146 |
</div>
|
| 147 |
|
| 148 |
-
<div class="slide"
|
| 149 |
-
<h2
|
| 150 |
-
<p
|
| 151 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 152 |
<ul>
|
| 153 |
-
<li
|
|
|
|
| 154 |
</ul>
|
| 155 |
-
<p
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 156 |
<ul>
|
| 157 |
-
<li
|
| 158 |
-
<li
|
|
|
|
| 159 |
</ul>
|
| 160 |
</div>
|
| 161 |
|
| 162 |
-
<div class="slide"
|
| 163 |
-
<h2
|
| 164 |
-
<
|
| 165 |
-
|
| 166 |
-
<th>功能</th>
|
| 167 |
-
<th>HyperNetX</th>
|
| 168 |
-
<th>Hypergraphx</th>
|
| 169 |
-
<th>XGI</th>
|
| 170 |
-
<th>dhg</th>
|
| 171 |
-
</tr>
|
| 172 |
-
<tr>
|
| 173 |
-
<td>缩放</td>
|
| 174 |
-
<td>是</td>
|
| 175 |
-
<td>否</td>
|
| 176 |
-
<td>否</td>
|
| 177 |
-
<td>否</td>
|
| 178 |
-
</tr>
|
| 179 |
-
<tr>
|
| 180 |
-
<td>平移</td>
|
| 181 |
-
<td>是</td>
|
| 182 |
-
<td>否</td>
|
| 183 |
-
<td>否</td>
|
| 184 |
-
<td>否</td>
|
| 185 |
-
</tr>
|
| 186 |
-
<tr>
|
| 187 |
-
<td>节点选择</td>
|
| 188 |
-
<td>是</td>
|
| 189 |
-
<td>否</td>
|
| 190 |
-
<td>否</td>
|
| 191 |
-
<td>否</td>
|
| 192 |
-
</tr>
|
| 193 |
-
<tr>
|
| 194 |
-
<td>边选择</td>
|
| 195 |
-
<td>是</td>
|
| 196 |
-
<td>否</td>
|
| 197 |
-
<td>否</td>
|
| 198 |
-
<td>否</td>
|
| 199 |
-
</tr>
|
| 200 |
-
<tr>
|
| 201 |
-
<td>拖拽</td>
|
| 202 |
-
<td>是</td>
|
| 203 |
-
<td>否</td>
|
| 204 |
-
<td>否</td>
|
| 205 |
-
<td>否</td>
|
| 206 |
-
</tr>
|
| 207 |
-
<tr>
|
| 208 |
-
<td>刷选</td>
|
| 209 |
-
<td>是</td>
|
| 210 |
-
<td>否</td>
|
| 211 |
-
<td>否</td>
|
| 212 |
-
<td>否</td>
|
| 213 |
-
</tr>
|
| 214 |
-
<tr>
|
| 215 |
-
<td>工具提示</td>
|
| 216 |
-
<td>是</td>
|
| 217 |
-
<td>否</td>
|
| 218 |
-
<td>否</td>
|
| 219 |
-
<td>否</td>
|
| 220 |
-
</tr>
|
| 221 |
-
<tr>
|
| 222 |
-
<td>节点折叠</td>
|
| 223 |
-
<td>是</td>
|
| 224 |
-
<td>否</td>
|
| 225 |
-
<td>否</td>
|
| 226 |
-
<td>否</td>
|
| 227 |
-
</tr>
|
| 228 |
-
<tr>
|
| 229 |
-
<td>二分图视图</td>
|
| 230 |
-
<td>是</td>
|
| 231 |
-
<td>是</td>
|
| 232 |
-
<td>是</td>
|
| 233 |
-
<td>否</td>
|
| 234 |
-
</tr>
|
| 235 |
-
<tr>
|
| 236 |
-
<td>属性控制</td>
|
| 237 |
-
<td>是</td>
|
| 238 |
-
<td>否</td>
|
| 239 |
-
<td>是</td>
|
| 240 |
-
<td>否</td>
|
| 241 |
-
</tr>
|
| 242 |
-
</table>
|
| 243 |
</div>
|
| 244 |
|
| 245 |
-
<div class="slide"
|
| 246 |
-
<h2
|
| 247 |
-
<p
|
| 248 |
-
<
|
| 249 |
-
|
| 250 |
-
<li>核心 HNX 库稳定且文档完善,拥有支持性的社区和交互式教程等资源。</li>
|
| 251 |
-
<li>对于处理大型超图,HNX 提供节点折叠作为视觉辅助。</li>
|
| 252 |
-
</ul>
|
| 253 |
-
<p>建议:</p>
|
| 254 |
<ul>
|
| 255 |
-
<li
|
| 256 |
-
<li
|
|
|
|
| 257 |
</ul>
|
| 258 |
</div>
|
| 259 |
|
| 260 |
-
<div class="
|
| 261 |
-
<
|
| 262 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 263 |
</div>
|
| 264 |
-
</div>
|
| 265 |
-
|
| 266 |
-
<script>
|
| 267 |
-
let currentSlide = 1;
|
| 268 |
-
const totalSlides = 8;
|
| 269 |
|
| 270 |
-
|
| 271 |
-
|
| 272 |
-
|
| 273 |
-
|
| 274 |
-
|
| 275 |
-
|
| 276 |
-
|
| 277 |
-
|
| 278 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 279 |
|
| 280 |
-
|
| 281 |
-
|
| 282 |
-
|
| 283 |
-
|
| 284 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 285 |
|
| 286 |
-
|
| 287 |
-
|
| 288 |
-
|
| 289 |
-
|
| 290 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 291 |
|
| 292 |
-
|
| 293 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 294 |
</script>
|
| 295 |
</body>
|
| 296 |
</html>
|
|
|
|
| 3 |
<head>
|
| 4 |
<meta charset="UTF-8">
|
| 5 |
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 6 |
+
<title>基于Python的最佳稳定交互式超图可视化库分析</title>
|
| 7 |
<style>
|
| 8 |
body {
|
| 9 |
font-family: Arial, sans-serif;
|
| 10 |
margin: 0;
|
| 11 |
padding: 0;
|
| 12 |
background-color: #f5f5f5;
|
| 13 |
+
overflow-x: hidden;
|
| 14 |
}
|
| 15 |
.slide-container {
|
| 16 |
+
max-width: 1200px;
|
| 17 |
margin: 0 auto;
|
| 18 |
background-color: white;
|
| 19 |
box-shadow: 0 0 10px rgba(0,0,0,0.1);
|
| 20 |
padding: 20px;
|
| 21 |
+
position: relative;
|
| 22 |
}
|
| 23 |
.slide {
|
|
|
|
| 24 |
padding: 20px;
|
| 25 |
border-radius: 5px;
|
| 26 |
background-color: #fff;
|
| 27 |
box-shadow: 0 0 5px rgba(0,0,0,0.1);
|
| 28 |
+
margin-bottom: 20px;
|
| 29 |
}
|
| 30 |
.slide h2 {
|
| 31 |
color: #2c3e50;
|
|
|
|
| 43 |
white-space: pre-wrap;
|
| 44 |
margin: 10px 0;
|
| 45 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 46 |
table {
|
| 47 |
width: 100%;
|
| 48 |
border-collapse: collapse;
|
|
|
|
| 56 |
th {
|
| 57 |
background-color: #f2f2f2;
|
| 58 |
}
|
| 59 |
+
a {
|
| 60 |
+
color: #3498db;
|
| 61 |
+
text-decoration: none;
|
| 62 |
+
}
|
| 63 |
+
a:hover {
|
| 64 |
+
text-decoration: underline;
|
| 65 |
+
}
|
| 66 |
+
.interactive-element {
|
| 67 |
+
margin: 20px 0;
|
| 68 |
+
padding: 15px;
|
| 69 |
+
background-color: #f8f9fa;
|
| 70 |
+
border-radius: 5px;
|
| 71 |
+
}
|
| 72 |
+
.interactive-element h3 {
|
| 73 |
+
margin-top: 0;
|
| 74 |
color: #2c3e50;
|
| 75 |
}
|
| 76 |
+
.interactive-element p {
|
| 77 |
+
margin-bottom: 10px;
|
| 78 |
+
}
|
| 79 |
+
.interactive-element button {
|
| 80 |
+
padding: 8px 15px;
|
| 81 |
+
margin: 5px;
|
| 82 |
+
background-color: #3498db;
|
| 83 |
+
color: white;
|
| 84 |
+
border: none;
|
| 85 |
+
border-radius: 3px;
|
| 86 |
+
cursor: pointer;
|
| 87 |
+
}
|
| 88 |
+
.interactive-element button:hover {
|
| 89 |
+
background-color: #2980b9;
|
| 90 |
+
}
|
| 91 |
+
.tab-container {
|
| 92 |
+
display: flex;
|
| 93 |
+
margin: 20px 0;
|
| 94 |
+
}
|
| 95 |
+
.tab {
|
| 96 |
+
padding: 10px 20px;
|
| 97 |
+
background-color: #f2f2f2;
|
| 98 |
+
border: 1px solid #ddd;
|
| 99 |
+
cursor: pointer;
|
| 100 |
+
}
|
| 101 |
+
.tab.active {
|
| 102 |
+
background-color: #3498db;
|
| 103 |
+
color: white;
|
| 104 |
+
}
|
| 105 |
+
.tab-content {
|
| 106 |
+
padding: 20px;
|
| 107 |
+
border: 1px solid #ddd;
|
| 108 |
+
border-top: none;
|
| 109 |
+
display: none;
|
| 110 |
+
}
|
| 111 |
+
.tab-content.active {
|
| 112 |
+
display: block;
|
| 113 |
+
}
|
| 114 |
</style>
|
| 115 |
</head>
|
| 116 |
<body>
|
| 117 |
<div class="slide-container">
|
| 118 |
+
<div class="slide">
|
| 119 |
+
<h2>基于Python的最佳稳定交互式超图可视化库分析</h2>
|
| 120 |
+
<p>超图(Hypergraph)允许边连接任意数量的顶点,比传统图(Graph)更适合描述多对多关系(如科研合作网络、基因调控网络等)。</p>
|
| 121 |
+
<p>超图可视化面临两大核心挑战:</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 122 |
<ul>
|
| 123 |
+
<li><strong>高维度边表示</strong>:超边(Hyperedge)的几何形态难以直观呈现,传统Venn图或Euler图在大规模数据下可读性差。</li>
|
| 124 |
+
<li><strong>动态交互需求</strong>:动态超图需要时间维度与空间结构的同步展示,对布局算法和用户交互提出更高要求。</li>
|
|
|
|
|
|
|
| 125 |
</ul>
|
| 126 |
</div>
|
| 127 |
|
| 128 |
+
<div class="slide">
|
| 129 |
+
<h2>Python中主流超图库的对比分析</h2>
|
| 130 |
+
<p>以下从稳定性、交互性和维护状态三个维度,对HyperNetX、XGI、HGX等库进行深入评估:</p>
|
| 131 |
+
<table>
|
| 132 |
+
<tr>
|
| 133 |
+
<th>库名称</th>
|
| 134 |
+
<th>维护机构/团队</th>
|
| 135 |
+
<th>最新版本</th>
|
| 136 |
+
<th>更新频率</th>
|
| 137 |
+
<th>社区活跃度</th>
|
| 138 |
+
<th>交互功能支持</th>
|
| 139 |
+
<th>中文文档覆盖</th>
|
| 140 |
+
</tr>
|
| 141 |
+
<tr>
|
| 142 |
+
<td>HyperNetX</td>
|
| 143 |
+
<td>太平洋西北国家实验室 (PNNL)</td>
|
| 144 |
+
<td>2.3 (2023)</td>
|
| 145 |
+
<td>高频</td>
|
| 146 |
+
<td>⭐⭐⭐⭐</td>
|
| 147 |
+
<td>Jupyter Widget动态交互、布局调整</td>
|
| 148 |
+
<td>部分教程</td>
|
| 149 |
+
</tr>
|
| 150 |
+
<tr>
|
| 151 |
+
<td>XGI</td>
|
| 152 |
+
<td>国际跨学科研究团队</td>
|
| 153 |
+
<td>0.7 (2023)</td>
|
| 154 |
+
<td>中频</td>
|
| 155 |
+
<td>⭐⭐⭐</td>
|
| 156 |
+
<td>Matplotlib静态绘图、布局自定义</td>
|
| 157 |
+
<td>无</td>
|
| 158 |
+
</tr>
|
| 159 |
+
<tr>
|
| 160 |
+
<td>HGX</td>
|
| 161 |
+
<td>HGX-Team</td>
|
| 162 |
+
<td>1.0 (2023)</td>
|
| 163 |
+
<td>中频</td>
|
| 164 |
+
<td>⭐⭐</td>
|
| 165 |
+
<td>基础可视化、动态过程模拟</td>
|
| 166 |
+
<td>无</td>
|
| 167 |
+
</tr>
|
| 168 |
+
<tr>
|
| 169 |
+
<td>NetworkX</td>
|
| 170 |
+
<td>开源社区</td>
|
| 171 |
+
<td>3.1 (2024)</td>
|
| 172 |
+
<td>高频</td>
|
| 173 |
+
<td>⭐⭐⭐⭐⭐</td>
|
| 174 |
+
<td>仅支持普通图,需超图转换</td>
|
| 175 |
+
<td>有中文文档</td>
|
| 176 |
+
</tr>
|
| 177 |
+
</table>
|
| 178 |
+
</div>
|
| 179 |
+
|
| 180 |
+
<div class="slide">
|
| 181 |
+
<h2>HyperNetX:交互式可视化标杆</h2>
|
| 182 |
+
<p><a href="https://pnnl.github.io/hypernetx-widget/" target="_blank">hnx-widget 0.1.0-beta.4 Demo</a></p>
|
| 183 |
+
<p><strong>核心优势</strong>:</p>
|
| 184 |
<ul>
|
| 185 |
+
<li><strong>动态交互</strong>:通过HyperNetX-Widget实现Jupyter Notebook内的实时节点拖拽、属性面板查看、超边合并/拆分。</li>
|
| 186 |
+
<li><strong>算法扩展</strong>:支持星形扩展(Star Expansion)和团扩展(Clique Expansion),将超图转换为普通图进行传统算法适配。</li>
|
| 187 |
+
<li><strong>动态超图支持</strong>:整合PAOHvis技术,以并行水平条表示顶点、垂直线表示超边,实现时间演变的无重叠可视化。</li>
|
| 188 |
+
<li><strong>稳定性保障</strong>:由国家级实验室维护,代码质量通过Pylint/Black严格检查,依赖管理使用Poetry。</li>
|
| 189 |
</ul>
|
| 190 |
+
<p><strong>应用场景</strong>:适用于中等规模动态超图(如论文合作网络演化分析)。</p>
|
| 191 |
</div>
|
| 192 |
|
| 193 |
+
<div class="slide">
|
| 194 |
+
<h2>XGI:高阶网络分析的轻量选择</h2>
|
| 195 |
+
<p><strong>核心优势</strong>:</p>
|
|
|
|
| 196 |
<ul>
|
| 197 |
+
<li><strong>API友好性</strong>:继承NetworkX的API设计,支持add_edge()直接添加超边,降低学习成本。</li>
|
| 198 |
+
<li><strong>统计模块丰富</strong>:提供节点度分布、超边大小直方图等分析工具,支持单纯复形(Simplicial Complex)的拓扑分析。</li>
|
| 199 |
</ul>
|
| 200 |
+
<p><strong>局限性</strong>:</p>
|
| 201 |
<ul>
|
| 202 |
+
<li>可视化依赖Matplotlib,交互性较弱,需手动调用draw()函数更新图形。</li>
|
|
|
|
| 203 |
</ul>
|
| 204 |
</div>
|
| 205 |
|
| 206 |
+
<div class="slide">
|
| 207 |
+
<h2>HGX:高阶网络的全功能工具箱</h2>
|
| 208 |
+
<p><strong>核心优势</strong>:</p>
|
|
|
|
| 209 |
<ul>
|
| 210 |
+
<li><strong>算法覆盖面广</strong>:提供加权/有向超边、动态过程模拟(如传染病模型)、多层超图分析。</li>
|
| 211 |
+
<li><strong>数据兼容性</strong>:支持CSV/JSON格式输入,内置高中合作等现实数据集。</li>
|
| 212 |
</ul>
|
| 213 |
+
<p><strong>局限性</strong>:</p>
|
| 214 |
<ul>
|
| 215 |
+
<li>社区规模较小,文档以英文为主,可视化功能不如HyperNetX直观。</li>
|
|
|
|
| 216 |
</ul>
|
| 217 |
</div>
|
| 218 |
|
| 219 |
+
<div class="slide">
|
| 220 |
+
<h2>选型建议与使用策略</h2>
|
| 221 |
+
<p><strong>优先选择HyperNetX</strong>:若需求聚焦于交互式探索和动态超图,HyperNetX的Widget和PAOHvis技术为最优解。</p>
|
| 222 |
+
<div class="code-block">
|
| 223 |
+
from hypernetx import HyperNetXWidget<br>
|
| 224 |
+
H = hnx.Hypergraph(data) # 数据加载<br>
|
| 225 |
+
widget = HyperNetXWidget(H, layout='barycenter_spring')<br>
|
| 226 |
+
widget.show() # Jupyter中显示交互面板
|
| 227 |
+
</div>
|
| 228 |
+
<p><strong>备选XGI或HGX</strong>:</p>
|
| 229 |
<ul>
|
| 230 |
+
<li><strong>快速原型开发</strong>:XGI的NetworkX式API适合快速验证算法。</li>
|
| 231 |
+
<li><strong>复杂系统建模</strong>:HGX的生成模型(如优先连接模型)适合社会网络仿真。</li>
|
| 232 |
</ul>
|
| 233 |
+
<p><strong>NetworkX的补充作用</strong>:通过超图转换(如星形扩展)复用传统图算法。</p>
|
| 234 |
+
<div class="code-block">
|
| 235 |
+
import networkx as nx<br>
|
| 236 |
+
star_graph = hnx.convert_to_star(H) # 超图转普通图<br>
|
| 237 |
+
nx.draw(star_graph, with_labels=True)
|
| 238 |
+
</div>
|
| 239 |
+
</div>
|
| 240 |
+
|
| 241 |
+
<div class="slide">
|
| 242 |
+
<h2>未来研究方向</h2>
|
| 243 |
<ul>
|
| 244 |
+
<li><strong>混合布局算法</strong>:结合力导向布局与层次布局,优化超边重叠问题(参考PAOHvis的并行聚合技术)。</li>
|
| 245 |
+
<li><strong>GPU加速渲染</strong>:利用CUDA加速大规模超图的可视化计算(如NVIDIA HGX架构的潜在适配)。</li>
|
| 246 |
+
<li><strong>中文社区建设</strong>:推动HyperNetX中文教程本地化,降低非英语用户门槛。</li>
|
| 247 |
</ul>
|
| 248 |
</div>
|
| 249 |
|
| 250 |
+
<div class="slide">
|
| 251 |
+
<h2>总结</h2>
|
| 252 |
+
<p>HyperNetX凭借其交互式组件和国家级实验室背书,成为Python中超图可视化的首选。XGI和HGX在特定场景(如高阶统计、动态模拟)中表现优异,而NetworkX可作为辅助工具。</p>
|
| 253 |
+
<p>随着动态超图需求的增长,未来库的优化需重点关注时间维度表达与计算性能提升。</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 254 |
</div>
|
| 255 |
|
| 256 |
+
<div class="slide">
|
| 257 |
+
<h2>iMoon Lab:超图计算研究前沿</h2>
|
| 258 |
+
<p><a href="https://moon-lab.tech/" target="_blank">Intelligent Media and Cognition Lab (iMoon Lab)</a></p>
|
| 259 |
+
<p>iMoon Lab主要研究人工智能、计算机视觉和数据挖掘,特别关注超图计算理论、方法和应用。</p>
|
| 260 |
+
<p><strong>研究方向</strong>:</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
| 261 |
<ul>
|
| 262 |
+
<li>超图计算理论与超图神经网络方法。</li>
|
| 263 |
+
<li>计算机视觉中的应用:2D/3D注册、3D场景建模、立体物体识别、基于事件数据的视觉数据增强。</li>
|
| 264 |
+
<li>医学超图计算:高阶脑网络分析、医学辅助诊断、病理图像检索与分析。</li>
|
| 265 |
</ul>
|
| 266 |
</div>
|
| 267 |
|
| 268 |
+
<div class="slide">
|
| 269 |
+
<h2>基于Streamlit的数据交互逻辑设计</h2>
|
| 270 |
+
<div class="interactive-element">
|
| 271 |
+
<h3>Streamlit简介</h3>
|
| 272 |
+
<p>Streamlit是一个用于创建Web应用的Python库,可以帮助我们快速构建交互式的数据应用。</p>
|
| 273 |
+
<p>特点:</p>
|
| 274 |
+
<ul>
|
| 275 |
+
<li>简单易用</li>
|
| 276 |
+
<li>支持实时交互</li>
|
| 277 |
+
<li>自动刷新</li>
|
| 278 |
+
<li>支持���种数据格式</li>
|
| 279 |
+
</ul>
|
| 280 |
+
</div>
|
| 281 |
+
<div class="interactive-element">
|
| 282 |
+
<h3>数据交互逻辑</h3>
|
| 283 |
+
<p>通过侧边栏控件(如滑动条、选择框)实现参数调整。</p>
|
| 284 |
+
<p>动态更新可视化结果,支持用户交互(如点击、选择、拖动)。</p>
|
| 285 |
+
<p>支持数据筛选、排序、聚合等操作。</p>
|
| 286 |
+
</div>
|
| 287 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 288 |
|
| 289 |
+
<div class="slide">
|
| 290 |
+
<h2>Streamlit代码示例</h2>
|
| 291 |
+
<div class="code-block">
|
| 292 |
+
import streamlit as st<br>
|
| 293 |
+
import pandas as pd<br>
|
| 294 |
+
import numpy as np<br>
|
| 295 |
+
import plotly.express as px<br>
|
| 296 |
+
import hypernetx as hnx<br>
|
| 297 |
+
<br>
|
| 298 |
+
def main():<br>
|
| 299 |
+
st.title("超图可视化分析")<br>
|
| 300 |
+
<br>
|
| 301 |
+
# 数据加载<br>
|
| 302 |
+
data = load_data()<br>
|
| 303 |
+
<br>
|
| 304 |
+
# 侧边栏控件<br>
|
| 305 |
+
with st.sidebar:<br>
|
| 306 |
+
st.header("控制面板")<br>
|
| 307 |
+
num_samples = st.slider("选择采样数量", 1, 100, 10)<br>
|
| 308 |
+
display_option = st.selectbox("选择显示选项", ["Top K Clusters", "Clusters Up To Probability P"])<br>
|
| 309 |
+
<br>
|
| 310 |
+
# 数据处理<br>
|
| 311 |
+
sampled_data = process_data(data, num_samples)<br>
|
| 312 |
+
hyperedges = build_hyperedges(sampled_data)<br>
|
| 313 |
+
hypergraph = hnx.Hypergraph(hyperedges)<br>
|
| 314 |
+
<br>
|
| 315 |
+
# 可视化<br>
|
| 316 |
+
if st.checkbox("显示超图", True):<br>
|
| 317 |
+
visualize_hypergraph(hypergraph)<br>
|
| 318 |
+
if st.checkbox("显示统计信息", False):<br>
|
| 319 |
+
visualize_statistics(sampled_data)<br>
|
| 320 |
+
<br>
|
| 321 |
+
if __name__ == "__main__":<br>
|
| 322 |
+
main()
|
| 323 |
+
</div>
|
| 324 |
+
</div>
|
| 325 |
|
| 326 |
+
<div class="slide">
|
| 327 |
+
<h2>Streamlit交互功能</h2>
|
| 328 |
+
<div class="interactive-element">
|
| 329 |
+
<h3>交互控件</h3>
|
| 330 |
+
<p>滑动条:调整参数(如采样数量、K值等)。</p>
|
| 331 |
+
<p>选择框:选择显示选项(如Top K Clusters、Clusters Up To Probability P)。</p>
|
| 332 |
+
<p>复选框:控制可视化内容的显示与隐藏。</p>
|
| 333 |
+
</div>
|
| 334 |
+
<div class="interactive-element">
|
| 335 |
+
<h3>动态更新</h3>
|
| 336 |
+
<p>用户调整参数后,页面自动刷新并更新可视化结果。</p>
|
| 337 |
+
<p>支持实时交互,如点击节点查看详情、拖动节点调整布局。</p>
|
| 338 |
+
</div>
|
| 339 |
+
<div class="interactive-element">
|
| 340 |
+
<h3>数据导出</h3>
|
| 341 |
+
<p>支持将可视化结果导出为图片或PDF。</p>
|
| 342 |
+
<p>支持将处理后的数据导出为CSV或JSON格式。</p>
|
| 343 |
+
</div>
|
| 344 |
+
</div>
|
| 345 |
|
| 346 |
+
<div class="slide">
|
| 347 |
+
<h2>Streamlit与超图可视化结合</h2>
|
| 348 |
+
<div class="interactive-element">
|
| 349 |
+
<h3>优势</h3>
|
| 350 |
+
<p>快速构建交互式Web应用,无需编写前端代码。</p>
|
| 351 |
+
<p>支持多种可视化库(如Plotly、Matplotlib、HyperNetX)。</p>
|
| 352 |
+
<p>易于集成机器学习模型和数据分析工具。</p>
|
| 353 |
+
</div>
|
| 354 |
+
<div class="interactive-element">
|
| 355 |
+
<h3>应用场景</h3>
|
| 356 |
+
<p>科研数据分析:可视化超图结构,探索高阶交互关系。</p>
|
| 357 |
+
<p>教育与教学:创建交互式教学工具,帮助学生理解复杂概念。</p>
|
| 358 |
+
<p>商业智能:构建交互式仪表板,支持决策制定。</p>
|
| 359 |
+
</div>
|
| 360 |
+
</div>
|
| 361 |
+
</div>
|
| 362 |
|
| 363 |
+
<script>
|
| 364 |
+
// 交互功能示���
|
| 365 |
+
document.addEventListener('DOMContentLoaded', function() {
|
| 366 |
+
// 标签切换功能
|
| 367 |
+
const tabs = document.querySelectorAll('.tab');
|
| 368 |
+
tabs.forEach(tab => {
|
| 369 |
+
tab.addEventListener('click', function() {
|
| 370 |
+
// 移除所有标签的active类
|
| 371 |
+
tabs.forEach(t => t.classList.remove('active'));
|
| 372 |
+
// 为当前点击的标签添加active类
|
| 373 |
+
this.classList.add('active');
|
| 374 |
+
|
| 375 |
+
// 隐藏所有内容
|
| 376 |
+
const contents = document.querySelectorAll('.tab-content');
|
| 377 |
+
contents.forEach(content => content.classList.remove('active'));
|
| 378 |
+
|
| 379 |
+
// 显示当前标签对应的内容
|
| 380 |
+
const targetContent = document.querySelector(this.getAttribute('data-target'));
|
| 381 |
+
targetContent.classList.add('active');
|
| 382 |
+
});
|
| 383 |
+
});
|
| 384 |
+
});
|
| 385 |
</script>
|
| 386 |
</body>
|
| 387 |
</html>
|