diff --git a/.github/workflows/Deploy.yml b/.github/workflows/Deploy.yml index e47ee194..0d8e6a47 100644 --- a/.github/workflows/Deploy.yml +++ b/.github/workflows/Deploy.yml @@ -48,19 +48,19 @@ jobs: uses: actions/configure-pages@v3 - name: Install dependencies run: npm add -D vitepress # or pnpm install / yarn install / bun install - # - name: Install documentation dependencies - # run: sudo apt-get update && sudo apt-get install -y xorg-dev mesa-utils xvfb libgl1 freeglut3-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libxext-dev libcairo2-dev libfreetype6-dev libffi-dev libjpeg-dev libpng-dev libz-dev - # - name: Install documentation dependencies - # run: DISPLAY=:0 xvfb-run -s '-screen 0 1024x768x24' julia --project=docs -e 'using Pkg; pkg"add https://github.com/LuxDL/DocumenterVitepress.jl.git"; Pkg.instantiate(); Pkg.precompile()' - # - name: generating examples md files - # run: | - # julia --project=docs/ --color=yes docs/gen_mds.jl - # DISPLAY=:0 xvfb-run -s '-screen 0 1024x768x24' julia --project=docs/ --color=yes docs/make.jl + - name: Install documentation dependencies + run: sudo apt-get update && sudo apt-get install -y xorg-dev mesa-utils xvfb libgl1 freeglut3-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libxext-dev libcairo2-dev libfreetype6-dev libffi-dev libjpeg-dev libpng-dev libz-dev + - name: Install documentation dependencies + run: DISPLAY=:0 xvfb-run -s '-screen 0 1024x768x24' julia --project=docs -e 'using Pkg; pkg"add https://github.com/LuxDL/DocumenterVitepress.jl.git"; Pkg.instantiate(); Pkg.precompile()' + - name: generating examples md files + run: | + julia --project=docs/ --color=yes docs/gen_mds.jl + DISPLAY=:0 xvfb-run -s '-screen 0 1024x768x24' julia --project=docs/ --color=yes docs/make.jl - name: Build with VitePress - # env: - # RASTERDATASOURCES_PATH: ".." # For downloading raster data - # JULIA_DEBUG: "Documenter" - # DATADEPS_ALWAYS_ACCEPT: true + env: + RASTERDATASOURCES_PATH: ".." # For downloading raster data + JULIA_DEBUG: "Documenter" + DATADEPS_ALWAYS_ACCEPT: true run: | NODE_OPTIONS=--max-old-space-size=32768 npm run docs:build # or pnpm docs:build / yarn docs:build / bun run docs:build touch docs/docs_site/.vitepress/dist/.nojekyll diff --git a/.gitignore b/.gitignore index 7a3f8c2e..7a9fb7e2 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ build .DS_Store *.DS_Store *tmp +docs/docs_site docs/src/.vitepress/dist docs/src/.vitepress/cache docs/docs_site/.vitepress/dist diff --git a/docs/docs_site/.vitepress/config.mts b/docs/docs_site/.vitepress/config.mts deleted file mode 100644 index a5c47e15..00000000 --- a/docs/docs_site/.vitepress/config.mts +++ /dev/null @@ -1,411 +0,0 @@ -import { defineConfig } from 'vitepress' -import { tabsMarkdownPlugin } from 'vitepress-plugin-tabs' - -// https://vitepress.dev/reference/site-config -export default defineConfig({ - base: '/BeautifulMakie/', - title: "Beautiful Makie", - description: "A gallery collection", - lastUpdated: true, - cleanUrls: true, - - markdown: { - config(md) { - md.use(tabsMarkdownPlugin) - }, - theme: { - light: "github-light", - dark: "github-dark"} - }, - themeConfig: { - // https://vitepress.dev/reference/default-theme-config - logo: { src: '/icon_makie.png', width: 24, height: 24 }, - search: { - provider: 'local' - }, - nav: [ - { text: 'Home', link: '/' }, - { text: '2D', - items: [ - { text: 'arrows',link: '/examples/2d/arrows/arrows' }, - { text: 'band',link: '/examples/2d/band/band' }, - { text: 'bars',link: '/examples/2d/bars/stripped_bars' }, - { text: 'boxplots',link: '/examples/2d/boxplots/airquality' }, - { text: 'contour',link: '/examples/2d/contour/complex_function' }, - { text: 'density',link: '/examples/2d/density/density' }, - { text: 'errorbars',link: '/examples/2d/errorbars/errorbars' }, - { text: 'heatmaps',link: '/examples/2d/heatmaps/heatmap' }, - { text: 'histogram',link: '/examples/2d/histogram/hist' }, - { text: 'lines',link: '/examples/2d/lines/line_cmap' }, - { text: 'linesegments',link: '/examples/2d/linesegments/linesegments' }, - { text: 'poly',link: '/examples/2d/poly/poly_ngon' }, - { text: 'scatterlines',link: '/examples/2d/scatterlines/markers' }, - { text: 'scatters',link: '/examples/2d/scatters/scatter' }, - { text: 'series',link: '/examples/2d/series/series' }, - { text: 'stairs',link: '/examples/2d/stairs/stairs' }, - { text: 'stem',link: '/examples/2d/stem/stem' }, - { text: 'streamplot',link: '/examples/2d/streamplot/streamplot' }, - { text: 'text',link: '/examples/2d/text/name' }, - { text: 'violins',link: '/examples/2d/violins/single' }, - ]}, - - { text: '3D', - items: [ - { text: 'contour3d',link: '/examples/3d/contour3d/contour_v' }, - { text: 'lines3d',link: '/examples/3d/lines3d/line3d' }, - { text: 'meshes',link: '/examples/3d/meshes/meshes' }, - { text: 'mesh scatters',link: '/examples/3d/mscatters/cube_mscatters' }, - { text: 'surfaces',link: '/examples/3d/surfaces/onecolor' }, - { text: 'volume',link: '/examples/3d/volume/volume' }, - ]}, - { text: 'Advanced', - items: [ - { text: 'Themes', link: '/examples/themes/black_epicycloid' }, - { text: 'Animations', link: '/examples/animations/scatter_size' }, - { text: 'Dashboards', link: '/examples/dashboards/tesseral_spherical_harmonics' }, - { text: 'Data Visualization', link: '' }, - { text: 'Geo', link: '' }, - { text: 'Algebra of Graphics', link: '' }, - { text: 'Raytracing', link: '' } - ]}, - { text: 'Pkgs versions', link: '/pkgs_versions' }, - ], - sidebar: { - // This sidebar gets displayed when a user - // is on `examples/2d` directory. - '/examples/2d/': [ - { - text: '2D', - items: [ - { - text: 'arrows', - collapsed: true, - items: [ - { text: 'arrows',link: '/examples/2d/arrows/arrows' }, - ], - }, - { - text: 'band', - collapsed: true, - items: [ - { text: 'band_confidence_error',link: '/examples/2d/band/band_confidence_error' }, - { text: 'band_ribbon',link: '/examples/2d/band/band_ribbon' }, - { text: 'band',link: '/examples/2d/band/band' }, - { text: 'filled_under_bell',link: '/examples/2d/band/filled_under_bell' }, - { text: 'filled_under',link: '/examples/2d/band/filled_under' }, - ], - }, - { - text: 'bars', - collapsed: true, - items: [ - { text: 'barplot_cmap_y_error',link: '/examples/2d/bars/barplot_cmap_y_error' }, - { text: 'barplot_y_error',link: '/examples/2d/bars/barplot_y_error' }, - { text: 'stripped_bars',link: '/examples/2d/bars/stripped_bars' }, - { text: 'x_barplot_error_y_error',link: '/examples/2d/bars/x_barplot_error_y_error' }, - ], - }, - { - text: 'boxplots', - collapsed: true, - items: [ - { text: 'boxplots',link: '/examples/2d/boxplots/airquality' }, - { text: 'boxplots_collection',link: '/examples/2d/boxplots/boxplots_collection' }, - { text: 'vertical_horizontal',link: '/examples/2d/boxplots/vertical_horizontal' }, - ], - }, - { - text: 'contour', - collapsed: true, - items: [ - { text: 'complex_function',link: '/examples/2d/contour/complex_function' }, - { text: 'contour_over_heatmap',link: '/examples/2d/contour/contour_over_heatmap' }, - { text: 'egg_shape',link: '/examples/2d/contour/egg_shape' }, - { text: 'qubit',link: '/examples/2d/contour/qubit' }, - ], - }, - { - text: 'density', - collapsed: true, - items: [ - { text: 'density',link: '/examples/2d/density/density' }, - { text: 'mtcars_density',link: '/examples/2d/density/mtcars_density' }, - - ], - }, - { - text: 'errorbars', - collapsed: true, - items: [ - { text: 'errorbars',link: '/examples/2d/errorbars/errorbars' }, - { text: 'simple_x_y',link: '/examples/2d/errorbars/simple_x_y' }, - { text: 'y_colormap',link: '/examples/2d/errorbars/y_colormap' }, - ], - }, - { - text: 'heatmaps', - collapsed: true, - items: [ - { text: 'heatmaps',link: '/examples/2d/heatmaps/heatmap' }, - { text: 'text_heatmap',link: '/examples/2d/heatmaps/text_heatmap' }, - - ], - }, - { - text: 'histograms', - collapsed: true, - items: [ - { text: 'bins_counts',link: '/examples/2d/histogram/bins_counts' }, - { text: 'hist_pdf',link: '/examples/2d/histogram/hist_pdf' }, - { text: 'histogram',link: '/examples/2d/histogram/hist' }, - { text: 'hists_on_the_sides',link: '/examples/2d/histogram/hists_on_the_sides' }, - { text: 'normalizations',link: '/examples/2d/histogram/normalizations' }, - { text: 'parallel_image_hist',link: '/examples/2d/histogram/parallel_image_hist' }, - ], - }, - { - text: 'lines', - collapsed: true, - items: [ - { text: 'line_cmap',link: '/examples/2d/lines/line_cmap' }, - { text: 'line_cmaps_a',link: '/examples/2d/lines/line_cmaps_a' }, - { text: 'line_cmaps',link: '/examples/2d/lines/line_cmaps' }, - { text: 'line_colored_cbar',link: '/examples/2d/lines/line_colored_cbar' }, - { text: 'line_colored',link: '/examples/2d/lines/line_colored' }, - { text: 'line_inset_h',link: '/examples/2d/lines/line_inset_h' }, - { text: 'line_inset',link: '/examples/2d/lines/line_inset' }, - { text: 'line_latex_bessel',link: '/examples/2d/lines/line_latex_bessel' }, - { text: 'line_latex_bessels',link: '/examples/2d/lines/line_latex_bessels' }, - { text: 'line_latex',link: '/examples/2d/lines/line_latex' }, - { text: 'line_single',link: '/examples/2d/lines/line_single' }, - { text: 'line_time',link: '/examples/2d/lines/line_time' }, - { text: 'line_twin_axis',link: '/examples/2d/lines/line_twin_axis' }, - { text: 'line_two',link: '/examples/2d/lines/line_two' }, - { text: 'line_xlog',link: '/examples/2d/lines/line_xlog' }, - { text: 'line_xylog',link: '/examples/2d/lines/line_xylog' }, - { text: 'line_ylog',link: '/examples/2d/lines/line_ylog' }, - ], - }, - { - text: 'linesegments', - collapsed: true, - items: [ - { text: 'linesegments',link: '/examples/2d/linesegments/linesegments' }, - { text: 'RRGraph',link: '/examples/2d/linesegments/RRGraph' }, - - ], - }, - { - text: 'poly', - collapsed: true, - items: [ - { text: 'poly',link: '/examples/2d/poly/poly_ngon' }, - ], - }, - { - text: 'scatterlines', - collapsed: true, - items: [ - { text: 'markers',link: '/examples/2d/scatterlines/markers' }, - { text: 'scatters_line_leg_out',link: '/examples/2d/scatterlines/scatters_line_leg_out' }, - { text: 'scatters_line',link: '/examples/2d/scatterlines/scatters_line' }, - { text: 'simple',link: '/examples/2d/scatterlines/simple' }, - { text: 'spirals',link: '/examples/2d/scatterlines/spirals' }, - ], - }, - { - text: 'scatters', - collapsed: true, - items: [ - { text: 'bubble_plot_logxy',link: '/examples/2d/scatters/bubble_plot_logxy' }, - { text: 'bubble_plot',link: '/examples/2d/scatters/bubble_plot' }, - { text: 'iris_dataset',link: '/examples/2d/scatters/iris_dataset' }, - { text: 'makie_contributors',link: '/examples/2d/scatters/makie_contributors' }, - { text: 'scatter',link: '/examples/2d/scatters/scatter' }, - { text: 'scatters_colormap',link: '/examples/2d/scatters/scatters_colormap' }, - { text: 'scatters_legend',link: '/examples/2d/scatters/scatters_legend' }, - ], - }, - { - text: 'series', - collapsed: true, - items: [ - { text: 'series',link: '/examples/2d/series/series' }, - ], - }, - { - text: 'stairs', - collapsed: true, - items: [ - { text: 'stairs',link: '/examples/2d/stairs/stairs' }, - ], - }, - { - text: 'stem', - collapsed: true, - items: [ - { text: 'stem',link: '/examples/2d/stem/stem' }, - ], - }, - { - text: 'streamplot', - collapsed: true, - items: [ - { text: 'complex_polya_field',link: '/examples/2d/streamplot/complex_polya_field' }, - { text: 'field_heatmap',link: '/examples/2d/streamplot/field_heatmap' }, - { text: 'ode_solution',link: '/examples/2d/streamplot/ode_solution' }, - { text: 'poincare_vander',link: '/examples/2d/streamplot/poincare_vander' }, - { text: 'streamplot',link: '/examples/2d/streamplot/streamplot' }, - ], - }, - { - text: 'text', - collapsed: true, - items: [ - { text: 'your_name',link: '/examples/2d/text/your_name' }, - ], - }, - { - text: 'violins', - collapsed: true, - items: [ - { text: 'airquality',link: '/examples/2d/violins/airquality' }, - { text: 'collection_violins',link: '/examples/2d/violins/collection_violins' }, - { text: 'violins',link: '/examples/2d/violins/single' }, - ], - }, - ] - } - ], - // This sidebar gets displayed when a user - // is on `/examples/3d` directory. - '/examples/3d/': [ - { - text: '3D', - items: [ - { - text: 'contour3d', - collapsed: true, - items: [ - { text: 'contour3d',link: '/examples/3d/contour3d/contour_v' }, - { text: 'contourf_contour3d',link: '/examples/3d/contour3d/contourf_contour3d' }, - ], - }, - { - text: 'lines3d', - collapsed: true, - items: [ - { text: 'archimedean_spiral',link: '/examples/3d/lines3d/archimedean_spiral' }, - { text: 'lines3d',link: '/examples/3d/lines3d/line3d' }, - { text: 'lines_wire_contour_3d',link: '/examples/3d/lines3d/lines_wire_contour_3d' }, - { text: 'wireframe_torus',link: '/examples/3d/lines3d/wireframe_torus' }, - ], - }, - { - text: 'meshes', - collapsed: true, - items: [ - { text: 'cpunkCube',link: '/examples/3d/meshes/cpunkCube' }, - { text: 'Earth_planes',link: '/examples/3d/meshes/Earth_planes' }, - { text: 'gfield',link: '/examples/3d/meshes/gfield' }, - { text: 'how_to_cube',link: '/examples/3d/meshes/how_to_cube' }, - { text: 'meshes',link: '/examples/3d/meshes/meshes' }, - { text: 'simplex',link: '/examples/3d/meshes/simplex' }, - - ], - }, - { - text: 'mesh scatters', - collapsed: true, - items: [ - { text: 'cube mscatters',link: '/examples/3d/mscatters/cube_mscatters' }, - { text: 'gauss2d',link: '/examples/3d/mscatters/gauss2d' }, - { text: 'RGBAcube',link: '/examples/3d/mscatters/RGBAcube' }, - { text: 'RRGraph3D',link: '/examples/3d/mscatters/RRGraph3D' }, - { text: 'SSAO_meshscatter',link: '/examples/3d/mscatters/SSAO_meshscatter' }, - { text: 'SSAO_mgrid',link: '/examples/3d/mscatters/SSAO_mgrid' }, - ], - }, - { - text: 'surfaces', - collapsed: true, - items: [ - { text: 'band3d',link: '/examples/3d/surfaces/band3d' }, - { text: 'branching',link: '/examples/3d/surfaces/branching' }, - { text: 'complex_function',link: '/examples/3d/surfaces/complex_function' }, - { text: 'constraints',link: '/examples/3d/surfaces/constraints' }, - { text: 'gabriels_horn',link: '/examples/3d/surfaces/gabriels_horn' }, - { text: 'klein_bottle',link: '/examples/3d/surfaces/klein_bottle' }, - { text: 'onecolor',link: '/examples/3d/surfaces/onecolor' }, - { text: 'revolution_surface_s',link: '/examples/3d/surfaces/revolution_surface_s' }, - { text: 'revolution_surface',link: '/examples/3d/surfaces/revolution_surface' }, - { text: 'surface_filled_sides',link: '/examples/3d/surfaces/surface_filled_sides' }, - { text: 'surface',link: '/examples/3d/surfaces/surface' }, - { text: 'tesseralSphericalH',link: '/examples/3d/surfaces/tesseralSphericalH' }, - { text: 'torus',link: '/examples/3d/surfaces/torus' }, - ], - }, - { - text: 'volume', - collapsed: true, - items: [ - { text: 'volume',link: '/examples/3d/volume/volume' }, - { text: 'volume_contour_scatters',link: '/examples/3d/volume/volume_contour_scatters' }, - - ], - }, - ], - } - ], - // This sidebar gets displayed when a user - // is on `/examples/themes/` directory. - '/examples/themes/': [ - { - text: 'Themes', - collapsed: true, - items: [ - { text: 'black: epicycloid', link: '/examples/themes/black_epicycloid' }, - { text: 'dark: surface, contour3d & streamplot', link: '/examples/themes/dark_surface_contour3d_streamplot' }, - { text: 'minimal: series', link: '/examples/themes/minimal_series' }, - { text: 'ggplot2: stem', link: '/examples/themes/ggplot2_stem' }, - { text: 'light: poly', link: '/examples/themes/light_ngon' }, - - ], - }, - ], - // This sidebar gets displayed when a user - // is on `/examples/themes/` directory. - '/examples/animations/': [ - { - text: 'Animations', - collapsed: true, - items: [ - { text: 'scatter size', link: '/examples/animations/scatter_size' }, - ], - }, - ], - '/examples/dashboards/': [ - { - text: 'dashboards', - collapsed: true, - items: [ - { text: 'Menu and sliders', link: '/examples/dashboards/tesseral_spherical_harmonics' }, - { text: 'slider colormaps', link: '/examples/dashboards/colorschemes' }, - { text: 'slider matcap', link: '/examples/dashboards/matcap' }, - ], - }, - ], - - }, - socialLinks: [ - { icon: 'linkedin', link: 'https://www.linkedin.com/in/lazaro-alonso/' }, - { icon: 'github', link: 'https://github.com/lazarusA' }, - { icon: 'mastodon', link: 'https://julialang.social/@LazaroAlonso' }, - { icon: 'twitter', link: 'https://twitter.com/LazarusAlon' } - ], - footer: { - message: 'Made with VitePress, Documenter.jl & Literate.jl
Released under the MIT License. Powered by the Julia Programming Language.', - copyright: '© Copyright 2023 Lazaro Alonso' - } - } -}) \ No newline at end of file diff --git a/docs/docs_site/.vitepress/theme/index.ts b/docs/docs_site/.vitepress/theme/index.ts deleted file mode 100644 index 12008e5e..00000000 --- a/docs/docs_site/.vitepress/theme/index.ts +++ /dev/null @@ -1,11 +0,0 @@ -// .vitepress/theme/index.ts -import Theme from 'vitepress/theme' -import { enhanceAppWithTabs } from 'vitepress-plugin-tabs/client' -import './style.css' - -export default { - ...Theme, - enhanceApp({ app }) { - enhanceAppWithTabs(app) - } -} \ No newline at end of file diff --git a/docs/docs_site/.vitepress/theme/style.css b/docs/docs_site/.vitepress/theme/style.css deleted file mode 100644 index 4e8634cb..00000000 --- a/docs/docs_site/.vitepress/theme/style.css +++ /dev/null @@ -1,150 +0,0 @@ -@import url(https://fonts.googleapis.com/css?family=Space+Mono:regular,italic,700,700italic); -@import url(https://fonts.googleapis.com/css?family=Space+Grotesk:regular,italic,700,700italic); - -/** - * Customize default theme styling by overriding CSS variables: - * https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/styles/vars.css - */ - -/** - * Fonts - * -------------------------------------------------------------------------- - */ -:root { - /* Typography */ - --vp-font-family-base: "Barlow", "Inter var experimental", "Inter var", - -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, - Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - - /* Code Snippet font */ - --vp-font-family-mono: "Space Mono", Menlo, Monaco, Consolas, "Courier New", - monospace; -} - -/** - * Colors - * -------------------------------------------------------------------------- */ - -:root { - --julia-blue: rgb(56.475, 87.3, 190.575); - --julia-purple: rgb(131.4, 77.625, 157.05); - --julia-red: rgb(179.10, 52.875, 45.0); - --julia-green: rgb(49.5, 134.1, 33.525); - - --vp-c-brand: #646cff; - --vp-c-brand-light: #747bff; - --vp-c-brand-lighter: #9499ff; - --vp-c-brand-lightest: #bcc0ff; - --vp-c-brand-dark: #535bf2; - --vp-c-brand-darker: #454ce1; - --vp-c-brand-dimm: rgba(100, 108, 255, 0.08); -} - -/** - * Component: Button - * -------------------------------------------------------------------------- */ - -:root { - --vp-button-brand-border: var(--vp-c-brand-light); - --vp-button-brand-text: var(--vp-c-white); - --vp-button-brand-bg: var(--vp-c-brand); - --vp-button-brand-hover-border: var(--vp-c-brand-light); - --vp-button-brand-hover-text: var(--vp-c-white); - --vp-button-brand-hover-bg: var(--vp-c-brand-light); - --vp-button-brand-active-border: var(--vp-c-brand-light); - --vp-button-brand-active-text: var(--vp-c-white); - --vp-button-brand-active-bg: var(--vp-button-brand-bg); -} - -/** - -/** - * Component: copy/paste button - * -------------------------------------------------------------------------- */ - - /* :root { - --vp-icon-copy: url("data:image/svg+xml..."); - --vp-icon-copied: url("data:image/svg+xml..."); -} */ - -/** - - * Component: Home - * -------------------------------------------------------------------------- */ - -:root { - --vp-home-hero-name-color: transparent; - --vp-home-hero-name-background: -webkit-linear-gradient( - 120deg, - #e4c92a, - #dd3365, - #3782b9 80% - ); - - --vp-home-hero-image-background-image: linear-gradient( - -45deg, - /* #e4c92a 30%, */ - #dd3365 50%, - #3782b9 50% - ); - --vp-home-hero-image-filter: blur(40px); -} - -@media (min-width: 640px) { - :root { - --vp-home-hero-image-filter: blur(56px); - } -} - -@media (min-width: 960px) { - :root { - --vp-home-hero-image-filter: blur(72px); - } -} - -/** - * Component: Custom Block - * -------------------------------------------------------------------------- */ - -:root { - --vp-custom-block-tip-border: var(--vp-c-brand); - --vp-custom-block-tip-text: var(--vp-c-brand-darker); - --vp-custom-block-tip-bg: var(--vp-c-brand-dimm); -} - -.dark { - --vp-custom-block-tip-border: var(--vp-c-brand); - --vp-custom-block-tip-text: var(--vp-c-brand-lightest); - --vp-custom-block-tip-bg: var(--vp-c-brand-dimm); -} - -/** - * Component: Algolia - * -------------------------------------------------------------------------- */ - -.DocSearch { - --docsearch-primary-color: var(--vp-c-brand) !important; -} - - -/** - * Component: MathJax - * -------------------------------------------------------------------------- */ -mjx-container > svg { - display: block; - margin: auto; -} - -mjx-container { - padding: 0.5rem 0; -} - -mjx-container { - display: inline-block; - margin: auto 2px -2px; -} - -mjx-container > svg { - margin: auto; - display: inline-block; -} \ No newline at end of file diff --git a/docs/docs_site/components/Gallery.vue b/docs/docs_site/components/Gallery.vue deleted file mode 100644 index e788d1e7..00000000 --- a/docs/docs_site/components/Gallery.vue +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/docs/docs_site/components/GalleryImage.vue b/docs/docs_site/components/GalleryImage.vue deleted file mode 100644 index c4bb71b0..00000000 --- a/docs/docs_site/components/GalleryImage.vue +++ /dev/null @@ -1,82 +0,0 @@ - - - - - \ No newline at end of file diff --git a/docs/docs_site/examples/2d/arrows/arrows.md b/docs/docs_site/examples/2d/arrows/arrows.md deleted file mode 100644 index a92c5587..00000000 --- a/docs/docs_site/examples/2d/arrows/arrows.md +++ /dev/null @@ -1,27 +0,0 @@ - - - -```julia -using CairoMakie - -xs = LinRange(-3, 3, 20) -ys = LinRange(-3, 3, 20) -us = [x + y for x in xs, y in ys] -vs = [y - x for x in xs, y in ys] -strength = vec(sqrt.(us .^2 .+ vs .^2)) -cmap = :gnuplot - -fig = Figure(size = (600, 400)) -ax = Axis(fig[1,1], xlabel = "x", ylabel = "y", aspect = DataAspect()) -arrows!(ax, xs, ys, us, vs, arrowsize = 10, lengthscale = 0.1, - arrowcolor = strength, linecolor = strength, colormap = cmap) -Colorbar(fig[1,2], limits =(minimum(strength), maximum(strength)), - nsteps =100, colormap = cmap, ticksize=15, width = 15, tickalign=1) -limits!(ax, -3,3,-3,3) -colsize!(fig.layout, 1, Aspect(1, 1.0)) -fig -``` - - -![](arrows.svg) - diff --git a/docs/docs_site/examples/2d/arrows/arrows.svg b/docs/docs_site/examples/2d/arrows/arrows.svg deleted file mode 100644 index 64dda53f..00000000 --- a/docs/docs_site/examples/2d/arrows/arrows.svg +++ /dev/null @@ -1,1681 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/band/band.md b/docs/docs_site/examples/2d/band/band.md deleted file mode 100644 index 9e97a834..00000000 --- a/docs/docs_site/examples/2d/band/band.md +++ /dev/null @@ -1,37 +0,0 @@ - - - -```julia -using CairoMakie, Random - -x = 0:0.05:4π -y1 = sin.(3x) ./ (cos.(x) .+ 2)./x -y2 = -2.5cos.(x)./x -xl = LinRange(5,10,10) -yl = LinRange(1,0.5,10) - -fig = Figure(size = (600, 400)) -ax = Axis(fig[1,1]) -lines!(x, y1; color = :dodgerblue, label = "blue") -band!(x, y1 .- 0.1, y1 .+ 0.1; color = (:dodgerblue, 0.2), label = "blue") - -lines!(x, y2; color = :red, label = "red") -band!(x, y2 .- 0.1, y2 .+ 0.1; color = (:red, 0.2), label = "red") - -lines!(xl, yl; color = :slategray1, label = "slategray1") -band!(xl, fill(0.5,10), yl; color= (:slategray1, 0.25),label="slategray1") -ylims!(-0.55,1) -axislegend(ax, position = :rt, merge = true) -hidedecorations!(ax; grid = false) -fig -``` - - -``` -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -``` - - -![](band.svg) - diff --git a/docs/docs_site/examples/2d/band/band.svg b/docs/docs_site/examples/2d/band/band.svg deleted file mode 100644 index 1417e85d..00000000 --- a/docs/docs_site/examples/2d/band/band.svg +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/band/band_confidence_error.md b/docs/docs_site/examples/2d/band/band_confidence_error.md deleted file mode 100644 index 3a363288..00000000 --- a/docs/docs_site/examples/2d/band/band_confidence_error.md +++ /dev/null @@ -1,21 +0,0 @@ - - - -```julia -using CairoMakie - -x = y = -10:0.11:10 -y1d = sin.(x) ./ x -lower = y1d .- 0.1 -upper = y1d .+ 0.1 - -fig = Figure(size = (600, 400)) -ax = Axis(fig[1, 1], xlabel = "x", ylabel = "y") -lines!(x, y1d, color = :black) -band!(x, lower, upper; color = (:green, 0.2)) -fig -``` - - -![](band_confidence_error.svg) - diff --git a/docs/docs_site/examples/2d/band/band_confidence_error.svg b/docs/docs_site/examples/2d/band/band_confidence_error.svg deleted file mode 100644 index 79cb4bfb..00000000 --- a/docs/docs_site/examples/2d/band/band_confidence_error.svg +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/band/band_ribbon.md b/docs/docs_site/examples/2d/band/band_ribbon.md deleted file mode 100644 index 5291ae18..00000000 --- a/docs/docs_site/examples/2d/band/band_ribbon.md +++ /dev/null @@ -1,17 +0,0 @@ - - - -```julia -using CairoMakie - -x = LinRange(-10, 10, 200) -fig = Figure(size = (600, 400)) -ax = Axis(fig[1, 1], xlabel = "x", ylabel = "y") -band!(x, sin.(x), sin.(x) .+ 1; color = (:blue, 0.2)) -band!(x, cos.(x), 1 .+ cos.(x); color = (:red, 0.2)) -fig -``` - - -![](band_ribbon.svg) - diff --git a/docs/docs_site/examples/2d/band/band_ribbon.svg b/docs/docs_site/examples/2d/band/band_ribbon.svg deleted file mode 100644 index d016ecb4..00000000 --- a/docs/docs_site/examples/2d/band/band_ribbon.svg +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/band/filled_under.md b/docs/docs_site/examples/2d/band/filled_under.md deleted file mode 100644 index c8bfb3a6..00000000 --- a/docs/docs_site/examples/2d/band/filled_under.md +++ /dev/null @@ -1,25 +0,0 @@ - - - -```julia -using CairoMakie - -x = 0:0.05:1 -y = x .^ 2 -fig = Figure(size = (600, 400)) -ax = Axis(fig[1, 1], xlabel = "x", ylabel = "y") -lines!(x, y, color = :orangered, label = "Label") -band!(x, fill(0, length(x)), y; color = (:orange, 0.25), label = "Label") -axislegend(; merge = true, position = :lt) -fig -``` - - -``` -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -``` - - -![](filled_under.svg) - diff --git a/docs/docs_site/examples/2d/band/filled_under.svg b/docs/docs_site/examples/2d/band/filled_under.svg deleted file mode 100644 index 1ed02140..00000000 --- a/docs/docs_site/examples/2d/band/filled_under.svg +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/band/filled_under_bell.md b/docs/docs_site/examples/2d/band/filled_under_bell.md deleted file mode 100644 index 483d1a7a..00000000 --- a/docs/docs_site/examples/2d/band/filled_under_bell.md +++ /dev/null @@ -1,32 +0,0 @@ - - - -```julia -using CairoMakie - -μs = [0.25, 2, -1] -σs = [1.25, 1, 2] -colors = ["#E69F00", "#56B4E9", "#009E73"] -x = LinRange(-10, 10, 200) -fg(x, μ, σ) = exp.(.-(x .- μ) .^ 2 ./ (2σ^2)) ./ (σ * √(2π)) -fig = Figure(size = (600, 400), fonts= (; regular = "CMU Serif")) -ax = Axis(fig[1, 1], xlabel = L"x", ylabel = L"y", xlabelsize = 22, ylabelsize = 22) -for (idx, μ) in enumerate(μs) - lines!(x, fg(x, μ, σs[idx]); color = colors[idx], - label = L"\mu = %$(μ), \sigma = %$(σs[idx])") - band!(x, fill(0, length(x)), fg(x, μ, σs[idx]); color = (colors[idx], 0.1), - label = L"\mu = %$(μ), \sigma = %$(σs[idx])") -end -axislegend(; merge = true, framecolor = :red) -fig -``` - - -``` -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -``` - - -![](filled_under_bell.svg) - diff --git a/docs/docs_site/examples/2d/band/filled_under_bell.svg b/docs/docs_site/examples/2d/band/filled_under_bell.svg deleted file mode 100644 index d3965e60..00000000 --- a/docs/docs_site/examples/2d/band/filled_under_bell.svg +++ /dev/null @@ -1,426 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/bars/band_y_error.svg b/docs/docs_site/examples/2d/bars/band_y_error.svg deleted file mode 100644 index de8dff23..00000000 --- a/docs/docs_site/examples/2d/bars/band_y_error.svg +++ /dev/null @@ -1,277 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/bars/barplot_cmap_y_error.md b/docs/docs_site/examples/2d/bars/barplot_cmap_y_error.md deleted file mode 100644 index 03b93077..00000000 --- a/docs/docs_site/examples/2d/bars/barplot_cmap_y_error.md +++ /dev/null @@ -1,19 +0,0 @@ - - - -```julia -using CairoMakie, Random - -Random.seed!(145) -x, y, yerr = 1:2:20, 5 * rand(10), 0.4 * abs.(randn(10)) -fig = Figure(size = (600, 400), fonts = (; regular= "sans")) -ax = Axis(fig[1, 1]; xlabel = "variables", ylabel = "values") -barplot!(ax, x, y; strokewidth = 1, color = x, colormap = (:Spectral_10, 0.85), - strokecolor = :black) -errorbars!(ax, x, y, yerr; whiskerwidth = 12) -fig -``` - - -![](barplot_cmap_y_error.svg) - diff --git a/docs/docs_site/examples/2d/bars/barplot_cmap_y_error.svg b/docs/docs_site/examples/2d/bars/barplot_cmap_y_error.svg deleted file mode 100644 index f263ec02..00000000 --- a/docs/docs_site/examples/2d/bars/barplot_cmap_y_error.svg +++ /dev/null @@ -1,268 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/bars/barplot_y_error.md b/docs/docs_site/examples/2d/bars/barplot_y_error.md deleted file mode 100644 index 7b885f8b..00000000 --- a/docs/docs_site/examples/2d/bars/barplot_y_error.md +++ /dev/null @@ -1,19 +0,0 @@ - - - -```julia -using CairoMakie, Random - -Random.seed!(145) -x, y, yerr = 1:2:20, 5 * rand(10), 0.4 * abs.(randn(10)) - -fig = Figure(size = (600, 400)) -ax = Axis(fig[1, 1], xlabel = "variable", ylabel = "values") -barplot!(ax, x, y; strokewidth = 1, color = :transparent, strokecolor = :black) -errorbars!(ax, x, y, yerr; whiskerwidth = 12) -fig -``` - - -![](band_y_error.svg) - diff --git a/docs/docs_site/examples/2d/bars/stripped_bars.md b/docs/docs_site/examples/2d/bars/stripped_bars.md deleted file mode 100644 index 5428c2bf..00000000 --- a/docs/docs_site/examples/2d/bars/stripped_bars.md +++ /dev/null @@ -1,34 +0,0 @@ - - - -```julia -# This currently fails with CairoMakie -# https://discourse.julialang.org/t/striped-colors-for-e-g-bar-plots-in-julia/64435/3 -using GLMakie.Makie, GLMakie, Random -GLMakie.activate!() -GLMakie.closeall() # close any open screen - - -Random.seed!(13) -# patterns -# `'/'`, `'\\'`, `'-'`, `'|'`, `'x'`, and `'+'` -directions = [Vec2f(1), Vec2f(1, -1), Vec2f(1, 0), Vec2f(0, 1), - [Vec2f(1), Vec2f(1, -1)], [Vec2f(1, 0), Vec2f(0, 1)]] -colors = [:white, :orange, (:green, 0.5), :yellow, (:blue, 0.85), :black] - -patternColors = [Makie.LinePattern(direction = hatch; width = 5, tilesize = (20, 20), - linecolor = colors[indx], background_color = colors[end-indx+1]) - for (indx, hatch) in enumerate(directions)] - -fig, ax, pltobj = barplot(1:2, strokewidth = 2, color = ["grey", "orange"], - figure = (size = (1200, 800), fontsize = 32)) -for (idx, pattern) in enumerate(patternColors) - barplot!(ax, [idx + 2], [idx * (2rand() + 1)], color = pattern, strokewidth = 2) -end -ax.xticks = (1:8, ["grey", "orange", "/", "\\", "-", "|", "x", "+"]) -fig -``` - - -![](stripped_bars.png) - diff --git a/docs/docs_site/examples/2d/bars/stripped_bars.png b/docs/docs_site/examples/2d/bars/stripped_bars.png deleted file mode 100644 index 4f5be9db..00000000 Binary files a/docs/docs_site/examples/2d/bars/stripped_bars.png and /dev/null differ diff --git a/docs/docs_site/examples/2d/bars/x_barplot_error_y_error.md b/docs/docs_site/examples/2d/bars/x_barplot_error_y_error.md deleted file mode 100644 index ce6c4e06..00000000 --- a/docs/docs_site/examples/2d/bars/x_barplot_error_y_error.md +++ /dev/null @@ -1,20 +0,0 @@ - - - -```julia -using CairoMakie, Random - -Random.seed!(145) -x, y = 1:2:20, 5 * rand(10) -yerr, xerr = 0.4 * abs.(randn(10)), abs.(randn(10)) -fig = Figure(size = (600, 400), fonts =(; regular= "sans")) -ax = Axis(fig[1, 1], xlabel = "variables", ylabel = "values") -barplot!(ax, x, y; width = 1.8xerr, strokewidth = 1, color = :transparent, - strokecolor = :black) -errorbars!(ax, x, y, yerr; whiskerwidth = 12) -fig -``` - - -![](x_barplot_error_y_error.svg) - diff --git a/docs/docs_site/examples/2d/bars/x_barplot_error_y_error.svg b/docs/docs_site/examples/2d/bars/x_barplot_error_y_error.svg deleted file mode 100644 index baed8da8..00000000 --- a/docs/docs_site/examples/2d/bars/x_barplot_error_y_error.svg +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/boxplots/airquality.md b/docs/docs_site/examples/2d/boxplots/airquality.md deleted file mode 100644 index d35ce664..00000000 --- a/docs/docs_site/examples/2d/boxplots/airquality.md +++ /dev/null @@ -1,25 +0,0 @@ - - - -```julia -using CairoMakie, RDatasets, Colors, ColorSchemes - -airquality = dataset("datasets", "airquality") -categories = ["Ozone", "Solar.R", "Wind", "Temp"] -colors = categorical_colors(:Set1, length(categories)) - -fig = Figure(size = (600, 400)) -ax = Axis(fig[1, 1], xticks = (1:length(categories), categories)) -for (indx, f) in enumerate(categories) - datam = filter(x -> x !== missing, airquality[:, f]) - a = fill(indx, length(datam)) - boxplot!(ax, a, datam; whiskerwidth = 1, width = 0.35, - color = (colors[indx], 0.45), whiskercolor = (colors[indx], 1), - mediancolor = :black) -end -fig -``` - - -![](airquality.svg) - diff --git a/docs/docs_site/examples/2d/boxplots/airquality.svg b/docs/docs_site/examples/2d/boxplots/airquality.svg deleted file mode 100644 index 897f76a4..00000000 --- a/docs/docs_site/examples/2d/boxplots/airquality.svg +++ /dev/null @@ -1,273 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/boxplots/boxplot_collection.svg b/docs/docs_site/examples/2d/boxplots/boxplot_collection.svg deleted file mode 100644 index d4e4aed5..00000000 --- a/docs/docs_site/examples/2d/boxplots/boxplot_collection.svg +++ /dev/null @@ -1,500 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/boxplots/boxplots_collection.md b/docs/docs_site/examples/2d/boxplots/boxplots_collection.md deleted file mode 100644 index 6ed93c0f..00000000 --- a/docs/docs_site/examples/2d/boxplots/boxplots_collection.md +++ /dev/null @@ -1,39 +0,0 @@ - - - -```julia -using CairoMakie, Random, Distributions - -Random.seed!(13) -n = 3000 -colors = resample_cmap(:spring, 8)[3:end] - -fig = Figure(; size = (600, 400)) -ax = Axis(fig[1,1]; # palette = (; patchcolor = colors), - xticks = (1:7, ["cat 1", "A", "B", "C", "D", "E", "F"]), - yticks = ([-5], ["cat 2"]), yticklabelrotation = π/2) -boxplot!(ax, fill(-5,n), rand(Normal(0, 0.5), n); orientation=:horizontal, - whiskerwidth = 1, width = 2, #color = (:orange, 0.95), - whiskercolor = :red, mediancolor = :yellow, markersize = 8, - strokecolor = :black, strokewidth = 1, label = "horizontal") -boxplot!(ax, fill(1,n), rand(Normal(1, 3), n); whiskerwidth = 1, - width = 0.5, color = :dodgerblue, whiskercolor = :dodgerblue, - mediancolor = :grey20, markersize = 5, strokecolor = :grey20, - strokewidth = 1, label = "vertical") -for i in 2:7 - boxplot!(ax, fill(i,n), rand(Normal(rand(-2:5), 2*rand() + 0.3), n); - whiskerwidth = 1, width = 0.35) -end -axislegend(ax, position = :lt) -fig -``` - - -``` -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -``` - - -![](boxplot_collection.svg) - diff --git a/docs/docs_site/examples/2d/boxplots/vertical_horizontal.md b/docs/docs_site/examples/2d/boxplots/vertical_horizontal.md deleted file mode 100644 index 90f35471..00000000 --- a/docs/docs_site/examples/2d/boxplots/vertical_horizontal.md +++ /dev/null @@ -1,41 +0,0 @@ - - - -```julia -using CairoMakie, Random - -Random.seed!(13) -n = 3000 -data_r = randn(n) -a = fill(1, n) -fig = Figure(size = (600, 400)) -ax1 = Axis(fig[1, 1], xlabel = "variable", ylabel = "values", - xticks = ([1], ["normal Distribution"])) -ax2 = Axis(fig[1, 2], xlabel = "values", ylabel = "variable", - yticks = ([1], ["normal Distribution"]), yticklabelrotation = pi / 2) - -boxplot!(ax1, a, data_r; whiskerwidth = 1, width = 0.35, color = (:red, 0.45), - whiskercolor = (:red, 1), mediancolor = :red, markersize = 8, - strokecolor = :black, strokewidth = 1, label = "vertical") -limits!(ax1, 0, 2, -5, 5) -boxplot!(ax2, a, data_r; orientation = :horizontal, whiskerwidth = 1, width = 0.35, - color = (:navy, 0.45), whiskercolor = (:navy, 1), mediancolor = :navy, - markersize = 8, strokecolor = :black, strokewidth = 1, - label = "horizontal") -limits!(ax2, -5, 5, 0, 2) -axislegend(ax1, position = :rb, framecolor = :transparent) -axislegend(ax2, position = :rt, backgroundcolor = (:dodgerblue, 0.2)) -fig -``` - - -``` -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -``` - - -![](vertical_horizontal.svg) - diff --git a/docs/docs_site/examples/2d/boxplots/vertical_horizontal.svg b/docs/docs_site/examples/2d/boxplots/vertical_horizontal.svg deleted file mode 100644 index d03400e0..00000000 --- a/docs/docs_site/examples/2d/boxplots/vertical_horizontal.svg +++ /dev/null @@ -1,673 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/contour/complex_function.md b/docs/docs_site/examples/2d/contour/complex_function.md deleted file mode 100644 index dd495858..00000000 --- a/docs/docs_site/examples/2d/contour/complex_function.md +++ /dev/null @@ -1,28 +0,0 @@ - - - -```julia -using CairoMakie - -x = -2:0.005:2 -y = -2:0.005:2 -f(z) = (z^3 - 3) / z -fvals = [f(u + 1im * v) for u in x, v in y] -fvalues = abs.(fvals) -fargs = angle.(fvals) - -fig = Figure(size=(900, 400), fontsize=20) -axs = [Axis(fig[1, j], aspect=1) for j in 1:2] -cmap = :roma -contour!(axs[1], x, y, fargs, levels=30, colormap=cmap) -pltobj1 = heatmap!(axs[2], x, y, fargs, colorrange=(-π, π), colormap=cmap) -contour!(axs[2], x, y, fargs, levels=30, color=:white, linewidth=0.85) -Colorbar(fig[1, 3], pltobj1, ticks=([-π, -π / 2, 0, π / 2, π], - ["-π", "-π/2", "0", "π/2", "π"])) -limits!(axs[1], -2, 2, -2, 2) -fig -``` - - -![](contour_function.png) - diff --git a/docs/docs_site/examples/2d/contour/contour_function.png b/docs/docs_site/examples/2d/contour/contour_function.png deleted file mode 100644 index f2958aac..00000000 Binary files a/docs/docs_site/examples/2d/contour/contour_function.png and /dev/null differ diff --git a/docs/docs_site/examples/2d/contour/contour_over_heatmap.md b/docs/docs_site/examples/2d/contour/contour_over_heatmap.md deleted file mode 100644 index 1c4abe9e..00000000 --- a/docs/docs_site/examples/2d/contour/contour_over_heatmap.md +++ /dev/null @@ -1,26 +0,0 @@ - - - -```julia -using CairoMakie - -f(x, y) = (x + 2y^2) * abs(sin(y) + cos(x)) -x = y = 1:0.2:20 -z = [f(x, y) for x in x, y in y] - -fig = Figure(size=(1200, 400), fontsize=22) -axs = [Axis(fig[1, j], aspect=1, xlabel="x", ylabel=j == 1 ? "y" : "") - for j in 1:3] -p1 = heatmap!(axs[1], x, y, z, colormap=:plasma) -contour!(axs[2], x, y, z; color=:black, levels=100:1:101) -heatmap!(axs[3], x, y, z; colormap=(:plasma, 0.5)) -contour!(axs[3], x, y, z; color=:white, levels=100:1:101) -Colorbar(fig[1, 4], p1, width=20, ticksize=20, tickalign=1) -[limits!(axs[i], 1, 20, 1, 20) for i in 1:3] -[hideydecorations!(axs[i], grid=false, ticks=false) for i in 2:3] -fig -``` - - -![](contour_over_heatmap.png) - diff --git a/docs/docs_site/examples/2d/contour/contour_over_heatmap.png b/docs/docs_site/examples/2d/contour/contour_over_heatmap.png deleted file mode 100644 index e4194ec9..00000000 Binary files a/docs/docs_site/examples/2d/contour/contour_over_heatmap.png and /dev/null differ diff --git a/docs/docs_site/examples/2d/contour/egg_shape.md b/docs/docs_site/examples/2d/contour/egg_shape.md deleted file mode 100644 index 0d7f9ee9..00000000 --- a/docs/docs_site/examples/2d/contour/egg_shape.md +++ /dev/null @@ -1,26 +0,0 @@ - - - -```julia -using CairoMakie, Random -x = -1:0.02:1 -y = -1.5:0.02:2 -egg(x, y) = x^2 + y^2 / (1.4 + y / 5)^2 -segg = [egg(x, y) for x in x, y in y] - -fig = Figure(size=(600, 400)) -ax = Axis(fig[1, 1], aspect=DataAspect(), xlabel="x", ylabel="y", - xgridstyle=:dash, ygridstyle=:dash, - xgridcolor=:grey, ygridcolor=:grey) -cl = contour!(x, y, segg; - linewidth=0.85, - colormap=:Spectral_11, - levels=0:0.02:1 - ) -# colsize!(fig.layout, 1, Aspect(1, 0.6)) -fig -``` - - -![](egg_shape.png) - diff --git a/docs/docs_site/examples/2d/contour/egg_shape.png b/docs/docs_site/examples/2d/contour/egg_shape.png deleted file mode 100644 index d399e372..00000000 Binary files a/docs/docs_site/examples/2d/contour/egg_shape.png and /dev/null differ diff --git a/docs/docs_site/examples/2d/contour/qubit.md b/docs/docs_site/examples/2d/contour/qubit.md deleted file mode 100644 index f54efea3..00000000 --- a/docs/docs_site/examples/2d/contour/qubit.md +++ /dev/null @@ -1,23 +0,0 @@ - - - -```julia -using CairoMakie - -function tα_qubit(β, ψ1, ψ2, fα, f) - 2 + 2 * β - cos(ψ1) - cos(ψ2) - 2 * β * cos(π * fα) * cos(2 * π * f + π * fα - ψ1 - ψ2) -end -ψ1 = ψ2 = range(0, 4 * π, length=100) -z = [tα_qubit(0.61, x, y, 0.2, 0.1) for x in ψ1, y in ψ2] - -fig = Figure(size=(600, 400)) -ax = Axis(fig[1, 1], aspect=1, xlabel="ψ1", ylabel="ψ2") -cls = contour!(ψ1, ψ2, z; colormap=:plasma, levels=20, linewidth=1.5) -# Colorbar(fig[1, 2], cls, label="α-q") -limits!(ax, 0, 4π, 0, 4π) -# colsize!(fig.layout, 1, Aspect(1, 1.0)) -``` - - -![](qubit.png) - diff --git a/docs/docs_site/examples/2d/contour/qubit.png b/docs/docs_site/examples/2d/contour/qubit.png deleted file mode 100644 index 09c5bf91..00000000 Binary files a/docs/docs_site/examples/2d/contour/qubit.png and /dev/null differ diff --git a/docs/docs_site/examples/2d/density/density.md b/docs/docs_site/examples/2d/density/density.md deleted file mode 100644 index 77ec6b3b..00000000 --- a/docs/docs_site/examples/2d/density/density.md +++ /dev/null @@ -1,31 +0,0 @@ - - - -```julia -using CairoMakie, Distributions, Random - -Random.seed!(124) -colors = ["#FF410D", "#6EE2FF", "#F7C530", "#95CC5E", "#D0DFE6", "#F79D1E"] -μσpairs = [[2,0.5], [-1,2], [0.25,1], [1,0.1], [1, 0.05], [1.2,0.1]] - -fig = Figure(size = (600,400)) -ax = Axis(fig[1,1]; palette = (; patchcolor = tuple.(colors, 0.45))) -for (idx, μσ) in enumerate(μσpairs) - density!(rand(Normal(μσ...), 1000), strokewidth = 1.5, - strokecolor = :grey20, direction = idx > 3 ? :x : :y, - linestyle = idx > 3 ? :dash : :solid, - label = "$(μσ[1]), $(μσ[2])") -end -axislegend(L"\mu,\quad\sigma"; position= :cb, titlesize= 22) -hidedecorations!(ax; grid = false); -``` - - -``` -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -``` - - -![](density.svg) - diff --git a/docs/docs_site/examples/2d/density/density.svg b/docs/docs_site/examples/2d/density/density.svg deleted file mode 100644 index 47eac3d2..00000000 --- a/docs/docs_site/examples/2d/density/density.svg +++ /dev/null @@ -1,322 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/density/mtcars_density.md b/docs/docs_site/examples/2d/density/mtcars_density.md deleted file mode 100644 index 2cc08887..00000000 --- a/docs/docs_site/examples/2d/density/mtcars_density.md +++ /dev/null @@ -1,41 +0,0 @@ - - - -```julia -using CairoMakie, RDatasets, Colors, ColorSchemes - -cars = dataset("datasets", "mtcars") -byCat = cars.Cyl -categ = unique(byCat) -colors1 = categorical_colors(:Hiroshige, length(categ)) -colors2 = categorical_colors(:gnuplot, length(categ)) - -fig = Figure(size = (600, 800)) -ax1 = Axis(fig[2, 1], xlabel = "MPG", ylabel = "density", xgridstyle = :dash, - ygridstyle = :dash, rightspinevisible = false, topspinevisible = false) -ax2 = Axis(fig[3, 1], xlabel = "MPG", ylabel = "density") -for (i, c) in enumerate(categ) - indc = findall(x -> x == c, byCat) - density!(ax1, cars.MPG[indc]; color = (colors1[i], 0.5), label = "$(c)", - strokewidth = 1.25, strokecolor = colors1[i]) - density!(ax2, cars.MPG[indc], color = (colors2[i], 0.5), label = "$(c)", - strokewidth = 1.25, strokecolor = colors2[i]) -end -Legend(fig[1, 1], ax1, "Cyl", orientation = :horizontal, - tellheight = true, tellwidth = false, - framevisible = false, titleposition = :left) -Legend(fig[3, 2], ax2, "Cyl") -fig -``` - - -``` -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -``` - - -![](mtcars_density.svg) - diff --git a/docs/docs_site/examples/2d/density/mtcars_density.svg b/docs/docs_site/examples/2d/density/mtcars_density.svg deleted file mode 100644 index 399a5b14..00000000 --- a/docs/docs_site/examples/2d/density/mtcars_density.svg +++ /dev/null @@ -1,550 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/errorbars/errorbars.md b/docs/docs_site/examples/2d/errorbars/errorbars.md deleted file mode 100644 index 26cf5f27..00000000 --- a/docs/docs_site/examples/2d/errorbars/errorbars.md +++ /dev/null @@ -1,28 +0,0 @@ - - - -```julia -using CairoMakie, Random - -Random.seed!(145) -n = 50 -x = 1:n -y = sin.(x) .+ randn(n)/10 -yerr = 0.2*abs.(randn(n)) -xerr = abs.(randn(n)) - -fig, ax, = errorbars(x, y, yerr; color = 1:n, colormap = ([:black, :orangered]), - whiskerwidth = 10, linewidth = 1.5, - figure = (;size = (600,400))) -errorbars!(x, y, xerr; color = 1:n, colormap = ([:orangered, :black]), - direction = :x, linewidth = 1.5, whiskerwidth = 10) -scatter!(x, y; markersize = 10, color = (:black, 0.25), - strokewidth = 1, strokecolor = :black) -lines!(x, y; linewidth = 0.5, linestyle = :dashdot) -hidedecorations!(ax; grid = false) -fig -``` - - -![](errorbars.svg) - diff --git a/docs/docs_site/examples/2d/errorbars/errorbars.svg b/docs/docs_site/examples/2d/errorbars/errorbars.svg deleted file mode 100644 index 42aea069..00000000 --- a/docs/docs_site/examples/2d/errorbars/errorbars.svg +++ /dev/null @@ -1,368 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/errorbars/simple_x_y.md b/docs/docs_site/examples/2d/errorbars/simple_x_y.md deleted file mode 100644 index 1a46a6a8..00000000 --- a/docs/docs_site/examples/2d/errorbars/simple_x_y.md +++ /dev/null @@ -1,19 +0,0 @@ - - - -```julia -using CairoMakie, Random - -Random.seed!(145) -x, y = 1:2:20, 5 * rand(10) -yerr, xerr = 0.4 * abs.(randn(10)), abs.(randn(10)) -fig = Figure(size = (600, 400), fonts = (; regular= "sans")) -ax = Axis(fig[1, 1]; xlabel = "variable", ylabel = "values") -errorbars!(ax, x, y, yerr; whiskerwidth = 12, color = :orangered) -errorbars!(ax, x, y, xerr; whiskerwidth = 12, direction = :x) -fig -``` - - -![](simple_x_y.svg) - diff --git a/docs/docs_site/examples/2d/errorbars/simple_x_y.svg b/docs/docs_site/examples/2d/errorbars/simple_x_y.svg deleted file mode 100644 index bb8a9fa1..00000000 --- a/docs/docs_site/examples/2d/errorbars/simple_x_y.svg +++ /dev/null @@ -1,282 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/errorbars/y_colormap.md b/docs/docs_site/examples/2d/errorbars/y_colormap.md deleted file mode 100644 index 9ff6687f..00000000 --- a/docs/docs_site/examples/2d/errorbars/y_colormap.md +++ /dev/null @@ -1,21 +0,0 @@ - - - -```julia -using CairoMakie, Random - -Random.seed!(145) -x, y = 1:2:20, 5 * rand(10) -yerr, xerr = 0.4 * abs.(randn(10)), abs.(randn(10)) -fig = Figure(size = (600, 400), fonts = (; regular= "sans")) -ax = Axis(fig[1, 1], xlabel = "variable", ylabel = "values", xgridstyle = :dash, - ygridstyle = :dash) -errorbars!(ax, x, y, yerr; whiskerwidth = 12, color = yerr, - linewidth = 2, colormap = :viridis) -scatter!(ax, x, y; color = yerr, colormap = :viridis, markersize = 15) -fig -``` - - -![](y_colormap.svg) - diff --git a/docs/docs_site/examples/2d/errorbars/y_colormap.svg b/docs/docs_site/examples/2d/errorbars/y_colormap.svg deleted file mode 100644 index dd070259..00000000 --- a/docs/docs_site/examples/2d/errorbars/y_colormap.svg +++ /dev/null @@ -1,231 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/heatmaps/heatmap.md b/docs/docs_site/examples/2d/heatmaps/heatmap.md deleted file mode 100644 index 6cf5244d..00000000 --- a/docs/docs_site/examples/2d/heatmaps/heatmap.md +++ /dev/null @@ -1,19 +0,0 @@ - - - -```julia -using CairoMakie, Random - -Random.seed!(123) -fig = Figure(size = (600, 400)) -ax = Axis(fig[1, 1]; xlabel = "x", ylabel = "y") -hmap = heatmap!(2rand(20, 20) .- 1; colormap = :Spectral_11) -Colorbar(fig[1, 2], hmap; label = "values", width = 15, ticksize = 15, tickalign = 1) -colsize!(fig.layout, 1, Aspect(1, 1.0)) -colgap!(fig.layout, 7) -fig -``` - - -![](heatmap.svg) - diff --git a/docs/docs_site/examples/2d/heatmaps/heatmap.svg b/docs/docs_site/examples/2d/heatmaps/heatmap.svg deleted file mode 100644 index c6cdd203..00000000 --- a/docs/docs_site/examples/2d/heatmaps/heatmap.svg +++ /dev/null @@ -1,898 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/heatmaps/text_heatmap.md b/docs/docs_site/examples/2d/heatmaps/text_heatmap.md deleted file mode 100644 index 2ff0f385..00000000 --- a/docs/docs_site/examples/2d/heatmaps/text_heatmap.md +++ /dev/null @@ -1,41 +0,0 @@ - - - -```julia -using CairoMakie, Random - -Random.seed!(123) -m = 15 -n = 5 -data = rand(m, n) -# some fake ticks -alphabet = 'A':'E' -yticks = string.(collect(alphabet)) -k = 4 -itr = Iterators.product(ntuple(_ -> alphabet, k)...) -xticks = [] -for word in Base.Generator(join, itr) - push!(xticks, word) - if length(xticks) == m - break - end -end -xticks = string.(xticks) - -fig = Figure(size = (1200, 600), fontsize = 20) -ax = Axis(fig[1, 1], xticks = (1:m, xticks), yticks = (1:n, yticks)) -hmap = heatmap!(ax, data, colormap = :plasma) -for i in 1:15, j in 1:5 - txtcolor = data[i, j] < 0.15 ? :white : :black - text!(ax, "$(round(data[i,j], digits = 2))", position = (i, j), - color = txtcolor, align = (:center, :center)) -end -Colorbar(fig[1, 2], hmap; label = "values", width = 15, ticksize = 15) -ax.xticklabelrotation = π / 3 -ax.xticklabelalign = (:right, :center) -fig -``` - - -![](text_heatmap.svg) - diff --git a/docs/docs_site/examples/2d/heatmaps/text_heatmap.svg b/docs/docs_site/examples/2d/heatmaps/text_heatmap.svg deleted file mode 100644 index d00e703c..00000000 --- a/docs/docs_site/examples/2d/heatmaps/text_heatmap.svg +++ /dev/null @@ -1,1885 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/histogram/bins_counts.md b/docs/docs_site/examples/2d/histogram/bins_counts.md deleted file mode 100644 index 458a7e5d..00000000 --- a/docs/docs_site/examples/2d/histogram/bins_counts.md +++ /dev/null @@ -1,40 +0,0 @@ - - - -```julia -using CairoMakie, Random - -Random.seed!(13) -n = 3000 -data = randn(n) -fig = Figure(size = (1200, 800), fonts = (; regular= "sans"), fontsize = 20) -ax1 = Axis(fig[1, 1]; xlabel = "value", ylabel = "samples") -ax2 = Axis(fig[1, 2]; xlabel = "value", ylabel = "counts") -ax3 = Axis(fig[2, 1]; xlabel = "value", ylabel = "counts") -ax4 = Axis(fig[2, 2]; xlabel = "value", ylabel = "counts") -#scatter plot -scatter!(ax1, data, 1:n; markersize = 4, color = :black) -hist!(ax2, data; label = "default") -hist!(ax3, data; bins = 20, color = :orange, strokewidth = 1, - strokecolor = :black, label = "20 bins") -hist!(ax4, data; bins = [-4, -2, -1, 0, 1, 2, 4], color = :gray90, - strokewidth = 1, strokecolor = :black, label = "manual bins") -axislegend(ax2; position = :rt) -axislegend(ax3; position = :rt) -axislegend(ax4; position = :rt) -fig -``` - - -``` -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -``` - - -![](bins_counts.svg) - diff --git a/docs/docs_site/examples/2d/histogram/bins_counts.svg b/docs/docs_site/examples/2d/histogram/bins_counts.svg deleted file mode 100644 index e80e1709..00000000 --- a/docs/docs_site/examples/2d/histogram/bins_counts.svg +++ /dev/null @@ -1,4174 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/histogram/hist.md b/docs/docs_site/examples/2d/histogram/hist.md deleted file mode 100644 index bc4cf8a0..00000000 --- a/docs/docs_site/examples/2d/histogram/hist.md +++ /dev/null @@ -1,30 +0,0 @@ - - - -```julia -using CairoMakie, Distributions, Random - -Random.seed!(124) -cmap = resample_cmap(:linear_wcmr_100_45_c42_n256, 256; - alpha = rand(256)) - -fig = Figure(size = (600,400)) -ax = Axis(fig[1,1]; ) -hist!(rand(Normal(2.6,0.4), 1000), normalization = :pdf, offset = -1, - color = :values, colormap = :plasma, direction = :x, fillto = -0.5) -hist!(rand(Normal(2.6,0.4), 1000), normalization = :pdf, offset = 1, - color = :grey10, direction = :x, scale_to = -0.5) -hist!(rand(Normal(0.2,0.2), 1000), normalization = :pdf, offset = 4, - strokewidth = 1, color = :transparent, strokecolor = :black, - direction = :y, scale_to = -1) -hist!(rand(Normal(0.2,0.2), 1000), normalization = :pdf, color = :values, - colormap = cmap, strokewidth = 1, strokecolor = :black, - bar_labels = :values, label_color = :black, label_size = 12, - label_formatter=x-> round(x, digits=1)) -hidedecorations!(ax; grid = false) -fig -``` - - -![](hist.svg) - diff --git a/docs/docs_site/examples/2d/histogram/hist.svg b/docs/docs_site/examples/2d/histogram/hist.svg deleted file mode 100644 index 4b279260..00000000 --- a/docs/docs_site/examples/2d/histogram/hist.svg +++ /dev/null @@ -1,332 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/histogram/hist_pdf.md b/docs/docs_site/examples/2d/histogram/hist_pdf.md deleted file mode 100644 index ff2ac4db..00000000 --- a/docs/docs_site/examples/2d/histogram/hist_pdf.md +++ /dev/null @@ -1,26 +0,0 @@ - - - -```julia -using CairoMakie, Random - -Random.seed!(13) -n = 3000 -data = randn(n) -fig = Figure(size = (600, 400)) -ax1 = Axis(fig[1, 1], xlabel = "value") -hist!(ax1, data; normalization = :pdf, color = (:green, 0.5), label = "hist & pdf") -density!(ax1, data; color = (:orange, 0.25), label = "density!", strokewidth = 1) -axislegend(ax1, position = :rt) -fig -``` - - -``` -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -``` - - -![](hist_pdf.svg) - diff --git a/docs/docs_site/examples/2d/histogram/hist_pdf.svg b/docs/docs_site/examples/2d/histogram/hist_pdf.svg deleted file mode 100644 index b689c04c..00000000 --- a/docs/docs_site/examples/2d/histogram/hist_pdf.svg +++ /dev/null @@ -1,365 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/histogram/hists_on_the_sides.md b/docs/docs_site/examples/2d/histogram/hists_on_the_sides.md deleted file mode 100644 index e3025f7d..00000000 --- a/docs/docs_site/examples/2d/histogram/hists_on_the_sides.md +++ /dev/null @@ -1,32 +0,0 @@ - - - -```julia -using CairoMakie, Random -# see also https://discourse.julialang.org/t/beautiful-makie-gallery/62523/31 - -Random.seed!(123) -n = 200 -x, y, color = randn(n) / 2, randn(n), randn(n) -fig = Figure(size=(600, 400)) -ax1 = Axis(fig[1, 1]) -ax2 = Axis(fig[2, 1]) -ax3 = Axis(fig[2, 2]) -hist!(ax1, x; color=(:orangered, 0.5), strokewidth=0.5) -scatter!(ax2, x, y; color=color, markersize=10, strokewidth=0) -hist!(ax3, y; direction=:x, color=(:dodgerblue, 0.5), - strokewidth=0.5) -xlims!(ax1, -4, 4) -limits!(ax2, -4, 4, -3, 3) -ylims!(ax3, -3, 3) -hideydecorations!(ax3, ticks=false, grid=false) -hidexdecorations!(ax1, ticks=false, grid=false) -colsize!(fig.layout, 1, Relative(2 / 3)) -rowsize!(fig.layout, 1, Relative(1 / 3)) -colgap!(fig.layout, 10) -rowgap!(fig.layout, 10); -``` - - -![](hists_on_the_sides.svg) - diff --git a/docs/docs_site/examples/2d/histogram/hists_on_the_sides.svg b/docs/docs_site/examples/2d/histogram/hists_on_the_sides.svg deleted file mode 100644 index 56264cd5..00000000 --- a/docs/docs_site/examples/2d/histogram/hists_on_the_sides.svg +++ /dev/null @@ -1,547 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/histogram/normalizations.md b/docs/docs_site/examples/2d/histogram/normalizations.md deleted file mode 100644 index 68d4c667..00000000 --- a/docs/docs_site/examples/2d/histogram/normalizations.md +++ /dev/null @@ -1,34 +0,0 @@ - - - -```julia -using CairoMakie, Random - -Random.seed!(13) -n = 3000 -data = randn(n) -normf = [:none, :pdf, :density, :probability] -colors = Makie.wong_colors() -fig = Figure(size = (1200, 800), fonts = (; regular ="sans"), fontsize = 20) -axs = [Axis(fig[i, j], xlabel = i == 2 ? "value" : "") for i in 1:2 for j in 1:2] -[hist!(axs[i], data; normalization = normf[i], color = colors[i], - label = "$(normf[i])") for i in 1:4] -[axislegend(axs[i], position = :rt) for i in 1:4] -fig -``` - - -``` -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -``` - - -![](normalizations.svg) - diff --git a/docs/docs_site/examples/2d/histogram/normalizations.svg b/docs/docs_site/examples/2d/histogram/normalizations.svg deleted file mode 100644 index bcc99eb7..00000000 --- a/docs/docs_site/examples/2d/histogram/normalizations.svg +++ /dev/null @@ -1,1044 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/histogram/parallel_image_hist.md b/docs/docs_site/examples/2d/histogram/parallel_image_hist.md deleted file mode 100644 index df8e42fc..00000000 --- a/docs/docs_site/examples/2d/histogram/parallel_image_hist.md +++ /dev/null @@ -1,38 +0,0 @@ - - - -```julia -using CairoMakie -import TestImages, Images - -# example by @cormullion -function image_histogram() - img = TestImages.testimage("lighthouse") - reds = vec(float.(Images.red.(img))) - greens = vec(float.(Images.green.(img))) - blues = vec(float.(Images.blue.(img))) - - fig = Figure(;size = (1200,400)) - ax1 = Axis(fig[1, 1], aspect = DataAspect()) - ax2 = Axis(fig[1, 2]) - for (i, col) = enumerate([:red, :green, :blue]) - hist!(ax2, (reds, greens, blues)[i]; - scale_to=-0.6, - bins=60, - offset=i, - direction=:x, - color=(col, 0.85) - ) - end - image!(ax1, rotr90(img)) - hidedecorations!(ax1) - hidespines!(ax1) - fig -end - -fig = with_theme(image_histogram, theme_ggplot2()) -``` - - -![](parallel_image_hist.svg) - diff --git a/docs/docs_site/examples/2d/histogram/parallel_image_hist.svg b/docs/docs_site/examples/2d/histogram/parallel_image_hist.svg deleted file mode 100644 index bd40e502..00000000 --- a/docs/docs_site/examples/2d/histogram/parallel_image_hist.svg +++ /dev/null @@ -1,318 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/lines/line_cmap.md b/docs/docs_site/examples/2d/lines/line_cmap.md deleted file mode 100644 index 6dde932e..00000000 --- a/docs/docs_site/examples/2d/lines/line_cmap.md +++ /dev/null @@ -1,27 +0,0 @@ - - - -```julia -using CairoMakie, ColorSchemes - -x = range(0, 2π, 100) -fig = Figure(size = (600, 400)) -ax = Axis(fig[1, 1], xlabel = "x") -obj = lines!(x, sin.(x); color = x, colormap = :viridis, linewidth = 5) -lines!(x, cos.(x), color = :black, label = "cos(x)", linewidth = 1) -lines!(x, -cos.(x), color = :dodgerblue, label = "-cos(x)") -axislegend(ax) -Colorbar(fig[1, 2], obj, label = "sin(x)") -colgap!(fig.layout, 5) -fig -``` - - -``` -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -``` - - -![](line_cmap.svg) - diff --git a/docs/docs_site/examples/2d/lines/line_cmap.svg b/docs/docs_site/examples/2d/lines/line_cmap.svg deleted file mode 100644 index d1b1f09e..00000000 --- a/docs/docs_site/examples/2d/lines/line_cmap.svg +++ /dev/null @@ -1,951 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/lines/line_cmaps.md b/docs/docs_site/examples/2d/lines/line_cmaps.md deleted file mode 100644 index e9fa0cbc..00000000 --- a/docs/docs_site/examples/2d/lines/line_cmaps.md +++ /dev/null @@ -1,24 +0,0 @@ - - - -```julia -using CairoMakie, ColorSchemes - -x = range(0, 2π, 50) -fig = Figure(size = (800, 400)) -ax = Axis(fig[1, 1], xlabel = L"x", xlabelsize = 22) -line1 = lines!(x, sin.(x); color = x, colormap = :thermal, linewidth = 4) -line2 = lines!(x, cos.(x); color = sqrt.(x), colormap = :ice, linewidth = 4) -line3 = lines!(x, -sin.(x); color = x .^ 2, colormap = :viridis, linewidth = 4) -line4 = lines!(x, -cos.(x); color = x / 2, colormap = :plasma, linewidth = 4) -lineas = [line1, line2, line3, line4] -labels = [L"x", L"\sqrt{x}", L"x^{2}", L"x/2"] -cbars = [Colorbar(fig[1, i+1], lineas[i], label = labels[i], labelsize = 22) - for i in 1:4] -colgap!(fig.layout, 5) -fig -``` - - -![](line_cmaps.svg) - diff --git a/docs/docs_site/examples/2d/lines/line_cmaps.svg b/docs/docs_site/examples/2d/lines/line_cmaps.svg deleted file mode 100644 index 0bf114f0..00000000 --- a/docs/docs_site/examples/2d/lines/line_cmaps.svg +++ /dev/null @@ -1,1541 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/lines/line_cmaps_a.md b/docs/docs_site/examples/2d/lines/line_cmaps_a.md deleted file mode 100644 index 87c57b0e..00000000 --- a/docs/docs_site/examples/2d/lines/line_cmaps_a.md +++ /dev/null @@ -1,35 +0,0 @@ - - - -```julia -using CairoMakie, ColorSchemes - -x = range(0, 2π, 50) -fig = Figure(size = (800, 600), fontsize = 22) -ax = Axis(fig, xlabel = L"x", ylabel = L"y") -line1 = lines!(x, sin.(x), color = x, colormap = :thermal, linewidth = 4) -line2 = lines!(x, cos.(x), color = sqrt.(x), colormap = :ice, linewidth = 4) -line3 = lines!(x, -sin.(x), color = x .^ 2, colormap = :viridis, linewidth = 4) -line4 = lines!(x, -cos.(x), color = x / 2, colormap = :plasma, linewidth = 4) -labels = [L"x", L"\sqrt{x}", L"x^{2}", L"x/2"] -cbar1 = Colorbar(fig, line1, label = labels[1], width = 10, ticksize = 5) -cbar2 = Colorbar(fig, line2, label = labels[2], flipaxis = false, - height = Relative(3.5 / 4), width = 10, ticksize = 10) -cbar3 = Colorbar(fig, line3, label = labels[3], vertical = false, ticksize = 10, - tickalign = 0, flipaxis = false, width = Relative(4 / 4), height = 10, - tickcolor = :red) -cbar4 = Colorbar(fig, line4, label = labels[4], vertical = false, - width = Relative(3 / 4), height = 10, ticksize = 10, tickalign = 1) -fig[1, 2] = cbar4 -fig[2, 1] = cbar2 -fig[2, 2] = ax -fig[2, 3] = cbar1 -fig[3, 2] = cbar3 -colgap!(fig.layout, 5) -rowgap!(fig.layout, 5) -fig -``` - - -![](line_cmaps_a.svg) - diff --git a/docs/docs_site/examples/2d/lines/line_cmaps_a.svg b/docs/docs_site/examples/2d/lines/line_cmaps_a.svg deleted file mode 100644 index 9c9b6feb..00000000 --- a/docs/docs_site/examples/2d/lines/line_cmaps_a.svg +++ /dev/null @@ -1,1517 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/lines/line_colored.md b/docs/docs_site/examples/2d/lines/line_colored.md deleted file mode 100644 index 4ff7daab..00000000 --- a/docs/docs_site/examples/2d/lines/line_colored.md +++ /dev/null @@ -1,38 +0,0 @@ - - - -```julia -using CairoMakie, ColorSchemes - -xs = 0:0.01:1 -p = -10:1:10 -p = filter(x -> x != 0, collect(p)) -psize = length(p) -ys = zeros(length(xs), psize) -for (indx, i) in enumerate(p) - if i <= -1 - ys[:, indx] = xs .^ (1 / abs(i)) - elseif i >= 1 - ys[:, indx] = xs .^ i - end -end -cbarPal = :thermal -cmap = cgrad(colorschemes[cbarPal], psize, categorical = true) -fig = Figure(size = (600, 400), fonts = (; regular= "CMU Serif")) -ax = Axis(fig[1, 1], aspect = 1, xlabel = L"x", ylabel = L"x^{p}", - xlabelsize = 22, ylabelsize = 22) -[lines!(xs, ys[:, v], color = cmap[v], label = "$(p[v])") for v in 1:psize] -Legend(fig[1, 2], ax, L"p"; nbanks = 2) -colsize!(fig.layout, 1, Aspect(1, 1.0)) -fig -``` - - -``` -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -``` - - -![](line_colored.svg) - diff --git a/docs/docs_site/examples/2d/lines/line_colored.svg b/docs/docs_site/examples/2d/lines/line_colored.svg deleted file mode 100644 index 381148ff..00000000 --- a/docs/docs_site/examples/2d/lines/line_colored.svg +++ /dev/null @@ -1,445 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/lines/line_colored_cbar.md b/docs/docs_site/examples/2d/lines/line_colored_cbar.md deleted file mode 100644 index 69f2bed0..00000000 --- a/docs/docs_site/examples/2d/lines/line_colored_cbar.md +++ /dev/null @@ -1,32 +0,0 @@ - - - -```julia -using CairoMakie, ColorSchemes -xs = 0:0.01:1 -p = -10:1:10 -p = filter(x -> x != 0, collect(p)) -psize = length(p) -ys = zeros(length(xs), psize) -for (indx, i) in enumerate(p) - if i <= -1 - ys[:, indx] = xs .^ (1 / abs(i)) - elseif i >= 1 - ys[:, indx] = xs .^ i - end -end -cbarPal = :thermal -cmap = cgrad(colorschemes[cbarPal], psize, categorical = true) -fig = Figure(size = (600, 400), fonts = (; regular= "CMU Serif")) -ax = Axis(fig[1, 1], xlabel = L"x", ylabel = L"x^{p}", - xlabelsize = 22, ylabelsize = 22) -[lines!(xs, ys[:, v], color = cmap[v]) for v in 1:psize] -Colorbar(fig[1, 2], limits = (-10, 10), nsteps = psize, colormap = cmap, - label = L"p", ticksize = 20, width = 20, tickalign = 1) -colsize!(fig.layout, 1, Aspect(1, 1.0)) -fig -``` - - -![](line_colored_cbar.svg) - diff --git a/docs/docs_site/examples/2d/lines/line_colored_cbar.svg b/docs/docs_site/examples/2d/lines/line_colored_cbar.svg deleted file mode 100644 index 2db893eb..00000000 --- a/docs/docs_site/examples/2d/lines/line_colored_cbar.svg +++ /dev/null @@ -1,336 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/lines/line_inset.md b/docs/docs_site/examples/2d/lines/line_inset.md deleted file mode 100644 index 7e96d145..00000000 --- a/docs/docs_site/examples/2d/lines/line_inset.md +++ /dev/null @@ -1,35 +0,0 @@ - - - -```julia -using CairoMakie, Random - -Random.seed!(123) -x = -3:0.05:3 -y = exp.(-x .^ 2) -n = 15 -y[1:n] = y[1:n] .+ 0.02 * randn(n) -fig = Figure(size = (600, 400)) -ax1 = Axis(fig[1, 1], xlabel = "x", ylabel = "f(x)", xgridvisible = true, - ygridvisible = true) -lines!(ax1, x, y, color = :red, label = "f(x)") -axislegend() -# inset -ax2 = Axis(fig, bbox = BBox(140, 250, 200, 300), xticklabelsize = 12, - yticklabelsize = 12, title = "inset at (140, 250, 200, 300)") -lines!(ax2, x, y, color = :red) -limits!(ax2, -3.1, -1.9, -0.05, 0.05) -ax2.yticks = [-0.05, 0, 0.05] -ax2.xticks = [-3, -2.5, -2] -translate!(ax2.scene, 0, 0, 10); -``` - - -``` -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -``` - - -![](line_inset.svg) - diff --git a/docs/docs_site/examples/2d/lines/line_inset.svg b/docs/docs_site/examples/2d/lines/line_inset.svg deleted file mode 100644 index a7a557d3..00000000 --- a/docs/docs_site/examples/2d/lines/line_inset.svg +++ /dev/null @@ -1,591 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/lines/line_inset_h.md b/docs/docs_site/examples/2d/lines/line_inset_h.md deleted file mode 100644 index ee559621..00000000 --- a/docs/docs_site/examples/2d/lines/line_inset_h.md +++ /dev/null @@ -1,41 +0,0 @@ - - - -```julia -using CairoMakie - -x = y = -10:0.11:10 -y1d = sin.(x) ./ x -# 3D heatmap -sinc2d(x, y) = sin.(sqrt.(x .^ 2 + y .^ 2)) ./ sqrt.(x .^ 2 + y .^ 2) -fxy = [sinc2d(x, y) for x in x, y in y] - -fig = Figure(size = (600, 400)) -ax1 = Axis(fig[1, 1], xlabel = "x", ylabel = "f(x)", xgridvisible = true, - ygridvisible = true) -lines!(ax1, x, y1d, color = :red, label = "sinc(x)") -axislegend() -# inset -ax2 = Axis(fig, bbox = BBox(140, 260, 260, 350), xticklabelsize = 12, - yticklabelsize = 12, title = "inset at (140, 260, 260, 350)") -hmap = heatmap!(ax2, x, y, fxy, colormap = :Spectral_11) -Colorbar(fig[1, 1], hmap, label = "sinc(x,y)", labelpadding = 5, - tellheight = false, tellwidth = false, ticklabelsize = 12, - width = 10, height = Relative(1.5 / 4), - halign = :right, valign = :center) -limits!(ax2, -10, 10, -10, 10) -hidespines!(ax2) -ax2.yticks = [-10, 0, 10] -ax2.xticks = [-10, 0, 10] -fig -``` - - -``` -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -``` - - -![](line_inset_h.svg) - diff --git a/docs/docs_site/examples/2d/lines/line_inset_h.svg b/docs/docs_site/examples/2d/lines/line_inset_h.svg deleted file mode 100644 index 160b7bbd..00000000 --- a/docs/docs_site/examples/2d/lines/line_inset_h.svg +++ /dev/null @@ -1,37441 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/lines/line_latex.md b/docs/docs_site/examples/2d/lines/line_latex.md deleted file mode 100644 index d3d795e7..00000000 --- a/docs/docs_site/examples/2d/lines/line_latex.md +++ /dev/null @@ -1,27 +0,0 @@ - - - -```julia -using CairoMakie -x = 0:0.05:4π -fig = Figure(size = (600, 400), fonts = (; regular= "CMU Serif")) ## probably you need to install this font in your system -ax = Axis(fig[1, 1], xlabel = L"x", ylabel = L"f (x)", ylabelsize = 22, - xlabelsize = 22, xgridstyle = :dash, ygridstyle = :dash, xtickalign = 1, - xticksize = 10, ytickalign = 1, yticksize = 10, xlabelpadding = -10) -lines!(x, x -> sin(3x) / (cos(x) + 2) / x; label = L"\frac{\sin(3x)}{x(\cos(x) + 2)}") -lines!(x, x -> cos(x) / x; label = L"\cos(x)/x") -lines!(x, x -> exp(-x); label = L"e^{-x}") -ylims!(-0.6, 1.05) -xlims!(-0.5, 12) -axislegend(L"f(x)"; position = :rt, backgroundcolor = (:grey90, 0.25)); -``` - - -``` -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -``` - - -![](line_latex.svg) - diff --git a/docs/docs_site/examples/2d/lines/line_latex.svg b/docs/docs_site/examples/2d/lines/line_latex.svg deleted file mode 100644 index 7389cd7f..00000000 --- a/docs/docs_site/examples/2d/lines/line_latex.svg +++ /dev/null @@ -1,478 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/lines/line_latex_bessel.md b/docs/docs_site/examples/2d/lines/line_latex_bessel.md deleted file mode 100644 index b9a1aed9..00000000 --- a/docs/docs_site/examples/2d/lines/line_latex_bessel.md +++ /dev/null @@ -1,26 +0,0 @@ - - - -```julia -using CairoMakie, LaTeXStrings, SpecialFunctions - -x = 0:0.1:15 -fig = Figure(size = (600, 400), fonts =(; regular= "CMU Serif")) -ax = Axis(fig[1, 1], xlabel = L"x", ylabel = L"J_{\nu}(x)", ylabelsize = 22, - xlabelsize = 22, xgridstyle = :dash, ygridstyle = :dash, xtickalign = 1, - xticksize = 10, ytickalign = 1, yticksize = 10, xlabelpadding = -10) -for ν in 0:6 - lines!(ax, x, besselj.(ν, x), label = latexstring("J_{$(ν)}(x)")) -end -axislegend(; nbanks = 3, framecolor = (:grey, 0.5)); -``` - - -``` -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -``` - - -![](line_latex_bessel.svg) - diff --git a/docs/docs_site/examples/2d/lines/line_latex_bessel.svg b/docs/docs_site/examples/2d/lines/line_latex_bessel.svg deleted file mode 100644 index 95a5b0c1..00000000 --- a/docs/docs_site/examples/2d/lines/line_latex_bessel.svg +++ /dev/null @@ -1,465 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/lines/line_latex_bessels.md b/docs/docs_site/examples/2d/lines/line_latex_bessels.md deleted file mode 100644 index 2becc7fb..00000000 --- a/docs/docs_site/examples/2d/lines/line_latex_bessels.md +++ /dev/null @@ -1,29 +0,0 @@ - - - -```julia -using CairoMakie, LaTeXStrings, SpecialFunctions - -x = 0.1:0.1:15 - -fig = Figure(size = (600, 400), fonts = (; regular="CMU Serif")) ## probably you need to install this font in your system -ax = Axis(fig[1, 1], xlabel = L"x", ylabel = L"Y_{\nu}(x)", ylabelsize = 22, - xlabelsize = 22, xgridstyle = :dash, ygridstyle = :dash, xtickalign = 1, - xticksize = 10, ytickalign = 1, yticksize = 10, xlabelpadding = -10) -for ν in 0:4 - lines!(ax, x, bessely.(ν, x), label = latexstring("Y_{$(ν)}(x)"), linewidth = 2) -end -axislegend(; position = :rb, nbanks = 2, framecolor = (:grey, 0.5)) -ylims!(-1.8, 0.7) -fig -``` - - -``` -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -``` - - -![](line_latex_bessels.svg) - diff --git a/docs/docs_site/examples/2d/lines/line_latex_bessels.svg b/docs/docs_site/examples/2d/lines/line_latex_bessels.svg deleted file mode 100644 index d8d52308..00000000 --- a/docs/docs_site/examples/2d/lines/line_latex_bessels.svg +++ /dev/null @@ -1,442 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/lines/line_single.md b/docs/docs_site/examples/2d/lines/line_single.md deleted file mode 100644 index cb4d29df..00000000 --- a/docs/docs_site/examples/2d/lines/line_single.md +++ /dev/null @@ -1,25 +0,0 @@ - - - -```julia -using CairoMakie - -x = 1:10 -lines(x, x .^ 2; color = :black, linewidth = 2, linestyle = :dashdot, label = L"x^2", - figure = (size = (600, 400), backgroundcolor = "#a5b4b5", - fonts = (; regular = "CMU Serif")), - axis = (xlabel = L"x", ylabel = L"x^2", backgroundcolor = :white, - xlabelsize = 22, ylabelsize = 22)) -axislegend("legend", position = :lt) -limits!(0, 10, 0, 100) -``` - - -``` -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -``` - - -![](line_single.svg) - diff --git a/docs/docs_site/examples/2d/lines/line_single.svg b/docs/docs_site/examples/2d/lines/line_single.svg deleted file mode 100644 index e5efd92c..00000000 --- a/docs/docs_site/examples/2d/lines/line_single.svg +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/lines/line_time.md b/docs/docs_site/examples/2d/lines/line_time.md deleted file mode 100644 index af22ec48..00000000 --- a/docs/docs_site/examples/2d/lines/line_time.md +++ /dev/null @@ -1,25 +0,0 @@ - - - -```julia -using CairoMakie, TimeSeries, Dates -# dummy data -dates = Date(2018, 1, 1):Day(1):Date(2018, 12, 31) -ta = TimeArray(dates, rand(length(dates))) -vals = 0.5 * values(ta) -tempo = string.(timestamp(ta)) -lentime = length(tempo) -slice_dates = range(1, lentime, step=lentime ÷ 8) - -fig = Figure(size=(600, 400), fonts=(;regular = "sans")) -ax = Axis(fig[1, 1], xlabel="Date", ylabel="value") -line1 = lines!(ax, 1:lentime, vals; color=:black, linewidth=0.85) -ax.xticks = (slice_dates, tempo[slice_dates]) -ax.xticklabelrotation = π / 4 -ax.xticklabelalign = (:right, :center) -fig -``` - - -![](line_time.svg) - diff --git a/docs/docs_site/examples/2d/lines/line_time.svg b/docs/docs_site/examples/2d/lines/line_time.svg deleted file mode 100644 index 3cec1cd7..00000000 --- a/docs/docs_site/examples/2d/lines/line_time.svg +++ /dev/null @@ -1,670 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/lines/line_twin_axis.md b/docs/docs_site/examples/2d/lines/line_twin_axis.md deleted file mode 100644 index 82220d3f..00000000 --- a/docs/docs_site/examples/2d/lines/line_twin_axis.md +++ /dev/null @@ -1,21 +0,0 @@ - - - -```julia -using CairoMakie - -fig = Figure(size = (600, 400)) -ax1 = Axis(fig[1, 1], yticklabelcolor = :black, rightspinevisible = false) -ax2 = Axis(fig[1, 1], yaxisposition = :right, - yticklabelcolor = :dodgerblue, - rightspinecolor = :dodgerblue, - ytickcolor = :dodgerblue) -lines!(ax1, 0 .. 10, x -> x; color = :black) -lines!(ax2, 0 .. 10, x -> exp(-x); color = :dodgerblue) -hidespines!(ax2, :l, :b, :t) -hidexdecorations!(ax2); -``` - - -![](line_twin_axis.svg) - diff --git a/docs/docs_site/examples/2d/lines/line_twin_axis.svg b/docs/docs_site/examples/2d/lines/line_twin_axis.svg deleted file mode 100644 index 53b901c8..00000000 --- a/docs/docs_site/examples/2d/lines/line_twin_axis.svg +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/lines/line_two.md b/docs/docs_site/examples/2d/lines/line_two.md deleted file mode 100644 index 834f7815..00000000 --- a/docs/docs_site/examples/2d/lines/line_two.md +++ /dev/null @@ -1,28 +0,0 @@ - - - -```julia -using CairoMakie - -x = -2π:0.1:2π -lines(x, sin.(x); color = "#56B4E9", linewidth = 2, label = L"sin", - axis = (xlabel = L"x", ylabel = L"f(x)", xgridcolor = :red, - xlabelsize = 22, ylabelsize = 22, - xgridstyle = :dashdot, xgridwidth = 0.85, - xtickalign = 1, xticksize = 20), - figure = (size = (600, 400), fonts = (; regular= "CMU Serif"))) - -lines!(x, cos.(x); color = :black, linestyle = :dash, label = L"cos") -limits!(-2π, 2π, -1, 1) -axislegend("Legend", position = :lb); -``` - - -``` -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -``` - - -![](line_two.svg) - diff --git a/docs/docs_site/examples/2d/lines/line_two.svg b/docs/docs_site/examples/2d/lines/line_two.svg deleted file mode 100644 index ccf9e5d1..00000000 --- a/docs/docs_site/examples/2d/lines/line_two.svg +++ /dev/null @@ -1,345 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/lines/line_xlog.md b/docs/docs_site/examples/2d/lines/line_xlog.md deleted file mode 100644 index ffe823c8..00000000 --- a/docs/docs_site/examples/2d/lines/line_xlog.md +++ /dev/null @@ -1,19 +0,0 @@ - - - -```julia -using CairoMakie - -x = range(0.01, 30π, 2000) -y = sin.(x) -lines(x, y; color = :black, figure = (size = (600, 400),), - axis = (xscale = log10, xlabel = "x", ylabel = "y", xgridstyle = :dash, - ygridstyle = :dash, xminorticksvisible = true, - xminorticks = IntervalsBetween(9))) ## possible issue with log-ticks -ylims!(-1, 1) -current_figure() -``` - - -![](line_xlog.svg) - diff --git a/docs/docs_site/examples/2d/lines/line_xlog.svg b/docs/docs_site/examples/2d/lines/line_xlog.svg deleted file mode 100644 index d0e97e3a..00000000 --- a/docs/docs_site/examples/2d/lines/line_xlog.svg +++ /dev/null @@ -1,371 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/lines/line_xylog.md b/docs/docs_site/examples/2d/lines/line_xylog.md deleted file mode 100644 index 1d9df184..00000000 --- a/docs/docs_site/examples/2d/lines/line_xylog.md +++ /dev/null @@ -1,20 +0,0 @@ - - - -```julia -using CairoMakie, Random - -Random.seed!(123) -x = 0.001:0.05:10 -y = x .^ 2 .+ abs.(2 * randn(length(x))) -lines(x, y, color=:navy, figure=(size=(600, 400),), - axis=(xscale=log10, yscale=log10, xlabel="x", ylabel="y", - xgridstyle=:dash, ygridstyle=:dash, xminorticksvisible=true, - xminorticks=IntervalsBetween(9), yminorticksvisible=true, - yminorticks=IntervalsBetween(9))) -current_figure() -``` - - -![](line_xylog.svg) - diff --git a/docs/docs_site/examples/2d/lines/line_xylog.svg b/docs/docs_site/examples/2d/lines/line_xylog.svg deleted file mode 100644 index b1ee57e0..00000000 --- a/docs/docs_site/examples/2d/lines/line_xylog.svg +++ /dev/null @@ -1,356 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/lines/line_ylog.md b/docs/docs_site/examples/2d/lines/line_ylog.md deleted file mode 100644 index a590385e..00000000 --- a/docs/docs_site/examples/2d/lines/line_ylog.md +++ /dev/null @@ -1,19 +0,0 @@ - - - -```julia -using CairoMakie - -x = range(0.01, 30π, 2000) -y = cos.(x) -lines(y, x; color=:orangered, figure=(size=(600, 400),), - axis=(yscale=log10, xlabel="x", ylabel="y", xgridstyle=:dash, - ygridstyle=:dash, yminorticksvisible=true, - yminorticks=IntervalsBetween(9))) ## possible issue with log-ticks -xlims!(-1, 1) -current_figure() -``` - - -![](line_ylog.svg) - diff --git a/docs/docs_site/examples/2d/lines/line_ylog.svg b/docs/docs_site/examples/2d/lines/line_ylog.svg deleted file mode 100644 index 9754e506..00000000 --- a/docs/docs_site/examples/2d/lines/line_ylog.svg +++ /dev/null @@ -1,347 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/linesegments/RRGraph.md b/docs/docs_site/examples/2d/linesegments/RRGraph.md deleted file mode 100644 index d438c8fa..00000000 --- a/docs/docs_site/examples/2d/linesegments/RRGraph.md +++ /dev/null @@ -1,68 +0,0 @@ - - - -```julia -# port from the original code used in: -# L Alonso, et. al. https://doi.org/10.1093/comnet/cnx053 -using LinearAlgebra, Random, CairoMakie - -function RRGAdjacencyM(; lengthBase=1, radius=0.1, nodes=500, rseed=123) - Random.seed!(rseed) - xy = rand(nodes, 2) - x = lengthBase .* xy[:, 1] - y = xy[:, 2] ./ lengthBase - matrixAdjDiag = Diagonal(√2 * randn(nodes)) - matrixAdj = zeros(nodes, nodes) - for point in 1:nodes-1 - distance = sqrt.((x[point+1:end] .- x[point]) .^ 2 .+ (y[point+1:end] .- y[point]) .^ 2) - dindx = findall(distance .<= radius) .+ point - if length(dindx) > 0 - rnd = randn(length(dindx)) - matrixAdj[point, dindx] = rnd - matrixAdj[dindx, point] = rnd - end - end - return (matrixAdj .+ matrixAdjDiag, x, y) -end -adjacencyM, x, y = RRGAdjacencyM() - -function getGraphEdges(adjMatrix, x, y) - xyos = [] - weights = [] - for i in eachindex(x), j in i+1:length(x) - if adjMatrix[i, j] != 0.0 - push!(xyos, [x[i], y[i]]) - push!(xyos, [x[j], y[j]]) - push!(weights, adjMatrix[i, j]) - push!(weights, adjMatrix[i, j]) - end - end - return (Point2f.(xyos), Float32.(weights)) -end - -function plotGraph(adjacencyM, x, y) - cmap = (:Spectral_11, 0.75) - adjmin = minimum(adjacencyM) - adjmax = maximum(adjacencyM) - diagValues = diag(adjacencyM) - segm, weights = getGraphEdges(adjacencyM, x, y) - - fig, ax, pltobj = linesegments(segm; color=weights, colormap=cmap, - linewidth=abs.(weights) / 2, colorrange=(adjmin, adjmax), - figure=(; size=(800, 600)), - axis=(; aspect=DataAspect())) - scatter!(ax, x, y; color=diagValues, markersize=3 * abs.(diagValues), - colorrange=(adjmin, adjmax), colormap=cmap) - limits!(ax, -0.02, 1.02, -0.02, 1.02) - Colorbar(fig[1, 2], pltobj, label="weights") - colsize!(fig.layout, 1, Aspect(1, 1.0)) - fig -end -rrgraph = with_theme(theme_black()) do - plotGraph(adjacencyM, x, y) -end -``` - - -![](RRGraph.svg) - diff --git a/docs/docs_site/examples/2d/linesegments/RRGraph.svg b/docs/docs_site/examples/2d/linesegments/RRGraph.svg deleted file mode 100644 index f0666d12..00000000 --- a/docs/docs_site/examples/2d/linesegments/RRGraph.svg +++ /dev/null @@ -1,4285 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/linesegments/linesegments.md b/docs/docs_site/examples/2d/linesegments/linesegments.md deleted file mode 100644 index 44615886..00000000 --- a/docs/docs_site/examples/2d/linesegments/linesegments.md +++ /dev/null @@ -1,22 +0,0 @@ - - - -```julia -using CairoMakie, Random, Distributions -Random.seed!(1234) -b = Binomial(10, 0.85) -n = 500 -function someSegments(; n = 50) - Point2f.(vec([[x, rand(b)] for i in 1:2, x = rand(n)])) -end -linesegments(someSegments(; n = n); - color = rand(n), - colormap = :Spectral_11, linewidth = abs.(randn(n)), - axis = (; xlabel = "x", ylabel = "y"), - figure = (; size = (600,400)) - ); -``` - - -![](linesegments.svg) - diff --git a/docs/docs_site/examples/2d/linesegments/linesegments.svg b/docs/docs_site/examples/2d/linesegments/linesegments.svg deleted file mode 100644 index ea990d53..00000000 --- a/docs/docs_site/examples/2d/linesegments/linesegments.svg +++ /dev/null @@ -1,685 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/poly/poly_ngon.md b/docs/docs_site/examples/2d/poly/poly_ngon.md deleted file mode 100644 index 79be457a..00000000 --- a/docs/docs_site/examples/2d/poly/poly_ngon.md +++ /dev/null @@ -1,28 +0,0 @@ - - - -```julia -using CairoMakie, CairoMakie.GeometryBasics - -n = 20 -function ngonShape(h, k, r, n) - Polygon([Point2f(h .+ r*sin.(m*2π/n),k .+ r*cos.(m*2π/n)) for m in 1:n]) -end -polysCentric = [ngonShape(0, 0, 3/i^1.5, i) for i in 3:n] -polysCircular = [ngonShape(√2/2*sin(θ), √2/2*cos(θ), 0.15/√idx, idx + 2) - for (idx, θ) in enumerate(LinRange(0,2π*(1 -1/(n-2)), n-2))] -cmap = resample_cmap(:linear_protanopic_deuteranopic_kbw_5_98_c40_n256, 100)[3:end] - -with_theme(theme_black()) do - fig, ax, = poly(polysCentric; color = 1:n-2, colormap = cmap, - axis = (;aspect = DataAspect()), figure = (;size = (600,400))) - poly!(polysCircular; color = 1:n-2, colormap = cmap) - hidedecorations!(ax; grid = false) - hidespines!(ax) - fig -end -``` - - -![](poly_ngon.svg) - diff --git a/docs/docs_site/examples/2d/poly/poly_ngon.svg b/docs/docs_site/examples/2d/poly/poly_ngon.svg deleted file mode 100644 index b1d3b5f5..00000000 --- a/docs/docs_site/examples/2d/poly/poly_ngon.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/scatterlines/markers.md b/docs/docs_site/examples/2d/scatterlines/markers.md deleted file mode 100644 index ab209921..00000000 --- a/docs/docs_site/examples/2d/scatterlines/markers.md +++ /dev/null @@ -1,27 +0,0 @@ - - - -```julia -using CairoMakie - -x = LinRange(0, 2π, 50) -fig = Figure(size = (600, 400)) -ax = Axis(fig[1, 1], xlabel = "x") -scatterlines!(x, sin.(x), color = :black, label = "sin(x)", - marker = '◆', markersize = 10) -scatterlines!(x, cos.(x), color = :black, label = "cos(x)", - marker = '■', markercolor = :red, markersize = 10, - strokewidth = 1, strokecolor = :red) -axislegend(; position = :cc) -fig -``` - - -``` -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -``` - - -![](markers.svg) - diff --git a/docs/docs_site/examples/2d/scatterlines/markers.svg b/docs/docs_site/examples/2d/scatterlines/markers.svg deleted file mode 100644 index 28841c15..00000000 --- a/docs/docs_site/examples/2d/scatterlines/markers.svg +++ /dev/null @@ -1,443 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/scatterlines/scatters_line.md b/docs/docs_site/examples/2d/scatterlines/scatters_line.md deleted file mode 100644 index 72f7d6eb..00000000 --- a/docs/docs_site/examples/2d/scatterlines/scatters_line.md +++ /dev/null @@ -1,26 +0,0 @@ - - - -```julia -using CairoMakie - -x = LinRange(0, 2π, 50) -fig = Figure(size = (600, 400)) -ax = Axis(fig[1, 1], xlabel = "x") -lines!(x, sin.(x); color = :red, label = "sin(x)") -scatterlines!(x, cos.(x); color = :blue, label = "cos(x)", markercolor = :black, - markersize = 10) -scatter!(x, -cos.(x); color = :red, label = "-cos(x)", strokewidth = 1, - strokecolor = :red, markersize = 5, marker = '■') -axislegend(; position = :lt, backgroundcolor = (:white, 0.85), framecolor = :green); -``` - - -``` -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -``` - - -![](scatters_line.svg) - diff --git a/docs/docs_site/examples/2d/scatterlines/scatters_line.svg b/docs/docs_site/examples/2d/scatterlines/scatters_line.svg deleted file mode 100644 index 68a9eb5a..00000000 --- a/docs/docs_site/examples/2d/scatterlines/scatters_line.svg +++ /dev/null @@ -1,476 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/scatterlines/scatters_line_leg_out.md b/docs/docs_site/examples/2d/scatterlines/scatters_line_leg_out.md deleted file mode 100644 index 4557d524..00000000 --- a/docs/docs_site/examples/2d/scatterlines/scatters_line_leg_out.md +++ /dev/null @@ -1,26 +0,0 @@ - - - -```julia -using CairoMakie - -x = LinRange(0, 2π, 50) -fig = Figure(size = (600, 400)) -ax = Axis(fig[1, 1], xlabel = "x") -lines!(x, sin.(x), color = :red, label = "sin(x)") -scatterlines!(x, cos.(x), color = :blue, label = "cos(x)", markersize = 5) -scatter!(x, -cos.(x), color = :red, label = "-cos(x)", strokewidth = 1, - strokecolor = :red, markersize = 5, marker = '■') -Legend(fig[1, 2], ax, merge = true) -fig -``` - - -``` -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -``` - - -![](scatters_line_leg_out.svg) - diff --git a/docs/docs_site/examples/2d/scatterlines/scatters_line_leg_out.svg b/docs/docs_site/examples/2d/scatterlines/scatters_line_leg_out.svg deleted file mode 100644 index e0a7c57d..00000000 --- a/docs/docs_site/examples/2d/scatterlines/scatters_line_leg_out.svg +++ /dev/null @@ -1,458 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/scatterlines/simple.md b/docs/docs_site/examples/2d/scatterlines/simple.md deleted file mode 100644 index 506416ae..00000000 --- a/docs/docs_site/examples/2d/scatterlines/simple.md +++ /dev/null @@ -1,26 +0,0 @@ - - - -```julia -using CairoMakie - -x = LinRange(0, 2π, 50) -fig = Figure(size = (600, 400)) -ax = Axis(fig[1, 1], xlabel = "x", ylabel = "") -scatterlines!(x, sin.(x); - color = :black, - markersize = 10, - label = "sin(x)") -axislegend() -fig -``` - - -``` -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -``` - - -![](simple.svg) - diff --git a/docs/docs_site/examples/2d/scatterlines/simple.svg b/docs/docs_site/examples/2d/scatterlines/simple.svg deleted file mode 100644 index 24dc5252..00000000 --- a/docs/docs_site/examples/2d/scatterlines/simple.svg +++ /dev/null @@ -1,312 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/scatterlines/spirals.md b/docs/docs_site/examples/2d/scatterlines/spirals.md deleted file mode 100644 index be330e03..00000000 --- a/docs/docs_site/examples/2d/scatterlines/spirals.md +++ /dev/null @@ -1,21 +0,0 @@ - - - -```julia -using CairoMakie -n = 50 -t = range(0, 5*π, n) -x(t; a = 0.0, b = -2.4) = (a + b*t) * cos(t) -y(t; a = 0.0, b = -2.4) = (a + b*t) * sin(t) - -fig = Figure(size = (600,400)) -ax = Axis(fig[1,1]; aspect = DataAspect(), xlabel = "x", ylabel = "y") -for (k,i) in enumerate(-4:-2) - scatterlines!(x.(t; b = i), y.(t; b = i)) -end -fig -``` - - -![](spirals.svg) - diff --git a/docs/docs_site/examples/2d/scatterlines/spirals.svg b/docs/docs_site/examples/2d/scatterlines/spirals.svg deleted file mode 100644 index 067226c1..00000000 --- a/docs/docs_site/examples/2d/scatterlines/spirals.svg +++ /dev/null @@ -1,318 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/scatters/bubble_plot.md b/docs/docs_site/examples/2d/scatters/bubble_plot.md deleted file mode 100644 index d48a164c..00000000 --- a/docs/docs_site/examples/2d/scatters/bubble_plot.md +++ /dev/null @@ -1,29 +0,0 @@ - - - -```julia -using CairoMakie, Random - -Random.seed!(124) -n = 30 -x, y, z = randn(n), randn(n), randn(n) - -fig = Figure(; size = (600, 400), backgroundcolor=:transparent) -ax = Axis(fig[1, 1]; xgridstyle = :dashdot, ygridstyle = :dashdot, - xtickalign = 1, ytickalign = 1, - backgroundcolor=:transparent) -pts1 = scatter!(ax, 10x, y; color = z, colormap = (:viridis, 0.75), - markersize = 20z, marker = :rect) -pts2 = scatter!(ax, 3x, 5y; color = z, colormap = (:thermal, 0.85), - markersize = 45z) - -Colorbar(fig[1, 2], pts1, label = "z1 value", ticklabelsize = 14, - labelpadding = 5, width = 10) -Colorbar(fig[1, 3], pts2, label = "z2 value", ticklabelsize = 14, - labelpadding = 5, width = 10) -fig -``` - - -![](bubble_plot.svg) - diff --git a/docs/docs_site/examples/2d/scatters/bubble_plot.svg b/docs/docs_site/examples/2d/scatters/bubble_plot.svg deleted file mode 100644 index 4f4e6b82..00000000 --- a/docs/docs_site/examples/2d/scatters/bubble_plot.svg +++ /dev/null @@ -1,474 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/scatters/bubble_plot_logxy.md b/docs/docs_site/examples/2d/scatters/bubble_plot_logxy.md deleted file mode 100644 index a2023422..00000000 --- a/docs/docs_site/examples/2d/scatters/bubble_plot_logxy.md +++ /dev/null @@ -1,36 +0,0 @@ - - - -```julia -using CairoMakie, Random, Colors - -Random.seed!(123) -x = 10 .^ (range(-1, stop=1, length=100)) -y = x .^ 2 .+ abs.(2 * randn(length(x))) -cmap = cgrad(:Hiroshige, scale=:log, alpha=0.5) - -fig, ax, pltpbj = scatter(x, y; markersize=(x .^ 2/3)[end:-1:1] .+ 6, - color=x, colormap=cmap, - figure=(; - size=(600, 400), - fonts=(;regular="CMU Serif"), - backgroundcolor=:transparent), - axis=(; - backgroundcolor=:transparent, - xscale=log10, - yscale=log10, - xlabel="x", ylabel="y", - xgridstyle=:dash, - ygridstyle=:dash, - xminorticksvisible=true, - yminorticksvisible=true, - xminorticks=IntervalsBetween(9), - yminorticks=IntervalsBetween(9))) -Colorbar(fig[1, 2], pltpbj) -ylims!(ax, 1e-1, 1e2) -fig -``` - - -![](bubble_plot_logxy.svg) - diff --git a/docs/docs_site/examples/2d/scatters/bubble_plot_logxy.svg b/docs/docs_site/examples/2d/scatters/bubble_plot_logxy.svg deleted file mode 100644 index 8fe91828..00000000 --- a/docs/docs_site/examples/2d/scatters/bubble_plot_logxy.svg +++ /dev/null @@ -1,652 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/scatters/iris_dataset.md b/docs/docs_site/examples/2d/scatters/iris_dataset.md deleted file mode 100644 index 094297f3..00000000 --- a/docs/docs_site/examples/2d/scatters/iris_dataset.md +++ /dev/null @@ -1,33 +0,0 @@ - - - -```julia -using CairoMakie, RDatasets, Random, Colors -Random.seed!(4353) -dset = dataset("datasets", "iris") -byCat = dset.Species -categ = unique(byCat) -markers = [:circle, :diamond, :utriangle] - -fig = Figure(; size=(600, 400), backgroundcolor=:transparent) -ax = Axis(fig[1, 1]; xlabel="Sepal Length", ylabel="Sepal Width", - backgroundcolor=:transparent) -for (idx, c) in enumerate(categ) - indices = findall(x -> x == c, byCat) - scatter!(dset.SepalLength[indices], dset.SepalWidth[indices]; - marker=markers[idx], color = rand(RGBf), - markersize=15, label="$(c)") -end -axislegend("Species") -fig -``` - - -``` -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -``` - - -![](iris_dataset.svg) - diff --git a/docs/docs_site/examples/2d/scatters/iris_dataset.svg b/docs/docs_site/examples/2d/scatters/iris_dataset.svg deleted file mode 100644 index aaa1581b..00000000 --- a/docs/docs_site/examples/2d/scatters/iris_dataset.svg +++ /dev/null @@ -1,578 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/scatters/makie_contributors.md b/docs/docs_site/examples/2d/scatters/makie_contributors.md deleted file mode 100644 index 7e5c7679..00000000 --- a/docs/docs_site/examples/2d/scatters/makie_contributors.md +++ /dev/null @@ -1,47 +0,0 @@ - - - -```julia -using GLMakie, GitHub, Downloads, FileIO - -function getavatars(; n = 90) - contri = GitHub.contributors("JuliaPlots/Makie.jl")[1] - avatars = [] - contributions = [] - for i in eachindex(contri) - push!(avatars, contri[i]["contributor"].avatar_url.uri) - push!(contributions, contri[i]["contributions"]) - end - p = sortperm(contributions, rev=true) - imgs = [] - for i in p[1:n] - img_d = Downloads.download(avatars[i]) - push!(imgs, load(img_d)) - end - return imgs -end -avatars = getavatars() - -function plotcontributors(avatars) - fig = Figure(; size = (1200,600)) - ax = Axis(fig[1,1], aspect = DataAspect()) - k = 1 - for i in 6:-1:1, j in 1:15 - scatter!(ax, Point2f(j,i); - marker = #Circle, - image = avatars[k], - markersize = 70) - k += 1 - end - hidedecorations!.(ax) - hidespines!.(ax) - limits!(ax, 0, 16, 0, 7) - fig -end - -fig = plotcontributors(avatars) -``` - - -![](makie_contributors.png) - diff --git a/docs/docs_site/examples/2d/scatters/makie_contributors.png b/docs/docs_site/examples/2d/scatters/makie_contributors.png deleted file mode 100644 index d131db09..00000000 Binary files a/docs/docs_site/examples/2d/scatters/makie_contributors.png and /dev/null differ diff --git a/docs/docs_site/examples/2d/scatters/scatter.md b/docs/docs_site/examples/2d/scatters/scatter.md deleted file mode 100644 index 0691742c..00000000 --- a/docs/docs_site/examples/2d/scatters/scatter.md +++ /dev/null @@ -1,28 +0,0 @@ - - - -```julia -using CairoMakie, Distributions -using Random -CairoMakie.activate!(type = "svg") -Random.seed!(1234) -d = Normal() -b = Binomial(15, 0.7) -n = 350 - -scatter(rand(d,n), rand(b, n); - markersize = 12*abs.(rand(d, n)), - color = tuple.(:black, rand(n)), - strokewidth = 0.5, - strokecolor = :grey45, - axis = (; - xlabel = "x", ylabel = "y", - ), - figure = (; - size = (600,400),) - ) -``` - - -![](scatter.svg) - diff --git a/docs/docs_site/examples/2d/scatters/scatter.svg b/docs/docs_site/examples/2d/scatters/scatter.svg deleted file mode 100644 index 15346dc4..00000000 --- a/docs/docs_site/examples/2d/scatters/scatter.svg +++ /dev/null @@ -1,508 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/scatters/scatters_colormap.md b/docs/docs_site/examples/2d/scatters/scatters_colormap.md deleted file mode 100644 index 6c58a8a7..00000000 --- a/docs/docs_site/examples/2d/scatters/scatters_colormap.md +++ /dev/null @@ -1,39 +0,0 @@ - - - -```julia -using CairoMakie, Random, ColorSchemes -CairoMakie.activate!(type = "svg") -Random.seed!(123) -n = 50 -x, y, color = rand(n), rand(n), rand(n) -cmaps = [:cool, :viridis, :plasma, :inferno, :thermal, - :leonardo, :winter, :spring, :ice] -markers = [:+, :diamond, :star4, :rtriangle, :rect, - :circle, :pentagon, :cross, :star5] - -function FigGridScatters() - fig = Figure(size = (1200, 800), backgroundcolor=:transparent) - c = 1 - for i in 1:2, j in 1:2:5 - ax = Axis(fig[i, j], aspect = AxisAspect(1), backgroundcolor=:transparent) - pnts = scatter!(x, y .^ c; color = color, colormap = cmaps[c], - markersize = 15, marker = markers[c], strokewidth = 0) - cbar = Colorbar(fig, pnts, height = Relative(0.75), tickwidth = 2, - tickalign = 1, width = 14, ticksize = 14) - fig[i, j+1] = cbar - limits!(ax, -0.1, 1.1, -0.1, 1.1) - ax.xticks = [0, 1] - ax.yticks = [0, 1] - ax.xticklabelsize = 20 - ax.yticklabelsize = 20 - c += 1 - end - fig -end -fig = FigGridScatters() -``` - - -![](scatters_colormap.svg) - diff --git a/docs/docs_site/examples/2d/scatters/scatters_colormap.svg b/docs/docs_site/examples/2d/scatters/scatters_colormap.svg deleted file mode 100644 index 6c42f6a7..00000000 --- a/docs/docs_site/examples/2d/scatters/scatters_colormap.svg +++ /dev/null @@ -1,1377 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/scatters/scatters_legend.md b/docs/docs_site/examples/2d/scatters/scatters_legend.md deleted file mode 100644 index d2402755..00000000 --- a/docs/docs_site/examples/2d/scatters/scatters_legend.md +++ /dev/null @@ -1,21 +0,0 @@ - - - -```julia -using GLMakie -fig = Figure() -ax = Axis(fig[1,1]) -lines!(ax, 1:10, rand(10); label = "uno") -lg = axislegend(ax) -fig -``` - - -``` -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -``` - - -![](scatters_legend.svg) - diff --git a/docs/docs_site/examples/2d/scatters/scatters_legend.svg b/docs/docs_site/examples/2d/scatters/scatters_legend.svg deleted file mode 100644 index b257c3ee..00000000 --- a/docs/docs_site/examples/2d/scatters/scatters_legend.svg +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/series/series.md b/docs/docs_site/examples/2d/series/series.md deleted file mode 100644 index 192f829f..00000000 --- a/docs/docs_site/examples/2d/series/series.md +++ /dev/null @@ -1,26 +0,0 @@ - - - -```julia -using CairoMakie, Random, LaTeXStrings -Random.seed!(123) -m = 200 -function spiral(; a = 1, n = 100, h = 0, k = 0) - φ = LinRange(rand() + 1, 6π, n) - h .+ rand(-1:2:1)*a*cos.(φ)./φ, k .+ rand(-1:2:1)*a*sin.(φ)./φ -end -x = raw"x=a\,\cos(\varphi)/\varphi,\quad " -y = raw"y=a\,\sin(\varphi)/\varphi,\quad " -curves = [spiral(; a = rand(), h = rand(-1:1)) for i in 1:m] - -fig = Figure(size = (600,400)) -ax = Axis(fig[1,1]) -series!(curves; color = resample_cmap(:bone_1, m), linewidth = 1.5) -text!(latexstring(x * y * "\\varphi>0"), position = (-1,-1)) -hidedecorations!(ax; grid = false) -fig -``` - - -![](series.svg) - diff --git a/docs/docs_site/examples/2d/series/series.svg b/docs/docs_site/examples/2d/series/series.svg deleted file mode 100644 index 099061f3..00000000 --- a/docs/docs_site/examples/2d/series/series.svg +++ /dev/null @@ -1,385 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/stairs/stairs.md b/docs/docs_site/examples/2d/stairs/stairs.md deleted file mode 100644 index 9ded16ee..00000000 --- a/docs/docs_site/examples/2d/stairs/stairs.md +++ /dev/null @@ -1,35 +0,0 @@ - - - -```julia -using CairoMakie, SpecialFunctions - -p(s, β) = (β + 1)*a(β) * s^β * exp(-a(β)*s^(β+1)) -a(β) = gamma(((β + 2)/(β + 1))^(β + 1)) -s = LinRange(0,3,30) -colors = ["#FF410D", "#6EE2FF", "#F7C530", "#95CC5E", "#D0DFE6", "#F79D1E"] - -fig = Figure(size = (600,400)) -ax = Axis(fig[1,1]; palette = (; color = colors)) -for β in [0,1], step in [:pre, :center, :post] - stairs!(s, p.(s, β); linestyle = :solid, step = step, label = "$(β), :$(step)") -end -lines!(s, p.(s, 1), color = :grey30) -lines!(s, p.(s, 0), color = :grey10) -text!(L"p(s)=(\beta+1)a_{\beta}\,s^{\beta}\exp(-a_{\beta}s^{\beta+1})", - position = (0.7, 0.95), color = :black) -text!(L"a_{\beta} = \Gamma[(\beta+2)/(\beta+1)]^{\beta + 1}", - position = (1.7, 0.25), color = :black) -axislegend("β, step", position = :rt); -fig -``` - - -``` -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -``` - - -![](stairs.svg) - diff --git a/docs/docs_site/examples/2d/stairs/stairs.svg b/docs/docs_site/examples/2d/stairs/stairs.svg deleted file mode 100644 index 42496815..00000000 --- a/docs/docs_site/examples/2d/stairs/stairs.svg +++ /dev/null @@ -1,743 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/stem/stem.md b/docs/docs_site/examples/2d/stem/stem.md deleted file mode 100644 index 87ce480a..00000000 --- a/docs/docs_site/examples/2d/stem/stem.md +++ /dev/null @@ -1,28 +0,0 @@ - - - -```julia -using CairoMakie, Random -Random.seed!(2) -t = 0.3:0.3:3π -my_markers = [:circle, :rect, :utriangle, :dtriangle, :diamond, :pentagon, - :cross, :xcross] - -fig, ax, = stem(t, 1.5exp.(-t/5).*cos.(t); color = 1:length(t), - colormap = :linear_wyor_100_45_c55_n256, stemcolor = 1:length(t), - stemcolormap = :linear_wcmr_100_45_c42_n256, - figure = (; size = (600,400))) -stem!(t .+ 0.15, -cos.(t) ./ t .+ 0.25; color = :transparent, - stemwidth = 0.5, marker = :rect, markersize = 10, strokewidth = 1, - strokecolor = :black) -stem!(1:8, 1.5randn(8); marker = my_markers, - color = tuple.(resample_cmap(:mk_12, 8), 0.65), stemlinestyle = :dash, - stemcolor = resample_cmap(:mk_12, 8), markersize = 15*rand(8) .+ 10, - strokewidth = 1.5, strokecolor = resample_cmap(:mk_12, 8)) -hidedecorations!(ax; grid = false) -fig -``` - - -![](stem.svg) - diff --git a/docs/docs_site/examples/2d/stem/stem.svg b/docs/docs_site/examples/2d/stem/stem.svg deleted file mode 100644 index 7fd8d524..00000000 --- a/docs/docs_site/examples/2d/stem/stem.svg +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/streamplot/complex_polya_field.md b/docs/docs_site/examples/2d/streamplot/complex_polya_field.md deleted file mode 100644 index 0a31ec36..00000000 --- a/docs/docs_site/examples/2d/streamplot/complex_polya_field.md +++ /dev/null @@ -1,33 +0,0 @@ - - - -```julia -using CairoMakie - -x = y = -2:0.005:2 -f(z) = 1 / (z * (z^2 - z - 1 - 3im)) -fvals = [f(u + 1im * v) for u in x, v in y] -fvalues = abs.(fvals) -fargs = angle.(fvals) -polya(x, y) = Point2f(real(f(x + 1im * y)), -imag(f(x + 1im * y))) - -fig = Figure(size = (900, 400)) -axs = [Axis(fig[1, i], aspect = 1) for i in 1:2] -cmap = :roma -streamplot!(axs[1], polya, -2 .. 2, -2 .. 2, colormap = [:black, :red], - gridsize = (40, 40), arrow_size = 6, linewidth = 1) -pltobj2 = heatmap!(axs[2], x, y, fargs, colorrange = (-π, π), colormap = cmap) -streamplot!(axs[2], polya, -2 .. 2, -2 .. 2, colormap = [:black, :black], - gridsize = (40, 40), arrow_size = 6, linewidth = 1) -Colorbar(fig[1, 3], pltobj2, ticks = ([-π, -π / 2, 0, π / 2, π], - [L"-\pi", L"-\pi/2", L"0", L"\pi/2", L"\pi"])) -limits!(axs[1], -2, 2, -2, 2) -limits!(axs[2], -2, 2, -2, 2) -colsize!(fig.layout, 1, Aspect(1, 1.0)) -colsize!(fig.layout, 2, Aspect(1, 1.0)) -fig -``` - - -![](complex_polya_field.png) - diff --git a/docs/docs_site/examples/2d/streamplot/complex_polya_field.png b/docs/docs_site/examples/2d/streamplot/complex_polya_field.png deleted file mode 100644 index 12cf77be..00000000 Binary files a/docs/docs_site/examples/2d/streamplot/complex_polya_field.png and /dev/null differ diff --git a/docs/docs_site/examples/2d/streamplot/field_heatmap.md b/docs/docs_site/examples/2d/streamplot/field_heatmap.md deleted file mode 100644 index 7edc7ca0..00000000 --- a/docs/docs_site/examples/2d/streamplot/field_heatmap.md +++ /dev/null @@ -1,26 +0,0 @@ - - - -```julia -using CairoMakie - -testField(x, y) = Point2f(-x, 2y) # x'(t) = -x, y'(t) = 2y -x = -2:0.1:4 -y = -2:0.1:2 -u2(x, y) = -x -v2(x, y) = 2y -z = [log10(sqrt(u2(x, y)^2 + v2(x, y)^2)) for x in x, y in y] - -fig = Figure(size = (600, 400), fontsize = 22, fonts = (;regular="CMU Serif")) -ax = fig[1, 1] = Axis(fig, xlabel = L"x", ylabel = L"y") -fs = heatmap!(ax, x, y, z, colormap = Reverse(:plasma)) -streamplot!(ax, testField, x, y, colormap = Reverse(:plasma), - gridsize = (32, 32), arrow_size = 10) -Colorbar(fig[1, 2], fs, label = L"\log_{10}[(u^2+v^2)^{1/2}]", width = 20, - labelsize = 14, ticklabelsize = 14) -colgap!(fig.layout, 5) -``` - - -![](field_heatmap.png) - diff --git a/docs/docs_site/examples/2d/streamplot/field_heatmap.png b/docs/docs_site/examples/2d/streamplot/field_heatmap.png deleted file mode 100644 index 02591767..00000000 Binary files a/docs/docs_site/examples/2d/streamplot/field_heatmap.png and /dev/null differ diff --git a/docs/docs_site/examples/2d/streamplot/ode_solution.md b/docs/docs_site/examples/2d/streamplot/ode_solution.md deleted file mode 100644 index 39bdb964..00000000 --- a/docs/docs_site/examples/2d/streamplot/ode_solution.md +++ /dev/null @@ -1,17 +0,0 @@ - - - -```julia -using CairoMakie - -odeSol(x, y) = Point2f(-x, 2y) # x'(t) = -x, y'(t) = 2y -fig = Figure(size = (600, 400)) -ax = Axis(fig[1, 1], xlabel = "x", ylabel = "y", backgroundcolor = :black) -streamplot!(ax, odeSol, -2 .. 4, -2 .. 2, colormap = Reverse(:plasma), - gridsize = (32, 32), arrow_size = 10) -fig -``` - - -![](ode_solution.svg) - diff --git a/docs/docs_site/examples/2d/streamplot/ode_solution.svg b/docs/docs_site/examples/2d/streamplot/ode_solution.svg deleted file mode 100644 index 1ea46df2..00000000 --- a/docs/docs_site/examples/2d/streamplot/ode_solution.svg +++ /dev/null @@ -1,62265 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/streamplot/poincare_vander.md b/docs/docs_site/examples/2d/streamplot/poincare_vander.md deleted file mode 100644 index a4d8c357..00000000 --- a/docs/docs_site/examples/2d/streamplot/poincare_vander.md +++ /dev/null @@ -1,26 +0,0 @@ - - - -```julia -using CairoMakie - -nonStablePoincare(x, y) = Point2f(x * (x^2 + y^2 - 1) - y * (x^2 + y^2 + 1), y * (x^2 + y^2 - 1) + x * (x^2 + y^2 + 1)) -stableVanDerPaul(x, y) = Point2f(y, (1 - x^2) * y - x) -semiStable(x, y) = Point2f(-y + x * (-1 + x^2 + y^2)^2, x + y * (-1 + x^2 + y^2)^2) -titles = ["non-stable", "stable", "semi-stable"] -functions = [nonStablePoincare, stableVanDerPaul, semiStable] -cmaps = [:plasma, :viridis, :gnuplot2] - -fig = Figure(size = (1800, 600), fontsize = 24) -axs = [Axis(fig[1, i], xlabel = "x", ylabel = "y", title = titles[i], - aspect = 1, backgroundcolor = :black) for i in 1:3] -[streamplot!(axs[i], functions[i], -4 .. 4, -4 .. 4, colormap = Reverse(cmaps[i]), - gridsize = (32, 32), arrow_size = 10) for i in 1:3] -[hideydecorations!(axs[2], grid = false, ticks = false) for i in 2:3] -[limits!(axs[i], -4, 4, -4, 4) for i in 1:3] -fig -``` - - -![](poincare_vander.png) - diff --git a/docs/docs_site/examples/2d/streamplot/poincare_vander.png b/docs/docs_site/examples/2d/streamplot/poincare_vander.png deleted file mode 100644 index 3deead4f..00000000 Binary files a/docs/docs_site/examples/2d/streamplot/poincare_vander.png and /dev/null differ diff --git a/docs/docs_site/examples/2d/streamplot/streamplot.md b/docs/docs_site/examples/2d/streamplot/streamplot.md deleted file mode 100644 index bbd68a0e..00000000 --- a/docs/docs_site/examples/2d/streamplot/streamplot.md +++ /dev/null @@ -1,51 +0,0 @@ - - - -```julia -using CairoMakie, LinearAlgebra - -function E(q, rx, ry, x, y) - d = sqrt((x-rx)^2 + (y-ry)^2)^3 - return (q * (x - rx) / d, q * (y - ry) / d) -end -function charges(; nq = 2) - qs = [] - for i in 1:nq - q = i % 2 * 2 - 1 - push!(qs, (q, cos(2π * i / nq), sin(2π * i / nq))) - end - qs -end -function fieldE(x,y) - Ex, Ey = 0, 0 - for q in qs - ex, ey = E(q..., x, y) - Ex += ex - Ey += ey - end - Point(Ex, Ey) -end - -fig = Figure(size = (600,400)) -ax1 = Axis(fig[1,1]; aspect = DataAspect()) -ax2 = Axis(fig[1,2]; aspect = DataAspect()) - -qs = charges() -streamplot!(ax1, fieldE, -2..2, -2..2; arrow_size = 6, linewidth = 0.5, - colorrange = (-3,3), colormap = ([:black, :black, :orange, :red])) -[scatter!(ax1, Point(qs[i][2:3]), color = qs[i][1] > 0 ? :red : :dodgerblue, - markersize = 10) for i in eachindex(qs)] -qs = charges(; nq = 4) -streamplot!(ax2, fieldE, -2..2, -2..2; arrow_size = 6, linewidth = 0.5, - colorrange = (-3,3), colormap = ([:black, :black, :orange, :red])) -[scatter!(ax2, Point(qs[i][2:3]), color = qs[i][1] > 0 ? :red : :dodgerblue, - markersize = 10) for i in eachindex(qs)] -limits!(ax2, -2,2,-2,2) -hidedecorations!(ax1; grid = false) -hidedecorations!(ax2; grid = false) -fig -``` - - -![](streamplot.png) - diff --git a/docs/docs_site/examples/2d/streamplot/streamplot.png b/docs/docs_site/examples/2d/streamplot/streamplot.png deleted file mode 100644 index 33542280..00000000 Binary files a/docs/docs_site/examples/2d/streamplot/streamplot.png and /dev/null differ diff --git a/docs/docs_site/examples/2d/text/your_name.md b/docs/docs_site/examples/2d/text/your_name.md deleted file mode 100644 index 3bd704e6..00000000 --- a/docs/docs_site/examples/2d/text/your_name.md +++ /dev/null @@ -1,24 +0,0 @@ - - - -```julia -using GLMakie -using CairoMakie -CairoMakie.activate!(type = "svg") -#GLMakie.activate!() - -fig = Figure(figure_padding= 0, size = (320, 48), - backgroundcolor=:transparent, - fontsize = 48) -ax = Axis(fig[1,1], backgroundcolor=:transparent) -text!(ax, [0], [0], - text= rich(rich("Your", font="Bold"), " Name", font =:regular), - align = (:center, :center), color = :white, padding=0) -hidedecorations!(ax) -hidespines!(ax) -fig -``` - - -![](your_name.svg) - diff --git a/docs/docs_site/examples/2d/text/your_name.svg b/docs/docs_site/examples/2d/text/your_name.svg deleted file mode 100644 index 25b0529a..00000000 --- a/docs/docs_site/examples/2d/text/your_name.svg +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/violins/airquality.md b/docs/docs_site/examples/2d/violins/airquality.md deleted file mode 100644 index 3f1f04cf..00000000 --- a/docs/docs_site/examples/2d/violins/airquality.md +++ /dev/null @@ -1,24 +0,0 @@ - - - -```julia -using CairoMakie, RDatasets, Colors, ColorSchemes - -airquality = dataset("datasets", "airquality") -categories = ["Ozone", "Solar.R", "Wind", "Temp"] -colors = categorical_colors(:Set1, length(categories)) - -fig = Figure(size = (600, 400)) -ax = Axis(fig[1, 1], xticks = (1:length(categories), categories)) -for (indx, f) in enumerate(categories) - datam = filter(x -> x !== missing, airquality[:, f]) - a = fill(indx, length(datam)) - violin!(ax, a, datam; width = 0.35, color = (colors[indx], 0.45), - strokecolor = colors[indx], show_median = true, mediancolor = :black) -end -fig -``` - - -![](airquality.svg) - diff --git a/docs/docs_site/examples/2d/violins/airquality.svg b/docs/docs_site/examples/2d/violins/airquality.svg deleted file mode 100644 index a4d39f2d..00000000 --- a/docs/docs_site/examples/2d/violins/airquality.svg +++ /dev/null @@ -1,237 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/violins/collection_violins.md b/docs/docs_site/examples/2d/violins/collection_violins.md deleted file mode 100644 index a7b9adcb..00000000 --- a/docs/docs_site/examples/2d/violins/collection_violins.md +++ /dev/null @@ -1,33 +0,0 @@ - - - -```julia -using CairoMakie, Distributions, Random - -Random.seed!(124) -n = 4 -colors = resample_cmap(:seaborn_colorblind, 8) -sides = [:left, :right, :right] - -fig = Figure(size = (600,400)) -ax = Axis(fig[1,1]; #palette = (; patchcolor = colors) - ) -for i in [-5,5], j in 1:n - violin!(fill(j, 1000), rand(Normal(i,rand()+0.5), 1000), - side = i >-3 ? sides[rand(1:3)] : :both - ) -end -violin!(fill(2.5, 1000), rand(Normal(0,2.5), 1000); color = :transparent, - strokewidth = 0.85, strokecolor = :grey10, show_median = true, - mediancolor = :black) -violin!(fill(4.5, 1000), rand(Normal(2,2), 1000); color = (:dodgerblue,0.1), - strokewidth = 0.85, strokecolor = :dodgerblue, show_median = true, - medianlinewidth = 3) -ax.xticks = (1:n, string.('A':'D')) -hideydecorations!(ax; grid = false) -fig -``` - - -![](collection_violins.svg) - diff --git a/docs/docs_site/examples/2d/violins/collection_violins.svg b/docs/docs_site/examples/2d/violins/collection_violins.svg deleted file mode 100644 index 4ea71f7d..00000000 --- a/docs/docs_site/examples/2d/violins/collection_violins.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/2d/violins/single.md b/docs/docs_site/examples/2d/violins/single.md deleted file mode 100644 index 7ffc0a94..00000000 --- a/docs/docs_site/examples/2d/violins/single.md +++ /dev/null @@ -1,30 +0,0 @@ - - - -```julia -using CairoMakie, Random - -Random.seed!(13) -n = 3000 -data = randn(n) -a = fill(1, n) -fig = Figure(size = (600, 400)) -ax = Axis(fig[1, 1], xlabel = "variable", ylabel = "values", - xticks = ([1], ["normal Distribution"])) -violin!(ax, a, data; width = 0.35, color = (:orangered, 0.45), - show_median = true, mediancolor = :navy, strokecolor = :black, - strokewidth = 1, label = "vertical") -limits!(ax, 0, 2, -5, 5) -axislegend(ax, position = :rt) -fig -``` - - -``` -┌ Warning: Keyword argument `bgcolor` is deprecated, use `backgroundcolor` instead. -└ @ Makie ~/.julia/packages/Makie/Qvk4f/src/makielayout/blocks/legend.jl:22 -``` - - -![](single.svg) - diff --git a/docs/docs_site/examples/2d/violins/single.svg b/docs/docs_site/examples/2d/violins/single.svg deleted file mode 100644 index 29d06b17..00000000 --- a/docs/docs_site/examples/2d/violins/single.svg +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/3d/contour3d/contour_v.md b/docs/docs_site/examples/3d/contour3d/contour_v.md deleted file mode 100644 index bd598028..00000000 --- a/docs/docs_site/examples/3d/contour3d/contour_v.md +++ /dev/null @@ -1,30 +0,0 @@ - - - -```julia -using GLMakie, ColorSchemes -GLMakie.activate!() -GLMakie.closeall() # close any open screen - -x = y = z = 1:10 -f(x, y, z) = x^2 + y^2 + z^2 -vol = [f(ix, iy, iz) for ix in x, iy in y, iz in z] -fig, ax, _ = contour(x, y, z, vol; - #colorrange = (minimum(vol), maximum(vol)), - levels = 10, - colormap = :Egypt, transparency = true, - figure = (; size = (1200, 800)), - axis = (; - type = Axis3, - perspectiveness = 0.5, - azimuth = 2.19, - elevation = 0.57, - aspect = (1, 1, 1) - ) - ) -fig -``` - - -![](contour_v.png) - diff --git a/docs/docs_site/examples/3d/contour3d/contour_v.png b/docs/docs_site/examples/3d/contour3d/contour_v.png deleted file mode 100644 index 4f5be9db..00000000 Binary files a/docs/docs_site/examples/3d/contour3d/contour_v.png and /dev/null differ diff --git a/docs/docs_site/examples/3d/contour3d/contourf_contour3d.md b/docs/docs_site/examples/3d/contour3d/contourf_contour3d.md deleted file mode 100644 index d14ee2ce..00000000 --- a/docs/docs_site/examples/3d/contour3d/contourf_contour3d.md +++ /dev/null @@ -1,38 +0,0 @@ - - - -```julia -using GLMakie -GLMakie.activate!() -GLMakie.closeall() # close any open screen - -function peaks(; n = 49) - x = LinRange(-3, 3, n) - y = LinRange(-3, 3, n) - a = 3 * (1 .- x').^2 .* exp.(-(x'.^2) .- (y .+ 1).^2) - b = 10 * (x' / 5 .- x'.^3 .- y.^5) .* exp.(-x'.^2 .- y.^2) - c = 1 / 3 * exp.(-(x' .+ 1).^2 .- y.^2) - return (x, y, a .- b .- c) -end -x, y, z = peaks() -with_theme(theme_dark()) do - fig = Figure(size = (1200,800)) - ax1 = Axis(fig[1,1], aspect = 1) - ax2 = Axis3(fig[1,2]; aspect = (1,1,0.7), perspectiveness = 0.5) - axs = [ax1, ax2] - cmap = :diverging_bkr_55_10_c35_n256 - contourf!(axs[1], x, y, z; levels = 0.1:0.08:0.9, mode = :relative, - colormap = cmap) - # bug, colormap cannot be transparent - contourf!(axs[2], x, y, z; levels = 14, colormap = cmap) - contour3d!(axs[2], x, y, z; levels = 14, colormap = cmap, - transparency = true, linewidth = 5) - limits!(axs[1], -3,3,-3,3) - hidedecorations!.(axs; grid = false) - fig -end -``` - - -![](contourf_contour3d.png) - diff --git a/docs/docs_site/examples/3d/contour3d/contourf_contour3d.png b/docs/docs_site/examples/3d/contour3d/contourf_contour3d.png deleted file mode 100644 index 3af826e5..00000000 Binary files a/docs/docs_site/examples/3d/contour3d/contourf_contour3d.png and /dev/null differ diff --git a/docs/docs_site/examples/3d/lines3d/archimedean_spiral.md b/docs/docs_site/examples/3d/lines3d/archimedean_spiral.md deleted file mode 100644 index c6ec5320..00000000 --- a/docs/docs_site/examples/3d/lines3d/archimedean_spiral.md +++ /dev/null @@ -1,37 +0,0 @@ - - - -```julia -using GLMakie -GLMakie.activate!() -GLMakie.closeall() # close any open screen - -a, m, z₀ = 1, 2.1, 0 -φ = range(0,20π,length=500) -r = a*φ -x, y, z = r .* cos.(φ), r .* sin.(φ), m .* r .+ z₀; - -with_theme(theme_black()) do - fig = Figure(size = (1200, 800)) - ax = LScene(fig[1,1]) - line3d = lines!(x, y, z, color = z, colormap = :viridis) - lines!(x, y, 0*z, color = z, colormap = (:viridis, 0.65)) - - axis = ax.scene[OldAxis] - axis[:names, :axisnames] = ("x", "y", "z") - tstyle = axis[:names] # get the nested attributes and work directly with them - tstyle[:fontsize] = 10 - tstyle[:textcolor] = (:red, :green, :white) - tstyle[:font] = "helvetica" - tstyle[:gap] = 5 - axis[:ticks][:textcolor] = :white - axis[:ticks][:fontsize] = 5 - Colorbar(fig[1,2], line3d, label = "z",ticklabelsize = 14, - width = 12, height = Relative(2/4), tickalign=0) - fig -end -``` - - -![](archimedean_spiral.png) - diff --git a/docs/docs_site/examples/3d/lines3d/archimedean_spiral.png b/docs/docs_site/examples/3d/lines3d/archimedean_spiral.png deleted file mode 100644 index 11fde6e5..00000000 Binary files a/docs/docs_site/examples/3d/lines3d/archimedean_spiral.png and /dev/null differ diff --git a/docs/docs_site/examples/3d/lines3d/line3d.md b/docs/docs_site/examples/3d/lines3d/line3d.md deleted file mode 100644 index 71ca0870..00000000 --- a/docs/docs_site/examples/3d/lines3d/line3d.md +++ /dev/null @@ -1,16 +0,0 @@ - - - -```julia -using GLMakie -GLMakie.activate!() -GLMakie.closeall() # close any open screen - -t = 0:0.1:15 -lines(sin.(t), cos.(t), t/4; color = t/4, linewidth = 4, - colormap = :plasma) -``` - - -![](line3d.png) - diff --git a/docs/docs_site/examples/3d/lines3d/line3d.png b/docs/docs_site/examples/3d/lines3d/line3d.png deleted file mode 100644 index 47897cb0..00000000 Binary files a/docs/docs_site/examples/3d/lines3d/line3d.png and /dev/null differ diff --git a/docs/docs_site/examples/3d/lines3d/lines_wire_contour_3d.md b/docs/docs_site/examples/3d/lines3d/lines_wire_contour_3d.md deleted file mode 100644 index 6574a70c..00000000 --- a/docs/docs_site/examples/3d/lines3d/lines_wire_contour_3d.md +++ /dev/null @@ -1,39 +0,0 @@ - - - -```julia -using GLMakie -GLMakie.activate!() -GLMakie.closeall() # close any open screen - -function peaks(; n = 49) - x = LinRange(-3, 3, n) - y = LinRange(-3, 3, n) - a = 3 * (1 .- x').^2 .* exp.(-(x'.^2) .- (y .+ 1).^2) - b = 10 * (x' / 5 .- x'.^3 .- y.^5) .* exp.(-x'.^2 .- y.^2) - c = 1 / 3 * exp.(-(x' .+ 1).^2 .- y.^2) - return (x, y, a .- b .- c) -end -x, y, z = peaks(; n=30) -with_theme(theme_dark()) do - fig = Figure(size = (1200,800)) - axs = [Axis3(fig[1,i]; aspect = :data) for i in 1:3] - contour3d!(axs[1], x, y, z; levels = 20, transparency = true) - contour!(axs[1], x, y, z; levels = 20, transformation = (:xy, minimum(z)), - transparency = true) - lines!(axs[2], cat(x, NaN, dims=1), y, vcat(z, fill(NaN,30)'), - color = maximum(z, dims=1)[1,:], transparency = false) - lines!(axs[2], cat(x, NaN, dims=1), y, - vcat(z, fill(NaN,30)')*0 .+ minimum(z); color = maximum(z, dims=1)[1,:], - transparency = true) - wireframe!(axs[3], x, y, z; color = :grey90, transparency = true) - wireframe!(axs[3], x, y, z*0 .+ minimum(z); color = :grey90, - transparency = true) - hidedecorations!.(axs; grid = false) - fig -end -``` - - -![](lines_wire_contour_3d.png) - diff --git a/docs/docs_site/examples/3d/lines3d/lines_wire_contour_3d.png b/docs/docs_site/examples/3d/lines3d/lines_wire_contour_3d.png deleted file mode 100644 index 8b65f6de..00000000 Binary files a/docs/docs_site/examples/3d/lines3d/lines_wire_contour_3d.png and /dev/null differ diff --git a/docs/docs_site/examples/3d/lines3d/wireframe_torus.md b/docs/docs_site/examples/3d/lines3d/wireframe_torus.md deleted file mode 100644 index 61e93e99..00000000 --- a/docs/docs_site/examples/3d/lines3d/wireframe_torus.md +++ /dev/null @@ -1,32 +0,0 @@ - - - -```julia -using GLMakie -GLMakie.activate!() -GLMakie.closeall() # close any open screen - -U = LinRange(-pi, pi, 100) -V = LinRange(-pi, pi, 20) -x1 = [cos(u) + .5 * cos(u) * cos(v) for u in U, v in V] -y1 = [sin(u) + .5 * sin(u) * cos(v) for u in U, v in V] -z1 = [.5 * sin(v) for u in U, v in V] -x2 = [1 + cos(u) + .5 * cos(u) * cos(v) for u in U, v in V] -y2 = [.5 * sin(v) for u in U, v in V] -z2 = [sin(u) + .5 * sin(u) * cos(v) for u in U, v in V] - -fig = Figure(size =(1200,800)) -ax = LScene(fig[1,1], show_axis = true) -wireframe!(ax, x1, y1, z1; transparency = true) -axis = ax.scene[OldAxis] -tstyle = axis[:names] -tstyle[:fontsize] = 16 -tstyle[:gap] = 8 -axis[:ticks][:textcolor] = :black -axis[:ticks][:fontsize] = 10 -fig -``` - - -![](wireframe_torus.png) - diff --git a/docs/docs_site/examples/3d/lines3d/wireframe_torus.png b/docs/docs_site/examples/3d/lines3d/wireframe_torus.png deleted file mode 100644 index 4f5be9db..00000000 Binary files a/docs/docs_site/examples/3d/lines3d/wireframe_torus.png and /dev/null differ diff --git a/docs/docs_site/examples/3d/meshes/Earth_planes.md b/docs/docs_site/examples/3d/meshes/Earth_planes.md deleted file mode 100644 index 768fb990..00000000 --- a/docs/docs_site/examples/3d/meshes/Earth_planes.md +++ /dev/null @@ -1,37 +0,0 @@ - - - -```julia -using GLMakie, Colors, LinearAlgebra -using GeometryBasics, Downloads, FileIO -GLMakie.activate!(ssao=true) -GLMakie.closeall() # close any open screen -link = "https://www.solarsystemscope.com/textures/download/8k_earth_daymap.jpg" -earth_img = load(Downloads.download(link)) -function SphereTess(; o=Point3f(0), r=1, tess=64) - return uv_normal_mesh(Tesselation(Sphere(o, r), tess)) -end - -function ssaoplanes() - fig = Figure() - ssao = Makie.SSAO(radius = 5.0, blur = 3) - ax = LScene(fig[1, 1]; show_axis=false, scenekw=(ssao=ssao,)) - ax.scene.ssao.bias[] = 0.025 - mesh!(ax, SphereTess(; o=Point3f(0.1, 0, 0), r=0.95); - color=circshift(earth_img, (0, 3000)), ssao=true) - # box - mesh!(ax, Rect3(Vec3f(-1, -1, -1.1), Vec3f(2, 2, 0.1)); - color=RGB(0.082, 0.643, 0.918), ssao=true) - mesh!(ax, Rect3(Vec3f(-1, -1.1, -1.1), Vec3f(2, 0.1, 2.1)); - color=RGB(0.929, 0.773, 0.0), ssao=true) - mesh!(ax, Rect3(Vec3f(-1, -1, -1.0), Vec3f(0.1, 2, 2.0)); - color=RGB(0.91, 0.122, 0.361), - ssao=true) - fig -end -fig = with_theme(ssaoplanes, theme_dark()) -``` - - -![](Earth_planes.png) - diff --git a/docs/docs_site/examples/3d/meshes/Earth_planes.png b/docs/docs_site/examples/3d/meshes/Earth_planes.png deleted file mode 100644 index e217f631..00000000 Binary files a/docs/docs_site/examples/3d/meshes/Earth_planes.png and /dev/null differ diff --git a/docs/docs_site/examples/3d/meshes/cpunkCube.md b/docs/docs_site/examples/3d/meshes/cpunkCube.md deleted file mode 100644 index ea2214e6..00000000 --- a/docs/docs_site/examples/3d/meshes/cpunkCube.md +++ /dev/null @@ -1,159 +0,0 @@ - - - -```julia -using GLMakie, FileIO -using GeometryBasics -using Downloads -import Cascadia: Selector -import Gumbo: parsehtml -import HTTP -GLMakie.activate!() -GLMakie.closeall() # close any open screen -``` - - - - -## Download images from twitter - - -```julia -lucy = Downloads.download("https://pbs.twimg.com/media/FbbZqWTXkAA8KTo?format=jpg&name=large") -lucy = load(lucy) -lucy = lucy[1:1000,1:1000] - -david = Downloads.download("https://pbs.twimg.com/media/FdGmKklXEAAkdG1?format=jpg&name=large") -david = load(david) -david = david[1:1000,1:1000] - -faraday = Downloads.download("https://pbs.twimg.com/media/Fdq1ev-X0AM-tXv?format=jpg&name=large") -faraday = load(faraday) -faraday = faraday[1:1000,1:1000] - -lucydavid = Downloads.download("https://pbs.twimg.com/media/FdAs55qXoAAyG9l?format=jpg&name=large") -lucydavid = load(lucydavid) - -luda = Downloads.download("https://pbs.twimg.com/media/Fcs-pGSX0AIdzWs?format=jpg&name=large") -luda = load(luda) -luda = luda[201-40:1240,end:-1:1] - -poster = Downloads.download("https://pbs.twimg.com/media/FZFjXDAWIAE-vAT?format=jpg&name=large") -poster = load(poster) -poster = poster[1+80:1080+80,end:-1:1] -``` - - - - - -## Set images into the right (your) order - - -```julia -imgs = [rotr90(lucydavid), lucy, rotl90(david), - rotr90(faraday), rotr90(rotr90(poster)), rotr90(rotr90(luda))] - -fig = Figure(figure_padding=0, size =(600*4,400*4)) -axs = [Axis(fig[i,j], aspect=1) for i in 1:2 for j in 1:3] -[heatmap!(axs[i], imgs[i]) for i in 1:6] -hidedecorations!.(axs) -hidespines!.(axs) -colgap!(fig.layout,0) -rowgap!(fig.layout,0) -imgcpunk = Makie.colorbuffer(fig) -``` - - - - - -## Do the meshed cube - - -```julia -function meshcube(o=Vec3f(0), sizexyz = Vec3f(1)) - uvs = map(v -> v ./ (3, 2), Vec2f[ - (0, 0), (0, 1), (1, 1), (1, 0), - (1, 0), (1, 1), (2, 1), (2, 0), - (2, 0), (2, 1), (3, 1), (3, 0), - (0, 1), (0, 2), (1, 2), (1, 1), - (1, 1), (1, 2), (2, 2), (2, 1), - (2, 1), (2, 2), (3, 2), (3, 1), - ]) - m = normal_mesh(Rect3f(Vec3f(-0.5) .+ o, sizexyz)) - m = GeometryBasics.Mesh(meta(coordinates(m); - uv = uvs, normals = normals(m)), faces(m)) -end - -m = meshcube(); -``` - - - - -## Get stats - - -```julia -function getstats() - r = HTTP.get("https://myanimelist.net/anime/42310/Cyberpunk__Edgerunners/stats") - h = parsehtml(String(r.body)) - helm_table = eachmatch(Selector(".score-stats"), h.root) - - htxt = helm_table[1].children[1] - rating = Float32[] - votes = Float32[] - for child in htxt.children - ele = eachmatch(Selector("td"), child) - echild = ele[1].children - push!(rating, parse(Float32, echild[1].text)) - ediv = ele[2].children[1] - push!(votes, parse(Float32, split(ediv.children[2][2][1].text)[1][2:end])) - #parse(Float32, strip(split(ediv.children[2][1].text, "%")[1])) - end - return (rating, votes) -end -``` - - -``` -getstats (generic function with 1 method) -``` - - - - -## Plot all together - - -```julia -cmap_cpunk = ["#5479B8", "#CD38D1", "#8295A6", "#9EA4A4","#03B0F5", - "#2BDB52", "#BACBCF", "#F1F016", "#EEF9E4", "#FAF4FD"] - -rating, votes = getstats() -percent = round.(votes/sum(votes)*100, digits=1) - -with_theme(theme_black()) do - fig = Figure(size= (1200,700), fontsize = 24) - ax1 = LScene(fig[1,1], show_axis=false) - ax2 = Axis(fig[1,2]; xlabel = "Rating score") - mesh!(ax1, m; color = imgcpunk, interpolate=false) - barplot!(ax2, rating, votes; color =reverse(cmap_cpunk)) - text!(ax2, string.(percent).*"%", position = Point2f.(rating, votes), - align = (:center, :bottom)) - text!(ax2, "Total votes: $(sum(votes))", color=cmap_cpunk[8], - position = (1, 3maximum(votes)/4), fontsize= 28) - hideydecorations!(ax2; grid=false) - hidespines!(ax2, :l, :t, :r) - ax2.xticks = 1:10 - Label(fig[2,1], "Source: https://www.cyberpunk.net/en/edgerunners\nImages: https://twitter.com/edgerunners", - fontsize = 14, tellwidth=false, halign=:left, color = cmap_cpunk[9]) - Label(fig[2,2], "Stats: https://myanimelist.net/anime/42310/Cyberpunk__Edgerunners/stats", - fontsize = 14, tellwidth=false, halign=:right, color = cmap_cpunk[9]) - colgap!(fig.layout,1) - fig -end -``` - - diff --git a/docs/docs_site/examples/3d/meshes/gfield.md b/docs/docs_site/examples/3d/meshes/gfield.md deleted file mode 100644 index a1e132a0..00000000 --- a/docs/docs_site/examples/3d/meshes/gfield.md +++ /dev/null @@ -1,87 +0,0 @@ - - - -```julia -using GLMakie, LaTeXStrings, Colors, ColorSchemes -using FileIO -GLMakie.activate!() -GLMakie.closeall() # close any open screen - -function alpha_colorbuffer(scene) - bg = scene.backgroundcolor[] - scene.backgroundcolor[] = RGBAf(0, 0, 0, 1) - b1 = copy(Makie.colorbuffer(scene)) - scene.backgroundcolor[] = RGBAf(1, 1, 1, 1) - b2 = Makie.colorbuffer(scene) - scene.backgroundcolor[] = bg - return map(infer_alphacolor, b1, b2) -end - -function infer_alphacolor(rgb1, rgb2) - rgb1 == rgb2 && return RGBAf(rgb1.r, rgb1.g, rgb1.b, 1) - c1 = Float64.((rgb1.r, rgb1.g, rgb1.b)) - c2 = Float64.((rgb2.r, rgb2.g, rgb2.b)) - alpha = @. 1 - (c1 - c2) * -1 # ( / (0 - 1)) - meanalpha = clamp(sum(alpha) / 3, 0, 1) - meanalpha == 0 && return RGBAf(0, 0, 0, 0) - c = @. clamp((c1 / meanalpha), 0, 1) - return RGBAf(c..., meanalpha) -end - -xx = 10 .^ (range(-1.5, stop = log10(4), length = 20)) -xx = vcat([0], xx) -x = y = vcat(-xx[end:-1:1], xx) -x3 = -4:0.25:4 -y3 = -4:0.25:4 -r(i, j) = sqrt(i^2 + j^2) - -z3 = [-1.5 / (1 + r(i, j))^(1 / 2) for i in x3, j in y3] -x2 = -10:0.25:10 -y2 = -10:0.25:10 -z2 = [0 for i in x2, j in y2] - -pot(i, j) = -1.5 / (1 + r(i, j))^(1 / 2) -xx = 10 .^ (range(-1.5, stop = log10(4), length = 50)) -xx = vcat([0], xx) -θ = collect(range(0, 2π, length = 50)) - -x2 = xx .* cos.(θ)' -y2 = xx .* sin.(θ)' -z2 = pot.(x2, y2) -vol = [-1.5 / (1 + r(i, j))^(1 / 2) for i in x, j in y] - -n = 101 -cmap = :cyclic_tritanopic_wrwc_70_100_c20_n256 -g(x) = exp(-x^2) -alphas = [g(x) for x in range(-2, 3, 101)] -cmap = resample_cmap(cmap, n; alpha=alphas) -s = 8.0 - -set_theme!(theme_dark()) -fig = Figure(size = (1200, 1200)) -axs = LScene(fig[1, 1], show_axis = false) -surface!(axs, x2, y2, z2, colormap = cmap, #colorrange = (0, 1.5), - transparency = :true) -surface!(axs, x2 .+ s, y2, z2, colormap = cmap, #colorrange = (0, 1.5), - transparency = :true) -surface!(axs, x2 .+ s, y2 .+ s, z2, colormap = cmap, #colorrange = (0, 1.5), - transparency = :true) -surface!(axs, x2, y2 .+ s, z2, colormap = cmap, #colorrange = (0, 1.5), - transparency = :true) -wireframe!(axs, x2, y2, z2, color = (:grey65, 0.1), transparency = true) -wireframe!(axs, x2 .+ s, y2, z2, color = (:grey65, 0.15), transparency = true) -wireframe!(axs, x2 .+ s, y2 .+ s, z2, color = (:grey65, 0.35), transparency = true) -wireframe!(axs, x2, y2 .+ s, z2, color = (:grey65, 0.15), transparency = true) - -meshscatter!(axs, Point3f(0, 0, 0.2); color = "#e4c92a", markersize = 1.2) -meshscatter!(axs, Point3f(0 + s, 0, 0.2); color = :white, markersize = 1.0) -meshscatter!(axs, Point3f(0 + s, 0 + s, 0.2); color = "#dd3365", markersize = 1.0) -meshscatter!(axs, Point3f(0, 0 + s, 0.2); color = "#3782b9", markersize = 1.0) -#zoom!(axs.scene, cameracontrols(axs.scene), 0.87) -center!(axs.scene) -save("gfield.png", alpha_colorbuffer(fig.scene)) -``` - - -![](gfield.png) - diff --git a/docs/docs_site/examples/3d/meshes/gfield.png b/docs/docs_site/examples/3d/meshes/gfield.png deleted file mode 100644 index 2964e005..00000000 Binary files a/docs/docs_site/examples/3d/meshes/gfield.png and /dev/null differ diff --git a/docs/docs_site/examples/3d/meshes/how_to_cube.md b/docs/docs_site/examples/3d/meshes/how_to_cube.md deleted file mode 100644 index 79065a22..00000000 --- a/docs/docs_site/examples/3d/meshes/how_to_cube.md +++ /dev/null @@ -1,146 +0,0 @@ - - - -```julia -using GLMakie, TestImages, FileIO -using GeometryBasics, Colors -using Downloads -GLMakie.activate!() -GLMakie.closeall() # close any open screen -``` - - - - -## Simple cubed mesh - - -```julia -mr = Rect3f(Vec3f(-0.5), Vec3f(1)) - -fig, ax, obj = mesh(mr; color = :white, transparency=true, - figure = (; size = (1200,600))) -wireframe!(ax, mr; color = :black, transparency=true) -mesh(fig[1,2], mr; color = [v[3] for v in coordinates(mr)], - colormap = :Spectral_11) -fig -``` - - - -Adding some colours at random - - -```julia -fig, ax, obj = mesh(mr; color = rand(length(coordinates(mr))), - colormap = :sunset, figure = (; size = (1200,600))) -mesh(fig[1,2], mr; color = 1:length(coordinates(mr)), - colormap = :sunset) -fig -``` - - - - - -## A matrix (image) as colors - - -```julia -img = testimage("chelsea") -fig, ax, obj = mesh(mr; color =rand(10,10), interpolate=false, - colormap = :seaborn_icefire_gradient, - figure = (; size = (1200,600))) -mesh(fig[1,2], mr; color = img, interpolate=false) -fig -``` - - - -Note that the image is simple wrap around the mesh, and not in a goog way. - - - - -## Wrap individual colors around mesh - - -Solution by ffreyer, define new uvs - - -```julia -function meshcube(o=Vec3f(0), sizexyz = Vec3f(1)) - uvs = map(v -> v ./ (3, 2), Vec2f[ - (0, 0), (0, 1), (1, 1), (1, 0), - (1, 0), (1, 1), (2, 1), (2, 0), - (2, 0), (2, 1), (3, 1), (3, 0), - (0, 1), (0, 2), (1, 2), (1, 1), - (1, 1), (1, 2), (2, 2), (2, 1), - (2, 1), (2, 2), (3, 2), (3, 1), - ]) - m = normal_mesh(Rect3f(Vec3f(-0.5) .+ o, sizexyz)) - m = GeometryBasics.Mesh(meta(coordinates(m); - uv = uvs, normals = normals(m)), faces(m)) -end -m = meshcube(); - -# +z, +x, +y, -# -x, -y, -z -img = rand(RGBf, 2, 3) -fig, ax, obj = mesh(m; color = img, interpolate=false, - figure = (; size = (1200,600))) -mesh(fig[1,2], m; color = img) -fig -``` - - - -Increasing the number of colours - - -```julia -img = rand(RGBf, 2*6, 3*6) -mesh(m; color = img, interpolate=false) -``` - - - -Putting an image - - -```julia -img = testimage("chelsea"); -mesh(m; color = img, interpolate=false) -``` - - - -Now the image is splitted all around, hence, something else will be needed. I found the following work around. Where, an image with ratio (2,3) is pre-process, and where each entry corresponds to a different face. - - -Remember again, the position for each one of them are: +z, +x, +y, -x, -y, -z - - - - -## Individual images per face - - -```julia -timgs = ["bark_512", "bark_he_512", "brick_wall_he_512", - "woolen_cloth_he_512", "wood_grain_he_512", "straw_he_512"]; - - -fig = Figure(figure_padding=0, size =(600,400)) -axs = [Axis(fig[i,j], aspect=1) for i in 1:2 for j in 1:3] -[heatmap!(axs[i], testimage(timgs[i])) for i in 1:6] -hidedecorations!.(axs) -hidespines!.(axs) -colgap!(fig.layout,0) -rowgap!(fig.layout,0) -imgOut = Makie.colorbuffer(fig.scene) - -mesh(m; color = imgOut, interpolate=false) -``` - - diff --git a/docs/docs_site/examples/3d/meshes/meshes.md b/docs/docs_site/examples/3d/meshes/meshes.md deleted file mode 100644 index 502c438a..00000000 --- a/docs/docs_site/examples/3d/meshes/meshes.md +++ /dev/null @@ -1,53 +0,0 @@ - - - -```julia -using GLMakie, Random, Colors, LinearAlgebra -using GeometryBasics: Cylinder, Pyramid -using Makie -import GeometryBasics -GLMakie.closeall() # close any open screen - -Random.seed!(3) - -cyl = Cylinder(Point{3, Float64}(1,2,3), Point{3, Float64}(2,3,4), 1.0) -pyr = Pyramid(Point3f(0), 1f0, 1f0) -rectmesh = Rect3(Point3f(-0.5), Vec3f(1)) -rectthin = Rect3(Point3f(-1), Vec3f(2,2,0.25)) -sphere = Sphere(Point3f(-0.5), 1) -Cone(; quality = 10) = merge([ - Makie._circle(Point3f(0), 0.5f0, Vec3f(0,0,-1), quality), - Makie._mantle(Point3f(0), Point3f(0,0,1), 0.5f0, 0f0, quality)]) -cone = Cone() -rectMesh = GeometryBasics.mesh(rectmesh) -rectThin = GeometryBasics.mesh(rectthin) -cyL = GeometryBasics.mesh(cyl) - -cmap = resample_cmap(:Spectral_11, length(rectMesh.position)) -colors1 = [cmap[i] for (i,v) in enumerate(rectMesh.position)] -colors2 = [RGBA(rand(4)...) for v in rectThin.position] -colors3 = [norm(v) for v in cyL.position] -markers = [sphere, rectmesh, cyl, pyr, cone] - -with_theme(theme_dark()) do - fig = Figure(size = (1200,800)) - axs = [Axis3(fig[i,j]; aspect = :data, perspectiveness = 0.5) - for j in 1:3, i in 1:2] - mesh!(axs[1], sphere, color = :white) - mesh!(axs[2], rectmesh, color = colors1) - mesh!(axs[3], pyr; color = (:dodgerblue, 0.85)) - wireframe!(axs[3], pyr; color = :grey90) - mesh!(axs[4], cyl; color = colors3, - colormap = :diverging_tritanopic_cwr_75_98_c20_n256) - mesh!(axs[5], cone; transparency = true) - wireframe!(axs[5], cone; color = :grey90, linewidth = 0.5) - mesh!(axs[6], rectthin; color = colors2, shading = NoShading) - [meshscatter!(axs[6], Point3f(1.5rand(3) .- 0.5); marker = markers[i], - markersize = 0.25) for i in 1:5] - fig -end -``` - - -![](meshes.png) - diff --git a/docs/docs_site/examples/3d/meshes/meshes.png b/docs/docs_site/examples/3d/meshes/meshes.png deleted file mode 100644 index 6d5097e0..00000000 Binary files a/docs/docs_site/examples/3d/meshes/meshes.png and /dev/null differ diff --git a/docs/docs_site/examples/3d/meshes/simplex.md b/docs/docs_site/examples/3d/meshes/simplex.md deleted file mode 100644 index 0c11eaa9..00000000 --- a/docs/docs_site/examples/3d/meshes/simplex.md +++ /dev/null @@ -1,55 +0,0 @@ - - - -```julia -using GLMakie -GLMakie.activate!() -GLMakie.closeall() # close any open screen - -vertices = [ - 0 0 0 - 1 0 0 - 0 1 0 - 0 0 1 - ] -faces = [ - 3 2 1 - 4 1 2 - 4 3 1 - 4 2 3 - ] -# m = GLMakie.GeometryBasics.Mesh(GLMakie.Makie.to_vertices(vertices), GLMakie.Makie.to_triangles(faces)) -# mesh(m) - -marker = Sphere(Point3f(0), 1) # 0 -> -0.5, fully inside, 0 -> 0.5 fully outside - -fig = Figure(size = (600,600)) -ax = LScene(fig[1,1], show_axis=false) -m = mesh!(ax, vertices, faces; color = :white, transparency=true,) -poly!(ax, vertices, faces; color = :transparent, - transparency=true, strokewidth = 1.0) -meshscatter!(ax, - Point3f(1/3, 1/3,1/3), # you need to calculate this for your use case - marker = marker, markersize = 0.025, transparency=true) -# the following are not over the plane nither perpendicular. -arrows!(ax, - [Point3f(1/3, 1/3,1/3)], # you need to calculate this for your use case - [Point3f(0.2, 0.1,0.3)], # you need to calculate this for your use case - arrowsize = Vec3f(0.05, 0.05, 0.08), - color = :red, - arrowcolor = :black) -arrows!(ax, - [Point3f(1/3, 1/3,1/3)], # you need to calculate this for your use case - [Point3f(-0.1, -0.1,0.3)], # you need to calculate this for your use case - arrowsize = Vec3f(0.08, 0.08, 0.08), - linewidth = 0.02, - color = :dodgerblue, - arrowcolor = :orange) -zoom!(ax.scene, cameracontrols(ax.scene), 0.9) -rotate!(ax.scene, -0.1) -fig -``` - - -![](simplex.png) - diff --git a/docs/docs_site/examples/3d/meshes/simplex.png b/docs/docs_site/examples/3d/meshes/simplex.png deleted file mode 100644 index 1bd39da0..00000000 Binary files a/docs/docs_site/examples/3d/meshes/simplex.png and /dev/null differ diff --git a/docs/docs_site/examples/3d/mscatters/RGBAcube.md b/docs/docs_site/examples/3d/mscatters/RGBAcube.md deleted file mode 100644 index 155bdcb4..00000000 --- a/docs/docs_site/examples/3d/mscatters/RGBAcube.md +++ /dev/null @@ -1,24 +0,0 @@ - - - -```julia -using GLMakie, Colors -using GeometryBasics: Rect3f -GLMakie.activate!() -GLMakie.closeall() # close any open screen - -positions = vec([Point3f(i / 5, j / 5, k / 5) for i = 1:7, j = 1:7, k = 1:7]) ## note 7 > 5 [factor in each i,j,k], whichs is misleading - -fig, ax, obj = meshscatter(positions; - marker = Rect3f(Vec3f(-0.5), Vec3f(1.8)), - transparency = true, - color = [RGBA(positions[i]..., 0.5) for i in eachindex(positions)], - figure = (; - size = (1200, 800)) -) -fig -``` - - -![](RGBAcube.png) - diff --git a/docs/docs_site/examples/3d/mscatters/RGBAcube.png b/docs/docs_site/examples/3d/mscatters/RGBAcube.png deleted file mode 100644 index 7c830138..00000000 Binary files a/docs/docs_site/examples/3d/mscatters/RGBAcube.png and /dev/null differ diff --git a/docs/docs_site/examples/3d/mscatters/RRGraph3D.md b/docs/docs_site/examples/3d/mscatters/RRGraph3D.md deleted file mode 100644 index fa6cef34..00000000 --- a/docs/docs_site/examples/3d/mscatters/RRGraph3D.md +++ /dev/null @@ -1,84 +0,0 @@ - - - -```julia -# Adaptation from: -# L Alonso, et. al. https://doi.org/10.1093/comnet/cnx053 - -using LinearAlgebra, Random, GLMakie -GLMakie.activate!() -GLMakie.closeall() # close any open screen - -function RRGAdjacencyM3D(; radius = 0.17, nodes = 500, rseed = 123) - Random.seed!(rseed) - xy = rand(nodes, 3) - x = xy[:, 1] - y = xy[:, 2] - z = xy[:, 3] - - matrixAdjDiag = Diagonal(√2 * randn(nodes)) - matrixAdj = zeros(nodes, nodes) - for point in 1:nodes-1 - xseps = (x[point+1:end] .- x[point]) .^ 2 - yseps = (y[point+1:end] .- y[point]) .^ 2 - zseps = (z[point+1:end] .- z[point]) .^ 2 - - distance = sqrt.(xseps .+ yseps .+ zseps) - dindx = findall(distance .<= radius) .+ point - if length(dindx) > 0 - rnd = randn(length(dindx)) - matrixAdj[point, dindx] = rnd - matrixAdj[dindx, point] = rnd - end - end - return (matrixAdj .+ matrixAdjDiag, x, y, z) -end -adjacencyM3D, x, y, z = RRGAdjacencyM3D() - -function getGraphEdges3D(adjMatrix3D, x, y, z) - xyzos = [] - weights = [] - for i in eachindex(x), j in i+1:length(x) - if adjMatrix3D[i, j] != 0.0 - push!(xyzos, [x[i], y[i], z[i]]) - push!(xyzos, [x[j], y[j], z[j]]) - push!(weights, adjMatrix3D[i, j]) - push!(weights, adjMatrix3D[i, j]) - end - end - return (Point3f.(xyzos), Float32.(weights)) -end - -function plotGraph3D(adjacencyM3D, x, y, z) - cmap = (:Hiroshige, 0.75) - adjmin = minimum(adjacencyM3D) - adjmax = maximum(adjacencyM3D) - diagValues = diag(adjacencyM3D) - segm, weights = getGraphEdges3D(adjacencyM3D, x, y, z) - - fig, ax, pltobj = linesegments(segm; color = weights, colormap = cmap, - linewidth = abs.(weights), - colorrange = (adjmin, adjmax), - figure = (; - size = (1200, 800), - fontsize = 24), - axis = (; - type = Axis3, - aspect = (1, 1, 1), - perspectiveness = 0.5)) - meshscatter!(ax, x, y, z; color = diagValues, - markersize = abs.(diagValues) ./ 90, - colorrange = (adjmin, adjmax), - colormap = cmap) - Colorbar(fig[1, 2], pltobj, label = "weights", height = Relative(0.5)) - colsize!(fig.layout, 1, Aspect(1, 1.0)) - fig -end -with_theme(theme_dark()) do - plotGraph3D(adjacencyM3D, x, y, z) -end -``` - - -![](RRGraph3D.png) - diff --git a/docs/docs_site/examples/3d/mscatters/RRGraph3D.png b/docs/docs_site/examples/3d/mscatters/RRGraph3D.png deleted file mode 100644 index f662edf5..00000000 Binary files a/docs/docs_site/examples/3d/mscatters/RRGraph3D.png and /dev/null differ diff --git a/docs/docs_site/examples/3d/mscatters/SSAO_meshscatter.md b/docs/docs_site/examples/3d/mscatters/SSAO_meshscatter.md deleted file mode 100644 index f1ead486..00000000 --- a/docs/docs_site/examples/3d/mscatters/SSAO_meshscatter.md +++ /dev/null @@ -1,31 +0,0 @@ - - - -```julia -# from https://makie.juliaplots.org/v0.15/documentation/lighting/#examples -using GLMakie, Colors, LinearAlgebra -using Random: seed! -seed!(1313) -GLMakie.activate!(ssao=true) -GLMakie.closeall() # close any open screen - -function ssaom() - positions = [Point3f(x, y, rand()) for x in -7:7 for y in -5:5] - fig = Figure(size=(1200, 800)) - ssao = Makie.SSAO(radius = 6.0, blur = 3) - ax = LScene(fig[1, 1]; show_axis=false, scenekw=(ssao=ssao,)) - ax.scene.ssao.bias[] = 0.025 - meshscatter!(ax, positions; marker=Rect3(Point3f(-0.5), Vec3f(1)), - markersize=1, color=norm.(positions), - colormap=Reverse(:tol_light), - ssao=true - ) - zoom!(ax.scene, cameracontrols(ax.scene), 0.65) - fig -end -fig = ssaom() -``` - - -![](SSAO_meshscatter.png) - diff --git a/docs/docs_site/examples/3d/mscatters/SSAO_meshscatter.png b/docs/docs_site/examples/3d/mscatters/SSAO_meshscatter.png deleted file mode 100644 index 2ffbb30c..00000000 Binary files a/docs/docs_site/examples/3d/mscatters/SSAO_meshscatter.png and /dev/null differ diff --git a/docs/docs_site/examples/3d/mscatters/SSAO_mgrid.md b/docs/docs_site/examples/3d/mscatters/SSAO_mgrid.md deleted file mode 100644 index a65a6d8b..00000000 --- a/docs/docs_site/examples/3d/mscatters/SSAO_mgrid.md +++ /dev/null @@ -1,56 +0,0 @@ - - - -```julia -using GLMakie -GLMakie.activate!(ssao=true) -GLMakie.closeall() # close any open screen - -x = y = z = 1:10 -f(x, y, z) = x^2 + y^2 + z^2 -positions = vec([(i, j, k) for i in x, j in y, k in z]) -vals = [f(ix, iy, iz) for ix in x, iy in y, iz in z] - -function ssaomeshscatter() - colormap = :starrynight - fig = Figure(size=(1800, 600)) - ssao = Makie.SSAO(radius = 6.0, blur = 3) - ax11 = LScene(fig[1, 1]; show_axis=false, scenekw=(ssao=ssao,)) - ax11.scene.ssao.bias[] = 0.025 - ax12 = LScene(fig[1, 2]; show_axis=false, scenekw=(ssao=ssao,)) - ax13 = LScene(fig[1, 3]; show_axis=false, scenekw=(ssao=ssao,)) - meshscatter!(ax11, positions, color=vec(vals), - marker=Rect3f(Vec3f(-0.5), Vec3f(1)), - markersize=0.9, - colormap=(colormap, 0.5), - colorrange=(minimum(vals), maximum(vals)), - backlight=4.0f0, - ssao=true, - ) - meshscatter!(ax12, positions; color=vec(vals), - marker=Rect3f(Vec3f(-0.5), Vec3f(1)), - markersize=0.9, - colormap, - colorrange=(minimum(vals), maximum(vals)), - ssao=true - ) - meshscatter!(ax13, positions; color=vec(vals), - marker=Rect3f(Vec3f(-0.5), Vec3f(1)), - markersize=0.9, - colormap, - colorrange=(minimum(vals), maximum(vals)), - backlight=2.0f0, - ssao=true, - transparency=true - ) - zoom!(ax11.scene, cameracontrols(ax11.scene), 1.2) - zoom!(ax12.scene, cameracontrols(ax12.scene), 1.2) - zoom!(ax13.scene, cameracontrols(ax13.scene), 1.2) - fig -end -with_theme(ssaomeshscatter, theme_dark()) -``` - - -![](SSAO_mgrid.png) - diff --git a/docs/docs_site/examples/3d/mscatters/SSAO_mgrid.png b/docs/docs_site/examples/3d/mscatters/SSAO_mgrid.png deleted file mode 100644 index 84d7e2ba..00000000 Binary files a/docs/docs_site/examples/3d/mscatters/SSAO_mgrid.png and /dev/null differ diff --git a/docs/docs_site/examples/3d/mscatters/cube_mscatters.md b/docs/docs_site/examples/3d/mscatters/cube_mscatters.md deleted file mode 100644 index 44fda726..00000000 --- a/docs/docs_site/examples/3d/mscatters/cube_mscatters.md +++ /dev/null @@ -1,44 +0,0 @@ - - - -```julia -using GLMakie, ColorSchemes -using GeometryBasics: Rect3f -GLMakie.activate!() -GLMakie.closeall() # close any open screen - -x = y = z = 1:10 -f(x, y, z) = x^2 + y^2 + z^2 -positions = vec([(i, j, k) for i in x, j in y, k in z]) -vals = [f(ix, iy, iz) for ix in x, iy in y, iz in z] -m = Rect3f(Vec3f(-0.5), Vec3f(1)) - -fig, ax, pltobj = meshscatter(positions; - color = vec(vals), - marker = m, markersize = 0.9, - colormap = (:Egypt, 0.75), - colorrange = (minimum(vals), maximum(vals)), - transparency = true, - shading = NoShading, - figure = (; - size = (1200, 800) - ), - axis = (; - type = Axis3, - perspectiveness = 0.5, - azimuth = 2.19, - elevation = 0.57, - xlabel = "x label", - ylabel = "y label", - zlabel = "z label", - aspect = (1, 1, 1)) - ) -Colorbar(fig[1, 2], pltobj; label = "f values", height = Relative(0.5)) -colsize!(fig.layout, 1, Aspect(1, 1.0)) -limits!(ax, -1, 11, -1, 11, -1, 11) -fig -``` - - -![](cube_mscatters.png) - diff --git a/docs/docs_site/examples/3d/mscatters/cube_mscatters.png b/docs/docs_site/examples/3d/mscatters/cube_mscatters.png deleted file mode 100644 index 21f813f1..00000000 Binary files a/docs/docs_site/examples/3d/mscatters/cube_mscatters.png and /dev/null differ diff --git a/docs/docs_site/examples/3d/mscatters/gauss2d.md b/docs/docs_site/examples/3d/mscatters/gauss2d.md deleted file mode 100644 index 3861f006..00000000 --- a/docs/docs_site/examples/3d/mscatters/gauss2d.md +++ /dev/null @@ -1,52 +0,0 @@ - - - -```julia -using GLMakie, Random -GLMakie.activate!() -GLMakie.closeall() # close any open screen - -Random.seed!(13) -x = -6:0.5:6 -y = -6:0.5:6 -z = 6exp.( -(x.^2 .+ y' .^ 2)./4) - -box = Rect3(Point3f(-0.5), Vec3f(1)) -n = 100 -g(x) = x^(1/10) -alphas = [g(x) for x in range(0,1,length=n)] -cmap_alpha = resample_cmap(:linear_worb_100_25_c53_n256, n, alpha = alphas) - -with_theme(theme_dark()) do - fig, ax, = meshscatter(x, y, z; - marker=box, - markersize = 0.5, - color = vec(z), - colormap = cmap_alpha, - colorrange = (0,6), - axis = (; - type = Axis3, - aspect = :data, - azimuth = 7.3, - elevation = 0.189, - perspectiveness = 0.5), - figure = (; - size =(1200,800))) - meshscatter!(ax, x .+ 7, y, z./2; - markersize = 0.25, - color = vec(z./2), - colormap = cmap_alpha, - colorrange = (0, 6), - ambient = Vec3f(0.85, 0.85, 0.85), - backlight = 1.5f0) - xlims!(-5.5,10) - ylims!(-5.5,5.5) - hidedecorations!(ax; grid = false) - hidespines!(ax) - fig -end -``` - - -![](gauss2d.png) - diff --git a/docs/docs_site/examples/3d/mscatters/gauss2d.png b/docs/docs_site/examples/3d/mscatters/gauss2d.png deleted file mode 100644 index 69cf6cad..00000000 Binary files a/docs/docs_site/examples/3d/mscatters/gauss2d.png and /dev/null differ diff --git a/docs/docs_site/examples/3d/surfaces/band3d.md b/docs/docs_site/examples/3d/surfaces/band3d.md deleted file mode 100644 index 92fb39f5..00000000 --- a/docs/docs_site/examples/3d/surfaces/band3d.md +++ /dev/null @@ -1,44 +0,0 @@ - - - -```julia -using GLMakie, LaTeXStrings, SpecialFunctions, Random -GLMakie.activate!() -GLMakie.closeall() # close any open screen - -Random.seed!(13) -with_theme(theme_black()) do - fig = Figure(size = (1200,800)) - ax = Axis3(fig; - aspect = (1,0.5,0.5), - azimuth = 10.42, - elevation = 0.027, - perspectiveness=0.5) - x = 0:0.1:15 - y = -1:0.1:7 - horizontal = Point3f.(tuple.(15, y, 3exp.(-(y .-3).^2/3))) - for ν in 0:7 - lines!(ax, x, x*0 .+ ν, besselj.(ν, x) .+ ν/3; - linewidth = 2, - color = :grey90, - label = latexstring("J_{$(ν)}(x)")) - band!(ax, Point3f.(tuple.(x, ν, ν/3)), - Point3f.(tuple.(x, ν, besselj.(ν, x) .+ ν/3)); - color = 1:length(x), - colormap = :plasma) - text!(ax, latexstring("J_{$(ν)}(x)"), position = Point3f(15.2,ν, ν/3)) - end - band!(ax, Point3f.(tuple.(0, y, 0.0)), - Point3f.(tuple.(0, y, 3exp.(-(y .-3).^2/3))); color = rand(length(y))) - band!(ax, horizontal[1:40], reverse(horizontal[42:end]); color = 1:40, - colormap = :bone_1) - lines!(ax, horizontal; color= :white, linewidth = 2) - hidedecorations!(ax; grid = false) - fig[1,1] = ax - fig -end -``` - - -![](band3d.png) - diff --git a/docs/docs_site/examples/3d/surfaces/band3d.png b/docs/docs_site/examples/3d/surfaces/band3d.png deleted file mode 100644 index 3c8c322f..00000000 Binary files a/docs/docs_site/examples/3d/surfaces/band3d.png and /dev/null differ diff --git a/docs/docs_site/examples/3d/surfaces/branching.md b/docs/docs_site/examples/3d/surfaces/branching.md deleted file mode 100644 index adeae12d..00000000 --- a/docs/docs_site/examples/3d/surfaces/branching.md +++ /dev/null @@ -1,23 +0,0 @@ - - - -```julia -using GLMakie -GLMakie.activate!() -GLMakie.closeall() # close any open screen - -t = 0:0.1:15 -u = -1:0.1:1 -x = [u * sin(t) for t in t, u in u] -y = [u * cos(t) for t in t, u in u] -z = [t / 4 for t in t, u in u] -fig = surface(x, y, z; colormap = [:orangered, :orangered], - lightposition = Vec3f(0, 0, 0), ambient = Vec3f(0.65, 0.65, 0.65), - backlight = 5.0f0, figure = (; size = (1200, 800))) -wireframe!(x, y, z, overdraw = false, linewidth = 0.1) # try overdraw = true -fig -``` - - -![](branching.png) - diff --git a/docs/docs_site/examples/3d/surfaces/branching.png b/docs/docs_site/examples/3d/surfaces/branching.png deleted file mode 100644 index 79a3827f..00000000 Binary files a/docs/docs_site/examples/3d/surfaces/branching.png and /dev/null differ diff --git a/docs/docs_site/examples/3d/surfaces/complex_function.md b/docs/docs_site/examples/3d/surfaces/complex_function.md deleted file mode 100644 index 1254d91e..00000000 --- a/docs/docs_site/examples/3d/surfaces/complex_function.md +++ /dev/null @@ -1,29 +0,0 @@ - - - -```julia -using GLMakie -GLMakie.activate!() -GLMakie.closeall() # close any open screen - -x = -2:0.005:2 -y = -2:0.005:2 -f(z) = (z^2 + 1) / (z^2 - 1) -fvals = [f(u + 1im * v) for u in x, v in y] -fvalues = abs.(fvals) -fargs = angle.(fvals) -indxCut = fvalues .> 3 -fvalues[indxCut] .= 3.01 - -fig, ax, pltobj = surface(x, y, fvalues, color = fargs, - colormap = :roma, colorrange = (-π, π), - backlight = 1.0f0, highclip = :black, - figure = (; size = (1200, 800), fontsize = 22)) -Colorbar(fig[1, 2], pltobj, height = Relative(0.5)) -colsize!(fig.layout, 1, Aspect(1, 1.0)) -fig -``` - - -![](complex_function.png) - diff --git a/docs/docs_site/examples/3d/surfaces/complex_function.png b/docs/docs_site/examples/3d/surfaces/complex_function.png deleted file mode 100644 index b396f9b4..00000000 Binary files a/docs/docs_site/examples/3d/surfaces/complex_function.png and /dev/null differ diff --git a/docs/docs_site/examples/3d/surfaces/constraints.md b/docs/docs_site/examples/3d/surfaces/constraints.md deleted file mode 100644 index 8d55daa5..00000000 --- a/docs/docs_site/examples/3d/surfaces/constraints.md +++ /dev/null @@ -1,46 +0,0 @@ - - - -```julia -using GLMakie -GLMakie.activate!() -GLMakie.closeall() # close any open screen - -x = LinRange(-2, 0.5, 501) -y = LinRange(-2, 2, 501); -# objective function -z = 100 .* (y' .- x .^ 2) .^ 2 .+ (1 .- x) .^ 2; -# build constraints -zin = copy(z) -zout1 = copy(z) -zout2 = copy(z) -for (i, x) in enumerate(x), (j, y) in enumerate(y) - if x * y >= 1 - zin[i, j] = NaN - zout1[i, j] = z[i, j] - zout2[i, j] = NaN - elseif (x + y^2) >= 1 - zin[i, j] = NaN - zout1[i, j] = NaN - zout2[i, j] = z[i, j] - else - zin[i, j] = z[i, j] - zout1[i, j] = NaN - zout2[i, j] = NaN - end -end -fig = Figure(size = (1200, 800), fontsize = 22) -ax = Axis3(fig[1, 1], aspect = (1, 1, 1), perspectiveness = 0.5, elevation = π / 9, - azimuth = 0.2π, zgridcolor = :grey, ygridcolor = :grey, xgridcolor = :grey) -pltobj = surface!(ax, x, y, zin; colormap = Reverse(:viridis)) -surface!(ax, x, y, zout1; colormap = [(:orangered, 0.5), (:orangered, 0.5)]) -surface!(ax, x, y, zout2; colormap = [(:dodgerblue, 0.5), (:dodgerblue, 0.5)]) -Colorbar(fig[1, 2], pltobj, label = "xy <=1 & x + y^2<=1", - height = Relative(0.5), width = 20) -colsize!(fig.layout, 1, Aspect(1, 1.0)) -fig -``` - - -![](constraints.png) - diff --git a/docs/docs_site/examples/3d/surfaces/constraints.png b/docs/docs_site/examples/3d/surfaces/constraints.png deleted file mode 100644 index b6eeacf9..00000000 Binary files a/docs/docs_site/examples/3d/surfaces/constraints.png and /dev/null differ diff --git a/docs/docs_site/examples/3d/surfaces/gabriels_horn.md b/docs/docs_site/examples/3d/surfaces/gabriels_horn.md deleted file mode 100644 index fb9ede43..00000000 --- a/docs/docs_site/examples/3d/surfaces/gabriels_horn.md +++ /dev/null @@ -1,31 +0,0 @@ - - - -```julia -using GLMakie -GLMakie.activate!() -GLMakie.closeall() # close any open screen - -u = LinRange(0.8, 6, 50) -v = LinRange(0, 2π, 50) -X1 = [u for u in u, v in v] -Y1 = [(1/u) * cos(v) for u in u, v in v] -Z1 = [(1/u) * sin(v) for u in u, v in v] - -fig = Figure(size=(1200, 800)) -ax = LScene(fig[1, 1], show_axis=false) -pltobj = surface!(ax, -X1, -Y1, Z1; shading = FastShading, ambient=Vec3f(0.65, 0.65, 0.65), - backlight=1.0f0, color=sqrt.(X1 .^ 2 .+ Y1 .^ 2 .+ Z1 .^ 2), - colormap=Reverse(:bone_1), transparency=true, - ) -wireframe!(ax, -X1, -Y1, Z1; transparency = true, - color = :gray, linewidth = 0.5) -zoom!(ax.scene, cameracontrols(ax.scene), 0.98) -Colorbar(fig[1, 2], pltobj, height=Relative(0.5)) -colsize!(fig.layout, 1, Aspect(1, 1.0)) -fig -``` - - -![](gabriels_horn.png) - diff --git a/docs/docs_site/examples/3d/surfaces/gabriels_horn.png b/docs/docs_site/examples/3d/surfaces/gabriels_horn.png deleted file mode 100644 index 5b5803bb..00000000 Binary files a/docs/docs_site/examples/3d/surfaces/gabriels_horn.png and /dev/null differ diff --git a/docs/docs_site/examples/3d/surfaces/klein_bottle.md b/docs/docs_site/examples/3d/surfaces/klein_bottle.md deleted file mode 100644 index 1aafd292..00000000 --- a/docs/docs_site/examples/3d/surfaces/klein_bottle.md +++ /dev/null @@ -1,27 +0,0 @@ - - - -```julia -using GLMakie -GLMakie.activate!() -GLMakie.closeall() # close any open screen - -# The bottle -u = LinRange(0, π, 100) -v = LinRange(0, 2π, 100) -x = [-2 / 15 * cos(u) * (3 * cos(v) - 30 * sin(u) + 90 * cos(u)^4 * sin(u) - - 60 * cos(u)^6 * sin(u) + 5 * cos(u) * cos(v) * sin(u)) for u in u, v in v] -y = [-1 / 15 * sin(u) * (3 * cos(v) - 3 * cos(u)^2 * cos(v) - 48 * cos(u)^4 * cos(v) + 48 * cos(u)^6 * cos(v) - - 60 * sin(u) + 5 * cos(u) * cos(v) * sin(u) - 5 * cos(u)^3 * cos(v) * sin(u) - - 80 * cos(u)^5 * cos(v) * sin(u) + 80 * cos(u)^7 * cos(v) * sin(u)) for u in u, v in v] -z = [2 / 15 * (3 + 5 * cos(u) * sin(u)) * sin(v) for u in u, v in v] - -fig = Figure(size = (1200, 800)) -ax = LScene(fig[1, 1], show_axis = false) -surface!(ax, x, y, z; color = sqrt.(x.^2 .+ y.^2), colormap = (:Spectral_11, 0.8)) -fig -``` - - -![](klein_bottle.png) - diff --git a/docs/docs_site/examples/3d/surfaces/klein_bottle.png b/docs/docs_site/examples/3d/surfaces/klein_bottle.png deleted file mode 100644 index 1a1be76a..00000000 Binary files a/docs/docs_site/examples/3d/surfaces/klein_bottle.png and /dev/null differ diff --git a/docs/docs_site/examples/3d/surfaces/onecolor.md b/docs/docs_site/examples/3d/surfaces/onecolor.md deleted file mode 100644 index fc17552c..00000000 --- a/docs/docs_site/examples/3d/surfaces/onecolor.md +++ /dev/null @@ -1,23 +0,0 @@ - - - -```julia -using GLMakie -GLMakie.activate!() -GLMakie.closeall() # close any open screen - -t = range(0, 2π, length = 50) -u = -1:0.1:1 -x = [u * sin(t) for t in t, u in u] -y = [u * cos(t) for t in t, u in u] -z = [u for t in t, u in u] -fig = surface(x, y, z, colormap = [:dodgerblue, :dodgerblue], - lightposition = Vec3f(0, 0, 0.8), ambient = Vec3f(0.6, 0.6, 0.6), - backlight = 2.0f0) -wireframe!(x, y, z; overdraw = false, linewidth = 0.1) # try overdraw = true -fig -``` - - -![](onecolor.png) - diff --git a/docs/docs_site/examples/3d/surfaces/onecolor.png b/docs/docs_site/examples/3d/surfaces/onecolor.png deleted file mode 100644 index efebccad..00000000 Binary files a/docs/docs_site/examples/3d/surfaces/onecolor.png and /dev/null differ diff --git a/docs/docs_site/examples/3d/surfaces/revolution_surface.md b/docs/docs_site/examples/3d/surfaces/revolution_surface.md deleted file mode 100644 index 13ccbfa4..00000000 --- a/docs/docs_site/examples/3d/surfaces/revolution_surface.md +++ /dev/null @@ -1,26 +0,0 @@ - - - -```julia -using GLMakie -GLMakie.activate!() -GLMakie.closeall() # close any open screen - -u = LinRange(0, 1, 50) -v = LinRange(0, 2π, 50) -X1 = [u for u in u, v in v] -Y1 = [(u^4 - u^2) * cos(v) for u in u, v in v] -Z1 = [(u^4 - u^2) * sin(v) for u in u, v in v] - -fig, ax, pltobj = surface(X1, Y1, Z1; shading = FastShading, ambient = Vec3f(0.65, 0.65, 0.65), - backlight = 1.0f0, color = sqrt.(X1 .^ 2 .+ Y1 .^ 2 .+ Z1 .^ 2), - colormap = :viridis, transparency = true, - figure = (; size = (1200, 800), fontsize = 22)) -Colorbar(fig[1, 2], pltobj, height = Relative(0.5)) -colsize!(fig.layout, 1, Aspect(1, 1.0)) -fig -``` - - -![](revolution_surface.png) - diff --git a/docs/docs_site/examples/3d/surfaces/revolution_surface.png b/docs/docs_site/examples/3d/surfaces/revolution_surface.png deleted file mode 100644 index ffcc80e1..00000000 Binary files a/docs/docs_site/examples/3d/surfaces/revolution_surface.png and /dev/null differ diff --git a/docs/docs_site/examples/3d/surfaces/revolution_surface_s.md b/docs/docs_site/examples/3d/surfaces/revolution_surface_s.md deleted file mode 100644 index 18fb805a..00000000 --- a/docs/docs_site/examples/3d/surfaces/revolution_surface_s.md +++ /dev/null @@ -1,27 +0,0 @@ - - - -```julia -using GLMakie -GLMakie.activate!() -GLMakie.closeall() # close any open screen - -u = LinRange(-1.5, 2, 50) -v = LinRange(0, 2 * pi, 50) -X1 = [u for u in u, v in v] -Y1 = [(u^2 + 1) * cos(v) for u in u, v in v] -Z1 = [(u^2 + 1) * sin(v) for u in u, v in v] - -fig, ax, pltobj = surface(X1, Y1, Z1; shading = FastShading, ambient = Vec3f(0.95, 0.95, 0.95), - backlight = 1.0f0, color = sqrt.(X1 .^ 2 .+ Y1 .^ 2 .+ Z1 .^ 2), - colormap = :Isfahan2, transparency = true, - figure = (; size = (1200, 800), fontsize = 22)) -wireframe!(X1, Y1, Z1; linewidth = 0.2, transparency = true) -Colorbar(fig[1, 2], pltobj, height = Relative(0.5)) -colsize!(fig.layout, 1, Aspect(1, 1.0)) -fig -``` - - -![](revolution_surface_s.png) - diff --git a/docs/docs_site/examples/3d/surfaces/revolution_surface_s.png b/docs/docs_site/examples/3d/surfaces/revolution_surface_s.png deleted file mode 100644 index f11ae740..00000000 Binary files a/docs/docs_site/examples/3d/surfaces/revolution_surface_s.png and /dev/null differ diff --git a/docs/docs_site/examples/3d/surfaces/surface.md b/docs/docs_site/examples/3d/surfaces/surface.md deleted file mode 100644 index e0339950..00000000 --- a/docs/docs_site/examples/3d/surfaces/surface.md +++ /dev/null @@ -1,33 +0,0 @@ - - - -```julia -using GLMakie -GLMakie.activate!() -GLMakie.closeall() # close any open screen - -x = y = LinRange(-2, 2, 51) -z = (-x .* exp.(-x .^ 2 .- (y') .^ 2)) .* 4 -zmin, zmax = minimum(z), maximum(z) -cmap = :viridis - -fig = Figure(size = (1200, 800), fontsize = 22) -ax = Axis3(fig[1, 1], aspect = :data, perspectiveness = 0.5, elevation = π / 9, - xzpanelcolor = (:black, 0.75), yzpanelcolor = (:black, 0.75), - zgridcolor = :grey, ygridcolor = :grey, xgridcolor = :grey) -sm = surface!(ax, x, y, z; colormap = cmap, colorrange = (zmin, zmax), - transparency = true) -xm, ym, zm = minimum(ax.finallimits[]) -contour!(ax, x, y, z; levels = 20, colormap = cmap, linewidth = 2, - colorrange = (zmin, zmax), transformation = (:xy, zmin), - transparency = true) -wireframe!(ax, x, y, z; overdraw = true, transparency = true, - color = (:black, 0.1)) -Colorbar(fig[1, 2], sm, height = Relative(0.5)) -colsize!(fig.layout, 1, Aspect(1, 1.0)) -fig -``` - - -![](surface.png) - diff --git a/docs/docs_site/examples/3d/surfaces/surface.png b/docs/docs_site/examples/3d/surfaces/surface.png deleted file mode 100644 index 9343284e..00000000 Binary files a/docs/docs_site/examples/3d/surfaces/surface.png and /dev/null differ diff --git a/docs/docs_site/examples/3d/surfaces/surface_filled_sides.md b/docs/docs_site/examples/3d/surfaces/surface_filled_sides.md deleted file mode 100644 index 62b8581b..00000000 --- a/docs/docs_site/examples/3d/surfaces/surface_filled_sides.md +++ /dev/null @@ -1,143 +0,0 @@ - - - -```julia -using GLMakie -GLMakie.activate!() -GLMakie.closeall() # close any open screen - -x = range(-3, 3, length=100) -y = range(-2, 2, length=100) -z = [sin(x + y^2) for x in x, y in y] -xpt = [x for x in x, y in y] -ypt = [y for x in x, y in y]; - -function boundary_values(a) - return [a[1,:]..., a[2:end,end]..., a[end,end-1:-1:1]...,a[end-1:-1:1,1]...] -end - -bxpt = boundary_values(xpt) -bypt = boundary_values(ypt) -bzpt = boundary_values(z) - -upper = Point3f.(bxpt, bypt, bzpt) -lower = Point3f.(bxpt, bypt, bzpt*0.0 .+ minimum(bzpt)) -lower_colors = bzpt*0.0 .+ minimum(bzpt); -``` - - - - -## Plotting sides - - -```julia -with_theme(theme_dark()) do - colormap = :linear_worb_100_25_c53_n256 - fig = Figure() - ax = Axis3(fig[1,1]; aspect =(1,1,0.5), - perspectiveness = 0.5f0, - azimuth = -1.275π * 1.77, - elevation = pi/4.5, protrusions=0) - - surface!(ax, xpt, ypt, z; - colormap=(colormap, 0.1), - shading = FastShading, - transparency=true, - ) - lines!(ax, upper; color = :white, linewidth=1.25, - transparency=true) - lines!(ax, lower; color = :gold, linewidth=1.25, - transparency=true) - band!(ax, lower, upper; color = bzpt, colormap) - fig -end -``` - - - - - -## Sides, colour gradient bottom to top - - -```julia -with_theme(theme_dark()) do - colormap = :linear_worb_100_25_c53_n256 - fig = Figure() - ax = Axis3(fig[1,1]; aspect =(1,1,0.5), - perspectiveness = 0.5f0, - azimuth = -1.275π * 1.77, - elevation = pi/4.5, protrusions=0) - - surface!(ax, xpt, ypt, z; - colormap=(colormap, 0.1), - shading = FastShading, - transparency=true, - ) - lines!(ax, upper; color = :white, linewidth=1.25, - transparency=true) - lines!(ax, lower; color = :gold, linewidth=1.25, - transparency=true) - band!(ax, lower, upper; color = [lower_colors..., bzpt...], colormap) - fig -end -``` - - - - - -## Different views and options - - -```julia -with_theme(theme_dark(), size = (1250,1200)) do - colormap = :linear_worb_100_25_c53_n256 - fig = Figure() - axs = [Axis3(fig[i,j]; aspect =(1,1,0.5), - perspectiveness = 0.5f0, - azimuth = -1.275π * 1.77, - elevation = pi/4.5, protrusions=0) - for i in 1:2 for j in 1:2 - ] - surface!(axs[1], xpt, ypt, z; - colormap, - shading = FastShading, - transparency=false, - ) - surface!(axs[2], xpt, ypt, z; - colormap, - shading = FastShading, - transparency=true) - lines!(axs[2], upper; color = :white, linewidth=1.25, - transparency=true) - lines!(axs[2], lower; color = :gold, linewidth=1.25, - transparency=true) - - surface!(axs[3], xpt, ypt, z; - colormap=(colormap, 0.1), - shading = FastShading, - transparency=true, - ) - lines!(axs[3], upper; color = :white, linewidth=1.25, - transparency=true) - lines!(axs[3], lower; color = :gold, linewidth=1.25, - transparency=true) - band!(axs[3], lower, upper; color = bzpt, colormap) - - surface!(axs[4], xpt, ypt, z; - colormap, - shading = FastShading, - transparency=false - ) - lines!(axs[4], upper; color = :white, linewidth=1.25, - transparency=true) - lines!(axs[4], lower; color = :gold, linewidth=1.25, - transparency=true) - band!(axs[4], lower, upper; color = bzpt, colormap) - fig -end -``` - - diff --git a/docs/docs_site/examples/3d/surfaces/tesseralSphericalH.md b/docs/docs_site/examples/3d/surfaces/tesseralSphericalH.md deleted file mode 100644 index eb93deb2..00000000 --- a/docs/docs_site/examples/3d/surfaces/tesseralSphericalH.md +++ /dev/null @@ -1,52 +0,0 @@ - - - -```julia -using GLMakie -using AssociatedLegendrePolynomials -GLMakie.activate!() -GLMakie.closeall() # close any open screen - -function Y(θ, ϕ, l, m) - if m < 0 - return (-1)^m * √2 * Nlm(l, abs(m)) * Plm(l, abs(m), cos(θ)) * sin(abs(m) * ϕ) - elseif m == 0 - return sqrt((2 * l + 1) / 4π) * Plm(l, m, cos(θ)) - else - return (-1)^m * √2 * Nlm(l, m) * Plm(l, m, cos(θ)) * cos(m * ϕ) - end -end -# Grids of polar and azimuthal angles -θ = LinRange(0, π, 200) -ϕ = LinRange(0, 2π, 200) -x = [sin(θ) * sin(ϕ) for θ in θ, ϕ in ϕ] -y = [sin(θ) * cos(ϕ) for θ in θ, ϕ in ϕ] -z = [cos(θ) for θ in θ, ϕ in ϕ] -l = 10 -m = 1 -Ygrid = [Y(θ, ϕ, l, m) for θ in θ, ϕ in ϕ] -Ylm = abs.(Ygrid) -cmap = [:dodgerblue, :white] - -with_theme(theme_dark()) do - fig = Figure(size = (1200, 800), fontsize = 22) - axs = [Axis3(fig[1, j], aspect = :data) for j in 1:2] - pltobj = surface!(axs[1], x, y, z; color = Ygrid, - colormap = cmap, - shading = NoShading) - surface!(axs[2], Ylm .* x, Ylm .* y, Ylm .* z; - color = Ygrid, - colormap = cmap, - shading = NoShading) - Colorbar(fig[1, 3], pltobj, label = "Yₗₘ(θ,ϕ)", tickwidth = 2, tickalign = 1, - width = 25, ticksize = 25, height = Relative(0.5)) - fig[0, 1:2] = Label(fig, "Tesseral Spherical Harmonics l = $(l), m = $(m)", - fontsize = 30, color = (:white, 0.85)) - hidedecorations!.(axs; grid = false) - fig -end -``` - - -![](tesseralSphericalH.png) - diff --git a/docs/docs_site/examples/3d/surfaces/tesseralSphericalH.png b/docs/docs_site/examples/3d/surfaces/tesseralSphericalH.png deleted file mode 100644 index 6eb1597b..00000000 Binary files a/docs/docs_site/examples/3d/surfaces/tesseralSphericalH.png and /dev/null differ diff --git a/docs/docs_site/examples/3d/surfaces/torus.md b/docs/docs_site/examples/3d/surfaces/torus.md deleted file mode 100644 index 960eccf6..00000000 --- a/docs/docs_site/examples/3d/surfaces/torus.md +++ /dev/null @@ -1,50 +0,0 @@ - - - -```julia -using GLMakie -GLMakie.activate!() -GLMakie.closeall() # close any open screen - -U = LinRange(-pi, pi, 100) -V = LinRange(-pi, pi, 20) -x1 = [cos(u) + 0.5 * cos(u) * cos(v) for u in U, v in V] -y1 = [sin(u) + 0.5 * sin(u) * cos(v) for u in U, v in V] -z1 = [0.5 * sin(v) for u in U, v in V] -x2 = [1 + cos(u) + 0.5 * cos(u) * cos(v) for u in U, v in V] -y2 = [0.5 * sin(v) for u in U, v in V] -z2 = [sin(u) + 0.5 * sin(u) * cos(v) for u in U, v in V] - -fig = Figure(size = (1200, 800)) -ax = LScene(fig, show_axis = true) -tori1 = surface!(ax, x1, y1, z1; colormap = :viridis, shading = NoShading, - transparency = true) -tori2 = surface!(ax, x2, y2, z2; colormap = :plasma, shading = NoShading, - transparency = false) -wireframe!(ax, x1, y1, z1; linewidth = 0.5, transparency = true) - -axis = ax.scene[OldAxis] -axis[:names, :axisnames] = ("x", "y", "z") -tstyle = axis[:names] # get the nested attributes and work directly with them - -tstyle[:fontsize] = 15 -tstyle[:textcolor] = (:red, :green, :black) -tstyle[:font] = "helvetica" -tstyle[:gap] = 10 -axis[:ticks][:textcolor] = :black -axis[:ticks][:fontsize] = 10 -cbar1 = Colorbar(fig, tori1, label = "z", width = 25, ticklabelsize = 20, - labelsize = 20, ticksize = 25, tickalign = 1, height = Relative(0.5)) -cbar2 = Colorbar(fig, tori2, label = "z", width = 25, flipaxis = false, - labelsize = 20, ticklabelsize = 20, ticksize = 25, tickalign = 1, - height = Relative(0.5)) -fig[1, 2] = ax -fig[1, 3] = cbar1 -fig[1, 1] = cbar2 -colgap!(fig.layout, 2) -fig -``` - - -![](torus.png) - diff --git a/docs/docs_site/examples/3d/surfaces/torus.png b/docs/docs_site/examples/3d/surfaces/torus.png deleted file mode 100644 index 0e9645ed..00000000 Binary files a/docs/docs_site/examples/3d/surfaces/torus.png and /dev/null differ diff --git a/docs/docs_site/examples/3d/volume/volume.md b/docs/docs_site/examples/3d/volume/volume.md deleted file mode 100644 index 397ae3f0..00000000 --- a/docs/docs_site/examples/3d/volume/volume.md +++ /dev/null @@ -1,29 +0,0 @@ - - - -```julia -using GLMakie, ColorSchemes -GLMakie.activate!() -GLMakie.closeall() # close any open screen - -x = y = z = 1:10 -f(x, y, z) = x^2 + y^2 + z^2 -vol = [f(ix, iy, iz) for ix in x, iy in y, iz in z] -fig, ax, _ = volume(x, y, z, vol; - colorrange = (minimum(vol), maximum(vol)), - colormap = :Egypt, transparency = true, - figure = (; size = (1200, 800)), - axis = (; - type = Axis3, - perspectiveness = 0.5, - azimuth = 2.19, - elevation = 0.57, - aspect = (1, 1, 1) - ) - ) -fig -``` - - -![](volume.png) - diff --git a/docs/docs_site/examples/3d/volume/volume.png b/docs/docs_site/examples/3d/volume/volume.png deleted file mode 100644 index 3b00e4ed..00000000 Binary files a/docs/docs_site/examples/3d/volume/volume.png and /dev/null differ diff --git a/docs/docs_site/examples/3d/volume/volume_contour_scatters.md b/docs/docs_site/examples/3d/volume/volume_contour_scatters.md deleted file mode 100644 index f7c48718..00000000 --- a/docs/docs_site/examples/3d/volume/volume_contour_scatters.md +++ /dev/null @@ -1,43 +0,0 @@ - - - -```julia -using GLMakie, ColorSchemes -using GeometryBasics: Rect3f -GLMakie.closeall() # close any open screen - -x = y = z = -1:0.2:1 -vol1 = [ix * iy * iz for ix in x, iy in y, iz in z] -points3d = [Point3f(ix, iy, iz) for ix in x, iy in y, iz in z]; -# scale everything to the interval 0,1 (things don't seem to work with colorrange) -vol2 = (vol1 .+ 1) ./ 2; -# colormap with transparency in the middle -cmap = :Hiroshige -n = 101 -g(x) = x^2 -alphas = [g(x) for x in range(-1, 1, length = n)] -cmap_alpha = resample_cmap(cmap, n; alpha = alphas) -# the plot -fig = Figure(size = (1200, 1200)) -ax1 = Axis3(fig[1, 1], perspectiveness = 0.5, azimuth = 7.19, - elevation = 0.57, aspect = (1, 1, 1)) -ax2 = Axis3(fig[1, 2], perspectiveness = 0.5, azimuth = 6.62, - elevation = 0.57, aspect = (1, 1, 1)) -ax3 = Axis3(fig[2, 1], perspectiveness = 0.5, azimuth = 7.38, - elevation = 0.57, aspect = (1, 1, 1)) -ax4 = Axis3(fig[2, 2], perspectiveness = 0.5, azimuth = 6.64, - elevation = 0.57, aspect = (1, 1, 1)) - -volume!(ax1, x, y, z, vol2; colormap = cmap, transparency = true) -contour!(ax2, x, y, z, vol1; colormap = cmap, alpha = 0.05, - levels = [collect(-1:0.01:-0.3)..., collect(0.3:0.01:1)...]) -meshscatter!(ax3, vec(points3d); color = vec(vol1), colormap = cmap_alpha) -meshscatter!(ax4, vec(points3d); color = vec(vol1), colormap = cmap_alpha, - marker = Rect3f(Vec3f(-1), Vec3f(2))) -limits!(ax4, -1.2, 1.2, -1.2, 1.2, -1.2, 1.2) -fig -``` - - -![](volume_contour_scatters.png) - diff --git a/docs/docs_site/examples/3d/volume/volume_contour_scatters.png b/docs/docs_site/examples/3d/volume/volume_contour_scatters.png deleted file mode 100644 index 5a4252f2..00000000 Binary files a/docs/docs_site/examples/3d/volume/volume_contour_scatters.png and /dev/null differ diff --git a/docs/docs_site/examples/animations/animScatters.mp4 b/docs/docs_site/examples/animations/animScatters.mp4 deleted file mode 100644 index 4671ce3e..00000000 Binary files a/docs/docs_site/examples/animations/animScatters.mp4 and /dev/null differ diff --git a/docs/docs_site/examples/animations/scatter_size.md b/docs/docs_site/examples/animations/scatter_size.md deleted file mode 100644 index 32f04469..00000000 --- a/docs/docs_site/examples/animations/scatter_size.md +++ /dev/null @@ -1,34 +0,0 @@ - - - -```julia -using GLMakie, Random -GLMakie.activate!() - -Random.seed!(123) -npts = 100 -initms = 8 * rand(npts) -with_theme(theme_dark()) do - msize = Observable(initms) # this is the variable that will change - # first frame, initial plot - fig, ax = scatter(2 * rand(npts), rand(npts), markersize = msize, - color = initms, colormap = (:Greek, 0.75), strokewidth = 0.5, - strokecolor = :white, - figure = (size = (1200, 800), fontsize = 22), - axis = (xlabel = "x", ylabel = "y",)) - limits!(ax, 0, 2, 0, 1) - # the animation is done by updating the Observable values - # change assets->(your folder) to make it work in your local env - record(fig, "animScatters.mp4", - framerate = 24, profile = "main") do io - for i in 1:0.1:8 - msize[] = i * initms - recordframe!(io) # record a new frame - end - end -end -``` - - -![type:video](animScatters.mp4) - diff --git a/docs/docs_site/examples/dashboards/colorschemes.md b/docs/docs_site/examples/dashboards/colorschemes.md deleted file mode 100644 index b70439b3..00000000 --- a/docs/docs_site/examples/dashboards/colorschemes.md +++ /dev/null @@ -1,38 +0,0 @@ - - - -```julia -using GLMakie, ColorSchemes, Random -GLMakie.activate!() -GLMakie.closeall() # close any open screen - -function plotVolColormaps(; rseed = 123) - Random.seed!(rseed) - # all colormaps from colorschemes - cs = collect(keys(colorschemes)) - cmapIdx = Observable(1) - cmap = @lift(cs[$cmapIdx]) - # the actual figure - x = y = z = -1.7:0.05:1.7 - r(i, j, k) = sqrt(i^2 + j^2 + k^2) - A = [rand() / r(i, j, k)^2 for i in x, j in y, k in z] - - fig = Figure(size = (1200, 800)) - ax = Axis3(fig[1, 1]; - aspect = (1, 1, 1), - perspectiveness = 0.5, - elevation = π / 9 - ) - volume!(ax, x, y, z, A; colormap = cmap, transparency = true, colorrange = (0,5)) - fig[0, 1] = GLMakie.Label(fig, @lift("Colormap: $(cs[$cmapIdx])"), fontsize = 20, - tellheight = true, tellwidth = false) - sl = Slider(fig[1, 2], range = 1:length(cs), startvalue = 380, horizontal = false) - connect!(cmapIdx, sl.value) - fig -end -fig = with_theme(plotVolColormaps, theme_dark()) -``` - - -![](colorschemes.png) - diff --git a/docs/docs_site/examples/dashboards/colorschemes.png b/docs/docs_site/examples/dashboards/colorschemes.png deleted file mode 100644 index 69cd5e76..00000000 Binary files a/docs/docs_site/examples/dashboards/colorschemes.png and /dev/null differ diff --git a/docs/docs_site/examples/dashboards/matcap.md b/docs/docs_site/examples/dashboards/matcap.md deleted file mode 100644 index 1d9766ef..00000000 --- a/docs/docs_site/examples/dashboards/matcap.md +++ /dev/null @@ -1,66 +0,0 @@ - - - -```julia -using GLMakie -using FileIO, Downloads, JSON -using Makie.GeometryBasics: Pyramid -using GeometryBasics -using Colors, LinearAlgebra -GLMakie.activate!() -GLMakie.closeall() # close any open screen - -pyr = Pyramid(Point3f(0), 1.0f0, 1.0f0) -rectmesh = Rect3(Point3f(-0.5), Vec3f(1)) -sphere = Sphere(Point3f(-0.5), 1) -Cone(; quality=10) = merge([ - Makie._circle(Point3f(0), 0.5f0, Vec3f(0, 0, -1), quality), - Makie._mantle(Point3f(0), Point3f(0, 0, 1), 0.5f0, 0.0f0, quality)]) -cone = Cone() - -brain = load(assetpath("brain.stl")) -matball = load(assetpath("matball_base.obj")) -matball_inner = load(assetpath("matball_inner.obj")) -matball_outer = load(assetpath("matball_outer.obj")) -# download more ids from here: -# https://raw.githubusercontent.com/MakieOrg/BeautifulMakie/main/data/ -#ids = JSON.parsefile("matcapIds.json") - -ids = ["F79686_FCCBD4_E76644_E76B56", - "F9E6C7_FCF7DF_EDD3AA_F1D4B4", - "FBB43F_FBE993_FB552E_FCDD65", - "FBB82D_FBEDBF_FBDE7D_FB7E05"] -function plotmat() - idx = Observable(1) - idpng = @lift(ids[$idx]) - matcap = @lift(load(Downloads.download("https://raw.githubusercontent.com/nidorx/matcaps/master/1024/$($idpng).png"))) - ambient = Vec3f(0.8, 0.8, 0.8) - shading = FastShading - fig = Figure(size=(1200, 900)) - axs = [LScene(fig[i, j]; show_axis=false) - for j in 1:3, i in 1:2] - mesh!(axs[5], sphere; matcap, shading, ambient) - mesh!(axs[3], rectmesh; matcap, shading, ambient, transparency=true) - mesh!(axs[4], pyr; matcap, shading, ambient) - mesh!(axs[2], matball; matcap, shading, ambient) - mesh!(axs[2], matball_inner; matcap, shading, ambient) - mesh!(axs[2], matball_outer; matcap, shading, ambient) - mesh!(axs[6], cone; matcap, shading, ambient) - mesh!(axs[1], brain; matcap, shading, ambient) - GLMakie.rotate!(axs[2].scene, 2.35) - center!(axs[2].scene) - zoom!(axs[2].scene, cameracontrols(axs[2].scene), 0.75) - zoom!(axs[3].scene, cameracontrols(axs[3].scene), 1.2) - zoom!(axs[4].scene, cameracontrols(axs[4].scene), 1.2) - sl = Slider(fig[1:2, 4], range=1:length(ids), startvalue=2, horizontal=false) - connect!(idx, sl.value) - fig[0, 1:3] = GLMakie.Label(fig, @lift("idnum [$(1*$idx)] png material : $(ids[$idx])"), fontsize=20, - tellheight=true, tellwidth=false) - fig -end -fig = with_theme(plotmat, theme_dark()) -``` - - -![](matcap.png) - diff --git a/docs/docs_site/examples/dashboards/matcap.png b/docs/docs_site/examples/dashboards/matcap.png deleted file mode 100644 index d8ea4ee1..00000000 Binary files a/docs/docs_site/examples/dashboards/matcap.png and /dev/null differ diff --git a/docs/docs_site/examples/dashboards/tesseral_spherical_harmonics.md b/docs/docs_site/examples/dashboards/tesseral_spherical_harmonics.md deleted file mode 100644 index 90cf5354..00000000 --- a/docs/docs_site/examples/dashboards/tesseral_spherical_harmonics.md +++ /dev/null @@ -1,68 +0,0 @@ - - - -```julia -using GLMakie, ColorSchemes -using AssociatedLegendrePolynomials -GLMakie.activate!() -GLMakie.closeall() # close any open screen - -function Y(θ, ϕ, l, m) - if m < 0 - return (-1)^m * √2 * Nlm(l, abs(m)) * Plm(l, abs(m), cos(θ)) * sin(abs(m) * ϕ) - elseif m == 0 - return sqrt((2 * l + 1) / 4π) * Plm(l, m, cos(θ)) - else - return (-1)^m * √2 * Nlm(l, m) * Plm(l, m, cos(θ)) * cos(m * ϕ) - end -end -# Grids of polar and azimuthal angles -θ = LinRange(0, π, 200) -ϕ = LinRange(0, 2π, 200) -x = [sin(θ) * sin(ϕ) for θ in θ, ϕ in ϕ] -y = [sin(θ) * cos(ϕ) for θ in θ, ϕ in ϕ] -z = [cos(θ) for θ in θ, ϕ in ϕ] -l = Observable(4) -m = Observable(1) -cmap = "Hiroshige" - -with_theme(theme_dark()) do - fig = Figure(size = (1200, 800)) - menu = Menu(fig, options = ["Hiroshige", "Spectral_11", "diverging_bkr_55_10_c35_n256", - "diverging_cwm_80_100_c22_n256", ":diverging_gkr_60_10_c40_n256", - "diverging_linear_bjr_30_55_c53_n256", - "diverging_protanopic_deuteranopic_bwy_60_95_c32_n256"]) - Ygrid = lift(l, m) do l, m - [Y(θ, ϕ, l, m) for θ in θ, ϕ in ϕ] - end - Ylm = @lift(abs.($Ygrid)) - Ygrid2 = @lift(vec($Ygrid)) - - ax1 = Axis3(fig[1, 1], aspect = :data, perspectiveness = 0.5, elevation = π / 8, azimuth = 2.225π) - ax2 = Axis3(fig[1, 2], aspect = :data, perspectiveness = 0.5, elevation = π / 8, azimuth = 2.225π) - pltobj1 = surface!(ax1, x, y, z; color = Ygrid, colormap = cmap, shading = NoShading) - pltobj2 = surface!(ax2, @lift($Ylm .* x), @lift($Ylm .* y), @lift($Ylm .* z), color = Ygrid, - colormap = cmap, shading = NoShading) - limits!(ax2, -0.5, 0.5, -0.5, 0.5, -1, 1) - # cbar = Colorbar(fig[1, 3], pltobj1, label = "Yₗₘ(θ,ϕ)", width = 11, tickalign = 1, tickwidth = 1) - fig[0, 1:2] = GLMakie.Label(fig, @lift("Tesseral Spherical Harmonics l = $($l), m = $($m)"), fontsize = 20) - fig[1, 0] = vgrid!( - GLMakie.Label(fig, "Colormap", width = nothing), - menu; tellheight = false, width = 150) - on(menu.selection) do s - pltobj1.colormap = s - pltobj2.colormap = s - end - sl = Slider(fig[end+1, 1:2], range = 1:30, startvalue = 2) - sl2 = Slider(fig[end+1, 1:2], range = @lift(-$(sl.value):1:$(sl.value))) - connect!(l, sl.value) - connect!(m, sl2.value) - # tight_ticklabel_spacing!(cbar) - # display(fig) - fig -end -``` - - -![](tesseral_spherical_harmonics.png) - diff --git a/docs/docs_site/examples/dashboards/tesseral_spherical_harmonics.png b/docs/docs_site/examples/dashboards/tesseral_spherical_harmonics.png deleted file mode 100644 index f1fba7e0..00000000 Binary files a/docs/docs_site/examples/dashboards/tesseral_spherical_harmonics.png and /dev/null differ diff --git a/docs/docs_site/examples/themes/black_epicycloid.md b/docs/docs_site/examples/themes/black_epicycloid.md deleted file mode 100644 index f88c58c5..00000000 --- a/docs/docs_site/examples/themes/black_epicycloid.md +++ /dev/null @@ -1,29 +0,0 @@ - - - -```julia -using CairoMakie - -function EpicycloidLines() - ecycl_x(r, k, θ) = r * (k .+ 1) .* cos.(θ) .- r * cos.((k .+ 1) .* θ) - ecycl_y(r, k, θ) = r * (k .+ 1) .* sin.(θ) .- r * sin.((k .+ 1) .* θ) - θ = LinRange(0, 6.2π, 1000) - tronLegacy = ["#FF410DFF", "#6EE2FFFF", "#F7C530FF", "#95CC5EFF", - "#D0DFE6FF", "#F79D1EFF", "#748AA6FF"] - - fig = Figure(size = (600, 400), fonts = (; regular="sans")) - ax = Axis(fig[1, 1], aspect = 1, title = "Epicycloid", - xlabel = "x(θ) = r(k+1)cos(θ) -rcos((k+1)θ)", - ylabel = "y(θ) = r(k+1)cos(θ) -rcos((k+1)θ)") - [lines!(ecycl_x(2k, k, θ), ecycl_y(2k, k, θ), linewidth = 1.5, label = "$(k)", - color = tronLegacy[indx]) for (indx, k) in enumerate(2:0.5:5)] - Legend(fig[1, 2], ax, "k , r = 2k") - colsize!(fig.layout, 1, Aspect(1, 1.0)) - fig -end -fig = with_theme(EpicycloidLines, theme_black()) -``` - - -![](black_epicycloid.svg) - diff --git a/docs/docs_site/examples/themes/black_epicycloid.svg b/docs/docs_site/examples/themes/black_epicycloid.svg deleted file mode 100644 index 25f79ece..00000000 --- a/docs/docs_site/examples/themes/black_epicycloid.svg +++ /dev/null @@ -1,794 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/themes/dark_surface_contour3d_streamplot.md b/docs/docs_site/examples/themes/dark_surface_contour3d_streamplot.md deleted file mode 100644 index c5a4263c..00000000 --- a/docs/docs_site/examples/themes/dark_surface_contour3d_streamplot.md +++ /dev/null @@ -1,41 +0,0 @@ - - - -```julia -# example modified from mthelm85 -using GLMakie, ForwardDiff -GLMakie.activate!() -f(x, y) = -5 * x * y * exp(-x^2 - y^2) -x = y = -1:0.05:1.0 -z = [f(i, j) for i in x, j in y]; -# This is the same function as above, just modified so that it will -# work with ForwardDiff -g(x, y) = [-5 * x * y * exp(-x^2 - y^2)] -J(xx, yy) = ForwardDiff.jacobian(x -> g(x[1], x[2]), [xx, yy]) -field(i, j) = Point2f(J(i, j)[1], J(i, j)[2]) - -zmin, zmax = minimum(z), maximum(z) -cmap = :viridis -function plot() - fig = Figure(size = (1200, 800)) - ax1 = Axis3(fig[1, 1], aspect = (1, 1, 1), perspectiveness = 0.5, - elevation = π / 3.5, azimuth = 0.1π,) - ax2 = Axis(fig[1, 2], aspect = DataAspect(), xlabel = "x", ylabel = "y") - surface!(ax1, x, y, z; colormap = cmap, colorrange = (zmin, zmax), - transparency = true) - contour3d!(ax1, x, y, z .+ 0.005; levels = 15, linewidth = 2, color = :white, - transparency = true) - wireframe!(ax1, x, y, z; color = (:black, 0.1), - transparency = true) - streamplot!(ax1, field, -1 .. 1, -1 .. 1; colormap = cmap, gridsize = (40, 40), - arrow_size = 15, linewidth = 1, transformation = (:xy, -zmax)) - streamplot!(ax2, field, -1 .. 1, -1 .. 1; colormap = cmap, gridsize = (40, 40), - arrow_size = 15, linewidth = 1) - fig -end -fig = with_theme(plot, theme_dark()) -``` - - -![](dark_surface_contour3d_streamplot.png) - diff --git a/docs/docs_site/examples/themes/dark_surface_contour3d_streamplot.png b/docs/docs_site/examples/themes/dark_surface_contour3d_streamplot.png deleted file mode 100644 index 39d13f19..00000000 Binary files a/docs/docs_site/examples/themes/dark_surface_contour3d_streamplot.png and /dev/null differ diff --git a/docs/docs_site/examples/themes/ggplot2_stem.md b/docs/docs_site/examples/themes/ggplot2_stem.md deleted file mode 100644 index 2ee8e3b5..00000000 --- a/docs/docs_site/examples/themes/ggplot2_stem.md +++ /dev/null @@ -1,29 +0,0 @@ - - - -```julia -using CairoMakie, Random -Random.seed!(2) -t = 0.3:0.3:3π -my_markers = [:circle, :rect, :utriangle, :dtriangle, :diamond, :pentagon, - :cross, :xcross] -with_theme(theme_ggplot2()) do - fig, ax, = stem(t, 1.5exp.(-t/5).*cos.(t); color = 1:length(t), - colormap = :linear_wyor_100_45_c55_n256, stemcolor = 1:length(t), - stemcolormap = :linear_wcmr_100_45_c42_n256, - figure = (; size = (600,400))) - stem!(t .+ 0.15, -cos.(t) ./ t .+ 0.25; color = :transparent, - stemwidth = 0.5, marker = :rect, markersize = 10, strokewidth = 1, - strokecolor = :black) - stem!(1:8, 1.5randn(8); marker = my_markers, - color = tuple.(resample_cmap(:mk_12, 8), 0.65), stemlinestyle = :dash, - stemcolor = resample_cmap(:mk_12, 8), markersize = 15*rand(8) .+ 10, - strokewidth = 1.5, strokecolor = resample_cmap(:mk_12, 8)) - hidedecorations!(ax; grid = false) - fig -end -``` - - -![](ggplot2_stem.svg) - diff --git a/docs/docs_site/examples/themes/ggplot2_stem.svg b/docs/docs_site/examples/themes/ggplot2_stem.svg deleted file mode 100644 index b3148739..00000000 --- a/docs/docs_site/examples/themes/ggplot2_stem.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/themes/light_ngon.md b/docs/docs_site/examples/themes/light_ngon.md deleted file mode 100644 index 9eab7076..00000000 --- a/docs/docs_site/examples/themes/light_ngon.md +++ /dev/null @@ -1,28 +0,0 @@ - - - -```julia -using CairoMakie, GeometryBasics - -n = 20 -function ngonShape(h, k, r, n) - Polygon([Point2f(h .+ r * sin.(m * 2π / n), k .+ r * cos.(m * 2π / n)) for m in 1:n]) -end -polysCentric = [ngonShape(0, 0, 3 / i^1.5, i) for i in 3:n] -polysCircular = [ngonShape(√2 / 2 * sin(θ), √2 / 2 * cos(θ), 0.15 / √idx, idx + 2) - for (idx, θ) in enumerate(LinRange(0, 2π * (1 - 1 / (n - 2)), n - 2))] -cmap = cgrad(:Homer1, n) - -with_theme(theme_light()) do - fig, ax, = poly(polysCentric; color = 1:n-2, colormap = cmap, - axis = (; aspect = DataAspect()), figure = (; size = (600, 400))) - poly!(polysCircular; color = 1:n-2, colormap = cmap) - hidedecorations!(ax; grid = false) - hidespines!(ax) - fig -end -``` - - -![](light_ngon.svg) - diff --git a/docs/docs_site/examples/themes/light_ngon.svg b/docs/docs_site/examples/themes/light_ngon.svg deleted file mode 100644 index dac8d560..00000000 --- a/docs/docs_site/examples/themes/light_ngon.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/docs_site/examples/themes/minimal_series.md b/docs/docs_site/examples/themes/minimal_series.md deleted file mode 100644 index 15df955d..00000000 --- a/docs/docs_site/examples/themes/minimal_series.md +++ /dev/null @@ -1,29 +0,0 @@ - - - -```julia -using CairoMakie, Random, LaTeXStrings - -Random.seed!(123) -m = 200 -function spiral(; a = 1, n = 100, h = 0, k = 0) - φ = LinRange(rand() + 1, 6π, n) - h .+ rand(-1:2:1) * a * cos.(φ) ./ φ, k .+ rand(-1:2:1) * a * sin.(φ) ./ φ -end -x = raw"x=a\,\cos(\varphi)/\varphi,\quad " -y = raw"y=a\,\sin(\varphi)/\varphi,\quad " -curves = [spiral(; a = rand(), h = rand(-1:1)) for i in 1:m] - -with_theme(theme_minimal()) do - fig = Figure(size = (600, 400)) - ax = Axis(fig[1, 1]) - series!(curves; color = categorical_colors(:inferno, m), linewidth = 1.5) - text!(latexstring(x * y * "\\varphi>0"), position = (-1, -1)) - hidedecorations!(ax; grid = false) - fig -end -``` - - -![](minimal_series.png) - diff --git a/docs/docs_site/examples/themes/minimal_series.png b/docs/docs_site/examples/themes/minimal_series.png deleted file mode 100644 index 5a5f37a2..00000000 Binary files a/docs/docs_site/examples/themes/minimal_series.png and /dev/null differ diff --git a/docs/docs_site/index.md b/docs/docs_site/index.md deleted file mode 100644 index 7963ac06..00000000 --- a/docs/docs_site/index.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -# https://vitepress.dev/reference/default-theme-home-page -layout: home -hero: - name: "Beautiful Makie" - tagline: Example plots - image: - src: /test_alpha_s.png - alt: gfield - actions: - - theme: brand - text: Sponsor - link: https://github.com/sponsors/lazarusA?o=esb - - theme: alt - text: View on Github - link: https://github.com/MakieOrg/BeautifulMakie - - theme: alt - text: Official Documentation - link: https://docs.makie.org/stable/ -features: - - title: What is Makie? - details: Makie is an interactive data visualization and plotting ecosystem for the Julia programming language, available on Windows, Linux and Mac. You can use Makie to interactively explore your data and create simple GUIs in native windows or web browsers, export high-quality vector graphics or even raytrace with physically accurate lightning. - - title: Inspiration - details: The name Makie (we pronounce it Mah-kee) is derived from the japanese word 蒔絵, which is a technique to sprinkle lacquer with gold and silver powder. Data is the gold and silver of our age, so let's spread it out beautifully on the screen!
- Simon Danisch - ---- - - - diff --git a/docs/docs_site/pkgs_versions.md b/docs/docs_site/pkgs_versions.md deleted file mode 100644 index 6b8eebef..00000000 --- a/docs/docs_site/pkgs_versions.md +++ /dev/null @@ -1,59 +0,0 @@ - - - -## Packages versions - - -The examples here were autogenerated using: - - -```julia -using Pkg -Pkg.status() -``` - - -``` -Status `~/Desktop/tmp/BeautifulMakie/docs/Project.toml` - [cbdf2221] AlgebraOfGraphics v0.6.17 - [2119f1ac] AssociatedLegendrePolynomials v1.0.1 - [336ed68f] CSV v0.10.12 - [13f3f980] CairoMakie v0.11.4 - [54eefc05] Cascadia v1.0.2 - [35d6a980] ColorSchemes v3.24.0 - [5ae59095] Colors v0.12.10 - [a93c6f00] DataFrames v1.6.1 - [1313f7d8] DataFramesMeta v0.14.1 - [31c24e10] Distributions v0.25.104 -⌃ [e30172f5] Documenter v0.27.25 - [4710194d] DocumenterVitepress v0.1.0 `https://github.com/LuxDL/DocumenterVitepress.jl.git#master` - [5789e2e9] FileIO v1.16.1 - [f6369f11] ForwardDiff v0.10.36 - [38e38edf] GLM v1.9.0 - [e9467ef8] GLMakie v0.9.4 - [5c1252a2] GeometryBasics v0.4.9 - [bc5e4493] GitHub v5.9.0 - [708ec375] Gumbo v0.8.2 - [cd3eb016] HTTP v1.10.1 - [6218d12a] ImageMagick v1.3.0 - [916415d5] Images v0.26.0 -⌅ [a98d9a8b] Interpolations v0.14.7 - [682c06a0] JSON v0.21.4 - [b964fa9f] LaTeXStrings v1.3.1 - [50d2b5c4] Lazy v0.15.1 - [98b081ad] Literate v2.16.0 - [ee78f7c6] Makie v0.20.3 - [945b72a4] MarketData v0.14.0 - [a15396b6] OnlineStats v1.6.3 - [8b842266] PalmerPenguins v0.1.4 - [ce6b1742] RDatasets v0.7.7 - [276daf66] SpecialFunctions v2.3.1 - [2913bbd2] StatsBase v0.34.2 - [fd094767] Suppressor v0.2.6 - [5e47fb64] TestImages v1.8.0 - [9e3dc215] TimeSeries v0.24.1 - [44cfe95a] Pkg v1.10.0 - [9a3f8284] Random -Info Packages marked with ⌃ and ⌅ have new versions available. Those with ⌃ may be upgradable, but those with ⌅ are restricted by compatibility constraints from upgrading. To see why use `status --outdated` -``` - diff --git a/docs/docs_site/public/extinction_event.png b/docs/docs_site/public/extinction_event.png deleted file mode 100644 index 88c28844..00000000 Binary files a/docs/docs_site/public/extinction_event.png and /dev/null differ diff --git a/docs/docs_site/public/icon_makie.png b/docs/docs_site/public/icon_makie.png deleted file mode 100644 index 50d46d4d..00000000 Binary files a/docs/docs_site/public/icon_makie.png and /dev/null differ diff --git a/docs/docs_site/public/makie.svg b/docs/docs_site/public/makie.svg deleted file mode 100644 index 85034590..00000000 --- a/docs/docs_site/public/makie.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/docs_site/public/makie_contributors.png b/docs/docs_site/public/makie_contributors.png deleted file mode 100644 index 39e073a4..00000000 Binary files a/docs/docs_site/public/makie_contributors.png and /dev/null differ diff --git a/docs/docs_site/public/test_alpha.png b/docs/docs_site/public/test_alpha.png deleted file mode 100644 index dcaddc91..00000000 Binary files a/docs/docs_site/public/test_alpha.png and /dev/null differ diff --git a/docs/docs_site/public/test_alpha_s.png b/docs/docs_site/public/test_alpha_s.png deleted file mode 100644 index b184195f..00000000 Binary files a/docs/docs_site/public/test_alpha_s.png and /dev/null differ