use kuva::plot::{Heatmap, ColorMap};
use kuva::backend::svg::SvgBackend;
use kuva::render::render::render_multiple;
use kuva::render::layout::Layout;
use kuva::render::plots::Plot;
#[test]
fn test_heatmap_colorbar_values() {
let data = vec![
vec![10.0, 20.0, 30.0],
vec![4.0, 50.0, 6.0],
vec![7.0, 8.0, 90.0],
];
let heatmap = Heatmap::new()
.with_data(data)
.with_values()
.with_color_map(ColorMap::Viridis);
let plots = vec![Plot::Heatmap(heatmap)];
let layout = Layout::auto_from_plots(&plots)
.with_title("Heatmap");
let scene = render_multiple(plots, layout);
let svg = SvgBackend.render_scene(&scene);
std::fs::write("test_outputs/heatmap_values.svg", svg.clone()).unwrap();
assert!(svg.contains("<svg"));
}
#[test]
fn test_heatmap_colorbar() {
let data = vec![
vec![10.0, 20.0, 30.0],
vec![4.0, 50.0, 6.0],
vec![7.0, 8.0, 90.0],
];
let heatmap = Heatmap::new()
.with_data(data)
.with_color_map(ColorMap::Viridis);
let plots = vec![Plot::Heatmap(heatmap)];
let layout = Layout::auto_from_plots(&plots)
.with_title("Heatmap with Colorbar");
let scene = render_multiple(plots, layout);
let svg = SvgBackend.render_scene(&scene);
std::fs::write("test_outputs/heatmap_colorbar.svg", svg.clone()).unwrap();
assert!(svg.contains("<svg"));
assert!(svg.contains("<rect")); }