Very impressive and exciting possibilities. Let me ask about this.
Imagine that instead of a surface we had a point cloud. Would it be possible to draw a polygon that encloses the ellipses and mark those points somehow (visually they would change color). And after that export the point cloud with those points flagged?
(Basically, I’m asking if one can do multi-beam bathymetry data cleaning)
Thanks
1 Like
Hmm, probably? It would be a lot of work though.
Set up some hotkey to trace mousepositions. That’s possible via fig.scene.events.mousebutton
and fig.scene.events.mouseposition
.
Convert the traced path to a polygon. Might be helpful to check out the poly recipe code in Makie
From that point you have two options. The easier way would be to use the inbuilt point picking, i.e. pick(scene::SceneLike, rect::IRect2D)
and filter all the points inside the polygon you’ve drawn. This will only capture visible points though. The other option is to do point in polygon
for each point in 3d. You can probably reuse the ray casting from lines to extrude and project each point of the polygon. I don’t think GeometryBasics has a point in mesh
, maybe Meshes
has it, if not you’d have to implement it as well.
1 Like
Thanks for the pointers but meanwhile why doesn’t this plot a scatter points plot?
f = Figure(resolution = (1200, 800), fontsize = 14)
ax = Axis3(f[fldmod1(1, 2)...], aspect = (1,1,1));
GLMakie.scatter!(rand(10), rand(10), rand(10))
Would you mind say something about “AlgebraOfGraphics ”? I noticed there is a package called AlgebraOfGraphics.jl . Thanks.
2 Likes
Is it possible that GLMakie
does not export DataInspector
on its own, and that one needs to run using Makie
to import the type?
julia> using GLMakie
julia> DataInspector
ERROR: UndefVarError: DataInspector not defined
julia> using Makie
julia> DataInspector
DataInspector
All relevant version-info:
(@v1.6) pkg> status
Status `C:\Users\densb\.julia\environments\v1.6\Project.toml`
[336ed68f] CSV v0.8.5
[13f3f980] CairoMakie v0.5.1
[39db22c5] ClipData v0.1.0
[5ae59095] Colors v0.12.8
[a6e380b2] ControlSystems v0.9.2
[717857b8] DSP v0.6.10
[a93c6f00] DataFrames v1.1.1
[7a1cc6ca] FFTW v1.4.1
[5789e2e9] FileIO v1.9.0
[e9467ef8] GLMakie v0.2.7
[916415d5] Images v0.24.1
[d0351b0e] InspectDR v0.4.0
[a98d9a8b] Interpolations v0.13.2
[b964fa9f] LaTeXStrings v1.2.1
[23fbe1c1] Latexify v0.15.5
[2fda8390] LsqFit v0.12.0
[23992714] MAT v0.10.1
[ee78f7c6] Makie v0.13.1
[eff96d63] Measurements v2.6.0
[9b87118b] PackageCompiler v1.2.5
[18e31ff7] Peaks v0.3.0
[f0f68f2c] PlotlyJS v0.14.1
[91a5bcdd] Plots v1.15.2
[c3e4b0f8] Pluto v0.14.5
[7f904dfe] PlutoUI v0.7.1
[f27b6e38] Polynomials v1.2.1
[08abe8d2] PrettyTables v1.0.1
[d330b81b] PyPlot v2.9.0
[3cdcf5f2] RecipesBase v1.1.1
[295af30f] Revise v3.1.16
[2913bbd2] StatsBase v0.33.8
[0c5d862f] Symbolics v0.1.25
[bd369af6] Tables v1.4.2
[592b5752] Trapz v2.0.2
[02ec7d09] Ueauty v0.1.0
[1986cc42] Unitful v1.7.0
[42071c24] UnitfulRecipes v1.2.0
[8149f6b0] WAV v1.1.0
[276b4fcb] WGLMakie v0.3.5
[fdbf4ff8] XLSX v0.7.6
julia> versioninfo()
Julia Version 1.6.1
Commit 6aaedecc44 (2021-04-23 05:59 UTC)
Platform Info:
OS: Windows (x86_64-w64-mingw32)
CPU: Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-11.0.1 (ORCJIT, skylake)
You’re behind on GLMakie. 0.3.0 is the latest version.
1 Like
That seems to be an issue with Axis3… Doing the same with LScene
works fine.
jules
May 21, 2021, 1:12pm
29
It’s an issue with scatter I think, exacerbated by the way that Axis3’s camera matrices are set up
Can we please get keyword arguments in convert_arguments
so that type recipes like DifferentialEquations.jl’s can be converted to Makie?
13 Likes
After updating GLMakie specifically, I seem to still have the wrong version. I don’t understand why. I really don’t expect personal IT support, and I am sure that it will be fine in some time, after things update.
Thanks you so much for your work, especially in the data-interaction department! It has been a large anticipation for me personally.
Output from trying to update, and checking version
```julia
(@v1.6) pkg> update GLMakie; status GLMakie
Updating registry at `C:\Users\densb\.julia\registries\General`
Updating git-repo `https://github.com/JuliaRegistries/General.git`
No Changes to `C:\Users\densb\.julia\environments\v1.6\Project.toml`
Updating `C:\Users\densb\.julia\environments\v1.6\Manifest.toml`
[b4f34e82] ↑ Distances v0.9.2 ⇒ v0.10.3
[31c24e10] ↑ Distributions v0.23.11 ⇒ v0.24.18
[1a297f60] ↑ FillArrays v0.9.7 ⇒ v0.11.7
[cd3eb016] ↑ HTTP v0.8.19 ⇒ v0.9.8
[82e4d734] ↑ ImageIO v0.4.1 ⇒ v0.5.4
[90014a1f] ↑ PDMats v0.10.1 ⇒ v0.11.0
[eebad327] + PkgVersion v0.1.1
[a03496cd] ↑ PlotlyBase v0.5.0 ⇒ v0.5.3
[92933f4c] + ProgressMeter v1.6.2
[276daf66] ↑ SpecialFunctions v0.10.3 ⇒ v1.4.1
[731e570b] + TiffImages v0.3.2
[5c2747f8] + URIs v1.3.0
[f7e6163d] + Kaleido_jll v0.1.0+0
Precompiling project...
37 dependencies successfully precompiled in 204 seconds (315 already precompiled)
Status `C:\Users\densb\.julia\environments\v1.6\Project.toml`
[e9467ef8] GLMakie v0.2.7
```
1 Like
jules
May 21, 2021, 2:23pm
32
do ]add GLMakie@0.3
and see what holds it back
2 Likes
" Add one or more of the Makie backend packages GLMakie.jl
(OpenGL), CairoMakie.jl
(Cairo), or WGLMakie.jl
(WebGL)." (From the documentation)
I still find it a bit confusing… I find the Plots way that you install the main package, and it brings with it a default backend (and then you can install others) a more intuitive way than installing a backend in order to install the main plotting package…
5 Likes
jzr
May 21, 2021, 9:01pm
34
I prefer the Makie way personally. I just install the backend I want instead of getting another backend installed accidentally like with Plots.jl.
5 Likes
PlotlyJS was the culprit. Thanks
Makie is a fantastic package for plotting , I would like to congratulate the team. I have no doubt that Makie will soon replace plots.
But when I upgraded from v0.13.7 to v0.13.8 it crashed with the following error by using Windows 10
ERROR: LoadError: MethodError: no method matching backend_show(::Missing, ::IOContext{IOStream}, ::MIME{Symbol("image/svg+xml")}, ::Makie.Scene)
Closest candidates are:
backend_show(::Any, ::IO, ::MIME{Symbol("text/plain")}, ::Makie.Scene) at C:\Users\pollaccoj\.julia\packages\Makie\ZK3qM\src\display.jl:89
Stacktrace:
[1] show(io::IOContext{IOStream}, m::MIME{Symbol("image/svg+xml")}, scene::Makie.Scene)
@ Makie C:\Users\pollaccoj\.julia\packages\Makie\ZK3qM\src\display.jl:118
[2] (::Makie.var"#900#901"{Float64, Float64, DataType, Makie.Scene})(s::IOStream)
@ Makie C:\Users\pollaccoj\.julia\packages\Makie\ZK3qM\src\display.jl:249
[3] open(::Makie.var"#900#901"{Float64, Float64, DataType, Makie.Scene}, ::String, ::Vararg{String, N} where N; kwargs::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ Base .\io.jl:330
[4] open
@ .\io.jl:328 [inlined]
[5] save(file::FileIO.File{FileIO.DataFormat{:SVG}, String}, fig::Makie.Figure; resolution::Tuple{Int64, Int64}, pt_per_unit::Float64, px_per_unit::Float64)
@ Makie C:\Users\pollaccoj\.julia\packages\Makie\ZK3qM\src\display.jl:243
[6] save(file::FileIO.File{FileIO.DataFormat{:SVG}, String}, fig::Makie.Figure)
@ Makie C:\Users\pollaccoj\.julia\packages\Makie\ZK3qM\src\display.jl:231
[7] save(filename::String, fig::Makie.Figure; args::Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
@ Makie C:\Users\pollaccoj\.julia\packages\Makie\ZK3qM\src\display.jl:222
[8] save(filename::String, fig::Makie.Figure)
@ Makie C:\Users\pollaccoj\.julia\packages\Makie\ZK3qM\src\display.jl:222
When I run Test Makie I get the following warning which might be helpful for debugging:
WARNING: using GeometryBasics.volume in module ReferenceTests conflicts with an existing identifier.
I opened an Issue #989 on the Makie GitHub.
Hermes
July 10, 2021, 1:56pm
40
jules:
I present this alert when trying to reset the GLMakie v0.4.2 package. What should I do?
(@v1.6) pkg> test GLMakie
Testing GLMakie
┌ Warning: Could not use exact versions of packages in manifest, re-resolving
└ @ Pkg.Operations C:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.6\Pkg\src\Operations.jl:1526
ERROR: expected package `ReferenceTests [d37af2e0]` to be registered
julia> versioninfo()
Julia Version 1.6.1
Commit 6aaedecc44 (2021-04-23 05:59 UTC)
Platform Info:
OS: Windows (x86_64-w64-mingw32)
CPU: AMD Ryzen 7 1800X Eight-Core Processor
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-11.0.1 (ORCJIT, znver1)
julia>