using Fugl
using Fugl: Text, ScatterPlotElement, CIRCLE, TRIANGLE, RECTANGLE
function MyApp()
# Generate sample data for scatter plot
x_data = collect(1:10)
y1_data = rand(10) .* 5 .+ 2 # Random data between 2-7
y2_data = rand(10) .* 3 .+ 4 # Random data between 4-7
y3_data = rand(10) .* 4 .+ 1 # Random data between 1-5
# Create scatter plot elements with different marker types
elements = [
ScatterPlotElement(y1_data; x_data=x_data,
fill_color=Vec4{Float32}(0.8, 0.2, 0.2, 0.8),
border_color=Vec4{Float32}(0.5, 0.1, 0.1, 1.0),
marker_size=8.0f0,
border_width=2.0f0,
marker_type=CIRCLE,
)
ScatterPlotElement(y2_data; x_data=x_data,
fill_color=Vec4{Float32}(0.2, 0.8, 0.2, 0.8),
border_color=Vec4{Float32}(0.1, 0.5, 0.1, 1.0),
marker_size=8.0f0,
border_width=2.0f0,
marker_type=TRIANGLE,
)
ScatterPlotElement(y3_data; x_data=x_data,
fill_color=Vec4{Float32}(0.2, 0.2, 0.8, 0.8),
border_color=Vec4{Float32}(0.1, 0.1, 0.5, 1.0),
marker_size=8.0f0,
border_width=2.0f0,
marker_type=RECTANGLE,
)
]
IntrinsicColumn([
IntrinsicHeight(Container(Text("Scatter Plot Example"))),
Container(
Plot(
elements,
PlotStyle(
background_color=Vec4{Float32}(0.98, 0.98, 0.98, 1.0), # Light background
grid_color=Vec4{Float32}(0.5, 0.5, 0.5, 1.0), # Gray grid
axis_color=Vec4{Float32}(0.0, 0.0, 0.0, 1.0), # Black axes
show_grid=true,
padding=50.0f0,
anti_aliasing_width=1.5f0
)
)
),
], padding=0.0, spacing=0.0)
end
screenshot(MyApp, "scatterPlot.png", 812, 400);
