Plots.jl click input
Click somewhere on this graph:
Deprecated, use `AbstractPlutoDingetjes.Display.published_to_js(x)` instead of `PlutoRunner.publish_to_js(x)`.
UndefVarError: x0 not defined
Here is what happened, the most recent locations are first:
- from This cell: line 1
x0
linepoint (generic function with 1 method)
Why is this special? Because normally, the input (@bind
) and output live in two separate cells:
missing
But in our interactive plot, the input and output are inside the same cell. To achieve this, we need a couple of tricks: a click tracker wrapper, a self-referencing cell and the @initially
macro. Let's talk about those one by one:
Click tracker
TUTORIAL WORK IN PROGRESS
COOL_PLOT (generic function with 1 method)
The third step is to write a function that:
takes a click coordinate (a vector
[x, y]
) as input, andreturns a plot.
It's up to you to use this coordinate in a creative way!
Necessary functions
You can copy these cells into your notebook by selecting them (start dragging a selection rectangle from inbetween two cells), and dragging them into another notebook.
plotclicktracker (generic function with 1 method)
intially_function (generic function with 1 method)
You can also use ingredients
to load this notebook into another notebook.
Packages
(We only need Plots.jl)
Activating new project at `/tmp/jl_hlmNEB` Updating registry at `~/.julia/registries/General.toml` Resolving package versions... Updating `/tmp/jl_hlmNEB/Project.toml` [91a5bcdd] + Plots v1.40.10 Updating `/tmp/jl_hlmNEB/Manifest.toml` [66dad0bd] + AliasTables v1.1.3 [d1d4a3ce] + BitFlags v0.1.9 [d360d2e6] + ChainRulesCore v1.25.1 [9e997f8a] + ChangesOfVariables v0.1.9 [944b1d66] + CodecZlib v0.7.8 [35d6a980] + ColorSchemes v3.29.0 [3da002f7] + ColorTypes v0.12.0 [c3611d14] + ColorVectorSpace v0.11.0 [5ae59095] + Colors v0.13.0 [34da2185] + Compat v4.16.0 [f0e56b4a] + ConcurrentUtilities v2.5.0 [187b0558] + ConstructionBase v1.5.8 [d38c429a] + Contour v0.6.3 [9a962f9c] + DataAPI v1.16.0 [864edb3b] + DataStructures v0.18.20 [ffbed154] + DocStringExtensions v0.9.3 [460bff9d] + ExceptionUnwrapping v0.1.11 [c87230d0] + FFMPEG v0.4.2 [53c48c17] + FixedPointNumbers v0.8.5 [1fa38f19] + Format v1.3.7 [28b8d3ca] + GR v0.73.13 [42e2da0e] + Grisu v1.0.2 [cd3eb016] + HTTP v1.10.15 [3587e190] + InverseFunctions v0.1.17 [92d709cd] + IrrationalConstants v0.2.4 [1019f520] + JLFzf v0.1.9 [692b3bcd] + JLLWrappers v1.7.0 [682c06a0] + JSON v0.21.4 [b964fa9f] + LaTeXStrings v1.4.0 [23fbe1c1] + Latexify v0.16.6 [2ab3a3ac] + LogExpFunctions v0.3.28 [e6f89c97] + LoggingExtras v1.1.0 [1914dd2f] + MacroTools v0.5.15 [739be429] + MbedTLS v1.1.9 [442fdcdd] + Measures v0.3.2 [e1d29d7a] + Missings v1.2.0 [77ba4419] + NaNMath v1.0.3 [4d8831e6] + OpenSSL v1.4.3 [bac558e1] + OrderedCollections v1.8.0 [69de0a69] + Parsers v2.8.1 [b98c9c47] + Pipe v1.3.0 [ccf2f8ad] + PlotThemes v3.3.0 [995b91a9] + PlotUtils v1.4.3 [91a5bcdd] + Plots v1.40.10 [aea7be01] + PrecompileTools v1.2.1 [21216c6a] + Preferences v1.4.3 [43287f4e] + PtrArrays v1.3.0 [3cdcf5f2] + RecipesBase v1.3.4 [01d81517] + RecipesPipeline v0.6.12 [189a3867] + Reexport v1.2.2 [05181044] + RelocatableFolders v1.0.1 [ae029012] + Requires v1.3.1 [6c6a2e73] + Scratch v1.2.1 [992d4aef] + Showoff v1.0.3 [777ac1f9] + SimpleBufferStream v1.2.0 [a2af1166] + SortingAlgorithms v1.2.1 [860ef19b] + StableRNGs v1.0.2 [82ae8749] + StatsAPI v1.7.0 [2913bbd2] + StatsBase v0.34.4 [62fd8b95] + TensorCore v0.1.1 [3bb67fe8] + TranscodingStreams v0.11.3 [5c2747f8] + URIs v1.5.1 [1cfade01] + UnicodeFun v0.4.1 [1986cc42] + Unitful v1.22.0 [45397f5d] + UnitfulLatexify v1.6.4 [41fe7b60] + Unzip v0.2.0 [6e34b625] + Bzip2_jll v1.0.9+0 [83423d85] + Cairo_jll v1.18.2+1 [ee1fde0b] + Dbus_jll v1.14.10+0 [2702e6a9] + EpollShim_jll v0.0.20230411+1 [2e619515] + Expat_jll v2.6.5+0 [b22a6f82] + FFMPEG_jll v4.4.4+1 [a3f928ae] + Fontconfig_jll v2.15.0+0 [d7e528f0] + FreeType2_jll v2.13.3+1 [559328eb] + FriBidi_jll v1.0.16+0 [0656b61e] + GLFW_jll v3.4.0+2 [d2c73de3] + GR_jll v0.73.13+0 [78b55507] + Gettext_jll v0.21.0+0 [7746bdde] + Glib_jll v2.82.4+0 [3b182d85] + Graphite2_jll v1.3.14+1 [2e76f6c2] + HarfBuzz_jll v8.5.0+0 [aacddb02] + JpegTurbo_jll v3.1.1+0 [c1c5ebd0] + LAME_jll v3.100.2+0 [88015f11] + LERC_jll v4.0.1+0 [1d63c593] + LLVMOpenMP_jll v18.1.7+0 [dd4b983a] + LZO_jll v2.10.3+0 [e9f186c6] + Libffi_jll v3.2.2+2 [d4300ac3] + Libgcrypt_jll v1.11.0+0 [7e76a0d4] + Libglvnd_jll v1.7.0+0 [7add5ba3] + Libgpg_error_jll v1.51.1+0 [94ce4f54] + Libiconv_jll v1.18.0+0 [4b2f31a3] + Libmount_jll v2.40.3+0 [89763e89] + Libtiff_jll v4.7.1+0 [38a345b3] + Libuuid_jll v2.40.3+0 [e7412a2a] + Ogg_jll v1.3.5+1 [458c3c95] + OpenSSL_jll v3.0.16+0 [91d4177d] + Opus_jll v1.3.3+0 [36c8627f] + Pango_jll v1.56.1+0 [30392449] + Pixman_jll v0.43.4+0 [c0090381] + Qt6Base_jll v6.7.1+1 [629bc702] + Qt6Declarative_jll v6.7.1+2 [ce943373] + Qt6ShaderTools_jll v6.7.1+1 [e99dba38] + Qt6Wayland_jll v6.7.1+1 [a44049a8] + Vulkan_Loader_jll v1.3.243+0 [a2964d1f] + Wayland_jll v1.21.0+2 [2381bf8a] + Wayland_protocols_jll v1.36.0+0 [02c8fc9c] + XML2_jll v2.13.6+1 [aed1982a] + XSLT_jll v1.1.42+0 [ffd25f8a] + XZ_jll v5.6.4+1 [f67eecfb] + Xorg_libICE_jll v1.1.1+0 [c834827a] + Xorg_libSM_jll v1.2.4+0 [4f6342f7] + Xorg_libX11_jll v1.8.6+3 [0c0b7dd1] + Xorg_libXau_jll v1.0.12+0 [935fb764] + Xorg_libXcursor_jll v1.2.3+0 [a3789734] + Xorg_libXdmcp_jll v1.1.5+0 [1082639a] + Xorg_libXext_jll v1.3.6+3 [d091e8ba] + Xorg_libXfixes_jll v6.0.0+0 [a51aa0fd] + Xorg_libXi_jll v1.8.2+0 [d1454406] + Xorg_libXinerama_jll v1.1.5+0 [ec84b674] + Xorg_libXrandr_jll v1.5.4+0 [ea2f1a96] + Xorg_libXrender_jll v0.9.11+1 [14d82f49] + Xorg_libpthread_stubs_jll v0.1.2+0 [c7cfdc94] + Xorg_libxcb_jll v1.17.0+3 [cc61e674] + Xorg_libxkbfile_jll v1.1.2+1 [e920d4aa] + Xorg_xcb_util_cursor_jll v0.1.4+0 [12413925] + Xorg_xcb_util_image_jll v0.4.0+1 [2def613f] + Xorg_xcb_util_jll v0.4.0+1 [975044d2] + Xorg_xcb_util_keysyms_jll v0.4.0+1 [0d47668e] + Xorg_xcb_util_renderutil_jll v0.3.9+1 [c22f9ab0] + Xorg_xcb_util_wm_jll v0.4.1+1 [35661453] + Xorg_xkbcomp_jll v1.4.6+1 [33bec58e] + Xorg_xkeyboard_config_jll v2.39.0+0 [c5fb5394] + Xorg_xtrans_jll v1.5.1+0 [3161d3a3] + Zstd_jll v1.5.7+1 [35ca27e7] + eudev_jll v3.2.9+0 [214eeab7] + fzf_jll v0.56.3+0 [1a1c6b14] + gperf_jll v3.1.1+1 [a4ae2306] + libaom_jll v3.11.0+0 [0ac62f75] + libass_jll v0.15.2+0 [1183f4f0] + libdecor_jll v0.2.2+0 [2db6ffa8] + libevdev_jll v1.11.0+0 [f638f0a6] + libfdk_aac_jll v2.0.3+0 [36db933b] + libinput_jll v1.18.0+0 [b53b4c65] + libpng_jll v1.6.47+0 [f27f6e37] + libvorbis_jll v1.3.7+2 [009596ad] + mtdev_jll v1.1.6+0 [1270edf5] + x264_jll v2021.5.5+0 [dfaa095f] + x265_jll v3.5.0+0 [d8fb68d0] + xkbcommon_jll v1.4.1+2 [0dad84c5] + ArgTools [56f22d72] + Artifacts [2a0f44e3] + Base64 [ade2ca70] + Dates [8bb1440f] + DelimitedFiles [f43a241f] + Downloads [7b1f6079] + FileWatching [b77e0a4c] + InteractiveUtils [b27032c2] + LibCURL [76f85450] + LibGit2 [8f399da3] + Libdl [37e2e46d] + LinearAlgebra [56ddb016] + Logging [d6f4376e] + Markdown [a63ad114] + Mmap [ca575930] + NetworkOptions [44cfe95a] + Pkg [de0858da] + Printf [3fa0cd96] + REPL [9a3f8284] + Random [ea8e919c] + SHA [9e88b42a] + Serialization [6462fe0b] + Sockets [2f01184e] + SparseArrays [10745b16] + Statistics [fa267f1f] + TOML [a4e569a6] + Tar [8dfed614] + Test [cf7118a7] + UUIDs [4ec0a83e] + Unicode [e66e0078] + CompilerSupportLibraries_jll [deac9b47] + LibCURL_jll [29816b5a] + LibSSH2_jll [c8ffd9c3] + MbedTLS_jll [14a3606d] + MozillaCACerts_jll [4536629a] + OpenBLAS_jll [05823500] + OpenLibm_jll [efcefdf7] + PCRE2_jll [83775a58] + Zlib_jll [8e850b90] + libblastrampoline_jll [8e850ede] + nghttp2_jll [3f19e933] + p7zip_jll