Visualising hypergraphs
Force-directed drawing of hypergraphs
Motivation:
Datapoints in many real-world dataset are not necessarily dyadic in nature, e.g. relation between authors in a scientific article. Hypergraphs are generalisation of graphs that can naturally represent such data.
A hypergraph consists of a collection of points called vertices and a collection of subset of those vertices called hyperedges.
Contributions:
Under the supervision of Stephane Bressan, I implemented Hypervis, a platform for drawing hypergraphs using Fructherman-Reingolds force-based graph drawing algorithm. Currently it supports subset-based, edge-based and zykov-based drawing.
Publication/Preprints:
If you are interested in the details, please refer to my paper-
Source code:
<!-- See https://www.debugbear.com/blog/responsive-images#w-descriptors-and-the-sizes-attribute and
https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images for info on defining 'sizes' for responsive images-->
<source class = "responsive-img-srcset" srcset="
/naheed/assets/img/1-480.webp 480w,
/naheed/assets/img/1-800.webp 800w,
/naheed/assets/img/1-1400.webp 1400w,
"
sizes="95vw"
type="image/webp"/>
<img
src="/naheed/assets/img/1.jpg"
class="img-fluid rounded z-depth-1"
width="100%"
height="auto"
title="example image"
onerror="this.onerror=null; $('.responsive-img-srcset').remove();"
/>
</picture>
</figure>
</div>
<div class="col-sm mt-3 mt-md-0">
<figure>
</figure>
</div>
<div class="col-sm mt-3 mt-md-0">
<figure>
</figure>
</div>
</div>
You can also put regular text between your rows of images. Say you wanted to write a little bit about your project before you posted the rest of the images. You describe how you toiled, sweated, bled for your project, and then… you reveal its glory in the next row of images.
The code is simple. Just wrap your images with <div class="col-sm">
and place them inside <div class="row">
(read more about the Bootstrap Grid system). To make images responsive, add img-fluid
class to each; for rounded corners and shadows use rounded
and z-depth-1
classes. Here’s the code for the last row of images above:
<div class="row justify-content-sm-center">
<div class="col-sm-8 mt-3 mt-md-0">
{% include figure.html path="assets/img/6.jpg" title="example image" class="img-fluid rounded z-depth-1" %}
</div>
<div class="col-sm-4 mt-3 mt-md-0">
{% include figure.html path="assets/img/11.jpg" title="example image" class="img-fluid rounded z-depth-1" %}
</div>
</div>