I’m trying to plot a colorlegend when its colorrang is (::Float64,::Float64).
But this sample code doesn’t work.
using Makie using FileIO using LinearAlgebra using AbstractPlotting r = LinRange(-20, 20, 500); # our value range ρ(x, y, z) = exp(-((x)^2 + (y)^2 + (z)^2)) # function (charge density) # create a Scene with the attribute `backgroundcolor = :white`, # can be any compatible color. Useful for better contrast and not killing your eyes with a white background. scene = Scene(backgroundcolor = :white) volume!( scene, r, r, r, # coordinates to plot on ρ, # charge density (functions as colorant) algorithm = :mip, # maximum-intensity-projection colorrange = (0,0.5), colormap = :blues, transparency = true ) update_cam!(scene, Vec3f0(1,1.5,1.0), Vec3f0(0)) scene[Axis].names.textcolor = :gray # let axis labels be seen on dark background cm = colorlegend( scene[end], # access the plot of scene raw = true, # without axes or grid camera = campixel!, # gives a concrete bounding box in pixels # so that the `vbox` gives you the right size width = ( # make the colorlegend longer so it looks nicer 30, # the width 540 # the height ) ) scene_final = vbox(scene, cm) # put the colorlegend and the plot together in a `vbox` save("test.png",scene_final)
MethodError: no method matching optimize_ticks(::Int64, ::Float64; k_min=4, k_max=8) Closest candidates are: optimize_ticks(::T, !Matched::T; extend_ticks, Q, k_min, k_max, k_ideal, granularity_weight, simplicity_weight, coverage_weight, niceness_weight, strict_span, span_buffer) where T at /Users/username/.julia/packages/PlotUtils/10ojB/src/ticks.jl:136
If colorrange = (0,0.5) → colorrange = (0,1.0), the code passes.
Is there a method to display a colorlegend with colorrange = (0,0.5)?