diff --git a/src/main/java/fucoin/gui/SuperVisorHistogramGUI.java b/src/main/java/fucoin/gui/SuperVisorHistogramGUI.java
index 53feb98fa68d1ceaba0c63effadd18e66293a1a1..4c0346af4093cec11c3351f6d621f69a992c2811 100644
--- a/src/main/java/fucoin/gui/SuperVisorHistogramGUI.java
+++ b/src/main/java/fucoin/gui/SuperVisorHistogramGUI.java
@@ -13,30 +13,27 @@ import org.jfree.ui.TextAnchor;
 
 import javax.swing.*;
 import javax.swing.border.EmptyBorder;
-import javax.swing.event.ChangeEvent;
-import javax.swing.event.ChangeListener;
 import java.awt.*;
 import java.time.LocalDateTime;
-import java.util.HashSet;
 import java.util.Hashtable;
-import java.util.Set;
+import java.util.LinkedList;
 
 /**
  *
  */
 public class SuperVisorHistogramGUI extends JFrame {
 
-    private final Set<Snapshot> snapshots;
+    private final SuperVisorGuiControlImpl superVisorGuiControl;
     private final LocalDateTime time;
 
     private static final int width = 1200;
     private static final int height = 800;
 
 
-    public SuperVisorHistogramGUI(Set<Snapshot> snapshots, LocalDateTime time) {
+    public SuperVisorHistogramGUI(SuperVisorGuiControlImpl superVisorGuiControl, LocalDateTime time) {
         super("Histogram of distributed granted commit (Snapshot " + time + ")");
+        this.superVisorGuiControl = superVisorGuiControl;
         this.time = time;
-        this.snapshots = new HashSet<>(snapshots);
 
         setVisible(true);
         setSize(width, height);
@@ -65,7 +62,7 @@ public class SuperVisorHistogramGUI extends JFrame {
 
     public void init() {
         QDigest qDigest = null;
-        for (Snapshot item : snapshots) {
+        for (Snapshot item : superVisorGuiControl.getSnapshots()) {
             if (qDigest == null) {
                 qDigest = item.getqDigest();
             } else {
@@ -73,14 +70,52 @@ public class SuperVisorHistogramGUI extends JFrame {
             }
         }
 
+        final java.util.List<Integer> transactions = superVisorGuiControl.getSupervisorSnapshot(time).
+                getStatistics().getTransactionHistory();
+
+        long count = 0;
+        for (long[] item : qDigest.toAscRanges()) {
+            count += item[2];
+        }
         // row keys...
-        final String series1 = "Transactions";
+        final String series1 = "q-Digest (" + count + ")";
+        final String series2 = "origin (" + transactions.size() + ")";
 
+        java.util.List<long[]> buckets = qDigest.toAscRanges();
+
+        java.util.List<long[]> leafs = new LinkedList<>();
+        java.util.List<long[]> nodes = new LinkedList<>();
+        long last = Long.MAX_VALUE;
+        for (long[] item : buckets) {
+            if (item[0] < last) {
+                nodes.add(item);
+            } else {
+                leafs.add(item);
+            }
+            last = item[0];
+        }
+        for (int i = 0; i < leafs.size(); i++) {
+            long[] el = leafs.get(i);
+            for (long[] item : nodes) {
+                if (el[0] >= item[0] && item[0] <= el[1]) {
+                    el[2] += item[2];
+                }
+            }
+            leafs.set(i, el);
+        }
         // create the dataset...
         final DefaultCategoryDataset dataset = new DefaultCategoryDataset();
+        for (long[] item : leafs) {
+            String cat = item[0] + "-" + item[1];
+            dataset.addValue(item[2], series1, cat);
+            int counter = 0;
+            for (Integer amount : transactions) {
+                if (item[0] >= amount && amount <= item[1]) {
+                    counter++;
+                }
+            }
+            dataset.addValue(counter, series2, cat);
 
-        for (long[] item : qDigest.toAscRanges()) {
-            dataset.addValue(item[2], series1, item[0] + "-" + item[1]);
         }
 
         JFreeChart chart = createChart(dataset);
@@ -93,10 +128,11 @@ public class SuperVisorHistogramGUI extends JFrame {
 
         final JSlider slider = new JSlider(0, 100);
         Hashtable<Integer, JComponent> labelTable = new Hashtable<>();
-        labelTable.put(0, new JLabel("0.0") );
-        labelTable.put(5, new JLabel("0.5") );
-        labelTable.put(10, new JLabel("1.0") );
+        labelTable.put(new Integer(0), new JLabel("0.0") );
+        labelTable.put(new Integer(50), new JLabel("0.5") );
+        labelTable.put(new Integer(100), new JLabel("1.0") );
         slider.setLabelTable( labelTable );
+        slider.setPaintLabels(true);
         slider.setValue(50);
 
         final JTextField quantileValueField = new JTextField();
@@ -115,8 +151,8 @@ public class SuperVisorHistogramGUI extends JFrame {
         quantilePanel.add(slider);
         quantilePanel.add(quantileValueField);
         quantilePanel.setBorder(new EmptyBorder(10, 10, 10, 10));
-
-        myPanel.add(quantilePanel, BorderLayout.PAGE_END);
+        quantilePanel.setSize(width, 100);
+        myPanel.add(quantilePanel, BorderLayout.SOUTH);
 
         setContentPane(myPanel);
     }
diff --git a/src/main/java/fucoin/gui/WalletHistogramGUI.java b/src/main/java/fucoin/gui/WalletHistogramGUI.java
index a45408f4a78d35a1be4f3f44ea3defa856038467..b9bd33527733039cc9d7e6e390aa6d0324a8a04d 100644
--- a/src/main/java/fucoin/gui/WalletHistogramGUI.java
+++ b/src/main/java/fucoin/gui/WalletHistogramGUI.java
@@ -92,9 +92,10 @@ public class WalletHistogramGUI extends JFrame {
         final JSlider slider = new JSlider(0, 100);
         Hashtable<Integer, JComponent> labelTable = new Hashtable<>();
         labelTable.put(0, new JLabel("0.0") );
-        labelTable.put(5, new JLabel("0.5") );
-        labelTable.put(10, new JLabel("1.0") );
+        labelTable.put(50, new JLabel("0.5") );
+        labelTable.put(100, new JLabel("1.0") );
         slider.setLabelTable( labelTable );
+        slider.setPaintLabels(true);
         slider.setValue(50);
 
         final JTextField quantileValueField = new JTextField();