diff --git a/src/components/partials/Visualization.vue b/src/components/partials/Visualization.vue
index 6d394a0fa5e87bbd72354d0acc96a67593c12cd7..4d663a9d4ef2bdd4fb17ed6cad994abb61b683ff 100644
--- a/src/components/partials/Visualization.vue
+++ b/src/components/partials/Visualization.vue
@@ -162,7 +162,6 @@ export default {
           .style("box-shadow", "0 5px 10px rgba(0, 0, 0, 0.25)")
           .text("")
         
-
         // ticked handler function
         self.ticked = function(e) {
           node.attr("cx", function(d) {
@@ -224,7 +223,12 @@ export default {
             }
           })
           .on("mousemove", function(d) {
-            return self.tooltip.style("top", (d3.event.pageY-window.scrollY+2) + "px").style("left", (d3.event.pageX+2) + "px")
+            let yPos = d3.event.pageY - window.scrollY + 2
+            let xPos = (d3.event.pageX)
+            if (xPos < window.innerWidth/2)
+              return self.tooltip.style("top", yPos + "px").style("left", (xPos+2) + "px").style("right", null)
+            else
+              return self.tooltip.style("top", yPos + "px").style("left", null).style("right", (window.innerWidth-xPos-20) + "px")
           })
           .on("mouseout", function() {
             return self.tooltip.style("visibility", "hidden")