embedded-plots/examples/single_plot_mono.rs

37 lines
1.1 KiB
Rust
Raw Permalink Normal View History

use embedded_graphics::{pixelcolor::BinaryColor, prelude::*};
use embedded_graphics_simulator::{
BinaryColorTheme, OutputSettingsBuilder, SimulatorDisplay, Window,
2020-12-20 11:11:06 +00:00
};
use embedded_plots::{
2021-01-04 21:20:07 +00:00
axis::Scale,
curve::{Curve, PlotPoint},
single_plot::SinglePlot,
2020-12-20 11:11:06 +00:00
};
fn main() -> Result<(), core::convert::Infallible> {
let mut display: SimulatorDisplay<BinaryColor> = SimulatorDisplay::new(Size::new(128, 48));
let data = vec![
PlotPoint { x: 0, y: 0 },
2021-01-04 21:20:07 +00:00
PlotPoint { x: 1, y: 2 },
PlotPoint { x: 2, y: 2 },
2020-12-20 11:11:06 +00:00
PlotPoint { x: 3, y: 0 },
];
let curve = Curve::from_data(data.as_slice());
let curve_list = [(curve, BinaryColor::On)];
let plot = SinglePlot::new(&curve_list, Scale::RangeFraction(3), Scale::RangeFraction(2))
.into_drawable(Point { x: 18, y: 2 }, Point { x: 120, y: 30 })
.set_color(BinaryColor::On);
2020-12-20 11:11:06 +00:00
plot.draw(&mut display)?;
2020-12-20 11:11:06 +00:00
let output_settings = OutputSettingsBuilder::new()
.theme(BinaryColorTheme::OledBlue)
.build();
Window::new("Basic plot", &output_settings).show_static(&display);
2020-12-20 11:11:06 +00:00
Ok(())
}