pub struct DensityMapbox { /* private fields */ }Expand description
A structure representing a density mapbox visualization.
The DensityMapbox struct enables the creation of geographic density visualizations on an interactive map.
It displays density or intensity values at geographic locations using latitude and longitude coordinates,
with a third dimension (z) representing the intensity at each point. This is useful for visualizing
population density, heat maps of activity, or any geographic concentration of values.
§Arguments
data- A reference to theDataFramecontaining the data to be plotted.lat- A string slice specifying the column name containing latitude values.lon- A string slice specifying the column name containing longitude values.z- A string slice specifying the column name containing intensity/density values.center- An optional array[f64; 2]specifying the initial center point of the map ([latitude, longitude]).zoom- An optionalu8specifying the initial zoom level of the map.radius- An optionalu8specifying the radius of influence for each point.opacity- An optionalf64value between0.0and1.0specifying the opacity of the density layer.z_min- An optionalf64specifying the minimum value for the color scale.z_max- An optionalf64specifying the maximum value for the color scale.z_mid- An optionalf64specifying the midpoint value for the color scale.plot_title- An optionalTextstruct specifying the title of the plot.legend_title- An optionalTextstruct specifying the title of the legend.legend- An optional reference to aLegendstruct for customizing the legend.
§Example
use plotlars::{DensityMapbox, Plot, Text};
use polars::prelude::*;
// Create sample data with US city population density
let data = df![
"city_lat" => [40.7128, 34.0522, 41.8781, 29.7604, 33.4484, 37.7749, 47.6062, 42.3601,
32.7767, 39.9526, 38.9072, 35.2271, 30.2672, 36.1699, 39.7392],
"city_lon" => [-74.0060, -118.2437, -87.6298, -95.3698, -112.0740, -122.4194, -122.3321, -71.0589,
-79.9309, -75.1652, -77.0369, -80.8431, -97.7431, -115.1398, -104.9903],
"population_density" => [27000.0, 8092.0, 11841.0, 3540.0, 3165.0, 18581.0, 8386.0, 13321.0,
4707.0, 11379.0, 9856.0, 2457.0, 1386.0, 4525.0, 4193.0],
"city_name" => ["New York", "Los Angeles", "Chicago", "Houston", "Phoenix", "San Francisco",
"Seattle", "Boston", "Charleston", "Philadelphia", "Washington DC",
"Charlotte", "Austin", "Las Vegas", "Denver"]
].unwrap();
DensityMapbox::builder()
.data(&data)
.lat("city_lat")
.lon("city_lon")
.z("population_density")
.center([39.8283, -98.5795])
.zoom(3)
.plot_title(
Text::from("US City Population Density")
.font("Arial")
.size(20)
)
.build()
.plot();
Implementations§
Source§impl DensityMapbox
impl DensityMapbox
Sourcepub fn builder<'f1, 'f2, 'f3, 'f4, 'f5>() -> DensityMapboxBuilder<'f1, 'f2, 'f3, 'f4, 'f5>
pub fn builder<'f1, 'f2, 'f3, 'f4, 'f5>() -> DensityMapboxBuilder<'f1, 'f2, 'f3, 'f4, 'f5>
Examples found in repository?
examples/density_mapbox.rs (line 18)
4fn main() {
5 // Create sample data with US city population density
6 let data = df![
7 "city_lat" => [40.7128, 34.0522, 41.8781, 29.7604, 33.4484, 37.7749, 47.6062, 42.3601,
8 32.7767, 39.9526, 38.9072, 35.2271, 30.2672, 36.1699, 39.7392],
9 "city_lon" => [-74.0060, -118.2437, -87.6298, -95.3698, -112.0740, -122.4194, -122.3321, -71.0589,
10 -79.9309, -75.1652, -77.0369, -80.8431, -97.7431, -115.1398, -104.9903],
11 "population_density" => [27000.0, 8092.0, 11841.0, 3540.0, 3165.0, 18581.0, 8386.0, 13321.0,
12 4707.0, 11379.0, 9856.0, 2457.0, 1386.0, 4525.0, 4193.0],
13 "city_name" => ["New York", "Los Angeles", "Chicago", "Houston", "Phoenix", "San Francisco",
14 "Seattle", "Boston", "Charleston", "Philadelphia", "Washington DC",
15 "Charlotte", "Austin", "Las Vegas", "Denver"]
16 ].unwrap();
17
18 DensityMapbox::builder()
19 .data(&data)
20 .lat("city_lat")
21 .lon("city_lon")
22 .z("population_density")
23 .center([39.8283, -98.5795]) // Center of USA
24 .zoom(3)
25 .plot_title(
26 Text::from("US City Population Density")
27 .font("Arial")
28 .size(20),
29 )
30 .build()
31 .plot();
32
33 println!("Density map plotted!");
34}Trait Implementations§
Source§impl Clone for DensityMapbox
impl Clone for DensityMapbox
Source§fn clone(&self) -> DensityMapbox
fn clone(&self) -> DensityMapbox
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl PlotHelper for DensityMapbox
impl PlotHelper for DensityMapbox
fn get_layout(&self) -> &LayoutPlotly
fn get_traces(&self) -> &Vec<Box<dyn Trace + 'static>>
Auto Trait Implementations§
impl Freeze for DensityMapbox
impl !RefUnwindSafe for DensityMapbox
impl !Send for DensityMapbox
impl !Sync for DensityMapbox
impl Unpin for DensityMapbox
impl !UnwindSafe for DensityMapbox
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more