Skip to content

Instantly share code, notes, and snippets.

@jkrumbiegel
jkrumbiegel / ggplot_boxes_face_plot_cairomakie.jl
Created May 2, 2020 18:06
ggplot-like boxes with facet plot cairomakie
set_theme!(
fontsize = 10,
font = "SF Compact Text Light",
LAxis = (xticksize = 3, yticksize = 3, xticklabelrotation = pi/6,
xticklabelalign = (:right, :center), xlabelpadding = 2, ylabelpadding = 5),
LRect = (strokewidth = 1,)
)
scene, layout = layoutscene(10)
@jkrumbiegel
jkrumbiegel / selectionrect_makielayout.jl
Created March 12, 2020 12:55
Selection rectangle with MakieLayout.jl
using Makie
using MakieLayout
using GLFW; GLFW.WindowHint(GLFW.FLOATING, 1)
##
scene, layout = layoutscene()
ax = layout[1, 1] = LAxis(scene)
@jkrumbiegel
jkrumbiegel / makielayout_vector_theme.jl
Created May 20, 2020 06:12
makielayout vector theme
set_theme!(
font = "SF Display Compact Pro Light",
fontsize = 10,
rowgap = 12,
colgap = 12,
LAxis = (
xticksize = 3,
yticksize = 3,
xlabelpadding = 3,
ylabelpadding = 3,
using AbstractPlotting
using AbstractPlotting.MakieLayout
using GLMakie; GLMakie.activate!()
GLMakie.GLFW.WindowHint(GLMakie.GLFW.FLOATING, 1)
using LinearAlgebra
##
scene = Scene(center = false, raw = true, resolution = (800, 800))
@jkrumbiegel
jkrumbiegel / spanning_labels.jl
Created July 8, 2020 06:28
Facet layout with spanning labels
set_theme!(colgap = 30, rowgap = 30)
scene, layout = layoutscene(font = "SF Compact Light", fontsize = 25)
axs = layout[] = [LAxis(scene) for i in 1:4, j in 1:4]
hidexdecorations!.(axs[1:end-1, :], grid = false)
hideydecorations!.(axs[:, 2:end], grid = false)
group_left_protrusion = lift(
(xs...) -> maximum(y -> y.left, xs),
@jkrumbiegel
jkrumbiegel / margin_histogram_makielayout.jl
Created July 22, 2020 11:03
margin histogram in makielayout
using AbstractPlotting
using AbstractPlotting.MakieLayout
using StatsBase
##
scene, layout = layoutscene(resolution = (600, 600))
data = Node(randn(200, 2) * [1 2; 2 1])
@jkrumbiegel
jkrumbiegel / gridlayout_content.jl
Created July 24, 2020 06:32
Get content in gridlayouts
scene, layout = layoutscene(resolution = (800, 600))
sublayout1 = layout[1, 1] = GridLayout()
sublayout1[] = [LAxis(scene) for _ in zeros(3, 2)]
sublayout2 = layout[1, 2] = GridLayout()
sublayout2[] = [LAxis(scene) for _ in zeros(2, 2)]
function get_content(layout, rows, cols, side = MakieLayout.GridLayoutBase.Inner())
@jkrumbiegel
jkrumbiegel / layered_grid_anim.jl
Created July 31, 2020 10:05
layered.jl grid animations.jl
using Layered
using Animations
using VideoIO
using Colors
let
prev = pwd()
try
mktempdir() do path
cd(path)
using RCall
using AbstractPlotting
using AbstractPlotting.MakieLayout
using GLMakie
using EarCut
using AbstractPlotting.ColorSchemes
using AbstractPlotting.GeometryBasics
using PolygonOps
@jkrumbiegel
jkrumbiegel / makie_table.jl
Created August 27, 2020 15:19
makie table
function table(scene)
gl = GridLayout(tellheight = false)
headers = ["Name", "Age", "Weight"]
names = ["Alice", "Bob", "Charlie", "David"]
ages = [13, 24, 35, 46]
weights = [20.1, 30.2, 40.3, 50.4]