Venn diagrams are excellent for explaining things that have to do with sets. I recently needed it when explaining what "AND, OR, NOT" meant in a query language.
I'm certainly no artist, but here's a quick illustration:
+1
Yes please, I'd love a 3 circle venn outline too. Really useful! Thanks :)
+1
+1
Also +1 for unfolddigitals suggestion of 3 circle outline (in triangular formation). My use case would be to signify geographical regions.
Please :)
Sugestions for names:
fa-set-intersection
fa-set-difference
+1
I could use something like this as well.
+1
+1
+1
+1
+1
even though a venn diagram with three circles would be awesome
+1
Particularly the intersection but ideally all three.
+1
These would be extremely useful for query builder interfaces
I didn't mention it, but a venn diagram is also a universal symbol for _comparison_ or _compare and contrast_. Is font awesome moving slow on adoption, or have they made any of our requests?
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
OMG, this request was made in Oct 2013!!! C'mon, FA, it's about time to comment on it!
+1
+1
+1
Hi All,
Just a note in the meantime.
You can create simple Venn diagrams (not quite as the ones shown) using a combination of fa-circles, fa-layers and fa-transform.
The great thing about doing it this way, is you can change how big each of the circles are and where they are using the right- and shrink- attributes.
Hope this helps someone! :)
I'm a newby to GitHub, but hopefully my code below comes through (and you can see past the inline styling).
Workaround until these land, you can create square based ones using transforms/layers. This issue is duplicated by https://github.com/FortAwesome/Font-Awesome/issues/11196 which also includes symmetric difference.
<div class="fa-3x">
<!-- intersection: A ∩ B -->
<div class="fa-layers fa-fw">
<span class="far fa-square" data-fa-transform="shrink-6 left-2 up-2"></span>
<span class="far fa-square" data-fa-transform="shrink-6 right-2 down-2"></span>
<span class="fas fa-square" data-fa-transform="shrink-10"></span>
</div>
<!-- symmetric difference: A â–³ B -->
<div class="fa-layers fa-fw">
<span class="fas fa-square" data-fa-transform="shrink-6 left-2 up-2"></span>
<span class="fas fa-square" data-fa-transform="shrink-6 right-2 down-2"></span>
<span class="fas fa-square fa-inverse" data-fa-transform="shrink-11"></span>
<span class="far fa-square" data-fa-transform="shrink-10"></span>
</div>
<!-- union: A ∪ B -->
<div class="fa-layers fa-fw">
<span class="fas fa-square" data-fa-transform="shrink-6 left-2 up-2"></span>
<span class="fas fa-square" data-fa-transform="shrink-6 right-2 down-2"></span>
<span class="fas fa-square" data-fa-transform="shrink-10"></span>
</div>
<!-- difference: A ∖ B -->
<div class="fa-layers fa-fw">
<span class="fas fa-square" data-fa-transform="shrink-6 left-2 up-2"></span>
<span class="far fa-square" data-fa-transform="shrink-6 right-2 down-2"></span>
<span class="fas fa-square fa-inverse" data-fa-transform="shrink-12"></span>
<span class="far fa-square" data-fa-transform="shrink-10"></span>
</div>
</div>
@Theriault thanks!
Expanding on @Theriault's beautiful example, I've performed something similar for cirlces, though it requires a little more transformations to accommodate the oblong intersections. There's also opportunity for someone to improve it to be even more exact.
https://jsfiddle.net/vol7ron/jevn851x/
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css" integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr" crossorigin="anonymous">
<script defer src="https://use.fontawesome.com/releases/v5.7.2/js/all.js" integrity="sha384-0pzryjIRos8mFBWMzSSZApWtPl/5++eIfzYmTgBBmXYdhvxPc+XcFEk+zJwDgWbP" crossorigin="anonymous"></script>
<style>
.stretch-y {
transform: scale(1, 1.5);
}
.stretch-rotate {
transform: rotate(45deg) scale(1,1.5);
}
</style>
<!-- Square -->
<div class="fa-3x">
<!-- intersection: A ∩ B -->
<div class="fa-layers fa-fw">
<span class="far fa-square" data-fa-transform="shrink-6 left-2 up-2"></span>
<span class="far fa-square" data-fa-transform="shrink-6 right-2 down-2"></span>
<span class="fas fa-square" data-fa-transform="shrink-10"></span>
</div>
<!-- symmetric difference: A â–³ B -->
<div class="fa-layers fa-fw">
<span class="fas fa-square" data-fa-transform="shrink-6 left-2 up-2"></span>
<span class="fas fa-square" data-fa-transform="shrink-6 right-2 down-2"></span>
<span class="fas fa-square fa-inverse" data-fa-transform="shrink-11"></span>
<span class="far fa-square" data-fa-transform="shrink-10"></span>
</div>
<!-- union: A ∪ B -->
<div class="fa-layers fa-fw">
<span class="fas fa-square" data-fa-transform="shrink-6 left-2 up-2"></span>
<span class="fas fa-square" data-fa-transform="shrink-6 right-2 down-2"></span>
<span class="fas fa-square" data-fa-transform="shrink-10"></span>
</div>
<!-- difference: A ∖ B -->
<div class="fa-layers fa-fw">
<span class="fas fa-square" data-fa-transform="shrink-6 left-2 up-2"></span>
<span class="far fa-square" data-fa-transform="shrink-6 right-2 down-2"></span>
<span class="fas fa-square fa-inverse" data-fa-transform="shrink-12"></span>
<span class="far fa-square" data-fa-transform="shrink-10"></span>
</div>
</div>
<!-- Horizontal Circles -->
<div class="fa-3x">
<!-- intersection: A ∩ B -->
<div class="fa-layers fa-fw">
<span class="far fa-circle" data-fa-transform="shrink-6 left-2"></span>
<span class="far fa-circle" data-fa-transform="shrink-6 right-2"></span>
<span class="fas fa-circle stretch-y" data-fa-transform="shrink-10"></span>
</div>
<!-- symmetric difference: A â–³ B -->
<div class="fa-layers fa-fw">
<span class="fas fa-circle" data-fa-transform="shrink-6 left-2"></span>
<span class="fas fa-circle" data-fa-transform="shrink-6 right-2"></span>
<span class="fas fa-circle fa-inverse stretch-y" data-fa-transform="shrink-11"></span>
<span class="far fa-circle stretch-y" data-fa-transform="shrink-10"></span>
</div>
<!-- union: A ∪ B -->
<div class="fa-layers fa-fw">
<span class="fas fa-circle" data-fa-transform="shrink-6 left-2"></span>
<span class="fas fa-circle" data-fa-transform="shrink-6 right-2"></span>
<span class="fas fa-circle fa-inverse stretch-y" data-fa-transform="shrink-10"></span>
<span class="fas fa-circle stretch-y" data-fa-transform="shrink-11"></span>
</div>
<!-- difference: A ∖ B -->
<div class="fa-layers fa-fw">
<span class="fas fa-circle" data-fa-transform="shrink-6 left-2"></span>
<span class="far fa-circle" data-fa-transform="shrink-6 right-2"></span>
<span class="fas fa-circle fa-inverse stretch-y" data-fa-transform="shrink-11"></span>
<span class="far fa-circle stretch-y" data-fa-transform="shrink-10"></span>
</div>
</div>
<div class="fa-3x">
<!-- intersection: A ∩ B -->
<div class="fa-layers fa-fw">
<span class="far fa-circle" data-fa-transform="shrink-6 left-2 up-2"></span>
<span class="far fa-circle" data-fa-transform="shrink-6 right-2 down-2"></span>
<span class="fas fa-circle stretch-rotate" data-fa-transform="shrink-10 rotate-45"></span>
</div>
<!-- symmetric difference: A â–³ B -->
<div class="fa-layers fa-fw">
<span class="fas fa-circle" data-fa-transform="shrink-6 left-2 up-2"></span>
<span class="fas fa-circle" data-fa-transform="shrink-6 right-2 down-2"></span>
<span class="fas fa-circle fa-inverse stretch-rotate" data-fa-transform="shrink-11"></span>
<span class="far fa-circle stretch-rotate" data-fa-transform="shrink-10"></span>
</div>
<!-- union: A ∪ B -->
<div class="fa-layers fa-fw">
<span class="fas fa-circle" data-fa-transform="shrink-6 left-2 up-2"></span>
<span class="fas fa-circle" data-fa-transform="shrink-6 right-2 down-2"></span>
<span class="fas fa-circle fa-inverse stretch-rotate" data-fa-transform="shrink-10"></span>
<span class="fas fa-circle stretch-rotate" data-fa-transform="shrink-11"></span>
</div>
<!-- difference: A ∖ B -->
<div class="fa-layers fa-fw">
<span class="fas fa-circle" data-fa-transform="shrink-6 left-2 up-2"></span>
<span class="far fa-circle" data-fa-transform="shrink-6 right-2 down-2"></span>
<span class="fas fa-circle fa-inverse stretch-rotate" data-fa-transform="shrink-11"></span>
<span class="far fa-circle stretch-rotate" data-fa-transform="shrink-10"></span>
</div>
</div>
The thing to mention is this requires JavaScript and much more effort than having an already generated image/font, which is still desired for Font Awesome to provide.
+1
This is now available as part of the version 6 alpha release: https://fontawesome.com/download
Most helpful comment
Expanding on @Theriault's beautiful example, I've performed something similar for cirlces, though it requires a little more transformations to accommodate the oblong intersections. There's also opportunity for someone to improve it to be even more exact.
https://jsfiddle.net/vol7ron/jevn851x/
The thing to mention is this requires JavaScript and much more effort than having an already generated image/font, which is still desired for Font Awesome to provide.