Sfoglia il codice sorgente

fix colors on heatmap for better representation

Berke 1 anno fa
parent
commit
027f88d4ba
1 ha cambiato i file con 9 aggiunte e 7 eliminazioni
  1. 9 7
      src/main.rs

+ 9 - 7
src/main.rs

@@ -465,14 +465,16 @@ impl Chart<Message> for LineChart {
                 let bids_i: Vec<(DateTime<Utc>, f32, f32)> = recent_depth.iter().map(|&(time, bid, _ask)| ((*time).clone(), bid[i].0, bid[i].1)).collect();
                 let asks_i: Vec<(DateTime<Utc>, f32, f32)> = recent_depth.iter().map(|&(time, _bid, ask)| ((*time).clone(), ask[i].0, ask[i].1)).collect();
             
-                let max_bid_quantity = bids_i.iter().map(|&(_time, _price, quantity)| quantity).fold(f32::MIN, f32::max);
-                let max_ask_quantity = asks_i.iter().map(|&(_time, _price, quantity)| quantity).fold(f32::MIN, f32::max);
-            
+                let max_order_quantity = bids_i.iter()
+                    .map(|&(_time, _price, quantity)| quantity)
+                    .chain(asks_i.iter().map(|&(_time, _price, quantity)| quantity))
+                    .fold(f32::MIN, f32::max);
+
                 chart
                     .draw_series(
                         bids_i.iter().map(|&(time, price, quantity)| {
-                            let alpha = 0.1 + 0.9 * (quantity / max_bid_quantity);
-                            Pixel::new((time, price), RGBAColor(0, 128, 128, alpha.into()))
+                            let alpha = 0.1 + 0.9 * (quantity / max_order_quantity);
+                            Pixel::new((time, price), RGBAColor(0, 144, 144, alpha.into()))
                         }),
                     )
                     .expect(&format!("failed to draw bids_{}", i));
@@ -480,8 +482,8 @@ impl Chart<Message> for LineChart {
                 chart
                     .draw_series(
                         asks_i.iter().map(|&(time, price, quantity)| {
-                            let alpha = 0.1 + 0.9 * (quantity / max_ask_quantity);
-                            Pixel::new((time, price), RGBAColor(128, 0, 128, alpha.into()))
+                            let alpha = 0.1 + 0.9 * (quantity / max_order_quantity);
+                            Pixel::new((time, price), RGBAColor(192, 0, 192, alpha.into()))
                         }),
                     )
                     .expect(&format!("failed to draw asks_{}", i));