Compare commits
9
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5a1fe30567 | ||
|
|
db685b6ee0 | ||
|
|
fcb9078838 | ||
|
|
3310025602 | ||
|
|
122a470078 | ||
|
|
bb0b6e5d33 | ||
|
|
7185e36795 | ||
|
|
d111c2ba91 | ||
|
|
5dff00e2a3 |
@@ -1,32 +0,0 @@
|
|||||||
---
|
|
||||||
name: Bug report
|
|
||||||
about: Create a bug report
|
|
||||||
title: "[BUG]"
|
|
||||||
labels: bug
|
|
||||||
assignees: ''
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
<!-- Please search existing issues to avoid duplicates. -->
|
|
||||||
|
|
||||||
## Details
|
|
||||||
|
|
||||||
|
|
||||||
### Backends
|
|
||||||
|
|
||||||
This bug occurs on ( insert `x` below )
|
|
||||||
|
|
||||||
Backend | yes | no | untested
|
|
||||||
-------------|-----|-----|---------
|
|
||||||
gr (default) | | |
|
|
||||||
pyplot | | |
|
|
||||||
plotly | | |
|
|
||||||
plotlyjs | | |
|
|
||||||
pgfplotsx | | |
|
|
||||||
inspectdr | | |
|
|
||||||
|
|
||||||
### Versions
|
|
||||||
|
|
||||||
Plots.jl version:
|
|
||||||
Backend version (`]st -m`):
|
|
||||||
Output of `versioninfo()`:
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
---
|
|
||||||
name: Feature request
|
|
||||||
about: Suggest a feature or enhancement
|
|
||||||
title: "[FR]"
|
|
||||||
labels: feature request
|
|
||||||
assignees: ''
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
Please search existing issues to avoid duplicates.
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
name: CompatHelper
|
|
||||||
|
|
||||||
on:
|
|
||||||
schedule:
|
|
||||||
- cron: '00 00 * * *'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
CompatHelper:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Pkg.add("CompatHelper")
|
|
||||||
run: julia -e 'using Pkg; Pkg.add("CompatHelper")'
|
|
||||||
- name: CompatHelper.main()
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
COMPATHELPER_PRIV: ${{ secrets.COMPATHELPER_PRIV }} # optional
|
|
||||||
run: julia -e 'using CompatHelper; CompatHelper.main()'
|
|
||||||
@@ -1,97 +0,0 @@
|
|||||||
name: SnoopCompile
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
# - 'master' # NOTE: to run the bot only on pushes to master
|
|
||||||
|
|
||||||
defaults:
|
|
||||||
run:
|
|
||||||
shell: bash
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
SnoopCompile:
|
|
||||||
if: "!contains(github.event.head_commit.message, '[skip ci]')"
|
|
||||||
env:
|
|
||||||
GKS_ENCODING: "utf8"
|
|
||||||
GKSwstype: "100"
|
|
||||||
PLOTS_TEST: "true"
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
version: # NOTE: the versions below should match those in your botconfig
|
|
||||||
- '1.3'
|
|
||||||
- '1.4'
|
|
||||||
- '1.5.0-rc1'
|
|
||||||
- 'nightly'
|
|
||||||
os: # NOTE: should match the os setting of your botconfig
|
|
||||||
- ubuntu-latest
|
|
||||||
- windows-latest
|
|
||||||
- macos-latest
|
|
||||||
arch:
|
|
||||||
- x64
|
|
||||||
steps:
|
|
||||||
# Setup environment
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- uses: julia-actions/setup-julia@latest
|
|
||||||
with:
|
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
|
||||||
julia --project -e 'using Pkg; Pkg.instantiate();'
|
|
||||||
julia -e 'using Pkg; Pkg.add(PackageSpec(url = "https://github.com/timholy/SnoopCompile.jl")); Pkg.develop(PackageSpec(; path=pwd())); using SnoopCompile; SnoopCompile.addtestdep();'
|
|
||||||
# TESTCMD
|
|
||||||
- name: Default TESTCMD
|
|
||||||
run: echo ::set-env name=TESTCMD::"julia"
|
|
||||||
- name: Ubuntu TESTCMD
|
|
||||||
if: startsWith(matrix.os,'ubuntu')
|
|
||||||
run: echo ::set-env name=TESTCMD::"xvfb-run julia"
|
|
||||||
# Generate precompile files
|
|
||||||
- name: Generating precompile files
|
|
||||||
run: $TESTCMD --project -e 'include("deps/SnoopCompile/snoop_bot.jl")' # NOTE: must match path
|
|
||||||
# Run benchmarks
|
|
||||||
- name: Running Benchmark
|
|
||||||
run: $TESTCMD --project -e 'include("deps/SnoopCompile/snoop_bench.jl")' # NOTE: optional, if have benchmark file
|
|
||||||
- name: Upload all
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
path: ./
|
|
||||||
|
|
||||||
Create_PR:
|
|
||||||
if: "!contains(github.event.head_commit.message, '[skip ci]')"
|
|
||||||
needs: SnoopCompile
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- name: Download all
|
|
||||||
uses: actions/download-artifact@v2
|
|
||||||
- name: Move the content of the directory to the root
|
|
||||||
run: |
|
|
||||||
rsync -a artifact/* ./
|
|
||||||
rm -d -r artifact
|
|
||||||
- name: Discard unrelated changes
|
|
||||||
run: |
|
|
||||||
test -f 'Project.toml' && git checkout -- 'Project.toml'
|
|
||||||
git ls-files 'Manifest.toml' | grep . && git checkout -- 'Manifest.toml'
|
|
||||||
(git diff -w --no-color || git apply --cached --ignore-whitespace && git checkout -- . && git reset && git add -p) || echo done
|
|
||||||
- name: Format precompile_includer.jl
|
|
||||||
run: julia -e 'using Pkg; Pkg.add("JuliaFormatter"); using JuliaFormatter; format_file("src/precompile_includer.jl")'
|
|
||||||
- name: Create Pull Request
|
|
||||||
# https://github.com/marketplace/actions/create-pull-request
|
|
||||||
uses: peter-evans/create-pull-request@v2
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
commit-message: Update precompile_*.jl file
|
|
||||||
# committer: Daniel Schwabender <daschw@disroot.org> # NOTE: change `committer` to your name and your email.
|
|
||||||
title: "[AUTO] Update precompiles"
|
|
||||||
labels: SnoopCompile
|
|
||||||
branch: "SnoopCompile_AutoPR"
|
|
||||||
|
|
||||||
|
|
||||||
Skip:
|
|
||||||
if: "contains(github.event.head_commit.message, '[skip ci]')"
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Skip CI 🚫
|
|
||||||
run: echo skip ci
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
name: TagBot
|
|
||||||
on:
|
|
||||||
schedule:
|
|
||||||
- cron: 0 * * * *
|
|
||||||
jobs:
|
|
||||||
TagBot:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: JuliaRegistries/TagBot@v1
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
@@ -1,86 +0,0 @@
|
|||||||
name: ci
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
pull_request:
|
|
||||||
|
|
||||||
defaults:
|
|
||||||
run:
|
|
||||||
shell: bash
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
CI:
|
|
||||||
if: "!contains(github.event.head_commit.message, '[skip ci]')"
|
|
||||||
env:
|
|
||||||
GKS_ENCODING: "utf8"
|
|
||||||
|
|
||||||
name: Julia ${{ matrix.version }} - ${{ matrix.os }}
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
continue-on-error: ${{ matrix.version == 'nightly' }}
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
version:
|
|
||||||
- '1.3'
|
|
||||||
- '1'
|
|
||||||
- 'nightly'
|
|
||||||
os:
|
|
||||||
- ubuntu-latest
|
|
||||||
- windows-latest
|
|
||||||
- macos-latest
|
|
||||||
arch:
|
|
||||||
- x64
|
|
||||||
# - x86
|
|
||||||
|
|
||||||
steps:
|
|
||||||
|
|
||||||
# Setup environment
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- uses: julia-actions/setup-julia@latest
|
|
||||||
with:
|
|
||||||
version: ${{ matrix.version }}
|
|
||||||
- name: Cache artifacts
|
|
||||||
uses: actions/cache@v1
|
|
||||||
env:
|
|
||||||
cache-name: cache-artifacts
|
|
||||||
with:
|
|
||||||
path: ~/.julia/artifacts
|
|
||||||
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-test-${{ env.cache-name }}-
|
|
||||||
${{ runner.os }}-test-
|
|
||||||
${{ runner.os }}-
|
|
||||||
|
|
||||||
## maybe required if we ever want to run graphical tests for plotly
|
|
||||||
# OS Dependencies
|
|
||||||
# - name: Ubuntu OS dependencies
|
|
||||||
# if: startsWith(matrix.os,'ubuntu')
|
|
||||||
# run: |
|
|
||||||
# ./test/install_wkhtmltoimage.sh
|
|
||||||
|
|
||||||
# TESTCMD
|
|
||||||
- name: Default TESTCMD
|
|
||||||
run: echo ::set-env name=TESTCMD::"julia"
|
|
||||||
- name: Ubuntu TESTCMD
|
|
||||||
if: startsWith(matrix.os,'ubuntu')
|
|
||||||
run: echo ::set-env name=TESTCMD::"xvfb-run julia"
|
|
||||||
|
|
||||||
# Julia Dependencies
|
|
||||||
- name: Install Julia dependencies
|
|
||||||
uses: julia-actions/julia-buildpkg@latest
|
|
||||||
|
|
||||||
# Run tests
|
|
||||||
- name: Run Graphical test
|
|
||||||
run: $TESTCMD --project -e 'using Pkg; Pkg.test(coverage=true);'
|
|
||||||
|
|
||||||
- name: Codecov
|
|
||||||
uses: julia-actions/julia-uploadcodecov@latest
|
|
||||||
env:
|
|
||||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
|
||||||
|
|
||||||
Skip:
|
|
||||||
if: "contains(github.event.head_commit.message, '[skip ci]')"
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Skip CI 🚫
|
|
||||||
run: echo skip ci
|
|
||||||
+1
-3
@@ -4,9 +4,7 @@
|
|||||||
.DS_Store
|
.DS_Store
|
||||||
examples/.ipynb_checkpoints/*
|
examples/.ipynb_checkpoints/*
|
||||||
examples/meetup/.ipynb_checkpoints/*
|
examples/meetup/.ipynb_checkpoints/*
|
||||||
deps/plotly-*
|
deps/plotly-latest.min.js
|
||||||
deps/build.log
|
deps/build.log
|
||||||
deps/deps.jl
|
deps/deps.jl
|
||||||
Manifest.toml
|
Manifest.toml
|
||||||
dev/
|
|
||||||
test/tmpplotsave.hdf5
|
|
||||||
|
|||||||
+20
@@ -0,0 +1,20 @@
|
|||||||
|
# Documentation: http://docs.travis-ci.com/user/languages/julia/
|
||||||
|
language: julia
|
||||||
|
os:
|
||||||
|
- linux
|
||||||
|
# - osx
|
||||||
|
julia:
|
||||||
|
- 1.1
|
||||||
|
- nightly
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
allow_failures:
|
||||||
|
- julia: nightly
|
||||||
|
|
||||||
|
sudo: required
|
||||||
|
before_install:
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then pwd ; fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ./test/install_wkhtmltoimage.sh ; fi
|
||||||
|
|
||||||
|
notifications:
|
||||||
|
email: true
|
||||||
@@ -3,23 +3,14 @@
|
|||||||
|
|
||||||
#### notes on release changes, ongoing development, and future planned work
|
#### notes on release changes, ongoing development, and future planned work
|
||||||
|
|
||||||
|
- Minor version 0.17 is the last one to support Julia 0.6!!
|
||||||
|
- Minor version 0.11 is the last one to support Julia 0.5!!
|
||||||
|
- Critical bugfixes only
|
||||||
|
- `backports` branch is for Julia 0.5
|
||||||
|
|
||||||
|
---
|
||||||
## (current master)
|
## (current master)
|
||||||
|
|
||||||
## 0.28.3
|
|
||||||
- support generalized array interface
|
|
||||||
- save to pdf, svg and eps in plotlyjs
|
|
||||||
- fix for clims in line_z
|
|
||||||
- optimize heatmap logic in gr
|
|
||||||
|
|
||||||
## 0.26.3
|
|
||||||
- fix `vline` with dates
|
|
||||||
- fix PyPlot logscale bug
|
|
||||||
- avoid annotation clipping for PyPlot
|
|
||||||
- allow plotting of Any vectors and 3D plotting again in convertToAnyVector
|
|
||||||
- specify legend title font in GR and PyPlot
|
|
||||||
- delete `pushtomaster.sh`
|
|
||||||
- use `=== nothing`
|
|
||||||
|
|
||||||
## 0.26.2
|
## 0.26.2
|
||||||
- improve empty animation build error
|
- improve empty animation build error
|
||||||
- fix GR axis flip for heatmaps and images
|
- fix GR axis flip for heatmaps and images
|
||||||
|
|||||||
+14
-32
@@ -1,7 +1,7 @@
|
|||||||
name = "Plots"
|
name = "Plots"
|
||||||
uuid = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
|
uuid = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
|
||||||
author = ["Tom Breloff (@tbreloff)"]
|
author = ["Tom Breloff (@tbreloff)"]
|
||||||
version = "1.5.4"
|
version = "0.26.2"
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
Base64 = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"
|
Base64 = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"
|
||||||
@@ -10,19 +10,18 @@ Dates = "ade2ca70-3891-5945-98fb-dc099432e06a"
|
|||||||
FFMPEG = "c87230d0-a227-11e9-1b43-d7ebe4e7570a"
|
FFMPEG = "c87230d0-a227-11e9-1b43-d7ebe4e7570a"
|
||||||
FixedPointNumbers = "53c48c17-4a7d-5ca2-90c5-79b7896eea93"
|
FixedPointNumbers = "53c48c17-4a7d-5ca2-90c5-79b7896eea93"
|
||||||
GR = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71"
|
GR = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71"
|
||||||
GeometryBasics = "5c1252a2-5f33-56bf-86c9-59e7332b4326"
|
|
||||||
GeometryTypes = "4d00f742-c7ba-57c2-abde-4428a4b178cb"
|
GeometryTypes = "4d00f742-c7ba-57c2-abde-4428a4b178cb"
|
||||||
JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
|
JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
|
||||||
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
|
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
|
||||||
Measures = "442fdcdd-2543-5da2-b0f3-8c86c306513e"
|
Measures = "442fdcdd-2543-5da2-b0f3-8c86c306513e"
|
||||||
NaNMath = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3"
|
NaNMath = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3"
|
||||||
|
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
|
||||||
PlotThemes = "ccf2f8ad-2431-5c83-bf29-c5338b663b6a"
|
PlotThemes = "ccf2f8ad-2431-5c83-bf29-c5338b663b6a"
|
||||||
PlotUtils = "995b91a9-d308-5afd-9ec6-746e21dbc043"
|
PlotUtils = "995b91a9-d308-5afd-9ec6-746e21dbc043"
|
||||||
Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7"
|
Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7"
|
||||||
REPL = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb"
|
REPL = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb"
|
||||||
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
|
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
|
||||||
RecipesBase = "3cdcf5f2-1ef4-517c-9805-6587b60abb01"
|
RecipesBase = "3cdcf5f2-1ef4-517c-9805-6587b60abb01"
|
||||||
RecipesPipeline = "01d81517-befc-4cb6-b9ec-a95719d0359c"
|
|
||||||
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"
|
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"
|
||||||
Requires = "ae029012-a4dd-5104-9daa-d747884805df"
|
Requires = "ae029012-a4dd-5104-9daa-d747884805df"
|
||||||
Showoff = "992d4aef-0814-514b-bc4d-f2e9a6c4116f"
|
Showoff = "992d4aef-0814-514b-bc4d-f2e9a6c4116f"
|
||||||
@@ -32,44 +31,27 @@ StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91"
|
|||||||
UUIDs = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"
|
UUIDs = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"
|
||||||
|
|
||||||
[compat]
|
[compat]
|
||||||
Contour = "0.5"
|
FixedPointNumbers = "≥ 0.3.0"
|
||||||
FFMPEG = "0.2, 0.3"
|
GR = "≥ 0.31.0"
|
||||||
FixedPointNumbers = "0.6, 0.7, 0.8"
|
PlotThemes = "≥ 0.1.3"
|
||||||
GR = "0.46, 0.47, 0.48, 0.49, 0.50"
|
PlotUtils = "≥ 0.4.1"
|
||||||
GeometryBasics = "0.2"
|
RecipesBase = "≥ 0.6.0"
|
||||||
GeometryTypes = "0.7, 0.8"
|
StatsBase = "≥ 0.14.0"
|
||||||
JSON = "0.21, 1"
|
julia = "≥ 1.0.0"
|
||||||
Measures = "0.3"
|
|
||||||
NaNMath = "0.3"
|
|
||||||
PGFPlotsX = "1.2.0"
|
|
||||||
PlotThemes = "2"
|
|
||||||
PlotUtils = "1"
|
|
||||||
RecipesBase = "1"
|
|
||||||
RecipesPipeline = "0.1.7"
|
|
||||||
Reexport = "0.2"
|
|
||||||
Requires = "1"
|
|
||||||
Showoff = "0.3.1"
|
|
||||||
StableRNGs = "0.1.1"
|
|
||||||
StatsBase = "0.32, 0.33"
|
|
||||||
julia = "1.3"
|
|
||||||
|
|
||||||
[extras]
|
[extras]
|
||||||
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
|
|
||||||
FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549"
|
FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549"
|
||||||
Gtk = "4c0ca9eb-093a-5379-98c5-f87ac0bbbf44"
|
|
||||||
HDF5 = "f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f"
|
|
||||||
ImageMagick = "6218d12a-5da1-5696-b52f-db25d2ecc6d1"
|
ImageMagick = "6218d12a-5da1-5696-b52f-db25d2ecc6d1"
|
||||||
Images = "916415d5-f1e6-5110-898d-aaa5f9f070e0"
|
Images = "916415d5-f1e6-5110-898d-aaa5f9f070e0"
|
||||||
LibGit2 = "76f85450-5226-5b5a-8eaa-529ad045b433"
|
LaTeXStrings = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f"
|
||||||
OffsetArrays = "6fe1bfb0-de20-5000-8ca7-80f57d26f881"
|
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
|
||||||
PGFPlotsX = "8314cec4-20b6-5062-9cdb-752b83310925"
|
|
||||||
RDatasets = "ce6b1742-4840-55fa-b093-852dadbb1d8b"
|
RDatasets = "ce6b1742-4840-55fa-b093-852dadbb1d8b"
|
||||||
StableRNGs = "860ef19b-820b-49d6-a774-d7a799459cd3"
|
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
|
||||||
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
|
|
||||||
StatsPlots = "f3b207a7-027a-5e70-b257-86293d7955fd"
|
StatsPlots = "f3b207a7-027a-5e70-b257-86293d7955fd"
|
||||||
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
|
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
|
||||||
UnicodePlots = "b8865327-cd53-5732-bb35-84acbb429228"
|
UnicodePlots = "b8865327-cd53-5732-bb35-84acbb429228"
|
||||||
VisualRegressionTests = "34922c18-7c2a-561c-bac1-01e79b2c4c92"
|
VisualRegressionTests = "34922c18-7c2a-561c-bac1-01e79b2c4c92"
|
||||||
|
BinaryProvider = "b99e7846-7c00-51b0-8f62-c81ae34c0232"
|
||||||
|
|
||||||
[targets]
|
[targets]
|
||||||
test = ["Distributions", "FileIO", "Gtk", "ImageMagick", "Images", "LibGit2", "OffsetArrays", "PGFPlotsX", "HDF5", "RDatasets", "StableRNGs", "StaticArrays", "StatsPlots", "Test", "UnicodePlots", "VisualRegressionTests"]
|
test = ["BinaryProvider", "Pkg", "Test", "Random", "StatsPlots", "VisualRegressionTests", "LaTeXStrings", "Images", "ImageMagick", "RDatasets", "FileIO", "UnicodePlots"]
|
||||||
|
|||||||
@@ -1,22 +1,13 @@
|
|||||||
# Plots
|
# Plots
|
||||||
|
|
||||||
[gh-ci-img]: https://github.com/JuliaPlots/Plots.jl/workflows/ci/badge.svg?branch=master
|
[](https://travis-ci.org/JuliaPlots/Plots.jl)
|
||||||
[gh-ci-url]: https://github.com/JuliaPlots/Plots.jl/actions?query=workflow%3Aci
|
[](https://ci.appveyor.com/project/mkborregaard/plots-jl)
|
||||||
|
[](https://gitter.im/tbreloff/Plots.jl?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||||
[pkgeval-img]: https://juliaci.github.io/NanosoldierReports/pkgeval_badges/P/Plots.svg
|
<a href="http://docs.juliaplots.org/latest/" target="_blank"><img src="https://img.shields.io/badge/docs-latest-blue.svg" alt="Latest documentation"></a>
|
||||||
[pkgeval-url]: https://juliaci.github.io/NanosoldierReports/pkgeval_badges/report.html
|
<!-- [](http://pkg.julialang.org/?pkg=Plots&ver=0.3) -->
|
||||||
|
<!-- [](http://pkg.julialang.org/?pkg=Plots&ver=0.4) -->
|
||||||
[gitter-img]: https://badges.gitter.im/tbreloff/Plots.jl.svg
|
<!-- [](https://coveralls.io/r/tbreloff/Plots.jl?branch=master) -->
|
||||||
[gitter-url]: https://gitter.im/tbreloff/Plots.jl?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
|
<!-- [](http://codecov.io/github/tbreloff/Plots.jl?branch=master) -->
|
||||||
|
|
||||||
[docs-img]: https://img.shields.io/badge/docs-stable-blue.svg
|
|
||||||
[docs-url]: http://docs.juliaplots.org/latest/
|
|
||||||
|
|
||||||
[![][gh-ci-img]][gh-ci-url]
|
|
||||||
[![][pkgeval-img]][pkgeval-url]
|
|
||||||
[](https://julialang.zulipchat.com/#narrow/stream/236493-plots)
|
|
||||||
[![][docs-img]][docs-url]
|
|
||||||
[](https://codecov.io/gh/JuliaPlots/Plots.jl)
|
|
||||||
|
|
||||||
#### Created by Tom Breloff (@tbreloff)
|
#### Created by Tom Breloff (@tbreloff)
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,43 @@
|
|||||||
|
environment:
|
||||||
|
matrix:
|
||||||
|
# - julia_version: 0.7
|
||||||
|
- julia_version: 1
|
||||||
|
- julia_version: nightly
|
||||||
|
|
||||||
|
platform:
|
||||||
|
- x86 # 32-bit
|
||||||
|
- x64 # 64-bit
|
||||||
|
|
||||||
|
# # Uncomment the following lines to allow failures on nightly julia
|
||||||
|
# # (tests will run but not make your overall status red)
|
||||||
|
matrix:
|
||||||
|
allow_failures:
|
||||||
|
- julia_version: nightly
|
||||||
|
|
||||||
|
branches:
|
||||||
|
only:
|
||||||
|
- master
|
||||||
|
- /release-.*/
|
||||||
|
|
||||||
|
notifications:
|
||||||
|
- provider: Email
|
||||||
|
on_build_success: false
|
||||||
|
on_build_failure: false
|
||||||
|
on_build_status_changed: false
|
||||||
|
|
||||||
|
install:
|
||||||
|
- ps: iex ((new-object net.webclient).DownloadString("https://raw.githubusercontent.com/JuliaCI/Appveyor.jl/version-1/bin/install.ps1"))
|
||||||
|
|
||||||
|
build_script:
|
||||||
|
- echo "%JL_BUILD_SCRIPT%"
|
||||||
|
- C:\julia\bin\julia -e "%JL_BUILD_SCRIPT%"
|
||||||
|
|
||||||
|
test_script:
|
||||||
|
- echo "%JL_TEST_SCRIPT%"
|
||||||
|
- C:\julia\bin\julia -e "%JL_TEST_SCRIPT%"
|
||||||
|
|
||||||
|
# # Uncomment to support code coverage upload. Should only be enabled for packages
|
||||||
|
# # which would have coverage gaps without running on Windows
|
||||||
|
# on_success:
|
||||||
|
# - echo "%JL_CODECOV_SCRIPT%"
|
||||||
|
# - C:\julia\bin\julia -e "%JL_CODECOV_SCRIPT%"
|
||||||
-10
@@ -1,10 +0,0 @@
|
|||||||
ignore:
|
|
||||||
- "src/backends/inspectdr.jl"
|
|
||||||
- "src/backends/orca.jl"
|
|
||||||
- "src/backends/pgfplots.jl"
|
|
||||||
- "src/backends/plotly.jl"
|
|
||||||
- "src/backends/plotlyjs.jl"
|
|
||||||
- "src/backends/pyplot.jl"
|
|
||||||
- "src/backends/web.jl"
|
|
||||||
- "src/fileio.jl"
|
|
||||||
- "src/ijulia.jl"
|
|
||||||
@@ -1,956 +0,0 @@
|
|||||||
function _precompile_()
|
|
||||||
ccall(:jl_generating_output, Cint, ()) == 1 || return nothing
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots._make_hist)),NamedTuple{(:normed, :weights),Tuple{Bool,Array{Int64,1}}},typeof(Plots._make_hist),Tuple{Array{Float64,1}},Symbol})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots._make_hist)),NamedTuple{(:normed, :weights),Tuple{Bool,Nothing}},typeof(Plots._make_hist),Tuple{Array{Float64,1},Array{Float64,1}},Int64})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots._make_hist)),NamedTuple{(:normed, :weights),Tuple{Bool,Nothing}},typeof(Plots._make_hist),Tuple{Array{Float64,1},Array{Float64,1}},Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots._make_hist)),NamedTuple{(:normed, :weights),Tuple{Bool,Nothing}},typeof(Plots._make_hist),Tuple{Array{Float64,1}},Symbol})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:flip,),Tuple{Bool}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:formatter,),Tuple{Symbol}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:formatter,),Tuple{typeof(RecipesPipeline.datetimeformatter)}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:grid, :lims),Tuple{Bool,Tuple{Int64,Int64}}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:grid, :lims, :flip),Tuple{Bool,Tuple{Int64,Int64},Bool}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:grid,),Tuple{Bool}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:gridlinewidth, :grid, :gridalpha, :gridstyle, :foreground_color_grid),Tuple{Int64,Bool,Float64,Symbol,RGBA{Float64}}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:guide,),Tuple{String}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:lims, :flip, :ticks, :guide),Tuple{Tuple{Int64,Int64},Bool,StepRange{Int64,Int64},String}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:lims,),Tuple{Tuple{Float64,Float64}}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:lims,),Tuple{Tuple{Int64,Float64}}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:lims,),Tuple{Tuple{Int64,Int64}}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:rotation,),Tuple{Int64}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:scale, :guide),Tuple{Symbol,String}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:ticks,),Tuple{Nothing}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:ticks,),Tuple{UnitRange{Int64}}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.contour)),NamedTuple{(:fill,),Tuple{Bool}},typeof(contour),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.default)),NamedTuple{(:titlefont, :legendfontsize, :guidefont, :tickfont, :guide, :framestyle, :yminorgrid),Tuple{Tuple{Int64,String},Int64,Tuple{Int64,Symbol},Tuple{Int64,Symbol},String,Symbol,Bool}},typeof(default)})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.gr_polyline)),NamedTuple{(:arrowside, :arrowstyle),Tuple{Symbol,Symbol}},typeof(Plots.gr_polyline),Array{Float64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.gr_polyline)),NamedTuple{(:arrowside, :arrowstyle),Tuple{Symbol,Symbol}},typeof(Plots.gr_polyline),Array{Int64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.gr_polyline)),NamedTuple{(:arrowside, :arrowstyle),Tuple{Symbol,Symbol}},typeof(Plots.gr_polyline),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.gr_polyline)),NamedTuple{(:arrowside, :arrowstyle),Tuple{Symbol,Symbol}},typeof(Plots.gr_polyline),StepRange{Int64,Int64},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.gr_polyline)),NamedTuple{(:arrowside, :arrowstyle),Tuple{Symbol,Symbol}},typeof(Plots.gr_polyline),UnitRange{Int64},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.gr_polyline)),NamedTuple{(:arrowside, :arrowstyle),Tuple{Symbol,Symbol}},typeof(Plots.gr_polyline),UnitRange{Int64},UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.gr_set_font)),NamedTuple{(:halign, :valign, :rotation),Tuple{Symbol,Symbol,Int64}},typeof(Plots.gr_set_font),Plots.Font,Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.gr_set_font)),NamedTuple{(:halign, :valign, :rotation, :color),Tuple{Symbol,Symbol,Int64,RGBA{Float64}}},typeof(Plots.gr_set_font),Plots.Font,Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.heatmap)),NamedTuple{(:aspect_ratio,),Tuple{Int64}},typeof(heatmap),Array{String,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.histogram)),NamedTuple{(:bins, :weights),Tuple{Symbol,Array{Int64,1}}},typeof(histogram),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.histogram2d)),NamedTuple{(:nbins, :show_empty_bins, :normed, :aspect_ratio),Tuple{Tuple{Int64,Int64},Bool,Bool,Int64}},typeof(histogram2d),Array{Complex{Float64},1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.histogram2d)),NamedTuple{(:nbins,),Tuple{Int64}},typeof(histogram2d),Array{Float64,1},Vararg{Array{Float64,1},N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.hline!)),NamedTuple{(:line,),Tuple{Tuple{Int64,Symbol,Float64,Array{Symbol,2}}}},typeof(hline!),Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.lens!)),NamedTuple{(:inset,),Tuple{Tuple{Int64,Measures.BoundingBox{Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}},Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}}}}}},typeof(lens!),Array{Int64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.pie)),NamedTuple{(:title, :l),Tuple{String,Float64}},typeof(pie),Array{String,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:alpha, :seriestype),Tuple{Float64,Symbol}},typeof(plot!),Array{GeometryBasics.Point{2,Float64},1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:alpha, :seriestype),Tuple{Float64,Symbol}},typeof(plot!),Plots.Plot{Plots.GRBackend},Array{GeometryBasics.Point{2,Float64},1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:alpha, :seriestype),Tuple{Float64,Symbol}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend},Array{GeometryBasics.Point{2,Float64},1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:annotation,),Tuple{Array{Tuple{Int64,Float64,Plots.PlotText},1}}},typeof(plot!),Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:annotation,),Tuple{Array{Tuple{Int64,Float64,Plots.PlotText},1}}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:annotation,),Tuple{Array{Tuple{Int64,Float64,Plots.PlotText},1}}},typeof(plot!)})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:line, :seriestype),Tuple{Tuple{Int64,Symbol,Float64,Array{Symbol,2}},Symbol}},typeof(plot!),Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:line, :seriestype),Tuple{Tuple{Int64,Symbol,Float64,Array{Symbol,2}},Symbol}},typeof(plot!),Plots.Plot{Plots.GRBackend},Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:line, :seriestype),Tuple{Tuple{Int64,Symbol,Float64,Array{Symbol,2}},Symbol}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend},Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:marker, :series_annotations, :seriestype),Tuple{Tuple{Int64,Float64,Symbol},Array{Any,1},Symbol}},typeof(plot!),Plots.Plot{Plots.GRBackend},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:marker, :series_annotations, :seriestype),Tuple{Tuple{Int64,Float64,Symbol},Array{Any,1},Symbol}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:marker, :series_annotations, :seriestype),Tuple{Tuple{Int64,Float64,Symbol},Array{Any,1},Symbol}},typeof(plot!),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:markersize, :c, :seriestype),Tuple{Int64,Symbol,Symbol}},typeof(plot!),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:markersize, :c, :seriestype),Tuple{Int64,Symbol,Symbol}},typeof(plot!),Plots.Plot{Plots.GRBackend},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:markersize, :c, :seriestype),Tuple{Int64,Symbol,Symbol}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:seriestype, :inset),Tuple{Symbol,Tuple{Int64,Measures.BoundingBox{Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}},Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}}}}}},typeof(plot!),Array{Int64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:seriestype, :inset),Tuple{Symbol,Tuple{Int64,Measures.BoundingBox{Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}},Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}}}}}},typeof(plot!),Plots.Plot{Plots.GRBackend},Array{Int64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:seriestype, :inset),Tuple{Symbol,Tuple{Int64,Measures.BoundingBox{Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}},Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}}}}}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend},Array{Int64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:seriestype,),Tuple{Symbol}},typeof(plot!),Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:seriestype,),Tuple{Symbol}},typeof(plot!),Plots.Plot{Plots.GRBackend},Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:seriestype,),Tuple{Symbol}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend},Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:title,),Tuple{String}},typeof(plot!),Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:title,),Tuple{String}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:title,),Tuple{String}},typeof(plot!)})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:w,),Tuple{Int64}},typeof(plot!),Array{Float64,1},Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:w,),Tuple{Int64}},typeof(plot!),Plots.Plot{Plots.GRBackend},Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:xgrid,),Tuple{Tuple{Symbol,Symbol,Int64,Symbol,Float64}}},typeof(plot!),Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:xgrid,),Tuple{Tuple{Symbol,Symbol,Int64,Symbol,Float64}}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:yaxis,),Tuple{Tuple{String,Symbol}}},typeof(plot!),Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:yaxis,),Tuple{Tuple{String,Symbol}}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:yaxis,),Tuple{Tuple{String,Symbol}}},typeof(plot!)})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:zcolor, :m, :ms, :lab, :seriestype),Tuple{Array{Float64,1},Tuple{Symbol,Float64,Plots.Stroke},Array{Float64,1},String,Symbol}},typeof(plot!),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:zcolor, :m, :ms, :lab, :seriestype),Tuple{Array{Float64,1},Tuple{Symbol,Float64,Plots.Stroke},Array{Float64,1},String,Symbol}},typeof(plot!),Plots.Plot{Plots.GRBackend},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:zcolor, :m, :ms, :lab, :seriestype),Tuple{Array{Float64,1},Tuple{Symbol,Float64,Plots.Stroke},Array{Float64,1},String,Symbol}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:annotations, :leg),Tuple{Tuple{Int64,Float64,Plots.PlotText},Bool}},typeof(plot),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:arrow,),Tuple{Int64}},typeof(plot),Array{Float64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:aspect_ratio, :seriestype),Tuple{Int64,Symbol}},typeof(plot),Array{String,1},Array{String,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:color, :line, :marker),Tuple{Array{Symbol,2},Tuple{Symbol,Int64},Tuple{Array{Symbol,2},Int64,Float64,Plots.Stroke}}},typeof(plot),Array{Array{T,1} where T,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:fill, :seriestype),Tuple{Bool,Symbol}},typeof(plot),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:framestyle, :title, :color, :layout, :label, :markerstrokewidth, :ticks, :seriestype),Tuple{Array{Symbol,2},Array{String,2},Base.ReshapedArray{Int64,2,UnitRange{Int64},Tuple{}},Int64,String,Int64,UnitRange{Int64},Symbol}},typeof(plot),Array{Array{Float64,1},1},Array{Array{Float64,1},1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:grid, :title),Tuple{Tuple{Symbol,Symbol,Symbol,Int64,Float64},String}},typeof(plot),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:lab, :w, :palette, :fill, :α),Tuple{String,Int64,PlotUtils.ContinuousColorGradient,Int64,Float64}},typeof(plot),StepRange{Int64,Int64},Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:label, :title, :xlabel, :linewidth, :legend),Tuple{Array{String,2},String,String,Int64,Symbol}},typeof(plot),Array{Function,1},Float64,Vararg{Float64,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:label,),Tuple{Array{String,2}}},typeof(plot),Array{AbstractArray{Float64,1},1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:layout, :group, :linetype, :linecolor),Tuple{Plots.GridLayout,Array{String,1},Array{Symbol,2},Symbol}},typeof(plot),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:layout, :label, :fillrange, :fillalpha),Tuple{Tuple{Int64,Int64},String,Int64,Float64}},typeof(plot),Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend},Vararg{Plots.Plot{Plots.GRBackend},N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:layout, :label, :fillrange, :fillalpha),Tuple{Tuple{Int64,Int64},String,Int64,Float64}},typeof(plot),Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend},Vararg{Plots.Plot{Plots.PlotlyBackend},N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:layout, :link),Tuple{Int64,Symbol}},typeof(plot),Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:layout, :link),Tuple{Int64,Symbol}},typeof(plot),Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:layout, :palette, :bg_inside),Tuple{Int64,Array{PlotUtils.ContinuousColorGradient,2},Array{Symbol,2}}},typeof(plot),Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:layout, :t, :leg, :ticks, :border),Tuple{Plots.GridLayout,Array{Symbol,2},Bool,Nothing,Symbol}},typeof(plot),Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:layout, :title, :titlelocation, :left_margin, :bottom_margin, :xrotation),Tuple{Plots.GridLayout,Array{String,2},Symbol,Array{Measures.Length{:mm,Float64},2},Measures.Length{:mm,Float64},Int64}},typeof(plot),Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:layout,),Tuple{Plots.GridLayout}},typeof(plot),Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend},Vararg{Plots.Plot{Plots.GRBackend},N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:legend,),Tuple{Bool}},typeof(plot),Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend},Vararg{Plots.Plot{Plots.GRBackend},N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:legend,),Tuple{Bool}},typeof(plot),Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend},Vararg{Plots.Plot{Plots.PlotlyBackend},N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:legend,),Tuple{Symbol}},typeof(plot),Array{Tuple{Int64,Real},1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:legend,),Tuple{Symbol}},typeof(plot),Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend},Vararg{Plots.Plot{Plots.GRBackend},N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:legend,),Tuple{Symbol}},typeof(plot),Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend},Vararg{Plots.Plot{Plots.PlotlyBackend},N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:line, :lab, :ms),Tuple{Tuple{Array{Symbol,2},Int64},Array{String,2},Int64}},typeof(plot),Array{Array{T,1} where T,1},Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:line, :label, :legendtitle),Tuple{Tuple{Int64,Array{Symbol,2}},Array{String,2},String}},typeof(plot),Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:line, :leg, :fill),Tuple{Int64,Bool,Tuple{Int64,Symbol}}},typeof(plot),Function,Function,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:line, :marker, :bg, :fg, :xlim, :ylim, :leg),Tuple{Tuple{Int64,Symbol,Symbol},Tuple{Shape,Int64,RGBA{Float64}},Symbol,Symbol,Tuple{Int64,Int64},Tuple{Int64,Int64},Bool}},typeof(plot),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:line_z, :linewidth, :legend),Tuple{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Int64,Bool}},typeof(plot),Array{Float64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:m, :lab, :bg, :xlim, :ylim, :seriestype),Tuple{Tuple{Int64,Symbol},Array{String,2},Symbol,Tuple{Int64,Int64},Tuple{Int64,Int64},Symbol}},typeof(plot),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:marker,),Tuple{Bool}},typeof(plot),Array{Complex{Float64},1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:marker,),Tuple{Bool}},typeof(plot),Array{Union{Missing, Int64},1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:marker_z, :color, :legend, :seriestype),Tuple{typeof(+),Symbol,Bool,Symbol}},typeof(plot),Array{Float64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:nbins, :seriestype),Tuple{Int64,Symbol}},typeof(plot),Array{Float64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:proj, :m),Tuple{Symbol,Int64}},typeof(plot),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:reg, :fill),Tuple{Bool,Tuple{Int64,Symbol}}},typeof(plot),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:ribbon,),Tuple{Int64}},typeof(plot),UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:ribbon,),Tuple{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}}}},typeof(plot),UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:ribbon,),Tuple{Tuple{LinRange{Float64},LinRange{Float64}}}},typeof(plot),UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:ribbon,),Tuple{typeof(sqrt)}},typeof(plot),UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:seriestype,),Tuple{Symbol}},typeof(plot),Array{Dates.DateTime,1},UnitRange{Int64},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:seriestype,),Tuple{Symbol}},typeof(plot),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:title, :l, :seriestype),Tuple{String,Float64,Symbol}},typeof(plot),Array{String,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:title,),Tuple{Array{String,2}}},typeof(plot),Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:title,),Tuple{Array{String,2}}},typeof(plot),Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:title,),Tuple{String}},typeof(plot),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:title,),Tuple{String}},typeof(plot),Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:title,),Tuple{String}},typeof(plot),Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:w,),Tuple{Int64}},typeof(plot),Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:xaxis, :background_color, :leg),Tuple{Tuple{String,Tuple{Int64,Int64},StepRange{Int64,Int64},Symbol},RGB{Float64},Bool}},typeof(plot),Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:zcolor, :m, :leg, :cbar, :w),Tuple{StepRange{Int64,Int64},Tuple{Int64,Float64,Symbol,Plots.Stroke},Bool,Bool,Int64}},typeof(plot),Array{Float64,1},Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.portfoliocomposition)),NamedTuple{(:labels,),Tuple{Array{String,2}}},typeof(portfoliocomposition),Array{Float64,2},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.scatter!)),NamedTuple{(:alpha,),Tuple{Float64}},typeof(scatter!),Array{GeometryBasics.Point{2,Float64},1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.scatter!)),NamedTuple{(:marker, :series_annotations),Tuple{Tuple{Int64,Float64,Symbol},Array{Any,1}}},typeof(scatter!),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.scatter!)),NamedTuple{(:markersize, :c),Tuple{Int64,Symbol}},typeof(scatter!),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.scatter!)),NamedTuple{(:zcolor, :m, :ms, :lab),Tuple{Array{Float64,1},Tuple{Symbol,Float64,Plots.Stroke},Array{Float64,1},String}},typeof(scatter!),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.scatter)),NamedTuple{(:framestyle, :title, :color, :layout, :label, :markerstrokewidth, :ticks),Tuple{Array{Symbol,2},Array{String,2},Base.ReshapedArray{Int64,2,UnitRange{Int64},Tuple{}},Int64,String,Int64,UnitRange{Int64}}},typeof(scatter),Array{Array{Float64,1},1},Vararg{Array{Array{Float64,1},1},N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.scatter)),NamedTuple{(:m, :lab, :bg, :xlim, :ylim),Tuple{Tuple{Int64,Symbol},Array{String,2},Symbol,Tuple{Int64,Int64},Tuple{Int64,Int64}}},typeof(scatter),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.scatter)),NamedTuple{(:marker_z, :color, :legend),Tuple{typeof(+),Symbol,Bool}},typeof(scatter),Array{Float64,1},Vararg{Array{Float64,1},N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.test_examples)),NamedTuple{(:skip, :disp),Tuple{Array{Int64,1},Bool}},typeof(test_examples),Symbol})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.test_examples)),NamedTuple{(:skip,),Tuple{Array{Int64,1}}},typeof(test_examples),Symbol})
|
|
||||||
Base.precompile(Tuple{Core.var"#kw#Type",NamedTuple{(:label, :blank),Tuple{Symbol,Bool}},Type{Plots.EmptyLayout}})
|
|
||||||
Base.precompile(Tuple{Core.var"#kw#Type",NamedTuple{(:label, :width, :height),Tuple{Symbol,Symbol,Measures.Length{:pct,Float64}}},Type{Plots.EmptyLayout}})
|
|
||||||
Base.precompile(Tuple{Core.var"#kw#Type",NamedTuple{(:parent,),Tuple{Plots.GridLayout}},Type{Plots.Subplot},Plots.GRBackend})
|
|
||||||
Base.precompile(Tuple{Core.var"#kw#Type",NamedTuple{(:parent,),Tuple{Plots.GridLayout}},Type{Plots.Subplot},Plots.PlotlyBackend})
|
|
||||||
Base.precompile(Tuple{Core.var"#kw#Type",NamedTuple{(:parent,),Tuple{Plots.Subplot{Plots.GRBackend}}},Type{Plots.Subplot},Plots.GRBackend})
|
|
||||||
Base.precompile(Tuple{Core.var"#kw#Type",NamedTuple{(:parent,),Tuple{Plots.Subplot{Plots.PlotlyBackend}}},Type{Plots.Subplot},Plots.PlotlyBackend})
|
|
||||||
Base.precompile(Tuple{Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Axes,F,Args} where Args<:Tuple where F where Axes},typeof(Plots.contour_levels),Tuple{Array{Any,1},Base.RefValue{Tuple{Float64,Float64}}}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Axes,F,Args} where Args<:Tuple where F where Axes},typeof(Plots.get_colorgradient),Tuple{Array{Any,1}}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Axes,F,Args} where Args<:Tuple where F where Axes},typeof(Plots.get_fillalpha),Tuple{Array{Any,1}}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Axes,F,Args} where Args<:Tuple where F where Axes},typeof(Plots.get_linealpha),Tuple{Array{Any,1}}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Axes,F,Args} where Args<:Tuple where F where Axes},typeof(Plots.get_linecolor),Tuple{Array{Any,1},Base.RefValue{Tuple{Float64,Float64}}}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Axes,F,Args} where Args<:Tuple where F where Axes},typeof(Plots.get_linestyle),Tuple{Array{Any,1}}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Axes,F,Args} where Args<:Tuple where F where Axes},typeof(Plots.get_linewidth),Tuple{Array{Any,1}}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Axes,F,Args} where Args<:Tuple where F where Axes},typeof(Plots.get_z_normalized),Tuple{Array{Float64,1},Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Axes,F,Args} where Args<:Tuple where F where Axes},typeof(Plots.gr_color),Tuple{Array{RGBA{Float64},1}}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Axes,F,Args} where Args<:Tuple where F where Axes},typeof(Plots.gr_tick_label),Tuple{Tuple{Plots.Axis},Array{String,1}}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Generator},typeof(Plots.bottompad),Array{AbstractLayout,1}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Generator},typeof(Plots.leftpad),Array{AbstractLayout,1}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Generator},typeof(Plots.rightpad),Array{AbstractLayout,1}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Generator},typeof(Plots.toppad),Array{AbstractLayout,1}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:annotations, :leg),T} where T<:Tuple},Tuple{Tuple{Int64,Float64,Plots.PlotText},Bool}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:color, :line, :marker),T} where T<:Tuple},Tuple{Array{Symbol,2},Tuple{Symbol,Int64},Tuple{Array{Symbol,2},Int64,Float64,Plots.Stroke}}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:layout, :group, :linetype, :linecolor),T} where T<:Tuple},Tuple{Plots.GridLayout,Array{String,1},Array{Symbol,2},Symbol}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:layout, :t, :leg, :ticks, :border),T} where T<:Tuple},Tuple{Plots.GridLayout,Array{Symbol,2},Bool,Nothing,Symbol}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:layout, :title, :titlelocation, :left_margin, :bottom_margin, :xrotation),T} where T<:Tuple},Tuple{Plots.GridLayout,Array{String,2},Symbol,Array{Measures.Length{:mm,Float64},2},Measures.Length{:mm,Float64},Int64}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:layout,),T} where T<:Tuple},Tuple{Plots.GridLayout}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:line, :marker, :bg, :fg, :xlim, :ylim, :leg),T} where T<:Tuple},Tuple{Tuple{Int64,Symbol,Symbol},Tuple{Shape,Int64,RGBA{Float64}},Symbol,Symbol,Tuple{Int64,Int64},Tuple{Int64,Int64},Bool}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:parent,),T} where T<:Tuple},Tuple{Plots.Subplot{Plots.GRBackend}}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:parent,),T} where T<:Tuple},Tuple{Plots.Subplot{Plots.PlotlyBackend}}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:zcolor, :m, :leg, :cbar, :w),T} where T<:Tuple},Tuple{StepRange{Int64,Int64},Tuple{Int64,Float64,Symbol,Plots.Stroke},Bool,Bool,Int64}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:zcolor, :m, :ms, :lab),T} where T<:Tuple},Tuple{Array{Float64,1},Tuple{Symbol,Float64,Plots.Stroke},Array{Float64,1},String}})
|
|
||||||
Base.precompile(Tuple{Type{Pair},Symbol,Plots.Arrow})
|
|
||||||
Base.precompile(Tuple{Type{Pair},Symbol,Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Type{Pair},Symbol,Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{Type{Pair},Symbol,Plots.SeriesAnnotations})
|
|
||||||
Base.precompile(Tuple{Type{Pair},Symbol,Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Type{Pair},Symbol,Plots.Subplot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{Type{Pair},Symbol,Shape})
|
|
||||||
Base.precompile(Tuple{Type{Plots.Font},String,Int64,Symbol,Symbol,Float64,RGBA{Float64}})
|
|
||||||
Base.precompile(Tuple{Type{Plots.GridLayout},Int64,Vararg{Int64,N} where N})
|
|
||||||
Base.precompile(Tuple{Type{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{Type{Plots.Plot},Plots.GRBackend,Int64,RecipesPipeline.DefaultsDict,Array{Plots.Series,1},Nothing,Array{Plots.Subplot,1},Dict{Any,Plots.Subplot},Plots.EmptyLayout,Array{Plots.Subplot,1},Bool})
|
|
||||||
Base.precompile(Tuple{Type{Plots.Plot},Plots.PlotlyBackend,Int64,RecipesPipeline.DefaultsDict,Array{Plots.Series,1},Nothing,Array{Plots.Subplot,1},Dict{Any,Plots.Subplot},Plots.EmptyLayout,Array{Plots.Subplot,1},Bool})
|
|
||||||
Base.precompile(Tuple{Type{Plots.SegmentsIterator},Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{Type{Plots.SegmentsIterator},Tuple{Array{Float64,1},Array{Float64,1},UnitRange{Int64}},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{Type{Shape},Array{Tuple{Float64,Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(!=),Plots.Arrow,Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(!=),Shape,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(*),Measures.Length{:mm,Float64},Measures.Length{:pct,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(==),Array{Tuple{Int64,Float64,Plots.PlotText},1},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(==),Plots.Arrow,Bool})
|
|
||||||
Base.precompile(Tuple{typeof(==),Plots.Axis,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(==),Plots.Extrema,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(==),Tuple{Int64,Float64,Plots.PlotText},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.broadcasted),Function,Tuple{Plots.Axis},Array{String,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.copyto_nonleaf!),Array{Int64,1},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linewidth),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}},Base.OneTo{Int64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.copyto_nonleaf!),Array{Nothing,1},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_fillalpha),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}},Base.OneTo{Int64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.copyto_nonleaf!),Array{Nothing,1},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linealpha),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}},Base.OneTo{Int64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.copyto_nonleaf!),Array{PlotUtils.ContinuousColorGradient,1},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_colorgradient),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}},Base.OneTo{Int64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.copyto_nonleaf!),Array{PlotUtils.ContinuousColorGradient,1},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linecolor),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}},Base.RefValue{Tuple{Float64,Float64}}}},Base.OneTo{Int64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.copyto_nonleaf!),Array{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},1},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.contour_levels),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}},Base.RefValue{Tuple{Float64,Float64}}}},Base.OneTo{Int64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.copyto_nonleaf!),Array{Symbol,1},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linestyle),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}},Base.OneTo{Int64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.instantiate),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Plots.get_colorgradient),Tuple{Array{Any,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.instantiate),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Plots.get_fillalpha),Tuple{Array{Any,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.instantiate),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Plots.get_linealpha),Tuple{Array{Any,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.instantiate),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Plots.get_linestyle),Tuple{Array{Any,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.instantiate),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Plots.get_linewidth),Tuple{Array{Any,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.instantiate),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Plots.gr_color),Tuple{Array{RGBA{Float64},1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.instantiate),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Plots.gr_tick_label),Tuple{Tuple{Plots.Axis},Array{String,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.materialize),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Plots.contour_levels),Tuple{Array{Any,1},Base.RefValue{Tuple{Float64,Float64}}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.materialize),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Plots.get_linecolor),Tuple{Array{Any,1},Base.RefValue{Tuple{Float64,Float64}}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.materialize),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Plots.get_z_normalized),Tuple{Array{Float64,1},Float64,Float64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._array_for),Type{Plots.Axis},Array{Any,1},Base.HasShape{1}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._compute_eltype),Type{Tuple{Array{Float64,1},Tuple{Symbol,Float64,Plots.Stroke},Array{Float64,1},String,Symbol}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._compute_eltype),Type{Tuple{Array{Float64,1},Tuple{Symbol,Float64,Plots.Stroke},Array{Float64,1},String}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._compute_eltype),Type{Tuple{Array{Symbol,2},Tuple{Symbol,Int64},Tuple{Array{Symbol,2},Int64,Float64,Plots.Stroke}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._compute_eltype),Type{Tuple{Plots.GridLayout,Array{String,1},Array{Symbol,2},Symbol}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._compute_eltype),Type{Tuple{Plots.GridLayout,Array{String,2},Symbol,Array{Measures.Length{:mm,Float64},2},Measures.Length{:mm,Float64},Int64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._compute_eltype),Type{Tuple{Plots.GridLayout,Array{Symbol,2},Bool,Nothing,Symbol}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._compute_eltype),Type{Tuple{StepRange{Int64,Int64},Tuple{Int64,Float64,Symbol,Plots.Stroke},Bool,Bool,Int64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._compute_eltype),Type{Tuple{Tuple{Int64,Float64,Plots.PlotText},Bool}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._compute_eltype),Type{Tuple{Tuple{Int64,Symbol,Symbol},Tuple{Shape,Int64,RGBA{Float64}},Symbol,Symbol,Tuple{Int64,Int64},Tuple{Int64,Int64},Bool}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._similar_for),Array{Any,1},Type{Int64},Base.Generator{Array{Any,1},typeof(Plots.rowsize)},Base.HasShape{1}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.collect_similar),Array{AbstractLayout,1},Base.Generator{Array{AbstractLayout,1},typeof(Plots.bottompad)}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.collect_similar),Array{AbstractLayout,1},Base.Generator{Array{AbstractLayout,1},typeof(Plots.leftpad)}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.collect_similar),Array{AbstractLayout,1},Base.Generator{Array{AbstractLayout,1},typeof(Plots.rightpad)}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.collect_similar),Array{AbstractLayout,1},Base.Generator{Array{AbstractLayout,1},typeof(Plots.toppad)}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.collect_to_with_first!),Array{Int64,1},Int64,Base.Generator{Array{Any,1},typeof(Plots.rowsize)},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Base.deepcopy_internal),Array{Plots.Series,1},IdDict{Any,Any}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.indexed_iterate),Tuple{Plots.GridLayout,Int64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Base.merge_types),NTuple{5,Symbol},Type{NamedTuple{(:zcolor, :m, :ms, :lab),Tuple{Array{Float64,1},Tuple{Symbol,Float64,Plots.Stroke},Array{Float64,1},String}}},Type{NamedTuple{(:seriestype,),Tuple{Symbol}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.merge_types),Tuple{Symbol},Type{NamedTuple{(:annotation,),Tuple{Array{Tuple{Int64,Float64,Plots.PlotText},1}}}},Type{NamedTuple{(),Tuple{}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.promote_typeof),String,Plots.PlotText})
|
|
||||||
Base.precompile(Tuple{typeof(Base.vect),Tuple{Int64,Float64,Plots.PlotText},Vararg{Tuple{Int64,Float64,Plots.PlotText},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._backend_instance),Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cbar_unique),Array{Int64,1},String})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cbar_unique),Array{Nothing,1},String})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cbar_unique),Array{PlotUtils.ContinuousColorGradient,1},String})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cbar_unique),Array{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},1},String})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cbar_unique),Array{Symbol,1},String})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._create_backend_figure),Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._create_backend_figure),Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Array{Any,1},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Array{Float64,1},Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Array{Float64,1},StepRange{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Array{Float64,1},UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Array{Plots.Subplot,1},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Array{String,1},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Base.OneTo{Int64},Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),ColorPalette,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Float64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Int64,StepRange{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Nothing,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Plots.Subplot{Plots.GRBackend},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Plots.Subplot{Plots.PlotlyBackend},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Shape,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),StepRange{Int64,Int64},Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Symbol,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._heatmap_edges),Array{Float64,1},Bool})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{AbstractArray{Float64,1},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Array{Float64,1},1},Array{Array{Float64,1},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Array{T,1} where T,1},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Array{T,1} where T,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Complex{Float64},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Dates.DateTime,1},UnitRange{Int64},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Float64,1},Array{Float64,1},UnitRange{Int64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Float64,1},Array{Float64,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Function,1},Array{Float64,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Function,1},Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Function,1},Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Int64,1},Array{Float64,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{OHLC,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{String,1},Array{Float64,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{String,1},Array{String,1},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Tuple{Int64,Int64},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Tuple{Int64,Real},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Union{Missing, Int64},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Plots.PortfolioComposition}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Plots.Spy}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{StepRange{Int64,Int64},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{UnitRange{Int64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{typeof(log),Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{AbstractArray{Float64,1},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Array{Float64,1},1},Array{Array{Float64,1},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Array{T,1} where T,1},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Array{T,1} where T,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Complex{Float64},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Dates.DateTime,1},UnitRange{Int64},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Float64,1},Array{Float64,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Function,1},Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Int64,1},Array{Float64,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{OHLC,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{String,1},Array{Float64,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{String,1},Array{String,1},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Tuple{Int64,Int64},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Tuple{Int64,Real},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Union{Missing, Int64},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Plots.PortfolioComposition}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Plots.Spy}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{StepRange{Int64,Int64},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{UnitRange{Int64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._replace_markershape),Array{Symbol,2}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._replace_markershape),Shape})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._slice_series_args!),Dict{Symbol,Any},Plots.Plot{Plots.GRBackend},Plots.Subplot{Plots.GRBackend},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._slice_series_args!),Dict{Symbol,Any},Plots.Plot{Plots.PlotlyBackend},Plots.Subplot{Plots.PlotlyBackend},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._slice_series_args!),RecipesPipeline.DefaultsDict,Plots.Plot{Plots.GRBackend},Plots.Subplot{Plots.GRBackend},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._slice_series_args!),RecipesPipeline.DefaultsDict,Plots.Plot{Plots.PlotlyBackend},Plots.Subplot{Plots.PlotlyBackend},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._transform_ticks),Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._transform_ticks),StepRange{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._transform_ticks),Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._transform_ticks),UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._update_clims),Float64,Float64,Float64,Float64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._update_clims),Float64,Float64,Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._update_min_padding!),Plots.GridLayout})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._update_plot_args),Plots.Plot{Plots.GRBackend},RecipesPipeline.DefaultsDict})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._update_plot_args),Plots.Plot{Plots.PlotlyBackend},RecipesPipeline.DefaultsDict})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._update_subplot_args),Plots.Plot{Plots.GRBackend},Plots.Subplot{Plots.GRBackend},Dict{Symbol,Any},Int64,Bool})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._update_subplot_args),Plots.Plot{Plots.PlotlyBackend},Plots.Subplot{Plots.PlotlyBackend},Dict{Symbol,Any},Int64,Bool})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._update_subplot_periphery),Plots.Subplot{Plots.GRBackend},Array{Any,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._update_subplot_periphery),Plots.Subplot{Plots.PlotlyBackend},Array{Any,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.allStyles),Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.attr),Plots.EmptyLayout,Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.attr),Plots.EmptyLayout,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.bbox!),Plots.Subplot{Plots.GRBackend},Measures.BoundingBox{Tuple{Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}},Tuple{Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.bottom),Measures.BoundingBox{Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}},Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.bottompad),Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.build_layout),Plots.GridLayout,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.calc_num_subplots),Plots.EmptyLayout})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.convertLegendValue),Bool})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.convertLegendValue),Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.convert_to_polar),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1},Tuple{Int64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.create_grid),Expr})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.discrete_value!),Plots.Axis,Array{String,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.discrete_value!),Plots.Axis,Array{Union{Missing, Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.error_coords),Array{Float64,1},Array{Float64,1},Array{Float64,1},Vararg{Array{Float64,1},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.error_coords),Array{Float64,1},Array{Float64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.error_zipit),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.expand_extrema!),Plots.Axis,Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.expand_extrema!),Plots.Axis,Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.expand_extrema!),Plots.Axis,Base.OneTo{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.expand_extrema!),Plots.Axis,StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.expand_extrema!),Plots.Axis,StepRange{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.expand_extrema!),Plots.Axis,Surface{Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.expand_extrema!),Plots.Axis,Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.expand_extrema!),Plots.Axis,Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.expand_extrema!),Plots.Axis,UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.extend_by_data!),Array{Float64,1},Float64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.fakedata),Int64,Vararg{Int64,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_clims),Plots.Subplot{Plots.GRBackend},Plots.Series,Function})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_fillcolor),Plots.Series,Tuple{Float64,Float64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_fillcolor),Plots.Series,Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_gradient),PlotUtils.ContinuousColorGradient})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_linecolor),Plots.Series,Tuple{Float64,Float64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_linecolor),Plots.Series,Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_minor_ticks),Plots.Subplot{Plots.GRBackend},Plots.Axis,Tuple{Array{Float64,1},Array{Any,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_minor_ticks),Plots.Subplot{Plots.GRBackend},Plots.Axis,Tuple{Array{Float64,1},Array{String,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_minor_ticks),Plots.Subplot{Plots.GRBackend},Plots.Axis,Tuple{Array{Int64,1},Array{String,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_series_color),ColorPalette,Plots.Subplot{Plots.PlotlyBackend},Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_series_color),Int64,Plots.Subplot{Plots.GRBackend},Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_series_color),Int64,Plots.Subplot{Plots.PlotlyBackend},Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_series_color),PlotUtils.ContinuousColorGradient,Plots.Subplot{Plots.GRBackend},Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_series_color),PlotUtils.ContinuousColorGradient,Plots.Subplot{Plots.PlotlyBackend},Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_series_color),RGBA{Float64},Plots.Subplot{Plots.GRBackend},Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_series_color),RGBA{Float64},Plots.Subplot{Plots.PlotlyBackend},Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_series_color),Symbol,Plots.Subplot{Plots.GRBackend},Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_series_color),Symbol,Plots.Subplot{Plots.PlotlyBackend},Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_subplot),Plots.Plot{Plots.GRBackend},Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_subplot),Plots.Plot{Plots.PlotlyBackend},Plots.Subplot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_thickness_scaling),Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_xy),OHLC{Float64},Int64,Float64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_axis_height),Plots.Subplot{Plots.GRBackend},Plots.Axis})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_axis_width),Plots.Subplot{Plots.GRBackend},Plots.Axis})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_display),Plots.Subplot{Plots.GRBackend},Measures.Length{:mm,Float64},Measures.Length{:mm,Float64},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_colorbar),Plots.GRColorbar,Plots.Subplot{Plots.GRBackend},Tuple{Float64,Float64},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_marker),Plots.Series,Float64,Float64,Tuple{Float64,Float64},Int64,Float64,Float64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_marker),Plots.Series,Float64,Float64,Tuple{Float64,Float64},Int64,Int64,Int64,Shape})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_marker),Plots.Series,Float64,Float64,Tuple{Float64,Float64},Int64,Int64,Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_marker),Plots.Series,Int64,Float64,Tuple{Float64,Float64},Int64,Float64,Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_marker),Plots.Series,Int64,Float64,Tuple{Float64,Float64},Int64,Int64,Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_marker),Plots.Series,Int64,Int64,Tuple{Float64,Float64},Int64,Int64,Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,Array{Float64,1},Array{Float64,1},Tuple{Float64,Float64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,Array{Float64,1},Array{Float64,1},Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,Array{Int64,1},Array{Float64,1},Tuple{Float64,Float64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,Array{Int64,1},Array{Float64,1},Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,Array{Int64,1},Array{Int64,1},Tuple{Float64,Float64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,Array{Int64,1},Array{Int64,1},Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,Base.OneTo{Int64},Array{Float64,1},Tuple{Float64,Float64},Array{Float64,1},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,Base.OneTo{Int64},Array{Float64,1},Tuple{Float64,Float64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,Base.OneTo{Int64},Array{Float64,1},Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,Float64,Float64,Tuple{Float64,Float64},Float64,Float64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1},Tuple{Float64,Float64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1},Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_fill_viewport),Array{Float64,1},RGBA{Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_get_ticks_size),Tuple{Array{Float64,1},Array{Any,1}},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_get_ticks_size),Tuple{Array{Float64,1},Array{String,1}},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_get_ticks_size),Tuple{Array{Int64,1},Array{String,1}},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_legend_pos),Plots.Subplot{Plots.GRBackend},Float64,Float64,Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_polaraxes),Int64,Float64,Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_polyline),Array{Float64,1},Array{Float64,1},Function})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_set_bordercolor),RGBA{Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_set_fill),RGBA{Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_set_gradient),PlotUtils.ContinuousColorGradient})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_set_line),Float64,Symbol,RGBA{Float64},Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_set_line),Int64,Symbol,RGBA{Float64},Plots.Series})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_set_markercolor),RGBA{Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_set_textcolor),RGBA{Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_set_transparency),RGBA{Float64},Float64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_set_transparency),RGBA{Float64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_set_transparency),RGBA{Float64},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_text_size),String})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_tick_label),Plots.Axis,String})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_viewport_from_bbox),Plots.Subplot{Plots.GRBackend},Measures.BoundingBox{Tuple{Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}},Tuple{Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}}},Measures.Length{:mm,Float64},Measures.Length{:mm,Float64},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_w3tondc),Float64,Float64,Float64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.heatmap_edges),Array{Float64,1},Symbol,Array{Float64,1},Symbol,Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.heatmap_edges),Array{Float64,1},Symbol,UnitRange{Int64},Symbol,Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.heatmap_edges),Array{Float64,1},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.heatmap_edges),Base.OneTo{Int64},Symbol,Base.OneTo{Int64},Symbol,Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.heatmap_edges),Base.OneTo{Int64},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.heatmap_edges),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Symbol,StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Symbol,Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.heatmap_edges),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.heatmap_edges),UnitRange{Int64},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.ignorenan_extrema),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.ignorenan_extrema),Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.ignorenan_extrema),Base.OneTo{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.ignorenan_extrema),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.ignorenan_extrema),StepRange{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.ignorenan_maximum),Base.OneTo{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.ignorenan_minimum),Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.ignorenan_minimum),Base.OneTo{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.intersection_point),Float64,Float64,Float64,Float64,Float64,Float64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.is_2tuple),Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.is_2tuple),Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.is_2tuple),Tuple{Array{Float64,1},Array{Float64,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.is_2tuple),Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.is_2tuple),Tuple{Int64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.is_2tuple),Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.is_2tuple),Tuple{Int64,Measures.BoundingBox{Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}},Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.is_marker_supported),Plots.Stroke})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.is_marker_supported),Shape})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.is_uniformly_spaced),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.ispolar),Plots.Subplot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.labelfunc),Symbol,Plots.GRBackend})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.layout_args),Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.layout_args),Int64,Plots.GridLayout})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.layout_args),Int64,Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.layout_args),Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.layout_args),Plots.GridLayout})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.left),Measures.BoundingBox{Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}},Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.leftpad),Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.link_axes!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.link_axes!),Plots.Subplot{Plots.GRBackend},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.link_axes!),Plots.Subplot{Plots.PlotlyBackend},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.locate_annotation),Plots.Subplot{Plots.GRBackend},Int64,Float64,Plots.PlotText})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.make_fillrange_side),UnitRange{Int64},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.make_fillrange_side),UnitRange{Int64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.make_fillrange_side),UnitRange{Int64},LinRange{Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.make_fillrange_side),UnitRange{Int64},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.make_steps),Nothing,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.optimal_ticks_and_labels),Plots.Subplot{Plots.GRBackend},Plots.Axis,StepRange{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.optimal_ticks_and_labels),Plots.Subplot{Plots.GRBackend},Plots.Axis,UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.plotarea!),Plots.GridLayout,Measures.BoundingBox{Tuple{Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}},Tuple{Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.plotarea!),Plots.Subplot{Plots.GRBackend},Measures.BoundingBox{Tuple{Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}},Tuple{Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processFillArg),Dict{Symbol,Any},Bool})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processFillArg),Dict{Symbol,Any},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processFillArg),Dict{Symbol,Any},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processFontArg!),Dict{Symbol,Any},Symbol,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processFontArg!),Dict{Symbol,Any},Symbol,String})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processFontArg!),Dict{Symbol,Any},Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processGridArg!),Dict{Symbol,Any},Bool,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processGridArg!),Dict{Symbol,Any},Float64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processGridArg!),Dict{Symbol,Any},Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processGridArg!),Dict{Symbol,Any},Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processGridArg!),RecipesPipeline.DefaultsDict,Bool,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processLineArg),Dict{Symbol,Any},Array{Symbol,2}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processLineArg),Dict{Symbol,Any},Float64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processLineArg),Dict{Symbol,Any},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processLineArg),Dict{Symbol,Any},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processMarkerArg),Dict{Symbol,Any},Array{Symbol,2}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processMarkerArg),Dict{Symbol,Any},Bool})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processMarkerArg),Dict{Symbol,Any},Float64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processMarkerArg),Dict{Symbol,Any},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processMarkerArg),Dict{Symbol,Any},Plots.Stroke})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processMarkerArg),Dict{Symbol,Any},RGBA{Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processMarkerArg),Dict{Symbol,Any},Shape})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processMarkerArg),Dict{Symbol,Any},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processMinorGridArg!),Dict{Symbol,Any},Bool,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.process_annotation),Plots.Subplot{Plots.GRBackend},Int64,Float64,Plots.PlotText})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.process_annotation),Plots.Subplot{Plots.PlotlyBackend},Int64,Float64,Plots.PlotText})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.process_axis_arg!),Dict{Symbol,Any},StepRange{Int64,Int64},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.process_axis_arg!),Dict{Symbol,Any},String,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.process_axis_arg!),Dict{Symbol,Any},Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.process_axis_arg!),Dict{Symbol,Any},Tuple{Int64,Int64},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.process_clims),Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.reset_axis_defaults_byletter!)})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.rightpad),Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.rowsize),Expr})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.rowsize),Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.series_annotations),Array{Any,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Array{Float64,2},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Array{Measures.Length{:mm,Float64},2},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Array{PlotUtils.ContinuousColorGradient,2},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Array{RGBA{Float64},2},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Array{String,2},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Array{Symbol,2},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Base.ReshapedArray{Int64,2,UnitRange{Int64},Tuple{}},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Bool,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Float64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Function,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Nothing,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),RGBA{Float64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),StepRange{Int64,Int64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),String,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Symbol,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Tuple{Float64,Float64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Tuple{Int64,Float64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Tuple{Int64,Int64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),UnitRange{Int64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.straightline_data),Tuple{Float64,Float64},Tuple{Float64,Float64},Array{Float64,1},Array{Float64,1},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.toppad),Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.transpose_z),Plots.Series,Array{Float64,2},Bool})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.update_child_bboxes!),Plots.Subplot{Plots.GRBackend},Array{Measures.Length{:mm,Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.widen),Float64,Float64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Array{Any,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Bool})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Float64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Plots.SeriesAnnotations})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Array{Symbol,2},Int64,Float64,Plots.Stroke}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Array{Symbol,2},Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Int64,Array{Symbol,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Int64,Float64,Symbol,Plots.Stroke}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Int64,Float64,Symbol}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Int64,String}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Int64,Symbol,Float64,Array{Symbol,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Int64,Symbol,Symbol}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Int64,Symbol}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{LinRange{Float64},LinRange{Float64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Shape,Int64,RGBA{Float64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{String,Symbol}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{String,Tuple{Int64,Int64},StepRange{Int64,Int64},Symbol}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Symbol,Float64,Plots.Stroke}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Symbol,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Symbol,Symbol,Int64,Symbol,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Symbol,Symbol,Symbol,Int64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Array{Complex{Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Array{GeometryBasics.Point{2,Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Array{OHLC,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Plots.PortfolioComposition})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Plots.Spy})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:bar}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:bar}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:contour}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:contour}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:heatmap}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:heatmap}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:histogram2d}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:histogram2d}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:histogram}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:histogram}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:hline}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:hline}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:image}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:path}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:path}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:pie}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:pie}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:scatter}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:scatter}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:shape}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:shape}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:spy}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:spy}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:vline}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:vline}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:wireframe}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:wireframe}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:xerror}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:xerror}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:yerror}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:yerror}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:zerror}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:zerror}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:barbins}},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:barhist}},Base.OneTo{Int64},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:bar}},Array{Float64,1},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:bar}},Array{Int64,1},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:bar}},Base.OneTo{Int64},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:bins2d}},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Surface{Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:histogram2d}},Array{Float64,1},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:histogram}},Base.OneTo{Int64},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:hline}},Base.OneTo{Int64},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:line}},Base.OneTo{Int64},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:pie}},Array{String,1},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:steppost}},Array{Float64,1},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:steppre}},Array{Float64,1},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:steppre}},Array{Int64,1},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:steppre}},Base.OneTo{Int64},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:sticks}},Array{Float64,1},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:vline}},Base.OneTo{Int64},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:xerror}},Array{Float64,1},Array{Float64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:xerror}},Array{Float64,1},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:yerror}},Array{Float64,1},Array{Float64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:yerror}},Array{Float64,1},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:zerror}},Array{Float64,1},Array{Float64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.is_seriestype_supported),Plots.Plot{Plots.GRBackend},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.is_seriestype_supported),Plots.Plot{Plots.PlotlyBackend},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.preprocess_attributes!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.preprocess_attributes!),Plots.Plot{Plots.GRBackend},RecipesPipeline.DefaultsDict})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.preprocess_attributes!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.preprocess_attributes!),Plots.Plot{Plots.PlotlyBackend},RecipesPipeline.DefaultsDict})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.process_userrecipe!),Plots.Plot{Plots.GRBackend},Array{Dict{Symbol,Any},1},Dict{Symbol,Any}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.process_userrecipe!),Plots.Plot{Plots.PlotlyBackend},Array{Dict{Symbol,Any},1},Dict{Symbol,Any}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.GRBackend},Symbol,Array{Int64,1},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.GRBackend},Symbol,Array{String,1},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.GRBackend},Symbol,Array{Symbol,2},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.GRBackend},Symbol,Plots.GridLayout,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.GRBackend},Symbol,Plots.Plot{Plots.GRBackend},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.GRBackend},Symbol,String,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.GRBackend},Symbol,Symbol,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.PlotlyBackend},Symbol,Array{Int64,1},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.PlotlyBackend},Symbol,Array{String,1},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.PlotlyBackend},Symbol,Array{Symbol,2},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.PlotlyBackend},Symbol,Plots.GridLayout,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.PlotlyBackend},Symbol,Plots.Plot{Plots.PlotlyBackend},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.PlotlyBackend},Symbol,String,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.PlotlyBackend},Symbol,Symbol,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{AbstractArray{Float64,1},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Array{Float64,1},1},Vararg{Array{Array{Float64,1},1},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Array{T,1} where T,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Array{T,1} where T,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Complex{Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Dates.DateTime,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Function,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{GeometryBasics.Point{2,Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Int64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{OHLC,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{String,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Tuple{Int64,Int64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Tuple{Int64,Real},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Union{Missing, Int64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Formatted{Array{Int64,1}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Function,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Int64,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Nothing,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Plots.PortfolioComposition})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Plots.Spy})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,RecipesPipeline.GroupBy,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,StepRange{Int64,Int64},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Type,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{AbstractArray{Float64,1},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Array{Float64,1},1},Vararg{Array{Array{Float64,1},1},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Array{T,1} where T,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Array{T,1} where T,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Complex{Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Dates.DateTime,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Function,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{GeometryBasics.Point{2,Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Int64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{OHLC,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{String,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Tuple{Int64,Int64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Tuple{Int64,Real},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Union{Missing, Int64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Formatted{Array{Int64,1}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Function,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Int64,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Nothing,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Plots.PortfolioComposition})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Plots.Spy})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,RecipesPipeline.GroupBy,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,StepRange{Int64,Int64},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Type,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Array{Array{Float64,1},1},Vararg{Array{Array{Float64,1},1},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Array{Array{T,1} where T,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Array{Dates.DateTime,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Array{Function,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Array{Int64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Array{String,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Formatted{Array{Int64,1}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Function,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Int64,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Nothing,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,RecipesPipeline.GroupBy,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,StepRange{Int64,Int64},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Type,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipesPipeline.DefaultsDict,Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{AbstractArray{Float64,1},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Array{Float64,1},1},Vararg{Array{Array{Float64,1},1},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Array{T,1} where T,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Array{T,1} where T,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Complex{Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Dates.DateTime,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Float64,1},Vararg{Array{Float64,1},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Function,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{GeometryBasics.Point{2,Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Int64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{OHLC,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{String,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Tuple{Int64,Int64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Tuple{Int64,Real},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Union{Missing, Int64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Formatted{Array{Int64,1}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Function,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Nothing,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Plots.PortfolioComposition})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Plots.Spy})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,RecipesPipeline.GroupBy,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,StepRange{Int64,Int64},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Type,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{AbstractArray{Float64,1},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Array{Float64,1},1},Vararg{Array{Array{Float64,1},1},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Array{T,1} where T,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Array{T,1} where T,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Complex{Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Dates.DateTime,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Float64,1},Vararg{Array{Float64,1},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Function,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{GeometryBasics.Point{2,Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Int64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{OHLC,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{String,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Tuple{Int64,Int64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Tuple{Int64,Real},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Union{Missing, Int64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Formatted{Array{Int64,1}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Function,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Nothing,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Plots.PortfolioComposition})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Plots.Spy})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,RecipesPipeline.GroupBy,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,StepRange{Int64,Int64},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Type,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Array{Array{Float64,1},1},Vararg{Array{Array{Float64,1},1},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Array{Array{T,1} where T,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Array{Dates.DateTime,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Array{Float64,1},Vararg{Array{Float64,1},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Array{Function,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Array{Int64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Array{String,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Formatted{Array{Int64,1}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Function,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Nothing,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,RecipesPipeline.GroupBy,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,StepRange{Int64,Int64},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Type,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipesPipeline.DefaultsDict,Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(annotate!),Array{Tuple{Int64,Float64,Plots.PlotText},1}})
|
|
||||||
Base.precompile(Tuple{typeof(arrow),Int64})
|
|
||||||
Base.precompile(Tuple{typeof(backend),Plots.PlotlyBackend})
|
|
||||||
Base.precompile(Tuple{typeof(bar),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(bbox),Float64,Float64,Float64,Float64})
|
|
||||||
Base.precompile(Tuple{typeof(bbox),Measures.Length{:mm,Float64},Measures.Length{:mm,Float64},Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(contour),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(convert),Type{AbstractBackend},Plots.PlotlyBackend})
|
|
||||||
Base.precompile(Tuple{typeof(copy),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_colorgradient),Tuple{Array{Any,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(copy),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_fillalpha),Tuple{Array{Any,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(copy),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linealpha),Tuple{Array{Any,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(copy),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linestyle),Tuple{Array{Any,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(copy),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linewidth),Tuple{Array{Any,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(copy),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.gr_color),Tuple{Array{RGBA{Float64},1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(copy),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.gr_tick_label),Tuple{Tuple{Plots.Axis},Array{String,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(copyto!),Array{Any,1},Tuple{String,String,String,String,String,Plots.PlotText}})
|
|
||||||
Base.precompile(Tuple{typeof(deepcopy),Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(deepcopy),Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(default),Symbol,Bool})
|
|
||||||
Base.precompile(Tuple{typeof(default),Symbol,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(default),Symbol,String})
|
|
||||||
Base.precompile(Tuple{typeof(default),Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(enumerate),Tuple{Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend}}})
|
|
||||||
Base.precompile(Tuple{typeof(enumerate),Tuple{Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend}}})
|
|
||||||
Base.precompile(Tuple{typeof(enumerate),Tuple{Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend}}})
|
|
||||||
Base.precompile(Tuple{typeof(enumerate),Tuple{Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend}}})
|
|
||||||
Base.precompile(Tuple{typeof(font),String,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(frame),Animation,Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(get),Dict{Plots.Subplot,Any},Plots.Subplot{Plots.GRBackend},Dict{Symbol,Any}})
|
|
||||||
Base.precompile(Tuple{typeof(get),Dict{Plots.Subplot,Any},Plots.Subplot{Plots.PlotlyBackend},Dict{Symbol,Any}})
|
|
||||||
Base.precompile(Tuple{typeof(get),RecipesPipeline.DefaultsDict,Symbol,Plots.Arrow})
|
|
||||||
Base.precompile(Tuple{typeof(get),RecipesPipeline.DefaultsDict,Symbol,Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(get),RecipesPipeline.DefaultsDict,Symbol,Plots.Subplot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(getproperty),Plots.Arrow,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(getproperty),Plots.SeriesAnnotations,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(haskey),Dict{Symbol,Symbol},Shape})
|
|
||||||
Base.precompile(Tuple{typeof(heatmap),Array{Dates.DateTime,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(in),Plots.Arrow,Tuple{Bool,Nothing,Symbol}})
|
|
||||||
Base.precompile(Tuple{typeof(in),Plots.Subplot{Plots.GRBackend},Array{Plots.Subplot,1}})
|
|
||||||
Base.precompile(Tuple{typeof(in),Plots.Subplot{Plots.PlotlyBackend},Array{Plots.Subplot,1}})
|
|
||||||
Base.precompile(Tuple{typeof(iter_segments),Array{Float64,1},Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(iter_segments),Array{Float64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(iter_segments),Array{Int64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(iter_segments),Base.OneTo{Int64},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(iter_segments),Base.OneTo{Int64},UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(iter_segments),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(iter_segments),StepRange{Int64,Int64},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(iter_segments),UnitRange{Int64},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(iterate),Base.Iterators.Enumerate{Tuple{Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend}}},Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(iterate),Base.Iterators.Enumerate{Tuple{Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend}}},Tuple{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(iterate),Base.Iterators.Enumerate{Tuple{Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend}}},Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(iterate),Base.Iterators.Enumerate{Tuple{Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend}}},Tuple{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(iterate),Base.Iterators.Enumerate{Tuple{Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend}}},Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(iterate),Base.Iterators.Enumerate{Tuple{Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend}}},Tuple{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(iterate),Base.Iterators.Enumerate{Tuple{Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend}}},Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(iterate),Base.Iterators.Enumerate{Tuple{Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend}}},Tuple{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(ohlc),Array{OHLC,1}})
|
|
||||||
Base.precompile(Tuple{typeof(plot!),Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{typeof(plot!),Array{Tuple{Int64,Real},1}})
|
|
||||||
Base.precompile(Tuple{typeof(plot!),Plots.Plot{Plots.GRBackend},Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{typeof(plot!),Plots.Plot{Plots.GRBackend},Array{Tuple{Int64,Real},1}})
|
|
||||||
Base.precompile(Tuple{typeof(plot!),Plots.Plot{Plots.PlotlyBackend},Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{typeof(plot!),Plots.Plot{Plots.PlotlyBackend},Array{Tuple{Int64,Real},1}})
|
|
||||||
Base.precompile(Tuple{typeof(plot),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(plot),Array{Tuple{Int64,Int64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(plot),Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend},Vararg{Plots.Plot{Plots.GRBackend},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(plot),Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(plot),Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(plot),Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend},Vararg{Plots.Plot{Plots.PlotlyBackend},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(plot),Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(plot),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Function})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Plots.Plot{Plots.GRBackend},Float64,Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Segments{Float64},Float64,Float64,Float64,Float64,Vararg{Float64,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Segments{Float64},Float64,Int64,Int64,Float64,Vararg{Float64,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Segments{Tuple{Float64,Float64,Float64}},Tuple{Float64,Float64,Float64},Tuple{Float64,Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Segments{Tuple{Float64,Float64}},Tuple{Float64,Float64},Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Segments{Tuple{Float64,Float64}},Tuple{Float64,Int64},Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Segments{Tuple{Float64,Float64}},Tuple{Float64,Int64},Tuple{Float64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Segments{Tuple{Float64,Float64}},Tuple{Int64,Float64},Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Segments{Tuple{Float64,Float64}},Tuple{Int64,Float64},Tuple{Int64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Segments{Tuple{Float64,Float64}},Tuple{Int64,Int64},Tuple{Float64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Segments{Tuple{Float64,Float64}},Tuple{Int64,Int64},Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Any,Any},Plots.Plot{Plots.GRBackend},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Any,Any},Plots.Plot{Plots.PlotlyBackend},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Any,Plots.Subplot},Plots.Subplot{Plots.GRBackend},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Any,Plots.Subplot},Plots.Subplot{Plots.PlotlyBackend},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Plots.Subplot,Any},Dict{Symbol,Any},Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Plots.Subplot,Any},Dict{Symbol,Any},Plots.Subplot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Symbol,Any},Plots.Arrow,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Symbol,Any},Plots.GridLayout,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Symbol,Any},Plots.Subplot{Plots.GRBackend},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Symbol,Any},Plots.Subplot{Plots.PlotlyBackend},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Symbol,Any},Tuple{Array{Symbol,2},Int64,Float64,Plots.Stroke},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Symbol,Any},Tuple{Int64,Float64,Plots.PlotText},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Symbol,Any},Tuple{Int64,Float64,Symbol,Plots.Stroke},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Symbol,Any},Tuple{Shape,Int64,RGBA{Float64}},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Symbol,Any},Tuple{Symbol,Float64,Plots.Stroke},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Plots.Axis,Array{Any,1},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Plots.Axis,Array{Float64,1},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Plots.Axis,Dict{Any,Any},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Plots.Axis,Plots.Extrema,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Plots.GridLayout,Plots.EmptyLayout,Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Plots.GridLayout,Plots.GridLayout,Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Plots.Plot{Plots.GRBackend},RGBA{Float64},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Plots.Plot{Plots.PlotlyBackend},RGBA{Float64},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),RecipesPipeline.DefaultsDict,Array{Tuple{Int64,Float64,Plots.PlotText},1},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),RecipesPipeline.DefaultsDict,Plots.Arrow,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),RecipesPipeline.DefaultsDict,Plots.GridLayout,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),RecipesPipeline.DefaultsDict,Plots.Subplot{Plots.GRBackend},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),RecipesPipeline.DefaultsDict,Plots.Subplot{Plots.PlotlyBackend},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),RecipesPipeline.DefaultsDict,Tuple{Int64,Float64,Plots.PlotText},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setproperty!),Plots.GridLayout,Symbol,Measures.BoundingBox{Tuple{Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}},Tuple{Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}}}})
|
|
||||||
Base.precompile(Tuple{typeof(show),IOStream,MIME{Symbol("image/png")},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(similar),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.contour_levels),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}},Base.RefValue{Tuple{Float64,Float64}}}},Type{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}}}})
|
|
||||||
Base.precompile(Tuple{typeof(similar),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_colorgradient),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}},Type{PlotUtils.ContinuousColorGradient}})
|
|
||||||
Base.precompile(Tuple{typeof(similar),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_fillalpha),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}},Type{Nothing}})
|
|
||||||
Base.precompile(Tuple{typeof(similar),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linealpha),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}},Type{Nothing}})
|
|
||||||
Base.precompile(Tuple{typeof(similar),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linecolor),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}},Base.RefValue{Tuple{Float64,Float64}}}},Type{PlotUtils.ContinuousColorGradient}})
|
|
||||||
Base.precompile(Tuple{typeof(similar),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linestyle),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}},Type{Symbol}})
|
|
||||||
Base.precompile(Tuple{typeof(similar),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linewidth),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}},Type{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(stroke),Int64,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(text),String,Int64,Symbol,Vararg{Symbol,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(text),String,Symbol,Int64,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(text),String,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(title!),String})
|
|
||||||
Base.precompile(Tuple{typeof(vcat),Array{Any,1},Tuple{Int64,Float64,Plots.PlotText}})
|
|
||||||
Base.precompile(Tuple{typeof(vline!),Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(xgrid!),Plots.Plot{Plots.GRBackend},Symbol,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(xgrid!),Plots.Plot{Plots.PlotlyBackend},Symbol,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(xlims),Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(xlims),Plots.Subplot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(yaxis!),String,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(ylims),Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(ylims),Plots.Subplot{Plots.PlotlyBackend}})
|
|
||||||
isdefined(Plots, Symbol("##GridLayout#143")) && Base.precompile(Tuple{getfield(Plots, Symbol("##GridLayout#143")),Plots.RootLayout,Array{Float64,1},Array{Float64,1},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}},Type{Plots.GridLayout},Int64,Vararg{Int64,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##gr_polyline#339")) && Base.precompile(Tuple{getfield(Plots, Symbol("##gr_polyline#339")),Symbol,Symbol,typeof(Plots.gr_polyline),Array{Float64,1},Array{Float64,1},typeof(GR.fillarea)})
|
|
||||||
isdefined(Plots, Symbol("##gr_set_font#340")) && Base.precompile(Tuple{getfield(Plots, Symbol("##gr_set_font#340")),Symbol,Symbol,RGBA{Float64},Float64,typeof(Plots.gr_set_font),Plots.Font,Plots.Subplot{Plots.GRBackend}})
|
|
||||||
isdefined(Plots, Symbol("##gr_set_font#340")) && Base.precompile(Tuple{getfield(Plots, Symbol("##gr_set_font#340")),Symbol,Symbol,RGBA{Float64},Int64,typeof(Plots.gr_set_font),Plots.Font,Plots.Subplot{Plots.GRBackend}})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,Any,NTuple{5,Symbol},NamedTuple{(:zcolor, :m, :ms, :lab, :seriestype),Tuple{Array{Float64,1},Tuple{Symbol,Float64,Plots.Stroke},Array{Float64,1},String,Symbol}}},typeof(plot!),Array{Float64,1}})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol,Symbol},NamedTuple{(:marker, :series_annotations, :seriestype),Tuple{Tuple{Int64,Float64,Symbol},Array{Any,1},Symbol}}},typeof(plot!),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol,Symbol},NamedTuple{(:markersize, :c, :seriestype),Tuple{Int64,Symbol,Symbol}}},typeof(plot!),Array{Float64,1}})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol},NamedTuple{(:alpha, :seriestype),Tuple{Float64,Symbol}}},typeof(plot!),Array{GeometryBasics.Point{2,Float64},1}})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol},NamedTuple{(:line, :seriestype),Tuple{Tuple{Int64,Symbol,Float64,Array{Symbol,2}},Symbol}}},typeof(plot!),Array{Float64,2}})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol},NamedTuple{(:seriestype, :inset),Tuple{Symbol,Tuple{Int64,Measures.BoundingBox{Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}},Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}}}}}}},typeof(plot!),Array{Int64,1},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,Array{Tuple{Int64,Float64,Plots.PlotText},1},Tuple{Symbol},NamedTuple{(:annotation,),Tuple{Array{Tuple{Int64,Float64,Plots.PlotText},1}}}},typeof(plot!)})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,Int64,Tuple{Symbol},NamedTuple{(:w,),Tuple{Int64}}},typeof(plot!),Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,String,Tuple{Symbol},NamedTuple{(:title,),Tuple{String}}},typeof(plot!)})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,Symbol,Tuple{Symbol},NamedTuple{(:seriestype,),Tuple{Symbol}}},typeof(plot!),Array{Int64,1}})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,Tuple{String,Symbol},Tuple{Symbol},NamedTuple{(:yaxis,),Tuple{Tuple{String,Symbol}}}},typeof(plot!)})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}},typeof(plot!),Array{Float64,2}})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}},typeof(plot!),Array{Tuple{Int64,Real},1}})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Any,NTuple{5,Symbol},NamedTuple{(:lab, :w, :palette, :fill, :α),Tuple{String,Int64,PlotUtils.ContinuousColorGradient,Int64,Float64}}},typeof(plot),StepRange{Int64,Int64},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Any,NTuple{5,Symbol},NamedTuple{(:label, :title, :xlabel, :linewidth, :legend),Tuple{Array{String,2},String,String,Int64,Symbol}}},typeof(plot),Array{Function,1},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Any,NTuple{5,Symbol},NamedTuple{(:zcolor, :m, :leg, :cbar, :w),Tuple{StepRange{Int64,Int64},Tuple{Int64,Float64,Symbol,Plots.Stroke},Bool,Bool,Int64}}},typeof(plot),Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Any,NTuple{7,Symbol},NamedTuple{(:line, :marker, :bg, :fg, :xlim, :ylim, :leg),Tuple{Tuple{Int64,Symbol,Symbol},Tuple{Shape,Int64,RGBA{Float64}},Symbol,Symbol,Tuple{Int64,Int64},Tuple{Int64,Int64},Bool}}},typeof(plot),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol,Symbol},NamedTuple{(:line, :lab, :ms),Tuple{Tuple{Array{Symbol,2},Int64},Array{String,2},Int64}}},typeof(plot),Array{Array{T,1} where T,1},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol,Symbol},NamedTuple{(:line, :leg, :fill),Tuple{Int64,Bool,Tuple{Int64,Symbol}}}},typeof(plot),Function,Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol,Symbol},NamedTuple{(:line_z, :linewidth, :legend),Tuple{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Int64,Bool}}},typeof(plot),Array{Float64,1},Vararg{Array{Float64,1},N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol,Symbol},NamedTuple{(:xlims, :ylims, :leg),Tuple{Tuple{Int64,Float64},Tuple{Int64,Int64},Bool}}},typeof(plot),Function,Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol},NamedTuple{(:leg, :seriestype),Tuple{Bool,Symbol}}},typeof(plot),Array{Function,1},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol},NamedTuple{(:proj, :m),Tuple{Symbol,Int64}}},typeof(plot),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Bool,Tuple{Symbol},NamedTuple{(:leg,),Tuple{Bool}}},typeof(plot),Array{Function,1},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Int64,Tuple{Symbol},NamedTuple{(:arrow,),Tuple{Int64}}},typeof(plot),Array{Float64,1},Vararg{Array{Float64,1},N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}},typeof(plot),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##text#89")) && Base.precompile(Tuple{getfield(Plots, Symbol("##text#89")),Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}},typeof(text),String,Int64,Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##text#89")) && Base.precompile(Tuple{getfield(Plots, Symbol("##text#89")),Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}},typeof(text),String,Symbol,Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("#144#145")) && Base.precompile(Tuple{getfield(Plots, Symbol("#144#145")),Tuple{Int64,Expr}})
|
|
||||||
isdefined(Plots, Symbol("#144#145")) && Base.precompile(Tuple{getfield(Plots, Symbol("#144#145")),Tuple{Int64,Symbol}})
|
|
||||||
isdefined(Plots, Symbol("#146#147")) && Base.precompile(Tuple{getfield(Plots, Symbol("#146#147")),Tuple{Int64,Expr}})
|
|
||||||
isdefined(Plots, Symbol("#146#147")) && Base.precompile(Tuple{getfield(Plots, Symbol("#146#147")),Tuple{Int64,Symbol}})
|
|
||||||
isdefined(Plots, Symbol("#148#149")) && Base.precompile(Tuple{getfield(Plots, Symbol("#148#149")),Plots.Subplot{Plots.GRBackend}})
|
|
||||||
isdefined(Plots, Symbol("#148#149")) && Base.precompile(Tuple{getfield(Plots, Symbol("#148#149")),Plots.Subplot{Plots.PlotlyBackend}})
|
|
||||||
isdefined(Plots, Symbol("#281#314")) && Base.precompile(Tuple{getfield(Plots, Symbol("#281#314"))})
|
|
||||||
end
|
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,956 +0,0 @@
|
|||||||
function _precompile_()
|
|
||||||
ccall(:jl_generating_output, Cint, ()) == 1 || return nothing
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots._make_hist)),NamedTuple{(:normed, :weights),Tuple{Bool,Array{Int64,1}}},typeof(Plots._make_hist),Tuple{Array{Float64,1}},Symbol})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots._make_hist)),NamedTuple{(:normed, :weights),Tuple{Bool,Nothing}},typeof(Plots._make_hist),Tuple{Array{Float64,1},Array{Float64,1}},Int64})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots._make_hist)),NamedTuple{(:normed, :weights),Tuple{Bool,Nothing}},typeof(Plots._make_hist),Tuple{Array{Float64,1},Array{Float64,1}},Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots._make_hist)),NamedTuple{(:normed, :weights),Tuple{Bool,Nothing}},typeof(Plots._make_hist),Tuple{Array{Float64,1}},Symbol})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:flip,),Tuple{Bool}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:formatter,),Tuple{Symbol}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:formatter,),Tuple{typeof(RecipesPipeline.datetimeformatter)}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:grid, :lims),Tuple{Bool,Tuple{Int64,Int64}}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:grid, :lims, :flip),Tuple{Bool,Tuple{Int64,Int64},Bool}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:grid,),Tuple{Bool}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:gridlinewidth, :grid, :gridalpha, :gridstyle, :foreground_color_grid),Tuple{Int64,Bool,Float64,Symbol,RGBA{Float64}}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:guide,),Tuple{String}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:lims, :flip, :ticks, :guide),Tuple{Tuple{Int64,Int64},Bool,StepRange{Int64,Int64},String}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:lims,),Tuple{Tuple{Float64,Float64}}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:lims,),Tuple{Tuple{Int64,Float64}}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:lims,),Tuple{Tuple{Int64,Int64}}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:rotation,),Tuple{Int64}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:scale, :guide),Tuple{Symbol,String}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:ticks,),Tuple{Nothing}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:ticks,),Tuple{UnitRange{Int64}}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.contour)),NamedTuple{(:fill,),Tuple{Bool}},typeof(contour),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.default)),NamedTuple{(:titlefont, :legendfontsize, :guidefont, :tickfont, :guide, :framestyle, :yminorgrid),Tuple{Tuple{Int64,String},Int64,Tuple{Int64,Symbol},Tuple{Int64,Symbol},String,Symbol,Bool}},typeof(default)})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.gr_polyline)),NamedTuple{(:arrowside, :arrowstyle),Tuple{Symbol,Symbol}},typeof(Plots.gr_polyline),Array{Float64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.gr_polyline)),NamedTuple{(:arrowside, :arrowstyle),Tuple{Symbol,Symbol}},typeof(Plots.gr_polyline),Array{Int64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.gr_polyline)),NamedTuple{(:arrowside, :arrowstyle),Tuple{Symbol,Symbol}},typeof(Plots.gr_polyline),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.gr_polyline)),NamedTuple{(:arrowside, :arrowstyle),Tuple{Symbol,Symbol}},typeof(Plots.gr_polyline),StepRange{Int64,Int64},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.gr_polyline)),NamedTuple{(:arrowside, :arrowstyle),Tuple{Symbol,Symbol}},typeof(Plots.gr_polyline),UnitRange{Int64},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.gr_polyline)),NamedTuple{(:arrowside, :arrowstyle),Tuple{Symbol,Symbol}},typeof(Plots.gr_polyline),UnitRange{Int64},UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.gr_set_font)),NamedTuple{(:halign, :valign, :rotation),Tuple{Symbol,Symbol,Int64}},typeof(Plots.gr_set_font),Plots.Font,Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.gr_set_font)),NamedTuple{(:halign, :valign, :rotation, :color),Tuple{Symbol,Symbol,Int64,RGBA{Float64}}},typeof(Plots.gr_set_font),Plots.Font,Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.heatmap)),NamedTuple{(:aspect_ratio,),Tuple{Int64}},typeof(heatmap),Array{String,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.histogram)),NamedTuple{(:bins, :weights),Tuple{Symbol,Array{Int64,1}}},typeof(histogram),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.histogram2d)),NamedTuple{(:nbins, :show_empty_bins, :normed, :aspect_ratio),Tuple{Tuple{Int64,Int64},Bool,Bool,Int64}},typeof(histogram2d),Array{Complex{Float64},1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.histogram2d)),NamedTuple{(:nbins,),Tuple{Int64}},typeof(histogram2d),Array{Float64,1},Vararg{Array{Float64,1},N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.hline!)),NamedTuple{(:line,),Tuple{Tuple{Int64,Symbol,Float64,Array{Symbol,2}}}},typeof(hline!),Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.lens!)),NamedTuple{(:inset,),Tuple{Tuple{Int64,Measures.BoundingBox{Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}},Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}}}}}},typeof(lens!),Array{Int64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.pie)),NamedTuple{(:title, :l),Tuple{String,Float64}},typeof(pie),Array{String,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:alpha, :seriestype),Tuple{Float64,Symbol}},typeof(plot!),Array{GeometryBasics.Point{2,Float64},1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:alpha, :seriestype),Tuple{Float64,Symbol}},typeof(plot!),Plots.Plot{Plots.GRBackend},Array{GeometryBasics.Point{2,Float64},1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:alpha, :seriestype),Tuple{Float64,Symbol}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend},Array{GeometryBasics.Point{2,Float64},1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:annotation,),Tuple{Array{Tuple{Int64,Float64,Plots.PlotText},1}}},typeof(plot!),Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:annotation,),Tuple{Array{Tuple{Int64,Float64,Plots.PlotText},1}}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:annotation,),Tuple{Array{Tuple{Int64,Float64,Plots.PlotText},1}}},typeof(plot!)})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:line, :seriestype),Tuple{Tuple{Int64,Symbol,Float64,Array{Symbol,2}},Symbol}},typeof(plot!),Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:line, :seriestype),Tuple{Tuple{Int64,Symbol,Float64,Array{Symbol,2}},Symbol}},typeof(plot!),Plots.Plot{Plots.GRBackend},Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:line, :seriestype),Tuple{Tuple{Int64,Symbol,Float64,Array{Symbol,2}},Symbol}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend},Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:marker, :series_annotations, :seriestype),Tuple{Tuple{Int64,Float64,Symbol},Array{Any,1},Symbol}},typeof(plot!),Plots.Plot{Plots.GRBackend},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:marker, :series_annotations, :seriestype),Tuple{Tuple{Int64,Float64,Symbol},Array{Any,1},Symbol}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:marker, :series_annotations, :seriestype),Tuple{Tuple{Int64,Float64,Symbol},Array{Any,1},Symbol}},typeof(plot!),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:markersize, :c, :seriestype),Tuple{Int64,Symbol,Symbol}},typeof(plot!),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:markersize, :c, :seriestype),Tuple{Int64,Symbol,Symbol}},typeof(plot!),Plots.Plot{Plots.GRBackend},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:markersize, :c, :seriestype),Tuple{Int64,Symbol,Symbol}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:seriestype, :inset),Tuple{Symbol,Tuple{Int64,Measures.BoundingBox{Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}},Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}}}}}},typeof(plot!),Array{Int64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:seriestype, :inset),Tuple{Symbol,Tuple{Int64,Measures.BoundingBox{Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}},Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}}}}}},typeof(plot!),Plots.Plot{Plots.GRBackend},Array{Int64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:seriestype, :inset),Tuple{Symbol,Tuple{Int64,Measures.BoundingBox{Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}},Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}}}}}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend},Array{Int64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:seriestype,),Tuple{Symbol}},typeof(plot!),Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:seriestype,),Tuple{Symbol}},typeof(plot!),Plots.Plot{Plots.GRBackend},Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:seriestype,),Tuple{Symbol}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend},Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:title,),Tuple{String}},typeof(plot!),Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:title,),Tuple{String}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:title,),Tuple{String}},typeof(plot!)})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:w,),Tuple{Int64}},typeof(plot!),Array{Float64,1},Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:w,),Tuple{Int64}},typeof(plot!),Plots.Plot{Plots.GRBackend},Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:xgrid,),Tuple{Tuple{Symbol,Symbol,Int64,Symbol,Float64}}},typeof(plot!),Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:xgrid,),Tuple{Tuple{Symbol,Symbol,Int64,Symbol,Float64}}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:yaxis,),Tuple{Tuple{String,Symbol}}},typeof(plot!),Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:yaxis,),Tuple{Tuple{String,Symbol}}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:yaxis,),Tuple{Tuple{String,Symbol}}},typeof(plot!)})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:zcolor, :m, :ms, :lab, :seriestype),Tuple{Array{Float64,1},Tuple{Symbol,Float64,Plots.Stroke},Array{Float64,1},String,Symbol}},typeof(plot!),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:zcolor, :m, :ms, :lab, :seriestype),Tuple{Array{Float64,1},Tuple{Symbol,Float64,Plots.Stroke},Array{Float64,1},String,Symbol}},typeof(plot!),Plots.Plot{Plots.GRBackend},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:zcolor, :m, :ms, :lab, :seriestype),Tuple{Array{Float64,1},Tuple{Symbol,Float64,Plots.Stroke},Array{Float64,1},String,Symbol}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:annotations, :leg),Tuple{Tuple{Int64,Float64,Plots.PlotText},Bool}},typeof(plot),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:arrow,),Tuple{Int64}},typeof(plot),Array{Float64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:aspect_ratio, :seriestype),Tuple{Int64,Symbol}},typeof(plot),Array{String,1},Array{String,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:color, :line, :marker),Tuple{Array{Symbol,2},Tuple{Symbol,Int64},Tuple{Array{Symbol,2},Int64,Float64,Plots.Stroke}}},typeof(plot),Array{Array{T,1} where T,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:fill, :seriestype),Tuple{Bool,Symbol}},typeof(plot),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:framestyle, :title, :color, :layout, :label, :markerstrokewidth, :ticks, :seriestype),Tuple{Array{Symbol,2},Array{String,2},Base.ReshapedArray{Int64,2,UnitRange{Int64},Tuple{}},Int64,String,Int64,UnitRange{Int64},Symbol}},typeof(plot),Array{Array{Float64,1},1},Array{Array{Float64,1},1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:grid, :title),Tuple{Tuple{Symbol,Symbol,Symbol,Int64,Float64},String}},typeof(plot),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:lab, :w, :palette, :fill, :α),Tuple{String,Int64,PlotUtils.ContinuousColorGradient,Int64,Float64}},typeof(plot),StepRange{Int64,Int64},Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:label, :title, :xlabel, :linewidth, :legend),Tuple{Array{String,2},String,String,Int64,Symbol}},typeof(plot),Array{Function,1},Float64,Vararg{Float64,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:label,),Tuple{Array{String,2}}},typeof(plot),Array{AbstractArray{Float64,1},1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:layout, :group, :linetype, :linecolor),Tuple{Plots.GridLayout,Array{String,1},Array{Symbol,2},Symbol}},typeof(plot),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:layout, :label, :fillrange, :fillalpha),Tuple{Tuple{Int64,Int64},String,Int64,Float64}},typeof(plot),Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend},Vararg{Plots.Plot{Plots.GRBackend},N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:layout, :label, :fillrange, :fillalpha),Tuple{Tuple{Int64,Int64},String,Int64,Float64}},typeof(plot),Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend},Vararg{Plots.Plot{Plots.PlotlyBackend},N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:layout, :link),Tuple{Int64,Symbol}},typeof(plot),Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:layout, :link),Tuple{Int64,Symbol}},typeof(plot),Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:layout, :palette, :bg_inside),Tuple{Int64,Array{PlotUtils.ContinuousColorGradient,2},Array{Symbol,2}}},typeof(plot),Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:layout, :t, :leg, :ticks, :border),Tuple{Plots.GridLayout,Array{Symbol,2},Bool,Nothing,Symbol}},typeof(plot),Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:layout, :title, :titlelocation, :left_margin, :bottom_margin, :xrotation),Tuple{Plots.GridLayout,Array{String,2},Symbol,Array{Measures.Length{:mm,Float64},2},Measures.Length{:mm,Float64},Int64}},typeof(plot),Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:layout,),Tuple{Plots.GridLayout}},typeof(plot),Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend},Vararg{Plots.Plot{Plots.GRBackend},N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:legend,),Tuple{Bool}},typeof(plot),Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend},Vararg{Plots.Plot{Plots.GRBackend},N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:legend,),Tuple{Bool}},typeof(plot),Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend},Vararg{Plots.Plot{Plots.PlotlyBackend},N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:legend,),Tuple{Symbol}},typeof(plot),Array{Tuple{Int64,Real},1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:legend,),Tuple{Symbol}},typeof(plot),Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend},Vararg{Plots.Plot{Plots.GRBackend},N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:legend,),Tuple{Symbol}},typeof(plot),Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend},Vararg{Plots.Plot{Plots.PlotlyBackend},N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:line, :lab, :ms),Tuple{Tuple{Array{Symbol,2},Int64},Array{String,2},Int64}},typeof(plot),Array{Array{T,1} where T,1},Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:line, :label, :legendtitle),Tuple{Tuple{Int64,Array{Symbol,2}},Array{String,2},String}},typeof(plot),Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:line, :leg, :fill),Tuple{Int64,Bool,Tuple{Int64,Symbol}}},typeof(plot),Function,Function,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:line, :marker, :bg, :fg, :xlim, :ylim, :leg),Tuple{Tuple{Int64,Symbol,Symbol},Tuple{Shape,Int64,RGBA{Float64}},Symbol,Symbol,Tuple{Int64,Int64},Tuple{Int64,Int64},Bool}},typeof(plot),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:line_z, :linewidth, :legend),Tuple{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Int64,Bool}},typeof(plot),Array{Float64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:m, :lab, :bg, :xlim, :ylim, :seriestype),Tuple{Tuple{Int64,Symbol},Array{String,2},Symbol,Tuple{Int64,Int64},Tuple{Int64,Int64},Symbol}},typeof(plot),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:marker,),Tuple{Bool}},typeof(plot),Array{Complex{Float64},1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:marker,),Tuple{Bool}},typeof(plot),Array{Union{Missing, Int64},1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:marker_z, :color, :legend, :seriestype),Tuple{typeof(+),Symbol,Bool,Symbol}},typeof(plot),Array{Float64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:nbins, :seriestype),Tuple{Int64,Symbol}},typeof(plot),Array{Float64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:proj, :m),Tuple{Symbol,Int64}},typeof(plot),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:reg, :fill),Tuple{Bool,Tuple{Int64,Symbol}}},typeof(plot),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:ribbon,),Tuple{Int64}},typeof(plot),UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:ribbon,),Tuple{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}}}},typeof(plot),UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:ribbon,),Tuple{Tuple{LinRange{Float64},LinRange{Float64}}}},typeof(plot),UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:ribbon,),Tuple{typeof(sqrt)}},typeof(plot),UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:seriestype,),Tuple{Symbol}},typeof(plot),Array{Dates.DateTime,1},UnitRange{Int64},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:seriestype,),Tuple{Symbol}},typeof(plot),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:title, :l, :seriestype),Tuple{String,Float64,Symbol}},typeof(plot),Array{String,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:title,),Tuple{Array{String,2}}},typeof(plot),Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:title,),Tuple{Array{String,2}}},typeof(plot),Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:title,),Tuple{String}},typeof(plot),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:title,),Tuple{String}},typeof(plot),Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:title,),Tuple{String}},typeof(plot),Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:w,),Tuple{Int64}},typeof(plot),Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:xaxis, :background_color, :leg),Tuple{Tuple{String,Tuple{Int64,Int64},StepRange{Int64,Int64},Symbol},RGB{Float64},Bool}},typeof(plot),Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:zcolor, :m, :leg, :cbar, :w),Tuple{StepRange{Int64,Int64},Tuple{Int64,Float64,Symbol,Plots.Stroke},Bool,Bool,Int64}},typeof(plot),Array{Float64,1},Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.portfoliocomposition)),NamedTuple{(:labels,),Tuple{Array{String,2}}},typeof(portfoliocomposition),Array{Float64,2},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.scatter!)),NamedTuple{(:alpha,),Tuple{Float64}},typeof(scatter!),Array{GeometryBasics.Point{2,Float64},1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.scatter!)),NamedTuple{(:marker, :series_annotations),Tuple{Tuple{Int64,Float64,Symbol},Array{Any,1}}},typeof(scatter!),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.scatter!)),NamedTuple{(:markersize, :c),Tuple{Int64,Symbol}},typeof(scatter!),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.scatter!)),NamedTuple{(:zcolor, :m, :ms, :lab),Tuple{Array{Float64,1},Tuple{Symbol,Float64,Plots.Stroke},Array{Float64,1},String}},typeof(scatter!),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.scatter)),NamedTuple{(:framestyle, :title, :color, :layout, :label, :markerstrokewidth, :ticks),Tuple{Array{Symbol,2},Array{String,2},Base.ReshapedArray{Int64,2,UnitRange{Int64},Tuple{}},Int64,String,Int64,UnitRange{Int64}}},typeof(scatter),Array{Array{Float64,1},1},Vararg{Array{Array{Float64,1},1},N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.scatter)),NamedTuple{(:m, :lab, :bg, :xlim, :ylim),Tuple{Tuple{Int64,Symbol},Array{String,2},Symbol,Tuple{Int64,Int64},Tuple{Int64,Int64}}},typeof(scatter),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.scatter)),NamedTuple{(:marker_z, :color, :legend),Tuple{typeof(+),Symbol,Bool}},typeof(scatter),Array{Float64,1},Vararg{Array{Float64,1},N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.test_examples)),NamedTuple{(:skip, :disp),Tuple{Array{Int64,1},Bool}},typeof(test_examples),Symbol})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.test_examples)),NamedTuple{(:skip,),Tuple{Array{Int64,1}}},typeof(test_examples),Symbol})
|
|
||||||
Base.precompile(Tuple{Core.var"#kw#Type",NamedTuple{(:label, :blank),Tuple{Symbol,Bool}},Type{Plots.EmptyLayout}})
|
|
||||||
Base.precompile(Tuple{Core.var"#kw#Type",NamedTuple{(:label, :width, :height),Tuple{Symbol,Symbol,Measures.Length{:pct,Float64}}},Type{Plots.EmptyLayout}})
|
|
||||||
Base.precompile(Tuple{Core.var"#kw#Type",NamedTuple{(:parent,),Tuple{Plots.GridLayout}},Type{Plots.Subplot},Plots.GRBackend})
|
|
||||||
Base.precompile(Tuple{Core.var"#kw#Type",NamedTuple{(:parent,),Tuple{Plots.GridLayout}},Type{Plots.Subplot},Plots.PlotlyBackend})
|
|
||||||
Base.precompile(Tuple{Core.var"#kw#Type",NamedTuple{(:parent,),Tuple{Plots.Subplot{Plots.GRBackend}}},Type{Plots.Subplot},Plots.GRBackend})
|
|
||||||
Base.precompile(Tuple{Core.var"#kw#Type",NamedTuple{(:parent,),Tuple{Plots.Subplot{Plots.PlotlyBackend}}},Type{Plots.Subplot},Plots.PlotlyBackend})
|
|
||||||
Base.precompile(Tuple{Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Axes,F,Args} where Args<:Tuple where F where Axes},typeof(Plots.contour_levels),Tuple{Array{Any,1},Base.RefValue{Tuple{Float64,Float64}}}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Axes,F,Args} where Args<:Tuple where F where Axes},typeof(Plots.get_colorgradient),Tuple{Array{Any,1}}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Axes,F,Args} where Args<:Tuple where F where Axes},typeof(Plots.get_fillalpha),Tuple{Array{Any,1}}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Axes,F,Args} where Args<:Tuple where F where Axes},typeof(Plots.get_linealpha),Tuple{Array{Any,1}}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Axes,F,Args} where Args<:Tuple where F where Axes},typeof(Plots.get_linecolor),Tuple{Array{Any,1},Base.RefValue{Tuple{Float64,Float64}}}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Axes,F,Args} where Args<:Tuple where F where Axes},typeof(Plots.get_linestyle),Tuple{Array{Any,1}}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Axes,F,Args} where Args<:Tuple where F where Axes},typeof(Plots.get_linewidth),Tuple{Array{Any,1}}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Axes,F,Args} where Args<:Tuple where F where Axes},typeof(Plots.get_z_normalized),Tuple{Array{Float64,1},Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Axes,F,Args} where Args<:Tuple where F where Axes},typeof(Plots.gr_color),Tuple{Array{RGBA{Float64},1}}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Axes,F,Args} where Args<:Tuple where F where Axes},typeof(Plots.gr_tick_label),Tuple{Tuple{Plots.Axis},Array{String,1}}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Generator},typeof(Plots.bottompad),Array{AbstractLayout,1}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Generator},typeof(Plots.leftpad),Array{AbstractLayout,1}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Generator},typeof(Plots.rightpad),Array{AbstractLayout,1}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Generator},typeof(Plots.toppad),Array{AbstractLayout,1}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:annotations, :leg),T} where T<:Tuple},Tuple{Tuple{Int64,Float64,Plots.PlotText},Bool}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:color, :line, :marker),T} where T<:Tuple},Tuple{Array{Symbol,2},Tuple{Symbol,Int64},Tuple{Array{Symbol,2},Int64,Float64,Plots.Stroke}}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:layout, :group, :linetype, :linecolor),T} where T<:Tuple},Tuple{Plots.GridLayout,Array{String,1},Array{Symbol,2},Symbol}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:layout, :t, :leg, :ticks, :border),T} where T<:Tuple},Tuple{Plots.GridLayout,Array{Symbol,2},Bool,Nothing,Symbol}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:layout, :title, :titlelocation, :left_margin, :bottom_margin, :xrotation),T} where T<:Tuple},Tuple{Plots.GridLayout,Array{String,2},Symbol,Array{Measures.Length{:mm,Float64},2},Measures.Length{:mm,Float64},Int64}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:layout,),T} where T<:Tuple},Tuple{Plots.GridLayout}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:line, :marker, :bg, :fg, :xlim, :ylim, :leg),T} where T<:Tuple},Tuple{Tuple{Int64,Symbol,Symbol},Tuple{Shape,Int64,RGBA{Float64}},Symbol,Symbol,Tuple{Int64,Int64},Tuple{Int64,Int64},Bool}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:parent,),T} where T<:Tuple},Tuple{Plots.Subplot{Plots.GRBackend}}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:parent,),T} where T<:Tuple},Tuple{Plots.Subplot{Plots.PlotlyBackend}}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:zcolor, :m, :leg, :cbar, :w),T} where T<:Tuple},Tuple{StepRange{Int64,Int64},Tuple{Int64,Float64,Symbol,Plots.Stroke},Bool,Bool,Int64}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:zcolor, :m, :ms, :lab),T} where T<:Tuple},Tuple{Array{Float64,1},Tuple{Symbol,Float64,Plots.Stroke},Array{Float64,1},String}})
|
|
||||||
Base.precompile(Tuple{Type{Pair},Symbol,Plots.Arrow})
|
|
||||||
Base.precompile(Tuple{Type{Pair},Symbol,Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Type{Pair},Symbol,Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{Type{Pair},Symbol,Plots.SeriesAnnotations})
|
|
||||||
Base.precompile(Tuple{Type{Pair},Symbol,Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Type{Pair},Symbol,Plots.Subplot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{Type{Pair},Symbol,Shape})
|
|
||||||
Base.precompile(Tuple{Type{Plots.Font},String,Int64,Symbol,Symbol,Float64,RGBA{Float64}})
|
|
||||||
Base.precompile(Tuple{Type{Plots.GridLayout},Int64,Vararg{Int64,N} where N})
|
|
||||||
Base.precompile(Tuple{Type{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{Type{Plots.Plot},Plots.GRBackend,Int64,RecipesPipeline.DefaultsDict,Array{Plots.Series,1},Nothing,Array{Plots.Subplot,1},Dict{Any,Plots.Subplot},Plots.EmptyLayout,Array{Plots.Subplot,1},Bool})
|
|
||||||
Base.precompile(Tuple{Type{Plots.Plot},Plots.PlotlyBackend,Int64,RecipesPipeline.DefaultsDict,Array{Plots.Series,1},Nothing,Array{Plots.Subplot,1},Dict{Any,Plots.Subplot},Plots.EmptyLayout,Array{Plots.Subplot,1},Bool})
|
|
||||||
Base.precompile(Tuple{Type{Plots.SegmentsIterator},Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{Type{Plots.SegmentsIterator},Tuple{Array{Float64,1},Array{Float64,1},UnitRange{Int64}},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{Type{Shape},Array{Tuple{Float64,Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(!=),Plots.Arrow,Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(!=),Shape,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(*),Measures.Length{:mm,Float64},Measures.Length{:pct,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(==),Array{Tuple{Int64,Float64,Plots.PlotText},1},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(==),Plots.Arrow,Bool})
|
|
||||||
Base.precompile(Tuple{typeof(==),Plots.Axis,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(==),Plots.Extrema,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(==),Tuple{Int64,Float64,Plots.PlotText},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.broadcasted),Function,Tuple{Plots.Axis},Array{String,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.copyto_nonleaf!),Array{Int64,1},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linewidth),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}},Base.OneTo{Int64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.copyto_nonleaf!),Array{Nothing,1},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_fillalpha),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}},Base.OneTo{Int64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.copyto_nonleaf!),Array{Nothing,1},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linealpha),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}},Base.OneTo{Int64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.copyto_nonleaf!),Array{PlotUtils.ContinuousColorGradient,1},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_colorgradient),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}},Base.OneTo{Int64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.copyto_nonleaf!),Array{PlotUtils.ContinuousColorGradient,1},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linecolor),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}},Base.RefValue{Tuple{Float64,Float64}}}},Base.OneTo{Int64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.copyto_nonleaf!),Array{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},1},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.contour_levels),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}},Base.RefValue{Tuple{Float64,Float64}}}},Base.OneTo{Int64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.copyto_nonleaf!),Array{Symbol,1},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linestyle),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}},Base.OneTo{Int64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.instantiate),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Plots.get_colorgradient),Tuple{Array{Any,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.instantiate),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Plots.get_fillalpha),Tuple{Array{Any,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.instantiate),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Plots.get_linealpha),Tuple{Array{Any,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.instantiate),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Plots.get_linestyle),Tuple{Array{Any,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.instantiate),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Plots.get_linewidth),Tuple{Array{Any,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.instantiate),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Plots.gr_color),Tuple{Array{RGBA{Float64},1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.instantiate),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Plots.gr_tick_label),Tuple{Tuple{Plots.Axis},Array{String,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.materialize),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Plots.contour_levels),Tuple{Array{Any,1},Base.RefValue{Tuple{Float64,Float64}}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.materialize),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Plots.get_linecolor),Tuple{Array{Any,1},Base.RefValue{Tuple{Float64,Float64}}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.materialize),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Plots.get_z_normalized),Tuple{Array{Float64,1},Float64,Float64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._array_for),Type{Plots.Axis},Array{Any,1},Base.HasShape{1}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._compute_eltype),Type{Tuple{Array{Float64,1},Tuple{Symbol,Float64,Plots.Stroke},Array{Float64,1},String,Symbol}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._compute_eltype),Type{Tuple{Array{Float64,1},Tuple{Symbol,Float64,Plots.Stroke},Array{Float64,1},String}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._compute_eltype),Type{Tuple{Array{Symbol,2},Tuple{Symbol,Int64},Tuple{Array{Symbol,2},Int64,Float64,Plots.Stroke}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._compute_eltype),Type{Tuple{Plots.GridLayout,Array{String,1},Array{Symbol,2},Symbol}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._compute_eltype),Type{Tuple{Plots.GridLayout,Array{String,2},Symbol,Array{Measures.Length{:mm,Float64},2},Measures.Length{:mm,Float64},Int64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._compute_eltype),Type{Tuple{Plots.GridLayout,Array{Symbol,2},Bool,Nothing,Symbol}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._compute_eltype),Type{Tuple{StepRange{Int64,Int64},Tuple{Int64,Float64,Symbol,Plots.Stroke},Bool,Bool,Int64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._compute_eltype),Type{Tuple{Tuple{Int64,Float64,Plots.PlotText},Bool}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._compute_eltype),Type{Tuple{Tuple{Int64,Symbol,Symbol},Tuple{Shape,Int64,RGBA{Float64}},Symbol,Symbol,Tuple{Int64,Int64},Tuple{Int64,Int64},Bool}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._similar_for),Array{Any,1},Type{Int64},Base.Generator{Array{Any,1},typeof(Plots.rowsize)},Base.HasShape{1}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.collect_similar),Array{AbstractLayout,1},Base.Generator{Array{AbstractLayout,1},typeof(Plots.bottompad)}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.collect_similar),Array{AbstractLayout,1},Base.Generator{Array{AbstractLayout,1},typeof(Plots.leftpad)}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.collect_similar),Array{AbstractLayout,1},Base.Generator{Array{AbstractLayout,1},typeof(Plots.rightpad)}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.collect_similar),Array{AbstractLayout,1},Base.Generator{Array{AbstractLayout,1},typeof(Plots.toppad)}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.collect_to_with_first!),Array{Int64,1},Int64,Base.Generator{Array{Any,1},typeof(Plots.rowsize)},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Base.deepcopy_internal),Array{Plots.Series,1},IdDict{Any,Any}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.indexed_iterate),Tuple{Plots.GridLayout,Int64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Base.merge_types),NTuple{5,Symbol},Type{NamedTuple{(:zcolor, :m, :ms, :lab),Tuple{Array{Float64,1},Tuple{Symbol,Float64,Plots.Stroke},Array{Float64,1},String}}},Type{NamedTuple{(:seriestype,),Tuple{Symbol}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.merge_types),Tuple{Symbol},Type{NamedTuple{(:annotation,),Tuple{Array{Tuple{Int64,Float64,Plots.PlotText},1}}}},Type{NamedTuple{(),Tuple{}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.promote_typeof),String,Plots.PlotText})
|
|
||||||
Base.precompile(Tuple{typeof(Base.vect),Tuple{Int64,Float64,Plots.PlotText},Vararg{Tuple{Int64,Float64,Plots.PlotText},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._backend_instance),Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cbar_unique),Array{Int64,1},String})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cbar_unique),Array{Nothing,1},String})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cbar_unique),Array{PlotUtils.ContinuousColorGradient,1},String})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cbar_unique),Array{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},1},String})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cbar_unique),Array{Symbol,1},String})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._create_backend_figure),Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._create_backend_figure),Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Array{Any,1},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Array{Float64,1},Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Array{Float64,1},StepRange{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Array{Float64,1},UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Array{Plots.Subplot,1},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Array{String,1},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Base.OneTo{Int64},Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),ColorPalette,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Float64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Int64,StepRange{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Nothing,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Plots.Subplot{Plots.GRBackend},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Plots.Subplot{Plots.PlotlyBackend},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Shape,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),StepRange{Int64,Int64},Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Symbol,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._heatmap_edges),Array{Float64,1},Bool})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{AbstractArray{Float64,1},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Array{Float64,1},1},Array{Array{Float64,1},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Array{T,1} where T,1},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Array{T,1} where T,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Complex{Float64},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Dates.DateTime,1},UnitRange{Int64},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Float64,1},Array{Float64,1},UnitRange{Int64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Float64,1},Array{Float64,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Function,1},Array{Float64,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Function,1},Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Function,1},Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Int64,1},Array{Float64,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{OHLC,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{String,1},Array{Float64,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{String,1},Array{String,1},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Tuple{Int64,Int64},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Tuple{Int64,Real},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Union{Missing, Int64},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Plots.PortfolioComposition}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Plots.Spy}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{StepRange{Int64,Int64},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{UnitRange{Int64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{typeof(log),Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{AbstractArray{Float64,1},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Array{Float64,1},1},Array{Array{Float64,1},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Array{T,1} where T,1},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Array{T,1} where T,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Complex{Float64},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Dates.DateTime,1},UnitRange{Int64},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Float64,1},Array{Float64,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Function,1},Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Int64,1},Array{Float64,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{OHLC,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{String,1},Array{Float64,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{String,1},Array{String,1},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Tuple{Int64,Int64},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Tuple{Int64,Real},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Union{Missing, Int64},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Plots.PortfolioComposition}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Plots.Spy}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{StepRange{Int64,Int64},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{UnitRange{Int64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._replace_markershape),Array{Symbol,2}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._replace_markershape),Shape})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._slice_series_args!),Dict{Symbol,Any},Plots.Plot{Plots.GRBackend},Plots.Subplot{Plots.GRBackend},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._slice_series_args!),Dict{Symbol,Any},Plots.Plot{Plots.PlotlyBackend},Plots.Subplot{Plots.PlotlyBackend},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._slice_series_args!),RecipesPipeline.DefaultsDict,Plots.Plot{Plots.GRBackend},Plots.Subplot{Plots.GRBackend},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._slice_series_args!),RecipesPipeline.DefaultsDict,Plots.Plot{Plots.PlotlyBackend},Plots.Subplot{Plots.PlotlyBackend},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._transform_ticks),Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._transform_ticks),StepRange{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._transform_ticks),Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._transform_ticks),UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._update_clims),Float64,Float64,Float64,Float64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._update_clims),Float64,Float64,Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._update_min_padding!),Plots.GridLayout})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._update_plot_args),Plots.Plot{Plots.GRBackend},RecipesPipeline.DefaultsDict})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._update_plot_args),Plots.Plot{Plots.PlotlyBackend},RecipesPipeline.DefaultsDict})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._update_subplot_args),Plots.Plot{Plots.GRBackend},Plots.Subplot{Plots.GRBackend},Dict{Symbol,Any},Int64,Bool})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._update_subplot_args),Plots.Plot{Plots.PlotlyBackend},Plots.Subplot{Plots.PlotlyBackend},Dict{Symbol,Any},Int64,Bool})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._update_subplot_periphery),Plots.Subplot{Plots.GRBackend},Array{Any,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._update_subplot_periphery),Plots.Subplot{Plots.PlotlyBackend},Array{Any,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.allStyles),Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.attr),Plots.EmptyLayout,Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.attr),Plots.EmptyLayout,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.bbox!),Plots.Subplot{Plots.GRBackend},Measures.BoundingBox{Tuple{Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}},Tuple{Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.bottom),Measures.BoundingBox{Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}},Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.bottompad),Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.build_layout),Plots.GridLayout,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.calc_num_subplots),Plots.EmptyLayout})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.convertLegendValue),Bool})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.convertLegendValue),Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.convert_to_polar),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1},Tuple{Int64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.create_grid),Expr})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.discrete_value!),Plots.Axis,Array{String,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.discrete_value!),Plots.Axis,Array{Union{Missing, Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.error_coords),Array{Float64,1},Array{Float64,1},Array{Float64,1},Vararg{Array{Float64,1},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.error_coords),Array{Float64,1},Array{Float64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.error_zipit),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.expand_extrema!),Plots.Axis,Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.expand_extrema!),Plots.Axis,Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.expand_extrema!),Plots.Axis,Base.OneTo{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.expand_extrema!),Plots.Axis,StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.expand_extrema!),Plots.Axis,StepRange{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.expand_extrema!),Plots.Axis,Surface{Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.expand_extrema!),Plots.Axis,Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.expand_extrema!),Plots.Axis,Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.expand_extrema!),Plots.Axis,UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.extend_by_data!),Array{Float64,1},Float64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.fakedata),Int64,Vararg{Int64,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_clims),Plots.Subplot{Plots.GRBackend},Plots.Series,Function})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_fillcolor),Plots.Series,Tuple{Float64,Float64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_fillcolor),Plots.Series,Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_gradient),PlotUtils.ContinuousColorGradient})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_linecolor),Plots.Series,Tuple{Float64,Float64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_linecolor),Plots.Series,Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_minor_ticks),Plots.Subplot{Plots.GRBackend},Plots.Axis,Tuple{Array{Float64,1},Array{Any,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_minor_ticks),Plots.Subplot{Plots.GRBackend},Plots.Axis,Tuple{Array{Float64,1},Array{String,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_minor_ticks),Plots.Subplot{Plots.GRBackend},Plots.Axis,Tuple{Array{Int64,1},Array{String,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_series_color),ColorPalette,Plots.Subplot{Plots.PlotlyBackend},Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_series_color),Int64,Plots.Subplot{Plots.GRBackend},Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_series_color),Int64,Plots.Subplot{Plots.PlotlyBackend},Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_series_color),PlotUtils.ContinuousColorGradient,Plots.Subplot{Plots.GRBackend},Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_series_color),PlotUtils.ContinuousColorGradient,Plots.Subplot{Plots.PlotlyBackend},Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_series_color),RGBA{Float64},Plots.Subplot{Plots.GRBackend},Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_series_color),RGBA{Float64},Plots.Subplot{Plots.PlotlyBackend},Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_series_color),Symbol,Plots.Subplot{Plots.GRBackend},Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_series_color),Symbol,Plots.Subplot{Plots.PlotlyBackend},Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_subplot),Plots.Plot{Plots.GRBackend},Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_subplot),Plots.Plot{Plots.PlotlyBackend},Plots.Subplot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_thickness_scaling),Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_xy),OHLC{Float64},Int64,Float64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_axis_height),Plots.Subplot{Plots.GRBackend},Plots.Axis})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_axis_width),Plots.Subplot{Plots.GRBackend},Plots.Axis})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_display),Plots.Subplot{Plots.GRBackend},Measures.Length{:mm,Float64},Measures.Length{:mm,Float64},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_colorbar),Plots.GRColorbar,Plots.Subplot{Plots.GRBackend},Tuple{Float64,Float64},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_marker),Plots.Series,Float64,Float64,Tuple{Float64,Float64},Int64,Float64,Float64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_marker),Plots.Series,Float64,Float64,Tuple{Float64,Float64},Int64,Int64,Int64,Shape})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_marker),Plots.Series,Float64,Float64,Tuple{Float64,Float64},Int64,Int64,Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_marker),Plots.Series,Int64,Float64,Tuple{Float64,Float64},Int64,Float64,Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_marker),Plots.Series,Int64,Float64,Tuple{Float64,Float64},Int64,Int64,Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_marker),Plots.Series,Int64,Int64,Tuple{Float64,Float64},Int64,Int64,Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,Array{Float64,1},Array{Float64,1},Tuple{Float64,Float64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,Array{Float64,1},Array{Float64,1},Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,Array{Int64,1},Array{Float64,1},Tuple{Float64,Float64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,Array{Int64,1},Array{Float64,1},Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,Array{Int64,1},Array{Int64,1},Tuple{Float64,Float64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,Array{Int64,1},Array{Int64,1},Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,Base.OneTo{Int64},Array{Float64,1},Tuple{Float64,Float64},Array{Float64,1},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,Base.OneTo{Int64},Array{Float64,1},Tuple{Float64,Float64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,Base.OneTo{Int64},Array{Float64,1},Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,Float64,Float64,Tuple{Float64,Float64},Float64,Float64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1},Tuple{Float64,Float64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1},Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_fill_viewport),Array{Float64,1},RGBA{Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_get_ticks_size),Tuple{Array{Float64,1},Array{Any,1}},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_get_ticks_size),Tuple{Array{Float64,1},Array{String,1}},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_get_ticks_size),Tuple{Array{Int64,1},Array{String,1}},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_legend_pos),Plots.Subplot{Plots.GRBackend},Float64,Float64,Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_polaraxes),Int64,Float64,Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_polyline),Array{Float64,1},Array{Float64,1},Function})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_set_bordercolor),RGBA{Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_set_fill),RGBA{Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_set_gradient),PlotUtils.ContinuousColorGradient})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_set_line),Float64,Symbol,RGBA{Float64},Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_set_line),Int64,Symbol,RGBA{Float64},Plots.Series})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_set_markercolor),RGBA{Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_set_textcolor),RGBA{Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_set_transparency),RGBA{Float64},Float64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_set_transparency),RGBA{Float64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_set_transparency),RGBA{Float64},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_text_size),String})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_tick_label),Plots.Axis,String})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_viewport_from_bbox),Plots.Subplot{Plots.GRBackend},Measures.BoundingBox{Tuple{Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}},Tuple{Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}}},Measures.Length{:mm,Float64},Measures.Length{:mm,Float64},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_w3tondc),Float64,Float64,Float64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.heatmap_edges),Array{Float64,1},Symbol,Array{Float64,1},Symbol,Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.heatmap_edges),Array{Float64,1},Symbol,UnitRange{Int64},Symbol,Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.heatmap_edges),Array{Float64,1},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.heatmap_edges),Base.OneTo{Int64},Symbol,Base.OneTo{Int64},Symbol,Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.heatmap_edges),Base.OneTo{Int64},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.heatmap_edges),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Symbol,StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Symbol,Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.heatmap_edges),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.heatmap_edges),UnitRange{Int64},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.ignorenan_extrema),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.ignorenan_extrema),Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.ignorenan_extrema),Base.OneTo{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.ignorenan_extrema),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.ignorenan_extrema),StepRange{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.ignorenan_maximum),Base.OneTo{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.ignorenan_minimum),Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.ignorenan_minimum),Base.OneTo{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.intersection_point),Float64,Float64,Float64,Float64,Float64,Float64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.is_2tuple),Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.is_2tuple),Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.is_2tuple),Tuple{Array{Float64,1},Array{Float64,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.is_2tuple),Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.is_2tuple),Tuple{Int64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.is_2tuple),Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.is_2tuple),Tuple{Int64,Measures.BoundingBox{Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}},Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.is_marker_supported),Plots.Stroke})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.is_marker_supported),Shape})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.is_uniformly_spaced),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.ispolar),Plots.Subplot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.labelfunc),Symbol,Plots.GRBackend})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.layout_args),Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.layout_args),Int64,Plots.GridLayout})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.layout_args),Int64,Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.layout_args),Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.layout_args),Plots.GridLayout})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.left),Measures.BoundingBox{Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}},Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.leftpad),Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.link_axes!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.link_axes!),Plots.Subplot{Plots.GRBackend},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.link_axes!),Plots.Subplot{Plots.PlotlyBackend},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.locate_annotation),Plots.Subplot{Plots.GRBackend},Int64,Float64,Plots.PlotText})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.make_fillrange_side),UnitRange{Int64},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.make_fillrange_side),UnitRange{Int64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.make_fillrange_side),UnitRange{Int64},LinRange{Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.make_fillrange_side),UnitRange{Int64},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.make_steps),Nothing,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.optimal_ticks_and_labels),Plots.Subplot{Plots.GRBackend},Plots.Axis,StepRange{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.optimal_ticks_and_labels),Plots.Subplot{Plots.GRBackend},Plots.Axis,UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.plotarea!),Plots.GridLayout,Measures.BoundingBox{Tuple{Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}},Tuple{Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.plotarea!),Plots.Subplot{Plots.GRBackend},Measures.BoundingBox{Tuple{Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}},Tuple{Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processFillArg),Dict{Symbol,Any},Bool})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processFillArg),Dict{Symbol,Any},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processFillArg),Dict{Symbol,Any},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processFontArg!),Dict{Symbol,Any},Symbol,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processFontArg!),Dict{Symbol,Any},Symbol,String})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processFontArg!),Dict{Symbol,Any},Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processGridArg!),Dict{Symbol,Any},Bool,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processGridArg!),Dict{Symbol,Any},Float64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processGridArg!),Dict{Symbol,Any},Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processGridArg!),Dict{Symbol,Any},Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processGridArg!),RecipesPipeline.DefaultsDict,Bool,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processLineArg),Dict{Symbol,Any},Array{Symbol,2}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processLineArg),Dict{Symbol,Any},Float64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processLineArg),Dict{Symbol,Any},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processLineArg),Dict{Symbol,Any},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processMarkerArg),Dict{Symbol,Any},Array{Symbol,2}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processMarkerArg),Dict{Symbol,Any},Bool})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processMarkerArg),Dict{Symbol,Any},Float64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processMarkerArg),Dict{Symbol,Any},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processMarkerArg),Dict{Symbol,Any},Plots.Stroke})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processMarkerArg),Dict{Symbol,Any},RGBA{Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processMarkerArg),Dict{Symbol,Any},Shape})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processMarkerArg),Dict{Symbol,Any},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processMinorGridArg!),Dict{Symbol,Any},Bool,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.process_annotation),Plots.Subplot{Plots.GRBackend},Int64,Float64,Plots.PlotText})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.process_annotation),Plots.Subplot{Plots.PlotlyBackend},Int64,Float64,Plots.PlotText})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.process_axis_arg!),Dict{Symbol,Any},StepRange{Int64,Int64},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.process_axis_arg!),Dict{Symbol,Any},String,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.process_axis_arg!),Dict{Symbol,Any},Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.process_axis_arg!),Dict{Symbol,Any},Tuple{Int64,Int64},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.process_clims),Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.reset_axis_defaults_byletter!)})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.rightpad),Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.rowsize),Expr})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.rowsize),Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.series_annotations),Array{Any,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Array{Float64,2},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Array{Measures.Length{:mm,Float64},2},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Array{PlotUtils.ContinuousColorGradient,2},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Array{RGBA{Float64},2},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Array{String,2},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Array{Symbol,2},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Base.ReshapedArray{Int64,2,UnitRange{Int64},Tuple{}},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Bool,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Float64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Function,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Nothing,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),RGBA{Float64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),StepRange{Int64,Int64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),String,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Symbol,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Tuple{Float64,Float64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Tuple{Int64,Float64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Tuple{Int64,Int64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),UnitRange{Int64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.straightline_data),Tuple{Float64,Float64},Tuple{Float64,Float64},Array{Float64,1},Array{Float64,1},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.toppad),Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.transpose_z),Plots.Series,Array{Float64,2},Bool})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.update_child_bboxes!),Plots.Subplot{Plots.GRBackend},Array{Measures.Length{:mm,Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.widen),Float64,Float64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Array{Any,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Bool})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Float64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Plots.SeriesAnnotations})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Array{Symbol,2},Int64,Float64,Plots.Stroke}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Array{Symbol,2},Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Int64,Array{Symbol,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Int64,Float64,Symbol,Plots.Stroke}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Int64,Float64,Symbol}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Int64,String}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Int64,Symbol,Float64,Array{Symbol,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Int64,Symbol,Symbol}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Int64,Symbol}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{LinRange{Float64},LinRange{Float64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Shape,Int64,RGBA{Float64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{String,Symbol}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{String,Tuple{Int64,Int64},StepRange{Int64,Int64},Symbol}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Symbol,Float64,Plots.Stroke}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Symbol,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Symbol,Symbol,Int64,Symbol,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Symbol,Symbol,Symbol,Int64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Array{Complex{Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Array{GeometryBasics.Point{2,Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Array{OHLC,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Plots.PortfolioComposition})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Plots.Spy})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:bar}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:bar}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:contour}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:contour}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:heatmap}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:heatmap}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:histogram2d}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:histogram2d}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:histogram}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:histogram}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:hline}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:hline}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:image}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:path}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:path}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:pie}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:pie}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:scatter}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:scatter}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:shape}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:shape}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:spy}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:spy}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:vline}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:vline}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:wireframe}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:wireframe}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:xerror}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:xerror}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:yerror}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:yerror}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:zerror}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:zerror}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:barbins}},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:barhist}},Base.OneTo{Int64},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:bar}},Array{Float64,1},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:bar}},Array{Int64,1},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:bar}},Base.OneTo{Int64},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:bins2d}},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Surface{Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:histogram2d}},Array{Float64,1},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:histogram}},Base.OneTo{Int64},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:hline}},Base.OneTo{Int64},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:line}},Base.OneTo{Int64},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:pie}},Array{String,1},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:steppost}},Array{Float64,1},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:steppre}},Array{Float64,1},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:steppre}},Array{Int64,1},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:steppre}},Base.OneTo{Int64},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:sticks}},Array{Float64,1},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:vline}},Base.OneTo{Int64},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:xerror}},Array{Float64,1},Array{Float64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:xerror}},Array{Float64,1},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:yerror}},Array{Float64,1},Array{Float64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:yerror}},Array{Float64,1},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:zerror}},Array{Float64,1},Array{Float64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.is_seriestype_supported),Plots.Plot{Plots.GRBackend},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.is_seriestype_supported),Plots.Plot{Plots.PlotlyBackend},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.preprocess_attributes!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.preprocess_attributes!),Plots.Plot{Plots.GRBackend},RecipesPipeline.DefaultsDict})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.preprocess_attributes!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.preprocess_attributes!),Plots.Plot{Plots.PlotlyBackend},RecipesPipeline.DefaultsDict})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.process_userrecipe!),Plots.Plot{Plots.GRBackend},Array{Dict{Symbol,Any},1},Dict{Symbol,Any}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.process_userrecipe!),Plots.Plot{Plots.PlotlyBackend},Array{Dict{Symbol,Any},1},Dict{Symbol,Any}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.GRBackend},Symbol,Array{Int64,1},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.GRBackend},Symbol,Array{String,1},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.GRBackend},Symbol,Array{Symbol,2},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.GRBackend},Symbol,Plots.GridLayout,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.GRBackend},Symbol,Plots.Plot{Plots.GRBackend},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.GRBackend},Symbol,String,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.GRBackend},Symbol,Symbol,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.PlotlyBackend},Symbol,Array{Int64,1},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.PlotlyBackend},Symbol,Array{String,1},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.PlotlyBackend},Symbol,Array{Symbol,2},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.PlotlyBackend},Symbol,Plots.GridLayout,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.PlotlyBackend},Symbol,Plots.Plot{Plots.PlotlyBackend},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.PlotlyBackend},Symbol,String,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.PlotlyBackend},Symbol,Symbol,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{AbstractArray{Float64,1},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Array{Float64,1},1},Vararg{Array{Array{Float64,1},1},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Array{T,1} where T,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Array{T,1} where T,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Complex{Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Dates.DateTime,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Function,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{GeometryBasics.Point{2,Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Int64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{OHLC,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{String,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Tuple{Int64,Int64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Tuple{Int64,Real},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Union{Missing, Int64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Formatted{Array{Int64,1}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Function,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Int64,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Nothing,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Plots.PortfolioComposition})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Plots.Spy})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,RecipesPipeline.GroupBy,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,StepRange{Int64,Int64},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Type,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{AbstractArray{Float64,1},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Array{Float64,1},1},Vararg{Array{Array{Float64,1},1},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Array{T,1} where T,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Array{T,1} where T,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Complex{Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Dates.DateTime,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Function,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{GeometryBasics.Point{2,Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Int64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{OHLC,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{String,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Tuple{Int64,Int64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Tuple{Int64,Real},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Union{Missing, Int64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Formatted{Array{Int64,1}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Function,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Int64,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Nothing,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Plots.PortfolioComposition})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Plots.Spy})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,RecipesPipeline.GroupBy,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,StepRange{Int64,Int64},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Type,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Array{Array{Float64,1},1},Vararg{Array{Array{Float64,1},1},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Array{Array{T,1} where T,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Array{Dates.DateTime,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Array{Function,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Array{Int64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Array{String,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Formatted{Array{Int64,1}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Function,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Int64,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Nothing,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,RecipesPipeline.GroupBy,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,StepRange{Int64,Int64},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Type,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipesPipeline.DefaultsDict,Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{AbstractArray{Float64,1},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Array{Float64,1},1},Vararg{Array{Array{Float64,1},1},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Array{T,1} where T,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Array{T,1} where T,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Complex{Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Dates.DateTime,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Float64,1},Vararg{Array{Float64,1},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Function,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{GeometryBasics.Point{2,Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Int64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{OHLC,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{String,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Tuple{Int64,Int64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Tuple{Int64,Real},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Union{Missing, Int64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Formatted{Array{Int64,1}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Function,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Nothing,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Plots.PortfolioComposition})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Plots.Spy})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,RecipesPipeline.GroupBy,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,StepRange{Int64,Int64},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Type,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{AbstractArray{Float64,1},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Array{Float64,1},1},Vararg{Array{Array{Float64,1},1},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Array{T,1} where T,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Array{T,1} where T,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Complex{Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Dates.DateTime,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Float64,1},Vararg{Array{Float64,1},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Function,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{GeometryBasics.Point{2,Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Int64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{OHLC,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{String,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Tuple{Int64,Int64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Tuple{Int64,Real},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Union{Missing, Int64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Formatted{Array{Int64,1}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Function,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Nothing,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Plots.PortfolioComposition})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Plots.Spy})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,RecipesPipeline.GroupBy,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,StepRange{Int64,Int64},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Type,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Array{Array{Float64,1},1},Vararg{Array{Array{Float64,1},1},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Array{Array{T,1} where T,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Array{Dates.DateTime,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Array{Float64,1},Vararg{Array{Float64,1},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Array{Function,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Array{Int64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Array{String,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Formatted{Array{Int64,1}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Function,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Nothing,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,RecipesPipeline.GroupBy,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,StepRange{Int64,Int64},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Type,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipesPipeline.DefaultsDict,Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(annotate!),Array{Tuple{Int64,Float64,Plots.PlotText},1}})
|
|
||||||
Base.precompile(Tuple{typeof(arrow),Int64})
|
|
||||||
Base.precompile(Tuple{typeof(backend),Plots.PlotlyBackend})
|
|
||||||
Base.precompile(Tuple{typeof(bar),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(bbox),Float64,Float64,Float64,Float64})
|
|
||||||
Base.precompile(Tuple{typeof(bbox),Measures.Length{:mm,Float64},Measures.Length{:mm,Float64},Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(contour),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(convert),Type{AbstractBackend},Plots.PlotlyBackend})
|
|
||||||
Base.precompile(Tuple{typeof(copy),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_colorgradient),Tuple{Array{Any,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(copy),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_fillalpha),Tuple{Array{Any,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(copy),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linealpha),Tuple{Array{Any,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(copy),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linestyle),Tuple{Array{Any,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(copy),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linewidth),Tuple{Array{Any,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(copy),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.gr_color),Tuple{Array{RGBA{Float64},1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(copy),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.gr_tick_label),Tuple{Tuple{Plots.Axis},Array{String,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(copyto!),Array{Any,1},Tuple{String,String,String,String,String,Plots.PlotText}})
|
|
||||||
Base.precompile(Tuple{typeof(deepcopy),Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(deepcopy),Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(default),Symbol,Bool})
|
|
||||||
Base.precompile(Tuple{typeof(default),Symbol,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(default),Symbol,String})
|
|
||||||
Base.precompile(Tuple{typeof(default),Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(enumerate),Tuple{Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend}}})
|
|
||||||
Base.precompile(Tuple{typeof(enumerate),Tuple{Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend}}})
|
|
||||||
Base.precompile(Tuple{typeof(enumerate),Tuple{Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend}}})
|
|
||||||
Base.precompile(Tuple{typeof(enumerate),Tuple{Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend}}})
|
|
||||||
Base.precompile(Tuple{typeof(font),String,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(frame),Animation,Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(get),Dict{Plots.Subplot,Any},Plots.Subplot{Plots.GRBackend},Dict{Symbol,Any}})
|
|
||||||
Base.precompile(Tuple{typeof(get),Dict{Plots.Subplot,Any},Plots.Subplot{Plots.PlotlyBackend},Dict{Symbol,Any}})
|
|
||||||
Base.precompile(Tuple{typeof(get),RecipesPipeline.DefaultsDict,Symbol,Plots.Arrow})
|
|
||||||
Base.precompile(Tuple{typeof(get),RecipesPipeline.DefaultsDict,Symbol,Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(get),RecipesPipeline.DefaultsDict,Symbol,Plots.Subplot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(getproperty),Plots.Arrow,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(getproperty),Plots.SeriesAnnotations,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(haskey),Dict{Symbol,Symbol},Shape})
|
|
||||||
Base.precompile(Tuple{typeof(heatmap),Array{Dates.DateTime,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(in),Plots.Arrow,Tuple{Bool,Nothing,Symbol}})
|
|
||||||
Base.precompile(Tuple{typeof(in),Plots.Subplot{Plots.GRBackend},Array{Plots.Subplot,1}})
|
|
||||||
Base.precompile(Tuple{typeof(in),Plots.Subplot{Plots.PlotlyBackend},Array{Plots.Subplot,1}})
|
|
||||||
Base.precompile(Tuple{typeof(iter_segments),Array{Float64,1},Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(iter_segments),Array{Float64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(iter_segments),Array{Int64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(iter_segments),Base.OneTo{Int64},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(iter_segments),Base.OneTo{Int64},UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(iter_segments),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(iter_segments),StepRange{Int64,Int64},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(iter_segments),UnitRange{Int64},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(iterate),Base.Iterators.Enumerate{Tuple{Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend}}},Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(iterate),Base.Iterators.Enumerate{Tuple{Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend}}},Tuple{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(iterate),Base.Iterators.Enumerate{Tuple{Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend}}},Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(iterate),Base.Iterators.Enumerate{Tuple{Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend}}},Tuple{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(iterate),Base.Iterators.Enumerate{Tuple{Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend}}},Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(iterate),Base.Iterators.Enumerate{Tuple{Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend}}},Tuple{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(iterate),Base.Iterators.Enumerate{Tuple{Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend}}},Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(iterate),Base.Iterators.Enumerate{Tuple{Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend}}},Tuple{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(ohlc),Array{OHLC,1}})
|
|
||||||
Base.precompile(Tuple{typeof(plot!),Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{typeof(plot!),Array{Tuple{Int64,Real},1}})
|
|
||||||
Base.precompile(Tuple{typeof(plot!),Plots.Plot{Plots.GRBackend},Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{typeof(plot!),Plots.Plot{Plots.GRBackend},Array{Tuple{Int64,Real},1}})
|
|
||||||
Base.precompile(Tuple{typeof(plot!),Plots.Plot{Plots.PlotlyBackend},Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{typeof(plot!),Plots.Plot{Plots.PlotlyBackend},Array{Tuple{Int64,Real},1}})
|
|
||||||
Base.precompile(Tuple{typeof(plot),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(plot),Array{Tuple{Int64,Int64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(plot),Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend},Vararg{Plots.Plot{Plots.GRBackend},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(plot),Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(plot),Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(plot),Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend},Vararg{Plots.Plot{Plots.PlotlyBackend},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(plot),Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(plot),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Function})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Plots.Plot{Plots.GRBackend},Float64,Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Segments{Float64},Float64,Float64,Float64,Float64,Vararg{Float64,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Segments{Float64},Float64,Int64,Int64,Float64,Vararg{Float64,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Segments{Tuple{Float64,Float64,Float64}},Tuple{Float64,Float64,Float64},Tuple{Float64,Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Segments{Tuple{Float64,Float64}},Tuple{Float64,Float64},Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Segments{Tuple{Float64,Float64}},Tuple{Float64,Int64},Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Segments{Tuple{Float64,Float64}},Tuple{Float64,Int64},Tuple{Float64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Segments{Tuple{Float64,Float64}},Tuple{Int64,Float64},Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Segments{Tuple{Float64,Float64}},Tuple{Int64,Float64},Tuple{Int64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Segments{Tuple{Float64,Float64}},Tuple{Int64,Int64},Tuple{Float64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Segments{Tuple{Float64,Float64}},Tuple{Int64,Int64},Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Any,Any},Plots.Plot{Plots.GRBackend},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Any,Any},Plots.Plot{Plots.PlotlyBackend},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Any,Plots.Subplot},Plots.Subplot{Plots.GRBackend},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Any,Plots.Subplot},Plots.Subplot{Plots.PlotlyBackend},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Plots.Subplot,Any},Dict{Symbol,Any},Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Plots.Subplot,Any},Dict{Symbol,Any},Plots.Subplot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Symbol,Any},Plots.Arrow,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Symbol,Any},Plots.GridLayout,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Symbol,Any},Plots.Subplot{Plots.GRBackend},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Symbol,Any},Plots.Subplot{Plots.PlotlyBackend},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Symbol,Any},Tuple{Array{Symbol,2},Int64,Float64,Plots.Stroke},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Symbol,Any},Tuple{Int64,Float64,Plots.PlotText},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Symbol,Any},Tuple{Int64,Float64,Symbol,Plots.Stroke},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Symbol,Any},Tuple{Shape,Int64,RGBA{Float64}},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Symbol,Any},Tuple{Symbol,Float64,Plots.Stroke},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Plots.Axis,Array{Any,1},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Plots.Axis,Array{Float64,1},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Plots.Axis,Dict{Any,Any},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Plots.Axis,Plots.Extrema,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Plots.GridLayout,Plots.EmptyLayout,Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Plots.GridLayout,Plots.GridLayout,Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Plots.Plot{Plots.GRBackend},RGBA{Float64},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Plots.Plot{Plots.PlotlyBackend},RGBA{Float64},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),RecipesPipeline.DefaultsDict,Array{Tuple{Int64,Float64,Plots.PlotText},1},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),RecipesPipeline.DefaultsDict,Plots.Arrow,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),RecipesPipeline.DefaultsDict,Plots.GridLayout,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),RecipesPipeline.DefaultsDict,Plots.Subplot{Plots.GRBackend},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),RecipesPipeline.DefaultsDict,Plots.Subplot{Plots.PlotlyBackend},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),RecipesPipeline.DefaultsDict,Tuple{Int64,Float64,Plots.PlotText},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setproperty!),Plots.GridLayout,Symbol,Measures.BoundingBox{Tuple{Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}},Tuple{Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}}}})
|
|
||||||
Base.precompile(Tuple{typeof(show),IOStream,MIME{Symbol("image/png")},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(similar),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.contour_levels),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}},Base.RefValue{Tuple{Float64,Float64}}}},Type{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}}}})
|
|
||||||
Base.precompile(Tuple{typeof(similar),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_colorgradient),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}},Type{PlotUtils.ContinuousColorGradient}})
|
|
||||||
Base.precompile(Tuple{typeof(similar),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_fillalpha),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}},Type{Nothing}})
|
|
||||||
Base.precompile(Tuple{typeof(similar),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linealpha),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}},Type{Nothing}})
|
|
||||||
Base.precompile(Tuple{typeof(similar),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linecolor),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}},Base.RefValue{Tuple{Float64,Float64}}}},Type{PlotUtils.ContinuousColorGradient}})
|
|
||||||
Base.precompile(Tuple{typeof(similar),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linestyle),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}},Type{Symbol}})
|
|
||||||
Base.precompile(Tuple{typeof(similar),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linewidth),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}},Type{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(stroke),Int64,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(text),String,Int64,Symbol,Vararg{Symbol,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(text),String,Symbol,Int64,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(text),String,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(title!),String})
|
|
||||||
Base.precompile(Tuple{typeof(vcat),Array{Any,1},Tuple{Int64,Float64,Plots.PlotText}})
|
|
||||||
Base.precompile(Tuple{typeof(vline!),Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(xgrid!),Plots.Plot{Plots.GRBackend},Symbol,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(xgrid!),Plots.Plot{Plots.PlotlyBackend},Symbol,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(xlims),Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(xlims),Plots.Subplot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(yaxis!),String,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(ylims),Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(ylims),Plots.Subplot{Plots.PlotlyBackend}})
|
|
||||||
isdefined(Plots, Symbol("##GridLayout#143")) && Base.precompile(Tuple{getfield(Plots, Symbol("##GridLayout#143")),Plots.RootLayout,Array{Float64,1},Array{Float64,1},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}},Type{Plots.GridLayout},Int64,Vararg{Int64,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##gr_polyline#339")) && Base.precompile(Tuple{getfield(Plots, Symbol("##gr_polyline#339")),Symbol,Symbol,typeof(Plots.gr_polyline),Array{Float64,1},Array{Float64,1},typeof(GR.fillarea)})
|
|
||||||
isdefined(Plots, Symbol("##gr_set_font#340")) && Base.precompile(Tuple{getfield(Plots, Symbol("##gr_set_font#340")),Symbol,Symbol,RGBA{Float64},Float64,typeof(Plots.gr_set_font),Plots.Font,Plots.Subplot{Plots.GRBackend}})
|
|
||||||
isdefined(Plots, Symbol("##gr_set_font#340")) && Base.precompile(Tuple{getfield(Plots, Symbol("##gr_set_font#340")),Symbol,Symbol,RGBA{Float64},Int64,typeof(Plots.gr_set_font),Plots.Font,Plots.Subplot{Plots.GRBackend}})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,Any,NTuple{5,Symbol},NamedTuple{(:zcolor, :m, :ms, :lab, :seriestype),Tuple{Array{Float64,1},Tuple{Symbol,Float64,Plots.Stroke},Array{Float64,1},String,Symbol}}},typeof(plot!),Array{Float64,1}})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol,Symbol},NamedTuple{(:marker, :series_annotations, :seriestype),Tuple{Tuple{Int64,Float64,Symbol},Array{Any,1},Symbol}}},typeof(plot!),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol,Symbol},NamedTuple{(:markersize, :c, :seriestype),Tuple{Int64,Symbol,Symbol}}},typeof(plot!),Array{Float64,1}})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol},NamedTuple{(:alpha, :seriestype),Tuple{Float64,Symbol}}},typeof(plot!),Array{GeometryBasics.Point{2,Float64},1}})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol},NamedTuple{(:line, :seriestype),Tuple{Tuple{Int64,Symbol,Float64,Array{Symbol,2}},Symbol}}},typeof(plot!),Array{Float64,2}})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol},NamedTuple{(:seriestype, :inset),Tuple{Symbol,Tuple{Int64,Measures.BoundingBox{Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}},Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}}}}}}},typeof(plot!),Array{Int64,1},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,Array{Tuple{Int64,Float64,Plots.PlotText},1},Tuple{Symbol},NamedTuple{(:annotation,),Tuple{Array{Tuple{Int64,Float64,Plots.PlotText},1}}}},typeof(plot!)})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,Int64,Tuple{Symbol},NamedTuple{(:w,),Tuple{Int64}}},typeof(plot!),Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,String,Tuple{Symbol},NamedTuple{(:title,),Tuple{String}}},typeof(plot!)})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,Symbol,Tuple{Symbol},NamedTuple{(:seriestype,),Tuple{Symbol}}},typeof(plot!),Array{Int64,1}})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,Tuple{String,Symbol},Tuple{Symbol},NamedTuple{(:yaxis,),Tuple{Tuple{String,Symbol}}}},typeof(plot!)})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}},typeof(plot!),Array{Float64,2}})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}},typeof(plot!),Array{Tuple{Int64,Real},1}})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Any,NTuple{5,Symbol},NamedTuple{(:lab, :w, :palette, :fill, :α),Tuple{String,Int64,PlotUtils.ContinuousColorGradient,Int64,Float64}}},typeof(plot),StepRange{Int64,Int64},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Any,NTuple{5,Symbol},NamedTuple{(:label, :title, :xlabel, :linewidth, :legend),Tuple{Array{String,2},String,String,Int64,Symbol}}},typeof(plot),Array{Function,1},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Any,NTuple{5,Symbol},NamedTuple{(:zcolor, :m, :leg, :cbar, :w),Tuple{StepRange{Int64,Int64},Tuple{Int64,Float64,Symbol,Plots.Stroke},Bool,Bool,Int64}}},typeof(plot),Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Any,NTuple{7,Symbol},NamedTuple{(:line, :marker, :bg, :fg, :xlim, :ylim, :leg),Tuple{Tuple{Int64,Symbol,Symbol},Tuple{Shape,Int64,RGBA{Float64}},Symbol,Symbol,Tuple{Int64,Int64},Tuple{Int64,Int64},Bool}}},typeof(plot),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol,Symbol},NamedTuple{(:line, :lab, :ms),Tuple{Tuple{Array{Symbol,2},Int64},Array{String,2},Int64}}},typeof(plot),Array{Array{T,1} where T,1},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol,Symbol},NamedTuple{(:line, :leg, :fill),Tuple{Int64,Bool,Tuple{Int64,Symbol}}}},typeof(plot),Function,Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol,Symbol},NamedTuple{(:line_z, :linewidth, :legend),Tuple{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Int64,Bool}}},typeof(plot),Array{Float64,1},Vararg{Array{Float64,1},N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol,Symbol},NamedTuple{(:xlims, :ylims, :leg),Tuple{Tuple{Int64,Float64},Tuple{Int64,Int64},Bool}}},typeof(plot),Function,Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol},NamedTuple{(:leg, :seriestype),Tuple{Bool,Symbol}}},typeof(plot),Array{Function,1},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol},NamedTuple{(:proj, :m),Tuple{Symbol,Int64}}},typeof(plot),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Bool,Tuple{Symbol},NamedTuple{(:leg,),Tuple{Bool}}},typeof(plot),Array{Function,1},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Int64,Tuple{Symbol},NamedTuple{(:arrow,),Tuple{Int64}}},typeof(plot),Array{Float64,1},Vararg{Array{Float64,1},N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}},typeof(plot),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##text#89")) && Base.precompile(Tuple{getfield(Plots, Symbol("##text#89")),Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}},typeof(text),String,Int64,Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##text#89")) && Base.precompile(Tuple{getfield(Plots, Symbol("##text#89")),Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}},typeof(text),String,Symbol,Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("#144#145")) && Base.precompile(Tuple{getfield(Plots, Symbol("#144#145")),Tuple{Int64,Expr}})
|
|
||||||
isdefined(Plots, Symbol("#144#145")) && Base.precompile(Tuple{getfield(Plots, Symbol("#144#145")),Tuple{Int64,Symbol}})
|
|
||||||
isdefined(Plots, Symbol("#146#147")) && Base.precompile(Tuple{getfield(Plots, Symbol("#146#147")),Tuple{Int64,Expr}})
|
|
||||||
isdefined(Plots, Symbol("#146#147")) && Base.precompile(Tuple{getfield(Plots, Symbol("#146#147")),Tuple{Int64,Symbol}})
|
|
||||||
isdefined(Plots, Symbol("#148#149")) && Base.precompile(Tuple{getfield(Plots, Symbol("#148#149")),Plots.Subplot{Plots.GRBackend}})
|
|
||||||
isdefined(Plots, Symbol("#148#149")) && Base.precompile(Tuple{getfield(Plots, Symbol("#148#149")),Plots.Subplot{Plots.PlotlyBackend}})
|
|
||||||
isdefined(Plots, Symbol("#281#314")) && Base.precompile(Tuple{getfield(Plots, Symbol("#281#314"))})
|
|
||||||
end
|
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,956 +0,0 @@
|
|||||||
function _precompile_()
|
|
||||||
ccall(:jl_generating_output, Cint, ()) == 1 || return nothing
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots._make_hist)),NamedTuple{(:normed, :weights),Tuple{Bool,Array{Int64,1}}},typeof(Plots._make_hist),Tuple{Array{Float64,1}},Symbol})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots._make_hist)),NamedTuple{(:normed, :weights),Tuple{Bool,Nothing}},typeof(Plots._make_hist),Tuple{Array{Float64,1},Array{Float64,1}},Int64})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots._make_hist)),NamedTuple{(:normed, :weights),Tuple{Bool,Nothing}},typeof(Plots._make_hist),Tuple{Array{Float64,1},Array{Float64,1}},Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots._make_hist)),NamedTuple{(:normed, :weights),Tuple{Bool,Nothing}},typeof(Plots._make_hist),Tuple{Array{Float64,1}},Symbol})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:flip,),Tuple{Bool}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:formatter,),Tuple{Symbol}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:formatter,),Tuple{typeof(RecipesPipeline.datetimeformatter)}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:grid, :lims),Tuple{Bool,Tuple{Int64,Int64}}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:grid, :lims, :flip),Tuple{Bool,Tuple{Int64,Int64},Bool}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:grid,),Tuple{Bool}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:gridlinewidth, :grid, :gridalpha, :gridstyle, :foreground_color_grid),Tuple{Int64,Bool,Float64,Symbol,RGBA{Float64}}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:guide,),Tuple{String}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:lims, :flip, :ticks, :guide),Tuple{Tuple{Int64,Int64},Bool,StepRange{Int64,Int64},String}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:lims,),Tuple{Tuple{Float64,Float64}}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:lims,),Tuple{Tuple{Int64,Float64}}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:lims,),Tuple{Tuple{Int64,Int64}}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:rotation,),Tuple{Int64}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:scale, :guide),Tuple{Symbol,String}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:ticks,),Tuple{Nothing}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.attr!)),NamedTuple{(:ticks,),Tuple{UnitRange{Int64}}},typeof(attr!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.contour)),NamedTuple{(:fill,),Tuple{Bool}},typeof(contour),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.default)),NamedTuple{(:titlefont, :legendfontsize, :guidefont, :tickfont, :guide, :framestyle, :yminorgrid),Tuple{Tuple{Int64,String},Int64,Tuple{Int64,Symbol},Tuple{Int64,Symbol},String,Symbol,Bool}},typeof(default)})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.gr_polyline)),NamedTuple{(:arrowside, :arrowstyle),Tuple{Symbol,Symbol}},typeof(Plots.gr_polyline),Array{Float64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.gr_polyline)),NamedTuple{(:arrowside, :arrowstyle),Tuple{Symbol,Symbol}},typeof(Plots.gr_polyline),Array{Int64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.gr_polyline)),NamedTuple{(:arrowside, :arrowstyle),Tuple{Symbol,Symbol}},typeof(Plots.gr_polyline),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.gr_polyline)),NamedTuple{(:arrowside, :arrowstyle),Tuple{Symbol,Symbol}},typeof(Plots.gr_polyline),StepRange{Int64,Int64},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.gr_polyline)),NamedTuple{(:arrowside, :arrowstyle),Tuple{Symbol,Symbol}},typeof(Plots.gr_polyline),UnitRange{Int64},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.gr_polyline)),NamedTuple{(:arrowside, :arrowstyle),Tuple{Symbol,Symbol}},typeof(Plots.gr_polyline),UnitRange{Int64},UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.gr_set_font)),NamedTuple{(:halign, :valign, :rotation),Tuple{Symbol,Symbol,Int64}},typeof(Plots.gr_set_font),Plots.Font,Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.gr_set_font)),NamedTuple{(:halign, :valign, :rotation, :color),Tuple{Symbol,Symbol,Int64,RGBA{Float64}}},typeof(Plots.gr_set_font),Plots.Font,Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.heatmap)),NamedTuple{(:aspect_ratio,),Tuple{Int64}},typeof(heatmap),Array{String,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.histogram)),NamedTuple{(:bins, :weights),Tuple{Symbol,Array{Int64,1}}},typeof(histogram),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.histogram2d)),NamedTuple{(:nbins, :show_empty_bins, :normed, :aspect_ratio),Tuple{Tuple{Int64,Int64},Bool,Bool,Int64}},typeof(histogram2d),Array{Complex{Float64},1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.histogram2d)),NamedTuple{(:nbins,),Tuple{Int64}},typeof(histogram2d),Array{Float64,1},Vararg{Array{Float64,1},N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.hline!)),NamedTuple{(:line,),Tuple{Tuple{Int64,Symbol,Float64,Array{Symbol,2}}}},typeof(hline!),Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.lens!)),NamedTuple{(:inset,),Tuple{Tuple{Int64,Measures.BoundingBox{Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}},Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}}}}}},typeof(lens!),Array{Int64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.pie)),NamedTuple{(:title, :l),Tuple{String,Float64}},typeof(pie),Array{String,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:alpha, :seriestype),Tuple{Float64,Symbol}},typeof(plot!),Array{GeometryBasics.Point{2,Float64},1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:alpha, :seriestype),Tuple{Float64,Symbol}},typeof(plot!),Plots.Plot{Plots.GRBackend},Array{GeometryBasics.Point{2,Float64},1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:alpha, :seriestype),Tuple{Float64,Symbol}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend},Array{GeometryBasics.Point{2,Float64},1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:annotation,),Tuple{Array{Tuple{Int64,Float64,Plots.PlotText},1}}},typeof(plot!),Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:annotation,),Tuple{Array{Tuple{Int64,Float64,Plots.PlotText},1}}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:annotation,),Tuple{Array{Tuple{Int64,Float64,Plots.PlotText},1}}},typeof(plot!)})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:line, :seriestype),Tuple{Tuple{Int64,Symbol,Float64,Array{Symbol,2}},Symbol}},typeof(plot!),Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:line, :seriestype),Tuple{Tuple{Int64,Symbol,Float64,Array{Symbol,2}},Symbol}},typeof(plot!),Plots.Plot{Plots.GRBackend},Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:line, :seriestype),Tuple{Tuple{Int64,Symbol,Float64,Array{Symbol,2}},Symbol}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend},Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:marker, :series_annotations, :seriestype),Tuple{Tuple{Int64,Float64,Symbol},Array{Any,1},Symbol}},typeof(plot!),Plots.Plot{Plots.GRBackend},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:marker, :series_annotations, :seriestype),Tuple{Tuple{Int64,Float64,Symbol},Array{Any,1},Symbol}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:marker, :series_annotations, :seriestype),Tuple{Tuple{Int64,Float64,Symbol},Array{Any,1},Symbol}},typeof(plot!),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:markersize, :c, :seriestype),Tuple{Int64,Symbol,Symbol}},typeof(plot!),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:markersize, :c, :seriestype),Tuple{Int64,Symbol,Symbol}},typeof(plot!),Plots.Plot{Plots.GRBackend},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:markersize, :c, :seriestype),Tuple{Int64,Symbol,Symbol}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:seriestype, :inset),Tuple{Symbol,Tuple{Int64,Measures.BoundingBox{Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}},Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}}}}}},typeof(plot!),Array{Int64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:seriestype, :inset),Tuple{Symbol,Tuple{Int64,Measures.BoundingBox{Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}},Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}}}}}},typeof(plot!),Plots.Plot{Plots.GRBackend},Array{Int64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:seriestype, :inset),Tuple{Symbol,Tuple{Int64,Measures.BoundingBox{Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}},Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}}}}}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend},Array{Int64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:seriestype,),Tuple{Symbol}},typeof(plot!),Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:seriestype,),Tuple{Symbol}},typeof(plot!),Plots.Plot{Plots.GRBackend},Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:seriestype,),Tuple{Symbol}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend},Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:title,),Tuple{String}},typeof(plot!),Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:title,),Tuple{String}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:title,),Tuple{String}},typeof(plot!)})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:w,),Tuple{Int64}},typeof(plot!),Array{Float64,1},Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:w,),Tuple{Int64}},typeof(plot!),Plots.Plot{Plots.GRBackend},Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:xgrid,),Tuple{Tuple{Symbol,Symbol,Int64,Symbol,Float64}}},typeof(plot!),Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:xgrid,),Tuple{Tuple{Symbol,Symbol,Int64,Symbol,Float64}}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:yaxis,),Tuple{Tuple{String,Symbol}}},typeof(plot!),Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:yaxis,),Tuple{Tuple{String,Symbol}}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:yaxis,),Tuple{Tuple{String,Symbol}}},typeof(plot!)})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:zcolor, :m, :ms, :lab, :seriestype),Tuple{Array{Float64,1},Tuple{Symbol,Float64,Plots.Stroke},Array{Float64,1},String,Symbol}},typeof(plot!),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:zcolor, :m, :ms, :lab, :seriestype),Tuple{Array{Float64,1},Tuple{Symbol,Float64,Plots.Stroke},Array{Float64,1},String,Symbol}},typeof(plot!),Plots.Plot{Plots.GRBackend},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot!)),NamedTuple{(:zcolor, :m, :ms, :lab, :seriestype),Tuple{Array{Float64,1},Tuple{Symbol,Float64,Plots.Stroke},Array{Float64,1},String,Symbol}},typeof(plot!),Plots.Plot{Plots.PlotlyBackend},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:annotations, :leg),Tuple{Tuple{Int64,Float64,Plots.PlotText},Bool}},typeof(plot),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:arrow,),Tuple{Int64}},typeof(plot),Array{Float64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:aspect_ratio, :seriestype),Tuple{Int64,Symbol}},typeof(plot),Array{String,1},Array{String,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:color, :line, :marker),Tuple{Array{Symbol,2},Tuple{Symbol,Int64},Tuple{Array{Symbol,2},Int64,Float64,Plots.Stroke}}},typeof(plot),Array{Array{T,1} where T,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:fill, :seriestype),Tuple{Bool,Symbol}},typeof(plot),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:framestyle, :title, :color, :layout, :label, :markerstrokewidth, :ticks, :seriestype),Tuple{Array{Symbol,2},Array{String,2},Base.ReshapedArray{Int64,2,UnitRange{Int64},Tuple{}},Int64,String,Int64,UnitRange{Int64},Symbol}},typeof(plot),Array{Array{Float64,1},1},Array{Array{Float64,1},1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:grid, :title),Tuple{Tuple{Symbol,Symbol,Symbol,Int64,Float64},String}},typeof(plot),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:lab, :w, :palette, :fill, :α),Tuple{String,Int64,PlotUtils.ContinuousColorGradient,Int64,Float64}},typeof(plot),StepRange{Int64,Int64},Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:label, :title, :xlabel, :linewidth, :legend),Tuple{Array{String,2},String,String,Int64,Symbol}},typeof(plot),Array{Function,1},Float64,Vararg{Float64,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:label,),Tuple{Array{String,2}}},typeof(plot),Array{AbstractArray{Float64,1},1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:layout, :group, :linetype, :linecolor),Tuple{Plots.GridLayout,Array{String,1},Array{Symbol,2},Symbol}},typeof(plot),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:layout, :label, :fillrange, :fillalpha),Tuple{Tuple{Int64,Int64},String,Int64,Float64}},typeof(plot),Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend},Vararg{Plots.Plot{Plots.GRBackend},N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:layout, :label, :fillrange, :fillalpha),Tuple{Tuple{Int64,Int64},String,Int64,Float64}},typeof(plot),Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend},Vararg{Plots.Plot{Plots.PlotlyBackend},N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:layout, :link),Tuple{Int64,Symbol}},typeof(plot),Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:layout, :link),Tuple{Int64,Symbol}},typeof(plot),Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:layout, :palette, :bg_inside),Tuple{Int64,Array{PlotUtils.ContinuousColorGradient,2},Array{Symbol,2}}},typeof(plot),Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:layout, :t, :leg, :ticks, :border),Tuple{Plots.GridLayout,Array{Symbol,2},Bool,Nothing,Symbol}},typeof(plot),Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:layout, :title, :titlelocation, :left_margin, :bottom_margin, :xrotation),Tuple{Plots.GridLayout,Array{String,2},Symbol,Array{Measures.Length{:mm,Float64},2},Measures.Length{:mm,Float64},Int64}},typeof(plot),Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:layout,),Tuple{Plots.GridLayout}},typeof(plot),Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend},Vararg{Plots.Plot{Plots.GRBackend},N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:legend,),Tuple{Bool}},typeof(plot),Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend},Vararg{Plots.Plot{Plots.GRBackend},N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:legend,),Tuple{Bool}},typeof(plot),Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend},Vararg{Plots.Plot{Plots.PlotlyBackend},N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:legend,),Tuple{Symbol}},typeof(plot),Array{Tuple{Int64,Real},1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:legend,),Tuple{Symbol}},typeof(plot),Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend},Vararg{Plots.Plot{Plots.GRBackend},N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:legend,),Tuple{Symbol}},typeof(plot),Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend},Vararg{Plots.Plot{Plots.PlotlyBackend},N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:line, :lab, :ms),Tuple{Tuple{Array{Symbol,2},Int64},Array{String,2},Int64}},typeof(plot),Array{Array{T,1} where T,1},Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:line, :label, :legendtitle),Tuple{Tuple{Int64,Array{Symbol,2}},Array{String,2},String}},typeof(plot),Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:line, :leg, :fill),Tuple{Int64,Bool,Tuple{Int64,Symbol}}},typeof(plot),Function,Function,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:line, :marker, :bg, :fg, :xlim, :ylim, :leg),Tuple{Tuple{Int64,Symbol,Symbol},Tuple{Shape,Int64,RGBA{Float64}},Symbol,Symbol,Tuple{Int64,Int64},Tuple{Int64,Int64},Bool}},typeof(plot),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:line_z, :linewidth, :legend),Tuple{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Int64,Bool}},typeof(plot),Array{Float64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:m, :lab, :bg, :xlim, :ylim, :seriestype),Tuple{Tuple{Int64,Symbol},Array{String,2},Symbol,Tuple{Int64,Int64},Tuple{Int64,Int64},Symbol}},typeof(plot),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:marker,),Tuple{Bool}},typeof(plot),Array{Complex{Float64},1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:marker,),Tuple{Bool}},typeof(plot),Array{Union{Missing, Int64},1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:marker_z, :color, :legend, :seriestype),Tuple{typeof(+),Symbol,Bool,Symbol}},typeof(plot),Array{Float64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:nbins, :seriestype),Tuple{Int64,Symbol}},typeof(plot),Array{Float64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:proj, :m),Tuple{Symbol,Int64}},typeof(plot),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:reg, :fill),Tuple{Bool,Tuple{Int64,Symbol}}},typeof(plot),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:ribbon,),Tuple{Int64}},typeof(plot),UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:ribbon,),Tuple{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}}}},typeof(plot),UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:ribbon,),Tuple{Tuple{LinRange{Float64},LinRange{Float64}}}},typeof(plot),UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:ribbon,),Tuple{typeof(sqrt)}},typeof(plot),UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:seriestype,),Tuple{Symbol}},typeof(plot),Array{Dates.DateTime,1},UnitRange{Int64},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:seriestype,),Tuple{Symbol}},typeof(plot),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:title, :l, :seriestype),Tuple{String,Float64,Symbol}},typeof(plot),Array{String,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:title,),Tuple{Array{String,2}}},typeof(plot),Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:title,),Tuple{Array{String,2}}},typeof(plot),Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:title,),Tuple{String}},typeof(plot),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:title,),Tuple{String}},typeof(plot),Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:title,),Tuple{String}},typeof(plot),Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:w,),Tuple{Int64}},typeof(plot),Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:xaxis, :background_color, :leg),Tuple{Tuple{String,Tuple{Int64,Int64},StepRange{Int64,Int64},Symbol},RGB{Float64},Bool}},typeof(plot),Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.plot)),NamedTuple{(:zcolor, :m, :leg, :cbar, :w),Tuple{StepRange{Int64,Int64},Tuple{Int64,Float64,Symbol,Plots.Stroke},Bool,Bool,Int64}},typeof(plot),Array{Float64,1},Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.portfoliocomposition)),NamedTuple{(:labels,),Tuple{Array{String,2}}},typeof(portfoliocomposition),Array{Float64,2},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.scatter!)),NamedTuple{(:alpha,),Tuple{Float64}},typeof(scatter!),Array{GeometryBasics.Point{2,Float64},1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.scatter!)),NamedTuple{(:marker, :series_annotations),Tuple{Tuple{Int64,Float64,Symbol},Array{Any,1}}},typeof(scatter!),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.scatter!)),NamedTuple{(:markersize, :c),Tuple{Int64,Symbol}},typeof(scatter!),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.scatter!)),NamedTuple{(:zcolor, :m, :ms, :lab),Tuple{Array{Float64,1},Tuple{Symbol,Float64,Plots.Stroke},Array{Float64,1},String}},typeof(scatter!),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.scatter)),NamedTuple{(:framestyle, :title, :color, :layout, :label, :markerstrokewidth, :ticks),Tuple{Array{Symbol,2},Array{String,2},Base.ReshapedArray{Int64,2,UnitRange{Int64},Tuple{}},Int64,String,Int64,UnitRange{Int64}}},typeof(scatter),Array{Array{Float64,1},1},Vararg{Array{Array{Float64,1},1},N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.scatter)),NamedTuple{(:m, :lab, :bg, :xlim, :ylim),Tuple{Tuple{Int64,Symbol},Array{String,2},Symbol,Tuple{Int64,Int64},Tuple{Int64,Int64}}},typeof(scatter),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.scatter)),NamedTuple{(:marker_z, :color, :legend),Tuple{typeof(+),Symbol,Bool}},typeof(scatter),Array{Float64,1},Vararg{Array{Float64,1},N} where N})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.test_examples)),NamedTuple{(:skip, :disp),Tuple{Array{Int64,1},Bool}},typeof(test_examples),Symbol})
|
|
||||||
Base.precompile(Tuple{Core.kwftype(typeof(Plots.test_examples)),NamedTuple{(:skip,),Tuple{Array{Int64,1}}},typeof(test_examples),Symbol})
|
|
||||||
Base.precompile(Tuple{Core.var"#kw#Type",NamedTuple{(:label, :blank),Tuple{Symbol,Bool}},Type{Plots.EmptyLayout}})
|
|
||||||
Base.precompile(Tuple{Core.var"#kw#Type",NamedTuple{(:label, :width, :height),Tuple{Symbol,Symbol,Measures.Length{:pct,Float64}}},Type{Plots.EmptyLayout}})
|
|
||||||
Base.precompile(Tuple{Core.var"#kw#Type",NamedTuple{(:parent,),Tuple{Plots.GridLayout}},Type{Plots.Subplot},Plots.GRBackend})
|
|
||||||
Base.precompile(Tuple{Core.var"#kw#Type",NamedTuple{(:parent,),Tuple{Plots.GridLayout}},Type{Plots.Subplot},Plots.PlotlyBackend})
|
|
||||||
Base.precompile(Tuple{Core.var"#kw#Type",NamedTuple{(:parent,),Tuple{Plots.Subplot{Plots.GRBackend}}},Type{Plots.Subplot},Plots.GRBackend})
|
|
||||||
Base.precompile(Tuple{Core.var"#kw#Type",NamedTuple{(:parent,),Tuple{Plots.Subplot{Plots.PlotlyBackend}}},Type{Plots.Subplot},Plots.PlotlyBackend})
|
|
||||||
Base.precompile(Tuple{Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Axes,F,Args} where Args<:Tuple where F where Axes},typeof(Plots.contour_levels),Tuple{Array{Any,1},Base.RefValue{Tuple{Float64,Float64}}}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Axes,F,Args} where Args<:Tuple where F where Axes},typeof(Plots.get_colorgradient),Tuple{Array{Any,1}}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Axes,F,Args} where Args<:Tuple where F where Axes},typeof(Plots.get_fillalpha),Tuple{Array{Any,1}}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Axes,F,Args} where Args<:Tuple where F where Axes},typeof(Plots.get_linealpha),Tuple{Array{Any,1}}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Axes,F,Args} where Args<:Tuple where F where Axes},typeof(Plots.get_linecolor),Tuple{Array{Any,1},Base.RefValue{Tuple{Float64,Float64}}}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Axes,F,Args} where Args<:Tuple where F where Axes},typeof(Plots.get_linestyle),Tuple{Array{Any,1}}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Axes,F,Args} where Args<:Tuple where F where Axes},typeof(Plots.get_linewidth),Tuple{Array{Any,1}}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Axes,F,Args} where Args<:Tuple where F where Axes},typeof(Plots.get_z_normalized),Tuple{Array{Float64,1},Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Axes,F,Args} where Args<:Tuple where F where Axes},typeof(Plots.gr_color),Tuple{Array{RGBA{Float64},1}}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Axes,F,Args} where Args<:Tuple where F where Axes},typeof(Plots.gr_tick_label),Tuple{Tuple{Plots.Axis},Array{String,1}}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Generator},typeof(Plots.bottompad),Array{AbstractLayout,1}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Generator},typeof(Plots.leftpad),Array{AbstractLayout,1}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Generator},typeof(Plots.rightpad),Array{AbstractLayout,1}})
|
|
||||||
Base.precompile(Tuple{Type{Base.Generator},typeof(Plots.toppad),Array{AbstractLayout,1}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:annotations, :leg),T} where T<:Tuple},Tuple{Tuple{Int64,Float64,Plots.PlotText},Bool}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:color, :line, :marker),T} where T<:Tuple},Tuple{Array{Symbol,2},Tuple{Symbol,Int64},Tuple{Array{Symbol,2},Int64,Float64,Plots.Stroke}}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:layout, :group, :linetype, :linecolor),T} where T<:Tuple},Tuple{Plots.GridLayout,Array{String,1},Array{Symbol,2},Symbol}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:layout, :t, :leg, :ticks, :border),T} where T<:Tuple},Tuple{Plots.GridLayout,Array{Symbol,2},Bool,Nothing,Symbol}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:layout, :title, :titlelocation, :left_margin, :bottom_margin, :xrotation),T} where T<:Tuple},Tuple{Plots.GridLayout,Array{String,2},Symbol,Array{Measures.Length{:mm,Float64},2},Measures.Length{:mm,Float64},Int64}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:layout,),T} where T<:Tuple},Tuple{Plots.GridLayout}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:line, :marker, :bg, :fg, :xlim, :ylim, :leg),T} where T<:Tuple},Tuple{Tuple{Int64,Symbol,Symbol},Tuple{Shape,Int64,RGBA{Float64}},Symbol,Symbol,Tuple{Int64,Int64},Tuple{Int64,Int64},Bool}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:parent,),T} where T<:Tuple},Tuple{Plots.Subplot{Plots.GRBackend}}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:parent,),T} where T<:Tuple},Tuple{Plots.Subplot{Plots.PlotlyBackend}}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:zcolor, :m, :leg, :cbar, :w),T} where T<:Tuple},Tuple{StepRange{Int64,Int64},Tuple{Int64,Float64,Symbol,Plots.Stroke},Bool,Bool,Int64}})
|
|
||||||
Base.precompile(Tuple{Type{NamedTuple{(:zcolor, :m, :ms, :lab),T} where T<:Tuple},Tuple{Array{Float64,1},Tuple{Symbol,Float64,Plots.Stroke},Array{Float64,1},String}})
|
|
||||||
Base.precompile(Tuple{Type{Pair},Symbol,Plots.Arrow})
|
|
||||||
Base.precompile(Tuple{Type{Pair},Symbol,Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Type{Pair},Symbol,Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{Type{Pair},Symbol,Plots.SeriesAnnotations})
|
|
||||||
Base.precompile(Tuple{Type{Pair},Symbol,Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{Type{Pair},Symbol,Plots.Subplot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{Type{Pair},Symbol,Shape})
|
|
||||||
Base.precompile(Tuple{Type{Plots.Font},String,Int64,Symbol,Symbol,Float64,RGBA{Float64}})
|
|
||||||
Base.precompile(Tuple{Type{Plots.GridLayout},Int64,Vararg{Int64,N} where N})
|
|
||||||
Base.precompile(Tuple{Type{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{Type{Plots.Plot},Plots.GRBackend,Int64,RecipesPipeline.DefaultsDict,Array{Plots.Series,1},Nothing,Array{Plots.Subplot,1},Dict{Any,Plots.Subplot},Plots.EmptyLayout,Array{Plots.Subplot,1},Bool})
|
|
||||||
Base.precompile(Tuple{Type{Plots.Plot},Plots.PlotlyBackend,Int64,RecipesPipeline.DefaultsDict,Array{Plots.Series,1},Nothing,Array{Plots.Subplot,1},Dict{Any,Plots.Subplot},Plots.EmptyLayout,Array{Plots.Subplot,1},Bool})
|
|
||||||
Base.precompile(Tuple{Type{Plots.SegmentsIterator},Tuple{Array{Float64,1},Array{Float64,1},Array{Float64,1}},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{Type{Plots.SegmentsIterator},Tuple{Array{Float64,1},Array{Float64,1},UnitRange{Int64}},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{Type{Shape},Array{Tuple{Float64,Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(!=),Plots.Arrow,Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(!=),Shape,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(*),Measures.Length{:mm,Float64},Measures.Length{:pct,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(==),Array{Tuple{Int64,Float64,Plots.PlotText},1},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(==),Plots.Arrow,Bool})
|
|
||||||
Base.precompile(Tuple{typeof(==),Plots.Axis,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(==),Plots.Extrema,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(==),Tuple{Int64,Float64,Plots.PlotText},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.broadcasted),Function,Tuple{Plots.Axis},Array{String,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.copyto_nonleaf!),Array{Int64,1},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linewidth),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}},Base.OneTo{Int64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.copyto_nonleaf!),Array{Nothing,1},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_fillalpha),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}},Base.OneTo{Int64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.copyto_nonleaf!),Array{Nothing,1},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linealpha),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}},Base.OneTo{Int64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.copyto_nonleaf!),Array{PlotUtils.ContinuousColorGradient,1},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_colorgradient),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}},Base.OneTo{Int64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.copyto_nonleaf!),Array{PlotUtils.ContinuousColorGradient,1},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linecolor),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}},Base.RefValue{Tuple{Float64,Float64}}}},Base.OneTo{Int64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.copyto_nonleaf!),Array{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},1},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.contour_levels),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}},Base.RefValue{Tuple{Float64,Float64}}}},Base.OneTo{Int64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.copyto_nonleaf!),Array{Symbol,1},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linestyle),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}},Base.OneTo{Int64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.instantiate),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Plots.get_colorgradient),Tuple{Array{Any,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.instantiate),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Plots.get_fillalpha),Tuple{Array{Any,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.instantiate),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Plots.get_linealpha),Tuple{Array{Any,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.instantiate),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Plots.get_linestyle),Tuple{Array{Any,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.instantiate),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Plots.get_linewidth),Tuple{Array{Any,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.instantiate),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Plots.gr_color),Tuple{Array{RGBA{Float64},1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.instantiate),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Plots.gr_tick_label),Tuple{Tuple{Plots.Axis},Array{String,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.materialize),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Plots.contour_levels),Tuple{Array{Any,1},Base.RefValue{Tuple{Float64,Float64}}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.materialize),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Plots.get_linecolor),Tuple{Array{Any,1},Base.RefValue{Tuple{Float64,Float64}}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.Broadcast.materialize),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(Plots.get_z_normalized),Tuple{Array{Float64,1},Float64,Float64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._array_for),Type{Plots.Axis},Array{Any,1},Base.HasShape{1}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._compute_eltype),Type{Tuple{Array{Float64,1},Tuple{Symbol,Float64,Plots.Stroke},Array{Float64,1},String,Symbol}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._compute_eltype),Type{Tuple{Array{Float64,1},Tuple{Symbol,Float64,Plots.Stroke},Array{Float64,1},String}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._compute_eltype),Type{Tuple{Array{Symbol,2},Tuple{Symbol,Int64},Tuple{Array{Symbol,2},Int64,Float64,Plots.Stroke}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._compute_eltype),Type{Tuple{Plots.GridLayout,Array{String,1},Array{Symbol,2},Symbol}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._compute_eltype),Type{Tuple{Plots.GridLayout,Array{String,2},Symbol,Array{Measures.Length{:mm,Float64},2},Measures.Length{:mm,Float64},Int64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._compute_eltype),Type{Tuple{Plots.GridLayout,Array{Symbol,2},Bool,Nothing,Symbol}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._compute_eltype),Type{Tuple{StepRange{Int64,Int64},Tuple{Int64,Float64,Symbol,Plots.Stroke},Bool,Bool,Int64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._compute_eltype),Type{Tuple{Tuple{Int64,Float64,Plots.PlotText},Bool}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._compute_eltype),Type{Tuple{Tuple{Int64,Symbol,Symbol},Tuple{Shape,Int64,RGBA{Float64}},Symbol,Symbol,Tuple{Int64,Int64},Tuple{Int64,Int64},Bool}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base._similar_for),Array{Any,1},Type{Int64},Base.Generator{Array{Any,1},typeof(Plots.rowsize)},Base.HasShape{1}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.collect_similar),Array{AbstractLayout,1},Base.Generator{Array{AbstractLayout,1},typeof(Plots.bottompad)}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.collect_similar),Array{AbstractLayout,1},Base.Generator{Array{AbstractLayout,1},typeof(Plots.leftpad)}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.collect_similar),Array{AbstractLayout,1},Base.Generator{Array{AbstractLayout,1},typeof(Plots.rightpad)}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.collect_similar),Array{AbstractLayout,1},Base.Generator{Array{AbstractLayout,1},typeof(Plots.toppad)}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.collect_to_with_first!),Array{Int64,1},Int64,Base.Generator{Array{Any,1},typeof(Plots.rowsize)},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Base.deepcopy_internal),Array{Plots.Series,1},IdDict{Any,Any}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.indexed_iterate),Tuple{Plots.GridLayout,Int64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Base.merge_types),NTuple{5,Symbol},Type{NamedTuple{(:zcolor, :m, :ms, :lab),Tuple{Array{Float64,1},Tuple{Symbol,Float64,Plots.Stroke},Array{Float64,1},String}}},Type{NamedTuple{(:seriestype,),Tuple{Symbol}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.merge_types),Tuple{Symbol},Type{NamedTuple{(:annotation,),Tuple{Array{Tuple{Int64,Float64,Plots.PlotText},1}}}},Type{NamedTuple{(),Tuple{}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Base.promote_typeof),String,Plots.PlotText})
|
|
||||||
Base.precompile(Tuple{typeof(Base.vect),Tuple{Int64,Float64,Plots.PlotText},Vararg{Tuple{Int64,Float64,Plots.PlotText},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._backend_instance),Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cbar_unique),Array{Int64,1},String})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cbar_unique),Array{Nothing,1},String})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cbar_unique),Array{PlotUtils.ContinuousColorGradient,1},String})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cbar_unique),Array{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},1},String})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cbar_unique),Array{Symbol,1},String})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._create_backend_figure),Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._create_backend_figure),Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Array{Any,1},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Array{Float64,1},Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Array{Float64,1},StepRange{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Array{Float64,1},UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Array{Plots.Subplot,1},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Array{String,1},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Base.OneTo{Int64},Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),ColorPalette,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Float64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Int64,StepRange{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Nothing,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Plots.Subplot{Plots.GRBackend},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Plots.Subplot{Plots.PlotlyBackend},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Shape,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),StepRange{Int64,Int64},Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._cycle),Symbol,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._heatmap_edges),Array{Float64,1},Bool})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{AbstractArray{Float64,1},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Array{Float64,1},1},Array{Array{Float64,1},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Array{T,1} where T,1},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Array{T,1} where T,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Complex{Float64},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Dates.DateTime,1},UnitRange{Int64},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Float64,1},Array{Float64,1},UnitRange{Int64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Float64,1},Array{Float64,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Function,1},Array{Float64,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Function,1},Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Function,1},Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Int64,1},Array{Float64,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{OHLC,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{String,1},Array{Float64,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{String,1},Array{String,1},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Tuple{Int64,Int64},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Tuple{Int64,Real},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Array{Union{Missing, Int64},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Plots.PortfolioComposition}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{Plots.Spy}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{StepRange{Int64,Int64},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{UnitRange{Int64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Tuple{typeof(log),Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{AbstractArray{Float64,1},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Array{Float64,1},1},Array{Array{Float64,1},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Array{T,1} where T,1},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Array{T,1} where T,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Complex{Float64},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Dates.DateTime,1},UnitRange{Int64},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Float64,1},Array{Float64,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Function,1},Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Int64,1},Array{Float64,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{OHLC,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{String,1},Array{Float64,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{String,1},Array{String,1},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Tuple{Int64,Int64},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Tuple{Int64,Real},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Array{Union{Missing, Int64},1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Plots.PortfolioComposition}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{Plots.Spy}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{StepRange{Int64,Int64},Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._plot!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Tuple{UnitRange{Int64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._replace_markershape),Array{Symbol,2}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._replace_markershape),Shape})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._slice_series_args!),Dict{Symbol,Any},Plots.Plot{Plots.GRBackend},Plots.Subplot{Plots.GRBackend},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._slice_series_args!),Dict{Symbol,Any},Plots.Plot{Plots.PlotlyBackend},Plots.Subplot{Plots.PlotlyBackend},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._slice_series_args!),RecipesPipeline.DefaultsDict,Plots.Plot{Plots.GRBackend},Plots.Subplot{Plots.GRBackend},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._slice_series_args!),RecipesPipeline.DefaultsDict,Plots.Plot{Plots.PlotlyBackend},Plots.Subplot{Plots.PlotlyBackend},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._transform_ticks),Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._transform_ticks),StepRange{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._transform_ticks),Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._transform_ticks),UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._update_clims),Float64,Float64,Float64,Float64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._update_clims),Float64,Float64,Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._update_min_padding!),Plots.GridLayout})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._update_plot_args),Plots.Plot{Plots.GRBackend},RecipesPipeline.DefaultsDict})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._update_plot_args),Plots.Plot{Plots.PlotlyBackend},RecipesPipeline.DefaultsDict})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._update_subplot_args),Plots.Plot{Plots.GRBackend},Plots.Subplot{Plots.GRBackend},Dict{Symbol,Any},Int64,Bool})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._update_subplot_args),Plots.Plot{Plots.PlotlyBackend},Plots.Subplot{Plots.PlotlyBackend},Dict{Symbol,Any},Int64,Bool})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._update_subplot_periphery),Plots.Subplot{Plots.GRBackend},Array{Any,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots._update_subplot_periphery),Plots.Subplot{Plots.PlotlyBackend},Array{Any,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.allStyles),Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.attr),Plots.EmptyLayout,Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.attr),Plots.EmptyLayout,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.bbox!),Plots.Subplot{Plots.GRBackend},Measures.BoundingBox{Tuple{Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}},Tuple{Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.bottom),Measures.BoundingBox{Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}},Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.bottompad),Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.build_layout),Plots.GridLayout,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.calc_num_subplots),Plots.EmptyLayout})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.convertLegendValue),Bool})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.convertLegendValue),Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.convert_to_polar),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1},Tuple{Int64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.create_grid),Expr})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.discrete_value!),Plots.Axis,Array{String,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.discrete_value!),Plots.Axis,Array{Union{Missing, Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.error_coords),Array{Float64,1},Array{Float64,1},Array{Float64,1},Vararg{Array{Float64,1},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.error_coords),Array{Float64,1},Array{Float64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.error_zipit),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.expand_extrema!),Plots.Axis,Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.expand_extrema!),Plots.Axis,Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.expand_extrema!),Plots.Axis,Base.OneTo{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.expand_extrema!),Plots.Axis,StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.expand_extrema!),Plots.Axis,StepRange{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.expand_extrema!),Plots.Axis,Surface{Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.expand_extrema!),Plots.Axis,Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.expand_extrema!),Plots.Axis,Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.expand_extrema!),Plots.Axis,UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.extend_by_data!),Array{Float64,1},Float64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.fakedata),Int64,Vararg{Int64,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_clims),Plots.Subplot{Plots.GRBackend},Plots.Series,Function})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_fillcolor),Plots.Series,Tuple{Float64,Float64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_fillcolor),Plots.Series,Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_gradient),PlotUtils.ContinuousColorGradient})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_linecolor),Plots.Series,Tuple{Float64,Float64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_linecolor),Plots.Series,Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_minor_ticks),Plots.Subplot{Plots.GRBackend},Plots.Axis,Tuple{Array{Float64,1},Array{Any,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_minor_ticks),Plots.Subplot{Plots.GRBackend},Plots.Axis,Tuple{Array{Float64,1},Array{String,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_minor_ticks),Plots.Subplot{Plots.GRBackend},Plots.Axis,Tuple{Array{Int64,1},Array{String,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_series_color),ColorPalette,Plots.Subplot{Plots.PlotlyBackend},Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_series_color),Int64,Plots.Subplot{Plots.GRBackend},Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_series_color),Int64,Plots.Subplot{Plots.PlotlyBackend},Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_series_color),PlotUtils.ContinuousColorGradient,Plots.Subplot{Plots.GRBackend},Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_series_color),PlotUtils.ContinuousColorGradient,Plots.Subplot{Plots.PlotlyBackend},Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_series_color),RGBA{Float64},Plots.Subplot{Plots.GRBackend},Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_series_color),RGBA{Float64},Plots.Subplot{Plots.PlotlyBackend},Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_series_color),Symbol,Plots.Subplot{Plots.GRBackend},Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_series_color),Symbol,Plots.Subplot{Plots.PlotlyBackend},Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_subplot),Plots.Plot{Plots.GRBackend},Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_subplot),Plots.Plot{Plots.PlotlyBackend},Plots.Subplot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_thickness_scaling),Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.get_xy),OHLC{Float64},Int64,Float64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_axis_height),Plots.Subplot{Plots.GRBackend},Plots.Axis})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_axis_width),Plots.Subplot{Plots.GRBackend},Plots.Axis})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_display),Plots.Subplot{Plots.GRBackend},Measures.Length{:mm,Float64},Measures.Length{:mm,Float64},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_colorbar),Plots.GRColorbar,Plots.Subplot{Plots.GRBackend},Tuple{Float64,Float64},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_marker),Plots.Series,Float64,Float64,Tuple{Float64,Float64},Int64,Float64,Float64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_marker),Plots.Series,Float64,Float64,Tuple{Float64,Float64},Int64,Int64,Int64,Shape})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_marker),Plots.Series,Float64,Float64,Tuple{Float64,Float64},Int64,Int64,Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_marker),Plots.Series,Int64,Float64,Tuple{Float64,Float64},Int64,Float64,Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_marker),Plots.Series,Int64,Float64,Tuple{Float64,Float64},Int64,Int64,Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_marker),Plots.Series,Int64,Int64,Tuple{Float64,Float64},Int64,Int64,Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,Array{Float64,1},Array{Float64,1},Tuple{Float64,Float64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,Array{Float64,1},Array{Float64,1},Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,Array{Int64,1},Array{Float64,1},Tuple{Float64,Float64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,Array{Int64,1},Array{Float64,1},Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,Array{Int64,1},Array{Int64,1},Tuple{Float64,Float64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,Array{Int64,1},Array{Int64,1},Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,Base.OneTo{Int64},Array{Float64,1},Tuple{Float64,Float64},Array{Float64,1},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,Base.OneTo{Int64},Array{Float64,1},Tuple{Float64,Float64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,Base.OneTo{Int64},Array{Float64,1},Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,Float64,Float64,Tuple{Float64,Float64},Float64,Float64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1},Tuple{Float64,Float64},Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_draw_markers),Plots.Series,StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1},Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_fill_viewport),Array{Float64,1},RGBA{Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_get_ticks_size),Tuple{Array{Float64,1},Array{Any,1}},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_get_ticks_size),Tuple{Array{Float64,1},Array{String,1}},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_get_ticks_size),Tuple{Array{Int64,1},Array{String,1}},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_legend_pos),Plots.Subplot{Plots.GRBackend},Float64,Float64,Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_polaraxes),Int64,Float64,Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_polyline),Array{Float64,1},Array{Float64,1},Function})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_set_bordercolor),RGBA{Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_set_fill),RGBA{Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_set_gradient),PlotUtils.ContinuousColorGradient})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_set_line),Float64,Symbol,RGBA{Float64},Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_set_line),Int64,Symbol,RGBA{Float64},Plots.Series})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_set_markercolor),RGBA{Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_set_textcolor),RGBA{Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_set_transparency),RGBA{Float64},Float64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_set_transparency),RGBA{Float64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_set_transparency),RGBA{Float64},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_text_size),String})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_tick_label),Plots.Axis,String})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_viewport_from_bbox),Plots.Subplot{Plots.GRBackend},Measures.BoundingBox{Tuple{Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}},Tuple{Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}}},Measures.Length{:mm,Float64},Measures.Length{:mm,Float64},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.gr_w3tondc),Float64,Float64,Float64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.heatmap_edges),Array{Float64,1},Symbol,Array{Float64,1},Symbol,Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.heatmap_edges),Array{Float64,1},Symbol,UnitRange{Int64},Symbol,Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.heatmap_edges),Array{Float64,1},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.heatmap_edges),Base.OneTo{Int64},Symbol,Base.OneTo{Int64},Symbol,Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.heatmap_edges),Base.OneTo{Int64},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.heatmap_edges),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Symbol,StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Symbol,Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.heatmap_edges),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.heatmap_edges),UnitRange{Int64},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.ignorenan_extrema),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.ignorenan_extrema),Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.ignorenan_extrema),Base.OneTo{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.ignorenan_extrema),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.ignorenan_extrema),StepRange{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.ignorenan_maximum),Base.OneTo{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.ignorenan_minimum),Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.ignorenan_minimum),Base.OneTo{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.intersection_point),Float64,Float64,Float64,Float64,Float64,Float64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.is_2tuple),Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.is_2tuple),Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.is_2tuple),Tuple{Array{Float64,1},Array{Float64,1}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.is_2tuple),Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.is_2tuple),Tuple{Int64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.is_2tuple),Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.is_2tuple),Tuple{Int64,Measures.BoundingBox{Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}},Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.is_marker_supported),Plots.Stroke})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.is_marker_supported),Shape})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.is_uniformly_spaced),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.ispolar),Plots.Subplot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.labelfunc),Symbol,Plots.GRBackend})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.layout_args),Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.layout_args),Int64,Plots.GridLayout})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.layout_args),Int64,Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.layout_args),Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.layout_args),Plots.GridLayout})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.left),Measures.BoundingBox{Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}},Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.leftpad),Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.link_axes!),Plots.Axis})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.link_axes!),Plots.Subplot{Plots.GRBackend},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.link_axes!),Plots.Subplot{Plots.PlotlyBackend},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.locate_annotation),Plots.Subplot{Plots.GRBackend},Int64,Float64,Plots.PlotText})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.make_fillrange_side),UnitRange{Int64},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.make_fillrange_side),UnitRange{Int64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.make_fillrange_side),UnitRange{Int64},LinRange{Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.make_fillrange_side),UnitRange{Int64},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.make_steps),Nothing,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.optimal_ticks_and_labels),Plots.Subplot{Plots.GRBackend},Plots.Axis,StepRange{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.optimal_ticks_and_labels),Plots.Subplot{Plots.GRBackend},Plots.Axis,UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.plotarea!),Plots.GridLayout,Measures.BoundingBox{Tuple{Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}},Tuple{Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.plotarea!),Plots.Subplot{Plots.GRBackend},Measures.BoundingBox{Tuple{Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}},Tuple{Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processFillArg),Dict{Symbol,Any},Bool})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processFillArg),Dict{Symbol,Any},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processFillArg),Dict{Symbol,Any},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processFontArg!),Dict{Symbol,Any},Symbol,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processFontArg!),Dict{Symbol,Any},Symbol,String})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processFontArg!),Dict{Symbol,Any},Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processGridArg!),Dict{Symbol,Any},Bool,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processGridArg!),Dict{Symbol,Any},Float64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processGridArg!),Dict{Symbol,Any},Int64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processGridArg!),Dict{Symbol,Any},Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processGridArg!),RecipesPipeline.DefaultsDict,Bool,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processLineArg),Dict{Symbol,Any},Array{Symbol,2}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processLineArg),Dict{Symbol,Any},Float64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processLineArg),Dict{Symbol,Any},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processLineArg),Dict{Symbol,Any},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processMarkerArg),Dict{Symbol,Any},Array{Symbol,2}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processMarkerArg),Dict{Symbol,Any},Bool})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processMarkerArg),Dict{Symbol,Any},Float64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processMarkerArg),Dict{Symbol,Any},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processMarkerArg),Dict{Symbol,Any},Plots.Stroke})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processMarkerArg),Dict{Symbol,Any},RGBA{Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processMarkerArg),Dict{Symbol,Any},Shape})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processMarkerArg),Dict{Symbol,Any},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.processMinorGridArg!),Dict{Symbol,Any},Bool,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.process_annotation),Plots.Subplot{Plots.GRBackend},Int64,Float64,Plots.PlotText})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.process_annotation),Plots.Subplot{Plots.PlotlyBackend},Int64,Float64,Plots.PlotText})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.process_axis_arg!),Dict{Symbol,Any},StepRange{Int64,Int64},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.process_axis_arg!),Dict{Symbol,Any},String,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.process_axis_arg!),Dict{Symbol,Any},Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.process_axis_arg!),Dict{Symbol,Any},Tuple{Int64,Int64},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.process_clims),Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.reset_axis_defaults_byletter!)})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.rightpad),Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.rowsize),Expr})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.rowsize),Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.series_annotations),Array{Any,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Array{Float64,2},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Array{Measures.Length{:mm,Float64},2},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Array{PlotUtils.ContinuousColorGradient,2},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Array{RGBA{Float64},2},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Array{String,2},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Array{Symbol,2},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Base.ReshapedArray{Int64,2,UnitRange{Int64},Tuple{}},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Bool,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Float64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Function,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Nothing,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),RGBA{Float64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),StepRange{Int64,Int64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),String,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Symbol,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Tuple{Float64,Float64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Tuple{Int64,Float64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),Tuple{Int64,Int64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.slice_arg),UnitRange{Int64},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.straightline_data),Tuple{Float64,Float64},Tuple{Float64,Float64},Array{Float64,1},Array{Float64,1},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.toppad),Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.transpose_z),Plots.Series,Array{Float64,2},Bool})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.update_child_bboxes!),Plots.Subplot{Plots.GRBackend},Array{Measures.Length{:mm,Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.widen),Float64,Float64,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Array{Any,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Bool})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Float64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Int64})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Plots.SeriesAnnotations})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Array{Symbol,2},Int64,Float64,Plots.Stroke}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Array{Symbol,2},Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Int64,Array{Symbol,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Int64,Float64,Symbol,Plots.Stroke}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Int64,Float64,Symbol}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Int64,String}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Int64,Symbol,Float64,Array{Symbol,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Int64,Symbol,Symbol}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Int64,Symbol}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{LinRange{Float64},LinRange{Float64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Shape,Int64,RGBA{Float64}}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{String,Symbol}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{String,Tuple{Int64,Int64},StepRange{Int64,Int64},Symbol}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Symbol,Float64,Plots.Stroke}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Symbol,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Symbol,Symbol,Int64,Symbol,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{Symbol,Symbol,Symbol,Int64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(Plots.wraptuple),Tuple{}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Array{Complex{Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Array{GeometryBasics.Point{2,Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Array{OHLC,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Plots.PortfolioComposition})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Plots.Spy})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:bar}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:bar}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:contour}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:contour}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:heatmap}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:heatmap}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:histogram2d}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:histogram2d}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:histogram}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:histogram}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:hline}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:hline}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:image}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:path}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:path}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:pie}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:pie}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:scatter}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:scatter}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:shape}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:shape}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:spy}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:spy}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:vline}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:vline}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:wireframe}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:wireframe}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:xerror}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:xerror}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:yerror}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:yerror}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:zerror}},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),Dict{Symbol,Any},Type{Val{:zerror}},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:barbins}},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:barhist}},Base.OneTo{Int64},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:bar}},Array{Float64,1},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:bar}},Array{Int64,1},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:bar}},Base.OneTo{Int64},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:bins2d}},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Surface{Array{Float64,2}}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:histogram2d}},Array{Float64,1},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:histogram}},Base.OneTo{Int64},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:hline}},Base.OneTo{Int64},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:line}},Base.OneTo{Int64},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:pie}},Array{String,1},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:steppost}},Array{Float64,1},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:steppre}},Array{Float64,1},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:steppre}},Array{Int64,1},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:steppre}},Base.OneTo{Int64},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:sticks}},Array{Float64,1},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:vline}},Base.OneTo{Int64},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:xerror}},Array{Float64,1},Array{Float64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:xerror}},Array{Float64,1},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:yerror}},Array{Float64,1},Array{Float64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:yerror}},Array{Float64,1},Array{Float64,1},Nothing})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesBase.apply_recipe),RecipesPipeline.DefaultsDict,Type{Val{:zerror}},Array{Float64,1},Array{Float64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.is_seriestype_supported),Plots.Plot{Plots.GRBackend},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.is_seriestype_supported),Plots.Plot{Plots.PlotlyBackend},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.preprocess_attributes!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.preprocess_attributes!),Plots.Plot{Plots.GRBackend},RecipesPipeline.DefaultsDict})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.preprocess_attributes!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.preprocess_attributes!),Plots.Plot{Plots.PlotlyBackend},RecipesPipeline.DefaultsDict})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.process_userrecipe!),Plots.Plot{Plots.GRBackend},Array{Dict{Symbol,Any},1},Dict{Symbol,Any}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.process_userrecipe!),Plots.Plot{Plots.PlotlyBackend},Array{Dict{Symbol,Any},1},Dict{Symbol,Any}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.GRBackend},Symbol,Array{Int64,1},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.GRBackend},Symbol,Array{String,1},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.GRBackend},Symbol,Array{Symbol,2},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.GRBackend},Symbol,Plots.GridLayout,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.GRBackend},Symbol,Plots.Plot{Plots.GRBackend},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.GRBackend},Symbol,String,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.GRBackend},Symbol,Symbol,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.PlotlyBackend},Symbol,Array{Int64,1},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.PlotlyBackend},Symbol,Array{String,1},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.PlotlyBackend},Symbol,Array{Symbol,2},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.PlotlyBackend},Symbol,Plots.GridLayout,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.PlotlyBackend},Symbol,Plots.Plot{Plots.PlotlyBackend},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.PlotlyBackend},Symbol,String,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.splittable_attribute),Plots.Plot{Plots.PlotlyBackend},Symbol,Symbol,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{AbstractArray{Float64,1},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Array{Float64,1},1},Vararg{Array{Array{Float64,1},1},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Array{T,1} where T,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Array{T,1} where T,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Complex{Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Dates.DateTime,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Function,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{GeometryBasics.Point{2,Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Int64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{OHLC,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{String,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Tuple{Int64,Int64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Tuple{Int64,Real},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Array{Union{Missing, Int64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Formatted{Array{Int64,1}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Function,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Int64,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Nothing,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Plots.PortfolioComposition})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Plots.Spy})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,RecipesPipeline.GroupBy,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,StepRange{Int64,Int64},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,Type,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Array{RecipeData,1},Symbol,UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{AbstractArray{Float64,1},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Array{Float64,1},1},Vararg{Array{Array{Float64,1},1},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Array{T,1} where T,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Array{T,1} where T,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Complex{Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Dates.DateTime,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Function,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{GeometryBasics.Point{2,Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Int64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{OHLC,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{String,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Tuple{Int64,Int64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Tuple{Int64,Real},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Array{Union{Missing, Int64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Formatted{Array{Int64,1}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Function,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Int64,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Nothing,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Plots.PortfolioComposition})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Plots.Spy})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,RecipesPipeline.GroupBy,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,StepRange{Int64,Int64},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,Type,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},Dict{Symbol,Any},Symbol,UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Array{Array{Float64,1},1},Vararg{Array{Array{Float64,1},1},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Array{Array{T,1} where T,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Array{Dates.DateTime,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Array{Function,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Array{Int64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Array{String,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Formatted{Array{Int64,1}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Function,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Int64,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Nothing,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,RecipesPipeline.GroupBy,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,StepRange{Int64,Int64},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipeData,Symbol,Type,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.GRBackend},RecipesPipeline.DefaultsDict,Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{AbstractArray{Float64,1},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Array{Float64,1},1},Vararg{Array{Array{Float64,1},1},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Array{T,1} where T,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Array{T,1} where T,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Complex{Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Dates.DateTime,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Float64,1},Vararg{Array{Float64,1},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Function,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{GeometryBasics.Point{2,Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Int64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{OHLC,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{String,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Tuple{Int64,Int64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Tuple{Int64,Real},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Array{Union{Missing, Int64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Formatted{Array{Int64,1}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Function,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Nothing,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Plots.PortfolioComposition})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Plots.Spy})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,RecipesPipeline.GroupBy,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,StepRange{Int64,Int64},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,Type,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Array{RecipeData,1},Symbol,UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{AbstractArray{Float64,1},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Array{Float64,1},1},Vararg{Array{Array{Float64,1},1},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Array{T,1} where T,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Array{T,1} where T,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Complex{Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Dates.DateTime,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Float64,1},Vararg{Array{Float64,1},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Function,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{GeometryBasics.Point{2,Float64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Int64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{OHLC,1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{String,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Tuple{Int64,Int64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Tuple{Int64,Real},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Array{Union{Missing, Int64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Formatted{Array{Int64,1}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Function,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Nothing,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Plots.PortfolioComposition})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Plots.Spy})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,RecipesPipeline.GroupBy,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,StepRange{Int64,Int64},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,Type,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},Dict{Symbol,Any},Symbol,UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Array{Array{Float64,1},1},Vararg{Array{Array{Float64,1},1},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Array{Array{T,1} where T,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Array{Dates.DateTime,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Array{Float64,1},Vararg{Array{Float64,1},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Array{Function,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Array{Int64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Array{String,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Formatted{Array{Int64,1}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Function,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Nothing,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,RecipesPipeline.GroupBy,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,StepRange{Int64,Int64},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipeData,Symbol,Type,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(RecipesPipeline.warn_on_recipe_aliases!),Plots.Plot{Plots.PlotlyBackend},RecipesPipeline.DefaultsDict,Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(annotate!),Array{Tuple{Int64,Float64,Plots.PlotText},1}})
|
|
||||||
Base.precompile(Tuple{typeof(arrow),Int64})
|
|
||||||
Base.precompile(Tuple{typeof(backend),Plots.PlotlyBackend})
|
|
||||||
Base.precompile(Tuple{typeof(bar),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(bbox),Float64,Float64,Float64,Float64})
|
|
||||||
Base.precompile(Tuple{typeof(bbox),Measures.Length{:mm,Float64},Measures.Length{:mm,Float64},Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(contour),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(convert),Type{AbstractBackend},Plots.PlotlyBackend})
|
|
||||||
Base.precompile(Tuple{typeof(copy),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_colorgradient),Tuple{Array{Any,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(copy),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_fillalpha),Tuple{Array{Any,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(copy),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linealpha),Tuple{Array{Any,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(copy),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linestyle),Tuple{Array{Any,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(copy),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linewidth),Tuple{Array{Any,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(copy),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.gr_color),Tuple{Array{RGBA{Float64},1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(copy),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.gr_tick_label),Tuple{Tuple{Plots.Axis},Array{String,1}}}})
|
|
||||||
Base.precompile(Tuple{typeof(copyto!),Array{Any,1},Tuple{String,String,String,String,String,Plots.PlotText}})
|
|
||||||
Base.precompile(Tuple{typeof(deepcopy),Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(deepcopy),Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(default),Symbol,Bool})
|
|
||||||
Base.precompile(Tuple{typeof(default),Symbol,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(default),Symbol,String})
|
|
||||||
Base.precompile(Tuple{typeof(default),Symbol,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(enumerate),Tuple{Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend}}})
|
|
||||||
Base.precompile(Tuple{typeof(enumerate),Tuple{Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend}}})
|
|
||||||
Base.precompile(Tuple{typeof(enumerate),Tuple{Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend}}})
|
|
||||||
Base.precompile(Tuple{typeof(enumerate),Tuple{Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend}}})
|
|
||||||
Base.precompile(Tuple{typeof(font),String,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(frame),Animation,Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(get),Dict{Plots.Subplot,Any},Plots.Subplot{Plots.GRBackend},Dict{Symbol,Any}})
|
|
||||||
Base.precompile(Tuple{typeof(get),Dict{Plots.Subplot,Any},Plots.Subplot{Plots.PlotlyBackend},Dict{Symbol,Any}})
|
|
||||||
Base.precompile(Tuple{typeof(get),RecipesPipeline.DefaultsDict,Symbol,Plots.Arrow})
|
|
||||||
Base.precompile(Tuple{typeof(get),RecipesPipeline.DefaultsDict,Symbol,Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(get),RecipesPipeline.DefaultsDict,Symbol,Plots.Subplot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(getproperty),Plots.Arrow,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(getproperty),Plots.SeriesAnnotations,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(haskey),Dict{Symbol,Symbol},Shape})
|
|
||||||
Base.precompile(Tuple{typeof(heatmap),Array{Dates.DateTime,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(in),Plots.Arrow,Tuple{Bool,Nothing,Symbol}})
|
|
||||||
Base.precompile(Tuple{typeof(in),Plots.Subplot{Plots.GRBackend},Array{Plots.Subplot,1}})
|
|
||||||
Base.precompile(Tuple{typeof(in),Plots.Subplot{Plots.PlotlyBackend},Array{Plots.Subplot,1}})
|
|
||||||
Base.precompile(Tuple{typeof(iter_segments),Array{Float64,1},Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(iter_segments),Array{Float64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(iter_segments),Array{Int64,1},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(iter_segments),Base.OneTo{Int64},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(iter_segments),Base.OneTo{Int64},UnitRange{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(iter_segments),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(iter_segments),StepRange{Int64,Int64},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(iter_segments),UnitRange{Int64},Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(iterate),Base.Iterators.Enumerate{Tuple{Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend}}},Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(iterate),Base.Iterators.Enumerate{Tuple{Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend}}},Tuple{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(iterate),Base.Iterators.Enumerate{Tuple{Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend}}},Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(iterate),Base.Iterators.Enumerate{Tuple{Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend}}},Tuple{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(iterate),Base.Iterators.Enumerate{Tuple{Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend}}},Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(iterate),Base.Iterators.Enumerate{Tuple{Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend}}},Tuple{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(iterate),Base.Iterators.Enumerate{Tuple{Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend}}},Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(iterate),Base.Iterators.Enumerate{Tuple{Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend}}},Tuple{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(ohlc),Array{OHLC,1}})
|
|
||||||
Base.precompile(Tuple{typeof(plot!),Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{typeof(plot!),Array{Tuple{Int64,Real},1}})
|
|
||||||
Base.precompile(Tuple{typeof(plot!),Plots.Plot{Plots.GRBackend},Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{typeof(plot!),Plots.Plot{Plots.GRBackend},Array{Tuple{Int64,Real},1}})
|
|
||||||
Base.precompile(Tuple{typeof(plot!),Plots.Plot{Plots.PlotlyBackend},Array{Float64,2}})
|
|
||||||
Base.precompile(Tuple{typeof(plot!),Plots.Plot{Plots.PlotlyBackend},Array{Tuple{Int64,Real},1}})
|
|
||||||
Base.precompile(Tuple{typeof(plot),Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(plot),Array{Tuple{Int64,Int64},1}})
|
|
||||||
Base.precompile(Tuple{typeof(plot),Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend},Vararg{Plots.Plot{Plots.GRBackend},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(plot),Plots.Plot{Plots.GRBackend},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(plot),Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(plot),Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend},Vararg{Plots.Plot{Plots.PlotlyBackend},N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(plot),Plots.Plot{Plots.PlotlyBackend},Plots.Plot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(plot),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Function})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Plots.Plot{Plots.GRBackend},Float64,Array{Float64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Segments{Float64},Float64,Float64,Float64,Float64,Vararg{Float64,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Segments{Float64},Float64,Int64,Int64,Float64,Vararg{Float64,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Segments{Tuple{Float64,Float64,Float64}},Tuple{Float64,Float64,Float64},Tuple{Float64,Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Segments{Tuple{Float64,Float64}},Tuple{Float64,Float64},Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Segments{Tuple{Float64,Float64}},Tuple{Float64,Int64},Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Segments{Tuple{Float64,Float64}},Tuple{Float64,Int64},Tuple{Float64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Segments{Tuple{Float64,Float64}},Tuple{Int64,Float64},Tuple{Float64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Segments{Tuple{Float64,Float64}},Tuple{Int64,Float64},Tuple{Int64,Float64}})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Segments{Tuple{Float64,Float64}},Tuple{Int64,Int64},Tuple{Float64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(push!),Segments{Tuple{Float64,Float64}},Tuple{Int64,Int64},Tuple{Int64,Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Any,Any},Plots.Plot{Plots.GRBackend},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Any,Any},Plots.Plot{Plots.PlotlyBackend},Int64})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Any,Plots.Subplot},Plots.Subplot{Plots.GRBackend},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Any,Plots.Subplot},Plots.Subplot{Plots.PlotlyBackend},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Plots.Subplot,Any},Dict{Symbol,Any},Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Plots.Subplot,Any},Dict{Symbol,Any},Plots.Subplot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Symbol,Any},Plots.Arrow,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Symbol,Any},Plots.GridLayout,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Symbol,Any},Plots.Subplot{Plots.GRBackend},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Symbol,Any},Plots.Subplot{Plots.PlotlyBackend},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Symbol,Any},Tuple{Array{Symbol,2},Int64,Float64,Plots.Stroke},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Symbol,Any},Tuple{Int64,Float64,Plots.PlotText},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Symbol,Any},Tuple{Int64,Float64,Symbol,Plots.Stroke},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Symbol,Any},Tuple{Shape,Int64,RGBA{Float64}},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Dict{Symbol,Any},Tuple{Symbol,Float64,Plots.Stroke},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Plots.Axis,Array{Any,1},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Plots.Axis,Array{Float64,1},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Plots.Axis,Dict{Any,Any},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Plots.Axis,Plots.Extrema,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Plots.GridLayout,Plots.EmptyLayout,Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Plots.GridLayout,Plots.GridLayout,Int64,Int64})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Plots.Plot{Plots.GRBackend},RGBA{Float64},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),Plots.Plot{Plots.PlotlyBackend},RGBA{Float64},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),RecipesPipeline.DefaultsDict,Array{Tuple{Int64,Float64,Plots.PlotText},1},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),RecipesPipeline.DefaultsDict,Plots.Arrow,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),RecipesPipeline.DefaultsDict,Plots.GridLayout,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),RecipesPipeline.DefaultsDict,Plots.Subplot{Plots.GRBackend},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),RecipesPipeline.DefaultsDict,Plots.Subplot{Plots.PlotlyBackend},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setindex!),RecipesPipeline.DefaultsDict,Tuple{Int64,Float64,Plots.PlotText},Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(setproperty!),Plots.GridLayout,Symbol,Measures.BoundingBox{Tuple{Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}},Tuple{Measures.Length{:mm,Float64},Measures.Length{:mm,Float64}}}})
|
|
||||||
Base.precompile(Tuple{typeof(show),IOStream,MIME{Symbol("image/png")},Plots.Plot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(similar),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.contour_levels),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}},Base.RefValue{Tuple{Float64,Float64}}}},Type{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}}}})
|
|
||||||
Base.precompile(Tuple{typeof(similar),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_colorgradient),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}},Type{PlotUtils.ContinuousColorGradient}})
|
|
||||||
Base.precompile(Tuple{typeof(similar),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_fillalpha),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}},Type{Nothing}})
|
|
||||||
Base.precompile(Tuple{typeof(similar),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linealpha),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}},Type{Nothing}})
|
|
||||||
Base.precompile(Tuple{typeof(similar),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linecolor),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}},Base.RefValue{Tuple{Float64,Float64}}}},Type{PlotUtils.ContinuousColorGradient}})
|
|
||||||
Base.precompile(Tuple{typeof(similar),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linestyle),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}},Type{Symbol}})
|
|
||||||
Base.precompile(Tuple{typeof(similar),Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Tuple{Base.OneTo{Int64}},typeof(Plots.get_linewidth),Tuple{Base.Broadcast.Extruded{Array{Any,1},Tuple{Bool},Tuple{Int64}}}},Type{Int64}})
|
|
||||||
Base.precompile(Tuple{typeof(stroke),Int64,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(text),String,Int64,Symbol,Vararg{Symbol,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(text),String,Symbol,Int64,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(text),String,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(title!),String})
|
|
||||||
Base.precompile(Tuple{typeof(vcat),Array{Any,1},Tuple{Int64,Float64,Plots.PlotText}})
|
|
||||||
Base.precompile(Tuple{typeof(vline!),Array{Int64,1}})
|
|
||||||
Base.precompile(Tuple{typeof(xgrid!),Plots.Plot{Plots.GRBackend},Symbol,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(xgrid!),Plots.Plot{Plots.PlotlyBackend},Symbol,Vararg{Any,N} where N})
|
|
||||||
Base.precompile(Tuple{typeof(xlims),Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(xlims),Plots.Subplot{Plots.PlotlyBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(yaxis!),String,Symbol})
|
|
||||||
Base.precompile(Tuple{typeof(ylims),Plots.Subplot{Plots.GRBackend}})
|
|
||||||
Base.precompile(Tuple{typeof(ylims),Plots.Subplot{Plots.PlotlyBackend}})
|
|
||||||
isdefined(Plots, Symbol("##GridLayout#143")) && Base.precompile(Tuple{getfield(Plots, Symbol("##GridLayout#143")),Plots.RootLayout,Array{Float64,1},Array{Float64,1},Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}},Type{Plots.GridLayout},Int64,Vararg{Int64,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##gr_polyline#339")) && Base.precompile(Tuple{getfield(Plots, Symbol("##gr_polyline#339")),Symbol,Symbol,typeof(Plots.gr_polyline),Array{Float64,1},Array{Float64,1},typeof(GR.fillarea)})
|
|
||||||
isdefined(Plots, Symbol("##gr_set_font#340")) && Base.precompile(Tuple{getfield(Plots, Symbol("##gr_set_font#340")),Symbol,Symbol,RGBA{Float64},Float64,typeof(Plots.gr_set_font),Plots.Font,Plots.Subplot{Plots.GRBackend}})
|
|
||||||
isdefined(Plots, Symbol("##gr_set_font#340")) && Base.precompile(Tuple{getfield(Plots, Symbol("##gr_set_font#340")),Symbol,Symbol,RGBA{Float64},Int64,typeof(Plots.gr_set_font),Plots.Font,Plots.Subplot{Plots.GRBackend}})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,Any,NTuple{5,Symbol},NamedTuple{(:zcolor, :m, :ms, :lab, :seriestype),Tuple{Array{Float64,1},Tuple{Symbol,Float64,Plots.Stroke},Array{Float64,1},String,Symbol}}},typeof(plot!),Array{Float64,1}})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol,Symbol},NamedTuple{(:marker, :series_annotations, :seriestype),Tuple{Tuple{Int64,Float64,Symbol},Array{Any,1},Symbol}}},typeof(plot!),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol,Symbol},NamedTuple{(:markersize, :c, :seriestype),Tuple{Int64,Symbol,Symbol}}},typeof(plot!),Array{Float64,1}})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol},NamedTuple{(:alpha, :seriestype),Tuple{Float64,Symbol}}},typeof(plot!),Array{GeometryBasics.Point{2,Float64},1}})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol},NamedTuple{(:line, :seriestype),Tuple{Tuple{Int64,Symbol,Float64,Array{Symbol,2}},Symbol}}},typeof(plot!),Array{Float64,2}})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol},NamedTuple{(:seriestype, :inset),Tuple{Symbol,Tuple{Int64,Measures.BoundingBox{Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}},Tuple{Measures.Length{:w,Float64},Measures.Length{:h,Float64}}}}}}},typeof(plot!),Array{Int64,1},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,Array{Tuple{Int64,Float64,Plots.PlotText},1},Tuple{Symbol},NamedTuple{(:annotation,),Tuple{Array{Tuple{Int64,Float64,Plots.PlotText},1}}}},typeof(plot!)})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,Int64,Tuple{Symbol},NamedTuple{(:w,),Tuple{Int64}}},typeof(plot!),Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,String,Tuple{Symbol},NamedTuple{(:title,),Tuple{String}}},typeof(plot!)})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,Symbol,Tuple{Symbol},NamedTuple{(:seriestype,),Tuple{Symbol}}},typeof(plot!),Array{Int64,1}})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Symbol,Tuple{String,Symbol},Tuple{Symbol},NamedTuple{(:yaxis,),Tuple{Tuple{String,Symbol}}}},typeof(plot!)})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}},typeof(plot!),Array{Float64,2}})
|
|
||||||
isdefined(Plots, Symbol("##plot!#128")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot!#128")),Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}},typeof(plot!),Array{Tuple{Int64,Real},1}})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Any,NTuple{5,Symbol},NamedTuple{(:lab, :w, :palette, :fill, :α),Tuple{String,Int64,PlotUtils.ContinuousColorGradient,Int64,Float64}}},typeof(plot),StepRange{Int64,Int64},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Any,NTuple{5,Symbol},NamedTuple{(:label, :title, :xlabel, :linewidth, :legend),Tuple{Array{String,2},String,String,Int64,Symbol}}},typeof(plot),Array{Function,1},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Any,NTuple{5,Symbol},NamedTuple{(:zcolor, :m, :leg, :cbar, :w),Tuple{StepRange{Int64,Int64},Tuple{Int64,Float64,Symbol,Plots.Stroke},Bool,Bool,Int64}}},typeof(plot),Array{Float64,1},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Any,NTuple{7,Symbol},NamedTuple{(:line, :marker, :bg, :fg, :xlim, :ylim, :leg),Tuple{Tuple{Int64,Symbol,Symbol},Tuple{Shape,Int64,RGBA{Float64}},Symbol,Symbol,Tuple{Int64,Int64},Tuple{Int64,Int64},Bool}}},typeof(plot),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol,Symbol},NamedTuple{(:line, :lab, :ms),Tuple{Tuple{Array{Symbol,2},Int64},Array{String,2},Int64}}},typeof(plot),Array{Array{T,1} where T,1},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol,Symbol},NamedTuple{(:line, :leg, :fill),Tuple{Int64,Bool,Tuple{Int64,Symbol}}}},typeof(plot),Function,Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol,Symbol},NamedTuple{(:line_z, :linewidth, :legend),Tuple{StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Int64,Bool}}},typeof(plot),Array{Float64,1},Vararg{Array{Float64,1},N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol,Symbol},NamedTuple{(:xlims, :ylims, :leg),Tuple{Tuple{Int64,Float64},Tuple{Int64,Int64},Bool}}},typeof(plot),Function,Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol},NamedTuple{(:leg, :seriestype),Tuple{Bool,Symbol}}},typeof(plot),Array{Function,1},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol},NamedTuple{(:proj, :m),Tuple{Symbol,Int64}}},typeof(plot),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Bool,Tuple{Symbol},NamedTuple{(:leg,),Tuple{Bool}}},typeof(plot),Array{Function,1},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Symbol,Int64,Tuple{Symbol},NamedTuple{(:arrow,),Tuple{Int64}}},typeof(plot),Array{Float64,1},Vararg{Array{Float64,1},N} where N})
|
|
||||||
isdefined(Plots, Symbol("##plot#124")) && Base.precompile(Tuple{getfield(Plots, Symbol("##plot#124")),Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}},typeof(plot),StepRangeLen{Float64,Base.TwicePrecision{Float64},Base.TwicePrecision{Float64}},Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##text#89")) && Base.precompile(Tuple{getfield(Plots, Symbol("##text#89")),Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}},typeof(text),String,Int64,Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("##text#89")) && Base.precompile(Tuple{getfield(Plots, Symbol("##text#89")),Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}},typeof(text),String,Symbol,Vararg{Any,N} where N})
|
|
||||||
isdefined(Plots, Symbol("#144#145")) && Base.precompile(Tuple{getfield(Plots, Symbol("#144#145")),Tuple{Int64,Expr}})
|
|
||||||
isdefined(Plots, Symbol("#144#145")) && Base.precompile(Tuple{getfield(Plots, Symbol("#144#145")),Tuple{Int64,Symbol}})
|
|
||||||
isdefined(Plots, Symbol("#146#147")) && Base.precompile(Tuple{getfield(Plots, Symbol("#146#147")),Tuple{Int64,Expr}})
|
|
||||||
isdefined(Plots, Symbol("#146#147")) && Base.precompile(Tuple{getfield(Plots, Symbol("#146#147")),Tuple{Int64,Symbol}})
|
|
||||||
isdefined(Plots, Symbol("#148#149")) && Base.precompile(Tuple{getfield(Plots, Symbol("#148#149")),Plots.Subplot{Plots.GRBackend}})
|
|
||||||
isdefined(Plots, Symbol("#148#149")) && Base.precompile(Tuple{getfield(Plots, Symbol("#148#149")),Plots.Subplot{Plots.PlotlyBackend}})
|
|
||||||
isdefined(Plots, Symbol("#281#314")) && Base.precompile(Tuple{getfield(Plots, Symbol("#281#314"))})
|
|
||||||
end
|
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
-4
@@ -1,4 +0,0 @@
|
|||||||
using Plots
|
|
||||||
|
|
||||||
Plots.test_examples(:gr, skip = Plots._backend_skips[:gr])
|
|
||||||
Plots.test_examples(:plotly, skip = Plots._backend_skips[:plotly], disp = false)
|
|
||||||
Vendored
-11
@@ -1,11 +0,0 @@
|
|||||||
using SnoopCompile
|
|
||||||
|
|
||||||
snoop_bench(
|
|
||||||
BotConfig(
|
|
||||||
"Plots",
|
|
||||||
yml_path= "SnoopCompile.yml",
|
|
||||||
else_os = "linux",
|
|
||||||
else_version = "1.4",
|
|
||||||
),
|
|
||||||
joinpath(@__DIR__, "precompile_script.jl"),
|
|
||||||
)
|
|
||||||
Vendored
-11
@@ -1,11 +0,0 @@
|
|||||||
using SnoopCompile
|
|
||||||
|
|
||||||
snoop_bot(
|
|
||||||
BotConfig(
|
|
||||||
"Plots",
|
|
||||||
yml_path= "SnoopCompile.yml",
|
|
||||||
else_os = "linux",
|
|
||||||
else_version = "1.4",
|
|
||||||
),
|
|
||||||
joinpath(@__DIR__, "precompile_script.jl"),
|
|
||||||
)
|
|
||||||
Vendored
+4
-4
@@ -1,12 +1,12 @@
|
|||||||
|
|
||||||
#TODO: download https://cdn.plot.ly/plotly-1.54.2.min.js to deps/ if it doesn't exist
|
#TODO: download https://cdn.plot.ly/plotly-latest.min.js to deps/ if it doesn't exist
|
||||||
file_path = ""
|
file_path = ""
|
||||||
if get(ENV, "PLOTS_HOST_DEPENDENCY_LOCAL", "false") == "true"
|
if get(ENV, "PLOTS_HOST_DEPENDENCY_LOCAL", "false") == "true"
|
||||||
global file_path
|
global file_path
|
||||||
local_fn = joinpath(dirname(@__FILE__), "plotly-1.54.2.min.js")
|
local_fn = joinpath(dirname(@__FILE__), "plotly-latest.min.js")
|
||||||
if !isfile(local_fn)
|
if !isfile(local_fn)
|
||||||
@info("Cannot find deps/plotly-1.54.2.min.js... downloading latest version.")
|
@info("Cannot find deps/plotly-latest.min.js... downloading latest version.")
|
||||||
download("https://cdn.plot.ly/plotly-1.54.2.min.js", local_fn)
|
download("https://cdn.plot.ly/plotly-latest.min.js", local_fn)
|
||||||
isfile(local_fn) && (file_path = local_fn)
|
isfile(local_fn) && (file_path = local_fn)
|
||||||
else
|
else
|
||||||
file_path = local_fn
|
file_path = local_fn
|
||||||
|
|||||||
Executable
+4
@@ -0,0 +1,4 @@
|
|||||||
|
git checkout master
|
||||||
|
git merge --ff-only dev
|
||||||
|
git push origin master
|
||||||
|
git checkout dev
|
||||||
+8
-37
@@ -1,21 +1,17 @@
|
|||||||
module Plots
|
module Plots
|
||||||
|
|
||||||
if isdefined(Base, :Experimental) && isdefined(Base.Experimental, Symbol("@optlevel"))
|
_current_plots_version = v"0.26.1"
|
||||||
@eval Base.Experimental.@optlevel 1
|
|
||||||
end
|
|
||||||
|
|
||||||
const _current_plots_version = VersionNumber(split(first(filter(line -> occursin("version", line), readlines(normpath(@__DIR__, "..", "Project.toml")))), "\"")[2])
|
|
||||||
|
|
||||||
using Reexport
|
using Reexport
|
||||||
|
|
||||||
import GeometryTypes, GeometryBasics
|
import GeometryTypes
|
||||||
using Dates, Printf, Statistics, Base64, LinearAlgebra, Random
|
using Dates, Printf, Statistics, Base64, LinearAlgebra, Random
|
||||||
import SparseArrays: AbstractSparseMatrix, findnz
|
import SparseArrays: findnz
|
||||||
|
|
||||||
using FFMPEG
|
using FFMPEG
|
||||||
|
|
||||||
@reexport using RecipesBase
|
@reexport using RecipesBase
|
||||||
import RecipesBase: plot, plot!, animate, is_explicit
|
import RecipesBase: plot, plot!, animate
|
||||||
using Base.Meta
|
using Base.Meta
|
||||||
@reexport using PlotUtils
|
@reexport using PlotUtils
|
||||||
@reexport using PlotThemes
|
@reexport using PlotThemes
|
||||||
@@ -108,7 +104,6 @@ export
|
|||||||
gif,
|
gif,
|
||||||
mov,
|
mov,
|
||||||
mp4,
|
mp4,
|
||||||
webm,
|
|
||||||
animate,
|
animate,
|
||||||
@animate,
|
@animate,
|
||||||
@gif,
|
@gif,
|
||||||
@@ -124,11 +119,7 @@ export
|
|||||||
center,
|
center,
|
||||||
BezierCurve,
|
BezierCurve,
|
||||||
|
|
||||||
plotattr,
|
plotattr
|
||||||
scalefontsize,
|
|
||||||
scalefontsizes,
|
|
||||||
resetfontsizes
|
|
||||||
|
|
||||||
|
|
||||||
# ---------------------------------------------------------
|
# ---------------------------------------------------------
|
||||||
|
|
||||||
@@ -172,26 +163,6 @@ using .PlotMeasures
|
|||||||
import .PlotMeasures: Length, AbsoluteLength, Measure, width, height
|
import .PlotMeasures: Length, AbsoluteLength, Measure, width, height
|
||||||
# ---------------------------------------------------------
|
# ---------------------------------------------------------
|
||||||
|
|
||||||
import RecipesPipeline
|
|
||||||
import RecipesPipeline: SliceIt,
|
|
||||||
DefaultsDict,
|
|
||||||
Formatted,
|
|
||||||
AbstractSurface,
|
|
||||||
Surface,
|
|
||||||
Volume,
|
|
||||||
is3d,
|
|
||||||
is_surface,
|
|
||||||
needs_3d_axes,
|
|
||||||
group_as_matrix, # for StatsPlots
|
|
||||||
reset_kw!,
|
|
||||||
pop_kw!,
|
|
||||||
scale_func,
|
|
||||||
inverse_scale_func,
|
|
||||||
unzip,
|
|
||||||
dateformatter,
|
|
||||||
datetimeformatter,
|
|
||||||
timeformatter
|
|
||||||
|
|
||||||
include("types.jl")
|
include("types.jl")
|
||||||
include("utils.jl")
|
include("utils.jl")
|
||||||
include("components.jl")
|
include("components.jl")
|
||||||
@@ -200,6 +171,7 @@ include("args.jl")
|
|||||||
include("themes.jl")
|
include("themes.jl")
|
||||||
include("plot.jl")
|
include("plot.jl")
|
||||||
include("pipeline.jl")
|
include("pipeline.jl")
|
||||||
|
include("series.jl")
|
||||||
include("layouts.jl")
|
include("layouts.jl")
|
||||||
include("subplots.jl")
|
include("subplots.jl")
|
||||||
include("recipes.jl")
|
include("recipes.jl")
|
||||||
@@ -248,8 +220,7 @@ end
|
|||||||
|
|
||||||
# ---------------------------------------------------------
|
# ---------------------------------------------------------
|
||||||
|
|
||||||
const CURRENT_BACKEND = CurrentBackend(:none)
|
const CURRENT_BACKEND = Plots.CurrentBackend(:gr)
|
||||||
|
gr()
|
||||||
include("precompile_includer.jl")
|
|
||||||
|
|
||||||
end # module
|
end # module
|
||||||
|
|||||||
+13
-27
@@ -24,7 +24,6 @@ end
|
|||||||
giffn() = (isijulia() ? "tmp.gif" : tempname()*".gif")
|
giffn() = (isijulia() ? "tmp.gif" : tempname()*".gif")
|
||||||
movfn() = (isijulia() ? "tmp.mov" : tempname()*".mov")
|
movfn() = (isijulia() ? "tmp.mov" : tempname()*".mov")
|
||||||
mp4fn() = (isijulia() ? "tmp.mp4" : tempname()*".mp4")
|
mp4fn() = (isijulia() ? "tmp.mp4" : tempname()*".mp4")
|
||||||
webmfn() = (isijulia() ? "tmp.webm" : tempname()*".webm")
|
|
||||||
|
|
||||||
mutable struct FrameIterator
|
mutable struct FrameIterator
|
||||||
itr
|
itr
|
||||||
@@ -64,16 +63,12 @@ file_extension(fn) = Base.Filesystem.splitext(fn)[2][2:end]
|
|||||||
gif(anim::Animation, fn = giffn(); kw...) = buildanimation(anim, fn; kw...)
|
gif(anim::Animation, fn = giffn(); kw...) = buildanimation(anim, fn; kw...)
|
||||||
mov(anim::Animation, fn = movfn(); kw...) = buildanimation(anim, fn, false; kw...)
|
mov(anim::Animation, fn = movfn(); kw...) = buildanimation(anim, fn, false; kw...)
|
||||||
mp4(anim::Animation, fn = mp4fn(); kw...) = buildanimation(anim, fn, false; kw...)
|
mp4(anim::Animation, fn = mp4fn(); kw...) = buildanimation(anim, fn, false; kw...)
|
||||||
webm(anim::Animation, fn = webmfn(); kw...) = buildanimation(anim, fn, false; kw...)
|
|
||||||
|
|
||||||
ffmpeg_framerate(fps) = "$fps"
|
|
||||||
ffmpeg_framerate(fps::Rational) = "$(fps.num)/$(fps.den)"
|
|
||||||
|
|
||||||
function buildanimation(anim::Animation, fn::AbstractString,
|
function buildanimation(anim::Animation, fn::AbstractString,
|
||||||
is_animated_gif::Bool=true;
|
is_animated_gif::Bool=true;
|
||||||
fps::Real = 20, loop::Integer = 0,
|
fps::Integer = 20, loop::Integer = 0,
|
||||||
variable_palette::Bool=false,
|
variable_palette::Bool=false,
|
||||||
verbose=false,
|
|
||||||
show_msg::Bool=true)
|
show_msg::Bool=true)
|
||||||
if length(anim.frames) == 0
|
if length(anim.frames) == 0
|
||||||
throw(ArgumentError("Cannot build empty animations"))
|
throw(ArgumentError("Cannot build empty animations"))
|
||||||
@@ -81,24 +76,20 @@ function buildanimation(anim::Animation, fn::AbstractString,
|
|||||||
|
|
||||||
fn = abspath(expanduser(fn))
|
fn = abspath(expanduser(fn))
|
||||||
animdir = anim.dir
|
animdir = anim.dir
|
||||||
framerate = ffmpeg_framerate(fps)
|
|
||||||
verbose_level = (verbose isa Int ? verbose :
|
|
||||||
verbose ? 32 # "info"
|
|
||||||
: 16) # "error"
|
|
||||||
|
|
||||||
if is_animated_gif
|
if is_animated_gif
|
||||||
if variable_palette
|
if variable_palette
|
||||||
# generate a colorpalette for each frame for highest quality, but larger filesize
|
# generate a colorpalette for each frame for highest quality, but larger filesize
|
||||||
palette="palettegen=stats_mode=single[pal],[0:v][pal]paletteuse=new=1"
|
palette="palettegen=stats_mode=single[pal],[0:v][pal]paletteuse=new=1"
|
||||||
ffmpeg_exe(`-v $verbose_level -framerate $framerate -loop $loop -i $(animdir)/%06d.png -lavfi "$palette" -y $fn`)
|
ffmpeg_exe(`-v 0 -framerate $fps -loop $loop -i $(animdir)/%06d.png -lavfi "$palette" -y $fn`)
|
||||||
else
|
else
|
||||||
# generate a colorpalette first so ffmpeg does not have to guess it
|
# generate a colorpalette first so ffmpeg does not have to guess it
|
||||||
ffmpeg_exe(`-v $verbose_level -i $(animdir)/%06d.png -vf "palettegen=stats_mode=diff" -y "$(animdir)/palette.bmp"`)
|
ffmpeg_exe(`-v 0 -i $(animdir)/%06d.png -vf "palettegen=stats_mode=diff" -y "$(animdir)/palette.bmp"`)
|
||||||
# then apply the palette to get better results
|
# then apply the palette to get better results
|
||||||
ffmpeg_exe(`-v $verbose_level -framerate $framerate -loop $loop -i $(animdir)/%06d.png -i "$(animdir)/palette.bmp" -lavfi "paletteuse=dither=sierra2_4a" -y $fn`)
|
ffmpeg_exe(` -v 0 -framerate $fps -loop $loop -i $(animdir)/%06d.png -i "$(animdir)/palette.bmp" -lavfi "paletteuse=dither=sierra2_4a" -y $fn`)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
ffmpeg_exe(`-v $verbose_level -framerate $framerate -loop $loop -i $(animdir)/%06d.png -pix_fmt yuv420p -y $fn`)
|
ffmpeg_exe(`-v 0 -framerate $fps -loop $loop -i $(animdir)/%06d.png -pix_fmt yuv420p -y $fn`)
|
||||||
end
|
end
|
||||||
|
|
||||||
show_msg && @info("Saved animation to ", fn)
|
show_msg && @info("Saved animation to ", fn)
|
||||||
@@ -110,18 +101,13 @@ end
|
|||||||
# write out html to view the gif
|
# write out html to view the gif
|
||||||
function Base.show(io::IO, ::MIME"text/html", agif::AnimatedGif)
|
function Base.show(io::IO, ::MIME"text/html", agif::AnimatedGif)
|
||||||
ext = file_extension(agif.filename)
|
ext = file_extension(agif.filename)
|
||||||
if ext == "gif"
|
write(io, if ext == "gif"
|
||||||
html = "<img src=\"data:image/gif;base64," * base64encode(read(agif.filename)) * "\" />"
|
"<img src=\"$(relpath(agif.filename))\" />"
|
||||||
elseif ext in ("mov", "mp4","webm")
|
elseif ext in ("mov", "mp4")
|
||||||
mimetype = ext == "mov" ? "video/quicktime" : "video/$ext"
|
"<video controls><source src=\"$(relpath(agif.filename)) type=\"video/$ext\"></video>"
|
||||||
html = "<video controls><source src=\"data:$mimetype;base64," *
|
|
||||||
base64encode(read(agif.filename)) *
|
|
||||||
"\" type = \"$mimetype\"></video>"
|
|
||||||
else
|
else
|
||||||
error("Cannot show animation with extension $ext: $agif")
|
error("Cannot show animation with extension $ext: $agif")
|
||||||
end
|
end)
|
||||||
|
|
||||||
write(io, html)
|
|
||||||
return nothing
|
return nothing
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -169,16 +155,16 @@ function _animate(forloop::Expr, args...; callgif = false)
|
|||||||
error("Unsupported animate filter: $args")
|
error("Unsupported animate filter: $args")
|
||||||
end
|
end
|
||||||
|
|
||||||
push!(block.args, :(if $filterexpr; Plots.frame($animsym); end))
|
push!(block.args, :(if $filterexpr; frame($animsym); end))
|
||||||
push!(block.args, :(global $countersym += 1))
|
push!(block.args, :(global $countersym += 1))
|
||||||
|
|
||||||
# add a final call to `gif(anim)`?
|
# add a final call to `gif(anim)`?
|
||||||
retval = callgif ? :(Plots.gif($animsym)) : animsym
|
retval = callgif ? :(gif($animsym)) : animsym
|
||||||
|
|
||||||
# full expression:
|
# full expression:
|
||||||
esc(quote
|
esc(quote
|
||||||
$freqassert # if filtering, check frequency is an Integer > 0
|
$freqassert # if filtering, check frequency is an Integer > 0
|
||||||
$animsym = Plots.Animation() # init animation object
|
$animsym = Animation() # init animation object
|
||||||
global $countersym = 1 # init iteration counter
|
global $countersym = 1 # init iteration counter
|
||||||
$forloop # for loop, saving a frame after each iteration
|
$forloop # for loop, saving a frame after each iteration
|
||||||
$retval # return the animation object, or the gif
|
$retval # return the animation object, or the gif
|
||||||
|
|||||||
+6
-16
@@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
const _arg_desc = KW(
|
const _arg_desc = Dict{Symbol,String}(
|
||||||
|
|
||||||
# series args
|
# series args
|
||||||
:label => "String type. The label for a series, which appears in a legend. If empty, no legend entry is added.",
|
:label => "String type. The label for a series, which appears in a legend. If empty, no legend entry is added.",
|
||||||
@@ -42,7 +42,6 @@ const _arg_desc = KW(
|
|||||||
:arrow => "nothing (no arrows), Bool (if true, default arrows), Arrow object, or arg(s) that could be style or head length/widths. Defines arrowheads that should be displayed at the end of path line segments (just before a NaN and the last non-NaN point). Used in quiverplot, streamplot, or similar.",
|
:arrow => "nothing (no arrows), Bool (if true, default arrows), Arrow object, or arg(s) that could be style or head length/widths. Defines arrowheads that should be displayed at the end of path line segments (just before a NaN and the last non-NaN point). Used in quiverplot, streamplot, or similar.",
|
||||||
:normalize => "Bool or Symbol. Histogram normalization mode. Possible values are: false/:none (no normalization, default), true/:pdf (normalize to a discrete Probability Density Function, where the total area of the bins is 1), :probability (bin heights sum to 1) and :density (the area of each bin, rather than the height, is equal to the counts - useful for uneven bin sizes).",
|
:normalize => "Bool or Symbol. Histogram normalization mode. Possible values are: false/:none (no normalization, default), true/:pdf (normalize to a discrete Probability Density Function, where the total area of the bins is 1), :probability (bin heights sum to 1) and :density (the area of each bin, rather than the height, is equal to the counts - useful for uneven bin sizes).",
|
||||||
:weights => "AbstractVector. Used in histogram types for weighted counts.",
|
:weights => "AbstractVector. Used in histogram types for weighted counts.",
|
||||||
:show_empty_bins => "Bool. Whether empty bins in a 2D histogram are colored as 0 (true), or transparent (the default).",
|
|
||||||
:contours => "Bool. Add contours to the side-grids of 3D plots? Used in surface/wireframe.",
|
:contours => "Bool. Add contours to the side-grids of 3D plots? Used in surface/wireframe.",
|
||||||
:contour_labels => "Bool. Show labels at the contour lines?",
|
:contour_labels => "Bool. Show labels at the contour lines?",
|
||||||
:match_dimensions => "Bool. For heatmap types... should the first dimension of a matrix (rows) correspond to the first dimension of the plot (x-axis)? The default is false, which matches the behavior of Matplotlib, Plotly, and others. Note: when passing a function for z, the function should still map `(x,y) -> z`.",
|
:match_dimensions => "Bool. For heatmap types... should the first dimension of a matrix (rows) correspond to the first dimension of the plot (x-axis)? The default is false, which matches the behavior of Matplotlib, Plotly, and others. Note: when passing a function for z, the function should still map `(x,y) -> z`.",
|
||||||
@@ -70,13 +69,12 @@ const _arg_desc = KW(
|
|||||||
:dpi => "Number. Dots Per Inch of output figures",
|
:dpi => "Number. Dots Per Inch of output figures",
|
||||||
:thickness_scaling => "Number. Scale for the thickness of all line elements like lines, borders, axes, grid lines, ... defaults to 1.",
|
:thickness_scaling => "Number. Scale for the thickness of all line elements like lines, borders, axes, grid lines, ... defaults to 1.",
|
||||||
:display_type => "Symbol (`:auto`, `:gui`, or `:inline`). When supported, `display` will either open a GUI window or plot inline.",
|
:display_type => "Symbol (`:auto`, `:gui`, or `:inline`). When supported, `display` will either open a GUI window or plot inline.",
|
||||||
:extra_kwargs => "Either one of (`:plot`, `:subplot`, `:series`) to specify for which element extra keyword args are collected or a KW (Dict{Symbol,Any}) to pass a map of extra keyword args which may be specific to a backend. Default: `:series`.\n Example: `pgfplotsx(); scatter(1:5, extra_kwargs=Dict(:subplot=>Dict(\"axis line shift\" => \"10pt\"))`",
|
:extra_kwargs => "KW (Dict{Symbol,Any}). Pass a map of extra keyword args which may be specific to a backend.",
|
||||||
:fontfamily => "String or Symbol. Default font family for title, legend entries, tick labels and guides",
|
:fontfamily => "String or Symbol. Default font family for title, legend entries, tick labels and guides",
|
||||||
:warn_on_unsupported => "Bool. Warn on unsupported attributes, series types and marker shapes",
|
|
||||||
|
|
||||||
# subplot args
|
# subplot args
|
||||||
:title => "String. Subplot title.",
|
:title => "String. Subplot title.",
|
||||||
:titlelocation => "Symbol. Position of subplot title. Values: `:left`, `:center`, `:right`",
|
:title_location => "Symbol. Position of subplot title. Values: `:left`, `:center`, `:right`",
|
||||||
:titlefontfamily => "String or Symbol. Font family of subplot title.",
|
:titlefontfamily => "String or Symbol. Font family of subplot title.",
|
||||||
:titlefontsize => "Integer. Font pointsize of subplot title.",
|
:titlefontsize => "Integer. Font pointsize of subplot title.",
|
||||||
:titlefonthalign => "Symbol. Font horizontal alignment of subplot title: :hcenter, :left, :right or :center",
|
:titlefonthalign => "Symbol. Font horizontal alignment of subplot title: :hcenter, :left, :right or :center",
|
||||||
@@ -90,27 +88,19 @@ const _arg_desc = KW(
|
|||||||
:foreground_color_legend => "Color Type or `:match` (matches `:foreground_color_subplot`). Foreground color of the legend.",
|
:foreground_color_legend => "Color Type or `:match` (matches `:foreground_color_subplot`). Foreground color of the legend.",
|
||||||
:foreground_color_title => "Color Type or `:match` (matches `:foreground_color_subplot`). Color of subplot title.",
|
:foreground_color_title => "Color Type or `:match` (matches `:foreground_color_subplot`). Color of subplot title.",
|
||||||
:color_palette => "Vector of colors (cycle through) or color gradient (generate list from gradient) or `:auto` (generate a color list using `Colors.distiguishable_colors` and custom seed colors chosen to contrast with the background). The color palette is a color list from which series colors are automatically chosen.",
|
:color_palette => "Vector of colors (cycle through) or color gradient (generate list from gradient) or `:auto` (generate a color list using `Colors.distiguishable_colors` and custom seed colors chosen to contrast with the background). The color palette is a color list from which series colors are automatically chosen.",
|
||||||
:legend => "Bool (show the legend?) or (x,y) tuple or Symbol (legend position). Bottom left corner of legend is placed at (x,y). Symbol values: `:none`; `:best`; `:inline`; `:inside`; `:legend`; any valid combination of `:(outer ?)(top/bottom ?)(right/left ?)`, i.e.: `:top`, `:topright`, `:outerleft`, `:outerbottomright` ... (note: only some may be supported in each backend)",
|
:legend => "Bool (show the legend?) or Symbol (legend position). Symbol values: `:none`, `:best`, `:right`, `:left`, `:top`, `:bottom`, `:inside`, `:legend`, `:topright`, `:topleft`, `:bottomleft`, `:bottomright` (note: only some may be supported in each backend)",
|
||||||
:legendfontfamily => "String or Symbol. Font family of legend entries.",
|
:legendfontfamily => "String or Symbol. Font family of legend entries.",
|
||||||
:legendfontsize => "Integer. Font pointsize of legend entries.",
|
:legendfontsize => "Integer. Font pointsize of legend entries.",
|
||||||
:legendfonthalign => "Symbol. Font horizontal alignment of legend entries: :hcenter, :left, :right or :center",
|
:legendfonthalign => "Symbol. Font horizontal alignment of legend entries: :hcenter, :left, :right or :center",
|
||||||
:legendfontvalign => "Symbol. Font vertical alignment of legend entries: :vcenter, :top, :bottom or :center",
|
:legendfontvalign => "Symbol. Font vertical alignment of legend entries: :vcenter, :top, :bottom or :center",
|
||||||
:legendfontrotation => "Real. Font rotation of legend entries",
|
:legendfontrotation => "Real. Font rotation of legend entries",
|
||||||
:legendfontcolor => "Color Type. Font color of legend entries",
|
:legendfontcolor => "Color Type. Font color of legend entries",
|
||||||
:legendtitle => "String. Legend title.",
|
|
||||||
:legendtitlefontfamily => "String or Symbol. Font family of the legend title.",
|
|
||||||
:legendtitlefontsize => "Integer. Font pointsize the legend title.",
|
|
||||||
:legendtitlefonthalign => "Symbol. Font horizontal alignment of the legend title: :hcenter, :left, :right or :center",
|
|
||||||
:legendtitlefontvalign => "Symbol. Font vertical alignment of the legend title: :vcenter, :top, :bottom or :center",
|
|
||||||
:legendtitlefontrotation => "Real. Font rotation of the legend title",
|
|
||||||
:legendtitlefontcolor => "Color Type. Font color of the legend title",
|
|
||||||
:colorbar => "Bool (show the colorbar?) or Symbol (colorbar position). Symbol values: `:none`, `:best`, `:right`, `:left`, `:top`, `:bottom`, `:legend` (matches legend value) (note: only some may be supported in each backend)",
|
:colorbar => "Bool (show the colorbar?) or Symbol (colorbar position). Symbol values: `:none`, `:best`, `:right`, `:left`, `:top`, `:bottom`, `:legend` (matches legend value) (note: only some may be supported in each backend)",
|
||||||
:clims => "`:auto`, NTuple{2,Number}, or a function that takes series data in and returns NTuple{2,Number}. Fixes the limits of the colorbar.",
|
:clims => "`:auto` or NTuple{2,Number}. Fixes the limits of the colorbar.",
|
||||||
:legendfont => "Font. Font of legend items.",
|
:legendfont => "Font. Font of legend items.",
|
||||||
:legendtitlefont => "Font. Font of the legend title.",
|
|
||||||
:annotations => "(x,y,text) tuple(s). Can be a single tuple or a list of them. Text can be String or PlotText (created with `text(args...)`) Add one-off text annotations at the x,y coordinates.",
|
:annotations => "(x,y,text) tuple(s). Can be a single tuple or a list of them. Text can be String or PlotText (created with `text(args...)`) Add one-off text annotations at the x,y coordinates.",
|
||||||
:projection => "Symbol or String. '3d' or 'polar'",
|
:projection => "Symbol or String. '3d' or 'polar'",
|
||||||
:aspect_ratio => "Symbol (:equal or :none) or Number. Plot area is resized so that 1 y-unit is the same size as `aspect_ratio` x-units. With `:none`, images inherit aspect ratio of the plot area.",
|
:aspect_ratio => "Symbol (:equal) or Number. Plot area is resized so that 1 y-unit is the same size as `aspect_ratio` x-units.",
|
||||||
:margin => "Measure (multiply by `mm`, `px`, etc). Base for individual margins... not directly used. Specifies the extra padding around subplots.",
|
:margin => "Measure (multiply by `mm`, `px`, etc). Base for individual margins... not directly used. Specifies the extra padding around subplots.",
|
||||||
:left_margin => "Measure (multiply by `mm`, `px`, etc) or `:match` (matches `:margin`). Specifies the extra padding to the left of the subplot.",
|
:left_margin => "Measure (multiply by `mm`, `px`, etc) or `:match` (matches `:margin`). Specifies the extra padding to the left of the subplot.",
|
||||||
:top_margin => "Measure (multiply by `mm`, `px`, etc) or `:match` (matches `:margin`). Specifies the extra padding on the top of the subplot.",
|
:top_margin => "Measure (multiply by `mm`, `px`, etc) or `:match` (matches `:margin`). Specifies the extra padding on the top of the subplot.",
|
||||||
|
|||||||
+249
-277
File diff suppressed because it is too large
Load Diff
+146
-348
@@ -7,20 +7,29 @@
|
|||||||
# -------------------------------------------------------------------------
|
# -------------------------------------------------------------------------
|
||||||
|
|
||||||
function Axis(sp::Subplot, letter::Symbol, args...; kw...)
|
function Axis(sp::Subplot, letter::Symbol, args...; kw...)
|
||||||
explicit = KW(
|
# init with values from _plot_defaults
|
||||||
|
plotattributes = KW(
|
||||||
:letter => letter,
|
:letter => letter,
|
||||||
|
# :extrema => (Inf, -Inf),
|
||||||
:extrema => Extrema(),
|
:extrema => Extrema(),
|
||||||
:discrete_map => Dict(), # map discrete values to discrete indices
|
:discrete_map => Dict(), # map discrete values to discrete indices
|
||||||
:continuous_values => zeros(0),
|
:continuous_values => zeros(0),
|
||||||
:discrete_values => [],
|
|
||||||
:use_minor => false,
|
:use_minor => false,
|
||||||
:show => true, # show or hide the axis? (useful for linked subplots)
|
:show => true, # show or hide the axis? (useful for linked subplots)
|
||||||
)
|
)
|
||||||
|
|
||||||
attr = DefaultsDict(explicit, _axis_defaults_byletter[letter])
|
# get defaults from letter version, unless match
|
||||||
|
for (k,v) in _axis_defaults
|
||||||
|
lk = Symbol(letter, k)
|
||||||
|
lv = _axis_defaults_byletter[lk]
|
||||||
|
plotattributes[k] = (lv == :match ? v : lv)
|
||||||
|
end
|
||||||
|
|
||||||
|
# merge!(plotattributes, _axis_defaults)
|
||||||
|
plotattributes[:discrete_values] = []
|
||||||
|
|
||||||
# update the defaults
|
# update the defaults
|
||||||
attr!(Axis([sp], attr), args...; kw...)
|
attr!(Axis([sp], plotattributes), args...; kw...)
|
||||||
end
|
end
|
||||||
|
|
||||||
function get_axis(sp::Subplot, letter::Symbol)
|
function get_axis(sp::Subplot, letter::Symbol)
|
||||||
@@ -32,9 +41,10 @@ function get_axis(sp::Subplot, letter::Symbol)
|
|||||||
end::Axis
|
end::Axis
|
||||||
end
|
end
|
||||||
|
|
||||||
function process_axis_arg!(plotattributes::AKW, arg, letter = "")
|
function process_axis_arg!(plotattributes::KW, arg, letter = "")
|
||||||
T = typeof(arg)
|
T = typeof(arg)
|
||||||
arg = get(_scaleAliases, arg, arg)
|
arg = get(_scaleAliases, arg, arg)
|
||||||
|
|
||||||
if typeof(arg) <: Font
|
if typeof(arg) <: Font
|
||||||
plotattributes[Symbol(letter,:tickfont)] = arg
|
plotattributes[Symbol(letter,:tickfont)] = arg
|
||||||
plotattributes[Symbol(letter,:guidefont)] = arg
|
plotattributes[Symbol(letter,:guidefont)] = arg
|
||||||
@@ -83,9 +93,6 @@ function attr!(axis::Axis, args...; kw...)
|
|||||||
process_axis_arg!(plotattributes, arg)
|
process_axis_arg!(plotattributes, arg)
|
||||||
end
|
end
|
||||||
|
|
||||||
# then preprocess keyword arguments
|
|
||||||
RecipesPipeline.preprocess_attributes!(KW(kw))
|
|
||||||
|
|
||||||
# then override for any keywords... only those keywords that already exists in plotattributes
|
# then override for any keywords... only those keywords that already exists in plotattributes
|
||||||
for (k,v) in kw
|
for (k,v) in kw
|
||||||
if haskey(plotattributes, k)
|
if haskey(plotattributes, k)
|
||||||
@@ -116,11 +123,33 @@ Base.setindex!(axis::Axis, v, ks::Symbol...) = setindex!(axis.plotattributes, v,
|
|||||||
Base.haskey(axis::Axis, k::Symbol) = haskey(axis.plotattributes, k)
|
Base.haskey(axis::Axis, k::Symbol) = haskey(axis.plotattributes, k)
|
||||||
ignorenan_extrema(axis::Axis) = (ex = axis[:extrema]; (ex.emin, ex.emax))
|
ignorenan_extrema(axis::Axis) = (ex = axis[:extrema]; (ex.emin, ex.emax))
|
||||||
|
|
||||||
|
|
||||||
|
const _scale_funcs = Dict{Symbol,Function}(
|
||||||
|
:log10 => log10,
|
||||||
|
:log2 => log2,
|
||||||
|
:ln => log,
|
||||||
|
)
|
||||||
|
const _inv_scale_funcs = Dict{Symbol,Function}(
|
||||||
|
:log10 => exp10,
|
||||||
|
:log2 => exp2,
|
||||||
|
:ln => exp,
|
||||||
|
)
|
||||||
|
|
||||||
|
# const _label_func = Dict{Symbol,Function}(
|
||||||
|
# :log10 => x -> "10^$x",
|
||||||
|
# :log2 => x -> "2^$x",
|
||||||
|
# :ln => x -> "e^$x",
|
||||||
|
# )
|
||||||
|
|
||||||
const _label_func = Dict{Symbol,Function}(
|
const _label_func = Dict{Symbol,Function}(
|
||||||
:log10 => x -> "10^$x",
|
:log10 => x -> "10^$x",
|
||||||
:log2 => x -> "2^$x",
|
:log2 => x -> "2^$x",
|
||||||
:ln => x -> "e^$x",
|
:ln => x -> "e^$x",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
scalefunc(scale::Symbol) = x -> get(_scale_funcs, scale, identity)(Float64(x))
|
||||||
|
invscalefunc(scale::Symbol) = x -> get(_inv_scale_funcs, scale, identity)(Float64(x))
|
||||||
labelfunc(scale::Symbol, backend::AbstractBackend) = get(_label_func, scale, string)
|
labelfunc(scale::Symbol, backend::AbstractBackend) = get(_label_func, scale, string)
|
||||||
|
|
||||||
function optimal_ticks_and_labels(sp::Subplot, axis::Axis, ticks = nothing)
|
function optimal_ticks_and_labels(sp::Subplot, axis::Axis, ticks = nothing)
|
||||||
@@ -128,7 +157,7 @@ function optimal_ticks_and_labels(sp::Subplot, axis::Axis, ticks = nothing)
|
|||||||
|
|
||||||
# scale the limits
|
# scale the limits
|
||||||
scale = axis[:scale]
|
scale = axis[:scale]
|
||||||
sf = RecipesPipeline.scale_func(scale)
|
sf = scalefunc(scale)
|
||||||
|
|
||||||
# If the axis input was a Date or DateTime use a special logic to find
|
# If the axis input was a Date or DateTime use a special logic to find
|
||||||
# "round" Date(Time)s as ticks
|
# "round" Date(Time)s as ticks
|
||||||
@@ -138,7 +167,7 @@ function optimal_ticks_and_labels(sp::Subplot, axis::Axis, ticks = nothing)
|
|||||||
# rather than on the input format
|
# rather than on the input format
|
||||||
# TODO: maybe: non-trivial scale (:ln, :log2, :log10) for date/datetime
|
# TODO: maybe: non-trivial scale (:ln, :log2, :log10) for date/datetime
|
||||||
if ticks === nothing && scale == :identity
|
if ticks === nothing && scale == :identity
|
||||||
if axis[:formatter] == RecipesPipeline.dateformatter
|
if axis[:formatter] == dateformatter
|
||||||
# optimize_datetime_ticks returns ticks and labels(!) based on
|
# optimize_datetime_ticks returns ticks and labels(!) based on
|
||||||
# integers/floats corresponding to the DateTime type. Thus, the axes
|
# integers/floats corresponding to the DateTime type. Thus, the axes
|
||||||
# limits, which resulted from converting the Date type to integers,
|
# limits, which resulted from converting the Date type to integers,
|
||||||
@@ -149,7 +178,7 @@ function optimal_ticks_and_labels(sp::Subplot, axis::Axis, ticks = nothing)
|
|||||||
k_min = 2, k_max = 4)
|
k_min = 2, k_max = 4)
|
||||||
# Now the ticks are converted back to floats corresponding to Dates.
|
# Now the ticks are converted back to floats corresponding to Dates.
|
||||||
return ticks / 864e5, labels
|
return ticks / 864e5, labels
|
||||||
elseif axis[:formatter] == RecipesPipeline.datetimeformatter
|
elseif axis[:formatter] == datetimeformatter
|
||||||
return optimize_datetime_ticks(amin, amax; k_min = 2, k_max = 4)
|
return optimize_datetime_ticks(amin, amax; k_min = 2, k_max = 4)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -173,18 +202,22 @@ function optimal_ticks_and_labels(sp::Subplot, axis::Axis, ticks = nothing)
|
|||||||
# chosen ticks is not too much bigger than amin - amax:
|
# chosen ticks is not too much bigger than amin - amax:
|
||||||
strict_span = false,
|
strict_span = false,
|
||||||
)
|
)
|
||||||
axis[:lims] = map(RecipesPipeline.inverse_scale_func(scale), (viewmin, viewmax))
|
axis[:lims] = map(invscalefunc(scale), (viewmin, viewmax))
|
||||||
else
|
else
|
||||||
scaled_ticks = map(sf, (filter(t -> amin <= t <= amax, ticks)))
|
scaled_ticks = map(sf, (filter(t -> amin <= t <= amax, ticks)))
|
||||||
end
|
end
|
||||||
unscaled_ticks = map(RecipesPipeline.inverse_scale_func(scale), scaled_ticks)
|
unscaled_ticks = map(invscalefunc(scale), scaled_ticks)
|
||||||
|
|
||||||
labels = if any(isfinite, unscaled_ticks)
|
labels = if any(isfinite, unscaled_ticks)
|
||||||
formatter = axis[:formatter]
|
formatter = axis[:formatter]
|
||||||
if formatter in (:auto, :plain, :scientific, :engineering)
|
if formatter == :auto
|
||||||
map(labelfunc(scale, backend()), Showoff.showoff(scaled_ticks, formatter))
|
# the default behavior is to make strings of the scaled values and then apply the labelfunc
|
||||||
elseif formatter == :latex
|
map(labelfunc(scale, backend()), Showoff.showoff(scaled_ticks, :auto))
|
||||||
map(x -> string("\$", replace(convert_sci_unicode(x), '×' => "\\times"), "\$"), Showoff.showoff(unscaled_ticks, :auto))
|
elseif formatter == :plain
|
||||||
|
# Leave the numbers in plain format
|
||||||
|
map(labelfunc(scale, backend()), Showoff.showoff(scaled_ticks, :plain))
|
||||||
|
elseif formatter == :scientific
|
||||||
|
Showoff.showoff(unscaled_ticks, :scientific)
|
||||||
else
|
else
|
||||||
# there was an override for the formatter... use that on the unscaled ticks
|
# there was an override for the formatter... use that on the unscaled ticks
|
||||||
map(formatter, unscaled_ticks)
|
map(formatter, unscaled_ticks)
|
||||||
@@ -262,7 +295,7 @@ function get_minor_ticks(sp, axis, ticks)
|
|||||||
#Add one phantom tick either side of the ticks to ensure minor ticks extend to the axis limits
|
#Add one phantom tick either side of the ticks to ensure minor ticks extend to the axis limits
|
||||||
if length(ticks) > 2
|
if length(ticks) > 2
|
||||||
ratio = (ticks[3] - ticks[2])/(ticks[2] - ticks[1])
|
ratio = (ticks[3] - ticks[2])/(ticks[2] - ticks[1])
|
||||||
elseif axis[:scale] in (:none, :identity)
|
elseif axis[:scale] == :none
|
||||||
ratio = 1
|
ratio = 1
|
||||||
else
|
else
|
||||||
return nothing
|
return nothing
|
||||||
@@ -276,9 +309,7 @@ function get_minor_ticks(sp, axis, ticks)
|
|||||||
minorticks = typeof(ticks[1])[]
|
minorticks = typeof(ticks[1])[]
|
||||||
for (i,hi) in enumerate(ticks[2:end])
|
for (i,hi) in enumerate(ticks[2:end])
|
||||||
lo = ticks[i]
|
lo = ticks[i]
|
||||||
if isfinite(lo) && isfinite(hi) && hi > lo
|
append!(minorticks,collect(lo + (hi-lo)/n :(hi-lo)/n: hi - (hi-lo)/2n))
|
||||||
append!(minorticks,collect(lo + (hi-lo)/n :(hi-lo)/n: hi - (hi-lo)/2n))
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
minorticks[amin .<= minorticks .<= amax]
|
minorticks[amin .<= minorticks .<= amax]
|
||||||
end
|
end
|
||||||
@@ -326,7 +357,7 @@ function expand_extrema!(axis::Axis, v::AVec{N}) where N<:Number
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
function expand_extrema!(sp::Subplot, plotattributes::AKW)
|
function expand_extrema!(sp::Subplot, plotattributes::KW)
|
||||||
vert = isvertical(plotattributes)
|
vert = isvertical(plotattributes)
|
||||||
|
|
||||||
# first expand for the data
|
# first expand for the data
|
||||||
@@ -371,7 +402,7 @@ function expand_extrema!(sp::Subplot, plotattributes::AKW)
|
|||||||
if fr === nothing && plotattributes[:seriestype] == :bar
|
if fr === nothing && plotattributes[:seriestype] == :bar
|
||||||
fr = 0.0
|
fr = 0.0
|
||||||
end
|
end
|
||||||
if fr !== nothing && !RecipesPipeline.is3d(plotattributes)
|
if fr !== nothing && !all3D(plotattributes)
|
||||||
axis = sp.attr[vert ? :yaxis : :xaxis]
|
axis = sp.attr[vert ? :yaxis : :xaxis]
|
||||||
if typeof(fr) <: Tuple
|
if typeof(fr) <: Tuple
|
||||||
for fri in fr
|
for fri in fr
|
||||||
@@ -416,7 +447,7 @@ end
|
|||||||
|
|
||||||
# push the limits out slightly
|
# push the limits out slightly
|
||||||
function widen(lmin, lmax, scale = :identity)
|
function widen(lmin, lmax, scale = :identity)
|
||||||
f, invf = RecipesPipeline.scale_func(scale), RecipesPipeline.inverse_scale_func(scale)
|
f, invf = scalefunc(scale), invscalefunc(scale)
|
||||||
span = f(lmax) - f(lmin)
|
span = f(lmax) - f(lmin)
|
||||||
# eps = NaNMath.max(1e-16, min(1e-2span, 1e-10))
|
# eps = NaNMath.max(1e-16, min(1e-2span, 1e-10))
|
||||||
eps = NaNMath.max(1e-16, 0.03span)
|
eps = NaNMath.max(1e-16, 0.03span)
|
||||||
@@ -455,12 +486,11 @@ function axis_limits(sp, letter, should_widen = default_should_widen(sp[Symbol(l
|
|||||||
lims = axis[:lims]
|
lims = axis[:lims]
|
||||||
has_user_lims = (isa(lims, Tuple) || isa(lims, AVec)) && length(lims) == 2
|
has_user_lims = (isa(lims, Tuple) || isa(lims, AVec)) && length(lims) == 2
|
||||||
if has_user_lims
|
if has_user_lims
|
||||||
lmin, lmax = lims
|
if isfinite(lims[1])
|
||||||
if lmin != :auto && isfinite(lmin)
|
amin = lims[1]
|
||||||
amin = lmin
|
|
||||||
end
|
end
|
||||||
if lmax != :auto && isfinite(lmax)
|
if isfinite(lims[2])
|
||||||
amax = lmax
|
amax = lims[2]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if amax <= amin && isfinite(amin)
|
if amax <= amin && isfinite(amin)
|
||||||
@@ -486,7 +516,7 @@ function axis_limits(sp, letter, should_widen = default_should_widen(sp[Symbol(l
|
|||||||
amin, amax
|
amin, amax
|
||||||
end
|
end
|
||||||
|
|
||||||
if !has_user_lims && consider_aspect && letter in (:x, :y) && !(sp[:aspect_ratio] in (:none, :auto) || RecipesPipeline.is3d(:sp))
|
if !has_user_lims && consider_aspect && letter in (:x, :y) && !(sp[:aspect_ratio] in (:none, :auto) || is3d(:sp))
|
||||||
aspect_ratio = isa(sp[:aspect_ratio], Number) ? sp[:aspect_ratio] : 1
|
aspect_ratio = isa(sp[:aspect_ratio], Number) ? sp[:aspect_ratio] : 1
|
||||||
plot_ratio = height(plotarea(sp)) / width(plotarea(sp))
|
plot_ratio = height(plotarea(sp)) / width(plotarea(sp))
|
||||||
dist = amax - amin
|
dist = amax - amin
|
||||||
@@ -543,10 +573,10 @@ end
|
|||||||
|
|
||||||
# add the discrete value for each item. return the continuous values and the indices
|
# add the discrete value for each item. return the continuous values and the indices
|
||||||
function discrete_value!(axis::Axis, v::AVec)
|
function discrete_value!(axis::Axis, v::AVec)
|
||||||
n = eachindex(v)
|
n = length(v)
|
||||||
cvec = zeros(axes(v))
|
cvec = zeros(n)
|
||||||
discrete_indices = similar(Array{Int}, axes(v))
|
discrete_indices = zeros(Int, n)
|
||||||
for i in n
|
for i=1:n
|
||||||
cvec[i], discrete_indices[i] = discrete_value!(axis, v[i])
|
cvec[i], discrete_indices[i] = discrete_value!(axis, v[i])
|
||||||
end
|
end
|
||||||
cvec, discrete_indices
|
cvec, discrete_indices
|
||||||
@@ -554,10 +584,10 @@ end
|
|||||||
|
|
||||||
# add the discrete value for each item. return the continuous values and the indices
|
# add the discrete value for each item. return the continuous values and the indices
|
||||||
function discrete_value!(axis::Axis, v::AMat)
|
function discrete_value!(axis::Axis, v::AMat)
|
||||||
n,m = axes(v)
|
n,m = size(v)
|
||||||
cmat = zeros(axes(v))
|
cmat = zeros(n,m)
|
||||||
discrete_indices = similar(Array{Int}, axes(v))
|
discrete_indices = zeros(Int, n, m)
|
||||||
for i in n, j in m
|
for i=1:n, j=1:m
|
||||||
cmat[i,j], discrete_indices[i,j] = discrete_value!(axis, v[i,j])
|
cmat[i,j], discrete_indices[i,j] = discrete_value!(axis, v[i,j])
|
||||||
end
|
end
|
||||||
cmat, discrete_indices
|
cmat, discrete_indices
|
||||||
@@ -569,6 +599,18 @@ end
|
|||||||
|
|
||||||
# -------------------------------------------------------------------------
|
# -------------------------------------------------------------------------
|
||||||
|
|
||||||
|
function pie_labels(sp::Subplot, series::Series)
|
||||||
|
plotattributes = series.plotattributes
|
||||||
|
if haskey(plotattributes,:x_discrete_indices)
|
||||||
|
dvals = sp.attr[:xaxis].plotattributes[:discrete_values]
|
||||||
|
[dvals[idx] for idx in plotattributes[:x_discrete_indices]]
|
||||||
|
else
|
||||||
|
plotattributes[:x]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------
|
||||||
|
|
||||||
# compute the line segments which should be drawn for this axis
|
# compute the line segments which should be drawn for this axis
|
||||||
function axis_drawing_info(sp::Subplot)
|
function axis_drawing_info(sp::Subplot)
|
||||||
xaxis, yaxis = sp[:xaxis], sp[:yaxis]
|
xaxis, yaxis = sp[:xaxis], sp[:yaxis]
|
||||||
@@ -591,13 +633,13 @@ function axis_drawing_info(sp::Subplot)
|
|||||||
|
|
||||||
if sp[:framestyle] != :none
|
if sp[:framestyle] != :none
|
||||||
# xaxis
|
# xaxis
|
||||||
y1, y2 = if sp[:framestyle] in (:origin, :zerolines)
|
|
||||||
0.0, 0.0
|
|
||||||
else
|
|
||||||
xor(xaxis[:mirror], yaxis[:flip]) ? (ymax, ymin) : (ymin, ymax)
|
|
||||||
end
|
|
||||||
if xaxis[:showaxis]
|
if xaxis[:showaxis]
|
||||||
if sp[:framestyle] != :grid
|
if sp[:framestyle] != :grid
|
||||||
|
y1, y2 = if sp[:framestyle] in (:origin, :zerolines)
|
||||||
|
0.0, 0.0
|
||||||
|
else
|
||||||
|
xor(xaxis[:mirror], yaxis[:flip]) ? (ymax, ymin) : (ymin, ymax)
|
||||||
|
end
|
||||||
push!(xaxis_segs, (xmin, y1), (xmax, y1))
|
push!(xaxis_segs, (xmin, y1), (xmax, y1))
|
||||||
# don't show the 0 tick label for the origin framestyle
|
# don't show the 0 tick label for the origin framestyle
|
||||||
if sp[:framestyle] == :origin && !(xticks in (:none, nothing, false)) && length(xticks) > 1
|
if sp[:framestyle] == :origin && !(xticks in (:none, nothing, false)) && length(xticks) > 1
|
||||||
@@ -608,50 +650,57 @@ function axis_drawing_info(sp::Subplot)
|
|||||||
sp[:framestyle] in (:semi, :box) && push!(xborder_segs, (xmin, y2), (xmax, y2)) # top spine
|
sp[:framestyle] in (:semi, :box) && push!(xborder_segs, (xmin, y2), (xmax, y2)) # top spine
|
||||||
end
|
end
|
||||||
if !(xaxis[:ticks] in (:none, nothing, false))
|
if !(xaxis[:ticks] in (:none, nothing, false))
|
||||||
f = RecipesPipeline.scale_func(yaxis[:scale])
|
f = scalefunc(yaxis[:scale])
|
||||||
invf = RecipesPipeline.inverse_scale_func(yaxis[:scale])
|
invf = invscalefunc(yaxis[:scale])
|
||||||
tick_start, tick_stop = if sp[:framestyle] == :origin
|
ticks_in = xaxis[:tick_direction] == :out ? -1 : 1
|
||||||
t = invf(f(0) + 0.012 * (f(ymax) - f(ymin)))
|
t1 = invf(f(ymin) + 0.015 * (f(ymax) - f(ymin)) * ticks_in)
|
||||||
(-t, t)
|
t2 = invf(f(ymax) - 0.015 * (f(ymax) - f(ymin)) * ticks_in)
|
||||||
else
|
t3 = invf(f(0) + 0.015 * (f(ymax) - f(ymin)) * ticks_in)
|
||||||
ticks_in = xaxis[:tick_direction] == :out ? -1 : 1
|
|
||||||
t = invf(f(y1) + 0.012 * (f(y2) - f(y1)) * ticks_in)
|
|
||||||
(y1, t)
|
|
||||||
end
|
|
||||||
|
|
||||||
for xtick in xticks[1]
|
for xtick in xticks[1]
|
||||||
if xaxis[:showaxis]
|
if xaxis[:showaxis]
|
||||||
|
tick_start, tick_stop = if sp[:framestyle] == :origin
|
||||||
|
(0, t3)
|
||||||
|
else
|
||||||
|
xor(xaxis[:mirror], yaxis[:flip]) ? (ymax, t2) : (ymin, t1)
|
||||||
|
end
|
||||||
push!(xtick_segs, (xtick, tick_start), (xtick, tick_stop)) # bottom tick
|
push!(xtick_segs, (xtick, tick_start), (xtick, tick_stop)) # bottom tick
|
||||||
end
|
end
|
||||||
|
# sp[:draw_axes_border] && push!(xaxis_segs, (xtick, ymax), (xtick, t2)) # top tick
|
||||||
xaxis[:grid] && push!(xgrid_segs, (xtick, ymin), (xtick, ymax)) # vertical grid
|
xaxis[:grid] && push!(xgrid_segs, (xtick, ymin), (xtick, ymax)) # vertical grid
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
if !(xaxis[:minorticks] in (:none, nothing, false)) || xaxis[:minorgrid]
|
||||||
|
f = scalefunc(yaxis[:scale])
|
||||||
|
invf = invscalefunc(yaxis[:scale])
|
||||||
|
ticks_in = xaxis[:tick_direction] == :out ? -1 : 1
|
||||||
|
t1 = invf(f(ymin) + 0.01 * (f(ymax) - f(ymin)) * ticks_in)
|
||||||
|
t2 = invf(f(ymax) - 0.01 * (f(ymax) - f(ymin)) * ticks_in)
|
||||||
|
t3 = invf(f(0) + 0.01 * (f(ymax) - f(ymin)) * ticks_in)
|
||||||
|
|
||||||
if !(xaxis[:minorticks] in (:none, nothing, false)) || xaxis[:minorgrid]
|
for xminortick in xminorticks
|
||||||
tick_start, tick_stop = if sp[:framestyle] == :origin
|
if xaxis[:showaxis]
|
||||||
t = invf(f(0) + 0.006 * (f(ymax) - f(ymin)))
|
tick_start, tick_stop = if sp[:framestyle] == :origin
|
||||||
(-t, t)
|
(0, t3)
|
||||||
else
|
else
|
||||||
t = invf(f(y1) + 0.006 * (f(y2) - f(y1)) * ticks_in)
|
xor(xaxis[:mirror], yaxis[:flip]) ? (ymax, t2) : (ymin, t1)
|
||||||
(y1, t)
|
|
||||||
end
|
|
||||||
for xtick in xminorticks
|
|
||||||
if xaxis[:showaxis]
|
|
||||||
push!(xtick_segs, (xtick, tick_start), (xtick, tick_stop)) # bottom tick
|
|
||||||
end
|
end
|
||||||
xaxis[:minorgrid] && push!(xminorgrid_segs, (xtick, ymin), (xtick, ymax)) # vertical grid
|
push!(xtick_segs, (xminortick, tick_start), (xminortick, tick_stop)) # bottom tick
|
||||||
end
|
end
|
||||||
|
# sp[:draw_axes_border] && push!(xaxis_segs, (xtick, ymax), (xtick, t2)) # top tick
|
||||||
|
xaxis[:minorgrid] && push!(xminorgrid_segs, (xminortick, ymin), (xminortick, ymax)) # vertical grid
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
# yaxis
|
# yaxis
|
||||||
x1, x2 = if sp[:framestyle] in (:origin, :zerolines)
|
|
||||||
0.0, 0.0
|
|
||||||
else
|
|
||||||
xor(yaxis[:mirror], xaxis[:flip]) ? (xmax, xmin) : (xmin, xmax)
|
|
||||||
end
|
|
||||||
if yaxis[:showaxis]
|
if yaxis[:showaxis]
|
||||||
if sp[:framestyle] != :grid
|
if sp[:framestyle] != :grid
|
||||||
|
x1, x2 = if sp[:framestyle] in (:origin, :zerolines)
|
||||||
|
0.0, 0.0
|
||||||
|
else
|
||||||
|
xor(yaxis[:mirror], xaxis[:flip]) ? (xmax, xmin) : (xmin, xmax)
|
||||||
|
end
|
||||||
push!(yaxis_segs, (x1, ymin), (x1, ymax))
|
push!(yaxis_segs, (x1, ymin), (x1, ymax))
|
||||||
# don't show the 0 tick label for the origin framestyle
|
# don't show the 0 tick label for the origin framestyle
|
||||||
if sp[:framestyle] == :origin && !(yticks in (:none, nothing,false)) && length(yticks) > 1
|
if sp[:framestyle] == :origin && !(yticks in (:none, nothing,false)) && length(yticks) > 1
|
||||||
@@ -662,299 +711,48 @@ function axis_drawing_info(sp::Subplot)
|
|||||||
sp[:framestyle] in (:semi, :box) && push!(yborder_segs, (x2, ymin), (x2, ymax)) # right spine
|
sp[:framestyle] in (:semi, :box) && push!(yborder_segs, (x2, ymin), (x2, ymax)) # right spine
|
||||||
end
|
end
|
||||||
if !(yaxis[:ticks] in (:none, nothing, false))
|
if !(yaxis[:ticks] in (:none, nothing, false))
|
||||||
f = RecipesPipeline.scale_func(xaxis[:scale])
|
f = scalefunc(xaxis[:scale])
|
||||||
invf = RecipesPipeline.inverse_scale_func(xaxis[:scale])
|
invf = invscalefunc(xaxis[:scale])
|
||||||
tick_start, tick_stop = if sp[:framestyle] == :origin
|
ticks_in = yaxis[:tick_direction] == :out ? -1 : 1
|
||||||
t = invf(f(0) + 0.012 * (f(xmax) - f(xmin)))
|
t1 = invf(f(xmin) + 0.015 * (f(xmax) - f(xmin)) * ticks_in)
|
||||||
(-t, t)
|
t2 = invf(f(xmax) - 0.015 * (f(xmax) - f(xmin)) * ticks_in)
|
||||||
else
|
t3 = invf(f(0) + 0.015 * (f(xmax) - f(xmin)) * ticks_in)
|
||||||
ticks_in = yaxis[:tick_direction] == :out ? -1 : 1
|
|
||||||
t = invf(f(x1) + 0.012 * (f(x2) - f(x1)) * ticks_in)
|
|
||||||
(x1, t)
|
|
||||||
end
|
|
||||||
|
|
||||||
for ytick in yticks[1]
|
for ytick in yticks[1]
|
||||||
if yaxis[:showaxis]
|
if yaxis[:showaxis]
|
||||||
|
tick_start, tick_stop = if sp[:framestyle] == :origin
|
||||||
|
(0, t3)
|
||||||
|
else
|
||||||
|
xor(yaxis[:mirror], xaxis[:flip]) ? (xmax, t2) : (xmin, t1)
|
||||||
|
end
|
||||||
push!(ytick_segs, (tick_start, ytick), (tick_stop, ytick)) # left tick
|
push!(ytick_segs, (tick_start, ytick), (tick_stop, ytick)) # left tick
|
||||||
end
|
end
|
||||||
|
# sp[:draw_axes_border] && push!(yaxis_segs, (xmax, ytick), (t2, ytick)) # right tick
|
||||||
yaxis[:grid] && push!(ygrid_segs, (xmin, ytick), (xmax, ytick)) # horizontal grid
|
yaxis[:grid] && push!(ygrid_segs, (xmin, ytick), (xmax, ytick)) # horizontal grid
|
||||||
end
|
end
|
||||||
|
|
||||||
if !(yaxis[:minorticks] in (:none, nothing, false)) || yaxis[:minorgrid]
|
|
||||||
tick_start, tick_stop = if sp[:framestyle] == :origin
|
|
||||||
t = invf(f(0) + 0.006 * (f(xmax) - f(xmin)))
|
|
||||||
(-t, t)
|
|
||||||
else
|
|
||||||
t = invf(f(x1) + 0.006 * (f(x2) - f(x1)) * ticks_in)
|
|
||||||
(x1, t)
|
|
||||||
end
|
|
||||||
for ytick in yminorticks
|
|
||||||
if yaxis[:showaxis]
|
|
||||||
push!(ytick_segs, (tick_start, ytick), (tick_stop, ytick)) # left tick
|
|
||||||
end
|
|
||||||
yaxis[:minorgrid] && push!(yminorgrid_segs, (xmin, ytick), (xmax, ytick)) # horizontal grid
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
if !(yaxis[:minorticks] in (:none, nothing, false)) || yaxis[:minorgrid]
|
||||||
|
f = scalefunc(xaxis[:scale])
|
||||||
|
invf = invscalefunc(xaxis[:scale])
|
||||||
|
ticks_in = yaxis[:tick_direction] == :out ? -1 : 1
|
||||||
|
t1 = invf(f(xmin) + 0.01 * (f(xmax) - f(xmin)) * ticks_in)
|
||||||
|
t2 = invf(f(xmax) - 0.01 * (f(xmax) - f(xmin)) * ticks_in)
|
||||||
|
t3 = invf(f(0) + 0.01 * (f(xmax) - f(xmin)) * ticks_in)
|
||||||
|
|
||||||
xticks, yticks, xaxis_segs, yaxis_segs, xtick_segs, ytick_segs, xgrid_segs, ygrid_segs, xminorgrid_segs, yminorgrid_segs, xborder_segs, yborder_segs
|
for ytick in yminorticks
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
function axis_drawing_info_3d(sp::Subplot)
|
|
||||||
xaxis, yaxis, zaxis = sp[:xaxis], sp[:yaxis], sp[:zaxis]
|
|
||||||
xmin, xmax = axis_limits(sp, :x)
|
|
||||||
ymin, ymax = axis_limits(sp, :y)
|
|
||||||
zmin, zmax = axis_limits(sp, :z)
|
|
||||||
xticks = get_ticks(sp, xaxis)
|
|
||||||
yticks = get_ticks(sp, yaxis)
|
|
||||||
zticks = get_ticks(sp, zaxis)
|
|
||||||
xminorticks = get_minor_ticks(sp, xaxis, xticks)
|
|
||||||
yminorticks = get_minor_ticks(sp, yaxis, yticks)
|
|
||||||
zminorticks = get_minor_ticks(sp, zaxis, zticks)
|
|
||||||
xaxis_segs = Segments(3)
|
|
||||||
yaxis_segs = Segments(3)
|
|
||||||
zaxis_segs = Segments(3)
|
|
||||||
xtick_segs = Segments(3)
|
|
||||||
ytick_segs = Segments(3)
|
|
||||||
ztick_segs = Segments(3)
|
|
||||||
xgrid_segs = Segments(3)
|
|
||||||
ygrid_segs = Segments(3)
|
|
||||||
zgrid_segs = Segments(3)
|
|
||||||
xminorgrid_segs = Segments(3)
|
|
||||||
yminorgrid_segs = Segments(3)
|
|
||||||
zminorgrid_segs = Segments(3)
|
|
||||||
xborder_segs = Segments(3)
|
|
||||||
yborder_segs = Segments(3)
|
|
||||||
zborder_segs = Segments(3)
|
|
||||||
|
|
||||||
if sp[:framestyle] != :none
|
|
||||||
|
|
||||||
# xaxis
|
|
||||||
y1, y2 = if sp[:framestyle] in (:origin, :zerolines)
|
|
||||||
0.0, 0.0
|
|
||||||
else
|
|
||||||
xor(xaxis[:mirror], yaxis[:flip]) ? (ymax, ymin) : (ymin, ymax)
|
|
||||||
end
|
|
||||||
z1, z2 = if sp[:framestyle] in (:origin, :zerolines)
|
|
||||||
0.0, 0.0
|
|
||||||
else
|
|
||||||
xor(xaxis[:mirror], zaxis[:flip]) ? (zmax, zmin) : (zmin, zmax)
|
|
||||||
end
|
|
||||||
if xaxis[:showaxis]
|
|
||||||
if sp[:framestyle] != :grid
|
|
||||||
push!(xaxis_segs, (xmin, y1, z1), (xmax, y1, z1))
|
|
||||||
# don't show the 0 tick label for the origin framestyle
|
|
||||||
if sp[:framestyle] == :origin && !(xticks in (:none, nothing, false)) && length(xticks) > 1
|
|
||||||
showticks = xticks[1] .!= 0
|
|
||||||
xticks = (xticks[1][showticks], xticks[2][showticks])
|
|
||||||
end
|
|
||||||
end
|
|
||||||
sp[:framestyle] in (:semi, :box) && push!(xborder_segs, (xmin, y2, z2), (xmax, y2, z2)) # top spine
|
|
||||||
end
|
|
||||||
if !(xaxis[:ticks] in (:none, nothing, false))
|
|
||||||
f = RecipesPipeline.scale_func(yaxis[:scale])
|
|
||||||
invf = RecipesPipeline.inverse_scale_func(yaxis[:scale])
|
|
||||||
tick_start, tick_stop = if sp[:framestyle] == :origin
|
|
||||||
t = invf(f(0) + 0.012 * (f(ymax) - f(ymin)))
|
|
||||||
(-t, t)
|
|
||||||
else
|
|
||||||
ticks_in = xaxis[:tick_direction] == :out ? -1 : 1
|
|
||||||
t = invf(f(y1) + 0.012 * (f(y2) - f(y1)) * ticks_in)
|
|
||||||
(y1, t)
|
|
||||||
end
|
|
||||||
|
|
||||||
for xtick in xticks[1]
|
|
||||||
if xaxis[:showaxis]
|
|
||||||
push!(xtick_segs, (xtick, tick_start, z1), (xtick, tick_stop, z1)) # bottom tick
|
|
||||||
end
|
|
||||||
if xaxis[:grid]
|
|
||||||
if sp[:framestyle] in (:origin, :zerolines)
|
|
||||||
push!(xgrid_segs, (xtick, ymin, 0.0), (xtick, ymax, 0.0))
|
|
||||||
push!(xgrid_segs, (xtick, 0.0, zmin), (xtick, 0.0, zmax))
|
|
||||||
else
|
|
||||||
push!(xgrid_segs, (xtick, y1, z1), (xtick, y2, z1))
|
|
||||||
push!(xgrid_segs, (xtick, y2, z1), (xtick, y2, z2))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if !(xaxis[:minorticks] in (:none, nothing, false)) || xaxis[:minorgrid]
|
|
||||||
tick_start, tick_stop = if sp[:framestyle] == :origin
|
|
||||||
t = invf(f(0) + 0.006 * (f(ymax) - f(ymin)))
|
|
||||||
(-t, t)
|
|
||||||
else
|
|
||||||
t = invf(f(y1) + 0.006 * (f(y2) - f(y1)) * ticks_in)
|
|
||||||
(y1, t)
|
|
||||||
end
|
|
||||||
for xtick in xminorticks
|
|
||||||
if xaxis[:showaxis]
|
|
||||||
push!(xtick_segs, (xtick, tick_start, z1), (xtick, tick_stop, z1)) # bottom tick
|
|
||||||
end
|
|
||||||
if xaxis[:minorgrid]
|
|
||||||
if sp[:framestyle] in (:origin, :zerolines)
|
|
||||||
push!(xminorgrid_segs, (xtick, ymin, 0.0), (xtick, ymax, 0.0))
|
|
||||||
push!(xminorgrid_segs, (xtick, 0.0, zmin), (xtick, 0.0, zmax))
|
|
||||||
else
|
|
||||||
push!(xminorgrid_segs, (xtick, y1, z1), (xtick, y2, z1))
|
|
||||||
push!(xminorgrid_segs, (xtick, y2, z1), (xtick, y2, z2))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
# yaxis
|
|
||||||
x1, x2 = if sp[:framestyle] in (:origin, :zerolines)
|
|
||||||
0.0, 0.0
|
|
||||||
else
|
|
||||||
xor(yaxis[:mirror], xaxis[:flip]) ? (xmin, xmax) : (xmax, xmin)
|
|
||||||
end
|
|
||||||
z1, z2 = if sp[:framestyle] in (:origin, :zerolines)
|
|
||||||
0.0, 0.0
|
|
||||||
else
|
|
||||||
xor(yaxis[:mirror], zaxis[:flip]) ? (zmax, zmin) : (zmin, zmax)
|
|
||||||
end
|
|
||||||
if yaxis[:showaxis]
|
|
||||||
if sp[:framestyle] != :grid
|
|
||||||
push!(yaxis_segs, (x1, ymin, z1), (x1, ymax, z1))
|
|
||||||
# don't show the 0 tick label for the origin framestyle
|
|
||||||
if sp[:framestyle] == :origin && !(yticks in (:none, nothing,false)) && length(yticks) > 1
|
|
||||||
showticks = yticks[1] .!= 0
|
|
||||||
yticks = (yticks[1][showticks], yticks[2][showticks])
|
|
||||||
end
|
|
||||||
end
|
|
||||||
sp[:framestyle] in (:semi, :box) && push!(yborder_segs, (x2, ymin, z2), (x2, ymax, z2)) # right spine
|
|
||||||
end
|
|
||||||
if !(yaxis[:ticks] in (:none, nothing, false))
|
|
||||||
f = RecipesPipeline.scale_func(xaxis[:scale])
|
|
||||||
invf = RecipesPipeline.inverse_scale_func(xaxis[:scale])
|
|
||||||
tick_start, tick_stop = if sp[:framestyle] == :origin
|
|
||||||
t = invf(f(0) + 0.012 * (f(xmax) - f(xmin)))
|
|
||||||
(-t, t)
|
|
||||||
else
|
|
||||||
ticks_in = yaxis[:tick_direction] == :out ? -1 : 1
|
|
||||||
t = invf(f(x1) + 0.012 * (f(x2) - f(x1)) * ticks_in)
|
|
||||||
(x1, t)
|
|
||||||
end
|
|
||||||
|
|
||||||
for ytick in yticks[1]
|
|
||||||
if yaxis[:showaxis]
|
if yaxis[:showaxis]
|
||||||
push!(ytick_segs, (tick_start, ytick, z1), (tick_stop, ytick, z1)) # left tick
|
tick_start, tick_stop = if sp[:framestyle] == :origin
|
||||||
end
|
(0, t3)
|
||||||
if yaxis[:grid]
|
|
||||||
if sp[:framestyle] in (:origin, :zerolines)
|
|
||||||
push!(ygrid_segs, (xmin, ytick, 0.0), (xmax, ytick, 0.0))
|
|
||||||
push!(ygrid_segs, (0.0, ytick, zmin), (0.0, ytick, zmax))
|
|
||||||
else
|
else
|
||||||
push!(ygrid_segs, (x1, ytick, z1), (x2, ytick, z1))
|
xor(yaxis[:mirror], xaxis[:flip]) ? (xmax, t2) : (xmin, t1)
|
||||||
push!(ygrid_segs, (x2, ytick, z1), (x2, ytick, z2))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if !(yaxis[:minorticks] in (:none, nothing, false)) || yaxis[:minorgrid]
|
|
||||||
tick_start, tick_stop = if sp[:framestyle] == :origin
|
|
||||||
t = invf(f(0) + 0.006 * (f(xmax) - f(xmin)))
|
|
||||||
(-t, t)
|
|
||||||
else
|
|
||||||
t = invf(f(x1) + 0.006 * (f(x2) - f(x1)) * ticks_in)
|
|
||||||
(x1, t)
|
|
||||||
end
|
|
||||||
for ytick in yminorticks
|
|
||||||
if yaxis[:showaxis]
|
|
||||||
push!(ytick_segs, (tick_start, ytick, z1), (tick_stop, ytick, z1)) # left tick
|
|
||||||
end
|
|
||||||
if yaxis[:minorgrid]
|
|
||||||
if sp[:framestyle] in (:origin, :zerolines)
|
|
||||||
push!(yminorgrid_segs, (xmin, ytick, 0.0), (xmax, ytick, 0.0))
|
|
||||||
push!(yminorgrid_segs, (0.0, ytick, zmin), (0.0, ytick, zmax))
|
|
||||||
else
|
|
||||||
push!(yminorgrid_segs, (x1, ytick, z1), (x2, ytick, z1))
|
|
||||||
push!(yminorgrid_segs, (x2, ytick, z1), (x2, ytick, z2))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
# zaxis
|
|
||||||
x1, x2 = if sp[:framestyle] in (:origin, :zerolines)
|
|
||||||
0.0, 0.0
|
|
||||||
else
|
|
||||||
xor(zaxis[:mirror], xaxis[:flip]) ? (xmax, xmin) : (xmin, xmax)
|
|
||||||
end
|
|
||||||
y1, y2 = if sp[:framestyle] in (:origin, :zerolines)
|
|
||||||
0.0, 0.0
|
|
||||||
else
|
|
||||||
xor(zaxis[:mirror], yaxis[:flip]) ? (ymax, ymin) : (ymin, ymax)
|
|
||||||
end
|
|
||||||
if zaxis[:showaxis]
|
|
||||||
if sp[:framestyle] != :grid
|
|
||||||
push!(zaxis_segs, (x1, y1, zmin), (x1, y1, zmax))
|
|
||||||
# don't show the 0 tick label for the origin framestyle
|
|
||||||
if sp[:framestyle] == :origin && !(zticks in (:none, nothing,false)) && length(zticks) > 1
|
|
||||||
showticks = zticks[1] .!= 0
|
|
||||||
zticks = (zticks[1][showticks], zticks[2][showticks])
|
|
||||||
end
|
|
||||||
end
|
|
||||||
sp[:framestyle] in (:semi, :box) && push!(zborder_segs, (x2, y2, zmin), (x2, y2, zmax))
|
|
||||||
end
|
|
||||||
if !(zaxis[:ticks] in (:none, nothing, false))
|
|
||||||
f = RecipesPipeline.scale_func(xaxis[:scale])
|
|
||||||
invf = RecipesPipeline.inverse_scale_func(xaxis[:scale])
|
|
||||||
tick_start, tick_stop = if sp[:framestyle] == :origin
|
|
||||||
t = invf(f(0) + 0.012 * (f(ymax) - f(ymin)))
|
|
||||||
(-t, t)
|
|
||||||
else
|
|
||||||
ticks_in = zaxis[:tick_direction] == :out ? -1 : 1
|
|
||||||
t = invf(f(y1) + 0.012 * (f(y2) - f(y1)) * ticks_in)
|
|
||||||
(y1, t)
|
|
||||||
end
|
|
||||||
|
|
||||||
for ztick in zticks[1]
|
|
||||||
if zaxis[:showaxis]
|
|
||||||
push!(ztick_segs, (x1, tick_start, ztick), (x1, tick_stop, ztick)) # left tick
|
|
||||||
end
|
|
||||||
if zaxis[:grid]
|
|
||||||
if sp[:framestyle] in (:origin, :zerolines)
|
|
||||||
push!(zgrid_segs, (xmin, 0.0, ztick), (xmax, 0.0, ztick))
|
|
||||||
push!(ygrid_segs, (0.0, ymin, ztick), (0.0, ymax, ztick))
|
|
||||||
else
|
|
||||||
push!(ygrid_segs, (x1, y1, ztick), (x1, y2, ztick))
|
|
||||||
push!(ygrid_segs, (x1, y2, ztick), (x2, y2, ztick))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if !(zaxis[:minorticks] in (:none, nothing, false)) || zaxis[:minorgrid]
|
|
||||||
tick_start, tick_stop = if sp[:framestyle] == :origin
|
|
||||||
t = invf(f(0) + 0.006 * (f(ymax) - f(ymin)))
|
|
||||||
(-t, t)
|
|
||||||
else
|
|
||||||
t = invf(f(y1) + 0.006 * (f(y2) - f(y1)) * ticks_in)
|
|
||||||
(y1, t)
|
|
||||||
end
|
|
||||||
for ztick in zminorticks
|
|
||||||
if zaxis[:showaxis]
|
|
||||||
push!(ztick_segs, (x1, tick_start, ztick), (x1, tick_stop, ztick)) # left tick
|
|
||||||
end
|
|
||||||
if zaxis[:minorgrid]
|
|
||||||
if sp[:framestyle] in (:origin, :zerolines)
|
|
||||||
push!(zminorgrid_segs, (xmin, 0.0, ztick), (xmax, 0.0, ztick))
|
|
||||||
push!(zminorgrid_segs, (0.0, ymin, ztick), (0.0, ymax, ztick))
|
|
||||||
else
|
|
||||||
push!(zminorgrid_segs, (x1, y1, ztick), (x1, y2, ztick))
|
|
||||||
push!(zminorgrid_segs, (x1, y2, ztick), (x2, y2, ztick))
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
push!(ytick_segs, (tick_start, ytick), (tick_stop, ytick)) # left tick
|
||||||
end
|
end
|
||||||
|
# sp[:draw_axes_border] && push!(yaxis_segs, (xmax, ytick), (t2, ytick)) # right tick
|
||||||
|
yaxis[:minorgrid] && push!(yminorgrid_segs, (xmin, ytick), (xmax, ytick)) # horizontal grid
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
xticks, yticks, zticks, xaxis_segs, yaxis_segs, zaxis_segs, xtick_segs, ytick_segs, ztick_segs, xgrid_segs, ygrid_segs, zgrid_segs, xminorgrid_segs, yminorgrid_segs, zminorgrid_segs, xborder_segs, yborder_segs, zborder_segs
|
Any[xticks, yticks, xaxis_segs, yaxis_segs, xtick_segs, ytick_segs, xgrid_segs, ygrid_segs, xminorgrid_segs, yminorgrid_segs, xborder_segs, yborder_segs]
|
||||||
end
|
end
|
||||||
|
|||||||
+62
-253
@@ -1,3 +1,5 @@
|
|||||||
|
using Pkg
|
||||||
|
|
||||||
struct NoBackend <: AbstractBackend end
|
struct NoBackend <: AbstractBackend end
|
||||||
|
|
||||||
const _backendType = Dict{Symbol, DataType}(:none => NoBackend)
|
const _backendType = Dict{Symbol, DataType}(:none => NoBackend)
|
||||||
@@ -28,13 +30,14 @@ macro init_backend(s)
|
|||||||
esc(quote
|
esc(quote
|
||||||
struct $T <: AbstractBackend end
|
struct $T <: AbstractBackend end
|
||||||
export $sym
|
export $sym
|
||||||
$sym(; kw...) = (default(; reset = false, kw...); backend($T()))
|
$sym(; kw...) = (default(; kw...); backend($T()))
|
||||||
backend_name(::$T) = Symbol($str)
|
backend_name(::$T) = Symbol($str)
|
||||||
backend_package_name(pkg::$T) = backend_package_name(Symbol($str))
|
backend_package_name(pkg::$T) = backend_package_name(Symbol($str))
|
||||||
push!(_backends, Symbol($str))
|
push!(_backends, Symbol($str))
|
||||||
_backendType[Symbol($str)] = $T
|
_backendType[Symbol($str)] = $T
|
||||||
_backendSymbol[$T] = Symbol($str)
|
_backendSymbol[$T] = Symbol($str)
|
||||||
_backend_packages[Symbol($str)] = Symbol($package_str)
|
_backend_packages[Symbol($str)] = Symbol($package_str)
|
||||||
|
# include("backends/" * $str * ".jl")
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -44,17 +47,17 @@ end
|
|||||||
# ---------------------------------------------------------
|
# ---------------------------------------------------------
|
||||||
|
|
||||||
# don't do anything as a default
|
# don't do anything as a default
|
||||||
_create_backend_figure(plt::Plot) = nothing
|
@noinline _create_backend_figure(plt::Plot) = nothing
|
||||||
_prepare_plot_object(plt::Plot) = nothing
|
@noinline _prepare_plot_object(plt::Plot) = nothing
|
||||||
_initialize_subplot(plt::Plot, sp::Subplot) = nothing
|
@noinline _initialize_subplot(plt::Plot, sp::Subplot) = nothing
|
||||||
|
|
||||||
_series_added(plt::Plot, series::Series) = nothing
|
@noinline _series_added(plt::Plot, series::Series) = nothing
|
||||||
_series_updated(plt::Plot, series::Series) = nothing
|
@noinline _series_updated(plt::Plot, series::Series) = nothing
|
||||||
|
|
||||||
_before_layout_calcs(plt::Plot) = nothing
|
@noinline _before_layout_calcs(plt::Plot) = nothing
|
||||||
|
|
||||||
title_padding(sp::Subplot) = sp[:title] == "" ? 0mm : sp[:titlefontsize] * pt
|
@noinline title_padding(sp::Subplot) = sp[:title] == "" ? 0mm : sp[:titlefontsize] * pt
|
||||||
guide_padding(axis::Axis) = axis[:guide] == "" ? 0mm : axis[:guidefontsize] * pt
|
@noinline guide_padding(axis::Axis) = axis[:guide] == "" ? 0mm : axis[:guidefontsize] * pt
|
||||||
|
|
||||||
"Returns the (width,height) of a text label."
|
"Returns the (width,height) of a text label."
|
||||||
function text_size(lablen::Int, sz::Number, rot::Number = 0)
|
function text_size(lablen::Int, sz::Number, rot::Number = 0)
|
||||||
@@ -102,7 +105,7 @@ end
|
|||||||
# Set the (left, top, right, bottom) minimum padding around the plot area
|
# Set the (left, top, right, bottom) minimum padding around the plot area
|
||||||
# to fit ticks, tick labels, guides, colorbars, etc.
|
# to fit ticks, tick labels, guides, colorbars, etc.
|
||||||
function _update_min_padding!(sp::Subplot)
|
function _update_min_padding!(sp::Subplot)
|
||||||
# TODO: something different when `RecipesPipeline.is3d(sp) == true`
|
# TODO: something different when `is3d(sp) == true`
|
||||||
leftpad = tick_padding(sp, sp[:yaxis]) + sp[:left_margin] + guide_padding(sp[:yaxis])
|
leftpad = tick_padding(sp, sp[:yaxis]) + sp[:left_margin] + guide_padding(sp[:yaxis])
|
||||||
toppad = sp[:top_margin] + title_padding(sp)
|
toppad = sp[:top_margin] + title_padding(sp)
|
||||||
rightpad = sp[:right_margin]
|
rightpad = sp[:right_margin]
|
||||||
@@ -120,20 +123,32 @@ function _update_min_padding!(sp::Subplot)
|
|||||||
sp.minpad = (leftpad, toppad, rightpad, bottompad)
|
sp.minpad = (leftpad, toppad, rightpad, bottompad)
|
||||||
end
|
end
|
||||||
|
|
||||||
_update_plot_object(plt::Plot) = nothing
|
@noinline _update_plot_object(plt::Plot) = nothing
|
||||||
|
|
||||||
# ---------------------------------------------------------
|
# ---------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
mutable struct CurrentBackend
|
mutable struct CurrentBackend{sym,T}
|
||||||
sym::Symbol
|
pkg::T
|
||||||
pkg::AbstractBackend
|
end
|
||||||
|
function CurrentBackend(sym::Symbol)
|
||||||
|
bkend = _backend_instance(sym)
|
||||||
|
CurrentBackend{sym,typeof(bkend)}(bkend)
|
||||||
|
end
|
||||||
|
|
||||||
|
function Base.getproperty(bkend::CurrentBackend{sym,T},x::Symbol) where {sym,T}
|
||||||
|
if x === :sym
|
||||||
|
return sym
|
||||||
|
elseif x === :pkg
|
||||||
|
return getfield(bkend,:pkg)
|
||||||
|
else
|
||||||
|
error("Must be sym or pkg")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
CurrentBackend(sym::Symbol) = CurrentBackend(sym, _backend_instance(sym))
|
|
||||||
|
|
||||||
# ---------------------------------------------------------
|
# ---------------------------------------------------------
|
||||||
|
|
||||||
_fallback_default_backend() = backend(GRBackend())
|
@noinline _fallback_default_backend() = backend(GRBackend())
|
||||||
|
|
||||||
function _pick_default_backend()
|
function _pick_default_backend()
|
||||||
env_default = get(ENV, "PLOTS_DEFAULT_BACKEND", "")
|
env_default = get(ENV, "PLOTS_DEFAULT_BACKEND", "")
|
||||||
@@ -174,8 +189,7 @@ function backend(pkg::AbstractBackend)
|
|||||||
_initialize_backend(pkg)
|
_initialize_backend(pkg)
|
||||||
push!(_initialized_backends, sym)
|
push!(_initialized_backends, sym)
|
||||||
end
|
end
|
||||||
CURRENT_BACKEND.sym = sym
|
CURRENT_BACKEND = Plots.CurrentBackend(sym)
|
||||||
CURRENT_BACKEND.pkg = pkg
|
|
||||||
pkg
|
pkg
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -188,15 +202,11 @@ function backend(sym::Symbol)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
const _deprecated_backends = [:qwt, :winston, :bokeh, :gadfly, :immerse, :glvisualize, :pgfplots]
|
const _deprecated_backends = [:qwt, :winston, :bokeh, :gadfly, :immerse, :glvisualize]
|
||||||
|
|
||||||
function warn_on_deprecated_backend(bsym::Symbol)
|
function warn_on_deprecated_backend(bsym::Symbol)
|
||||||
if bsym in _deprecated_backends
|
if bsym in _deprecated_backends
|
||||||
if bsym == :pgfplots
|
@warn("Backend $bsym has been deprecated.")
|
||||||
@warn("Backend $bsym has been deprecated. Use pgfplotsx instead.")
|
|
||||||
else
|
|
||||||
@warn("Backend $bsym has been deprecated.")
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -213,7 +223,7 @@ const _base_supported_args = [
|
|||||||
:seriestype,
|
:seriestype,
|
||||||
:seriescolor, :seriesalpha,
|
:seriescolor, :seriesalpha,
|
||||||
:smooth,
|
:smooth,
|
||||||
:xerror, :yerror, :zerror,
|
:xerror, :yerror,
|
||||||
:subplot,
|
:subplot,
|
||||||
:x, :y, :z,
|
:x, :y, :z,
|
||||||
:show, :size,
|
:show, :size,
|
||||||
@@ -230,7 +240,7 @@ const _base_supported_args = [
|
|||||||
:subplot_index,
|
:subplot_index,
|
||||||
:discrete_values,
|
:discrete_values,
|
||||||
:projection,
|
:projection,
|
||||||
:show_empty_bins
|
|
||||||
]
|
]
|
||||||
|
|
||||||
function merge_with_base_supported(v::AVec)
|
function merge_with_base_supported(v::AVec)
|
||||||
@@ -253,7 +263,6 @@ end
|
|||||||
@init_backend PlotlyJS
|
@init_backend PlotlyJS
|
||||||
@init_backend GR
|
@init_backend GR
|
||||||
@init_backend PGFPlots
|
@init_backend PGFPlots
|
||||||
@init_backend PGFPlotsX
|
|
||||||
@init_backend InspectDR
|
@init_backend InspectDR
|
||||||
@init_backend HDF5
|
@init_backend HDF5
|
||||||
|
|
||||||
@@ -296,7 +305,9 @@ function _initialize_backend(pkg::AbstractBackend)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
_initialize_backend(pkg::GRBackend) = nothing
|
@noinline _initialize_backend(pkg::GRBackend) = nothing
|
||||||
|
@noinline _initialize_backend(pkg::PlotlyBackend) = nothing
|
||||||
|
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
# gr
|
# gr
|
||||||
@@ -343,18 +354,10 @@ const _gr_attr = merge_with_base_supported([
|
|||||||
:contour_labels,
|
:contour_labels,
|
||||||
])
|
])
|
||||||
const _gr_seriestype = [
|
const _gr_seriestype = [
|
||||||
:path,
|
:path, :scatter, :straightline,
|
||||||
:scatter,
|
:heatmap, :pie, :image,
|
||||||
:straightline,
|
:contour, :path3d, :scatter3d, :surface, :wireframe, :volume,
|
||||||
:heatmap,
|
:shape
|
||||||
:image,
|
|
||||||
:contour,
|
|
||||||
:path3d,
|
|
||||||
:scatter3d,
|
|
||||||
:surface,
|
|
||||||
:wireframe,
|
|
||||||
:volume,
|
|
||||||
:shape,
|
|
||||||
]
|
]
|
||||||
const _gr_style = [:auto, :solid, :dash, :dot, :dashdot, :dashdotdot]
|
const _gr_style = [:auto, :solid, :dash, :dot, :dashdot, :dashdotdot]
|
||||||
const _gr_marker = _allMarkers
|
const _gr_marker = _allMarkers
|
||||||
@@ -364,16 +367,6 @@ is_marker_supported(::GRBackend, shape::Shape) = true
|
|||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
# plotly
|
# plotly
|
||||||
|
|
||||||
function _initialize_backend(pkg::PlotlyBackend)
|
|
||||||
try
|
|
||||||
@eval Main begin
|
|
||||||
import ORCA
|
|
||||||
end
|
|
||||||
catch
|
|
||||||
@info "For saving to png with the Plotly backend ORCA has to be installed."
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
const _plotly_attr = merge_with_base_supported([
|
const _plotly_attr = merge_with_base_supported([
|
||||||
:annotations,
|
:annotations,
|
||||||
:background_color_legend, :background_color_inside, :background_color_outside,
|
:background_color_legend, :background_color_inside, :background_color_outside,
|
||||||
@@ -388,7 +381,7 @@ const _plotly_attr = merge_with_base_supported([
|
|||||||
:markerstrokewidth, :markerstrokecolor, :markerstrokealpha, :markerstrokestyle,
|
:markerstrokewidth, :markerstrokecolor, :markerstrokealpha, :markerstrokestyle,
|
||||||
:fillrange, :fillcolor, :fillalpha,
|
:fillrange, :fillcolor, :fillalpha,
|
||||||
:bins,
|
:bins,
|
||||||
:title, :titlelocation,
|
:title, :title_location,
|
||||||
:titlefontfamily, :titlefontsize, :titlefonthalign, :titlefontvalign,
|
:titlefontfamily, :titlefontsize, :titlefonthalign, :titlefontvalign,
|
||||||
:titlefontcolor,
|
:titlefontcolor,
|
||||||
:legendfontfamily, :legendfontsize, :legendfontcolor,
|
:legendfontfamily, :legendfontsize, :legendfontcolor,
|
||||||
@@ -418,17 +411,9 @@ const _plotly_attr = merge_with_base_supported([
|
|||||||
])
|
])
|
||||||
|
|
||||||
const _plotly_seriestype = [
|
const _plotly_seriestype = [
|
||||||
:path,
|
:path, :scatter, :pie, :heatmap,
|
||||||
:scatter,
|
:contour, :surface, :wireframe, :path3d, :scatter3d, :shape, :scattergl,
|
||||||
:heatmap,
|
:straightline
|
||||||
:contour,
|
|
||||||
:surface,
|
|
||||||
:wireframe,
|
|
||||||
:path3d,
|
|
||||||
:scatter3d,
|
|
||||||
:shape,
|
|
||||||
:scattergl,
|
|
||||||
:straightline,
|
|
||||||
]
|
]
|
||||||
const _plotly_style = [:auto, :solid, :dash, :dot, :dashdot]
|
const _plotly_style = [:auto, :solid, :dash, :dot, :dashdot]
|
||||||
const _plotly_marker = [
|
const _plotly_marker = [
|
||||||
@@ -523,7 +508,7 @@ const _pyplot_attr = merge_with_base_supported([
|
|||||||
:markerstrokewidth, :markerstrokecolor, :markerstrokealpha,
|
:markerstrokewidth, :markerstrokecolor, :markerstrokealpha,
|
||||||
:fillrange, :fillcolor, :fillalpha,
|
:fillrange, :fillcolor, :fillalpha,
|
||||||
:bins, :bar_width, :bar_edges, :bar_position,
|
:bins, :bar_width, :bar_edges, :bar_position,
|
||||||
:title, :titlelocation, :titlefont,
|
:title, :title_location, :titlefont,
|
||||||
:window_title,
|
:window_title,
|
||||||
:guide, :guide_position, :lims, :ticks, :scale, :flip, :rotation,
|
:guide, :guide_position, :lims, :ticks, :scale, :flip, :rotation,
|
||||||
:titlefontfamily, :titlefontsize, :titlefontcolor,
|
:titlefontfamily, :titlefontsize, :titlefontcolor,
|
||||||
@@ -551,22 +536,12 @@ const _pyplot_attr = merge_with_base_supported([
|
|||||||
:contour_labels,
|
:contour_labels,
|
||||||
])
|
])
|
||||||
const _pyplot_seriestype = [
|
const _pyplot_seriestype = [
|
||||||
:path,
|
:path, :steppre, :steppost, :shape, :straightline,
|
||||||
:steppre,
|
:scatter, :hexbin, #:histogram2d, :histogram,
|
||||||
:steppost,
|
# :bar,
|
||||||
:shape,
|
:heatmap, :pie, :image,
|
||||||
:straightline,
|
:contour, :contour3d, :path3d, :scatter3d, :surface, :wireframe
|
||||||
:scatter,
|
]
|
||||||
:hexbin,
|
|
||||||
:heatmap,
|
|
||||||
:image,
|
|
||||||
:contour,
|
|
||||||
:contour3d,
|
|
||||||
:path3d,
|
|
||||||
:scatter3d,
|
|
||||||
:surface,
|
|
||||||
:wireframe,
|
|
||||||
]
|
|
||||||
const _pyplot_style = [:auto, :solid, :dash, :dot, :dashdot]
|
const _pyplot_style = [:auto, :solid, :dash, :dot, :dashdot]
|
||||||
const _pyplot_marker = vcat(_allMarkers, :pixel)
|
const _pyplot_marker = vcat(_allMarkers, :pixel)
|
||||||
const _pyplot_scale = [:identity, :ln, :log2, :log10]
|
const _pyplot_scale = [:identity, :ln, :log2, :log10]
|
||||||
@@ -596,9 +571,6 @@ const _unicodeplots_style = [:auto, :solid]
|
|||||||
const _unicodeplots_marker = [:none, :auto, :circle]
|
const _unicodeplots_marker = [:none, :auto, :circle]
|
||||||
const _unicodeplots_scale = [:identity]
|
const _unicodeplots_scale = [:identity]
|
||||||
|
|
||||||
# Additional constants
|
|
||||||
const _canvas_type = Ref(:auto)
|
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
# hdf5
|
# hdf5
|
||||||
|
|
||||||
@@ -613,7 +585,7 @@ const _hdf5_attr = merge_with_base_supported([
|
|||||||
:markerstrokewidth, :markerstrokecolor, :markerstrokealpha,
|
:markerstrokewidth, :markerstrokecolor, :markerstrokealpha,
|
||||||
:fillrange, :fillcolor, :fillalpha,
|
:fillrange, :fillcolor, :fillalpha,
|
||||||
:bins, :bar_width, :bar_edges, :bar_position,
|
:bins, :bar_width, :bar_edges, :bar_position,
|
||||||
:title, :titlelocation, :titlefont,
|
:title, :title_location, :titlefont,
|
||||||
:window_title,
|
:window_title,
|
||||||
:guide, :lims, :ticks, :scale, :flip, :rotation,
|
:guide, :lims, :ticks, :scale, :flip, :rotation,
|
||||||
:tickfont, :guidefont, :legendfont,
|
:tickfont, :guidefont, :legendfont,
|
||||||
@@ -633,43 +605,16 @@ const _hdf5_attr = merge_with_base_supported([
|
|||||||
:colorbar_title,
|
:colorbar_title,
|
||||||
])
|
])
|
||||||
const _hdf5_seriestype = [
|
const _hdf5_seriestype = [
|
||||||
:path,
|
:path, :steppre, :steppost, :shape, :straightline,
|
||||||
:steppre,
|
:scatter, :hexbin, #:histogram2d, :histogram,
|
||||||
:steppost,
|
# :bar,
|
||||||
:shape,
|
:heatmap, :pie, :image,
|
||||||
:straightline,
|
:contour, :contour3d, :path3d, :scatter3d, :surface, :wireframe
|
||||||
:scatter,
|
]
|
||||||
:hexbin,
|
|
||||||
:heatmap,
|
|
||||||
:image,
|
|
||||||
:contour,
|
|
||||||
:contour3d,
|
|
||||||
:path3d,
|
|
||||||
:scatter3d,
|
|
||||||
:surface,
|
|
||||||
:wireframe,
|
|
||||||
]
|
|
||||||
const _hdf5_style = [:auto, :solid, :dash, :dot, :dashdot]
|
const _hdf5_style = [:auto, :solid, :dash, :dot, :dashdot]
|
||||||
const _hdf5_marker = vcat(_allMarkers, :pixel)
|
const _hdf5_marker = vcat(_allMarkers, :pixel)
|
||||||
const _hdf5_scale = [:identity, :ln, :log2, :log10]
|
const _hdf5_scale = [:identity, :ln, :log2, :log10]
|
||||||
|
|
||||||
# Additional constants
|
|
||||||
#Dict has problems using "Types" as keys. Initialize in "_initialize_backend":
|
|
||||||
const HDF5PLOT_MAP_STR2TELEM = Dict{String, Type}()
|
|
||||||
const HDF5PLOT_MAP_TELEM2STR = Dict{Type, String}()
|
|
||||||
|
|
||||||
#Don't really like this global variable... Very hacky
|
|
||||||
mutable struct HDF5Plot_PlotRef
|
|
||||||
ref::Union{Plot, Nothing}
|
|
||||||
end
|
|
||||||
const HDF5PLOT_PLOTREF = HDF5Plot_PlotRef(nothing)
|
|
||||||
|
|
||||||
#Simple sub-structures that can just be written out using _hdf5plot_gwritefields:
|
|
||||||
const HDF5PLOT_SIMPLESUBSTRUCT = Union{Font, BoundingBox,
|
|
||||||
GridLayout, RootLayout, ColorGradient, SeriesAnnotations, PlotText,
|
|
||||||
Shape,
|
|
||||||
}
|
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
# inspectdr
|
# inspectdr
|
||||||
|
|
||||||
@@ -687,7 +632,7 @@ const _inspectdr_attr = merge_with_base_supported([
|
|||||||
:markerstrokestyle, #Causes warning not to have it... what is this?
|
:markerstrokestyle, #Causes warning not to have it... what is this?
|
||||||
:fillcolor, :fillalpha, #:fillrange,
|
:fillcolor, :fillalpha, #:fillrange,
|
||||||
# :bins, :bar_width, :bar_edges, :bar_position,
|
# :bins, :bar_width, :bar_edges, :bar_position,
|
||||||
:title, :titlelocation,
|
:title, :title_location,
|
||||||
:window_title,
|
:window_title,
|
||||||
:guide, :lims, :scale, #:ticks, :flip, :rotation,
|
:guide, :lims, :scale, #:ticks, :flip, :rotation,
|
||||||
:titlefontfamily, :titlefontsize, :titlefontcolor,
|
:titlefontfamily, :titlefontsize, :titlefontcolor,
|
||||||
@@ -726,139 +671,3 @@ const _inspectdr_marker = Symbol[
|
|||||||
]
|
]
|
||||||
|
|
||||||
const _inspectdr_scale = [:identity, :ln, :log2, :log10]
|
const _inspectdr_scale = [:identity, :ln, :log2, :log10]
|
||||||
# ------------------------------------------------------------------------------
|
|
||||||
# pgfplotsx
|
|
||||||
|
|
||||||
const _pgfplotsx_attr = merge_with_base_supported([
|
|
||||||
:annotations,
|
|
||||||
:background_color_legend,
|
|
||||||
:background_color_inside,
|
|
||||||
:background_color_outside,
|
|
||||||
:foreground_color_legend,
|
|
||||||
:foreground_color_grid,
|
|
||||||
:foreground_color_axis,
|
|
||||||
:foreground_color_text,
|
|
||||||
:foreground_color_border,
|
|
||||||
:label,
|
|
||||||
:seriescolor,
|
|
||||||
:seriesalpha,
|
|
||||||
:linecolor,
|
|
||||||
:linestyle,
|
|
||||||
:linewidth,
|
|
||||||
:linealpha,
|
|
||||||
:markershape,
|
|
||||||
:markercolor,
|
|
||||||
:markersize,
|
|
||||||
:markeralpha,
|
|
||||||
:markerstrokewidth,
|
|
||||||
:markerstrokecolor,
|
|
||||||
:markerstrokealpha,
|
|
||||||
:fillrange,
|
|
||||||
:fillcolor,
|
|
||||||
:fillalpha,
|
|
||||||
:bins,
|
|
||||||
:layout,
|
|
||||||
:title,
|
|
||||||
:window_title,
|
|
||||||
:guide,
|
|
||||||
:lims,
|
|
||||||
:ticks,
|
|
||||||
:scale,
|
|
||||||
:flip,
|
|
||||||
:match_dimensions,
|
|
||||||
:titlefontfamily,
|
|
||||||
:titlefontsize,
|
|
||||||
:titlefonthalign,
|
|
||||||
:titlefontvalign,
|
|
||||||
:titlefontrotation,
|
|
||||||
:titlefontcolor,
|
|
||||||
:legendfontfamily,
|
|
||||||
:legendfontsize,
|
|
||||||
:legendfonthalign,
|
|
||||||
:legendfontvalign,
|
|
||||||
:legendfontrotation,
|
|
||||||
:legendfontcolor,
|
|
||||||
:tickfontfamily,
|
|
||||||
:tickfontsize,
|
|
||||||
:tickfonthalign,
|
|
||||||
:tickfontvalign,
|
|
||||||
:tickfontrotation,
|
|
||||||
:tickfontcolor,
|
|
||||||
:guidefontfamily,
|
|
||||||
:guidefontsize,
|
|
||||||
:guidefonthalign,
|
|
||||||
:guidefontvalign,
|
|
||||||
:guidefontrotation,
|
|
||||||
:guidefontcolor,
|
|
||||||
:grid,
|
|
||||||
:gridalpha,
|
|
||||||
:gridstyle,
|
|
||||||
:gridlinewidth,
|
|
||||||
:legend,
|
|
||||||
:legendtitle,
|
|
||||||
:colorbar,
|
|
||||||
:colorbar_title,
|
|
||||||
:colorbar_entry,
|
|
||||||
:fill_z,
|
|
||||||
:line_z,
|
|
||||||
:marker_z,
|
|
||||||
:levels,
|
|
||||||
:ribbon,
|
|
||||||
:quiver,
|
|
||||||
:orientation,
|
|
||||||
:overwrite_figure,
|
|
||||||
:polar,
|
|
||||||
:aspect_ratio,
|
|
||||||
:normalize,
|
|
||||||
:weights,
|
|
||||||
:inset_subplots,
|
|
||||||
:bar_width,
|
|
||||||
:arrow,
|
|
||||||
:framestyle,
|
|
||||||
:tick_direction,
|
|
||||||
:camera,
|
|
||||||
:contour_labels,
|
|
||||||
])
|
|
||||||
const _pgfplotsx_seriestype = [
|
|
||||||
:path,
|
|
||||||
:scatter,
|
|
||||||
:straightline,
|
|
||||||
:path3d,
|
|
||||||
:scatter3d,
|
|
||||||
:surface,
|
|
||||||
:wireframe,
|
|
||||||
:heatmap,
|
|
||||||
:contour,
|
|
||||||
:contour3d,
|
|
||||||
:quiver,
|
|
||||||
:shape,
|
|
||||||
:steppre,
|
|
||||||
:stepmid,
|
|
||||||
:steppost,
|
|
||||||
:ysticks,
|
|
||||||
:xsticks,
|
|
||||||
]
|
|
||||||
const _pgfplotsx_style = [:auto, :solid, :dash, :dot, :dashdot, :dashdotdot]
|
|
||||||
const _pgfplotsx_marker = [
|
|
||||||
:none,
|
|
||||||
:auto,
|
|
||||||
:circle,
|
|
||||||
:rect,
|
|
||||||
:diamond,
|
|
||||||
:utriangle,
|
|
||||||
:dtriangle,
|
|
||||||
:ltriangle,
|
|
||||||
:rtriangle,
|
|
||||||
:cross,
|
|
||||||
:xcross,
|
|
||||||
:star5,
|
|
||||||
:pentagon,
|
|
||||||
:hline,
|
|
||||||
:vline,
|
|
||||||
Shape,
|
|
||||||
]
|
|
||||||
const _pgfplotsx_scale = [:identity, :ln, :log2, :log10]
|
|
||||||
is_marker_supported(::PGFPlotsXBackend, shape::Shape) = true
|
|
||||||
|
|
||||||
# additional constants
|
|
||||||
const _pgfplotsx_series_ids = KW()
|
|
||||||
|
|||||||
+912
-1221
File diff suppressed because it is too large
Load Diff
+78
-81
@@ -37,6 +37,33 @@ import FixedPointNumbers: N0f8 #In core Julia
|
|||||||
struct HDF5PlotNative; end #Indentifies a data element that can natively be handled by HDF5
|
struct HDF5PlotNative; end #Indentifies a data element that can natively be handled by HDF5
|
||||||
struct HDF5CTuple; end #Identifies a "complex" tuple structure
|
struct HDF5CTuple; end #Identifies a "complex" tuple structure
|
||||||
|
|
||||||
|
mutable struct HDF5Plot_PlotRef
|
||||||
|
ref::Union{Plot, Nothing}
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
#==Useful constants
|
||||||
|
===============================================================================#
|
||||||
|
const _hdf5_nullable{T} = Union{T, Nothing}
|
||||||
|
const _hdf5_plotroot = "plot"
|
||||||
|
const _hdf5_dataroot = "data" #TODO: Eventually move data to different root (easier to locate)?
|
||||||
|
const _hdf5plot_datatypeid = "TYPE" #Attribute identifying type
|
||||||
|
const _hdf5plot_countid = "COUNT" #Attribute for storing count
|
||||||
|
|
||||||
|
#Dict has problems using "Types" as keys. Initialize in "_initialize_backend":
|
||||||
|
const HDF5PLOT_MAP_STR2TELEM = Dict{String, Type}()
|
||||||
|
const HDF5PLOT_MAP_TELEM2STR = Dict{Type, String}()
|
||||||
|
|
||||||
|
#Don't really like this global variable... Very hacky
|
||||||
|
const HDF5PLOT_PLOTREF = HDF5Plot_PlotRef(nothing)
|
||||||
|
|
||||||
|
#Simple sub-structures that can just be written out using _hdf5plot_gwritefields:
|
||||||
|
const HDF5PLOT_SIMPLESUBSTRUCT = Union{Font, BoundingBox,
|
||||||
|
GridLayout, RootLayout, ColorGradient, SeriesAnnotations, PlotText,
|
||||||
|
Shape,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#==
|
#==
|
||||||
===============================================================================#
|
===============================================================================#
|
||||||
is_marker_supported(::HDF5Backend, shape::Shape) = true
|
is_marker_supported(::HDF5Backend, shape::Shape) = true
|
||||||
@@ -56,7 +83,6 @@ if length(HDF5PLOT_MAP_TELEM2STR) < 1
|
|||||||
"ARRAY" => Array, #Dict won't allow Array to be key in HDF5PLOT_MAP_TELEM2STR
|
"ARRAY" => Array, #Dict won't allow Array to be key in HDF5PLOT_MAP_TELEM2STR
|
||||||
|
|
||||||
#Sub-structure types:
|
#Sub-structure types:
|
||||||
"DEFAULTSDICT" => DefaultsDict,
|
|
||||||
"FONT" => Font,
|
"FONT" => Font,
|
||||||
"BOUNDINGBOX" => BoundingBox,
|
"BOUNDINGBOX" => BoundingBox,
|
||||||
"GRIDLAYOUT" => GridLayout,
|
"GRIDLAYOUT" => GridLayout,
|
||||||
@@ -68,7 +94,7 @@ if length(HDF5PLOT_MAP_TELEM2STR) < 1
|
|||||||
"AXIS" => Axis,
|
"AXIS" => Axis,
|
||||||
"SURFACE" => Surface,
|
"SURFACE" => Surface,
|
||||||
"SUBPLOT" => Subplot,
|
"SUBPLOT" => Subplot,
|
||||||
"NULLABLE" => Union{Nothing, T} where T,
|
"NULLABLE" => _hdf5_nullable,
|
||||||
)
|
)
|
||||||
merge!(HDF5PLOT_MAP_STR2TELEM, telem2str)
|
merge!(HDF5PLOT_MAP_STR2TELEM, telem2str)
|
||||||
merge!(HDF5PLOT_MAP_TELEM2STR, Dict{Type, String}(v=>k for (k,v) in HDF5PLOT_MAP_STR2TELEM))
|
merge!(HDF5PLOT_MAP_TELEM2STR, Dict{Type, String}(v=>k for (k,v) in HDF5PLOT_MAP_STR2TELEM))
|
||||||
@@ -78,12 +104,12 @@ end
|
|||||||
#==Helper functions
|
#==Helper functions
|
||||||
===============================================================================#
|
===============================================================================#
|
||||||
|
|
||||||
_hdf5_plotelempath(subpath::String) = "plot/$subpath"
|
_hdf5_plotelempath(subpath::String) = "$_hdf5_plotroot/$subpath"
|
||||||
_hdf5_datapath(subpath::String) = "data/$subpath"
|
_hdf5_datapath(subpath::String) = "$_hdf5_dataroot/$subpath"
|
||||||
_hdf5_map_str2telem(k::String) = HDF5PLOT_MAP_STR2TELEM[k]
|
_hdf5_map_str2telem(k::String) = HDF5PLOT_MAP_STR2TELEM[k]
|
||||||
_hdf5_map_str2telem(v::Vector) = HDF5PLOT_MAP_STR2TELEM[v[1]]
|
_hdf5_map_str2telem(v::Vector) = HDF5PLOT_MAP_STR2TELEM[v[1]]
|
||||||
|
|
||||||
function _hdf5_merge!(dest::AKW, src::AKW)
|
function _hdf5_merge!(dest::Dict, src::Dict)
|
||||||
for (k, v) in src
|
for (k, v) in src
|
||||||
if isa(v, Axis)
|
if isa(v, Axis)
|
||||||
_hdf5_merge!(dest[k].plotattributes, v.plotattributes)
|
_hdf5_merge!(dest[k].plotattributes, v.plotattributes)
|
||||||
@@ -174,38 +200,38 @@ end
|
|||||||
|
|
||||||
function _hdf5plot_writetype(grp, k::String, tstr::Array{String})
|
function _hdf5plot_writetype(grp, k::String, tstr::Array{String})
|
||||||
d = HDF5.d_open(grp, k)
|
d = HDF5.d_open(grp, k)
|
||||||
HDF5.a_write(d, "TYPE", tstr)
|
HDF5.a_write(d, _hdf5plot_datatypeid, tstr)
|
||||||
end
|
end
|
||||||
function _hdf5plot_writetype(grp, k::String, T::Type)
|
function _hdf5plot_writetype(grp, k::String, T::Type)
|
||||||
tstr = HDF5PLOT_MAP_TELEM2STR[T]
|
tstr = HDF5PLOT_MAP_TELEM2STR[T]
|
||||||
d = HDF5.d_open(grp, k)
|
d = HDF5.d_open(grp, k)
|
||||||
HDF5.a_write(d, "TYPE", tstr)
|
HDF5.a_write(d, _hdf5plot_datatypeid, tstr)
|
||||||
end
|
end
|
||||||
function _hdf5plot_overwritetype(grp, k::String, T::Type)
|
function _hdf5plot_overwritetype(grp, k::String, T::Type)
|
||||||
tstr = HDF5PLOT_MAP_TELEM2STR[T]
|
tstr = HDF5PLOT_MAP_TELEM2STR[T]
|
||||||
d = HDF5.d_open(grp, k)
|
d = HDF5.d_open(grp, k)
|
||||||
HDF5.a_delete(d, "TYPE")
|
HDF5.a_delete(d, _hdf5plot_datatypeid)
|
||||||
HDF5.a_write(d, "TYPE", tstr)
|
HDF5.a_write(d, _hdf5plot_datatypeid, tstr)
|
||||||
end
|
end
|
||||||
function _hdf5plot_writetype(grp, T::Type) #Write directly to group
|
function _hdf5plot_writetype(grp, T::Type) #Write directly to group
|
||||||
tstr = HDF5PLOT_MAP_TELEM2STR[T]
|
tstr = HDF5PLOT_MAP_TELEM2STR[T]
|
||||||
HDF5.a_write(grp, "TYPE", tstr)
|
HDF5.a_write(grp, _hdf5plot_datatypeid, tstr)
|
||||||
end
|
end
|
||||||
function _hdf5plot_overwritetype(grp, T::Type) #Write directly to group
|
function _hdf5plot_overwritetype(grp, T::Type) #Write directly to group
|
||||||
tstr = HDF5PLOT_MAP_TELEM2STR[T]
|
tstr = HDF5PLOT_MAP_TELEM2STR[T]
|
||||||
HDF5.a_delete(grp, "TYPE")
|
HDF5.a_delete(grp, _hdf5plot_datatypeid)
|
||||||
HDF5.a_write(grp, "TYPE", tstr)
|
HDF5.a_write(grp, _hdf5plot_datatypeid, tstr)
|
||||||
end
|
end
|
||||||
function _hdf5plot_writetype(grp, ::Type{Array{T}}) where T<:Any
|
function _hdf5plot_writetype(grp, ::Type{Array{T}}) where T<:Any
|
||||||
tstr = HDF5PLOT_MAP_TELEM2STR[Array] #ANY
|
tstr = HDF5PLOT_MAP_TELEM2STR[Array] #ANY
|
||||||
HDF5.a_write(grp, "TYPE", tstr)
|
HDF5.a_write(grp, _hdf5plot_datatypeid, tstr)
|
||||||
end
|
end
|
||||||
function _hdf5plot_writetype(grp, ::Type{T}) where T<:BoundingBox
|
function _hdf5plot_writetype(grp, ::Type{T}) where T<:BoundingBox
|
||||||
tstr = HDF5PLOT_MAP_TELEM2STR[BoundingBox]
|
tstr = HDF5PLOT_MAP_TELEM2STR[BoundingBox]
|
||||||
HDF5.a_write(grp, "TYPE", tstr)
|
HDF5.a_write(grp, _hdf5plot_datatypeid, tstr)
|
||||||
end
|
end
|
||||||
function _hdf5plot_writecount(grp, n::Int) #Write directly to group
|
function _hdf5plot_writecount(grp, n::Int) #Write directly to group
|
||||||
HDF5.a_write(grp, "COUNT", n)
|
HDF5.a_write(grp, _hdf5plot_countid, n)
|
||||||
end
|
end
|
||||||
function _hdf5plot_gwritefields(grp, k::String, v)
|
function _hdf5plot_gwritefields(grp, k::String, v)
|
||||||
grp = HDF5.g_create(grp, k)
|
grp = HDF5.g_create(grp, k)
|
||||||
@@ -237,15 +263,6 @@ function _hdf5plot_gwrite(grp, k::String, v::Array{T}) where T<:Number #Default
|
|||||||
grp[k] = v
|
grp[k] = v
|
||||||
_hdf5plot_writetype(grp, k, HDF5PlotNative)
|
_hdf5plot_writetype(grp, k, HDF5PlotNative)
|
||||||
end
|
end
|
||||||
function _hdf5plot_gwrite(grp, k::String, v::Dict)
|
|
||||||
#=
|
|
||||||
tstr = string(Dict)
|
|
||||||
path = HDF5.name(grp) * "/" * k
|
|
||||||
@info("Type not supported: $tstr\npath: $path")
|
|
||||||
=#
|
|
||||||
#No support for structures with Dicts different than KW (plotattributes)
|
|
||||||
end
|
|
||||||
|
|
||||||
#=
|
#=
|
||||||
function _hdf5plot_gwrite(grp, k::String, v::Array{Any})
|
function _hdf5plot_gwrite(grp, k::String, v::Array{Any})
|
||||||
# @show grp, k
|
# @show grp, k
|
||||||
@@ -278,8 +295,7 @@ function _hdf5plot_gwrite(grp, k::String, v::Tuple)
|
|||||||
end
|
end
|
||||||
#NOTE: _hdf5plot_overwritetype overwrites "Array" type with "Tuple".
|
#NOTE: _hdf5plot_overwritetype overwrites "Array" type with "Tuple".
|
||||||
end
|
end
|
||||||
function _hdf5plot_gwrite(grp, k::String, plotattributes::KW)
|
function _hdf5plot_gwrite(grp, k::String, plotattributes::Dict)
|
||||||
#NOTE: Can only write directly to group, not a subi-item
|
|
||||||
# @warn("Cannot write dict: $k=$plotattributes")
|
# @warn("Cannot write dict: $k=$plotattributes")
|
||||||
end
|
end
|
||||||
function _hdf5plot_gwrite(grp, k::String, v::AbstractRange)
|
function _hdf5plot_gwrite(grp, k::String, v::AbstractRange)
|
||||||
@@ -345,7 +361,7 @@ function _hdf5plot_gwrite(grp, k::String, v::Surface)
|
|||||||
_hdf5plot_writetype(grp, Surface)
|
_hdf5plot_writetype(grp, Surface)
|
||||||
end
|
end
|
||||||
# #TODO: "Properly" support Nullable using _hdf5plot_writetype?
|
# #TODO: "Properly" support Nullable using _hdf5plot_writetype?
|
||||||
# function _hdf5plot_gwrite(grp, k::String, v::Union{Nothing, T} where T)
|
# function _hdf5plot_gwrite(grp, k::String, v::_hdf5_nullable)
|
||||||
# if isnull(v)
|
# if isnull(v)
|
||||||
# _hdf5plot_gwrite(grp, k, nothing)
|
# _hdf5plot_gwrite(grp, k, nothing)
|
||||||
# else
|
# else
|
||||||
@@ -360,22 +376,13 @@ function _hdf5plot_gwrite(grp, k::String, v::Subplot)
|
|||||||
_hdf5plot_writetype(grp, Subplot)
|
_hdf5plot_writetype(grp, Subplot)
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
function _hdf5plot_write(grp, plotattributes::Dict)
|
||||||
function _hdf5plot_write(grp, plotattributes::KW)
|
|
||||||
for (k, v) in plotattributes
|
for (k, v) in plotattributes
|
||||||
kstr = string(k)
|
kstr = string(k)
|
||||||
_hdf5plot_gwrite(grp, kstr, v)
|
_hdf5plot_gwrite(grp, kstr, v)
|
||||||
end
|
end
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
function _hdf5plot_write(grp, plotattributes::DefaultsDict)
|
|
||||||
for (k, v) in plotattributes
|
|
||||||
kstr = string(k)
|
|
||||||
_hdf5plot_gwrite(grp, kstr, v)
|
|
||||||
end
|
|
||||||
_hdf5plot_writetype(grp, DefaultsDict)
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
# Write main plot structures:
|
# Write main plot structures:
|
||||||
# ----------------------------------------------------------------
|
# ----------------------------------------------------------------
|
||||||
@@ -421,7 +428,7 @@ hdf5plot_write(path::AbstractString) = hdf5plot_write(current(), path)
|
|||||||
===============================================================================#
|
===============================================================================#
|
||||||
|
|
||||||
function _hdf5plot_readcount(grp) #Read directly from group
|
function _hdf5plot_readcount(grp) #Read directly from group
|
||||||
return HDF5.a_read(grp, "COUNT")
|
return HDF5.a_read(grp, _hdf5plot_countid)
|
||||||
end
|
end
|
||||||
|
|
||||||
_hdf5plot_convert(T::Type{HDF5PlotNative}, v) = v
|
_hdf5plot_convert(T::Type{HDF5PlotNative}, v) = v
|
||||||
@@ -438,14 +445,20 @@ _hdf5plot_convert(T::Type{Extrema}, v) = Extrema(v[1], v[2])
|
|||||||
# Read data structures:
|
# Read data structures:
|
||||||
# ----------------------------------------------------------------
|
# ----------------------------------------------------------------
|
||||||
|
|
||||||
function _hdf5plot_read(grp, k::String, T::Type)
|
function _hdf5plot_read(grp, k::String, T::Type, dtid)
|
||||||
v = HDF5.d_read(grp, k)
|
v = HDF5.d_read(grp, k)
|
||||||
return _hdf5plot_convert(T, v)
|
return _hdf5plot_convert(T, v)
|
||||||
end
|
end
|
||||||
|
function _hdf5plot_read(grp, k::String, T::Type{Length}, dtid::Vector)
|
||||||
|
v = HDF5.d_read(grp, k)
|
||||||
|
TU = Symbol(dtid[2])
|
||||||
|
T = typeof(v)
|
||||||
|
return Length{TU,T}(v)
|
||||||
|
end
|
||||||
|
|
||||||
# Read more complex data structures:
|
# Read more complex data structures:
|
||||||
# ----------------------------------------------------------------
|
# ----------------------------------------------------------------
|
||||||
function _hdf5plot_read(grp, k::String, T::Type{Font})
|
function _hdf5plot_read(grp, k::String, T::Type{Font}, dtid)
|
||||||
grp = HDF5.g_open(grp, k)
|
grp = HDF5.g_open(grp, k)
|
||||||
|
|
||||||
family = _hdf5plot_read(grp, "family")
|
family = _hdf5plot_read(grp, "family")
|
||||||
@@ -456,7 +469,7 @@ function _hdf5plot_read(grp, k::String, T::Type{Font})
|
|||||||
color = _hdf5plot_read(grp, "color")
|
color = _hdf5plot_read(grp, "color")
|
||||||
return Font(family, pointsize, halign, valign, rotation, color)
|
return Font(family, pointsize, halign, valign, rotation, color)
|
||||||
end
|
end
|
||||||
function _hdf5plot_read(grp, k::String, T::Type{Array}) #ANY
|
function _hdf5plot_read(grp, k::String, T::Type{Array}, dtid) #ANY
|
||||||
grp = HDF5.g_open(grp, k)
|
grp = HDF5.g_open(grp, k)
|
||||||
sz = _hdf5plot_read(grp, "dim")
|
sz = _hdf5plot_read(grp, "dim")
|
||||||
if [0] == sz; return []; end
|
if [0] == sz; return []; end
|
||||||
@@ -475,18 +488,18 @@ function _hdf5plot_read(grp, k::String, T::Type{Array}) #ANY
|
|||||||
result = [result[iter] for iter in eachindex(result)] #Potentially make more specific
|
result = [result[iter] for iter in eachindex(result)] #Potentially make more specific
|
||||||
return reshape(result, sz)
|
return reshape(result, sz)
|
||||||
end
|
end
|
||||||
function _hdf5plot_read(grp, k::String, T::Type{HDF5CTuple})
|
function _hdf5plot_read(grp, k::String, T::Type{HDF5CTuple}, dtid)
|
||||||
v = _hdf5plot_read(grp, k, Array)
|
v = _hdf5plot_read(grp, k, Array, dtid)
|
||||||
return tuple(v...)
|
return tuple(v...)
|
||||||
end
|
end
|
||||||
function _hdf5plot_read(grp, k::String, T::Type{PlotText})
|
function _hdf5plot_read(grp, k::String, T::Type{PlotText}, dtid)
|
||||||
grp = HDF5.g_open(grp, k)
|
grp = HDF5.g_open(grp, k)
|
||||||
|
|
||||||
str = _hdf5plot_read(grp, "str")
|
str = _hdf5plot_read(grp, "str")
|
||||||
font = _hdf5plot_read(grp, "font")
|
font = _hdf5plot_read(grp, "font")
|
||||||
return PlotText(str, font)
|
return PlotText(str, font)
|
||||||
end
|
end
|
||||||
function _hdf5plot_read(grp, k::String, T::Type{SeriesAnnotations})
|
function _hdf5plot_read(grp, k::String, T::Type{SeriesAnnotations}, dtid)
|
||||||
grp = HDF5.g_open(grp, k)
|
grp = HDF5.g_open(grp, k)
|
||||||
|
|
||||||
strs = _hdf5plot_read(grp, "strs")
|
strs = _hdf5plot_read(grp, "strs")
|
||||||
@@ -495,29 +508,29 @@ function _hdf5plot_read(grp, k::String, T::Type{SeriesAnnotations})
|
|||||||
scalefactor = _hdf5plot_read(grp, "scalefactor")
|
scalefactor = _hdf5plot_read(grp, "scalefactor")
|
||||||
return SeriesAnnotations(strs, font, baseshape, scalefactor)
|
return SeriesAnnotations(strs, font, baseshape, scalefactor)
|
||||||
end
|
end
|
||||||
function _hdf5plot_read(grp, k::String, T::Type{Shape})
|
function _hdf5plot_read(grp, k::String, T::Type{Shape}, dtid)
|
||||||
grp = HDF5.g_open(grp, k)
|
grp = HDF5.g_open(grp, k)
|
||||||
|
|
||||||
x = _hdf5plot_read(grp, "x")
|
x = _hdf5plot_read(grp, "x")
|
||||||
y = _hdf5plot_read(grp, "y")
|
y = _hdf5plot_read(grp, "y")
|
||||||
return Shape(x, y)
|
return Shape(x, y)
|
||||||
end
|
end
|
||||||
function _hdf5plot_read(grp, k::String, T::Type{ColorGradient})
|
function _hdf5plot_read(grp, k::String, T::Type{ColorGradient}, dtid)
|
||||||
grp = HDF5.g_open(grp, k)
|
grp = HDF5.g_open(grp, k)
|
||||||
|
|
||||||
colors = _hdf5plot_read(grp, "colors")
|
colors = _hdf5plot_read(grp, "colors")
|
||||||
values = _hdf5plot_read(grp, "values")
|
values = _hdf5plot_read(grp, "values")
|
||||||
return ColorGradient(colors, values)
|
return ColorGradient(colors, values)
|
||||||
end
|
end
|
||||||
function _hdf5plot_read(grp, k::String, T::Type{BoundingBox})
|
function _hdf5plot_read(grp, k::String, T::Type{BoundingBox}, dtid)
|
||||||
grp = HDF5.g_open(grp, k)
|
grp = HDF5.g_open(grp, k)
|
||||||
|
|
||||||
x0 = _hdf5plot_read(grp, "x0")
|
x0 = _hdf5plot_read(grp, "x0")
|
||||||
a = _hdf5plot_read(grp, "a")
|
a = _hdf5plot_read(grp, "a")
|
||||||
return BoundingBox(x0, a)
|
return BoundingBox(x0, a)
|
||||||
end
|
end
|
||||||
_hdf5plot_read(grp, k::String, T::Type{RootLayout}) = RootLayout()
|
_hdf5plot_read(grp, k::String, T::Type{RootLayout}, dtid) = RootLayout()
|
||||||
function _hdf5plot_read(grp, k::String, T::Type{GridLayout})
|
function _hdf5plot_read(grp, k::String, T::Type{GridLayout}, dtid)
|
||||||
grp = HDF5.g_open(grp, k)
|
grp = HDF5.g_open(grp, k)
|
||||||
|
|
||||||
# parent = _hdf5plot_read(grp, "parent")
|
# parent = _hdf5plot_read(grp, "parent")
|
||||||
@@ -531,44 +544,30 @@ parent = RootLayout()
|
|||||||
|
|
||||||
return GridLayout(parent, minpad, bbox, grid, widths, heights, attr)
|
return GridLayout(parent, minpad, bbox, grid, widths, heights, attr)
|
||||||
end
|
end
|
||||||
function _hdf5plot_read(grp, T::Type{DefaultsDict})
|
function _hdf5plot_read(grp, k::String, T::Type{Axis}, dtid)
|
||||||
attr = DefaultsDict(KW(), _plot_defaults)
|
|
||||||
v = _hdf5plot_read(grp, attr)
|
|
||||||
return attr
|
|
||||||
end
|
|
||||||
function _hdf5plot_read(grp, k::String, T::Type{Axis})
|
|
||||||
grp = HDF5.g_open(grp, k)
|
grp = HDF5.g_open(grp, k)
|
||||||
plotattributes = DefaultsDict(KW(), _plot_defaults)
|
kwlist = KW()
|
||||||
_hdf5plot_read(grp, plotattributes)
|
_hdf5plot_read(grp, kwlist)
|
||||||
return Axis([], plotattributes)
|
return Axis([], kwlist)
|
||||||
end
|
end
|
||||||
function _hdf5plot_read(grp, k::String, T::Type{Surface})
|
function _hdf5plot_read(grp, k::String, T::Type{Surface}, dtid)
|
||||||
grp = HDF5.g_open(grp, k)
|
grp = HDF5.g_open(grp, k)
|
||||||
data2d = _hdf5plot_read(grp, "data2d")
|
data2d = _hdf5plot_read(grp, "data2d")
|
||||||
return Surface(data2d)
|
return Surface(data2d)
|
||||||
end
|
end
|
||||||
function _hdf5plot_read(grp, k::String, T::Type{Subplot})
|
function _hdf5plot_read(grp, k::String, T::Type{Subplot}, dtid)
|
||||||
grp = HDF5.g_open(grp, k)
|
grp = HDF5.g_open(grp, k)
|
||||||
idx = _hdf5plot_read(grp, "index")
|
idx = _hdf5plot_read(grp, "index")
|
||||||
return HDF5PLOT_PLOTREF.ref.subplots[idx]
|
return HDF5PLOT_PLOTREF.ref.subplots[idx]
|
||||||
end
|
end
|
||||||
|
|
||||||
#Most types don't need dtid for read!!:
|
|
||||||
_hdf5plot_read(grp, k::String, T::Type, dtid) = _hdf5plot_read(grp, k, T)
|
|
||||||
function _hdf5plot_read(grp, k::String, T::Type{Length}, dtid::Vector)
|
|
||||||
v = HDF5.d_read(grp, k)
|
|
||||||
TU = Symbol(dtid[2])
|
|
||||||
T = typeof(v)
|
|
||||||
return Length{TU,T}(v)
|
|
||||||
end
|
|
||||||
function _hdf5plot_read(grp, k::String)
|
function _hdf5plot_read(grp, k::String)
|
||||||
dtid = HDF5.a_read(grp[k], "TYPE")
|
dtid = HDF5.a_read(grp[k], _hdf5plot_datatypeid)
|
||||||
T = _hdf5_map_str2telem(dtid) #expect exception
|
T = _hdf5_map_str2telem(dtid) #expect exception
|
||||||
return _hdf5plot_read(grp, k, T, dtid)
|
return _hdf5plot_read(grp, k, T, dtid)
|
||||||
end
|
end
|
||||||
|
|
||||||
#Read in values in group to populate plotattributes:
|
#Read in values in group to populate plotattributes:
|
||||||
function _hdf5plot_readattr(grp, plotattributes::AbstractDict)
|
function _hdf5plot_read(grp, plotattributes::Dict)
|
||||||
gnames = names(grp)
|
gnames = names(grp)
|
||||||
for k in gnames
|
for k in gnames
|
||||||
try
|
try
|
||||||
@@ -582,8 +581,6 @@ function _hdf5plot_readattr(grp, plotattributes::AbstractDict)
|
|||||||
end
|
end
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
_hdf5plot_read(grp, plotattributes::KW) = _hdf5plot_readattr(grp, plotattributes)
|
|
||||||
_hdf5plot_read(grp, plotattributes::DefaultsDict) = _hdf5plot_readattr(grp, plotattributes)
|
|
||||||
|
|
||||||
# Read main plot structures:
|
# Read main plot structures:
|
||||||
# ----------------------------------------------------------------
|
# ----------------------------------------------------------------
|
||||||
@@ -596,17 +593,17 @@ function _hdf5plot_read(sp::Subplot, subpath::String, f)
|
|||||||
|
|
||||||
for i in 1:nseries
|
for i in 1:nseries
|
||||||
grp = HDF5.g_open(f, _hdf5_plotelempath("$subpath/series_list/series$i"))
|
grp = HDF5.g_open(f, _hdf5_plotelempath("$subpath/series_list/series$i"))
|
||||||
seriesinfo = DefaultsDict(KW(), _plot_defaults)
|
kwlist = KW()
|
||||||
_hdf5plot_read(grp, seriesinfo)
|
_hdf5plot_read(grp, kwlist)
|
||||||
plot!(sp, seriesinfo[:x], seriesinfo[:y]) #Add data & create data structures
|
plot!(sp, kwlist[:x], kwlist[:y]) #Add data & create data structures
|
||||||
_hdf5_merge!(sp.series_list[end].plotattributes, seriesinfo)
|
_hdf5_merge!(sp.series_list[end].plotattributes, kwlist)
|
||||||
end
|
end
|
||||||
|
|
||||||
#Perform after adding series... otherwise values get overwritten:
|
#Perform after adding series... otherwise values get overwritten:
|
||||||
grp = HDF5.g_open(f, _hdf5_plotelempath("$subpath/attr"))
|
grp = HDF5.g_open(f, _hdf5_plotelempath("$subpath/attr"))
|
||||||
attr = DefaultsDict(KW(), _plot_defaults)
|
kwlist = KW()
|
||||||
_hdf5plot_read(grp, attr)
|
_hdf5plot_read(grp, kwlist)
|
||||||
_hdf5_merge!(sp.attr, attr)
|
_hdf5_merge!(sp.attr, kwlist)
|
||||||
|
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|||||||
+16
-10
@@ -429,23 +429,29 @@ end
|
|||||||
|
|
||||||
# ----------------------------------------------------------------
|
# ----------------------------------------------------------------
|
||||||
|
|
||||||
|
const _inspectdr_mimeformats_dpi = Dict(
|
||||||
|
"image/png" => "png"
|
||||||
|
)
|
||||||
|
const _inspectdr_mimeformats_nodpi = Dict(
|
||||||
|
"image/svg+xml" => "svg",
|
||||||
|
"application/eps" => "eps",
|
||||||
|
"image/eps" => "eps",
|
||||||
|
# "application/postscript" => "ps", #TODO: support once Cairo supports PSSurface
|
||||||
|
"application/pdf" => "pdf"
|
||||||
|
)
|
||||||
_inspectdr_show(io::IO, mime::MIME, ::Nothing, w, h) =
|
_inspectdr_show(io::IO, mime::MIME, ::Nothing, w, h) =
|
||||||
throw(ErrorException("Cannot show(::IO, ...) plot - not yet generated"))
|
throw(ErrorException("Cannot show(::IO, ...) plot - not yet generated"))
|
||||||
function _inspectdr_show(io::IO, mime::MIME, mplot, w, h)
|
function _inspectdr_show(io::IO, mime::MIME, mplot, w, h)
|
||||||
InspectDR._show(io, mime, mplot, Float64(w), Float64(h))
|
InspectDR._show(io, mime, mplot, Float64(w), Float64(h))
|
||||||
end
|
end
|
||||||
|
|
||||||
function _show(io::IO, mime::MIME{Symbol("image/png")}, plt::Plot{InspectDRBackend})
|
for (mime, fmt) in _inspectdr_mimeformats_dpi
|
||||||
dpi = plt[:dpi] # TODO: support
|
@eval function _show(io::IO, mime::MIME{Symbol($mime)}, plt::Plot{InspectDRBackend})
|
||||||
_inspectdr_show(io, mime, _inspectdr_getmplot(plt.o), plt[:size]...)
|
dpi = plt[:dpi]#TODO: support
|
||||||
|
_inspectdr_show(io, mime, _inspectdr_getmplot(plt.o), plt[:size]...)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
for (mime, fmt) in (
|
for (mime, fmt) in _inspectdr_mimeformats_nodpi
|
||||||
"image/svg+xml" => "svg",
|
|
||||||
"application/eps" => "eps",
|
|
||||||
"image/eps" => "eps",
|
|
||||||
# "application/postscript" => "ps", # TODO: support once Cairo supports PSSurface
|
|
||||||
"application/pdf" => "pdf",
|
|
||||||
)
|
|
||||||
@eval function _show(io::IO, mime::MIME{Symbol($mime)}, plt::Plot{InspectDRBackend})
|
@eval function _show(io::IO, mime::MIME{Symbol($mime)}, plt::Plot{InspectDRBackend})
|
||||||
_inspectdr_show(io, mime, _inspectdr_getmplot(plt.o), plt[:size]...)
|
_inspectdr_show(io, mime, _inspectdr_getmplot(plt.o), plt[:size]...)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
function plotlybase_syncplot(plt::Plot)
|
|
||||||
plt.o = ORCA.PlotlyBase.Plot()
|
|
||||||
traces = ORCA.PlotlyBase.GenericTrace[]
|
|
||||||
for series_dict in plotly_series(plt)
|
|
||||||
plotly_type = pop!(series_dict, :type)
|
|
||||||
push!(traces, ORCA.PlotlyBase.GenericTrace(plotly_type; series_dict...))
|
|
||||||
end
|
|
||||||
ORCA.PlotlyBase.addtraces!(plt.o, traces...)
|
|
||||||
layout = plotly_layout(plt)
|
|
||||||
w, h = plt[:size]
|
|
||||||
ORCA.PlotlyBase.relayout!(plt.o, layout, width = w, height = h)
|
|
||||||
return plt.o
|
|
||||||
end
|
|
||||||
|
|
||||||
for (mime, fmt) in (
|
|
||||||
"application/pdf" => "pdf",
|
|
||||||
"image/png" => "png",
|
|
||||||
"image/svg+xml" => "svg",
|
|
||||||
"image/eps" => "eps",
|
|
||||||
)
|
|
||||||
@eval _show(io::IO, ::MIME{Symbol($mime)}, plt::Plot{PlotlyBackend}) =
|
|
||||||
ORCA.PlotlyBase.savefig(io, plotlybase_syncplot(plt), format = $fmt)
|
|
||||||
end
|
|
||||||
@@ -128,18 +128,16 @@ function pgf_marker(plotattributes, i = 1)
|
|||||||
shape = _cycle(plotattributes[:markershape], i)
|
shape = _cycle(plotattributes[:markershape], i)
|
||||||
cstr, a = pgf_color(plot_color(get_markercolor(plotattributes, i), get_markeralpha(plotattributes, i)))
|
cstr, a = pgf_color(plot_color(get_markercolor(plotattributes, i), get_markeralpha(plotattributes, i)))
|
||||||
cstr_stroke, a_stroke = pgf_color(plot_color(get_markerstrokecolor(plotattributes, i), get_markerstrokealpha(plotattributes, i)))
|
cstr_stroke, a_stroke = pgf_color(plot_color(get_markerstrokecolor(plotattributes, i), get_markerstrokealpha(plotattributes, i)))
|
||||||
return string(
|
"""
|
||||||
"mark = $(get(_pgfplots_markers, shape, "*")),\n",
|
mark = $(get(_pgfplots_markers, shape, "*")),
|
||||||
"mark size = $(pgf_thickness_scaling(plotattributes) * 0.5 * _cycle(plotattributes[:markersize], i)),\n",
|
mark size = $(pgf_thickness_scaling(plotattributes) * 0.5 * _cycle(plotattributes[:markersize], i)),
|
||||||
plotattributes[:seriestype] == :scatter ? "only marks,\n" : "",
|
mark options = {
|
||||||
"mark options = {
|
color = $cstr_stroke, draw opacity = $a_stroke,
|
||||||
color = $cstr_stroke, draw opacity = $a_stroke,
|
fill = $cstr, fill opacity = $a,
|
||||||
fill = $cstr, fill opacity = $a,
|
line width = $(pgf_thickness_scaling(plotattributes) * _cycle(plotattributes[:markerstrokewidth], i)),
|
||||||
line width = $(pgf_thickness_scaling(plotattributes) * _cycle(plotattributes[:markerstrokewidth], i)),
|
rotate = $(shape == :dtriangle ? 180 : 0),
|
||||||
rotate = $(shape == :dtriangle ? 180 : 0),
|
$(get(_pgfplots_linestyles, _cycle(plotattributes[:markerstrokestyle], i), "solid"))
|
||||||
$(get(_pgfplots_linestyles, _cycle(plotattributes[:markerstrokestyle], i), "solid"))
|
}"""
|
||||||
}"
|
|
||||||
)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function pgf_add_annotation!(o, x, y, val, thickness_scaling = 1)
|
function pgf_add_annotation!(o, x, y, val, thickness_scaling = 1)
|
||||||
@@ -166,7 +164,7 @@ function pgf_series(sp::Subplot, series::Series)
|
|||||||
# function args
|
# function args
|
||||||
args = if st == :contour
|
args = if st == :contour
|
||||||
plotattributes[:z].surf, plotattributes[:x], plotattributes[:y]
|
plotattributes[:z].surf, plotattributes[:x], plotattributes[:y]
|
||||||
elseif RecipesPipeline.is3d(st)
|
elseif is3d(st)
|
||||||
plotattributes[:x], plotattributes[:y], plotattributes[:z]
|
plotattributes[:x], plotattributes[:y], plotattributes[:z]
|
||||||
elseif st == :straightline
|
elseif st == :straightline
|
||||||
straightline_data(series)
|
straightline_data(series)
|
||||||
@@ -180,11 +178,11 @@ function pgf_series(sp::Subplot, series::Series)
|
|||||||
end
|
end
|
||||||
|
|
||||||
# PGFPlots can't handle non-Vector?
|
# PGFPlots can't handle non-Vector?
|
||||||
# args = map(a -> if typeof(a) <: AbstractVector && typeof(a) != Vector
|
args = map(a -> if typeof(a) <: AbstractVector && typeof(a) != Vector
|
||||||
# collect(a)
|
collect(a)
|
||||||
# else
|
else
|
||||||
# a
|
a
|
||||||
# end, args)
|
end, args)
|
||||||
|
|
||||||
if st in (:contour, :histogram2d)
|
if st in (:contour, :histogram2d)
|
||||||
style = []
|
style = []
|
||||||
@@ -271,7 +269,7 @@ function pgf_fillrange_series(series, i, fillrange, args...)
|
|||||||
push!(style, _pgf_series_extrastyle[st])
|
push!(style, _pgf_series_extrastyle[st])
|
||||||
end
|
end
|
||||||
kw[:style] = join(style, ',')
|
kw[:style] = join(style, ',')
|
||||||
func = RecipesPipeline.is3d(series) ? PGFPlots.Linear3 : PGFPlots.Linear
|
func = is3d(series) ? PGFPlots.Linear3 : PGFPlots.Linear
|
||||||
return func(pgf_fillrange_args(fillrange, args...)...; kw...)
|
return func(pgf_fillrange_args(fillrange, args...)...; kw...)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -444,7 +442,7 @@ function _update_plot_object(plt::Plot{PGFPlotsBackend})
|
|||||||
|
|
||||||
# add to style/kw for each axis
|
# add to style/kw for each axis
|
||||||
for letter in (:x, :y, :z)
|
for letter in (:x, :y, :z)
|
||||||
if letter != :z || RecipesPipeline.is3d(sp)
|
if letter != :z || is3d(sp)
|
||||||
axisstyle, axiskw = pgf_axis(sp, letter)
|
axisstyle, axiskw = pgf_axis(sp, letter)
|
||||||
append!(style, axisstyle)
|
append!(style, axisstyle)
|
||||||
merge!(kw, axiskw)
|
merge!(kw, axiskw)
|
||||||
@@ -470,7 +468,7 @@ function _update_plot_object(plt::Plot{PGFPlotsBackend})
|
|||||||
push!(style, string("title style = {font = ", pgf_font(sp[:titlefontsize], pgf_thickness_scaling(sp)), ", color = ", cstr, ", draw opacity = ", α, ", rotate = ", sp[:titlefontrotation], "}"))
|
push!(style, string("title style = {font = ", pgf_font(sp[:titlefontsize], pgf_thickness_scaling(sp)), ", color = ", cstr, ", draw opacity = ", α, ", rotate = ", sp[:titlefontrotation], "}"))
|
||||||
end
|
end
|
||||||
|
|
||||||
if get_aspect_ratio(sp) in (1, :equal)
|
if sp[:aspect_ratio] in (1, :equal)
|
||||||
kw[:axisEqual] = "true"
|
kw[:axisEqual] = "true"
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -478,23 +476,13 @@ function _update_plot_object(plt::Plot{PGFPlotsBackend})
|
|||||||
if haskey(_pgfplots_legend_pos, legpos)
|
if haskey(_pgfplots_legend_pos, legpos)
|
||||||
kw[:legendPos] = _pgfplots_legend_pos[legpos]
|
kw[:legendPos] = _pgfplots_legend_pos[legpos]
|
||||||
end
|
end
|
||||||
cstr, bg_alpha = pgf_color(plot_color(sp[:background_color_legend]))
|
cstr, a = pgf_color(plot_color(sp[:background_color_legend]))
|
||||||
fg_alpha = alpha(plot_color(sp[:foreground_color_legend]))
|
push!(style, string("legend style = {", pgf_linestyle(pgf_thickness_scaling(sp), sp[:foreground_color_legend], 1.0, "solid"), ",", "fill = $cstr,", "font = ", pgf_font(sp[:legendfontsize], pgf_thickness_scaling(sp)), "}"))
|
||||||
|
|
||||||
push!(style, string(
|
|
||||||
"legend style = {",
|
|
||||||
pgf_linestyle(pgf_thickness_scaling(sp), sp[:foreground_color_legend], fg_alpha, "solid", ), ",",
|
|
||||||
"fill = $cstr,",
|
|
||||||
"fill opacity = $bg_alpha,",
|
|
||||||
"text opacity = $(alpha(plot_color(sp[:legendfontcolor]))),",
|
|
||||||
"font = ", pgf_font(sp[:legendfontsize], pgf_thickness_scaling(sp)),
|
|
||||||
"}",
|
|
||||||
))
|
|
||||||
|
|
||||||
if any(s[:seriestype] == :contour for s in series_list(sp))
|
if any(s[:seriestype] == :contour for s in series_list(sp))
|
||||||
kw[:view] = "{0}{90}"
|
kw[:view] = "{0}{90}"
|
||||||
kw[:colorbar] = !(sp[:colorbar] in (:none, :off, :hide, false))
|
kw[:colorbar] = !(sp[:colorbar] in (:none, :off, :hide, false))
|
||||||
elseif RecipesPipeline.is3d(sp)
|
elseif is3d(sp)
|
||||||
azim, elev = sp[:camera]
|
azim, elev = sp[:camera]
|
||||||
kw[:view] = "{$(azim)}{$(elev)}"
|
kw[:view] = "{$(azim)}{$(elev)}"
|
||||||
end
|
end
|
||||||
File diff suppressed because it is too large
Load Diff
+80
-120
@@ -3,11 +3,13 @@
|
|||||||
|
|
||||||
is_subplot_supported(::PlotlyBackend) = true
|
is_subplot_supported(::PlotlyBackend) = true
|
||||||
# is_string_supported(::PlotlyBackend) = true
|
# is_string_supported(::PlotlyBackend) = true
|
||||||
|
const _plotly_framestyles = [:box, :axes, :zerolines, :grid, :none]
|
||||||
|
const _plotly_framestyle_defaults = Dict(:semi => :box, :origin => :zerolines)
|
||||||
function _plotly_framestyle(style::Symbol)
|
function _plotly_framestyle(style::Symbol)
|
||||||
if style in (:box, :axes, :zerolines, :grid, :none)
|
if style in _plotly_framestyles
|
||||||
return style
|
return style
|
||||||
else
|
else
|
||||||
default_style = get((semi = :box, origin = :zerolines), style, :axes)
|
default_style = get(_plotly_framestyle_defaults, style, :axes)
|
||||||
@warn("Framestyle :$style is not supported by Plotly and PlotlyJS. :$default_style was cosen instead.")
|
@warn("Framestyle :$style is not supported by Plotly and PlotlyJS. :$default_style was cosen instead.")
|
||||||
default_style
|
default_style
|
||||||
end
|
end
|
||||||
@@ -15,11 +17,32 @@ end
|
|||||||
|
|
||||||
|
|
||||||
# --------------------------------------------------------------------------------------
|
# --------------------------------------------------------------------------------------
|
||||||
|
const plotly_remote_file_path = "https://cdn.plot.ly/plotly-latest.min.js"
|
||||||
|
|
||||||
|
|
||||||
|
# if isatom()
|
||||||
|
# import Atom
|
||||||
|
# Atom.@msg evaljs(_js_code)
|
||||||
|
# end
|
||||||
using UUIDs
|
using UUIDs
|
||||||
|
|
||||||
|
push!(_initialized_backends, :plotly)
|
||||||
# ----------------------------------------------------------------
|
# ----------------------------------------------------------------
|
||||||
|
|
||||||
|
const _plotly_legend_pos = KW(
|
||||||
|
:right => [1., 0.5],
|
||||||
|
:left => [0., 0.5],
|
||||||
|
:top => [0.5, 1.],
|
||||||
|
:bottom => [0.5, 0.],
|
||||||
|
:bottomleft => [0., 0.],
|
||||||
|
:bottomright => [1., 0.],
|
||||||
|
:topright => [1., 1.],
|
||||||
|
:topleft => [0., 1.]
|
||||||
|
)
|
||||||
|
|
||||||
|
plotly_legend_pos(pos::Symbol) = get(_plotly_legend_pos, pos, [1.,1.])
|
||||||
|
plotly_legend_pos(v::Tuple{S,T}) where {S<:Real, T<:Real} = v
|
||||||
|
|
||||||
function plotly_font(font::Font, color = font.color)
|
function plotly_font(font::Font, color = font.color)
|
||||||
KW(
|
KW(
|
||||||
:family => font.family,
|
:family => font.family,
|
||||||
@@ -86,7 +109,7 @@ function shrink_by(lo, sz, ratio)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function plotly_apply_aspect_ratio(sp::Subplot, plotarea, pcts)
|
function plotly_apply_aspect_ratio(sp::Subplot, plotarea, pcts)
|
||||||
aspect_ratio = get_aspect_ratio(sp)
|
aspect_ratio = sp[:aspect_ratio]
|
||||||
if aspect_ratio != :none
|
if aspect_ratio != :none
|
||||||
if aspect_ratio == :equal
|
if aspect_ratio == :equal
|
||||||
aspect_ratio = 1.0
|
aspect_ratio = 1.0
|
||||||
@@ -140,7 +163,7 @@ function plotly_axis(plt::Plot, axis::Axis, sp::Subplot)
|
|||||||
|
|
||||||
if letter in (:x,:y)
|
if letter in (:x,:y)
|
||||||
ax[:domain] = plotly_domain(sp, letter)
|
ax[:domain] = plotly_domain(sp, letter)
|
||||||
if RecipesPipeline.is3d(sp)
|
if is3d(sp)
|
||||||
# don't link 3d axes for synchronized interactivity
|
# don't link 3d axes for synchronized interactivity
|
||||||
x_idx = y_idx = sp[:subplot_index]
|
x_idx = y_idx = sp[:subplot_index]
|
||||||
else
|
else
|
||||||
@@ -154,7 +177,7 @@ function plotly_axis(plt::Plot, axis::Axis, sp::Subplot)
|
|||||||
lims = axis_limits(sp, letter)
|
lims = axis_limits(sp, letter)
|
||||||
|
|
||||||
if axis[:ticks] != :native || axis[:lims] != :auto
|
if axis[:ticks] != :native || axis[:lims] != :auto
|
||||||
ax[:range] = map(RecipesPipeline.scale_func(axis[:scale]), lims)
|
ax[:range] = map(scalefunc(axis[:scale]), lims)
|
||||||
end
|
end
|
||||||
|
|
||||||
if !(axis[:ticks] in (nothing, :none, false))
|
if !(axis[:ticks] in (nothing, :none, false))
|
||||||
@@ -223,7 +246,7 @@ function plotly_layout(plt::Plot)
|
|||||||
# but vertically just below the top of the subplot bounding box
|
# but vertically just below the top of the subplot bounding box
|
||||||
if sp[:title] != ""
|
if sp[:title] != ""
|
||||||
bb = plotarea(sp)
|
bb = plotarea(sp)
|
||||||
tpos = sp[:titlelocation]
|
tpos = sp[:title_location]
|
||||||
xmm = if tpos == :left
|
xmm = if tpos == :left
|
||||||
left(bb)
|
left(bb)
|
||||||
elseif tpos == :right
|
elseif tpos == :right
|
||||||
@@ -241,8 +264,8 @@ function plotly_layout(plt::Plot)
|
|||||||
# set to supported framestyle
|
# set to supported framestyle
|
||||||
sp[:framestyle] = _plotly_framestyle(sp[:framestyle])
|
sp[:framestyle] = _plotly_framestyle(sp[:framestyle])
|
||||||
|
|
||||||
# if any(RecipesPipeline.is3d, seriesargs)
|
# if any(is3d, seriesargs)
|
||||||
if RecipesPipeline.is3d(sp)
|
if is3d(sp)
|
||||||
azim = sp[:camera][1] - 90 #convert azimuthal to match GR behaviour
|
azim = sp[:camera][1] - 90 #convert azimuthal to match GR behaviour
|
||||||
theta = 90 - sp[:camera][2] #spherical coordinate angle from z axis
|
theta = 90 - sp[:camera][2] #spherical coordinate angle from z axis
|
||||||
plotattributes_out[:scene] = KW(
|
plotattributes_out[:scene] = KW(
|
||||||
@@ -269,7 +292,18 @@ function plotly_layout(plt::Plot)
|
|||||||
end
|
end
|
||||||
|
|
||||||
# legend
|
# legend
|
||||||
plotly_add_legend!(plotattributes_out, sp)
|
plotattributes_out[:showlegend] = sp[:legend] != :none
|
||||||
|
xpos,ypos = plotly_legend_pos(sp[:legend])
|
||||||
|
if sp[:legend] != :none
|
||||||
|
plotattributes_out[:legend] = KW(
|
||||||
|
:bgcolor => rgba_string(sp[:background_color_legend]),
|
||||||
|
:bordercolor => rgba_string(sp[:foreground_color_legend]),
|
||||||
|
:font => plotly_font(legendfont(sp)),
|
||||||
|
:tracegroupgap => 0,
|
||||||
|
:x => xpos,
|
||||||
|
:y => ypos
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
# annotations
|
# annotations
|
||||||
for ann in sp[:annotations]
|
for ann in sp[:annotations]
|
||||||
@@ -309,109 +343,38 @@ function plotly_layout(plt::Plot)
|
|||||||
plotattributes_out[:hovermode] = "none"
|
plotattributes_out[:hovermode] = "none"
|
||||||
end
|
end
|
||||||
|
|
||||||
plotattributes_out = recursive_merge(plotattributes_out, plt.attr[:extra_plot_kwargs])
|
plotattributes_out
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
function plotly_add_legend!(plotattributes_out::KW, sp::Subplot)
|
|
||||||
plotattributes_out[:showlegend] = sp[:legend] != :none
|
|
||||||
legend_position = plotly_legend_pos(sp[:legend])
|
|
||||||
if sp[:legend] != :none
|
|
||||||
plotattributes_out[:legend] = KW(
|
|
||||||
:bgcolor => rgba_string(sp[:background_color_legend]),
|
|
||||||
:bordercolor => rgba_string(sp[:foreground_color_legend]),
|
|
||||||
:borderwidth => 1,
|
|
||||||
:traceorder => "normal",
|
|
||||||
:xanchor => legend_position.xanchor,
|
|
||||||
:yanchor => legend_position.yanchor,
|
|
||||||
:font => plotly_font(legendfont(sp)),
|
|
||||||
:tracegroupgap => 0,
|
|
||||||
:x => legend_position.coords[1],
|
|
||||||
:y => legend_position.coords[2]
|
|
||||||
)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function plotly_legend_pos(pos::Symbol)
|
|
||||||
xleft = 0.07
|
|
||||||
ybot = 0.07
|
|
||||||
ytop = 1.0
|
|
||||||
xcenter = 0.55
|
|
||||||
ycenter = 0.52
|
|
||||||
center = 0.5
|
|
||||||
youtertop = 1.1
|
|
||||||
youterbot = -0.15
|
|
||||||
xouterright = 1.05
|
|
||||||
xouterleft = -0.15
|
|
||||||
plotly_legend_position_mapping = (
|
|
||||||
right = (coords = [1.0, ycenter], xanchor = "right", yanchor = "middle"),
|
|
||||||
left = (coords = [xleft, ycenter], xanchor = "left", yanchor = "middle"),
|
|
||||||
top = (coords = [xcenter, ytop], xanchor = "center", yanchor = "top"),
|
|
||||||
bottom = (coords = [xcenter, ybot], xanchor = "center", yanchor = "bottom"),
|
|
||||||
bottomleft = (coords = [xleft, ybot], xanchor = "left", yanchor = "bottom"),
|
|
||||||
bottomright = (coords = [1.0, ybot], xanchor = "right", yanchor = "bottom"),
|
|
||||||
topright = (coords = [1.0, 1.0], xanchor = "right", yanchor = "top"),
|
|
||||||
topleft = (coords = [xleft, 1.0], xanchor = "left", yanchor = "top"),
|
|
||||||
outertop =(coords = [center, youtertop ], xanchor = "upper", yanchor = "middle"),
|
|
||||||
outerbottom =(coords = [center, youterbot], xanchor = "lower", yanchor = "middle"),
|
|
||||||
outerleft =(coords = [xouterleft, center], xanchor = "left", yanchor = "top"),
|
|
||||||
outerright =(coords = [xouterright, center], xanchor = "right", yanchor = "top"),
|
|
||||||
outertopleft =(coords = [xouterleft, ytop], xanchor = "upper", yanchor = "left"),
|
|
||||||
outertopright = (coords = [xouterright, ytop], xanchor = "upper", yanchor = "right"),
|
|
||||||
outerbottomleft =(coords = [xouterleft, ybot], xanchor = "lower", yanchor = "left"),
|
|
||||||
outerbottomright =(coords = [xouterright, ybot], xanchor = "lower", yanchor = "right"),
|
|
||||||
default = (coords = [1.0, 1.0], xanchor = "auto", yanchor = "auto")
|
|
||||||
)
|
|
||||||
|
|
||||||
legend_position = get(plotly_legend_position_mapping, pos, plotly_legend_position_mapping.default)
|
|
||||||
end
|
|
||||||
|
|
||||||
plotly_legend_pos(v::Tuple{S,T}) where {S<:Real, T<:Real} = (coords=v, xanchor="left", yanchor="top")
|
|
||||||
|
|
||||||
|
|
||||||
function plotly_layout_json(plt::Plot)
|
function plotly_layout_json(plt::Plot)
|
||||||
JSON.json(plotly_layout(plt), 4)
|
JSON.json(plotly_layout(plt), 4)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
plotly_colorscale(cg::ColorGradient, α = nothing) =
|
function plotly_colorscale(grad::ColorGradient, α)
|
||||||
[[v, rgba_string(plot_color(cg.colors[v], α))] for v in cg.values]
|
[[grad.values[i], rgba_string(plot_color(grad.colors[i], α))] for i in 1:length(grad.colors)]
|
||||||
function plotly_colorscale(c::AbstractVector{<:Colorant}, α = nothing)
|
end
|
||||||
|
plotly_colorscale(c::Colorant,α) = plotly_colorscale(_as_gradient(c),α)
|
||||||
|
function plotly_colorscale(c::AbstractVector{<:RGBA}, α)
|
||||||
if length(c) == 1
|
if length(c) == 1
|
||||||
return [
|
return [[0.0, rgba_string(plot_color(c[1], α))], [1.0, rgba_string(plot_color(c[1], α))]]
|
||||||
[0.0, rgba_string(plot_color(c[1], α))],
|
|
||||||
[1.0, rgba_string(plot_color(c[1], α))],
|
|
||||||
]
|
|
||||||
else
|
else
|
||||||
vals = range(0.0, stop = 1.0, length = length(c))
|
vals = range(0.0, stop=1.0, length=length(c))
|
||||||
return [[vals[i], rgba_string(plot_color(c[i], α))] for i in eachindex(c)]
|
return [[vals[i], rgba_string(plot_color(c[i], α))] for i in eachindex(c)]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
function plotly_colorscale(cg::PlotUtils.CategoricalColorGradient, α = nothing)
|
# plotly_colorscale(c, alpha = nothing) = plotly_colorscale(cgrad(), alpha)
|
||||||
n = length(cg)
|
|
||||||
cinds = repeat(1:n, inner = 2)
|
|
||||||
vinds = vcat((i:(i + 1) for i in 1:n)...)
|
|
||||||
return [
|
|
||||||
[cg.values[vinds[i]], rgba_string(plot_color(color_list(cg)[cinds[i]], α))]
|
|
||||||
for i in eachindex(cinds)
|
|
||||||
]
|
|
||||||
end
|
|
||||||
plotly_colorscale(c, α = nothing) = plotly_colorscale(_as_gradient(c), α)
|
|
||||||
|
|
||||||
|
|
||||||
get_plotly_marker(k, def) = get(
|
const _plotly_markers = KW(
|
||||||
(
|
:rect => "square",
|
||||||
rect = "square",
|
:xcross => "x",
|
||||||
xcross = "x",
|
:x => "x",
|
||||||
x = "x",
|
:utriangle => "triangle-up",
|
||||||
utriangle = "triangle-up",
|
:dtriangle => "triangle-down",
|
||||||
dtriangle = "triangle-down",
|
:star5 => "star-triangle-up",
|
||||||
star5 = "star-triangle-up",
|
:vline => "line-ns",
|
||||||
vline = "line-ns",
|
:hline => "line-ew",
|
||||||
hline = "line-ew",
|
|
||||||
),
|
|
||||||
k,
|
|
||||||
def,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# find indicies of axes to which the supblot links to
|
# find indicies of axes to which the supblot links to
|
||||||
@@ -430,7 +393,7 @@ end
|
|||||||
# we split by NaNs and then construct/destruct the shapes to get the closed coords
|
# we split by NaNs and then construct/destruct the shapes to get the closed coords
|
||||||
function plotly_close_shapes(x, y)
|
function plotly_close_shapes(x, y)
|
||||||
xs, ys = nansplit(x), nansplit(y)
|
xs, ys = nansplit(x), nansplit(y)
|
||||||
for i=eachindex(xs)
|
for i=1:length(xs)
|
||||||
shape = Shape(xs[i], ys[i])
|
shape = Shape(xs[i], ys[i])
|
||||||
xs[i], ys[i] = coords(shape)
|
xs[i], ys[i] = coords(shape)
|
||||||
end
|
end
|
||||||
@@ -453,7 +416,6 @@ function plotly_data(series::Series, letter::Symbol, data)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
plotly_data(v) = v !== nothing ? collect(v) : v
|
plotly_data(v) = v !== nothing ? collect(v) : v
|
||||||
plotly_data(v::AbstractArray) = v
|
|
||||||
plotly_data(surf::Surface) = surf.surf
|
plotly_data(surf::Surface) = surf.surf
|
||||||
plotly_data(v::AbstractArray{R}) where {R<:Rational} = float(v)
|
plotly_data(v::AbstractArray{R}) where {R<:Rational} = float(v)
|
||||||
|
|
||||||
@@ -492,7 +454,7 @@ function plotly_series(plt::Plot, series::Series)
|
|||||||
st = series[:seriestype]
|
st = series[:seriestype]
|
||||||
|
|
||||||
sp = series[:subplot]
|
sp = series[:subplot]
|
||||||
clims = get_clims(sp, series)
|
clims = get_clims(sp)
|
||||||
|
|
||||||
if st == :shape
|
if st == :shape
|
||||||
return plotly_series_shapes(plt, series, clims)
|
return plotly_series_shapes(plt, series, clims)
|
||||||
@@ -507,7 +469,7 @@ function plotly_series(plt::Plot, series::Series)
|
|||||||
plotattributes_out[:showlegend] = should_add_to_legend(series)
|
plotattributes_out[:showlegend] = should_add_to_legend(series)
|
||||||
|
|
||||||
if st == :straightline
|
if st == :straightline
|
||||||
x, y = straightline_data(series, 100)
|
x, y = straightline_data(series)
|
||||||
z = series[:z]
|
z = series[:z]
|
||||||
else
|
else
|
||||||
x, y, z = series[:x], series[:y], series[:z]
|
x, y, z = series[:x], series[:y], series[:z]
|
||||||
@@ -573,6 +535,12 @@ function plotly_series(plt::Plot, series::Series)
|
|||||||
plotattributes_out[:showscale] = hascolorbar(sp)
|
plotattributes_out[:showscale] = hascolorbar(sp)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
elseif st == :pie
|
||||||
|
plotattributes_out[:type] = "pie"
|
||||||
|
plotattributes_out[:labels] = pie_labels(sp, series)
|
||||||
|
plotattributes_out[:values] = y
|
||||||
|
plotattributes_out[:hoverinfo] = "label+percent+name"
|
||||||
|
|
||||||
else
|
else
|
||||||
@warn("Plotly: seriestype $st isn't supported.")
|
@warn("Plotly: seriestype $st isn't supported.")
|
||||||
return KW()
|
return KW()
|
||||||
@@ -582,7 +550,7 @@ function plotly_series(plt::Plot, series::Series)
|
|||||||
if hasmarker
|
if hasmarker
|
||||||
inds = eachindex(x)
|
inds = eachindex(x)
|
||||||
plotattributes_out[:marker] = KW(
|
plotattributes_out[:marker] = KW(
|
||||||
:symbol => get_plotly_marker(series[:markershape], string(series[:markershape])),
|
:symbol => get(_plotly_markers, series[:markershape], string(series[:markershape])),
|
||||||
# :opacity => series[:markeralpha],
|
# :opacity => series[:markeralpha],
|
||||||
:size => 2 * _cycle(series[:markersize], inds),
|
:size => 2 * _cycle(series[:markersize], inds),
|
||||||
:color => rgba_string.(plot_color.(get_markercolor.(series, inds), get_markeralpha.(series, inds))),
|
:color => rgba_string.(plot_color.(get_markercolor.(series, inds), get_markeralpha.(series, inds))),
|
||||||
@@ -616,7 +584,7 @@ function plotly_series_shapes(plt::Plot, series::Series, clims)
|
|||||||
)
|
)
|
||||||
|
|
||||||
x, y = (plotly_data(series, letter, data)
|
x, y = (plotly_data(series, letter, data)
|
||||||
for (letter, data) in zip((:x, :y), shape_data(series, 100))
|
for (letter, data) in zip((:x, :y), shape_data(series))
|
||||||
)
|
)
|
||||||
|
|
||||||
for (i,rng) in enumerate(segments)
|
for (i,rng) in enumerate(segments)
|
||||||
@@ -702,7 +670,7 @@ function plotly_series_segments(series::Series, plotattributes_base::KW, x, y, z
|
|||||||
# add "marker"
|
# add "marker"
|
||||||
if hasmarker
|
if hasmarker
|
||||||
plotattributes_out[:marker] = KW(
|
plotattributes_out[:marker] = KW(
|
||||||
:symbol => get_plotly_marker(_cycle(series[:markershape], i), string(_cycle(series[:markershape], i))),
|
:symbol => get(_plotly_markers, _cycle(series[:markershape], i), string(_cycle(series[:markershape], i))),
|
||||||
# :opacity => series[:markeralpha],
|
# :opacity => series[:markeralpha],
|
||||||
:size => 2 * _cycle(series[:markersize], i),
|
:size => 2 * _cycle(series[:markersize], i),
|
||||||
:color => rgba_string(plot_color(get_markercolor(series, clims, i), get_markeralpha(series, i))),
|
:color => rgba_string(plot_color(get_markercolor(series, clims, i), get_markeralpha(series, i))),
|
||||||
@@ -780,11 +748,11 @@ function plotly_colorbar_hack(series::Series, plotattributes_base::KW, sym::Symb
|
|||||||
plotattributes_out = deepcopy(plotattributes_base)
|
plotattributes_out = deepcopy(plotattributes_base)
|
||||||
cmin, cmax = get_clims(series[:subplot])
|
cmin, cmax = get_clims(series[:subplot])
|
||||||
plotattributes_out[:showlegend] = false
|
plotattributes_out[:showlegend] = false
|
||||||
plotattributes_out[:type] = RecipesPipeline.is3d(series) ? :scatter3d : :scatter
|
plotattributes_out[:type] = is3d(series) ? :scatter3d : :scatter
|
||||||
plotattributes_out[:hoverinfo] = :none
|
plotattributes_out[:hoverinfo] = :none
|
||||||
plotattributes_out[:mode] = :markers
|
plotattributes_out[:mode] = :markers
|
||||||
plotattributes_out[:x], plotattributes_out[:y] = [series[:x][1]], [series[:y][1]]
|
plotattributes_out[:x], plotattributes_out[:y] = [series[:x][1]], [series[:y][1]]
|
||||||
if RecipesPipeline.is3d(series)
|
if is3d(series)
|
||||||
plotattributes_out[:z] = [series[:z][1]]
|
plotattributes_out[:z] = [series[:z][1]]
|
||||||
end
|
end
|
||||||
# zrange = zmax == zmin ? 1 : zmax - zmin # if all marker_z values are the same, plot all markers same color (avoids division by zero in next line)
|
# zrange = zmax == zmin ? 1 : zmax - zmin # if all marker_z values are the same, plot all markers same color (avoids division by zero in next line)
|
||||||
@@ -812,9 +780,9 @@ end
|
|||||||
|
|
||||||
function plotly_hover!(plotattributes_out::KW, hover)
|
function plotly_hover!(plotattributes_out::KW, hover)
|
||||||
# hover text
|
# hover text
|
||||||
if hover === nothing || all(in([:none, false]), hover)
|
if hover in (:none, false)
|
||||||
plotattributes_out[:hoverinfo] = "none"
|
plotattributes_out[:hoverinfo] = "none"
|
||||||
elseif any(!isnothing, hover)
|
elseif hover !== nothing
|
||||||
plotattributes_out[:hoverinfo] = "text"
|
plotattributes_out[:hoverinfo] = "text"
|
||||||
plotattributes_out[:text] = hover
|
plotattributes_out[:text] = hover
|
||||||
end
|
end
|
||||||
@@ -840,14 +808,8 @@ html_body(plt::Plot{PlotlyBackend}) = plotly_html_body(plt)
|
|||||||
const ijulia_initialized = Ref(false)
|
const ijulia_initialized = Ref(false)
|
||||||
|
|
||||||
function plotly_html_head(plt::Plot)
|
function plotly_html_head(plt::Plot)
|
||||||
local_file = ("file:///" * plotly_local_file_path)
|
local_file = ("file://" * plotly_local_file_path)
|
||||||
plotly =
|
plotly = use_local_dependencies[] ? local_file : plotly_remote_file_path
|
||||||
use_local_dependencies[] ? local_file : "https://cdn.plot.ly/plotly-1.54.2.min.js"
|
|
||||||
|
|
||||||
include_mathjax = get(plt[:extra_plot_kwargs], :include_mathjax, "")
|
|
||||||
mathjax_file = include_mathjax != "cdn" ? ("file://" * include_mathjax) : "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML"
|
|
||||||
mathjax_head = include_mathjax == "" ? "" : "<script src=\"$mathjax_file\"></script>\n\t\t"
|
|
||||||
|
|
||||||
if isijulia() && !ijulia_initialized[]
|
if isijulia() && !ijulia_initialized[]
|
||||||
# using requirejs seems to be key to load a js depency in IJulia!
|
# using requirejs seems to be key to load a js depency in IJulia!
|
||||||
# https://requirejs.org/docs/start.html
|
# https://requirejs.org/docs/start.html
|
||||||
@@ -861,7 +823,7 @@ function plotly_html_head(plt::Plot)
|
|||||||
""")
|
""")
|
||||||
ijulia_initialized[] = true
|
ijulia_initialized[] = true
|
||||||
end
|
end
|
||||||
return "$mathjax_head<script src=$(repr(plotly))></script>"
|
return "<script src=$(repr(plotly))></script>"
|
||||||
end
|
end
|
||||||
|
|
||||||
function plotly_html_body(plt, style = nothing)
|
function plotly_html_body(plt, style = nothing)
|
||||||
@@ -898,8 +860,6 @@ end
|
|||||||
|
|
||||||
# ----------------------------------------------------------------
|
# ----------------------------------------------------------------
|
||||||
|
|
||||||
Base.showable(::MIME"application/prs.juno.plotpane+html", plt::Plot{PlotlyBackend}) = true
|
|
||||||
|
|
||||||
function _show(io::IO, ::MIME"application/vnd.plotly.v1+json", plot::Plot{PlotlyBackend})
|
function _show(io::IO, ::MIME"application/vnd.plotly.v1+json", plot::Plot{PlotlyBackend})
|
||||||
plotly_show_js(io, plot)
|
plotly_show_js(io, plot)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -19,12 +19,14 @@ end
|
|||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
for (mime, fmt) in (
|
const _plotlyjs_mimeformats = Dict(
|
||||||
"application/pdf" => "pdf",
|
"application/pdf" => "pdf",
|
||||||
"image/png" => "png",
|
"image/png" => "png",
|
||||||
"image/svg+xml" => "svg",
|
"image/svg+xml" => "svg",
|
||||||
"image/eps" => "eps",
|
"image/eps" => "eps",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
for (mime, fmt) in _plotlyjs_mimeformats
|
||||||
@eval _show(io::IO, ::MIME{Symbol($mime)}, plt::Plot{PlotlyJSBackend}) = PlotlyJS.savefig(io, plotlyjs_syncplot(plt), format = $fmt)
|
@eval _show(io::IO, ::MIME{Symbol($mime)}, plt::Plot{PlotlyJSBackend}) = PlotlyJS.savefig(io, plotlyjs_syncplot(plt), format = $fmt)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -38,9 +40,11 @@ _show(io::IO, ::MIME"text/html", plt::Plot{PlotlyJSBackend}) = write(io, standal
|
|||||||
|
|
||||||
_display(plt::Plot{PlotlyJSBackend}) = display(plotlyjs_syncplot(plt))
|
_display(plt::Plot{PlotlyJSBackend}) = display(plotlyjs_syncplot(plt))
|
||||||
|
|
||||||
function PlotlyJS.WebIO.render(plt::Plot{PlotlyJSBackend})
|
@require WebIO = "0f1e0344-ec1d-5b48-a673-e5cf874b6c29" begin
|
||||||
plt_html = sprint(show, MIME("text/html"), plt)
|
function WebIO.render(plt::Plot{PlotlyJSBackend})
|
||||||
return PlotlyJS.WebIO.render(PlotlyJS.WebIO.dom"div"(innerHTML=plt_html))
|
prepare_output(plt)
|
||||||
|
WebIO.render(plt.o)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function closeall(::PlotlyJSBackend)
|
function closeall(::PlotlyJSBackend)
|
||||||
@@ -48,5 +52,3 @@ function closeall(::PlotlyJSBackend)
|
|||||||
close(current().o)
|
close(current().o)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
Base.showable(::MIME"application/prs.juno.plotpane+html", plt::Plot{PlotlyJSBackend}) = true
|
|
||||||
|
|||||||
+180
-244
@@ -1,3 +1,6 @@
|
|||||||
|
# Do "using PyPlot: PyCall, LaTeXStrings" without dependency warning:
|
||||||
|
const PyCall = PyPlot.PyCall
|
||||||
|
const LaTeXStrings = PyPlot.LaTeXStrings
|
||||||
|
|
||||||
# https://github.com/stevengj/PyPlot.jl
|
# https://github.com/stevengj/PyPlot.jl
|
||||||
|
|
||||||
@@ -13,7 +16,6 @@ append!(Base.Multimedia.displays, otherdisplays)
|
|||||||
pycolors = PyPlot.pyimport("matplotlib.colors")
|
pycolors = PyPlot.pyimport("matplotlib.colors")
|
||||||
pypath = PyPlot.pyimport("matplotlib.path")
|
pypath = PyPlot.pyimport("matplotlib.path")
|
||||||
mplot3d = PyPlot.pyimport("mpl_toolkits.mplot3d")
|
mplot3d = PyPlot.pyimport("mpl_toolkits.mplot3d")
|
||||||
axes_grid1 = PyPlot.pyimport("mpl_toolkits.axes_grid1")
|
|
||||||
pypatches = PyPlot.pyimport("matplotlib.patches")
|
pypatches = PyPlot.pyimport("matplotlib.patches")
|
||||||
pyfont = PyPlot.pyimport("matplotlib.font_manager")
|
pyfont = PyPlot.pyimport("matplotlib.font_manager")
|
||||||
pyticker = PyPlot.pyimport("matplotlib.ticker")
|
pyticker = PyPlot.pyimport("matplotlib.ticker")
|
||||||
@@ -33,7 +35,7 @@ else
|
|||||||
end
|
end
|
||||||
|
|
||||||
# PyCall API changes in v1.90.0
|
# PyCall API changes in v1.90.0
|
||||||
if !isdefined(PyPlot.PyCall, :_setproperty!)
|
if !isdefined(PyCall, :_setproperty!)
|
||||||
@warn "Plots no longer supports PyCall < 1.90.0 and PyPlot < 2.8.0. Either update PyCall and PyPlot or pin Plots to a version <= 0.23.2."
|
@warn "Plots no longer supports PyCall < 1.90.0 and PyPlot < 2.8.0. Either update PyCall and PyPlot or pin Plots to a version <= 0.23.2."
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -62,23 +64,16 @@ end
|
|||||||
py_color(s) = py_color(parse(Colorant, string(s)))
|
py_color(s) = py_color(parse(Colorant, string(s)))
|
||||||
py_color(c::Colorant) = (red(c), green(c), blue(c), alpha(c))
|
py_color(c::Colorant) = (red(c), green(c), blue(c), alpha(c))
|
||||||
py_color(cs::AVec) = map(py_color, cs)
|
py_color(cs::AVec) = map(py_color, cs)
|
||||||
py_color(grad::PlotUtils.AbstractColorList) = py_color(color_list(grad))
|
py_color(grad::ColorGradient) = py_color(grad.colors)
|
||||||
py_color(c::Colorant, α) = py_color(plot_color(c, α))
|
py_color(c::Colorant, α) = py_color(plot_color(c, α))
|
||||||
|
|
||||||
function py_colormap(cg::ColorGradient)
|
function py_colormap(grad::ColorGradient)
|
||||||
pyvals = collect(zip(cg.values, py_color(PlotUtils.color_list(cg))))
|
pyvals = [(z, py_color(grad[z])) for z in grad.values]
|
||||||
cm = pycolors."LinearSegmentedColormap"."from_list"("tmp", pyvals)
|
cm = pycolors."LinearSegmentedColormap"."from_list"("tmp", pyvals)
|
||||||
cm."set_bad"(color=(0,0,0,0.0), alpha=0.0)
|
cm."set_bad"(color=(0,0,0,0.0), alpha=0.0)
|
||||||
cm
|
cm
|
||||||
end
|
end
|
||||||
function py_colormap(cg::PlotUtils.CategoricalColorGradient)
|
py_colormap(c::Colorant) = py_colormap(_as_gradient(c))
|
||||||
r = range(0, stop = 1, length = 256)
|
|
||||||
pyvals = collect(zip(r, py_color(cg[r])))
|
|
||||||
cm = pycolors."LinearSegmentedColormap"."from_list"("tmp", pyvals)
|
|
||||||
cm."set_bad"(color=(0,0,0,0.0), alpha=0.0)
|
|
||||||
cm
|
|
||||||
end
|
|
||||||
py_colormap(c) = py_colormap(_as_gradient(c))
|
|
||||||
|
|
||||||
|
|
||||||
function py_shading(c, z)
|
function py_shading(c, z)
|
||||||
@@ -110,6 +105,32 @@ function py_marker(marker::Shape)
|
|||||||
pypath."Path"(mat)
|
pypath."Path"(mat)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
const _path_MOVETO = UInt8(1)
|
||||||
|
const _path_LINETO = UInt8(2)
|
||||||
|
const _path_CLOSEPOLY = UInt8(79)
|
||||||
|
|
||||||
|
# # see http://matplotlib.org/users/path_tutorial.html
|
||||||
|
# # and http://matplotlib.org/api/path_api.html#matplotlib.path.Path
|
||||||
|
# function py_path(x, y)
|
||||||
|
# n = length(x)
|
||||||
|
# mat = zeros(n+1, 2)
|
||||||
|
# codes = zeros(UInt8, n+1)
|
||||||
|
# lastnan = true
|
||||||
|
# for i=1:n
|
||||||
|
# mat[i,1] = x[i]
|
||||||
|
# mat[i,2] = y[i]
|
||||||
|
# nan = !ok(x[i], y[i])
|
||||||
|
# codes[i] = if nan && i>1
|
||||||
|
# _path_CLOSEPOLY
|
||||||
|
# else
|
||||||
|
# lastnan ? _path_MOVETO : _path_LINETO
|
||||||
|
# end
|
||||||
|
# lastnan = nan
|
||||||
|
# end
|
||||||
|
# codes[n+1] = _path_CLOSEPOLY
|
||||||
|
# pypath["Path"](mat, codes)
|
||||||
|
# end
|
||||||
|
|
||||||
# get the marker shape
|
# get the marker shape
|
||||||
function py_marker(marker::Symbol)
|
function py_marker(marker::Symbol)
|
||||||
marker == :none && return " "
|
marker == :none && return " "
|
||||||
@@ -166,7 +187,7 @@ end
|
|||||||
# end
|
# end
|
||||||
|
|
||||||
function get_locator_and_formatter(vals::AVec)
|
function get_locator_and_formatter(vals::AVec)
|
||||||
pyticker."FixedLocator"(eachindex(vals)), pyticker."FixedFormatter"(vals)
|
pyticker."FixedLocator"(1:length(vals)), pyticker."FixedFormatter"(vals)
|
||||||
end
|
end
|
||||||
|
|
||||||
function add_pyfixedformatter(cbar, vals::AVec)
|
function add_pyfixedformatter(cbar, vals::AVec)
|
||||||
@@ -176,19 +197,19 @@ end
|
|||||||
|
|
||||||
function labelfunc(scale::Symbol, backend::PyPlotBackend)
|
function labelfunc(scale::Symbol, backend::PyPlotBackend)
|
||||||
if scale == :log10
|
if scale == :log10
|
||||||
x -> PyPlot.LaTeXStrings.latexstring("10^{$x}")
|
x -> LaTeXStrings.latexstring("10^{$x}")
|
||||||
elseif scale == :log2
|
elseif scale == :log2
|
||||||
x -> PyPlot.LaTeXStrings.latexstring("2^{$x}")
|
x -> LaTeXStrings.latexstring("2^{$x}")
|
||||||
elseif scale == :ln
|
elseif scale == :ln
|
||||||
x -> PyPlot.LaTeXStrings.latexstring("e^{$x}")
|
x -> LaTeXStrings.latexstring("e^{$x}")
|
||||||
else
|
else
|
||||||
x -> PyPlot.LaTeXStrings.latexstring(convert_sci_unicode(x))
|
string
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function py_mask_nans(z)
|
function py_mask_nans(z)
|
||||||
# pynp["ma"][:masked_invalid](z)))
|
# pynp["ma"][:masked_invalid](z)))
|
||||||
PyPlot.PyCall.pycall(pynp."ma"."masked_invalid", Any, z)
|
PyCall.pycall(pynp."ma"."masked_invalid", Any, z)
|
||||||
# pynp["ma"][:masked_where](pynp["isnan"](z),z)
|
# pynp["ma"][:masked_where](pynp["isnan"](z),z)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -208,6 +229,11 @@ function fix_xy_lengths!(plt::Plot{PyPlotBackend}, series::Series)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
py_linecolor(series::Series) = py_color(series[:linecolor])
|
||||||
|
py_markercolor(series::Series) = py_color(series[:markercolor])
|
||||||
|
py_markerstrokecolor(series::Series) = py_color(series[:markerstrokecolor])
|
||||||
|
py_fillcolor(series::Series) = py_color(series[:fillcolor])
|
||||||
|
|
||||||
py_linecolormap(series::Series) = py_colormap(series[:linecolor])
|
py_linecolormap(series::Series) = py_colormap(series[:linecolor])
|
||||||
py_markercolormap(series::Series) = py_colormap(series[:markercolor])
|
py_markercolormap(series::Series) = py_colormap(series[:markercolor])
|
||||||
py_fillcolormap(series::Series) = py_colormap(series[:fillcolor])
|
py_fillcolormap(series::Series) = py_colormap(series[:fillcolor])
|
||||||
@@ -373,7 +399,7 @@ function py_add_series(plt::Plot{PyPlotBackend}, series::Series)
|
|||||||
|
|
||||||
# handle zcolor and get c/cmap
|
# handle zcolor and get c/cmap
|
||||||
needs_colorbar = hascolorbar(sp)
|
needs_colorbar = hascolorbar(sp)
|
||||||
vmin, vmax = clims = get_clims(sp, series)
|
vmin, vmax = clims = get_clims(sp)
|
||||||
|
|
||||||
# Dict to store extra kwargs
|
# Dict to store extra kwargs
|
||||||
if st == :wireframe
|
if st == :wireframe
|
||||||
@@ -422,7 +448,7 @@ function py_add_series(plt::Plot{PyPlotBackend}, series::Series)
|
|||||||
# :norm => pycolors["Normalize"](; extrakw...)
|
# :norm => pycolors["Normalize"](; extrakw...)
|
||||||
# )
|
# )
|
||||||
# lz = _cycle(series[:line_z], 1:n)
|
# lz = _cycle(series[:line_z], 1:n)
|
||||||
# handle = if RecipesPipeline.is3d(st)
|
# handle = if is3d(st)
|
||||||
# line_segments = [[(x[j], y[j], z[j]) for j in rng] for rng in segments]
|
# line_segments = [[(x[j], y[j], z[j]) for j in rng] for rng in segments]
|
||||||
# lc = pyart3d["Line3DCollection"](line_segments; kw...)
|
# lc = pyart3d["Line3DCollection"](line_segments; kw...)
|
||||||
# lc[:set_array](lz)
|
# lc[:set_array](lz)
|
||||||
@@ -437,23 +463,22 @@ function py_add_series(plt::Plot{PyPlotBackend}, series::Series)
|
|||||||
# end
|
# end
|
||||||
# push!(handles, handle)
|
# push!(handles, handle)
|
||||||
# else
|
# else
|
||||||
for (i, rng) in enumerate(iter_segments(series))
|
for (i, rng) in enumerate(iter_segments(series))
|
||||||
handle = ax."plot"((arg[rng] for arg in xyargs)...;
|
handle = ax."plot"((arg[rng] for arg in xyargs)...;
|
||||||
label = i == 1 ? series[:label] : "",
|
label = i == 1 ? series[:label] : "",
|
||||||
zorder = series[:series_plotindex],
|
zorder = series[:series_plotindex],
|
||||||
color = py_color(single_color(get_linecolor(series, clims, i)), get_linealpha(series, i)),
|
color = py_color(single_color(get_linecolor(series, clims, i)), get_linealpha(series, i)),
|
||||||
linewidth = py_thickness_scale(plt, get_linewidth(series, i)),
|
linewidth = py_thickness_scale(plt, get_linewidth(series, i)),
|
||||||
linestyle = py_linestyle(st, get_linestyle(series, i)),
|
linestyle = py_linestyle(st, get_linestyle(series, i)),
|
||||||
solid_capstyle = "butt",
|
solid_capstyle = "round",
|
||||||
dash_capstyle = "butt",
|
drawstyle = py_stepstyle(st)
|
||||||
drawstyle = py_stepstyle(st)
|
)[1]
|
||||||
)[1]
|
push!(handles, handle)
|
||||||
push!(handles, handle)
|
end
|
||||||
end
|
|
||||||
# end
|
# end
|
||||||
|
|
||||||
a = series[:arrow]
|
a = series[:arrow]
|
||||||
if a !== nothing && !RecipesPipeline.is3d(st) # TODO: handle 3d later
|
if a !== nothing && !is3d(st) # TODO: handle 3d later
|
||||||
if typeof(a) != Arrow
|
if typeof(a) != Arrow
|
||||||
@warn("Unexpected type for arrow: $(typeof(a))")
|
@warn("Unexpected type for arrow: $(typeof(a))")
|
||||||
else
|
else
|
||||||
@@ -461,8 +486,8 @@ function py_add_series(plt::Plot{PyPlotBackend}, series::Series)
|
|||||||
:arrowstyle => "simple,head_length=$(a.headlength),head_width=$(a.headwidth)",
|
:arrowstyle => "simple,head_length=$(a.headlength),head_width=$(a.headwidth)",
|
||||||
:shrinkA => 0,
|
:shrinkA => 0,
|
||||||
:shrinkB => 0,
|
:shrinkB => 0,
|
||||||
:edgecolor => py_color(get_linecolor(series)),
|
:edgecolor => py_linecolor(series),
|
||||||
:facecolor => py_color(get_linecolor(series)),
|
:facecolor => py_linecolor(series),
|
||||||
:linewidth => py_thickness_scale(plt, get_linewidth(series)),
|
:linewidth => py_thickness_scale(plt, get_linewidth(series)),
|
||||||
:linestyle => py_linestyle(st, get_linestyle(series)),
|
:linestyle => py_linestyle(st, get_linestyle(series)),
|
||||||
)
|
)
|
||||||
@@ -508,19 +533,16 @@ function py_add_series(plt::Plot{PyPlotBackend}, series::Series)
|
|||||||
handle = []
|
handle = []
|
||||||
x,y = xyargs
|
x,y = xyargs
|
||||||
shapes = series[:markershape]
|
shapes = series[:markershape]
|
||||||
msc = py_color(get_markerstrokecolor(series), get_markerstrokealpha(series))
|
msc = py_markerstrokecolor(series)
|
||||||
lw = py_thickness_scale(plt, series[:markerstrokewidth])
|
lw = py_thickness_scale(plt, series[:markerstrokewidth])
|
||||||
for i=eachindex(y)
|
for i=1:length(y)
|
||||||
if series[:marker_z] !== nothing
|
extrakw[:c] = _cycle(markercolor, i)
|
||||||
extrakw[:c] = [py_color(get_markercolor(series, i), get_markercoloralpha(series, i))]
|
|
||||||
end
|
|
||||||
|
|
||||||
push!(handle, ax."scatter"(_cycle(x,i), _cycle(y,i);
|
push!(handle, ax."scatter"(_cycle(x,i), _cycle(y,i);
|
||||||
label = series[:label],
|
label = series[:label],
|
||||||
zorder = series[:series_plotindex] + 0.5,
|
zorder = series[:series_plotindex] + 0.5,
|
||||||
marker = py_marker(_cycle(shapes,i)),
|
marker = py_marker(_cycle(shapes,i)),
|
||||||
s = py_thickness_scale(plt, _cycle(series[:markersize],i)).^ 2,
|
s = py_thickness_scale(plt, _cycle(series[:markersize],i) .^ 2),
|
||||||
facecolors = py_color(get_markercolor(series, i), get_markercoloralpha(series, i)),
|
|
||||||
edgecolors = msc,
|
edgecolors = msc,
|
||||||
linewidths = lw,
|
linewidths = lw,
|
||||||
extrakw...
|
extrakw...
|
||||||
@@ -542,7 +564,7 @@ function py_add_series(plt::Plot{PyPlotBackend}, series::Series)
|
|||||||
|
|
||||||
delete!(extrakw, :c)
|
delete!(extrakw, :c)
|
||||||
|
|
||||||
for i=eachindex(y)
|
for i=1:length(y)
|
||||||
cur_marker = py_marker(_cycle(shapes,i))
|
cur_marker = py_marker(_cycle(shapes,i))
|
||||||
|
|
||||||
if ( cur_marker == prev_marker )
|
if ( cur_marker == prev_marker )
|
||||||
@@ -550,7 +572,7 @@ function py_add_series(plt::Plot{PyPlotBackend}, series::Series)
|
|||||||
push!(cur_y_list, _cycle(y,i))
|
push!(cur_y_list, _cycle(y,i))
|
||||||
|
|
||||||
push!(cur_color_list, _cycle(markercolor, i))
|
push!(cur_color_list, _cycle(markercolor, i))
|
||||||
push!(cur_scale_list, py_thickness_scale(plt, _cycle(series[:markersize],i)).^ 2)
|
push!(cur_scale_list, py_thickness_scale(plt, _cycle(series[:markersize],i) .^ 2))
|
||||||
|
|
||||||
continue
|
continue
|
||||||
end
|
end
|
||||||
@@ -560,7 +582,7 @@ function py_add_series(plt::Plot{PyPlotBackend}, series::Series)
|
|||||||
zorder = series[:series_plotindex] + 0.5,
|
zorder = series[:series_plotindex] + 0.5,
|
||||||
marker = prev_marker,
|
marker = prev_marker,
|
||||||
s = cur_scale_list,
|
s = cur_scale_list,
|
||||||
edgecolors = py_color(get_markerstrokecolor(series), get_markerstrokealpha(series)),
|
edgecolors = py_markerstrokecolor(series),
|
||||||
linewidths = py_thickness_scale(plt, series[:markerstrokewidth]),
|
linewidths = py_thickness_scale(plt, series[:markerstrokewidth]),
|
||||||
facecolors = cur_color_list,
|
facecolors = cur_color_list,
|
||||||
extrakw...
|
extrakw...
|
||||||
@@ -570,7 +592,7 @@ function py_add_series(plt::Plot{PyPlotBackend}, series::Series)
|
|||||||
cur_y_list = [_cycle(y,i)]
|
cur_y_list = [_cycle(y,i)]
|
||||||
|
|
||||||
cur_color_list = [_cycle(markercolor, i)]
|
cur_color_list = [_cycle(markercolor, i)]
|
||||||
cur_scale_list = [py_thickness_scale(plt, _cycle(series[:markersize],i)) .^ 2]
|
cur_scale_list = [py_thickness_scale(plt, _cycle(series[:markersize],i) .^ 2)]
|
||||||
|
|
||||||
prev_marker = cur_marker
|
prev_marker = cur_marker
|
||||||
end
|
end
|
||||||
@@ -581,7 +603,7 @@ function py_add_series(plt::Plot{PyPlotBackend}, series::Series)
|
|||||||
zorder = series[:series_plotindex] + 0.5,
|
zorder = series[:series_plotindex] + 0.5,
|
||||||
marker = prev_marker,
|
marker = prev_marker,
|
||||||
s = cur_scale_list,
|
s = cur_scale_list,
|
||||||
edgecolors = py_color(get_markerstrokecolor(series), get_markerstrokealpha(series)),
|
edgecolors = py_markerstrokecolor(series),
|
||||||
linewidths = py_thickness_scale(plt, series[:markerstrokewidth]),
|
linewidths = py_thickness_scale(plt, series[:markerstrokewidth]),
|
||||||
facecolors = cur_color_list,
|
facecolors = cur_color_list,
|
||||||
extrakw...
|
extrakw...
|
||||||
@@ -591,18 +613,12 @@ function py_add_series(plt::Plot{PyPlotBackend}, series::Series)
|
|||||||
push!(handles, handle)
|
push!(handles, handle)
|
||||||
else
|
else
|
||||||
# do a normal scatter plot
|
# do a normal scatter plot
|
||||||
|
|
||||||
# Add depthshade option for 3d plots
|
|
||||||
if RecipesPipeline.is3d(sp)
|
|
||||||
extrakw[:depthshade] = get(series[:extra_kwargs], :depthshade, false)
|
|
||||||
end
|
|
||||||
|
|
||||||
handle = ax."scatter"(xyargs...;
|
handle = ax."scatter"(xyargs...;
|
||||||
label = series[:label],
|
label = series[:label],
|
||||||
zorder = series[:series_plotindex] + 0.5,
|
zorder = series[:series_plotindex] + 0.5,
|
||||||
marker = py_marker(series[:markershape]),
|
marker = py_marker(series[:markershape]),
|
||||||
s = py_thickness_scale(plt, series[:markersize]) .^2,
|
s = py_thickness_scale(plt, series[:markersize] .^ 2),
|
||||||
edgecolors = py_color(get_markerstrokecolor(series), get_markerstrokealpha(series)),
|
edgecolors = py_markerstrokecolor(series),
|
||||||
linewidths = py_thickness_scale(plt, series[:markerstrokewidth]),
|
linewidths = py_thickness_scale(plt, series[:markerstrokewidth]),
|
||||||
extrakw...
|
extrakw...
|
||||||
)
|
)
|
||||||
@@ -611,16 +627,14 @@ function py_add_series(plt::Plot{PyPlotBackend}, series::Series)
|
|||||||
end
|
end
|
||||||
|
|
||||||
if st == :hexbin
|
if st == :hexbin
|
||||||
handle = ax."hexbin"(x, y,
|
handle = ax."hexbin"(x, y;
|
||||||
label = series[:label],
|
label = series[:label],
|
||||||
C = series[:weights],
|
|
||||||
gridsize = series[:bins]==:auto ? 100 : series[:bins], # 100 is the default value
|
|
||||||
linewidths = py_thickness_scale(plt, series[:linewidth]),
|
|
||||||
edgecolors = py_color(get_linecolor(series)),
|
|
||||||
alpha = series[:fillalpha],
|
|
||||||
cmap = py_fillcolormap(series), # applies to the pcolorfast object
|
|
||||||
zorder = series[:series_plotindex],
|
zorder = series[:series_plotindex],
|
||||||
# extrakw... # We are not supporting clims for hexbin as calculation of bins is not trivial
|
gridsize = series[:bins],
|
||||||
|
linewidths = py_thickness_scale(plt, series[:linewidth]),
|
||||||
|
edgecolors = py_linecolor(series),
|
||||||
|
cmap = py_fillcolormap(series), # applies to the pcolorfast object
|
||||||
|
extrakw...
|
||||||
)
|
)
|
||||||
push!(handles, handle)
|
push!(handles, handle)
|
||||||
end
|
end
|
||||||
@@ -653,7 +667,7 @@ function py_add_series(plt::Plot{PyPlotBackend}, series::Series)
|
|||||||
extrakw...
|
extrakw...
|
||||||
)
|
)
|
||||||
if series[:contour_labels] == true
|
if series[:contour_labels] == true
|
||||||
ax."clabel"(handle, handle.levels)
|
PyPlot."clabel"(handle, handle.levels)
|
||||||
end
|
end
|
||||||
push!(handles, handle)
|
push!(handles, handle)
|
||||||
|
|
||||||
@@ -662,7 +676,6 @@ function py_add_series(plt::Plot{PyPlotBackend}, series::Series)
|
|||||||
handle = ax."contourf"(x, y, z, levelargs...;
|
handle = ax."contourf"(x, y, z, levelargs...;
|
||||||
label = series[:label],
|
label = series[:label],
|
||||||
zorder = series[:series_plotindex] + 0.5,
|
zorder = series[:series_plotindex] + 0.5,
|
||||||
alpha = series[:fillalpha],
|
|
||||||
extrakw...
|
extrakw...
|
||||||
)
|
)
|
||||||
push!(handles, handle)
|
push!(handles, handle)
|
||||||
@@ -692,7 +705,7 @@ function py_add_series(plt::Plot{PyPlotBackend}, series::Series)
|
|||||||
rstride = series[:stride][1],
|
rstride = series[:stride][1],
|
||||||
cstride = series[:stride][2],
|
cstride = series[:stride][2],
|
||||||
linewidth = py_thickness_scale(plt, series[:linewidth]),
|
linewidth = py_thickness_scale(plt, series[:linewidth]),
|
||||||
edgecolor = py_color(get_linecolor(series)),
|
edgecolor = py_linecolor(series),
|
||||||
extrakw...
|
extrakw...
|
||||||
)
|
)
|
||||||
push!(handles, handle)
|
push!(handles, handle)
|
||||||
@@ -718,7 +731,7 @@ function py_add_series(plt::Plot{PyPlotBackend}, series::Series)
|
|||||||
zorder = series[:series_plotindex],
|
zorder = series[:series_plotindex],
|
||||||
cmap = py_fillcolormap(series),
|
cmap = py_fillcolormap(series),
|
||||||
linewidth = py_thickness_scale(plt, series[:linewidth]),
|
linewidth = py_thickness_scale(plt, series[:linewidth]),
|
||||||
edgecolor = py_color(get_linecolor(series)),
|
edgecolor = py_linecolor(series),
|
||||||
extrakw...
|
extrakw...
|
||||||
)
|
)
|
||||||
push!(handles, handle)
|
push!(handles, handle)
|
||||||
@@ -740,10 +753,10 @@ function py_add_series(plt::Plot{PyPlotBackend}, series::Series)
|
|||||||
end
|
end
|
||||||
handle = ax."imshow"(z;
|
handle = ax."imshow"(z;
|
||||||
zorder = series[:series_plotindex],
|
zorder = series[:series_plotindex],
|
||||||
cmap = py_colormap(cgrad(plot_color([:black, :white]))),
|
cmap = py_colormap(cgrad([:black, :white])),
|
||||||
vmin = 0.0,
|
vmin = 0.0,
|
||||||
vmax = 1.0,
|
vmax = 1.0,
|
||||||
extent = (xmin-0.5, xmax+0.5, ymax+0.5, ymin-0.5)
|
extent = (xmin, xmax, ymax, ymin)
|
||||||
)
|
)
|
||||||
push!(handles, handle)
|
push!(handles, handle)
|
||||||
|
|
||||||
@@ -795,6 +808,21 @@ function py_add_series(plt::Plot{PyPlotBackend}, series::Series)
|
|||||||
push!(handles, handle)
|
push!(handles, handle)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if st == :pie
|
||||||
|
handle = ax."pie"(y;
|
||||||
|
# colors = # a vector of colors?
|
||||||
|
labels = pie_labels(sp, series)
|
||||||
|
)[1]
|
||||||
|
push!(handles, handle)
|
||||||
|
|
||||||
|
# # expand extrema... get list of Wedge objects
|
||||||
|
# for wedge in handle
|
||||||
|
# path = wedge[:get_path]()
|
||||||
|
# for
|
||||||
|
lim = 1.1
|
||||||
|
expand_extrema!(sp, -lim, lim, -lim, lim)
|
||||||
|
end
|
||||||
|
|
||||||
series[:serieshandle] = handles
|
series[:serieshandle] = handles
|
||||||
|
|
||||||
# # smoothing
|
# # smoothing
|
||||||
@@ -899,7 +927,7 @@ function py_set_scale(ax, sp::Subplot, axis::Axis)
|
|||||||
elseif scale == :log10
|
elseif scale == :log10
|
||||||
10
|
10
|
||||||
end
|
end
|
||||||
kw[Symbol(:linthresh,letter)] = NaNMath.max(1e-16, py_compute_axis_minval(sp, axis))
|
kw[Symbol(:linthresh,letter)] = NaNMath.min(1e-16, py_compute_axis_minval(sp, axis))
|
||||||
"symlog"
|
"symlog"
|
||||||
end
|
end
|
||||||
func(arg; kw...)
|
func(arg; kw...)
|
||||||
@@ -911,7 +939,7 @@ function py_set_axis_colors(sp, ax, a::Axis)
|
|||||||
spine."set_color"(py_color(a[:foreground_color_border]))
|
spine."set_color"(py_color(a[:foreground_color_border]))
|
||||||
end
|
end
|
||||||
axissym = Symbol(a[:letter], :axis)
|
axissym = Symbol(a[:letter], :axis)
|
||||||
if PyPlot.PyCall.hasproperty(ax, axissym)
|
if PyCall.hasproperty(ax, axissym)
|
||||||
tickcolor = sp[:framestyle] in (:zerolines, :grid) ? py_color(plot_color(a[:foreground_color_grid], a[:gridalpha])) : py_color(a[:foreground_color_axis])
|
tickcolor = sp[:framestyle] in (:zerolines, :grid) ? py_color(plot_color(a[:foreground_color_grid], a[:gridalpha])) : py_color(a[:foreground_color_axis])
|
||||||
ax."tick_params"(axis=string(a[:letter]), which="both",
|
ax."tick_params"(axis=string(a[:letter]), which="both",
|
||||||
colors=tickcolor,
|
colors=tickcolor,
|
||||||
@@ -961,7 +989,7 @@ function _before_layout_calcs(plt::Plot{PyPlotBackend})
|
|||||||
|
|
||||||
# title
|
# title
|
||||||
if sp[:title] != ""
|
if sp[:title] != ""
|
||||||
loc = lowercase(string(sp[:titlelocation]))
|
loc = lowercase(string(sp[:title_location]))
|
||||||
func = if loc == "left"
|
func = if loc == "left"
|
||||||
:_left_title
|
:_left_title
|
||||||
elseif loc == "right"
|
elseif loc == "right"
|
||||||
@@ -985,7 +1013,7 @@ function _before_layout_calcs(plt::Plot{PyPlotBackend})
|
|||||||
kw = KW()
|
kw = KW()
|
||||||
if !isempty(sp[:zaxis][:discrete_values]) && colorbar_series[:seriestype] == :heatmap
|
if !isempty(sp[:zaxis][:discrete_values]) && colorbar_series[:seriestype] == :heatmap
|
||||||
locator, formatter = get_locator_and_formatter(sp[:zaxis][:discrete_values])
|
locator, formatter = get_locator_and_formatter(sp[:zaxis][:discrete_values])
|
||||||
# kw[:values] = eachindex(sp[:zaxis][:discrete_values])
|
# kw[:values] = 1:length(sp[:zaxis][:discrete_values])
|
||||||
kw[:values] = sp[:zaxis][:continuous_values]
|
kw[:values] = sp[:zaxis][:continuous_values]
|
||||||
kw[:ticks] = locator
|
kw[:ticks] = locator
|
||||||
kw[:format] = formatter
|
kw[:format] = formatter
|
||||||
@@ -1006,53 +1034,12 @@ function _before_layout_calcs(plt::Plot{PyPlotBackend})
|
|||||||
end
|
end
|
||||||
kw[:spacing] = "proportional"
|
kw[:spacing] = "proportional"
|
||||||
|
|
||||||
|
# create and store the colorbar object (handle) and the axis that it is drawn on.
|
||||||
|
# note: the colorbar axis is positioned independently from the subplot axis
|
||||||
fig = plt.o
|
fig = plt.o
|
||||||
|
cbax = fig."add_axes"([0.8,0.1,0.03,0.8], label = string(gensym()))
|
||||||
if RecipesPipeline.is3d(sp)
|
cb = fig."colorbar"(handle; cax = cbax, kw...)
|
||||||
cbax = fig."add_axes"([0.9, 0.1, 0.03, 0.8])
|
|
||||||
cb = fig."colorbar"(handle; cax=cbax, kw...)
|
|
||||||
else
|
|
||||||
# divider approach works only with 2d plots
|
|
||||||
divider = axes_grid1.make_axes_locatable(ax)
|
|
||||||
# width = axes_grid1.axes_size.AxesY(ax, aspect=1.0 / 3.5)
|
|
||||||
# pad = axes_grid1.axes_size.Fraction(0.5, width) # Colorbar is spaced 0.5 of its size away from the ax
|
|
||||||
# cbax = divider.append_axes("right", size=width, pad=pad) # This approach does not work well in subplots
|
|
||||||
colorbar_position = "right"
|
|
||||||
colorbar_pad = "2.5%"
|
|
||||||
colorbar_orientation="vertical"
|
|
||||||
|
|
||||||
if sp[:colorbar] == :left
|
|
||||||
colorbar_position = string(sp[:colorbar])
|
|
||||||
colorbar_pad = "5%"
|
|
||||||
elseif sp[:colorbar] == :top
|
|
||||||
colorbar_position = string(sp[:colorbar])
|
|
||||||
colorbar_pad = "2.5%"
|
|
||||||
colorbar_orientation="horizontal"
|
|
||||||
elseif sp[:colorbar] == :bottom
|
|
||||||
colorbar_position = string(sp[:colorbar])
|
|
||||||
colorbar_pad = "5%"
|
|
||||||
colorbar_orientation="horizontal"
|
|
||||||
end
|
|
||||||
|
|
||||||
cbax = divider.append_axes(colorbar_position, size="5%", pad=colorbar_pad) # Reasonable value works most of the usecases
|
|
||||||
cb = fig."colorbar"(handle; cax=cbax, orientation = colorbar_orientation, kw...)
|
|
||||||
|
|
||||||
if sp[:colorbar] == :left
|
|
||||||
cbax.yaxis.set_ticks_position("left")
|
|
||||||
elseif sp[:colorbar] == :top
|
|
||||||
cbax.xaxis.set_ticks_position("top")
|
|
||||||
elseif sp[:colorbar] == :bottom
|
|
||||||
cbax.xaxis.set_ticks_position("bottom")
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
cb."set_label"(sp[:colorbar_title],size=py_thickness_scale(plt, sp[:yaxis][:guidefontsize]),family=sp[:yaxis][:guidefontfamily], color = py_color(sp[:yaxis][:guidefontcolor]))
|
cb."set_label"(sp[:colorbar_title],size=py_thickness_scale(plt, sp[:yaxis][:guidefontsize]),family=sp[:yaxis][:guidefontfamily], color = py_color(sp[:yaxis][:guidefontcolor]))
|
||||||
|
|
||||||
# cb."formatter".set_useOffset(false) # This for some reason does not work, must be a pyplot bug, instead this is a workaround:
|
|
||||||
cb."formatter".set_powerlimits((-Inf, Inf))
|
|
||||||
cb."update_ticks"()
|
|
||||||
|
|
||||||
for lab in cb."ax"."yaxis"."get_ticklabels"()
|
for lab in cb."ax"."yaxis"."get_ticklabels"()
|
||||||
lab."set_fontsize"(py_thickness_scale(plt, sp[:yaxis][:tickfontsize]))
|
lab."set_fontsize"(py_thickness_scale(plt, sp[:yaxis][:tickfontsize]))
|
||||||
lab."set_family"(sp[:yaxis][:tickfontfamily])
|
lab."set_family"(sp[:yaxis][:tickfontfamily])
|
||||||
@@ -1063,7 +1050,7 @@ function _before_layout_calcs(plt::Plot{PyPlotBackend})
|
|||||||
end
|
end
|
||||||
|
|
||||||
# framestyle
|
# framestyle
|
||||||
if !ispolar(sp) && !RecipesPipeline.is3d(sp)
|
if !ispolar(sp) && !is3d(sp)
|
||||||
ax.spines["left"]."set_linewidth"(py_thickness_scale(plt, 1))
|
ax.spines["left"]."set_linewidth"(py_thickness_scale(plt, 1))
|
||||||
ax.spines["bottom"]."set_linewidth"(py_thickness_scale(plt, 1))
|
ax.spines["bottom"]."set_linewidth"(py_thickness_scale(plt, 1))
|
||||||
if sp[:framestyle] == :semi
|
if sp[:framestyle] == :semi
|
||||||
@@ -1093,7 +1080,7 @@ function _before_layout_calcs(plt::Plot{PyPlotBackend})
|
|||||||
# axis attributes
|
# axis attributes
|
||||||
for letter in (:x, :y, :z)
|
for letter in (:x, :y, :z)
|
||||||
axissym = Symbol(letter, :axis)
|
axissym = Symbol(letter, :axis)
|
||||||
PyPlot.PyCall.hasproperty(ax, axissym) || continue
|
PyCall.hasproperty(ax, axissym) || continue
|
||||||
axis = sp[axissym]
|
axis = sp[axissym]
|
||||||
pyaxis = getproperty(ax, axissym)
|
pyaxis = getproperty(ax, axissym)
|
||||||
if axis[:mirror] && letter != :z
|
if axis[:mirror] && letter != :z
|
||||||
@@ -1116,27 +1103,13 @@ function _before_layout_calcs(plt::Plot{PyPlotBackend})
|
|||||||
ticks[2][ticks[1] .== 0] .= ""
|
ticks[2][ticks[1] .== 0] .= ""
|
||||||
end
|
end
|
||||||
axis[:ticks] != :native ? py_set_ticks(ax, ticks, letter) : nothing
|
axis[:ticks] != :native ? py_set_ticks(ax, ticks, letter) : nothing
|
||||||
|
pyaxis."set_tick_params"(direction = axis[:tick_direction] == :out ? "out" : "in")
|
||||||
intensity = 0.5 # This value corresponds to scaling of other grid elements
|
|
||||||
pyaxis."set_tick_params"(direction = axis[:tick_direction] == :out ? "out" : "in", width=py_thickness_scale(plt, intensity))
|
|
||||||
|
|
||||||
getproperty(ax, Symbol("set_", letter, "label"))(axis[:guide])
|
getproperty(ax, Symbol("set_", letter, "label"))(axis[:guide])
|
||||||
if get(axis.plotattributes, :flip, false)
|
if get(axis.plotattributes, :flip, false)
|
||||||
getproperty(ax, Symbol("invert_", letter, "axis"))()
|
getproperty(ax, Symbol("invert_", letter, "axis"))()
|
||||||
end
|
end
|
||||||
pyaxis."label"."set_fontsize"(py_thickness_scale(plt, axis[:guidefontsize]))
|
pyaxis."label"."set_fontsize"(py_thickness_scale(plt, axis[:guidefontsize]))
|
||||||
pyaxis."label"."set_family"(axis[:guidefontfamily])
|
pyaxis."label"."set_family"(axis[:guidefontfamily])
|
||||||
|
|
||||||
if (RecipesPipeline.is3d(sp))
|
|
||||||
pyaxis."set_rotate_label"(false)
|
|
||||||
end
|
|
||||||
|
|
||||||
if (letter == :y && !RecipesPipeline.is3d(sp))
|
|
||||||
pyaxis."label"."set_rotation"(axis[:guidefontrotation] + 90)
|
|
||||||
else
|
|
||||||
pyaxis."label"."set_rotation"(axis[:guidefontrotation])
|
|
||||||
end
|
|
||||||
|
|
||||||
for lab in getproperty(ax, Symbol("get_", letter, "ticklabels"))()
|
for lab in getproperty(ax, Symbol("get_", letter, "ticklabels"))()
|
||||||
lab."set_fontsize"(py_thickness_scale(plt, axis[:tickfontsize]))
|
lab."set_fontsize"(py_thickness_scale(plt, axis[:tickfontsize]))
|
||||||
lab."set_family"(axis[:tickfontfamily])
|
lab."set_family"(axis[:tickfontfamily])
|
||||||
@@ -1153,35 +1126,6 @@ function _before_layout_calcs(plt::Plot{PyPlotBackend})
|
|||||||
else
|
else
|
||||||
pyaxis."grid"(false)
|
pyaxis."grid"(false)
|
||||||
end
|
end
|
||||||
#
|
|
||||||
|
|
||||||
if axis[:minorticks] > 1
|
|
||||||
pyaxis."set_minor_locator"(PyPlot.matplotlib.ticker.AutoMinorLocator(axis[:minorticks]))
|
|
||||||
pyaxis."set_tick_params"(
|
|
||||||
which = "minor",
|
|
||||||
direction = axis[:tick_direction] == :out ? "out" : "in",
|
|
||||||
width=py_thickness_scale(plt, intensity))
|
|
||||||
end
|
|
||||||
|
|
||||||
if axis[:minorgrid]
|
|
||||||
if !(axis[:minorticks] > 1) # Check if ticks were already configured
|
|
||||||
ax."minorticks_on"()
|
|
||||||
end
|
|
||||||
pyaxis."set_tick_params"(
|
|
||||||
which = "minor",
|
|
||||||
direction = axis[:tick_direction] == :out ? "out" : "in",
|
|
||||||
width=py_thickness_scale(plt, intensity))
|
|
||||||
|
|
||||||
pyaxis."grid"(true,
|
|
||||||
which = "minor",
|
|
||||||
color = fgcolor,
|
|
||||||
linestyle = py_linestyle(:line, axis[:minorgridstyle]),
|
|
||||||
linewidth = py_thickness_scale(plt, axis[:minorgridlinewidth]),
|
|
||||||
alpha = axis[:minorgridalpha])
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
py_set_axis_colors(sp, ax, axis)
|
py_set_axis_colors(sp, ax, axis)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -1211,13 +1155,13 @@ function _before_layout_calcs(plt::Plot{PyPlotBackend})
|
|||||||
end
|
end
|
||||||
|
|
||||||
# aspect ratio
|
# aspect ratio
|
||||||
aratio = get_aspect_ratio(sp)
|
aratio = sp[:aspect_ratio]
|
||||||
if aratio != :none
|
if aratio != :none
|
||||||
ax."set_aspect"(isa(aratio, Symbol) ? string(aratio) : aratio, anchor = "C")
|
ax."set_aspect"(isa(aratio, Symbol) ? string(aratio) : aratio, anchor = "C")
|
||||||
end
|
end
|
||||||
|
|
||||||
#camera/view angle
|
#camera/view angle
|
||||||
if RecipesPipeline.is3d(sp)
|
if is3d(sp)
|
||||||
#convert azimuthal to match GR behaviour
|
#convert azimuthal to match GR behaviour
|
||||||
#view_init(elevation, azimuthal) so reverse :camera args
|
#view_init(elevation, azimuthal) so reverse :camera args
|
||||||
ax."view_init"((sp[:camera].-(90,0))[end:-1:1]...)
|
ax."view_init"((sp[:camera].-(90,0))[end:-1:1]...)
|
||||||
@@ -1264,7 +1208,7 @@ function _update_min_padding!(sp::Subplot{PyPlotBackend})
|
|||||||
# optionally add the width of colorbar labels and colorbar to rightpad
|
# optionally add the width of colorbar labels and colorbar to rightpad
|
||||||
if haskey(sp.attr, :cbar_ax)
|
if haskey(sp.attr, :cbar_ax)
|
||||||
bb = py_bbox(sp.attr[:cbar_handle]."ax"."get_yticklabels"())
|
bb = py_bbox(sp.attr[:cbar_handle]."ax"."get_yticklabels"())
|
||||||
sp.attr[:cbar_width] = width(bb) + (sp[:colorbar_title] == "" ? 0px : 30px)
|
sp.attr[:cbar_width] = _cbar_width + width(bb) + 2.3mm + (sp[:colorbar_title] == "" ? 0px : 30px)
|
||||||
rightpad = rightpad + sp.attr[:cbar_width]
|
rightpad = rightpad + sp.attr[:cbar_width]
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -1284,7 +1228,7 @@ end
|
|||||||
|
|
||||||
function py_add_annotations(sp::Subplot{PyPlotBackend}, x, y, val)
|
function py_add_annotations(sp::Subplot{PyPlotBackend}, x, y, val)
|
||||||
ax = sp.o
|
ax = sp.o
|
||||||
ax."annotate"(val, xy = (x,y), zorder = 999, annotation_clip = false)
|
ax."annotate"(val, xy = (x,y), zorder = 999)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@@ -1298,90 +1242,80 @@ function py_add_annotations(sp::Subplot{PyPlotBackend}, x, y, val::PlotText)
|
|||||||
verticalalignment = val.font.valign == :vcenter ? "center" : string(val.font.valign),
|
verticalalignment = val.font.valign == :vcenter ? "center" : string(val.font.valign),
|
||||||
rotation = val.font.rotation,
|
rotation = val.font.rotation,
|
||||||
size = py_thickness_scale(sp.plt, val.font.pointsize),
|
size = py_thickness_scale(sp.plt, val.font.pointsize),
|
||||||
zorder = 999,
|
zorder = 999
|
||||||
annotation_clip = false
|
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
# -----------------------------------------------------------------
|
# -----------------------------------------------------------------
|
||||||
|
|
||||||
py_legend_pos(pos::Symbol) = get(
|
const _pyplot_legend_pos = KW(
|
||||||
(
|
:right => "right",
|
||||||
right = "right",
|
:left => "center left",
|
||||||
left = "center left",
|
:top => "upper center",
|
||||||
top = "upper center",
|
:bottom => "lower center",
|
||||||
bottom = "lower center",
|
:bottomleft => "lower left",
|
||||||
bottomleft = "lower left",
|
:bottomright => "lower right",
|
||||||
bottomright = "lower right",
|
:topright => "upper right",
|
||||||
topright = "upper right",
|
:topleft => "upper left"
|
||||||
topleft = "upper left",
|
)
|
||||||
outerright = "center left",
|
|
||||||
outerleft = "right",
|
const _pyplot_legend_pos_outer = KW(
|
||||||
outertop = "lower center",
|
:outerright => "center left",
|
||||||
outerbottom = "upper center",
|
:outerleft => "right",
|
||||||
outerbottomleft = "lower right",
|
:outertop => "lower center",
|
||||||
outerbottomright = "lower left",
|
:outerbottom => "upper center",
|
||||||
outertopright = "upper left",
|
:outerbottomleft => "lower right",
|
||||||
outertopleft = "upper right",
|
:outerbottomright => "lower left",
|
||||||
),
|
:outertopright => "upper left",
|
||||||
pos,
|
:outertopleft => "upper right"
|
||||||
"best",
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
py_legend_pos(pos::Symbol) = get(_pyplot_legend_pos, pos, get(_pyplot_legend_pos_outer, pos, "best"))
|
||||||
py_legend_pos(pos) = "lower left"
|
py_legend_pos(pos) = "lower left"
|
||||||
|
|
||||||
py_legend_bbox(pos::Symbol) = get(
|
const _pyplot_legend_bbox_outer = KW(
|
||||||
(
|
:outerright => (1.0, 0.5, 0.0, 0.0),
|
||||||
outerright = (1.0, 0.5, 0.0, 0.0),
|
:outerleft => (-0.15, 0.5, 0.0, 0.0),
|
||||||
outerleft = (-0.15, 0.5, 0.0, 0.0),
|
:outertop => (0.5, 1.0, 0.0, 0.0),
|
||||||
outertop = (0.5, 1.0, 0.0, 0.0),
|
:outerbottom => (0.5, -0.15, 0.0, 0.0),
|
||||||
outerbottom = (0.5, -0.15, 0.0, 0.0),
|
:outerbottomleft => (-0.15, 0.0, 0.0, 0.0),
|
||||||
outerbottomleft = (-0.15, 0.0, 0.0, 0.0),
|
:outerbottomright => (1.0, 0.0, 0.0, 0.0),
|
||||||
outerbottomright = (1.0, 0.0, 0.0, 0.0),
|
:outertopright => (1.0, 1.0, 0.0, 0.0),
|
||||||
outertopright = (1.0, 1.0, 0.0, 0.0),
|
:outertopleft => (-0.15, 1.0, 0.0, 0.0)
|
||||||
outertopleft = (-0.15, 1.0, 0.0, 0.0),
|
|
||||||
),
|
|
||||||
pos,
|
|
||||||
(0.0, 0.0, 1.0, 1.0),
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
py_legend_bbox(pos::Symbol) = get(_pyplot_legend_bbox_outer, pos, (0.0, 0.0, 1.0, 1.0))
|
||||||
py_legend_bbox(pos) = pos
|
py_legend_bbox(pos) = pos
|
||||||
|
|
||||||
function py_add_legend(plt::Plot, sp::Subplot, ax)
|
function py_add_legend(plt::Plot, sp::Subplot, ax)
|
||||||
leg = sp[:legend]
|
leg = sp[:legend]
|
||||||
|
clims = get_clims(sp)
|
||||||
if leg != :none
|
if leg != :none
|
||||||
# gotta do this to ensure both axes are included
|
# gotta do this to ensure both axes are included
|
||||||
labels = []
|
labels = []
|
||||||
handles = []
|
handles = []
|
||||||
for series in series_list(sp)
|
for series in series_list(sp)
|
||||||
if should_add_to_legend(series)
|
if should_add_to_legend(series)
|
||||||
clims = get_clims(sp, series)
|
|
||||||
# add a line/marker and a label
|
# add a line/marker and a label
|
||||||
push!(handles,
|
push!(handles, if series[:seriestype] == :shape || series[:fillrange] !== nothing
|
||||||
if series[:seriestype] == :shape || series[:fillrange] !== nothing
|
pypatches."Patch"(
|
||||||
pypatches."Patch"(
|
edgecolor = py_color(single_color(get_linecolor(series, clims)), get_linealpha(series)),
|
||||||
edgecolor = py_color(single_color(get_linecolor(series, clims)), get_linealpha(series)),
|
facecolor = py_color(single_color(get_fillcolor(series, clims)), get_fillalpha(series)),
|
||||||
facecolor = py_color(single_color(get_fillcolor(series, clims)), get_fillalpha(series)),
|
linewidth = py_thickness_scale(plt, clamp(get_linewidth(series), 0, 5)),
|
||||||
linewidth = py_thickness_scale(plt, clamp(get_linewidth(series), 0, 5)),
|
linestyle = py_linestyle(series[:seriestype], get_linestyle(series))
|
||||||
linestyle = py_linestyle(series[:seriestype], get_linestyle(series)),
|
)
|
||||||
capstyle = "butt"
|
elseif series[:seriestype] in (:path, :straightline, :scatter)
|
||||||
)
|
PyPlot.plt."Line2D"((0,1),(0,0),
|
||||||
elseif series[:seriestype] in (:path, :straightline, :scatter, :steppre, :steppost)
|
color = py_color(single_color(get_linecolor(series, clims)), get_linealpha(series)),
|
||||||
hasline = get_linewidth(series) > 0
|
linewidth = py_thickness_scale(plt, clamp(get_linewidth(series), 0, 5)),
|
||||||
PyPlot.plt."Line2D"((0, 1),(0,0),
|
linestyle = py_linestyle(:path, get_linestyle(series)),
|
||||||
color = py_color(single_color(get_linecolor(series, clims)), get_linealpha(series)),
|
marker = py_marker(first(series[:markershape])),
|
||||||
linewidth = py_thickness_scale(plt, hasline * sp[:legendfontsize] / 8),
|
markeredgecolor = py_color(single_color(get_markerstrokecolor(series)), get_markerstrokealpha(series)),
|
||||||
linestyle = py_linestyle(:path, get_linestyle(series)),
|
markerfacecolor = py_color(single_color(get_markercolor(series, clims)), get_markeralpha(series))
|
||||||
solid_capstyle = "butt", solid_joinstyle = "miter",
|
)
|
||||||
dash_capstyle = "butt", dash_joinstyle = "miter",
|
else
|
||||||
marker = py_marker(_cycle(series[:markershape], 1)),
|
series[:serieshandle][1]
|
||||||
markersize = py_thickness_scale(plt, 0.8 * sp[:legendfontsize]),
|
end)
|
||||||
markeredgecolor = py_color(single_color(get_markerstrokecolor(series)), get_markerstrokealpha(series)),
|
|
||||||
markerfacecolor = py_color(single_color(get_markercolor(series, clims)), get_markeralpha(series)),
|
|
||||||
markeredgewidth = py_thickness_scale(plt, 0.8 * get_markerstrokewidth(series) * sp[:legendfontsize] / first(series[:markersize])) # retain the markersize/markerstroke ratio from the markers on the plot
|
|
||||||
)
|
|
||||||
else
|
|
||||||
series[:serieshandle][1]
|
|
||||||
end
|
|
||||||
)
|
|
||||||
push!(labels, series[:label])
|
push!(labels, series[:label])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -1397,19 +1331,14 @@ function py_add_legend(plt::Plot, sp::Subplot, ax)
|
|||||||
facecolor = py_color(sp[:background_color_legend]),
|
facecolor = py_color(sp[:background_color_legend]),
|
||||||
edgecolor = py_color(sp[:foreground_color_legend]),
|
edgecolor = py_color(sp[:foreground_color_legend]),
|
||||||
framealpha = alpha(plot_color(sp[:background_color_legend])),
|
framealpha = alpha(plot_color(sp[:background_color_legend])),
|
||||||
fancybox = false, # makes the legend box square
|
|
||||||
borderpad=0.8 # to match GR legendbox
|
|
||||||
)
|
)
|
||||||
frame = leg."get_frame"()
|
frame = leg."get_frame"()
|
||||||
frame."set_linewidth"(py_thickness_scale(plt, 1))
|
frame."set_linewidth"(py_thickness_scale(plt, 1))
|
||||||
leg."set_zorder"(1000)
|
leg."set_zorder"(1000)
|
||||||
if sp[:legendtitle] !== nothing
|
sp[:legendtitle] !== nothing && leg."set_title"(sp[:legendtitle])
|
||||||
leg."set_title"(sp[:legendtitle])
|
|
||||||
PyPlot.plt."setp"(leg."get_title"(), color = py_color(sp[:legendtitlefontcolor]), family = sp[:legendtitlefontfamily], fontsize = py_thickness_scale(plt, sp[:legendtitlefontsize]))
|
|
||||||
end
|
|
||||||
|
|
||||||
for txt in leg."get_texts"()
|
for txt in leg."get_texts"()
|
||||||
PyPlot.plt."setp"(txt, color = py_color(sp[:legendfontcolor]), family = sp[:legendfontfamily], fontsize = py_thickness_scale(plt, sp[:legendfontsize]))
|
PyPlot.plt."setp"(txt, color = py_color(sp[:legendfontcolor]), family = sp[:legendfontfamily])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -1429,10 +1358,13 @@ function _update_plot_object(plt::Plot{PyPlotBackend})
|
|||||||
pcts = bbox_to_pcts(sp.plotarea, figw, figh)
|
pcts = bbox_to_pcts(sp.plotarea, figw, figh)
|
||||||
ax."set_position"(pcts)
|
ax."set_position"(pcts)
|
||||||
|
|
||||||
if haskey(sp.attr, :cbar_ax) && RecipesPipeline.is3d(sp) # 2D plots are completely handled by axis dividers
|
# set the cbar position if there is one
|
||||||
|
if haskey(sp.attr, :cbar_ax)
|
||||||
cbw = sp.attr[:cbar_width]
|
cbw = sp.attr[:cbar_width]
|
||||||
# this is the bounding box of just the colors of the colorbar (not labels)
|
# this is the bounding box of just the colors of the colorbar (not labels)
|
||||||
cb_bbox = BoundingBox(right(sp.bbox)-cbw - 2mm, top(sp.bbox) + 2mm, _cbar_width-1mm, height(sp.bbox) - 4mm)
|
ex = sp[:zaxis][:extrema]
|
||||||
|
has_toplabel = !(1e-7 < max(abs(ex.emax), abs(ex.emin)) < 1e7)
|
||||||
|
cb_bbox = BoundingBox(right(sp.bbox)-cbw+1mm, top(sp.bbox) + (has_toplabel ? 4mm : 2mm), _cbar_width-1mm, height(sp.bbox) - (has_toplabel ? 6mm : 4mm))
|
||||||
pcts = bbox_to_pcts(cb_bbox, figw, figh)
|
pcts = bbox_to_pcts(cb_bbox, figw, figh)
|
||||||
sp.attr[:cbar_ax]."set_position"(pcts)
|
sp.attr[:cbar_ax]."set_position"(pcts)
|
||||||
end
|
end
|
||||||
@@ -1446,7 +1378,8 @@ end
|
|||||||
_display(plt::Plot{PyPlotBackend}) = plt.o."show"()
|
_display(plt::Plot{PyPlotBackend}) = plt.o."show"()
|
||||||
|
|
||||||
|
|
||||||
for (mime, fmt) in (
|
|
||||||
|
const _pyplot_mimeformats = Dict(
|
||||||
"application/eps" => "eps",
|
"application/eps" => "eps",
|
||||||
"image/eps" => "eps",
|
"image/eps" => "eps",
|
||||||
"application/pdf" => "pdf",
|
"application/pdf" => "pdf",
|
||||||
@@ -1455,6 +1388,9 @@ for (mime, fmt) in (
|
|||||||
"image/svg+xml" => "svg",
|
"image/svg+xml" => "svg",
|
||||||
"application/x-tex" => "pgf"
|
"application/x-tex" => "pgf"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
for (mime, fmt) in _pyplot_mimeformats
|
||||||
@eval function _show(io::IO, ::MIME{Symbol($mime)}, plt::Plot{PyPlotBackend})
|
@eval function _show(io::IO, ::MIME{Symbol($mime)}, plt::Plot{PyPlotBackend})
|
||||||
fig = plt.o
|
fig = plt.o
|
||||||
fig."canvas"."print_figure"(
|
fig."canvas"."print_figure"(
|
||||||
|
|||||||
@@ -3,17 +3,19 @@
|
|||||||
|
|
||||||
|
|
||||||
# don't warn on unsupported... there's just too many warnings!!
|
# don't warn on unsupported... there's just too many warnings!!
|
||||||
warn_on_unsupported_args(::UnicodePlotsBackend, plotattributes::KW) = nothing
|
warnOnUnsupported_args(::UnicodePlotsBackend, plotattributes::KW) = nothing
|
||||||
|
|
||||||
# --------------------------------------------------------------------------------------
|
# --------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
const _canvas_type = Ref(:auto)
|
||||||
|
|
||||||
function _canvas_map()
|
function _canvas_map()
|
||||||
(
|
KW(
|
||||||
braille = UnicodePlots.BrailleCanvas,
|
:braille => UnicodePlots.BrailleCanvas,
|
||||||
ascii = UnicodePlots.AsciiCanvas,
|
:ascii => UnicodePlots.AsciiCanvas,
|
||||||
block = UnicodePlots.BlockCanvas,
|
:block => UnicodePlots.BlockCanvas,
|
||||||
dot = UnicodePlots.DotCanvas,
|
:dot => UnicodePlots.DotCanvas,
|
||||||
density = UnicodePlots.DensityCanvas,
|
:density => UnicodePlots.DensityCanvas,
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -90,7 +92,7 @@ end
|
|||||||
|
|
||||||
|
|
||||||
# add a single series
|
# add a single series
|
||||||
function addUnicodeSeries!(o, plotattributes, addlegend::Bool, xlim, ylim)
|
function addUnicodeSeries!(o, plotattributes::KW, addlegend::Bool, xlim, ylim)
|
||||||
# get the function, or special handling for step/bar/hist
|
# get the function, or special handling for step/bar/hist
|
||||||
st = plotattributes[:seriestype]
|
st = plotattributes[:seriestype]
|
||||||
if st == :histogram2d
|
if st == :histogram2d
|
||||||
@@ -124,7 +126,7 @@ function addUnicodeSeries!(o, plotattributes, addlegend::Bool, xlim, ylim)
|
|||||||
color = plotattributes[:linecolor] in UnicodePlots.color_cycle ? plotattributes[:linecolor] : :auto
|
color = plotattributes[:linecolor] in UnicodePlots.color_cycle ? plotattributes[:linecolor] : :auto
|
||||||
|
|
||||||
# add the series
|
# add the series
|
||||||
x, y = RecipesPipeline.unzip(collect(Base.Iterators.filter(xy->isfinite(xy[1])&&isfinite(xy[2]), zip(x,y))))
|
x, y = Plots.unzip(collect(Base.Iterators.filter(xy->isfinite(xy[1])&&isfinite(xy[2]), zip(x,y))))
|
||||||
func(o, x, y; color = color, name = label)
|
func(o, x, y; color = color, name = label)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
+62
-38
@@ -29,7 +29,7 @@ end
|
|||||||
|
|
||||||
Construct a polygon to be plotted
|
Construct a polygon to be plotted
|
||||||
"""
|
"""
|
||||||
Shape(verts::AVec) = Shape(RecipesPipeline.unzip(verts)...)
|
Shape(verts::AVec) = Shape(unzip(verts)...)
|
||||||
Shape(s::Shape) = deepcopy(s)
|
Shape(s::Shape) = deepcopy(s)
|
||||||
|
|
||||||
get_xs(shape::Shape) = shape.x
|
get_xs(shape::Shape) = shape.x
|
||||||
@@ -137,7 +137,7 @@ const _shape_keys = Symbol[
|
|||||||
:x,
|
:x,
|
||||||
]
|
]
|
||||||
|
|
||||||
const _shapes = KW(
|
const _shapes = Dict{Symbol,Shape}(
|
||||||
:circle => makeshape(20),
|
:circle => makeshape(20),
|
||||||
:rect => makeshape(4, offset=-0.25),
|
:rect => makeshape(4, offset=-0.25),
|
||||||
:diamond => makeshape(4),
|
:diamond => makeshape(4),
|
||||||
@@ -187,7 +187,7 @@ end
|
|||||||
function scale!(shape::Shape, x::Real, y::Real = x, c = center(shape))
|
function scale!(shape::Shape, x::Real, y::Real = x, c = center(shape))
|
||||||
sx, sy = coords(shape)
|
sx, sy = coords(shape)
|
||||||
cx, cy = c
|
cx, cy = c
|
||||||
for i=eachindex(sx)
|
for i=1:length(sx)
|
||||||
sx[i] = (sx[i] - cx) * x + cx
|
sx[i] = (sx[i] - cx) * x + cx
|
||||||
sy[i] = (sy[i] - cy) * y + cy
|
sy[i] = (sy[i] - cy) * y + cy
|
||||||
end
|
end
|
||||||
@@ -202,7 +202,7 @@ end
|
|||||||
"translate a Shape in space"
|
"translate a Shape in space"
|
||||||
function translate!(shape::Shape, x::Real, y::Real = x)
|
function translate!(shape::Shape, x::Real, y::Real = x)
|
||||||
sx, sy = coords(shape)
|
sx, sy = coords(shape)
|
||||||
for i=eachindex(sx)
|
for i=1:length(sx)
|
||||||
sx[i] += x
|
sx[i] += x
|
||||||
sy[i] += y
|
sy[i] += y
|
||||||
end
|
end
|
||||||
@@ -230,7 +230,7 @@ end
|
|||||||
function rotate!(shape::Shape, Θ::Real, c = center(shape))
|
function rotate!(shape::Shape, Θ::Real, c = center(shape))
|
||||||
x, y = coords(shape)
|
x, y = coords(shape)
|
||||||
cx, cy = c
|
cx, cy = c
|
||||||
for i=eachindex(x)
|
for i=1:length(x)
|
||||||
xi = rotate_x(x[i], y[i], Θ, cx, cy)
|
xi = rotate_x(x[i], y[i], Θ, cx, cy)
|
||||||
yi = rotate_y(x[i], y[i], Θ, cx, cy)
|
yi = rotate_y(x[i], y[i], Θ, cx, cy)
|
||||||
x[i], y[i] = xi, yi
|
x[i], y[i] = xi, yi
|
||||||
@@ -358,15 +358,9 @@ end
|
|||||||
Scales all **current** font sizes by `factor`. For example `scalefontsizes(1.1)` increases all current font sizes by 10%. To reset to initial sizes, use `scalefontsizes()`
|
Scales all **current** font sizes by `factor`. For example `scalefontsizes(1.1)` increases all current font sizes by 10%. To reset to initial sizes, use `scalefontsizes()`
|
||||||
"""
|
"""
|
||||||
function scalefontsizes(factor::Number)
|
function scalefontsizes(factor::Number)
|
||||||
for k in (:titlefontsize, :legendfontsize, :legendtitlefontsize)
|
for k in (:titlefontsize, :guidefontsize, :tickfontsize, :legendfontsize)
|
||||||
scalefontsize(k, factor)
|
scalefontsize(k, factor)
|
||||||
end
|
end
|
||||||
|
|
||||||
for letter in (:x,:y,:z)
|
|
||||||
for k in (:guidefontsize, :tickfontsize)
|
|
||||||
scalefontsize(Symbol(letter, k), factor)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
"""
|
"""
|
||||||
@@ -375,27 +369,15 @@ end
|
|||||||
Resets font sizes to initial default values.
|
Resets font sizes to initial default values.
|
||||||
"""
|
"""
|
||||||
function scalefontsizes()
|
function scalefontsizes()
|
||||||
for k in (:titlefontsize, :legendfontsize, :legendtitlefontsize)
|
for k in (:titlefontsize, :guidefontsize, :tickfontsize, :legendfontsize)
|
||||||
f = default(k)
|
f = default(k)
|
||||||
if k in keys(_initial_fontsizes)
|
if k in keys(_initial_fontsizes)
|
||||||
factor = f / _initial_fontsizes[k]
|
factor = f / _initial_fontsizes[k]
|
||||||
scalefontsize(k, 1.0/factor)
|
scalefontsize(k, 1.0/factor)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
for letter in (:x,:y,:z)
|
|
||||||
for k in (:guidefontsize, :tickfontsize)
|
|
||||||
if k in keys(_initial_fontsizes)
|
|
||||||
f = default(Symbol(letter, k))
|
|
||||||
factor = f / _initial_fontsizes[k]
|
|
||||||
scalefontsize(Symbol(letter, k), 1.0/factor)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
resetfontsizes() = scalefontsizes()
|
|
||||||
|
|
||||||
"Wrap a string with font info"
|
"Wrap a string with font info"
|
||||||
struct PlotText
|
struct PlotText
|
||||||
str::AbstractString
|
str::AbstractString
|
||||||
@@ -609,12 +591,8 @@ annotations(sa::SeriesAnnotations) = sa
|
|||||||
function process_annotation(sp::Subplot, xs, ys, labs, font = font())
|
function process_annotation(sp::Subplot, xs, ys, labs, font = font())
|
||||||
anns = []
|
anns = []
|
||||||
labs = makevec(labs)
|
labs = makevec(labs)
|
||||||
xlength = length(methods(length, (typeof(xs),))) == 0 ? 1 : length(xs)
|
for i in 1:max(length(xs), length(ys), length(labs))
|
||||||
ylength = length(methods(length, (typeof(ys),))) == 0 ? 1 : length(ys)
|
x, y, lab = _cycle(xs, i), _cycle(ys, i), _cycle(labs, i)
|
||||||
for i in 1:max(xlength, ylength, length(labs))
|
|
||||||
x, y, lab = _cycle(xs, i), _cycle(ys, i), _cycle(labs, i)
|
|
||||||
x = typeof(x) <: TimeType ? Dates.value(x) : x
|
|
||||||
y = typeof(y) <: TimeType ? Dates.value(y) : y
|
|
||||||
if lab == :auto
|
if lab == :auto
|
||||||
alphabet = "abcdefghijklmnopqrstuvwxyz"
|
alphabet = "abcdefghijklmnopqrstuvwxyz"
|
||||||
push!(anns, (x, y, text(string("(", alphabet[sp[:subplot_index]], ")"), font)))
|
push!(anns, (x, y, text(string("(", alphabet[sp[:subplot_index]], ")"), font)))
|
||||||
@@ -670,6 +648,23 @@ end
|
|||||||
|
|
||||||
# -----------------------------------------------------------------------
|
# -----------------------------------------------------------------------
|
||||||
|
|
||||||
|
abstract type AbstractSurface end
|
||||||
|
|
||||||
|
"represents a contour or surface mesh"
|
||||||
|
struct Surface{M<:AMat} <: AbstractSurface
|
||||||
|
surf::M
|
||||||
|
end
|
||||||
|
|
||||||
|
Surface(f::Function, x, y) = Surface(Float64[f(xi,yi) for yi in y, xi in x])
|
||||||
|
|
||||||
|
Base.Array(surf::Surface) = surf.surf
|
||||||
|
|
||||||
|
for f in (:length, :size)
|
||||||
|
@eval Base.$f(surf::Surface, args...) = $f(surf.surf, args...)
|
||||||
|
end
|
||||||
|
Base.copy(surf::Surface) = Surface(copy(surf.surf))
|
||||||
|
Base.eltype(surf::Surface{T}) where {T} = eltype(T)
|
||||||
|
|
||||||
function expand_extrema!(a::Axis, surf::Surface)
|
function expand_extrema!(a::Axis, surf::Surface)
|
||||||
ex = a[:extrema]
|
ex = a[:extrema]
|
||||||
for vi in surf.surf
|
for vi in surf.surf
|
||||||
@@ -689,7 +684,28 @@ end
|
|||||||
# # I don't want to clash with ValidatedNumerics, but this would be nice:
|
# # I don't want to clash with ValidatedNumerics, but this would be nice:
|
||||||
# ..(a::T, b::T) = (a,b)
|
# ..(a::T, b::T) = (a,b)
|
||||||
|
|
||||||
|
struct Volume{T}
|
||||||
|
v::Array{T,3}
|
||||||
|
x_extents::Tuple{T,T}
|
||||||
|
y_extents::Tuple{T,T}
|
||||||
|
z_extents::Tuple{T,T}
|
||||||
|
end
|
||||||
|
|
||||||
|
default_extents(::Type{T}) where {T} = (zero(T), one(T))
|
||||||
|
|
||||||
|
function Volume(v::Array{T,3},
|
||||||
|
x_extents = default_extents(T),
|
||||||
|
y_extents = default_extents(T),
|
||||||
|
z_extents = default_extents(T)) where T
|
||||||
|
Volume(v, x_extents, y_extents, z_extents)
|
||||||
|
end
|
||||||
|
|
||||||
|
Base.Array(vol::Volume) = vol.v
|
||||||
|
for f in (:length, :size)
|
||||||
|
@eval Base.$f(vol::Volume, args...) = $f(vol.v, args...)
|
||||||
|
end
|
||||||
|
Base.copy(vol::Volume{T}) where {T} = Volume{T}(copy(vol.v), vol.x_extents, vol.y_extents, vol.z_extents)
|
||||||
|
Base.eltype(vol::Volume{T}) where {T} = T
|
||||||
|
|
||||||
# -----------------------------------------------------------------------
|
# -----------------------------------------------------------------------
|
||||||
|
|
||||||
@@ -753,6 +769,14 @@ function add_arrows(func::Function, x::AVec, y::AVec)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------
|
||||||
|
|
||||||
|
"Represents data values with formatting that should apply to the tick labels."
|
||||||
|
struct Formatted{T}
|
||||||
|
data::T
|
||||||
|
formatter::Function
|
||||||
|
end
|
||||||
|
|
||||||
# -----------------------------------------------------------------------
|
# -----------------------------------------------------------------------
|
||||||
"create a BezierCurve for plotting"
|
"create a BezierCurve for plotting"
|
||||||
mutable struct BezierCurve{T <: GeometryTypes.Point}
|
mutable struct BezierCurve{T <: GeometryTypes.Point}
|
||||||
@@ -770,7 +794,7 @@ end
|
|||||||
|
|
||||||
@deprecate curve_points coords
|
@deprecate curve_points coords
|
||||||
|
|
||||||
coords(curve::BezierCurve, n::Integer = 30; range = [0,1]) = map(curve, Base.range(first(range), stop=last(range), length=n))
|
coords(curve::BezierCurve, n::Integer = 30; range = [0,1]) = map(curve, range(range..., stop=n, length=50))
|
||||||
|
|
||||||
# build a BezierCurve which leaves point p vertically upwards and arrives point q vertically upwards.
|
# build a BezierCurve which leaves point p vertically upwards and arrives point q vertically upwards.
|
||||||
# may create a loop if necessary. Assumes the view is [0,1]
|
# may create a loop if necessary. Assumes the view is [0,1]
|
||||||
|
|||||||
+472
-1035
File diff suppressed because it is too large
Load Diff
+11
-42
@@ -3,7 +3,7 @@ using REPL
|
|||||||
|
|
||||||
function _plots_defaults()
|
function _plots_defaults()
|
||||||
if isdefined(Main, :PLOTS_DEFAULTS)
|
if isdefined(Main, :PLOTS_DEFAULTS)
|
||||||
copy(Dict{Symbol,Any}(Main.PLOTS_DEFAULTS))
|
Dict{Symbol,Any}(Main.PLOTS_DEFAULTS)
|
||||||
else
|
else
|
||||||
Dict{Symbol,Any}()
|
Dict{Symbol,Any}()
|
||||||
end
|
end
|
||||||
@@ -13,9 +13,11 @@ end
|
|||||||
function __init__()
|
function __init__()
|
||||||
user_defaults = _plots_defaults()
|
user_defaults = _plots_defaults()
|
||||||
if haskey(user_defaults, :theme)
|
if haskey(user_defaults, :theme)
|
||||||
theme(pop!(user_defaults, :theme))
|
theme(user_defaults[:theme])
|
||||||
|
end
|
||||||
|
for (k,v) in user_defaults
|
||||||
|
k == :theme || default(k, v)
|
||||||
end
|
end
|
||||||
default(; user_defaults...)
|
|
||||||
|
|
||||||
insert!(Base.Multimedia.displays, findlast(x -> x isa Base.TextDisplay || x isa REPL.REPLDisplay, Base.Multimedia.displays) + 1, PlotsDisplay())
|
insert!(Base.Multimedia.displays, findlast(x -> x isa Base.TextDisplay || x isa REPL.REPLDisplay, Base.Multimedia.displays) + 1, PlotsDisplay())
|
||||||
|
|
||||||
@@ -26,45 +28,12 @@ function __init__()
|
|||||||
insert!(Base.Multimedia.displays, findlast(x -> x isa REPL.REPLDisplay, Base.Multimedia.displays) + 1, PlotsDisplay())
|
insert!(Base.Multimedia.displays, findlast(x -> x isa REPL.REPLDisplay, Base.Multimedia.displays) + 1, PlotsDisplay())
|
||||||
end)
|
end)
|
||||||
|
|
||||||
@require HDF5 = "f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f" begin
|
@require HDF5 = "f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f" include(joinpath(@__DIR__, "backends", "hdf5.jl"))
|
||||||
fn = joinpath(@__DIR__, "backends", "hdf5.jl")
|
@require InspectDR = "d0351b0e-4b05-5898-87b3-e2a8edfddd1d" include(joinpath(@__DIR__, "backends", "inspectdr.jl"))
|
||||||
include(fn)
|
@require PGFPlots = "3b7a836e-365b-5785-a47d-02c71176b4aa" include(joinpath(@__DIR__, "backends", "pgfplots.jl"))
|
||||||
end
|
@require PlotlyJS = "f0f68f2c-4968-5e81-91da-67840de0976a" include(joinpath(@__DIR__, "backends", "plotlyjs.jl"))
|
||||||
|
@require PyPlot = "d330b81b-6aea-500a-939a-2ce795aea3ee" include(joinpath(@__DIR__, "backends", "pyplot.jl"))
|
||||||
@require InspectDR = "d0351b0e-4b05-5898-87b3-e2a8edfddd1d" begin
|
@require UnicodePlots = "b8865327-cd53-5732-bb35-84acbb429228" include(joinpath(@__DIR__, "backends", "unicodeplots.jl"))
|
||||||
fn = joinpath(@__DIR__, "backends", "inspectdr.jl")
|
|
||||||
include(fn)
|
|
||||||
end
|
|
||||||
|
|
||||||
@require PGFPlots = "3b7a836e-365b-5785-a47d-02c71176b4aa" begin
|
|
||||||
fn = joinpath(@__DIR__, "backends", "deprecated", "pgfplots.jl")
|
|
||||||
include(fn)
|
|
||||||
end
|
|
||||||
|
|
||||||
@require ORCA = "47be7bcc-f1a6-5447-8b36-7eeeff7534fd" begin
|
|
||||||
fn = joinpath(@__DIR__, "backends", "orca.jl")
|
|
||||||
include(fn)
|
|
||||||
end
|
|
||||||
|
|
||||||
@require PGFPlotsX = "8314cec4-20b6-5062-9cdb-752b83310925" begin
|
|
||||||
fn = joinpath(@__DIR__, "backends", "pgfplotsx.jl")
|
|
||||||
include(fn)
|
|
||||||
end
|
|
||||||
|
|
||||||
@require PlotlyJS = "f0f68f2c-4968-5e81-91da-67840de0976a" begin
|
|
||||||
fn = joinpath(@__DIR__, "backends", "plotlyjs.jl")
|
|
||||||
include(fn)
|
|
||||||
end
|
|
||||||
|
|
||||||
@require PyPlot = "d330b81b-6aea-500a-939a-2ce795aea3ee" begin
|
|
||||||
fn = joinpath(@__DIR__, "backends", "pyplot.jl")
|
|
||||||
include(fn)
|
|
||||||
end
|
|
||||||
|
|
||||||
@require UnicodePlots = "b8865327-cd53-5732-bb35-84acbb429228" begin
|
|
||||||
fn = joinpath(@__DIR__, "backends", "unicodeplots.jl")
|
|
||||||
include(fn)
|
|
||||||
end
|
|
||||||
|
|
||||||
@require IJulia = "7073ff75-c697-5162-941a-fcdaad2a7d2a" begin
|
@require IJulia = "7073ff75-c697-5162-941a-fcdaad2a7d2a" begin
|
||||||
if IJulia.inited
|
if IJulia.inited
|
||||||
|
|||||||
+63
-78
@@ -107,6 +107,7 @@ function resolve_mixed(mix::MixedMeasures, sp::Subplot, letter::Symbol)
|
|||||||
if mix.len != 0mm
|
if mix.len != 0mm
|
||||||
f = (letter == :x ? width : height)
|
f = (letter == :x ? width : height)
|
||||||
totlen = f(plotarea(sp))
|
totlen = f(plotarea(sp))
|
||||||
|
@show totlen
|
||||||
pct += mix.len / totlen
|
pct += mix.len / totlen
|
||||||
end
|
end
|
||||||
if pct != 0
|
if pct != 0
|
||||||
@@ -187,29 +188,29 @@ parent_bbox(layout::AbstractLayout) = bbox(parent(layout))
|
|||||||
# padding_h(layout::AbstractLayout) = bottom_padding(layout) + top_padding(layout)
|
# padding_h(layout::AbstractLayout) = bottom_padding(layout) + top_padding(layout)
|
||||||
# padding(layout::AbstractLayout) = (padding_w(layout), padding_h(layout))
|
# padding(layout::AbstractLayout) = (padding_w(layout), padding_h(layout))
|
||||||
|
|
||||||
update_position!(layout::AbstractLayout) = nothing
|
@noinline update_position!(layout::AbstractLayout) = nothing
|
||||||
update_child_bboxes!(layout::AbstractLayout, minimum_perimeter = [0mm,0mm,0mm,0mm]) = nothing
|
@noinline update_child_bboxes!(layout::AbstractLayout, minimum_perimeter = [0mm,0mm,0mm,0mm]) = nothing
|
||||||
|
|
||||||
left(layout::AbstractLayout) = left(bbox(layout))
|
@noinline left(layout::AbstractLayout) = left(bbox(layout))
|
||||||
top(layout::AbstractLayout) = top(bbox(layout))
|
@noinline top(layout::AbstractLayout) = top(bbox(layout))
|
||||||
right(layout::AbstractLayout) = right(bbox(layout))
|
@noinline right(layout::AbstractLayout) = right(bbox(layout))
|
||||||
bottom(layout::AbstractLayout) = bottom(bbox(layout))
|
@noinline bottom(layout::AbstractLayout) = bottom(bbox(layout))
|
||||||
width(layout::AbstractLayout) = width(bbox(layout))
|
@noinline width(layout::AbstractLayout) = width(bbox(layout))
|
||||||
height(layout::AbstractLayout) = height(bbox(layout))
|
@noinline height(layout::AbstractLayout) = height(bbox(layout))
|
||||||
|
|
||||||
# pass these through to the bbox methods if there's no plotarea
|
# pass these through to the bbox methods if there's no plotarea
|
||||||
plotarea(layout::AbstractLayout) = bbox(layout)
|
@noinline plotarea(layout::AbstractLayout) = bbox(layout)
|
||||||
plotarea!(layout::AbstractLayout, bb::BoundingBox) = bbox!(layout, bb)
|
@noinline plotarea!(layout::AbstractLayout, bb::BoundingBox) = bbox!(layout, bb)
|
||||||
|
|
||||||
attr(layout::AbstractLayout, k::Symbol) = layout.attr[k]
|
@noinline attr(layout::AbstractLayout, k::Symbol) = layout.attr[k]
|
||||||
attr(layout::AbstractLayout, k::Symbol, v) = get(layout.attr, k, v)
|
@noinline attr(layout::AbstractLayout, k::Symbol, v) = get(layout.attr, k, v)
|
||||||
attr!(layout::AbstractLayout, v, k::Symbol) = (layout.attr[k] = v)
|
@noinline attr!(layout::AbstractLayout, v, k::Symbol) = (layout.attr[k] = v)
|
||||||
hasattr(layout::AbstractLayout, k::Symbol) = haskey(layout.attr, k)
|
@noinline hasattr(layout::AbstractLayout, k::Symbol) = haskey(layout.attr, k)
|
||||||
|
|
||||||
leftpad(layout::AbstractLayout) = 0mm
|
@noinline leftpad(layout::AbstractLayout) = 0mm
|
||||||
toppad(layout::AbstractLayout) = 0mm
|
@noinline toppad(layout::AbstractLayout) = 0mm
|
||||||
rightpad(layout::AbstractLayout) = 0mm
|
@noinline rightpad(layout::AbstractLayout) = 0mm
|
||||||
bottompad(layout::AbstractLayout) = 0mm
|
@noinline bottompad(layout::AbstractLayout) = 0mm
|
||||||
|
|
||||||
# -----------------------------------------------------------
|
# -----------------------------------------------------------
|
||||||
# RootLayout
|
# RootLayout
|
||||||
@@ -217,7 +218,6 @@ bottompad(layout::AbstractLayout) = 0mm
|
|||||||
# this is the parent of the top-level layout
|
# this is the parent of the top-level layout
|
||||||
struct RootLayout <: AbstractLayout end
|
struct RootLayout <: AbstractLayout end
|
||||||
|
|
||||||
Base.show(io::IO, layout::RootLayout) = Base.show_default(io, layout)
|
|
||||||
Base.parent(::RootLayout) = nothing
|
Base.parent(::RootLayout) = nothing
|
||||||
parent_bbox(::RootLayout) = defaultbox
|
parent_bbox(::RootLayout) = defaultbox
|
||||||
bbox(::RootLayout) = defaultbox
|
bbox(::RootLayout) = defaultbox
|
||||||
@@ -227,8 +227,8 @@ bbox(::RootLayout) = defaultbox
|
|||||||
|
|
||||||
# contains blank space
|
# contains blank space
|
||||||
mutable struct EmptyLayout <: AbstractLayout
|
mutable struct EmptyLayout <: AbstractLayout
|
||||||
parent::AbstractLayout
|
parent
|
||||||
bbox::BoundingBox
|
bbox#::BoundingBox
|
||||||
attr::KW # store label, width, and height for initialization
|
attr::KW # store label, width, and height for initialization
|
||||||
# label # this is the label that the subplot will take (since we create a layout before initialization)
|
# label # this is the label that the subplot will take (since we create a layout before initialization)
|
||||||
end
|
end
|
||||||
@@ -245,12 +245,12 @@ _update_min_padding!(layout::EmptyLayout) = nothing
|
|||||||
|
|
||||||
# nested, gridded layout with optional size percentages
|
# nested, gridded layout with optional size percentages
|
||||||
mutable struct GridLayout <: AbstractLayout
|
mutable struct GridLayout <: AbstractLayout
|
||||||
parent::AbstractLayout
|
parent
|
||||||
minpad::Tuple # leftpad, toppad, rightpad, bottompad
|
minpad::Tuple{AbsoluteLength,AbsoluteLength,AbsoluteLength,AbsoluteLength} # leftpad, toppad, rightpad, bottompad
|
||||||
bbox::BoundingBox
|
bbox#::BoundingBox
|
||||||
grid::Matrix{AbstractLayout} # Nested layouts. Each position is a AbstractLayout, which allows for arbitrary recursion
|
grid::Matrix{Any} # Nested layouts. Each position is a AbstractLayout, which allows for arbitrary recursion
|
||||||
widths::Vector{Measure}
|
widths::Vector{Any}
|
||||||
heights::Vector{Measure}
|
heights::Vector{Any}
|
||||||
attr::KW
|
attr::KW
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -268,14 +268,14 @@ function GridLayout(dims...;
|
|||||||
widths = zeros(dims[2]),
|
widths = zeros(dims[2]),
|
||||||
heights = zeros(dims[1]),
|
heights = zeros(dims[1]),
|
||||||
kw...)
|
kw...)
|
||||||
grid = Matrix{AbstractLayout}(undef, dims...)
|
grid = Matrix{Any}(undef, dims...)
|
||||||
layout = GridLayout(
|
layout = GridLayout(
|
||||||
parent,
|
parent,
|
||||||
(20mm, 5mm, 2mm, 10mm),
|
(20mm, 5mm, 2mm, 10mm),
|
||||||
defaultbox,
|
defaultbox,
|
||||||
grid,
|
grid,
|
||||||
Measure[w*pct for w in widths],
|
Any[w*pct for w in widths],
|
||||||
Measure[h*pct for h in heights],
|
Any[h*pct for h in heights],
|
||||||
# convert(Vector{Float64}, widths),
|
# convert(Vector{Float64}, widths),
|
||||||
# convert(Vector{Float64}, heights),
|
# convert(Vector{Float64}, heights),
|
||||||
KW(kw))
|
KW(kw))
|
||||||
@@ -345,20 +345,22 @@ end
|
|||||||
# recursively compute the bounding boxes for the layout and plotarea (relative to canvas!)
|
# recursively compute the bounding boxes for the layout and plotarea (relative to canvas!)
|
||||||
function update_child_bboxes!(layout::GridLayout, minimum_perimeter = [0mm,0mm,0mm,0mm])
|
function update_child_bboxes!(layout::GridLayout, minimum_perimeter = [0mm,0mm,0mm,0mm])
|
||||||
nr, nc = size(layout)
|
nr, nc = size(layout)
|
||||||
|
|
||||||
# # create a matrix for each minimum padding direction
|
# # create a matrix for each minimum padding direction
|
||||||
# _update_min_padding!(layout)
|
# _update_min_padding!(layout)
|
||||||
minpad_left = map(leftpad, layout.grid)
|
|
||||||
minpad_top = map(toppad, layout.grid)
|
minpad_left::Matrix{AbsoluteLength} = map(leftpad, layout.grid)
|
||||||
minpad_right = map(rightpad, layout.grid)
|
minpad_top::Matrix{AbsoluteLength} = map(toppad, layout.grid)
|
||||||
minpad_bottom = map(bottompad, layout.grid)
|
minpad_right::Matrix{AbsoluteLength} = map(rightpad, layout.grid)
|
||||||
|
minpad_bottom::Matrix{AbsoluteLength} = map(bottompad, layout.grid)
|
||||||
|
|
||||||
# get the max horizontal (left and right) padding over columns,
|
# get the max horizontal (left and right) padding over columns,
|
||||||
# and max vertical (bottom and top) padding over rows
|
# and max vertical (bottom and top) padding over rows
|
||||||
# TODO: add extra padding here
|
# TODO: add extra padding here
|
||||||
pad_left = maximum(minpad_left, dims = 1)
|
pad_left::Matrix{AbsoluteLength} = maximum(minpad_left, dims = 1)
|
||||||
pad_top = maximum(minpad_top, dims = 2)
|
pad_top::Matrix{AbsoluteLength} = maximum(minpad_top, dims = 2)
|
||||||
pad_right = maximum(minpad_right, dims = 1)
|
pad_right::Matrix{AbsoluteLength} = maximum(minpad_right, dims = 1)
|
||||||
pad_bottom = maximum(minpad_bottom, dims = 2)
|
pad_bottom::Matrix{AbsoluteLength} = maximum(minpad_bottom, dims = 2)
|
||||||
|
|
||||||
# make sure the perimeter match the parent
|
# make sure the perimeter match the parent
|
||||||
pad_left[1] = max(pad_left[1], minimum_perimeter[1])
|
pad_left[1] = max(pad_left[1], minimum_perimeter[1])
|
||||||
@@ -387,14 +389,14 @@ function update_child_bboxes!(layout::GridLayout, minimum_perimeter = [0mm,0mm,0
|
|||||||
child = layout[r,c]
|
child = layout[r,c]
|
||||||
|
|
||||||
# get the top-left corner of this child... the first one is top-left of the parent (i.e. layout)
|
# get the top-left corner of this child... the first one is top-left of the parent (i.e. layout)
|
||||||
child_left = (c == 1 ? left(layout.bbox) : right(layout[r, c-1].bbox))
|
child_left::AbsoluteLength = (c == 1 ? left(layout.bbox) : right(layout[r, c-1].bbox))
|
||||||
child_top = (r == 1 ? top(layout.bbox) : bottom(layout[r-1, c].bbox))
|
child_top::AbsoluteLength = (r == 1 ? top(layout.bbox) : bottom(layout[r-1, c].bbox))
|
||||||
|
|
||||||
# compute plot area
|
# compute plot area
|
||||||
plotarea_left = child_left + pad_left[c]
|
plotarea_left::AbsoluteLength = child_left + pad_left[c]
|
||||||
plotarea_top = child_top + pad_top[r]
|
plotarea_top::AbsoluteLength = child_top + pad_top[r]
|
||||||
plotarea_width = total_plotarea_horizontal * layout.widths[c]
|
plotarea_width::AbsoluteLength = total_plotarea_horizontal * layout.widths[c]
|
||||||
plotarea_height = total_plotarea_vertical * layout.heights[r]
|
plotarea_height::AbsoluteLength = total_plotarea_vertical * layout.heights[r]
|
||||||
plotarea!(child, BoundingBox(plotarea_left, plotarea_top, plotarea_width, plotarea_height))
|
plotarea!(child, BoundingBox(plotarea_left, plotarea_top, plotarea_width, plotarea_height))
|
||||||
|
|
||||||
# compute child bbox
|
# compute child bbox
|
||||||
@@ -405,10 +407,10 @@ function update_child_bboxes!(layout::GridLayout, minimum_perimeter = [0mm,0mm,0
|
|||||||
# this is the minimum perimeter as decided by this child's parent, so that
|
# this is the minimum perimeter as decided by this child's parent, so that
|
||||||
# all children on this border have the same value
|
# all children on this border have the same value
|
||||||
min_child_perimeter = [
|
min_child_perimeter = [
|
||||||
c == 1 ? layout.minpad[1] : pad_left[c],
|
c == 1 ? layout.minpad[1] : 0mm,
|
||||||
r == 1 ? layout.minpad[2] : pad_top[r],
|
r == 1 ? layout.minpad[2] : 0mm,
|
||||||
c == nc ? layout.minpad[3] : pad_right[c],
|
c == nc ? layout.minpad[3] : 0mm,
|
||||||
r == nr ? layout.minpad[4] : pad_bottom[r]
|
r == nr ? layout.minpad[4] : 0mm
|
||||||
]
|
]
|
||||||
|
|
||||||
# recursively update the child's children
|
# recursively update the child's children
|
||||||
@@ -462,12 +464,12 @@ end
|
|||||||
# constructors
|
# constructors
|
||||||
|
|
||||||
# pass the layout arg through
|
# pass the layout arg through
|
||||||
function layout_args(plotattributes::AKW)
|
function layout_args(plotattributes::KW)
|
||||||
layout_args(plotattributes[:layout])
|
layout_args(get(plotattributes, :layout, default(:layout)))
|
||||||
end
|
end
|
||||||
|
|
||||||
function layout_args(plotattributes::AKW, n_override::Integer)
|
function layout_args(plotattributes::KW, n_override::Integer)
|
||||||
layout, n = layout_args(n_override, get(plotattributes, :layout, n_override))
|
layout, n = layout_args(get(plotattributes, :layout, n_override))
|
||||||
if n != n_override
|
if n != n_override
|
||||||
error("When doing layout, n ($n) != n_override ($(n_override)). You're probably trying to force existing plots into a layout that doesn't fit them.")
|
error("When doing layout, n ($n) != n_override ($(n_override)). You're probably trying to force existing plots into a layout that doesn't fit them.")
|
||||||
end
|
end
|
||||||
@@ -479,27 +481,12 @@ function layout_args(n::Integer)
|
|||||||
GridLayout(nr, nc), n
|
GridLayout(nr, nc), n
|
||||||
end
|
end
|
||||||
|
|
||||||
function layout_args(sztup::NTuple{2, Integer})
|
function layout_args(sztup::NTuple{2,I}) where I<:Integer
|
||||||
nr, nc = sztup
|
nr, nc = sztup
|
||||||
GridLayout(nr, nc), nr*nc
|
GridLayout(nr, nc), nr*nc
|
||||||
end
|
end
|
||||||
|
|
||||||
layout_args(n_override::Integer, n::Integer) = layout_args(n)
|
function layout_args(sztup::NTuple{3,I}) where I<:Integer
|
||||||
layout_args(n, sztup::NTuple{2, Integer}) = layout_args(sztup)
|
|
||||||
|
|
||||||
function layout_args(n, sztup::Tuple{Colon, Integer})
|
|
||||||
nc = sztup[2]
|
|
||||||
nr = ceil(Int, n / nc)
|
|
||||||
GridLayout(nr, nc), n
|
|
||||||
end
|
|
||||||
|
|
||||||
function layout_args(n, sztup::Tuple{Integer, Colon})
|
|
||||||
nr = sztup[1]
|
|
||||||
nc = ceil(Int, n / nr)
|
|
||||||
GridLayout(nr, nc), n
|
|
||||||
end
|
|
||||||
|
|
||||||
function layout_args(sztup::NTuple{3, Integer})
|
|
||||||
n, nr, nc = sztup
|
n, nr, nc = sztup
|
||||||
nr, nc = compute_gridsize(n, nr, nc)
|
nr, nc = compute_gridsize(n, nr, nc)
|
||||||
GridLayout(nr, nc), n
|
GridLayout(nr, nc), n
|
||||||
@@ -512,8 +499,6 @@ function layout_args(layout::GridLayout)
|
|||||||
layout, n
|
layout, n
|
||||||
end
|
end
|
||||||
|
|
||||||
layout_args(n_override::Integer, layout::GridLayout) = layout_args(layout)
|
|
||||||
|
|
||||||
layout_args(huh) = error("unhandled layout type $(typeof(huh)): $huh")
|
layout_args(huh) = error("unhandled layout type $(typeof(huh)): $huh")
|
||||||
|
|
||||||
|
|
||||||
@@ -527,14 +512,14 @@ end
|
|||||||
|
|
||||||
# # just a single subplot
|
# # just a single subplot
|
||||||
# function build_layout(sp::Subplot, n::Integer)
|
# function build_layout(sp::Subplot, n::Integer)
|
||||||
# sp, Subplot[sp], SubplotMap(gensym() => sp)
|
# sp, Subplot[sp], KW(gensym() => sp)
|
||||||
# end
|
# end
|
||||||
|
|
||||||
# n is the number of subplots... build a grid and initialize the inner subplots recursively
|
# n is the number of subplots... build a grid and initialize the inner subplots recursively
|
||||||
function build_layout(layout::GridLayout, n::Integer)
|
function build_layout(layout::GridLayout, n::Integer)
|
||||||
nr, nc = size(layout)
|
nr, nc = size(layout)
|
||||||
subplots = Subplot[]
|
subplots = Any[]
|
||||||
spmap = SubplotMap()
|
spmap = KW()
|
||||||
i = 0
|
i = 0
|
||||||
for r=1:nr, c=1:nc
|
for r=1:nr, c=1:nc
|
||||||
l = layout[r,c]
|
l = layout[r,c]
|
||||||
@@ -575,8 +560,8 @@ end
|
|||||||
# TODO... much of the logic overlaps with the method above... can we merge?
|
# TODO... much of the logic overlaps with the method above... can we merge?
|
||||||
function build_layout(layout::GridLayout, numsp::Integer, plts::AVec{Plot})
|
function build_layout(layout::GridLayout, numsp::Integer, plts::AVec{Plot})
|
||||||
nr, nc = size(layout)
|
nr, nc = size(layout)
|
||||||
subplots = Subplot[]
|
subplots = Any[]
|
||||||
spmap = SubplotMap()
|
spmap = KW()
|
||||||
i = 0
|
i = 0
|
||||||
for r=1:nr, c=1:nc
|
for r=1:nr, c=1:nc
|
||||||
l = layout[r,c]
|
l = layout[r,c]
|
||||||
@@ -614,7 +599,7 @@ end
|
|||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
# @layout macro
|
# @layout macro
|
||||||
|
|
||||||
function add_layout_pct!(kw::AKW, v::Expr, idx::Integer, nidx::Integer)
|
function add_layout_pct!(kw::KW, v::Expr, idx::Integer, nidx::Integer)
|
||||||
# dump(v)
|
# dump(v)
|
||||||
# something like {0.2w}?
|
# something like {0.2w}?
|
||||||
if v.head == :call && v.args[1] == :*
|
if v.head == :call && v.args[1] == :*
|
||||||
@@ -635,7 +620,7 @@ function add_layout_pct!(kw::AKW, v::Expr, idx::Integer, nidx::Integer)
|
|||||||
error("Couldn't match layout curly (idx=$idx): $v")
|
error("Couldn't match layout curly (idx=$idx): $v")
|
||||||
end
|
end
|
||||||
|
|
||||||
function add_layout_pct!(kw::AKW, v::Number, idx::Integer)
|
function add_layout_pct!(kw::KW, v::Number, idx::Integer)
|
||||||
# kw[idx == 1 ? :w : :h] = v*pct
|
# kw[idx == 1 ? :w : :h] = v*pct
|
||||||
idx == 1 && (kw[:w] = v*pct)
|
idx == 1 && (kw[:w] = v*pct)
|
||||||
(idx == 2 || nidx == 1) && (kw[:h] = v*pct)
|
(idx == 2 || nidx == 1) && (kw[:h] = v*pct)
|
||||||
|
|||||||
+102
-117
@@ -1,62 +1,57 @@
|
|||||||
|
|
||||||
|
|
||||||
defaultOutputFormat(plt::Plot) = "png"
|
defaultOutputFormat(plt::Plot) = "png"
|
||||||
|
|
||||||
function png(plt::Plot, fn::AbstractString)
|
function png(plt::Plot, fn::AbstractString)
|
||||||
fn = addExtension(fn, "png")
|
fn = addExtension(fn, "png")
|
||||||
io = open(fn, "w")
|
io = open(fn, "w")
|
||||||
show(io, MIME("image/png"), plt)
|
show(io, MIME("image/png"), plt)
|
||||||
close(io)
|
close(io)
|
||||||
end
|
end
|
||||||
png(fn::AbstractString) = png(current(), fn)
|
png(fn::AbstractString) = png(current(), fn)
|
||||||
|
|
||||||
function svg(plt::Plot, fn::AbstractString)
|
function svg(plt::Plot, fn::AbstractString)
|
||||||
fn = addExtension(fn, "svg")
|
fn = addExtension(fn, "svg")
|
||||||
io = open(fn, "w")
|
io = open(fn, "w")
|
||||||
show(io, MIME("image/svg+xml"), plt)
|
show(io, MIME("image/svg+xml"), plt)
|
||||||
close(io)
|
close(io)
|
||||||
end
|
end
|
||||||
svg(fn::AbstractString) = svg(current(), fn)
|
svg(fn::AbstractString) = svg(current(), fn)
|
||||||
|
|
||||||
|
|
||||||
function pdf(plt::Plot, fn::AbstractString)
|
function pdf(plt::Plot, fn::AbstractString)
|
||||||
fn = addExtension(fn, "pdf")
|
fn = addExtension(fn, "pdf")
|
||||||
io = open(fn, "w")
|
io = open(fn, "w")
|
||||||
show(io, MIME("application/pdf"), plt)
|
show(io, MIME("application/pdf"), plt)
|
||||||
close(io)
|
close(io)
|
||||||
end
|
end
|
||||||
pdf(fn::AbstractString) = pdf(current(), fn)
|
pdf(fn::AbstractString) = pdf(current(), fn)
|
||||||
|
|
||||||
|
|
||||||
function ps(plt::Plot, fn::AbstractString)
|
function ps(plt::Plot, fn::AbstractString)
|
||||||
fn = addExtension(fn, "ps")
|
fn = addExtension(fn, "ps")
|
||||||
io = open(fn, "w")
|
io = open(fn, "w")
|
||||||
show(io, MIME("application/postscript"), plt)
|
show(io, MIME("application/postscript"), plt)
|
||||||
close(io)
|
close(io)
|
||||||
end
|
end
|
||||||
ps(fn::AbstractString) = ps(current(), fn)
|
ps(fn::AbstractString) = ps(current(), fn)
|
||||||
|
|
||||||
function eps(plt::Plot, fn::AbstractString)
|
function eps(plt::Plot, fn::AbstractString)
|
||||||
fn = addExtension(fn, "eps")
|
fn = addExtension(fn, "eps")
|
||||||
io = open(fn, "w")
|
io = open(fn, "w")
|
||||||
show(io, MIME("image/eps"), plt)
|
show(io, MIME("image/eps"), plt)
|
||||||
close(io)
|
close(io)
|
||||||
end
|
end
|
||||||
eps(fn::AbstractString) = eps(current(), fn)
|
eps(fn::AbstractString) = eps(current(), fn)
|
||||||
|
|
||||||
function tex(plt::Plot, fn::AbstractString)
|
function tex(plt::Plot, fn::AbstractString)
|
||||||
fn = addExtension(fn, "tex")
|
fn = addExtension(fn, "tex")
|
||||||
io = open(fn, "w")
|
io = open(fn, "w")
|
||||||
show(io, MIME("application/x-tex"), plt)
|
show(io, MIME("application/x-tex"), plt)
|
||||||
close(io)
|
close(io)
|
||||||
end
|
end
|
||||||
tex(fn::AbstractString) = tex(current(), fn)
|
tex(fn::AbstractString) = tex(current(), fn)
|
||||||
|
|
||||||
function json(plt::Plot, fn::AbstractString)
|
|
||||||
fn = addExtension(fn, "json")
|
|
||||||
io = open(fn, "w")
|
|
||||||
show(io, MIME("application/vnd.plotly.v1+json"), plt)
|
|
||||||
close(io)
|
|
||||||
end
|
|
||||||
json(fn::AbstractString) = json(current(), fn)
|
|
||||||
|
|
||||||
function html(plt::Plot, fn::AbstractString)
|
function html(plt::Plot, fn::AbstractString)
|
||||||
fn = addExtension(fn, "html")
|
fn = addExtension(fn, "html")
|
||||||
io = open(fn, "w")
|
io = open(fn, "w")
|
||||||
@@ -65,40 +60,39 @@ function html(plt::Plot, fn::AbstractString)
|
|||||||
end
|
end
|
||||||
html(fn::AbstractString) = html(current(), fn)
|
html(fn::AbstractString) = html(current(), fn)
|
||||||
|
|
||||||
function txt(plt::Plot, fn::AbstractString)
|
|
||||||
fn = addExtension(fn, "txt")
|
|
||||||
io = open(fn, "w")
|
|
||||||
show(io, MIME("text/plain"), plt)
|
|
||||||
close(io)
|
|
||||||
end
|
|
||||||
txt(fn::AbstractString) = txt(current(), fn)
|
|
||||||
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------
|
# ----------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
const _savemap = Dict(
|
const _savemap = Dict(
|
||||||
"png" => png,
|
"png" => png,
|
||||||
"svg" => svg,
|
"svg" => svg,
|
||||||
"pdf" => pdf,
|
"pdf" => pdf,
|
||||||
"ps" => ps,
|
"ps" => ps,
|
||||||
"eps" => eps,
|
"eps" => eps,
|
||||||
"tex" => tex,
|
"tex" => tex,
|
||||||
"json" => json,
|
|
||||||
"html" => html,
|
"html" => html,
|
||||||
"tikz" => tex,
|
)
|
||||||
"txt" => txt,
|
|
||||||
)
|
|
||||||
|
|
||||||
const _extension_map = Dict("tikz" => "tex")
|
function getExtension(fn::AbstractString)
|
||||||
|
pieces = split(fn, ".")
|
||||||
|
length(pieces) > 1 || error("Can't extract file extension: ", fn)
|
||||||
|
ext = pieces[end]
|
||||||
|
haskey(_savemap, ext) || error("Invalid file extension: ", fn)
|
||||||
|
ext
|
||||||
|
end
|
||||||
|
|
||||||
function addExtension(fn::AbstractString, ext::AbstractString)
|
function addExtension(fn::AbstractString, ext::AbstractString)
|
||||||
oldfn, oldext = splitext(fn)
|
try
|
||||||
oldext = chop(oldext, head = 1, tail = 0)
|
oldext = getExtension(fn)
|
||||||
if get(_extension_map, oldext, oldext) == ext
|
if oldext == ext
|
||||||
return fn
|
return fn
|
||||||
else
|
else
|
||||||
return string(fn, ".", ext)
|
return "$fn.$ext"
|
||||||
end
|
end
|
||||||
|
catch
|
||||||
|
return "$fn.$ext"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
"""
|
"""
|
||||||
@@ -109,72 +103,70 @@ type is inferred from the file extension. All backends support png and pdf
|
|||||||
file types, some also support svg, ps, eps, html and tex.
|
file types, some also support svg, ps, eps, html and tex.
|
||||||
"""
|
"""
|
||||||
function savefig(plt::Plot, fn::AbstractString)
|
function savefig(plt::Plot, fn::AbstractString)
|
||||||
fn = abspath(expanduser(fn))
|
fn = abspath(expanduser(fn))
|
||||||
|
# get the extension
|
||||||
|
local ext
|
||||||
|
try
|
||||||
|
ext = getExtension(fn)
|
||||||
|
catch
|
||||||
|
# if we couldn't extract the extension, add the default
|
||||||
|
ext = defaultOutputFormat(plt)
|
||||||
|
fn = addExtension(fn, ext)
|
||||||
|
end
|
||||||
|
|
||||||
# get the extension
|
# save it
|
||||||
fn, ext = splitext(fn)
|
func = get(_savemap, ext) do
|
||||||
ext = chop(ext, head = 1, tail = 0)
|
error("Unsupported extension $ext with filename ", fn)
|
||||||
if isempty(ext)
|
end
|
||||||
ext = defaultOutputFormat(plt)
|
func(plt, fn)
|
||||||
end
|
|
||||||
|
|
||||||
# save it
|
|
||||||
if haskey(_savemap, ext)
|
|
||||||
func = _savemap[ext]
|
|
||||||
return func(plt, fn)
|
|
||||||
else
|
|
||||||
error("Invalid file extension: ", fn)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
savefig(fn::AbstractString) = savefig(current(), fn)
|
savefig(fn::AbstractString) = savefig(current(), fn)
|
||||||
|
|
||||||
|
|
||||||
# ---------------------------------------------------------
|
# ---------------------------------------------------------
|
||||||
|
|
||||||
"""
|
"""
|
||||||
gui([plot])
|
gui([plot])
|
||||||
|
|
||||||
Display a plot using the backends' gui window
|
Display a plot using the backends' gui window
|
||||||
"""
|
"""
|
||||||
gui(plt::Plot = current()) = display(PlotsDisplay(), plt)
|
@noinline gui(plt::Plot = current()) = display(PlotsDisplay(), plt)
|
||||||
|
|
||||||
# IJulia only... inline display
|
# IJulia only... inline display
|
||||||
function inline(plt::Plot = current())
|
@noinline function inline(plt::Plot = current())
|
||||||
isijulia() || error("inline() is IJulia-only")
|
isijulia() || error("inline() is IJulia-only")
|
||||||
Main.IJulia.clear_output(true)
|
Main.IJulia.clear_output(true)
|
||||||
display(Main.IJulia.InlineDisplay(), plt)
|
display(Main.IJulia.InlineDisplay(), plt)
|
||||||
end
|
end
|
||||||
|
|
||||||
function Base.display(::PlotsDisplay, plt::Plot)
|
@noinline function Base.display(::PlotsDisplay, plt::Plot)
|
||||||
prepare_output(plt)
|
prepare_output(plt)
|
||||||
_display(plt)
|
_display(plt)
|
||||||
end
|
end
|
||||||
|
|
||||||
_do_plot_show(plt, showval::Bool) = showval && gui(plt)
|
@noinline _do_plot_show(plt, showval::Bool) = showval && gui(plt)
|
||||||
function _do_plot_show(plt, showval::Symbol)
|
@noinline function _do_plot_show(plt, showval::Symbol)
|
||||||
showval == :gui && gui(plt)
|
showval == :gui && gui(plt)
|
||||||
showval in (:inline, :ijulia) && inline(plt)
|
showval in (:inline,:ijulia) && inline(plt)
|
||||||
end
|
end
|
||||||
|
|
||||||
# ---------------------------------------------------------
|
# ---------------------------------------------------------
|
||||||
|
|
||||||
const _best_html_output_type =
|
const _best_html_output_type = Dict{Symbol,Symbol}(
|
||||||
KW(:pyplot => :png, :unicodeplots => :txt, :plotlyjs => :html, :plotly => :html)
|
:pyplot => :png,
|
||||||
|
:unicodeplots => :txt,
|
||||||
|
:plotlyjs => :html,
|
||||||
|
:plotly => :html
|
||||||
|
)
|
||||||
|
|
||||||
# a backup for html... passes to svg or png depending on the html_output_format arg
|
# a backup for html... passes to svg or png depending on the html_output_format arg
|
||||||
function _show(io::IO, ::MIME"text/html", plt::Plot)
|
@noinline function _show(io::IO, ::MIME"text/html", plt::Plot)
|
||||||
output_type = Symbol(plt.attr[:html_output_format])
|
output_type = Symbol(plt.attr[:html_output_format])
|
||||||
if output_type == :auto
|
if output_type == :auto
|
||||||
output_type = get(_best_html_output_type, backend_name(plt.backend), :svg)
|
output_type = get(_best_html_output_type, backend_name(plt.backend), :svg)
|
||||||
end
|
end
|
||||||
if output_type == :png
|
if output_type == :png
|
||||||
# @info("writing png to html output")
|
# @info("writing png to html output")
|
||||||
print(
|
print(io, "<img src=\"data:image/png;base64,", base64encode(show, MIME("image/png"), plt), "\" />")
|
||||||
io,
|
|
||||||
"<img src=\"data:image/png;base64,",
|
|
||||||
base64encode(show, MIME("image/png"), plt),
|
|
||||||
"\" />",
|
|
||||||
)
|
|
||||||
elseif output_type == :svg
|
elseif output_type == :svg
|
||||||
# @info("writing svg to html output")
|
# @info("writing svg to html output")
|
||||||
show(io, MIME("image/svg+xml"), plt)
|
show(io, MIME("image/svg+xml"), plt)
|
||||||
@@ -186,43 +178,31 @@ function _show(io::IO, ::MIME"text/html", plt::Plot)
|
|||||||
end
|
end
|
||||||
|
|
||||||
# delegate showable to _show instead
|
# delegate showable to _show instead
|
||||||
function Base.showable(m::M, plt::P) where {M <: MIME, P <: Plot}
|
@noinline function Base.showable(m::M, plt::P) where {M<:MIME, P<:Plot}
|
||||||
return hasmethod(_show, Tuple{IO, M, P})
|
return hasmethod(_show, Tuple{IO, M, P})
|
||||||
end
|
end
|
||||||
|
|
||||||
function _display(plt::Plot)
|
@noinline function _display(plt::Plot)
|
||||||
@warn("_display is not defined for this backend.")
|
@warn("_display is not defined for this backend.")
|
||||||
end
|
end
|
||||||
|
|
||||||
# for writing to io streams... first prepare, then callback
|
# for writing to io streams... first prepare, then callback
|
||||||
for mime in (
|
for mime in ("text/plain", "text/html", "image/png", "image/eps", "image/svg+xml",
|
||||||
"text/plain",
|
"application/eps", "application/pdf", "application/postscript",
|
||||||
"text/html",
|
"application/x-tex", "application/vnd.plotly.v1+json")
|
||||||
"image/png",
|
|
||||||
"image/eps",
|
|
||||||
"image/svg+xml",
|
|
||||||
"application/eps",
|
|
||||||
"application/pdf",
|
|
||||||
"application/postscript",
|
|
||||||
"application/x-tex",
|
|
||||||
"application/vnd.plotly.v1+json",
|
|
||||||
)
|
|
||||||
@eval function Base.show(io::IO, m::MIME{Symbol($mime)}, plt::Plot)
|
@eval function Base.show(io::IO, m::MIME{Symbol($mime)}, plt::Plot)
|
||||||
if haskey(io, :juno_plotsize)
|
if haskey(io, :juno_plotsize)
|
||||||
showjuno(io, m, plt)
|
showjuno(io, m, plt)
|
||||||
else
|
else
|
||||||
prepare_output(plt)
|
prepare_output(plt)
|
||||||
_show(io, m, plt)
|
_show(io, m, plt)
|
||||||
end
|
end
|
||||||
return nothing
|
return nothing
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
Base.show(io::IO, m::MIME"application/prs.juno.plotpane+html", plt::Plot) =
|
|
||||||
showjuno(io, MIME("text/html"), plt)
|
|
||||||
|
|
||||||
# default text/plain for all backends
|
# default text/plain for all backends
|
||||||
_show(io::IO, ::MIME{Symbol("text/plain")}, plt::Plot) = show(io, plt)
|
@noinline _show(io::IO, ::MIME{Symbol("text/plain")}, plt::Plot) = show(io, plt)
|
||||||
|
|
||||||
"Close all open gui windows of the current backend"
|
"Close all open gui windows of the current backend"
|
||||||
closeall() = closeall(backend())
|
closeall() = closeall(backend())
|
||||||
@@ -248,29 +228,34 @@ closeall() = closeall(backend())
|
|||||||
# ---------------------------------------------------------
|
# ---------------------------------------------------------
|
||||||
# Atom PlotPane
|
# Atom PlotPane
|
||||||
# ---------------------------------------------------------
|
# ---------------------------------------------------------
|
||||||
function showjuno(io::IO, m, plt)
|
@noinline function showjuno(io::IO, m, plt)
|
||||||
|
sz = plt[:size]
|
||||||
dpi = plt[:dpi]
|
dpi = plt[:dpi]
|
||||||
|
thickness_scaling = plt[:thickness_scaling]
|
||||||
|
|
||||||
jratio = get(io, :juno_dpi_ratio, 1)
|
jsize = get(io, :juno_plotsize, [400, 500])
|
||||||
|
|
||||||
plt[:dpi] = jratio * Plots.DPI
|
scale = minimum(jsize[i] / sz[i] for i in 1:2)
|
||||||
|
plt[:size] = (s * scale for s in sz)
|
||||||
|
plt[:dpi] = Plots.DPI
|
||||||
|
plt[:thickness_scaling] *= scale
|
||||||
|
|
||||||
prepare_output(plt)
|
prepare_output(plt)
|
||||||
try
|
try
|
||||||
_showjuno(io, m, plt)
|
_showjuno(io, m, plt)
|
||||||
finally
|
finally
|
||||||
plt[:dpi] = dpi
|
plt[:size] = sz
|
||||||
|
plt[:dpi] = dpi
|
||||||
|
plt[:thickness_scaling] = thickness_scaling
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function _showjuno(io::IO, m::MIME"image/svg+xml", plt)
|
@noinline function _showjuno(io::IO, m::MIME"image/svg+xml", plt)
|
||||||
if Symbol(plt.attr[:html_output_format]) ≠ :svg
|
if Symbol(plt.attr[:html_output_format]) ≠ :svg
|
||||||
throw(MethodError(show, (typeof(m), typeof(plt))))
|
throw(MethodError(show, (typeof(m), typeof(plt))))
|
||||||
else
|
else
|
||||||
_show(io, m, plt)
|
_show(io, m, plt)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
Base.showable(::MIME"application/prs.juno.plotpane+html", plt::Plot) = false
|
@noinline _showjuno(io::IO, m, plt) = _show(io, m, plt)
|
||||||
|
|
||||||
_showjuno(io::IO, m, plt) = _show(io, m, plt)
|
|
||||||
|
|||||||
+224
-179
@@ -1,74 +1,103 @@
|
|||||||
# RecipesPipeline API
|
|
||||||
|
|
||||||
## Warnings
|
|
||||||
|
|
||||||
function RecipesPipeline.warn_on_recipe_aliases!(
|
# ------------------------------------------------------------------
|
||||||
plt::Plot,
|
# preprocessing
|
||||||
plotattributes,
|
|
||||||
recipe_type,
|
@noinline function command_idx(kw_list::AVec{KW}, kw::KW)
|
||||||
args...,
|
Int(kw[:series_plotindex]) - Int(kw_list[1][:series_plotindex]) + 1
|
||||||
)
|
end
|
||||||
for k in keys(plotattributes)
|
|
||||||
if !is_default_attribute(k)
|
@noinline function _expand_seriestype_array(plotattributes::KW, args)
|
||||||
dk = get(_keyAliases, k, k)
|
sts = get(plotattributes, :seriestype, :path)
|
||||||
if k !== dk
|
if typeof(sts) <: AbstractArray
|
||||||
@warn "Attribute alias `$k` detected in the $recipe_type recipe defined for the signature $(_signature_string(Val{recipe_type}, args...)). To ensure expected behavior it is recommended to use the default attribute `$dk`."
|
delete!(plotattributes, :seriestype)
|
||||||
end
|
rd = Vector{RecipeData}(undef, size(sts, 1))
|
||||||
plotattributes[dk] = RecipesPipeline.pop_kw!(plotattributes, k)
|
for r in 1:size(sts, 1)
|
||||||
|
dc = copy(plotattributes)
|
||||||
|
dc[:seriestype] = sts[r:r,:]
|
||||||
|
rd[r] = RecipeData(dc, args)
|
||||||
end
|
end
|
||||||
|
rd
|
||||||
|
else
|
||||||
|
RecipeData[RecipeData(copy(plotattributes), args)]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
function RecipesPipeline.warn_on_recipe_aliases!(
|
|
||||||
plt::Plot,
|
@noinline function _preprocess_args(plotattributes::KW, args, still_to_process::Vector{RecipeData})
|
||||||
v::AbstractVector,
|
# the grouping mechanism is a recipe on a GroupBy object
|
||||||
recipe_type,
|
# we simply add the GroupBy object to the front of the args list to allow
|
||||||
args...,
|
# the recipe to be applied
|
||||||
)
|
if haskey(plotattributes, :group)
|
||||||
foreach(x -> RecipesPipeline.warn_on_recipe_aliases!(plt, x, recipe_type, args...), v)
|
args = (extractGroupArgs(plotattributes[:group], args...), args...)
|
||||||
end
|
end
|
||||||
function RecipesPipeline.warn_on_recipe_aliases!(
|
|
||||||
plt::Plot,
|
# if we were passed a vector/matrix of seriestypes and there's more than one row,
|
||||||
rd::RecipeData,
|
# we want to duplicate the inputs, once for each seriestype row.
|
||||||
recipe_type,
|
if !isempty(args)
|
||||||
args...,
|
append!(still_to_process, _expand_seriestype_array(plotattributes, args))
|
||||||
)
|
end
|
||||||
RecipesPipeline.warn_on_recipe_aliases!(plt, rd.plotattributes, recipe_type, args...)
|
|
||||||
|
# remove subplot and axis args from plotattributes... they will be passed through in the kw_list
|
||||||
|
if !isempty(args)
|
||||||
|
for (k,v) in plotattributes
|
||||||
|
for defdict in (_subplot_defaults,
|
||||||
|
_axis_defaults,
|
||||||
|
_axis_defaults_byletter)
|
||||||
|
if haskey(defdict, k)
|
||||||
|
delete!(plotattributes, k)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
args
|
||||||
end
|
end
|
||||||
|
|
||||||
function _signature_string(::Type{Val{:user}}, args...)
|
# ------------------------------------------------------------------
|
||||||
return string("(::", join(string.(typeof.(args)), ", ::"), ")")
|
# user recipes
|
||||||
end
|
|
||||||
_signature_string(::Type{Val{:type}}, T) = "(::Type{$T}, ::$T)"
|
|
||||||
_signature_string(::Type{Val{:plot}}, st) = "(::Type{Val{:$st}}, ::AbstractPlot)"
|
|
||||||
_signature_string(::Type{Val{:series}}, st) = "(::Type{Val{:$st}}, x, y, z)"
|
|
||||||
|
|
||||||
|
|
||||||
## Grouping
|
@noinline function _process_userrecipes(plt::Plot, plotattributes::KW, args)
|
||||||
|
still_to_process = RecipeData[]
|
||||||
|
args = _preprocess_args(plotattributes, args, still_to_process)
|
||||||
|
|
||||||
RecipesPipeline.splittable_attribute(plt::Plot, key, val::SeriesAnnotations, len) =
|
# for plotting recipes, swap out the args and update the parameter dictionary
|
||||||
RecipesPipeline.splittable_attribute(plt, key, val.strs, len)
|
# we are keeping a stack of series that still need to be processed.
|
||||||
|
# each pass through the loop, we pop one off and apply the recipe.
|
||||||
|
# the recipe will return a list a Series objects... the ones that are
|
||||||
|
# finished (no more args) get added to the kw_list, the ones that are not
|
||||||
|
# are placed on top of the stack and are then processed further.
|
||||||
|
kw_list = KW[]
|
||||||
|
while !isempty(still_to_process)
|
||||||
|
# grab the first in line to be processed and either add it to the kw_list or
|
||||||
|
# pass it through apply_recipe to generate a list of RecipeData objects (data + attributes)
|
||||||
|
# for further processing.
|
||||||
|
next_series = popfirst!(still_to_process)
|
||||||
|
# recipedata should be of type RecipeData. if it's not then the inputs must not have been fully processed by recipes
|
||||||
|
if !(typeof(next_series) <: RecipeData)
|
||||||
|
error("Inputs couldn't be processed... expected RecipeData but got: $next_series")
|
||||||
|
end
|
||||||
|
if isempty(next_series.args)
|
||||||
|
_process_userrecipe(plt, kw_list, next_series)
|
||||||
|
else
|
||||||
|
rd_list = RecipesBase.apply_recipe(next_series.plotattributes, next_series.args...)
|
||||||
|
prepend!(still_to_process,rd_list)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
function RecipesPipeline.split_attribute(plt::Plot, key, val::SeriesAnnotations, indices)
|
# don't allow something else to handle it
|
||||||
split_strs = _RecipesPipeline.split_attribute(key, val.strs, indices)
|
plotattributes[:smooth] = false
|
||||||
return SeriesAnnotations(split_strs, val.font, val.baseshape, val.scalefactor)
|
kw_list
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@noinline function _process_userrecipe(plt::Plot, kw_list::Vector{KW}, recipedata::RecipeData)
|
||||||
## Preprocessing attributes
|
# when the arg tuple is empty, that means there's nothing left to recursively
|
||||||
|
# process... finish up and add to the kw_list
|
||||||
RecipesPipeline.preprocess_attributes!(plt::Plot, plotattributes) =
|
kw = recipedata.plotattributes
|
||||||
RecipesPipeline.preprocess_attributes!(plotattributes) # in src/args.jl
|
preprocessArgs!(kw)
|
||||||
|
|
||||||
RecipesPipeline.is_axis_attribute(plt::Plot, attr) = is_axis_attr_noletter(attr) # in src/args.jl
|
|
||||||
|
|
||||||
RecipesPipeline.is_subplot_attribute(plt::Plot, attr) = is_subplot_attr(attr) # in src/args.jl
|
|
||||||
|
|
||||||
|
|
||||||
## User recipes
|
|
||||||
|
|
||||||
function RecipesPipeline.process_userrecipe!(plt::Plot, kw_list, kw)
|
|
||||||
_preprocess_userrecipe(kw)
|
_preprocess_userrecipe(kw)
|
||||||
warn_on_unsupported_scales(plt.backend, kw)
|
warnOnUnsupported_scales(plt.backend, kw)
|
||||||
|
|
||||||
# add the plot index
|
# add the plot index
|
||||||
plt.n += 1
|
plt.n += 1
|
||||||
kw[:series_plotindex] = plt.n
|
kw[:series_plotindex] = plt.n
|
||||||
@@ -79,20 +108,21 @@ function RecipesPipeline.process_userrecipe!(plt::Plot, kw_list, kw)
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
function _preprocess_userrecipe(kw::AKW)
|
@noinline function _preprocess_userrecipe(kw::KW)
|
||||||
_add_markershape(kw)
|
_add_markershape(kw)
|
||||||
|
|
||||||
|
# if there was a grouping, filter the data here
|
||||||
|
_filter_input_data!(kw)
|
||||||
|
|
||||||
# map marker_z if it's a Function
|
# map marker_z if it's a Function
|
||||||
if isa(get(kw, :marker_z, nothing), Function)
|
if isa(get(kw, :marker_z, nothing), Function)
|
||||||
# TODO: should this take y and/or z as arguments?
|
# TODO: should this take y and/or z as arguments?
|
||||||
kw[:marker_z] = isa(kw[:z], Nothing) ? map(kw[:marker_z], kw[:x], kw[:y]) :
|
kw[:marker_z] = isa(kw[:z], Nothing) ? map(kw[:marker_z], kw[:x], kw[:y]) : map(kw[:marker_z], kw[:x], kw[:y], kw[:z])
|
||||||
map(kw[:marker_z], kw[:x], kw[:y], kw[:z])
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# map line_z if it's a Function
|
# map line_z if it's a Function
|
||||||
if isa(get(kw, :line_z, nothing), Function)
|
if isa(get(kw, :line_z, nothing), Function)
|
||||||
kw[:line_z] = isa(kw[:z], Nothing) ? map(kw[:line_z], kw[:x], kw[:y]) :
|
kw[:line_z] = isa(kw[:z], Nothing) ? map(kw[:line_z], kw[:x], kw[:y]) : map(kw[:line_z], kw[:x], kw[:y], kw[:z])
|
||||||
map(kw[:line_z], kw[:x], kw[:y], kw[:z])
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# convert a ribbon into a fillrange
|
# convert a ribbon into a fillrange
|
||||||
@@ -102,10 +132,10 @@ function _preprocess_userrecipe(kw::AKW)
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
function _add_errorbar_kw(kw_list::Vector{KW}, kw::AKW)
|
@noinline function _add_errorbar_kw(kw_list::Vector{KW}, kw::KW)
|
||||||
# handle error bars by creating new recipedata data... these will have
|
# handle error bars by creating new recipedata data... these will have
|
||||||
# the same recipedata index as the recipedata they are copied from
|
# the same recipedata index as the recipedata they are copied from
|
||||||
for esym in (:xerror, :yerror, :zerror)
|
for esym in (:xerror, :yerror)
|
||||||
if get(kw, esym, nothing) !== nothing
|
if get(kw, esym, nothing) !== nothing
|
||||||
# we make a copy of the KW and apply an errorbar recipe
|
# we make a copy of the KW and apply an errorbar recipe
|
||||||
errkw = copy(kw)
|
errkw = copy(kw)
|
||||||
@@ -117,65 +147,65 @@ function _add_errorbar_kw(kw_list::Vector{KW}, kw::AKW)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function _add_smooth_kw(kw_list::Vector{KW}, kw::AKW)
|
@noinline function _add_smooth_kw(kw_list::Vector{KW}, kw::KW)
|
||||||
# handle smoothing by adding a new series
|
# handle smoothing by adding a new series
|
||||||
if get(kw, :smooth, false)
|
if get(kw, :smooth, false)
|
||||||
x, y = kw[:x], kw[:y]
|
x, y = kw[:x], kw[:y]
|
||||||
β, α = convert(Matrix{Float64}, [x ones(length(x))]) \ convert(Vector{Float64}, y)
|
β, α = convert(Matrix{Float64}, [x ones(length(x))]) \ convert(Vector{Float64}, y)
|
||||||
sx = [ignorenan_minimum(x), ignorenan_maximum(x)]
|
sx = [ignorenan_minimum(x), ignorenan_maximum(x)]
|
||||||
sy = β .* sx .+ α
|
sy = β .* sx .+ α
|
||||||
push!(
|
push!(kw_list, merge(copy(kw), KW(
|
||||||
kw_list,
|
:seriestype => :path,
|
||||||
merge(
|
:x => sx,
|
||||||
copy(kw),
|
:y => sy,
|
||||||
KW(
|
:fillrange => nothing,
|
||||||
:seriestype => :path,
|
:label => "",
|
||||||
:x => sx,
|
:primary => false,
|
||||||
:y => sy,
|
)))
|
||||||
:fillrange => nothing,
|
|
||||||
:label => "",
|
|
||||||
:primary => false,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# ------------------------------------------------------------------
|
||||||
|
# plot recipes
|
||||||
|
|
||||||
RecipesPipeline.get_axis_limits(plt::Plot, f, letter) = axis_limits(plt[1], letter)
|
# Grab the first in line to be processed and pass it through apply_recipe
|
||||||
|
# to generate a list of RecipeData objects (data + attributes).
|
||||||
|
# If we applied a "plot recipe" without error, then add the returned datalist's KWs,
|
||||||
## Plot recipes
|
# otherwise we just add the original KW.
|
||||||
|
function _process_plotrecipe(plt::Plot, kw::KW, kw_list::Vector{KW}, still_to_process::Vector{KW})
|
||||||
RecipesPipeline.type_alias(plt::Plot) = get(_typeAliases, st, st)
|
if !isa(get(kw, :seriestype, nothing), Symbol)
|
||||||
|
# seriestype was never set, or it's not a Symbol, so it can't be a plot recipe
|
||||||
|
push!(kw_list, kw)
|
||||||
## Plot setup
|
return
|
||||||
|
end
|
||||||
function RecipesPipeline.plot_setup!(plt::Plot, plotattributes, kw_list)
|
try
|
||||||
_plot_setup(plt, plotattributes, kw_list)
|
st = kw[:seriestype]
|
||||||
_subplot_setup(plt, plotattributes, kw_list)
|
st = kw[:seriestype] = get(_typeAliases, st, st)
|
||||||
return nothing
|
datalist = RecipesBase.apply_recipe(kw, Val{st}, plt)
|
||||||
end
|
for data in datalist
|
||||||
|
preprocessArgs!(data.plotattributes)
|
||||||
function RecipesPipeline.process_sliced_series_attributes!(plt::Plots.Plot, kw_list)
|
if data.plotattributes[:seriestype] == st
|
||||||
# swap errors
|
error("Plot recipe $st returned the same seriestype: $(data.plotattributes)")
|
||||||
err_inds = findall(kw -> get(kw, :seriestype, :path) in (:xerror, :yerror, :zerror), kw_list)
|
end
|
||||||
for ind in err_inds
|
push!(still_to_process, data.plotattributes)
|
||||||
if get(kw_list[ind-1],:seriestype,:path) == :scatter
|
end
|
||||||
tmp = copy(kw_list[ind])
|
catch err
|
||||||
kw_list[ind] = copy(kw_list[ind-1])
|
if isa(err, MethodError)
|
||||||
kw_list[ind-1] = tmp
|
push!(kw_list, kw)
|
||||||
|
else
|
||||||
|
rethrow()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return nothing
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
# TODO: Should some of this logic be moved to RecipesPipeline?
|
# ------------------------------------------------------------------
|
||||||
function _plot_setup(plt::Plot, plotattributes::AKW, kw_list::Vector{KW})
|
# setup plot and subplot
|
||||||
|
|
||||||
|
function _plot_setup(plt::Plot{T}, plotattributes::KW, kw_list::Vector{KW}) where {T}
|
||||||
# merge in anything meant for the Plot
|
# merge in anything meant for the Plot
|
||||||
for kw in kw_list, (k, v) in kw
|
for kw in kw_list, (k,v) in kw
|
||||||
haskey(_plot_defaults, k) && (plotattributes[k] = pop!(kw, k))
|
haskey(_plot_defaults, k) && (plotattributes[k] = pop!(kw, k))
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -186,7 +216,7 @@ function _plot_setup(plt::Plot, plotattributes::AKW, kw_list::Vector{KW})
|
|||||||
|
|
||||||
# create the layout and subplots from the inputs
|
# create the layout and subplots from the inputs
|
||||||
plt.layout, plt.subplots, plt.spmap = build_layout(plt.attr)
|
plt.layout, plt.subplots, plt.spmap = build_layout(plt.attr)
|
||||||
for (idx, sp) in enumerate(plt.subplots)
|
for (idx,sp) in enumerate(plt.subplots)
|
||||||
sp.plt = plt
|
sp.plt = plt
|
||||||
sp.attr[:subplot_index] = idx
|
sp.attr[:subplot_index] = idx
|
||||||
end
|
end
|
||||||
@@ -211,7 +241,7 @@ function _plot_setup(plt::Plot, plotattributes::AKW, kw_list::Vector{KW})
|
|||||||
else
|
else
|
||||||
parent = plt.layout
|
parent = plt.layout
|
||||||
end
|
end
|
||||||
sp = Subplot(backend(), parent = parent)
|
sp = Subplot(backend(), parent=parent)
|
||||||
sp.plt = plt
|
sp.plt = plt
|
||||||
push!(plt.subplots, sp)
|
push!(plt.subplots, sp)
|
||||||
push!(plt.inset_subplots, sp)
|
push!(plt.inset_subplots, sp)
|
||||||
@@ -222,39 +252,32 @@ function _plot_setup(plt::Plot, plotattributes::AKW, kw_list::Vector{KW})
|
|||||||
plt[:inset_subplots] = nothing
|
plt[:inset_subplots] = nothing
|
||||||
end
|
end
|
||||||
|
|
||||||
function _subplot_setup(plt::Plot, plotattributes::AKW, kw_list::Vector{KW})
|
function _subplot_setup(plt::Plot{T}, plotattributes::KW, kw_list::Vector{KW}) where T
|
||||||
# we'll keep a map of subplot to an attribute override dict.
|
# we'll keep a map of subplot to an attribute override dict.
|
||||||
# Subplot/Axis attributes set by a user/series recipe apply only to the
|
# Subplot/Axis attributes set by a user/series recipe apply only to the
|
||||||
# Subplot object which they belong to.
|
# Subplot object which they belong to.
|
||||||
# TODO: allow matrices to still apply to all subplots
|
# TODO: allow matrices to still apply to all subplots
|
||||||
sp_attrs = Dict{Subplot, Any}()
|
sp_attrs = Dict{Any,Any}()
|
||||||
for kw in kw_list
|
for kw in kw_list
|
||||||
# get the Subplot object to which the series belongs.
|
# get the Subplot object to which the series belongs.
|
||||||
sps = get(kw, :subplot, :auto)
|
sps = get(kw, :subplot, :auto)
|
||||||
sp = get_subplot(
|
sp = get_subplot(plt, _cycle(sps == :auto ? plt.subplots : plt.subplots[sps], command_idx(kw_list,kw)))
|
||||||
plt,
|
|
||||||
_cycle(
|
|
||||||
sps == :auto ? plt.subplots : plt.subplots[sps],
|
|
||||||
series_idx(kw_list, kw),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
kw[:subplot] = sp
|
kw[:subplot] = sp
|
||||||
|
|
||||||
# extract subplot/axis attributes from kw and add to sp_attr
|
# extract subplot/axis attributes from kw and add to sp_attr
|
||||||
attr = KW()
|
attr = KW()
|
||||||
for (k, v) in collect(kw)
|
for (k,v) in collect(kw)
|
||||||
if is_subplot_attr(k) || is_axis_attr(k)
|
if haskey(_subplot_defaults, k) || haskey(_axis_defaults_byletter, k)
|
||||||
attr[k] = pop!(kw, k)
|
attr[k] = pop!(kw, k)
|
||||||
end
|
end
|
||||||
if is_axis_attr_noletter(k)
|
if haskey(_axis_defaults, k)
|
||||||
v = pop!(kw, k)
|
v = pop!(kw, k)
|
||||||
for letter in (:x, :y, :z)
|
for letter in (:x,:y,:z)
|
||||||
attr[Symbol(letter, k)] = v
|
attr[Symbol(letter,k)] = v
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
for k in (:scale,), letter in (:x, :y, :z)
|
for k in (:scale,), letter in (:x,:y,:z)
|
||||||
# Series recipes may need access to this information
|
# Series recipes may need access to this information
|
||||||
lk = Symbol(letter, k)
|
lk = Symbol(letter,k)
|
||||||
if haskey(attr, lk)
|
if haskey(attr, lk)
|
||||||
kw[lk] = attr[lk]
|
kw[lk] = attr[lk]
|
||||||
end
|
end
|
||||||
@@ -264,7 +287,7 @@ function _subplot_setup(plt::Plot, plotattributes::AKW, kw_list::Vector{KW})
|
|||||||
end
|
end
|
||||||
|
|
||||||
# override subplot/axis args. `sp_attrs` take precendence
|
# override subplot/axis args. `sp_attrs` take precendence
|
||||||
for (idx, sp) in enumerate(plt.subplots)
|
for (idx,sp) in enumerate(plt.subplots)
|
||||||
attr = if !haskey(plotattributes, :subplot) || plotattributes[:subplot] == idx
|
attr = if !haskey(plotattributes, :subplot) || plotattributes[:subplot] == idx
|
||||||
merge(plotattributes, get(sp_attrs, sp, KW()))
|
merge(plotattributes, get(sp_attrs, sp, KW()))
|
||||||
else
|
else
|
||||||
@@ -277,35 +300,9 @@ function _subplot_setup(plt::Plot, plotattributes::AKW, kw_list::Vector{KW})
|
|||||||
link_axes!(plt.layout, plt[:link])
|
link_axes!(plt.layout, plt[:link])
|
||||||
end
|
end
|
||||||
|
|
||||||
function series_idx(kw_list::AVec{KW}, kw::AKW)
|
|
||||||
Int(kw[:series_plotindex]) - Int(kw_list[1][:series_plotindex]) + 1
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
## Series recipes
|
|
||||||
|
|
||||||
function RecipesPipeline.slice_series_attributes!(plt::Plot, kw_list, kw)
|
|
||||||
sp::Subplot = kw[:subplot]
|
|
||||||
# in series attributes given as vector with one element per series,
|
|
||||||
# select the value for current series
|
|
||||||
_slice_series_args!(kw, plt, sp, series_idx(kw_list, kw))
|
|
||||||
return nothing
|
|
||||||
end
|
|
||||||
|
|
||||||
RecipesPipeline.series_defaults(plt::Plot) = _series_defaults # in args.jl
|
|
||||||
|
|
||||||
RecipesPipeline.is_seriestype_supported(plt::Plot, st) = is_seriestype_supported(st)
|
|
||||||
|
|
||||||
function RecipesPipeline.add_series!(plt::Plot, plotattributes)
|
|
||||||
sp = _prepare_subplot(plt, plotattributes)
|
|
||||||
_expand_subplot_extrema(sp, plotattributes, plotattributes[:seriestype])
|
|
||||||
_update_series_attributes!(plotattributes, plt, sp)
|
|
||||||
_add_the_series(plt, sp, plotattributes)
|
|
||||||
end
|
|
||||||
|
|
||||||
# getting ready to add the series... last update to subplot from anything
|
# getting ready to add the series... last update to subplot from anything
|
||||||
# that might have been added during series recipes
|
# that might have been added during series recipes
|
||||||
function _prepare_subplot(plt::Plot{T}, plotattributes::AKW) where {T}
|
@noinline function _prepare_subplot(plt::Plot{T}, plotattributes::KW) where T
|
||||||
st::Symbol = plotattributes[:seriestype]
|
st::Symbol = plotattributes[:seriestype]
|
||||||
sp::Subplot{T} = plotattributes[:subplot]
|
sp::Subplot{T} = plotattributes[:subplot]
|
||||||
sp_idx = get_subplot_index(plt, sp)
|
sp_idx = get_subplot_index(plt, sp)
|
||||||
@@ -314,7 +311,7 @@ function _prepare_subplot(plt::Plot{T}, plotattributes::AKW) where {T}
|
|||||||
st = _override_seriestype_check(plotattributes, st)
|
st = _override_seriestype_check(plotattributes, st)
|
||||||
|
|
||||||
# change to a 3d projection for this subplot?
|
# change to a 3d projection for this subplot?
|
||||||
if RecipesPipeline.needs_3d_axes(st)
|
if is3d(st)
|
||||||
sp.attr[:projection] = "3d"
|
sp.attr[:projection] = "3d"
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -326,12 +323,14 @@ function _prepare_subplot(plt::Plot{T}, plotattributes::AKW) where {T}
|
|||||||
sp
|
sp
|
||||||
end
|
end
|
||||||
|
|
||||||
function _override_seriestype_check(plotattributes::AKW, st::Symbol)
|
# ------------------------------------------------------------------
|
||||||
|
# series types
|
||||||
|
|
||||||
|
@noinline function _override_seriestype_check(plotattributes::KW, st::Symbol)
|
||||||
# do we want to override the series type?
|
# do we want to override the series type?
|
||||||
if !RecipesPipeline.is3d(st) && !(st in (:contour, :contour3d))
|
if !is3d(st) && !(st in (:contour,:contour3d))
|
||||||
z = plotattributes[:z]
|
z = plotattributes[:z]
|
||||||
if !isa(z, Nothing) &&
|
if !isa(z, Nothing) && (size(plotattributes[:x]) == size(plotattributes[:y]) == size(z))
|
||||||
(size(plotattributes[:x]) == size(plotattributes[:y]) == size(z))
|
|
||||||
st = (st == :scatter ? :scatter3d : :path3d)
|
st = (st == :scatter ? :scatter3d : :path3d)
|
||||||
plotattributes[:seriestype] = st
|
plotattributes[:seriestype] = st
|
||||||
end
|
end
|
||||||
@@ -339,14 +338,30 @@ function _override_seriestype_check(plotattributes::AKW, st::Symbol)
|
|||||||
st
|
st
|
||||||
end
|
end
|
||||||
|
|
||||||
function _expand_subplot_extrema(sp::Subplot, plotattributes::AKW, st::Symbol)
|
@noinline function _prepare_annotations(sp::Subplot, plotattributes::KW)
|
||||||
|
# strip out series annotations (those which are based on series x/y coords)
|
||||||
|
# and add them to the subplot attr
|
||||||
|
sp_anns = annotations(sp[:annotations])
|
||||||
|
# series_anns = annotations(pop!(plotattributes, :series_annotations, []))
|
||||||
|
# if isa(series_anns, SeriesAnnotations)
|
||||||
|
# series_anns.x = plotattributes[:x]
|
||||||
|
# series_anns.y = plotattributes[:y]
|
||||||
|
# elseif length(series_anns) > 0
|
||||||
|
# x, y = plotattributes[:x], plotattributes[:y]
|
||||||
|
# nx, ny, na = map(length, (x,y,series_anns))
|
||||||
|
# n = max(nx, ny, na)
|
||||||
|
# series_anns = [(x[mod1(i,nx)], y[mod1(i,ny)], text(series_anns[mod1(i,na)])) for i=1:n]
|
||||||
|
# end
|
||||||
|
# sp.attr[:annotations] = vcat(sp_anns, series_anns)
|
||||||
|
end
|
||||||
|
|
||||||
|
function _expand_subplot_extrema(sp::Subplot, plotattributes::KW, st::Symbol)
|
||||||
# adjust extrema and discrete info
|
# adjust extrema and discrete info
|
||||||
if st == :image
|
if st == :image
|
||||||
xmin, xmax = ignorenan_extrema(plotattributes[:x])
|
xmin, xmax = ignorenan_extrema(plotattributes[:x]); ymin, ymax = ignorenan_extrema(plotattributes[:y])
|
||||||
ymin, ymax = ignorenan_extrema(plotattributes[:y])
|
|
||||||
expand_extrema!(sp[:xaxis], (xmin, xmax))
|
expand_extrema!(sp[:xaxis], (xmin, xmax))
|
||||||
expand_extrema!(sp[:yaxis], (ymin, ymax))
|
expand_extrema!(sp[:yaxis], (ymin, ymax))
|
||||||
elseif !(st in (:histogram, :bins2d, :histogram2d))
|
elseif !(st in (:pie, :histogram, :bins2d, :histogram2d))
|
||||||
expand_extrema!(sp, plotattributes)
|
expand_extrema!(sp, plotattributes)
|
||||||
end
|
end
|
||||||
# expand for zerolines (axes through origin)
|
# expand for zerolines (axes through origin)
|
||||||
@@ -356,24 +371,54 @@ function _expand_subplot_extrema(sp::Subplot, plotattributes::AKW, st::Symbol)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function _add_the_series(plt, sp, plotattributes)
|
@noinline function _add_the_series(plt, sp, plotattributes)
|
||||||
extra_kwargs = warn_on_unsupported_args(plt.backend, plotattributes)
|
warnOnUnsupported_args(plt.backend, plotattributes)
|
||||||
if (kw = plt[:extra_kwargs]) isa AbstractDict
|
warnOnUnsupported(plt.backend, plotattributes)
|
||||||
plt[:extra_plot_kwargs] = get(kw,:plot,KW())
|
|
||||||
sp[:extra_kwargs] = get(kw,:subplot, KW())
|
|
||||||
plotattributes[:extra_kwargs] = get(kw,:series,KW())
|
|
||||||
elseif plt[:extra_kwargs] == :plot
|
|
||||||
plt[:extra_plot_kwargs] = extra_kwargs
|
|
||||||
elseif plt[:extra_kwargs] == :subplot
|
|
||||||
sp[:extra_kwargs] = extra_kwargs
|
|
||||||
elseif plt[:extra_kwargs] == :series
|
|
||||||
plotattributes[:extra_kwargs] = extra_kwargs
|
|
||||||
else
|
|
||||||
ArgumentError("Unsupported type for extra keyword arguments")
|
|
||||||
end
|
|
||||||
warn_on_unsupported(plt.backend, plotattributes)
|
|
||||||
series = Series(plotattributes)
|
series = Series(plotattributes)
|
||||||
push!(plt.series_list, series)
|
push!(plt.series_list, series)
|
||||||
push!(sp.series_list, series)
|
push!(sp.series_list, series)
|
||||||
_series_added(plt, series)
|
_series_added(plt, series)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# -------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# this method recursively applies series recipes when the seriestype is not supported
|
||||||
|
# natively by the backend
|
||||||
|
function _process_seriesrecipe(plt::Plot, plotattributes::KW)
|
||||||
|
# replace seriestype aliases
|
||||||
|
st = Symbol(plotattributes[:seriestype])
|
||||||
|
st = plotattributes[:seriestype] = get(_typeAliases, st, st)
|
||||||
|
|
||||||
|
# shapes shouldn't have fillrange set
|
||||||
|
if plotattributes[:seriestype] == :shape
|
||||||
|
plotattributes[:fillrange] = nothing
|
||||||
|
end
|
||||||
|
|
||||||
|
# if it's natively supported, finalize processing and pass along to the backend, otherwise recurse
|
||||||
|
if is_seriestype_supported(st)
|
||||||
|
sp = _prepare_subplot(plt, plotattributes)
|
||||||
|
_prepare_annotations(sp, plotattributes)
|
||||||
|
_expand_subplot_extrema(sp, plotattributes, st)
|
||||||
|
_update_series_attributes!(plotattributes, plt, sp)
|
||||||
|
_add_the_series(plt, sp, plotattributes)
|
||||||
|
|
||||||
|
else
|
||||||
|
# get a sub list of series for this seriestype
|
||||||
|
datalist = RecipesBase.apply_recipe(plotattributes, Val{st}, plotattributes[:x], plotattributes[:y], plotattributes[:z])
|
||||||
|
|
||||||
|
# assuming there was no error, recursively apply the series recipes
|
||||||
|
for data in datalist
|
||||||
|
if isa(data, RecipeData)
|
||||||
|
preprocessArgs!(data.plotattributes)
|
||||||
|
if data.plotattributes[:seriestype] == st
|
||||||
|
error("The seriestype didn't change in series recipe $st. This will cause a StackOverflow.")
|
||||||
|
end
|
||||||
|
_process_seriesrecipe(plt, data.plotattributes)
|
||||||
|
else
|
||||||
|
@warn("Unhandled recipe: $(data)")
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
nothing
|
||||||
|
end
|
||||||
|
|||||||
+105
-19
@@ -4,19 +4,19 @@ mutable struct CurrentPlot
|
|||||||
end
|
end
|
||||||
const CURRENT_PLOT = CurrentPlot(nothing)
|
const CURRENT_PLOT = CurrentPlot(nothing)
|
||||||
|
|
||||||
isplotnull() = CURRENT_PLOT.nullableplot === nothing
|
@noinline isplotnull() = CURRENT_PLOT.nullableplot === nothing
|
||||||
|
|
||||||
"""
|
"""
|
||||||
current()
|
current()
|
||||||
Returns the Plot object for the current plot
|
Returns the Plot object for the current plot
|
||||||
"""
|
"""
|
||||||
function current()
|
@noinline function current()
|
||||||
if isplotnull()
|
if isplotnull()
|
||||||
error("No current plot/subplot")
|
error("No current plot/subplot")
|
||||||
end
|
end
|
||||||
CURRENT_PLOT.nullableplot
|
CURRENT_PLOT.nullableplot
|
||||||
end
|
end
|
||||||
current(plot::AbstractPlot) = (CURRENT_PLOT.nullableplot = plot)
|
@noinline current(plot::AbstractPlot) = (CURRENT_PLOT.nullableplot = plot)
|
||||||
|
|
||||||
# ---------------------------------------------------------
|
# ---------------------------------------------------------
|
||||||
|
|
||||||
@@ -25,9 +25,9 @@ Base.string(plt::Plot) = "Plot{$(plt.backend) n=$(plt.n)}"
|
|||||||
Base.print(io::IO, plt::Plot) = print(io, string(plt))
|
Base.print(io::IO, plt::Plot) = print(io, string(plt))
|
||||||
Base.show(io::IO, plt::Plot) = print(io, string(plt))
|
Base.show(io::IO, plt::Plot) = print(io, string(plt))
|
||||||
|
|
||||||
getplot(plt::Plot) = plt
|
@noinline getplot(plt::Plot) = plt
|
||||||
getattr(plt::Plot, idx::Int = 1) = plt.attr
|
@noinline getattr(plt::Plot, idx::Int = 1) = plt.attr
|
||||||
convertSeriesIndex(plt::Plot, n::Int) = n
|
@noinline convertSeriesIndex(plt::Plot, n::Int) = n
|
||||||
|
|
||||||
# ---------------------------------------------------------
|
# ---------------------------------------------------------
|
||||||
|
|
||||||
@@ -49,19 +49,18 @@ as a String to look up its docstring; e.g. `plotattr("seriestype")`.
|
|||||||
function plot(args...; kw...)
|
function plot(args...; kw...)
|
||||||
# this creates a new plot with args/kw and sets it to be the current plot
|
# this creates a new plot with args/kw and sets it to be the current plot
|
||||||
plotattributes = KW(kw)
|
plotattributes = KW(kw)
|
||||||
RecipesPipeline.preprocess_attributes!(plotattributes)
|
preprocessArgs!(plotattributes)
|
||||||
|
|
||||||
# create an empty Plot then process
|
# create an empty Plot then process
|
||||||
plt = Plot()
|
plt = Plot()
|
||||||
# plt.user_attr = plotattributes
|
# plt.user_attr = plotattributes
|
||||||
_plot!(plt, plotattributes, args)
|
_plot!(plt, plotattributes, Any[args...])
|
||||||
end
|
end
|
||||||
|
|
||||||
# build a new plot from existing plots
|
# build a new plot from existing plots
|
||||||
# note: we split into plt1 and plts_tail so we can dispatch correctly
|
# note: we split into plt1 and plts_tail so we can dispatch correctly
|
||||||
function plot(plt1::Plot, plts_tail::Plot...; kw...)
|
function plot(plt1::Plot, plts_tail::Plot...; kw...)
|
||||||
plotattributes = KW(kw)
|
plotattributes = KW(kw)
|
||||||
RecipesPipeline.preprocess_attributes!(plotattributes)
|
preprocessArgs!(plotattributes)
|
||||||
|
|
||||||
# build our plot vector from the args
|
# build our plot vector from the args
|
||||||
n = length(plts_tail) + 1
|
n = length(plts_tail) + 1
|
||||||
@@ -96,7 +95,7 @@ function plot(plt1::Plot, plts_tail::Plot...; kw...)
|
|||||||
|
|
||||||
series_attr = KW()
|
series_attr = KW()
|
||||||
for (k,v) in plotattributes
|
for (k,v) in plotattributes
|
||||||
if is_series_attr(k)
|
if haskey(_series_defaults, k)
|
||||||
series_attr[k] = pop!(plotattributes,k)
|
series_attr[k] = pop!(plotattributes,k)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -119,7 +118,7 @@ function plot(plt1::Plot, plts_tail::Plot...; kw...)
|
|||||||
sp.attr[:subplot_index] = idx
|
sp.attr[:subplot_index] = idx
|
||||||
for series in serieslist
|
for series in serieslist
|
||||||
merge!(series.plotattributes, series_attr)
|
merge!(series.plotattributes, series_attr)
|
||||||
_slice_series_args!(series.plotattributes, plt, sp, cmdidx)
|
_add_defaults!(series.plotattributes, plt, sp, cmdidx)
|
||||||
push!(plt.series_list, series)
|
push!(plt.series_list, series)
|
||||||
_series_added(plt, series)
|
_series_added(plt, series)
|
||||||
cmdidx += 1
|
cmdidx += 1
|
||||||
@@ -153,9 +152,9 @@ end
|
|||||||
# this adds to a specific plot... most plot commands will flow through here
|
# this adds to a specific plot... most plot commands will flow through here
|
||||||
function plot!(plt::Plot, args...; kw...)
|
function plot!(plt::Plot, args...; kw...)
|
||||||
plotattributes = KW(kw)
|
plotattributes = KW(kw)
|
||||||
RecipesPipeline.preprocess_attributes!(plotattributes)
|
preprocessArgs!(plotattributes)
|
||||||
# merge!(plt.user_attr, plotattributes)
|
# merge!(plt.user_attr, plotattributes)
|
||||||
_plot!(plt, plotattributes, args)
|
_plot!(plt, plotattributes, Any[args...])
|
||||||
end
|
end
|
||||||
|
|
||||||
# -------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------
|
||||||
@@ -163,17 +162,101 @@ end
|
|||||||
# this is the core plotting function. recursively apply recipes to build
|
# this is the core plotting function. recursively apply recipes to build
|
||||||
# a list of series KW dicts.
|
# a list of series KW dicts.
|
||||||
# note: at entry, we only have those preprocessed args which were passed in... no default values yet
|
# note: at entry, we only have those preprocessed args which were passed in... no default values yet
|
||||||
function _plot!(plt::Plot, plotattributes, args)
|
function _plot!(plt::Plot{T}, plotattributes::KW, args::Vector{Any}) where {T}
|
||||||
RecipesPipeline.recipe_pipeline!(plt, plotattributes, args)
|
plotattributes[:plot_object] = plt
|
||||||
|
|
||||||
|
|
||||||
|
if !isempty(args) && !isdefined(Main, :StatsPlots) &&
|
||||||
|
first(split(string(typeof(args[1])), ".")) == "DataFrames"
|
||||||
|
@warn("You're trying to plot a DataFrame, but this functionality is provided by StatsPlots")
|
||||||
|
end
|
||||||
|
|
||||||
|
# --------------------------------
|
||||||
|
# "USER RECIPES"
|
||||||
|
# --------------------------------
|
||||||
|
|
||||||
|
# 1 second
|
||||||
|
kw_list = _process_userrecipes(plt, plotattributes, args)
|
||||||
|
|
||||||
|
# @info(1)
|
||||||
|
# map(DD, kw_list)
|
||||||
|
|
||||||
|
|
||||||
|
# --------------------------------
|
||||||
|
# "PLOT RECIPES"
|
||||||
|
# --------------------------------
|
||||||
|
|
||||||
|
# "plot recipe", which acts like a series type, and is processed before
|
||||||
|
# the plot layout is created, which allows for setting layouts and other plot-wide attributes.
|
||||||
|
# we get inputs which have been fully processed by "user recipes" and "type recipes",
|
||||||
|
# so we can expect standard vectors, surfaces, etc. No defaults have been set yet.
|
||||||
|
|
||||||
|
still_to_process = kw_list
|
||||||
|
kw_list = KW[]
|
||||||
|
while !isempty(still_to_process)
|
||||||
|
next_kw = popfirst!(still_to_process)
|
||||||
|
_process_plotrecipe(plt, next_kw, kw_list, still_to_process)
|
||||||
|
end
|
||||||
|
|
||||||
|
# @info(2)
|
||||||
|
# map(DD, kw_list)
|
||||||
|
|
||||||
|
# --------------------------------
|
||||||
|
# Plot/Subplot/Layout setup
|
||||||
|
# --------------------------------
|
||||||
|
|
||||||
|
# 2.5 seconds
|
||||||
|
_plot_setup(plt, plotattributes, kw_list)
|
||||||
|
|
||||||
|
# 6 seconds
|
||||||
|
_subplot_setup(plt, plotattributes, kw_list)
|
||||||
|
|
||||||
|
# !!! note: At this point, kw_list is fully decomposed into individual series... one KW per series. !!!
|
||||||
|
# !!! The next step is to recursively apply series recipes until the backend supports that series type !!!
|
||||||
|
|
||||||
|
# --------------------------------
|
||||||
|
# "SERIES RECIPES"
|
||||||
|
# --------------------------------
|
||||||
|
|
||||||
|
# @info(3)
|
||||||
|
# map(DD, kw_list)
|
||||||
|
|
||||||
|
for kw in kw_list
|
||||||
|
sp::Subplot{T} = kw[:subplot]
|
||||||
|
# idx = get_subplot_index(plt, sp)
|
||||||
|
|
||||||
|
# # we update subplot args in case something like the color palatte is part of the recipe
|
||||||
|
# _update_subplot_args(plt, sp, kw, idx, true)
|
||||||
|
|
||||||
|
# set default values, select from attribute cycles, and generally set the final attributes
|
||||||
|
_add_defaults!(kw, plt, sp, command_idx(kw_list,kw))
|
||||||
|
|
||||||
|
# now we have a fully specified series, with colors chosen. we must recursively handle
|
||||||
|
# series recipes, which dispatch on seriestype. If a backend does not natively support a seriestype,
|
||||||
|
# we check for a recipe that will convert that series type into one made up of lower-level components.
|
||||||
|
# For example, a histogram is just a bar plot with binned data, a bar plot is really a filled step plot,
|
||||||
|
# and a step plot is really just a path. So any backend that supports drawing a path will implicitly
|
||||||
|
# be able to support step, bar, and histogram plots (and any recipes that use those components).
|
||||||
|
_process_seriesrecipe(plt, kw)
|
||||||
|
end
|
||||||
|
# --------------------------------
|
||||||
|
|
||||||
|
# 7 seconds
|
||||||
current(plt)
|
current(plt)
|
||||||
|
|
||||||
|
# do we want to force display?
|
||||||
|
# if plt[:show]
|
||||||
|
# gui(plt)
|
||||||
|
# end
|
||||||
_do_plot_show(plt, plt[:show])
|
_do_plot_show(plt, plt[:show])
|
||||||
return plt
|
plt
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
# we're getting ready to display/output. prep for layout calcs, then update
|
# we're getting ready to display/output. prep for layout calcs, then update
|
||||||
# the plot object after
|
# the plot object after
|
||||||
function prepare_output(plt::Plot)
|
@noinline function prepare_output(plt::Plot)
|
||||||
|
|
||||||
_before_layout_calcs(plt)
|
_before_layout_calcs(plt)
|
||||||
|
|
||||||
w, h = plt.attr[:size]
|
w, h = plt.attr[:size]
|
||||||
@@ -194,9 +277,10 @@ function prepare_output(plt::Plot)
|
|||||||
|
|
||||||
# the backend callback, to reposition subplots, etc
|
# the backend callback, to reposition subplots, etc
|
||||||
_update_plot_object(plt)
|
_update_plot_object(plt)
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
function backend_object(plt::Plot)
|
@noinline function backend_object(plt::Plot)
|
||||||
prepare_output(plt)
|
prepare_output(plt)
|
||||||
plt.o
|
plt.o
|
||||||
end
|
end
|
||||||
@@ -212,3 +296,5 @@ function plot!(sp::Subplot, args...; kw...)
|
|||||||
plt = sp.plt
|
plt = sp.plt
|
||||||
plot!(plt, args...; kw..., subplot = findfirst(isequal(sp), plt.subplots))
|
plot!(plt, args...; kw..., subplot = findfirst(isequal(sp), plt.subplots))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# --------------------------------------------------------------------
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
function _precompile_()
|
||||||
|
ccall(:jl_generating_output, Cint, ()) == 1 || return nothing
|
||||||
|
end
|
||||||
@@ -1,88 +0,0 @@
|
|||||||
should_precompile = true
|
|
||||||
|
|
||||||
|
|
||||||
# Don't edit the following! Instead change the script for `snoop_bot`.
|
|
||||||
ismultios = true
|
|
||||||
ismultiversion = true
|
|
||||||
# precompile_enclosure
|
|
||||||
@static if !should_precompile
|
|
||||||
# nothing
|
|
||||||
elseif !ismultios && !ismultiversion
|
|
||||||
include("../deps/SnoopCompile/precompile/precompile_Plots.jl")
|
|
||||||
_precompile_()
|
|
||||||
else
|
|
||||||
@static if Sys.islinux()
|
|
||||||
@static if v"1.3.0-DEV" <= VERSION <= v"1.3.9"
|
|
||||||
include("../deps/SnoopCompile/precompile/linux/1.3/precompile_Plots.jl")
|
|
||||||
_precompile_()
|
|
||||||
elseif v"1.4.0-DEV" <= VERSION <= v"1.4.9"
|
|
||||||
include("../deps/SnoopCompile/precompile/linux/1.4/precompile_Plots.jl")
|
|
||||||
_precompile_()
|
|
||||||
elseif v"1.5.0-DEV" <= VERSION <= v"1.5.9"
|
|
||||||
include("../deps/SnoopCompile/precompile/linux/1.5/precompile_Plots.jl")
|
|
||||||
_precompile_()
|
|
||||||
elseif v"1.6.0-DEV" <= VERSION <= v"1.6.9"
|
|
||||||
include("../deps/SnoopCompile/precompile/linux/1.6/precompile_Plots.jl")
|
|
||||||
_precompile_()
|
|
||||||
else
|
|
||||||
include("../deps/SnoopCompile/precompile/linux/1.4/precompile_Plots.jl")
|
|
||||||
_precompile_()
|
|
||||||
end
|
|
||||||
|
|
||||||
elseif Sys.iswindows()
|
|
||||||
@static if v"1.3.0-DEV" <= VERSION <= v"1.3.9"
|
|
||||||
include("../deps/SnoopCompile/precompile/windows/1.3/precompile_Plots.jl")
|
|
||||||
_precompile_()
|
|
||||||
elseif v"1.4.0-DEV" <= VERSION <= v"1.4.9"
|
|
||||||
include("../deps/SnoopCompile/precompile/windows/1.4/precompile_Plots.jl")
|
|
||||||
_precompile_()
|
|
||||||
elseif v"1.5.0-DEV" <= VERSION <= v"1.5.9"
|
|
||||||
include("../deps/SnoopCompile/precompile/windows/1.5/precompile_Plots.jl")
|
|
||||||
_precompile_()
|
|
||||||
elseif v"1.6.0-DEV" <= VERSION <= v"1.6.9"
|
|
||||||
include("../deps/SnoopCompile/precompile/windows/1.6/precompile_Plots.jl")
|
|
||||||
_precompile_()
|
|
||||||
else
|
|
||||||
include("../deps/SnoopCompile/precompile/windows/1.4/precompile_Plots.jl")
|
|
||||||
_precompile_()
|
|
||||||
end
|
|
||||||
|
|
||||||
elseif Sys.isapple()
|
|
||||||
@static if v"1.3.0-DEV" <= VERSION <= v"1.3.9"
|
|
||||||
include("../deps/SnoopCompile/precompile/apple/1.3/precompile_Plots.jl")
|
|
||||||
_precompile_()
|
|
||||||
elseif v"1.4.0-DEV" <= VERSION <= v"1.4.9"
|
|
||||||
include("../deps/SnoopCompile/precompile/apple/1.4/precompile_Plots.jl")
|
|
||||||
_precompile_()
|
|
||||||
elseif v"1.5.0-DEV" <= VERSION <= v"1.5.9"
|
|
||||||
include("../deps/SnoopCompile/precompile/apple/1.5/precompile_Plots.jl")
|
|
||||||
_precompile_()
|
|
||||||
elseif v"1.6.0-DEV" <= VERSION <= v"1.6.9"
|
|
||||||
include("../deps/SnoopCompile/precompile/apple/1.6/precompile_Plots.jl")
|
|
||||||
_precompile_()
|
|
||||||
else
|
|
||||||
include("../deps/SnoopCompile/precompile/apple/1.4/precompile_Plots.jl")
|
|
||||||
_precompile_()
|
|
||||||
end
|
|
||||||
|
|
||||||
else
|
|
||||||
@static if v"1.3.0-DEV" <= VERSION <= v"1.3.9"
|
|
||||||
include("../deps/SnoopCompile/precompile/linux/1.3/precompile_Plots.jl")
|
|
||||||
_precompile_()
|
|
||||||
elseif v"1.4.0-DEV" <= VERSION <= v"1.4.9"
|
|
||||||
include("../deps/SnoopCompile/precompile/linux/1.4/precompile_Plots.jl")
|
|
||||||
_precompile_()
|
|
||||||
elseif v"1.5.0-DEV" <= VERSION <= v"1.5.9"
|
|
||||||
include("../deps/SnoopCompile/precompile/linux/1.5/precompile_Plots.jl")
|
|
||||||
_precompile_()
|
|
||||||
elseif v"1.6.0-DEV" <= VERSION <= v"1.6.9"
|
|
||||||
include("../deps/SnoopCompile/precompile/linux/1.6/precompile_Plots.jl")
|
|
||||||
_precompile_()
|
|
||||||
else
|
|
||||||
include("../deps/SnoopCompile/precompile/linux/1.4/precompile_Plots.jl")
|
|
||||||
_precompile_()
|
|
||||||
end
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
end # precompile_enclosure
|
|
||||||
+222
-543
File diff suppressed because it is too large
Load Diff
+625
@@ -0,0 +1,625 @@
|
|||||||
|
|
||||||
|
|
||||||
|
# create a new "build_series_args" which converts all inputs into xs = Any[xitems], ys = Any[yitems].
|
||||||
|
# Special handling for: no args, xmin/xmax, parametric, dataframes
|
||||||
|
# Then once inputs have been converted, build the series args, map functions, etc.
|
||||||
|
# This should cut down on boilerplate code and allow more focused dispatch on type
|
||||||
|
# note: returns meta information... mainly for use with automatic labeling from DataFrames for now
|
||||||
|
|
||||||
|
const FuncOrFuncs{F} = Union{F, Vector{F}, Matrix{F}}
|
||||||
|
const DataPoint = Union{Number, AbstractString, Missing}
|
||||||
|
const SeriesData = Union{AVec{<:DataPoint}, Function, Surface, Volume}
|
||||||
|
|
||||||
|
prepareSeriesData(x) = error("Cannot convert $(typeof(x)) to series data for plotting")
|
||||||
|
prepareSeriesData(::Nothing) = nothing
|
||||||
|
prepareSeriesData(s::SeriesData) = handlemissings(s)
|
||||||
|
|
||||||
|
handlemissings(v) = v
|
||||||
|
handlemissings(v::AbstractArray{Union{T,Missing}}) where T <: Number = replace(v, missing => NaN)
|
||||||
|
handlemissings(v::AbstractArray{Union{T,Missing}}) where T <: AbstractString = replace(v, missing => "")
|
||||||
|
handlemissings(s::Surface) = Surface(handlemissings(s.surf))
|
||||||
|
handlemissings(v::Volume) = Volume(handlemissings(v.v), v.x_extents, v.y_extents, v.z_extents)
|
||||||
|
|
||||||
|
# default: assume x represents a single series
|
||||||
|
convertToAnyVector(x) = Any[prepareSeriesData(x)]
|
||||||
|
|
||||||
|
# fixed number of blank series
|
||||||
|
convertToAnyVector(n::Integer) = Any[zeros(0) for i in 1:n]
|
||||||
|
|
||||||
|
# vector of data points is a single series
|
||||||
|
convertToAnyVector(v::AVec{<:DataPoint}) = Any[prepareSeriesData(v)]
|
||||||
|
|
||||||
|
# list of things (maybe other vectors, functions, or something else)
|
||||||
|
convertToAnyVector(v::AVec) = vcat((convertToAnyVector(vi) for vi in v)...)
|
||||||
|
|
||||||
|
# Matrix is split into columns
|
||||||
|
convertToAnyVector(v::AMat{<:DataPoint}) = Any[prepareSeriesData(v[:,i]) for i in 1:size(v,2)]
|
||||||
|
|
||||||
|
# --------------------------------------------------------------------
|
||||||
|
# Fillranges & ribbons
|
||||||
|
|
||||||
|
|
||||||
|
process_fillrange(range::Number) = [range]
|
||||||
|
process_fillrange(range) = convertToAnyVector(range)
|
||||||
|
|
||||||
|
process_ribbon(ribbon::Number) = [ribbon]
|
||||||
|
process_ribbon(ribbon) = convertToAnyVector(ribbon)
|
||||||
|
# ribbon as a tuple: (lower_ribbons, upper_ribbons)
|
||||||
|
process_ribbon(ribbon::Tuple{Any,Any}) = collect(zip(convertToAnyVector(ribbon[1]),
|
||||||
|
convertToAnyVector(ribbon[2])))
|
||||||
|
|
||||||
|
|
||||||
|
# --------------------------------------------------------------------
|
||||||
|
|
||||||
|
# TODO: can we avoid the copy here? one error that crops up is that mapping functions over the same array
|
||||||
|
# result in that array being shared. push!, etc will add too many items to that array
|
||||||
|
|
||||||
|
compute_x(x::Nothing, y::Nothing, z) = 1:size(z,1)
|
||||||
|
compute_x(x::Nothing, y, z) = 1:size(y,1)
|
||||||
|
compute_x(x::Function, y, z) = map(x, y)
|
||||||
|
compute_x(x, y, z) = copy(x)
|
||||||
|
|
||||||
|
# compute_y(x::Void, y::Function, z) = error()
|
||||||
|
compute_y(x::Nothing, y::Nothing, z) = 1:size(z,2)
|
||||||
|
compute_y(x, y::Function, z) = map(y, x)
|
||||||
|
compute_y(x, y, z) = copy(y)
|
||||||
|
|
||||||
|
compute_z(x, y, z::Function) = map(z, x, y)
|
||||||
|
compute_z(x, y, z::AbstractMatrix) = Surface(z)
|
||||||
|
compute_z(x, y, z::Nothing) = nothing
|
||||||
|
compute_z(x, y, z) = copy(z)
|
||||||
|
|
||||||
|
nobigs(v::AVec{BigFloat}) = map(Float64, v)
|
||||||
|
nobigs(v::AVec{BigInt}) = map(Int64, v)
|
||||||
|
nobigs(v) = v
|
||||||
|
|
||||||
|
@noinline function compute_xyz(x, y, z)
|
||||||
|
x = compute_x(x,y,z)
|
||||||
|
y = compute_y(x,y,z)
|
||||||
|
z = compute_z(x,y,z)
|
||||||
|
nobigs(x), nobigs(y), nobigs(z)
|
||||||
|
end
|
||||||
|
|
||||||
|
# not allowed
|
||||||
|
compute_xyz(x::Nothing, y::FuncOrFuncs{F}, z) where {F<:Function} = error("If you want to plot the function `$y`, you need to define the x values!")
|
||||||
|
compute_xyz(x::Nothing, y::Nothing, z::FuncOrFuncs{F}) where {F<:Function} = error("If you want to plot the function `$z`, you need to define x and y values!")
|
||||||
|
compute_xyz(x::Nothing, y::Nothing, z::Nothing) = error("x/y/z are all nothing!")
|
||||||
|
|
||||||
|
# --------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
# we are going to build recipes to do the processing and splitting of the args
|
||||||
|
|
||||||
|
# ensure we dispatch to the slicer
|
||||||
|
struct SliceIt end
|
||||||
|
|
||||||
|
# the catch-all recipes
|
||||||
|
@recipe function f(::Type{SliceIt}, x, y, z)
|
||||||
|
|
||||||
|
# handle data with formatting attached
|
||||||
|
if typeof(x) <: Formatted
|
||||||
|
xformatter := x.formatter
|
||||||
|
x = x.data
|
||||||
|
end
|
||||||
|
if typeof(y) <: Formatted
|
||||||
|
yformatter := y.formatter
|
||||||
|
y = y.data
|
||||||
|
end
|
||||||
|
if typeof(z) <: Formatted
|
||||||
|
zformatter := z.formatter
|
||||||
|
z = z.data
|
||||||
|
end
|
||||||
|
|
||||||
|
xs = convertToAnyVector(x)
|
||||||
|
ys = convertToAnyVector(y)
|
||||||
|
zs = convertToAnyVector(z)
|
||||||
|
|
||||||
|
|
||||||
|
fr = pop!(plotattributes, :fillrange, nothing)
|
||||||
|
fillranges = process_fillrange(fr)
|
||||||
|
mf = length(fillranges)
|
||||||
|
|
||||||
|
rib = pop!(plotattributes, :ribbon, nothing)
|
||||||
|
ribbons = process_ribbon(rib)
|
||||||
|
mr = length(ribbons)
|
||||||
|
|
||||||
|
# @show zs
|
||||||
|
|
||||||
|
mx = length(xs)
|
||||||
|
my = length(ys)
|
||||||
|
mz = length(zs)
|
||||||
|
if mx > 0 && my > 0 && mz > 0
|
||||||
|
for i in 1:max(mx, my, mz)
|
||||||
|
# add a new series
|
||||||
|
di = copy(plotattributes)
|
||||||
|
xi, yi, zi = xs[mod1(i,mx)], ys[mod1(i,my)], zs[mod1(i,mz)]
|
||||||
|
di[:x], di[:y], di[:z] = compute_xyz(xi, yi, zi)
|
||||||
|
|
||||||
|
# handle fillrange
|
||||||
|
fr = fillranges[mod1(i,mf)]
|
||||||
|
di[:fillrange] = isa(fr, Function) ? map(fr, di[:x]) : fr
|
||||||
|
|
||||||
|
# handle ribbons
|
||||||
|
rib = ribbons[mod1(i,mr)]
|
||||||
|
di[:ribbon] = isa(rib, Function) ? map(rib, di[:x]) : rib
|
||||||
|
|
||||||
|
push!(series_list, RecipeData(di, Any[]))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
nothing # don't add a series for the main block
|
||||||
|
end
|
||||||
|
|
||||||
|
# this is the default "type recipe"... just pass the object through
|
||||||
|
@recipe f(::Type{T}, v::T) where {T<:Any} = v
|
||||||
|
|
||||||
|
# this should catch unhandled "series recipes" and error with a nice message
|
||||||
|
@recipe f(::Type{V}, x, y, z) where {V<:Val} = error("The backend must not support the series type $V, and there isn't a series recipe defined.")
|
||||||
|
|
||||||
|
_apply_type_recipe(plotattributes, v) = RecipesBase.apply_recipe(plotattributes, typeof(v), v)[1].args[1]
|
||||||
|
|
||||||
|
# Handle type recipes when the recipe is defined on the elements.
|
||||||
|
# This sort of recipe should return a pair of functions... one to convert to number,
|
||||||
|
# and one to format tick values.
|
||||||
|
function _apply_type_recipe(plotattributes, v::AbstractArray)
|
||||||
|
isempty(skipmissing(v)) && return Float64[]
|
||||||
|
x = first(skipmissing(v))
|
||||||
|
args = RecipesBase.apply_recipe(plotattributes, typeof(x), x)[1].args
|
||||||
|
if length(args) == 2 && typeof(args[1]) <: Function && typeof(args[2]) <: Function
|
||||||
|
numfunc, formatter = args
|
||||||
|
Formatted(map(numfunc, v), formatter)
|
||||||
|
else
|
||||||
|
v
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# # special handling for Surface... need to properly unwrap and re-wrap
|
||||||
|
# function _apply_type_recipe(plotattributes, v::Surface)
|
||||||
|
# T = eltype(v.surf)
|
||||||
|
# @show T
|
||||||
|
# if T <: Integer || T <: AbstractFloat
|
||||||
|
# v
|
||||||
|
# else
|
||||||
|
# ret = _apply_type_recipe(plotattributes, v.surf)
|
||||||
|
# if typeof(ret) <: Formatted
|
||||||
|
# Formatted(Surface(ret.data), ret.formatter)
|
||||||
|
# else
|
||||||
|
# v
|
||||||
|
# end
|
||||||
|
# end
|
||||||
|
# end
|
||||||
|
|
||||||
|
# don't do anything for ints or floats
|
||||||
|
_apply_type_recipe(plotattributes, v::AbstractArray{T}) where {T<:Union{Integer,AbstractFloat}} = v
|
||||||
|
|
||||||
|
# handle "type recipes" by converting inputs, and then either re-calling or slicing
|
||||||
|
@recipe function f(x, y, z)
|
||||||
|
did_replace = false
|
||||||
|
newx = _apply_type_recipe(plotattributes, x)
|
||||||
|
x === newx || (did_replace = true)
|
||||||
|
newy = _apply_type_recipe(plotattributes, y)
|
||||||
|
y === newy || (did_replace = true)
|
||||||
|
newz = _apply_type_recipe(plotattributes, z)
|
||||||
|
z === newz || (did_replace = true)
|
||||||
|
if did_replace
|
||||||
|
newx, newy, newz
|
||||||
|
else
|
||||||
|
SliceIt, x, y, z
|
||||||
|
end
|
||||||
|
end
|
||||||
|
@recipe function f(x, y)
|
||||||
|
did_replace = false
|
||||||
|
newx = _apply_type_recipe(plotattributes, x)
|
||||||
|
x === newx || (did_replace = true)
|
||||||
|
newy = _apply_type_recipe(plotattributes, y)
|
||||||
|
y === newy || (did_replace = true)
|
||||||
|
if did_replace
|
||||||
|
newx, newy
|
||||||
|
else
|
||||||
|
SliceIt, x, y, nothing
|
||||||
|
end
|
||||||
|
end
|
||||||
|
@recipe function f(y)
|
||||||
|
newy = _apply_type_recipe(plotattributes, y)
|
||||||
|
if y !== newy
|
||||||
|
newy
|
||||||
|
else
|
||||||
|
SliceIt, nothing, y, nothing
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# if there's more than 3 inputs, it can't be passed directly to SliceIt
|
||||||
|
# so we'll apply_type_recipe to all of them
|
||||||
|
@recipe function f(v1, v2, v3, v4, vrest...)
|
||||||
|
did_replace = false
|
||||||
|
newargs = map(v -> begin
|
||||||
|
newv = _apply_type_recipe(plotattributes, v)
|
||||||
|
if newv !== v
|
||||||
|
did_replace = true
|
||||||
|
end
|
||||||
|
newv
|
||||||
|
end, (v1, v2, v3, v4, vrest...))
|
||||||
|
if !did_replace
|
||||||
|
error("Couldn't process recipe args: $(map(typeof, (v1, v2, v3, v4, vrest...)))")
|
||||||
|
end
|
||||||
|
newargs
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
# # --------------------------------------------------------------------
|
||||||
|
# # 1 argument
|
||||||
|
# # --------------------------------------------------------------------
|
||||||
|
|
||||||
|
# helper function to ensure relevant attributes are wrapped by Surface
|
||||||
|
function wrap_surfaces(plotattributes::KW)
|
||||||
|
if haskey(plotattributes, :fill_z)
|
||||||
|
v = plotattributes[:fill_z]
|
||||||
|
if !isa(v, Surface)
|
||||||
|
plotattributes[:fill_z] = Surface(v)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
@recipe f(n::Integer) = is3d(get(plotattributes,:seriestype,:path)) ? (SliceIt, n, n, n) : (SliceIt, n, n, nothing)
|
||||||
|
|
||||||
|
all3D(plotattributes::KW) = trueOrAllTrue(st -> st in (:contour, :contourf, :heatmap, :surface, :wireframe, :contour3d, :image, :plots_heatmap), get(plotattributes, :seriestype, :none))
|
||||||
|
|
||||||
|
# return a surface if this is a 3d plot, otherwise let it be sliced up
|
||||||
|
@recipe function f(mat::AMat{T}) where T<:Union{Integer,AbstractFloat,Missing}
|
||||||
|
if all3D(plotattributes)
|
||||||
|
n,m = size(mat)
|
||||||
|
wrap_surfaces(plotattributes)
|
||||||
|
SliceIt, 1:m, 1:n, Surface(mat)
|
||||||
|
else
|
||||||
|
SliceIt, nothing, mat, nothing
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# if a matrix is wrapped by Formatted, do similar logic, but wrap data with Surface
|
||||||
|
@recipe function f(fmt::Formatted{T}) where T<:AbstractMatrix
|
||||||
|
if all3D(plotattributes)
|
||||||
|
mat = fmt.data
|
||||||
|
n,m = size(mat)
|
||||||
|
wrap_surfaces(plotattributes)
|
||||||
|
SliceIt, 1:m, 1:n, Formatted(Surface(mat), fmt.formatter)
|
||||||
|
else
|
||||||
|
SliceIt, nothing, fmt, nothing
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# assume this is a Volume, so construct one
|
||||||
|
@recipe function f(vol::AbstractArray{T,3}, args...) where T<:Union{Number,Missing}
|
||||||
|
seriestype := :volume
|
||||||
|
SliceIt, nothing, Volume(vol, args...), nothing
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
# # images - grays
|
||||||
|
function clamp_greys!(mat::AMat{T}) where T<:Gray
|
||||||
|
for i in eachindex(mat)
|
||||||
|
mat[i].val < 0 && (mat[i] = Gray(0))
|
||||||
|
mat[i].val > 1 && (mat[i] = Gray(1))
|
||||||
|
end
|
||||||
|
mat
|
||||||
|
end
|
||||||
|
|
||||||
|
@recipe function f(mat::AMat{T}) where T<:Gray
|
||||||
|
n, m = size(mat)
|
||||||
|
if is_seriestype_supported(:image)
|
||||||
|
seriestype := :image
|
||||||
|
yflip --> true
|
||||||
|
SliceIt, 1:m, 1:n, Surface(clamp_greys!(mat))
|
||||||
|
else
|
||||||
|
seriestype := :heatmap
|
||||||
|
yflip --> true
|
||||||
|
cbar --> false
|
||||||
|
fillcolor --> ColorGradient([:black, :white])
|
||||||
|
SliceIt, 1:m, 1:n, Surface(clamp!(convert(Matrix{Float64}, mat), 0., 1.))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# # images - colors
|
||||||
|
|
||||||
|
@recipe function f(mat::AMat{T}) where T<:Colorant
|
||||||
|
n, m = size(mat)
|
||||||
|
|
||||||
|
if is_seriestype_supported(:image)
|
||||||
|
seriestype := :image
|
||||||
|
yflip --> true
|
||||||
|
SliceIt, 1:m, 1:n, Surface(mat)
|
||||||
|
else
|
||||||
|
seriestype := :heatmap
|
||||||
|
yflip --> true
|
||||||
|
cbar --> false
|
||||||
|
z, plotattributes[:fillcolor] = replace_image_with_heatmap(mat)
|
||||||
|
SliceIt, 1:m, 1:n, Surface(z)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
#
|
||||||
|
# # plotting arbitrary shapes/polygons
|
||||||
|
|
||||||
|
@recipe function f(shape::Shape)
|
||||||
|
seriestype --> :shape
|
||||||
|
coords(shape)
|
||||||
|
end
|
||||||
|
|
||||||
|
@recipe function f(shapes::AVec{Shape})
|
||||||
|
seriestype --> :shape
|
||||||
|
coords(shapes)
|
||||||
|
end
|
||||||
|
|
||||||
|
@recipe function f(shapes::AMat{Shape})
|
||||||
|
seriestype --> :shape
|
||||||
|
for j in 1:size(shapes,2)
|
||||||
|
@series coords(vec(shapes[:,j]))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# Dicts: each entry is a data point (x,y)=(key,value)
|
||||||
|
|
||||||
|
@recipe f(d::AbstractDict) = collect(keys(d)), collect(values(d))
|
||||||
|
|
||||||
|
# function without range... use the current range of the x-axis
|
||||||
|
|
||||||
|
@recipe function f(f::FuncOrFuncs{F}) where F<:Function
|
||||||
|
plt = plotattributes[:plot_object]
|
||||||
|
xmin, xmax = try
|
||||||
|
axis_limits(plt[1], :x)
|
||||||
|
catch
|
||||||
|
xinv = invscalefunc(get(plotattributes, :xscale, :identity))
|
||||||
|
xm = tryrange(f, xinv.([-5,-1,0,0.01]))
|
||||||
|
xm, tryrange(f, filter(x->x>xm, xinv.([5,1,0.99, 0, -0.01])))
|
||||||
|
end
|
||||||
|
|
||||||
|
f, xmin, xmax
|
||||||
|
end
|
||||||
|
|
||||||
|
# try some intervals over which the function may be defined
|
||||||
|
function tryrange(F::AbstractArray, vec)
|
||||||
|
rets = [tryrange(f, vec) for f in F] # get the preferred for each
|
||||||
|
maxind = maximum(indexin(rets, vec)) # get the last attempt that succeeded (most likely to fit all)
|
||||||
|
rets .= [tryrange(f, vec[maxind:maxind]) for f in F] # ensure that all functions compute there
|
||||||
|
rets[1]
|
||||||
|
end
|
||||||
|
|
||||||
|
function tryrange(F, vec)
|
||||||
|
for v in vec
|
||||||
|
try
|
||||||
|
tmp = F(v)
|
||||||
|
return v
|
||||||
|
catch
|
||||||
|
end
|
||||||
|
end
|
||||||
|
error("$F is not a Function, or is not defined at any of the values $vec")
|
||||||
|
end
|
||||||
|
#
|
||||||
|
# # --------------------------------------------------------------------
|
||||||
|
# # 2 arguments
|
||||||
|
# # --------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# # if functions come first, just swap the order (not to be confused with parametric functions...
|
||||||
|
# # as there would be more than one function passed in)
|
||||||
|
|
||||||
|
@recipe function f(f::FuncOrFuncs{F}, x) where F<:Function
|
||||||
|
F2 = typeof(x)
|
||||||
|
@assert !(F2 <: Function || (F2 <: AbstractArray && F2.parameters[1] <: Function)) # otherwise we'd hit infinite recursion here
|
||||||
|
x, f
|
||||||
|
end
|
||||||
|
|
||||||
|
#
|
||||||
|
# # --------------------------------------------------------------------
|
||||||
|
# # 3 arguments
|
||||||
|
# # --------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# # 3d line or scatter
|
||||||
|
|
||||||
|
@recipe function f(x::AVec, y::AVec, z::AVec)
|
||||||
|
# st = get(plotattributes, :seriestype, :none)
|
||||||
|
# if st == :scatter
|
||||||
|
# plotattributes[:seriestype] = :scatter3d
|
||||||
|
# elseif !is3d(st)
|
||||||
|
# plotattributes[:seriestype] = :path3d
|
||||||
|
# end
|
||||||
|
SliceIt, x, y, z
|
||||||
|
end
|
||||||
|
|
||||||
|
@recipe function f(x::AMat, y::AMat, z::AMat)
|
||||||
|
# st = get(plotattributes, :seriestype, :none)
|
||||||
|
# if size(x) == size(y) == size(z)
|
||||||
|
# if !is3d(st)
|
||||||
|
# seriestype := :path3d
|
||||||
|
# end
|
||||||
|
# end
|
||||||
|
wrap_surfaces(plotattributes)
|
||||||
|
SliceIt, x, y, z
|
||||||
|
end
|
||||||
|
|
||||||
|
#
|
||||||
|
# # surface-like... function
|
||||||
|
|
||||||
|
@recipe function f(x::AVec, y::AVec, zf::Function)
|
||||||
|
# x = X <: Number ? sort(x) : x
|
||||||
|
# y = Y <: Number ? sort(y) : y
|
||||||
|
wrap_surfaces(plotattributes)
|
||||||
|
SliceIt, x, y, Surface(zf, x, y) # TODO: replace with SurfaceFunction when supported
|
||||||
|
end
|
||||||
|
|
||||||
|
#
|
||||||
|
# # surface-like... matrix grid
|
||||||
|
|
||||||
|
@recipe function f(x::AVec, y::AVec, z::AMat)
|
||||||
|
if !like_surface(get(plotattributes, :seriestype, :none))
|
||||||
|
plotattributes[:seriestype] = :contour
|
||||||
|
end
|
||||||
|
wrap_surfaces(plotattributes)
|
||||||
|
SliceIt, x, y, Surface(z)
|
||||||
|
end
|
||||||
|
|
||||||
|
# # images - grays
|
||||||
|
|
||||||
|
@recipe function f(x::AVec, y::AVec, mat::AMat{T}) where T<:Gray
|
||||||
|
if is_seriestype_supported(:image)
|
||||||
|
seriestype := :image
|
||||||
|
yflip --> true
|
||||||
|
SliceIt, x, y, Surface(mat)
|
||||||
|
else
|
||||||
|
seriestype := :heatmap
|
||||||
|
yflip --> true
|
||||||
|
cbar --> false
|
||||||
|
fillcolor --> ColorGradient([:black, :white])
|
||||||
|
SliceIt, x, y, Surface(convert(Matrix{Float64}, mat))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# # images - colors
|
||||||
|
|
||||||
|
@recipe function f(x::AVec, y::AVec, mat::AMat{T}) where T<:Colorant
|
||||||
|
if is_seriestype_supported(:image)
|
||||||
|
seriestype := :image
|
||||||
|
yflip --> true
|
||||||
|
SliceIt, x, y, Surface(mat)
|
||||||
|
else
|
||||||
|
seriestype := :heatmap
|
||||||
|
yflip --> true
|
||||||
|
cbar --> false
|
||||||
|
z, plotattributes[:fillcolor] = replace_image_with_heatmap(mat)
|
||||||
|
SliceIt, x, y, Surface(z)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# # --------------------------------------------------------------------
|
||||||
|
# # Parametric functions
|
||||||
|
# # --------------------------------------------------------------------
|
||||||
|
|
||||||
|
#
|
||||||
|
# # special handling... xmin/xmax with parametric function(s)
|
||||||
|
@recipe function f(f::Function, xmin::Number, xmax::Number)
|
||||||
|
xscale, yscale = [get(plotattributes, sym, :identity) for sym=(:xscale,:yscale)]
|
||||||
|
xs = _scaled_adapted_grid(f, xscale, yscale, xmin, xmax)
|
||||||
|
xs, f
|
||||||
|
end
|
||||||
|
@recipe function f(fs::AbstractArray{F}, xmin::Number, xmax::Number) where F<:Function
|
||||||
|
xscale, yscale = [get(plotattributes, sym, :identity) for sym=(:xscale,:yscale)]
|
||||||
|
xs = Any[_scaled_adapted_grid(f, xscale, yscale, xmin, xmax) for f in fs]
|
||||||
|
xs, fs
|
||||||
|
end
|
||||||
|
@recipe f(fx::FuncOrFuncs{F}, fy::FuncOrFuncs{G}, u::AVec) where {F<:Function,G<:Function} = mapFuncOrFuncs(fx, u), mapFuncOrFuncs(fy, u)
|
||||||
|
@recipe f(fx::FuncOrFuncs{F}, fy::FuncOrFuncs{G}, umin::Number, umax::Number, n = 200) where {F<:Function,G<:Function} = fx, fy, range(umin, stop = umax, length = n)
|
||||||
|
|
||||||
|
function _scaled_adapted_grid(f, xscale, yscale, xmin, xmax)
|
||||||
|
(xf, xinv), (yf, yinv) = ((scalefunc(s),invscalefunc(s)) for s in (xscale,yscale))
|
||||||
|
xinv.(adapted_grid(yf∘f∘xinv, xf.((xmin, xmax))))
|
||||||
|
end
|
||||||
|
|
||||||
|
#
|
||||||
|
# # special handling... 3D parametric function(s)
|
||||||
|
@recipe function f(fx::FuncOrFuncs{F}, fy::FuncOrFuncs{G}, fz::FuncOrFuncs{H}, u::AVec) where {F<:Function,G<:Function,H<:Function}
|
||||||
|
mapFuncOrFuncs(fx, u), mapFuncOrFuncs(fy, u), mapFuncOrFuncs(fz, u)
|
||||||
|
end
|
||||||
|
@recipe function f(fx::FuncOrFuncs{F}, fy::FuncOrFuncs{G}, fz::FuncOrFuncs{H}, umin::Number, umax::Number, numPoints = 200) where {F<:Function,G<:Function,H<:Function}
|
||||||
|
fx, fy, fz, range(umin, stop = umax, length = numPoints)
|
||||||
|
end
|
||||||
|
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# # --------------------------------------------------------------------
|
||||||
|
# # Lists of tuples and GeometryTypes.Points
|
||||||
|
# # --------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
|
||||||
|
@recipe f(v::AVec{<:Tuple}) = unzip(v)
|
||||||
|
@recipe f(v::AVec{<:GeometryTypes.Point}) = unzip(v)
|
||||||
|
@recipe f(tup::Tuple) = [tup]
|
||||||
|
@recipe f(p::GeometryTypes.Point) = [p]
|
||||||
|
|
||||||
|
# Special case for 4-tuples in :ohlc series
|
||||||
|
@recipe f(xyuv::AVec{<:Tuple{R1,R2,R3,R4}}) where {R1,R2,R3,R4} = get(plotattributes,:seriestype,:path)==:ohlc ? OHLC[OHLC(t...) for t in xyuv] : unzip(xyuv)
|
||||||
|
|
||||||
|
#
|
||||||
|
# # --------------------------------------------------------------------
|
||||||
|
# # handle grouping
|
||||||
|
# # --------------------------------------------------------------------
|
||||||
|
|
||||||
|
# @recipe function f(groupby::GroupBy, args...)
|
||||||
|
# for (i,glab) in enumerate(groupby.groupLabels)
|
||||||
|
# # create a new series, with the label of the group, and an idxfilter (to be applied in slice_and_dice)
|
||||||
|
# # TODO: use @series instead
|
||||||
|
# @show i, glab, groupby.groupIds[i]
|
||||||
|
# di = copy(plotattributes)
|
||||||
|
# get!(di, :label, string(glab))
|
||||||
|
# get!(di, :idxfilter, groupby.groupIds[i])
|
||||||
|
# push!(series_list, RecipeData(di, args))
|
||||||
|
# end
|
||||||
|
# nothing
|
||||||
|
# end
|
||||||
|
|
||||||
|
splittable_kw(key, val, lengthGroup) = false
|
||||||
|
splittable_kw(key, val::AbstractArray, lengthGroup) = !(key in (:group, :color_palette)) && size(val,1) == lengthGroup
|
||||||
|
splittable_kw(key, val::Tuple, lengthGroup) = all(splittable_kw.(key, val, lengthGroup))
|
||||||
|
splittable_kw(key, val::SeriesAnnotations, lengthGroup) = splittable_kw(key, val.strs, lengthGroup)
|
||||||
|
|
||||||
|
split_kw(key, val::AbstractArray, indices) = val[indices, fill(Colon(), ndims(val)-1)...]
|
||||||
|
split_kw(key, val::Tuple, indices) = Tuple(split_kw(key, v, indices) for v in val)
|
||||||
|
function split_kw(key, val::SeriesAnnotations, indices)
|
||||||
|
split_strs = split_kw(key, val.strs, indices)
|
||||||
|
return SeriesAnnotations(split_strs, val.font, val.baseshape, val.scalefactor)
|
||||||
|
end
|
||||||
|
|
||||||
|
function groupedvec2mat(x_ind, x, y::AbstractArray, groupby, def_val = y[1])
|
||||||
|
y_mat = Array{promote_type(eltype(y), typeof(def_val))}(undef, length(keys(x_ind)), length(groupby.groupLabels))
|
||||||
|
fill!(y_mat, def_val)
|
||||||
|
for i in 1:length(groupby.groupLabels)
|
||||||
|
xi = x[groupby.groupIds[i]]
|
||||||
|
yi = y[groupby.groupIds[i]]
|
||||||
|
y_mat[getindex.(Ref(x_ind), xi), i] = yi
|
||||||
|
end
|
||||||
|
return y_mat
|
||||||
|
end
|
||||||
|
|
||||||
|
groupedvec2mat(x_ind, x, y::Tuple, groupby) = Tuple(groupedvec2mat(x_ind, x, v, groupby) for v in y)
|
||||||
|
|
||||||
|
group_as_matrix(t) = false
|
||||||
|
|
||||||
|
# split the group into 1 series per group, and set the label and idxfilter for each
|
||||||
|
@recipe function f(groupby::GroupBy, args...)
|
||||||
|
lengthGroup = maximum(union(groupby.groupIds...))
|
||||||
|
if !(group_as_matrix(args[1]))
|
||||||
|
for (i,glab) in enumerate(groupby.groupLabels)
|
||||||
|
@series begin
|
||||||
|
label --> string(glab)
|
||||||
|
idxfilter --> groupby.groupIds[i]
|
||||||
|
for (key,val) in plotattributes
|
||||||
|
if splittable_kw(key, val, lengthGroup)
|
||||||
|
:($key) := split_kw(key, val, groupby.groupIds[i])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
args
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
g = args[1]
|
||||||
|
if length(g.args) == 1
|
||||||
|
x = zeros(Int, lengthGroup)
|
||||||
|
for indexes in groupby.groupIds
|
||||||
|
x[indexes] = 1:length(indexes)
|
||||||
|
end
|
||||||
|
last_args = g.args
|
||||||
|
else
|
||||||
|
x = g.args[1]
|
||||||
|
last_args = g.args[2:end]
|
||||||
|
end
|
||||||
|
x_u = unique(sort(x))
|
||||||
|
x_ind = Dict(zip(x_u, 1:length(x_u)))
|
||||||
|
for (key,val) in plotattributes
|
||||||
|
if splittable_kw(key, val, lengthGroup)
|
||||||
|
:($key) := groupedvec2mat(x_ind, x, val, groupby)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
label --> reshape(groupby.groupLabels, 1, :)
|
||||||
|
typeof(g)((x_u, (groupedvec2mat(x_ind, x, arg, groupby, NaN) for arg in last_args)...))
|
||||||
|
end
|
||||||
|
end
|
||||||
+8
-9
@@ -251,7 +251,7 @@ Draw contour lines of the `Surface` z.
|
|||||||
|
|
||||||
# Example
|
# Example
|
||||||
```julia-repl
|
```julia-repl
|
||||||
julia> x = y = range(-20, stop = 20, length = 100)
|
julia> x = y = range(-20, 20, length = 100)
|
||||||
julia> contour(x, y, (x, y) -> x^2 + y^2)
|
julia> contour(x, y, (x, y) -> x^2 + y^2)
|
||||||
```
|
```
|
||||||
"""
|
"""
|
||||||
@@ -271,8 +271,7 @@ Draw a 3D surface plot.
|
|||||||
|
|
||||||
# Example
|
# Example
|
||||||
```julia-repl
|
```julia-repl
|
||||||
julia> using LinearAlgebra
|
julia> x = y = range(-3, 3, length = 100)
|
||||||
julia> x = y = range(-3, stop = 3, length = 100)
|
|
||||||
julia> surface(x, y, (x, y) -> sinc(norm([x, y])))
|
julia> surface(x, y, (x, y) -> sinc(norm([x, y])))
|
||||||
```
|
```
|
||||||
"""
|
"""
|
||||||
@@ -381,7 +380,8 @@ julia> curves([1,2,3,4],[1,1,2,4])
|
|||||||
@shorthands curves
|
@shorthands curves
|
||||||
|
|
||||||
"Plot a pie diagram"
|
"Plot a pie diagram"
|
||||||
@shorthands pie
|
pie(args...; kw...) = plot(args...; kw..., seriestype = :pie, aspect_ratio = :equal, grid=false, xticks=nothing, yticks=nothing)
|
||||||
|
pie!(args...; kw...) = plot!(args...; kw..., seriestype = :pie, aspect_ratio = :equal, grid=false, xticks=nothing, yticks=nothing)
|
||||||
|
|
||||||
"Plot with seriestype :path3d"
|
"Plot with seriestype :path3d"
|
||||||
plot3d(args...; kw...) = plot(args...; kw..., seriestype = :path3d)
|
plot3d(args...; kw...) = plot(args...; kw..., seriestype = :path3d)
|
||||||
@@ -428,8 +428,8 @@ Add annotations to an existing plot.
|
|||||||
|
|
||||||
# Arguments
|
# Arguments
|
||||||
|
|
||||||
- `anns`: An `AbstractVector` of tuples of the form `(x,y,text)`. The `text` object
|
- `anns`: An `AbstractVector` of tuples of the form (x,y,text). The text object
|
||||||
can be a `String` or `PlotText`.
|
can be an String or PlotText
|
||||||
|
|
||||||
# Example
|
# Example
|
||||||
```julia-repl
|
```julia-repl
|
||||||
@@ -437,9 +437,8 @@ julia> plot(1:10)
|
|||||||
julia> annotate!([(7,3,"(7,3)"),(3,7,text("hey", 14, :left, :top, :green))])
|
julia> annotate!([(7,3,"(7,3)"),(3,7,text("hey", 14, :left, :top, :green))])
|
||||||
```
|
```
|
||||||
"""
|
"""
|
||||||
annotate!(anns...; kw...) = plot!(; annotation = anns, kw...)
|
annotate!(anns...; kw...) = plot!(; annotation = anns, kw...)
|
||||||
annotate!(anns::Tuple...; kw...) = plot!(; annotation = collect(anns), kw...)
|
annotate!(anns::AVec{T}; kw...) where {T<:Tuple} = plot!(; annotation = anns, kw...)
|
||||||
annotate!(anns::AVec{<:Tuple}; kw...) = plot!(; annotation = anns, kw...)
|
|
||||||
|
|
||||||
"Flip the current plots' x axis"
|
"Flip the current plots' x axis"
|
||||||
xflip!(flip::Bool = true; kw...) = plot!(; xflip = flip, kw...)
|
xflip!(flip::Bool = true; kw...) = plot!(; xflip = flip, kw...)
|
||||||
|
|||||||
+7
-19
@@ -7,7 +7,7 @@ function Subplot(::T; parent = RootLayout()) where T<:AbstractBackend
|
|||||||
(20mm, 5mm, 2mm, 10mm),
|
(20mm, 5mm, 2mm, 10mm),
|
||||||
defaultbox,
|
defaultbox,
|
||||||
defaultbox,
|
defaultbox,
|
||||||
DefaultsDict(KW(), _subplot_defaults),
|
KW(),
|
||||||
nothing,
|
nothing,
|
||||||
nothing
|
nothing
|
||||||
)
|
)
|
||||||
@@ -42,24 +42,12 @@ get_subplot_index(plt::Plot, sp::Subplot) = findfirst(x -> x === sp, plt.subplot
|
|||||||
series_list(sp::Subplot) = sp.series_list # filter(series -> series.plotattributes[:subplot] === sp, sp.plt.series_list)
|
series_list(sp::Subplot) = sp.series_list # filter(series -> series.plotattributes[:subplot] === sp, sp.plt.series_list)
|
||||||
|
|
||||||
function should_add_to_legend(series::Series)
|
function should_add_to_legend(series::Series)
|
||||||
series.plotattributes[:primary] &&
|
series.plotattributes[:primary] && series.plotattributes[:label] != "" &&
|
||||||
series.plotattributes[:label] != "" &&
|
!(series.plotattributes[:seriestype] in (
|
||||||
!(
|
:hexbin,:bins2d,:histogram2d,:hline,:vline,
|
||||||
series.plotattributes[:seriestype] in (
|
:contour,:contourf,:contour3d,:surface,:wireframe,
|
||||||
:hexbin,
|
:heatmap, :pie, :image
|
||||||
:bins2d,
|
))
|
||||||
:histogram2d,
|
|
||||||
:hline,
|
|
||||||
:vline,
|
|
||||||
:contour,
|
|
||||||
:contourf,
|
|
||||||
:contour3d,
|
|
||||||
:surface,
|
|
||||||
:wireframe,
|
|
||||||
:heatmap,
|
|
||||||
:image,
|
|
||||||
)
|
|
||||||
)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# ----------------------------------------------------------------------
|
# ----------------------------------------------------------------------
|
||||||
|
|||||||
+51
-24
@@ -4,25 +4,55 @@
|
|||||||
Specify the colour theme for plots.
|
Specify the colour theme for plots.
|
||||||
"""
|
"""
|
||||||
function theme(s::Symbol; kw...)
|
function theme(s::Symbol; kw...)
|
||||||
defaults = copy(PlotThemes._themes[s].defaults)
|
defaults = _get_defaults(s)
|
||||||
_theme(s, defaults; kw...)
|
_theme(s, defaults; kw...)
|
||||||
end
|
end
|
||||||
|
|
||||||
function _theme(s::Symbol, defaults::AKW; kw...)
|
function _get_defaults(s::Symbol)
|
||||||
|
thm = PlotThemes._themes[s]
|
||||||
|
if :defaults in fieldnames(typeof(thm))
|
||||||
|
return thm.defaults
|
||||||
|
else # old PlotTheme type
|
||||||
|
defaults = KW(
|
||||||
|
:bg => thm.bg_secondary,
|
||||||
|
:bginside => thm.bg_primary,
|
||||||
|
:fg => thm.lines,
|
||||||
|
:fgtext => thm.text,
|
||||||
|
:fgguide => thm.text,
|
||||||
|
:fglegend => thm.text,
|
||||||
|
:palette => thm.palette,
|
||||||
|
)
|
||||||
|
if thm.gradient !== nothing
|
||||||
|
push!(defaults, :gradient => thm.gradient)
|
||||||
|
end
|
||||||
|
return defaults
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function _theme(s::Symbol, defaults::KW; kw...)
|
||||||
# Reset to defaults to overwrite active theme
|
# Reset to defaults to overwrite active theme
|
||||||
reset_defaults()
|
reset_defaults()
|
||||||
|
|
||||||
# Set the theme's gradient as default
|
# Set the theme's gradient as default
|
||||||
if haskey(defaults, :colorgradient)
|
if haskey(defaults, :gradient)
|
||||||
PlotUtils.default_cgrad(pop!(defaults, :colorgradient))
|
PlotUtils.clibrary(:misc)
|
||||||
|
PlotUtils.default_cgrad(default = :sequential, sequential = PlotThemes.gradient_name(s))
|
||||||
else
|
else
|
||||||
PlotUtils.default_cgrad(:default)
|
PlotUtils.clibrary(:Plots)
|
||||||
|
PlotUtils.default_cgrad(default = :sequential, sequential = :inferno)
|
||||||
end
|
end
|
||||||
|
|
||||||
# maybe overwrite the theme's gradient
|
# maybe overwrite the theme's gradient
|
||||||
kw = KW(kw)
|
kw = KW(kw)
|
||||||
if haskey(kw, :colorgradient)
|
if haskey(kw, :gradient)
|
||||||
PlotUtils.default_cgrad(pop!(kw, :colorgradient))
|
kwgrad = pop!(kw, :gradient)
|
||||||
|
for clib in clibraries()
|
||||||
|
if kwgrad in cgradients(clib)
|
||||||
|
PlotUtils.clibrary(clib)
|
||||||
|
PlotUtils.default_cgrad(default = :sequential, sequential = kwgrad)
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# Set the theme's defaults
|
# Set the theme's defaults
|
||||||
@@ -44,19 +74,19 @@ _get_showtheme_args(thm::Symbol, func::Symbol) = thm, get(_color_functions, func
|
|||||||
|
|
||||||
@recipe function showtheme(st::ShowTheme)
|
@recipe function showtheme(st::ShowTheme)
|
||||||
thm, cfunc = _get_showtheme_args(st.args...)
|
thm, cfunc = _get_showtheme_args(st.args...)
|
||||||
defaults = PlotThemes._themes[thm].defaults
|
defaults = _get_defaults(thm)
|
||||||
|
|
||||||
# get the gradient
|
# get the gradient
|
||||||
gradient_colors = color_list(cgrad(get(defaults, :colorgradient, :default)))
|
gradient_colors = get(defaults, :gradient, cgrad(:inferno).colors)
|
||||||
colorgradient = cgrad(cfunc.(RGB.(gradient_colors)))
|
gradient = cgrad(cfunc.(RGB.(gradient_colors)))
|
||||||
|
|
||||||
# get the palette
|
# get the palette
|
||||||
cp = color_list(palette(get(defaults, :palette, :default)))
|
palette = get(defaults, :palette, get_color_palette(:auto, plot_color(:white), 17))
|
||||||
cp = cfunc.(RGB.(cp))
|
palette = cfunc.(RGB.(palette))
|
||||||
|
|
||||||
# apply the theme
|
# apply the theme
|
||||||
for k in keys(defaults)
|
for k in keys(defaults)
|
||||||
k in (:colorgradient, :palette) && continue
|
k in (:gradient, :palette) && continue
|
||||||
def = defaults[k]
|
def = defaults[k]
|
||||||
arg = get(_keyAliases, k, k)
|
arg = get(_keyAliases, k, k)
|
||||||
plotattributes[arg] = if typeof(def) <: Colorant
|
plotattributes[arg] = if typeof(def) <: Colorant
|
||||||
@@ -79,7 +109,7 @@ _get_showtheme_args(thm::Symbol, func::Symbol) = thm, get(_color_functions, func
|
|||||||
for j in 1:4
|
for j in 1:4
|
||||||
@series begin
|
@series begin
|
||||||
subplot := 1
|
subplot := 1
|
||||||
color_palette := cp
|
palette := palette
|
||||||
seriestype := :path
|
seriestype := :path
|
||||||
cumsum(randn(50))
|
cumsum(randn(50))
|
||||||
end
|
end
|
||||||
@@ -87,7 +117,7 @@ _get_showtheme_args(thm::Symbol, func::Symbol) = thm, get(_color_functions, func
|
|||||||
@series begin
|
@series begin
|
||||||
subplot := 2
|
subplot := 2
|
||||||
seriestype := :scatter
|
seriestype := :scatter
|
||||||
color_palette := cp
|
palette := palette
|
||||||
marker := (:circle, :diamond, :star5, :square)[j]
|
marker := (:circle, :diamond, :star5, :square)[j]
|
||||||
randn(10), randn(10)
|
randn(10), randn(10)
|
||||||
end
|
end
|
||||||
@@ -96,7 +126,7 @@ _get_showtheme_args(thm::Symbol, func::Symbol) = thm, get(_color_functions, func
|
|||||||
@series begin
|
@series begin
|
||||||
subplot := 3
|
subplot := 3
|
||||||
seriestype := :histogram
|
seriestype := :histogram
|
||||||
color_palette := cp
|
palette := palette
|
||||||
randn(1000) .+ (0:2:4)'
|
randn(1000) .+ (0:2:4)'
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -109,30 +139,27 @@ _get_showtheme_args(thm::Symbol, func::Symbol) = thm, get(_color_functions, func
|
|||||||
@series begin
|
@series begin
|
||||||
subplot := 4
|
subplot := 4
|
||||||
seriestype := :heatmap
|
seriestype := :heatmap
|
||||||
seriescolor := colorgradient
|
seriescolor := gradient
|
||||||
xticks := (-2π:2π:2π, string.(-2:2:2, "π"))
|
ticks := -5:5:5
|
||||||
yticks := (-2π:2π:2π, string.(-2:2:2, "π"))
|
|
||||||
x, y, z
|
x, y, z
|
||||||
end
|
end
|
||||||
|
|
||||||
@series begin
|
@series begin
|
||||||
subplot := 5
|
subplot := 5
|
||||||
seriestype := :surface
|
seriestype := :surface
|
||||||
seriescolor := colorgradient
|
seriescolor := gradient
|
||||||
xticks := (-2π:2π:2π, string.(-2:2:2, "π"))
|
|
||||||
yticks := (-2π:2π:2π, string.(-2:2:2, "π"))
|
|
||||||
x, y, z
|
x, y, z
|
||||||
end
|
end
|
||||||
|
|
||||||
n = 100
|
n = 100
|
||||||
ts = range(0, stop = 10π, length = n)
|
ts = range(0, stop = 10π, length = n)
|
||||||
x = (0.1ts) .* cos.(ts)
|
x = ts .* cos.(ts)
|
||||||
y = (0.1ts) .* sin.(ts)
|
y = (0.1ts) .* sin.(ts)
|
||||||
z = 1:n
|
z = 1:n
|
||||||
|
|
||||||
@series begin
|
@series begin
|
||||||
subplot := 6
|
subplot := 6
|
||||||
seriescolor := colorgradient
|
seriescolor := gradient
|
||||||
linewidth := 3
|
linewidth := 3
|
||||||
line_z := z
|
line_z := z
|
||||||
x, y, z
|
x, y, z
|
||||||
|
|||||||
+18
-21
@@ -5,7 +5,6 @@
|
|||||||
const AVec = AbstractVector
|
const AVec = AbstractVector
|
||||||
const AMat = AbstractMatrix
|
const AMat = AbstractMatrix
|
||||||
const KW = Dict{Symbol,Any}
|
const KW = Dict{Symbol,Any}
|
||||||
const AKW = AbstractDict{Symbol,Any}
|
|
||||||
const TicksArgs = Union{AVec{T}, Tuple{AVec{T}, AVec{S}}, Symbol} where {T<:Real, S<:AbstractString}
|
const TicksArgs = Union{AVec{T}, Tuple{AVec{T}, AVec{S}}, Symbol} where {T<:Real, S<:AbstractString}
|
||||||
|
|
||||||
struct PlotsDisplay <: AbstractDisplay end
|
struct PlotsDisplay <: AbstractDisplay end
|
||||||
@@ -18,10 +17,11 @@ end
|
|||||||
wrap(obj::T) where {T} = InputWrapper{T}(obj)
|
wrap(obj::T) where {T} = InputWrapper{T}(obj)
|
||||||
Base.isempty(wrapper::InputWrapper) = false
|
Base.isempty(wrapper::InputWrapper) = false
|
||||||
|
|
||||||
|
|
||||||
# -----------------------------------------------------------
|
# -----------------------------------------------------------
|
||||||
|
|
||||||
mutable struct Series
|
mutable struct Series
|
||||||
plotattributes::DefaultsDict
|
plotattributes::KW
|
||||||
end
|
end
|
||||||
|
|
||||||
attr(series::Series, k::Symbol) = series.plotattributes[k]
|
attr(series::Series, k::Symbol) = series.plotattributes[k]
|
||||||
@@ -31,12 +31,12 @@ attr!(series::Series, v, k::Symbol) = (series.plotattributes[k] = v)
|
|||||||
|
|
||||||
# a single subplot
|
# a single subplot
|
||||||
mutable struct Subplot{T<:AbstractBackend} <: AbstractLayout
|
mutable struct Subplot{T<:AbstractBackend} <: AbstractLayout
|
||||||
parent::AbstractLayout
|
parent
|
||||||
series_list::Vector{Series} # arguments for each series
|
series_list::Vector{Series} # arguments for each series
|
||||||
minpad::Tuple # leftpad, toppad, rightpad, bottompad
|
minpad::Tuple{AbsoluteLength,AbsoluteLength,AbsoluteLength,AbsoluteLength} # leftpad, toppad, rightpad, bottompad
|
||||||
bbox::BoundingBox # the canvas area which is available to this subplot
|
bbox#::BoundingBox # the canvas area which is available to this subplot
|
||||||
plotarea::BoundingBox # the part where the data goes
|
plotarea#::BoundingBox # the part where the data goes
|
||||||
attr::DefaultsDict # args specific to this subplot
|
attr::KW # args specific to this subplot
|
||||||
o # can store backend-specific data... like a pyplot ax
|
o # can store backend-specific data... like a pyplot ax
|
||||||
plt # the enclosing Plot object (can't give it a type because of no forward declarations)
|
plt # the enclosing Plot object (can't give it a type because of no forward declarations)
|
||||||
end
|
end
|
||||||
@@ -48,7 +48,7 @@ Base.show(io::IO, sp::Subplot) = print(io, "Subplot{$(sp[:subplot_index])}")
|
|||||||
# simple wrapper around a KW so we can hold all attributes pertaining to the axis in one place
|
# simple wrapper around a KW so we can hold all attributes pertaining to the axis in one place
|
||||||
mutable struct Axis
|
mutable struct Axis
|
||||||
sps::Vector{Subplot}
|
sps::Vector{Subplot}
|
||||||
plotattributes::DefaultsDict
|
plotattributes::KW
|
||||||
end
|
end
|
||||||
|
|
||||||
mutable struct Extrema
|
mutable struct Extrema
|
||||||
@@ -59,28 +59,25 @@ Extrema() = Extrema(Inf, -Inf)
|
|||||||
|
|
||||||
# -----------------------------------------------------------
|
# -----------------------------------------------------------
|
||||||
|
|
||||||
const SubplotMap = Dict{Any, Subplot}
|
|
||||||
|
|
||||||
# -----------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
mutable struct Plot{T<:AbstractBackend} <: AbstractPlot{T}
|
mutable struct Plot{T<:AbstractBackend} <: AbstractPlot{T}
|
||||||
backend::T # the backend type
|
backend::T # the backend type
|
||||||
n::Int # number of series
|
n::Int # number of series
|
||||||
attr::DefaultsDict # arguments for the whole plot
|
attr::KW # arguments for the whole plot
|
||||||
|
user_attr::KW # raw arg inputs (after aliases). these are used as the input dict in `_plot!`
|
||||||
series_list::Vector{Series} # arguments for each series
|
series_list::Vector{Series} # arguments for each series
|
||||||
o # the backend's plot object
|
o # the backend's plot object
|
||||||
subplots::Vector{Subplot}
|
subplots::Vector{Subplot{T}}
|
||||||
spmap::SubplotMap # provide any label as a map to a subplot
|
spmap::KW # provide any label as a map to a subplot
|
||||||
layout::AbstractLayout
|
layout
|
||||||
inset_subplots::Vector{Subplot} # list of inset subplots
|
inset_subplots::Vector{Subplot{T}} # list of inset subplots
|
||||||
init::Bool
|
init::Bool
|
||||||
end
|
end
|
||||||
|
|
||||||
function Plot()
|
function Plot(_backend = CURRENT_BACKEND)
|
||||||
Plot(backend(), 0, DefaultsDict(KW(), _plot_defaults), Series[], nothing,
|
Plot(_backend.pkg, 0, KW(), KW(), Series[], nothing,
|
||||||
Subplot[], SubplotMap(), EmptyLayout(),
|
Subplot{typeof(_backend.pkg)}[], KW(), EmptyLayout(),
|
||||||
Subplot[], false)
|
Subplot{typeof(_backend.pkg)}[], false)
|
||||||
end
|
end
|
||||||
|
|
||||||
# -----------------------------------------------------------------------
|
# -----------------------------------------------------------------------
|
||||||
|
|||||||
+397
-388
File diff suppressed because it is too large
Load Diff
+78
-41
@@ -1,68 +1,105 @@
|
|||||||
import Plots._current_plots_version
|
import Plots._current_plots_version
|
||||||
|
|
||||||
# replace `f(args...)` with `f(rng, args...)` for `f ∈ (rand, randn)`
|
# Taken from MakieGallery
|
||||||
function replace_rand!(ex) end
|
"""
|
||||||
function replace_rand!(ex::Expr)
|
Downloads the reference images from ReferenceImages for a specific version
|
||||||
for arg in ex.args
|
"""
|
||||||
replace_rand!(arg)
|
function download_reference(version = v"0.0.1")
|
||||||
end
|
download_dir = abspath(@__DIR__, "reference_images")
|
||||||
if ex.head === :call && ex.args[1] ∈ (:rand, :randn)
|
isdir(download_dir) || mkpath(download_dir)
|
||||||
pushfirst!(ex.args, ex.args[1])
|
tarfile = joinpath(download_dir, "reference_images.zip")
|
||||||
ex.args[2] = :rng
|
url = "https://github.com/JuliaPlots/PlotReferenceImages.jl/archive/v$(version).tar.gz"
|
||||||
end
|
refpath = joinpath(download_dir, "PlotReferenceImages.jl-$(version)")
|
||||||
end
|
if !isdir(refpath) # if not yet downloaded
|
||||||
function fix_rand!(ex)
|
@info "downloading reference images for version $version"
|
||||||
replace_rand!(ex)
|
download(url, tarfile)
|
||||||
pushfirst!(ex.args[1].args, :(rng = StableRNG(1234)))
|
BinaryProvider.unpack(tarfile, download_dir)
|
||||||
|
# check again after download
|
||||||
|
if !isdir(refpath)
|
||||||
|
error("Something went wrong while downloading reference images. Plots can't be compared to references")
|
||||||
|
else
|
||||||
|
rm(tarfile, force = true)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
@info "using reference images for version $version (already downloaded)"
|
||||||
|
end
|
||||||
|
refpath
|
||||||
end
|
end
|
||||||
|
|
||||||
function image_comparison_tests(
|
const ref_image_dir = download_reference()
|
||||||
pkg::Symbol,
|
|
||||||
idx::Int;
|
function image_comparison_tests(pkg::Symbol, idx::Int; debug = false, popup = isinteractive(), sigma = [1,1], tol = 1e-2)
|
||||||
debug = false,
|
|
||||||
popup = !is_ci(),
|
|
||||||
sigma = [1, 1],
|
|
||||||
tol = 1e-2,
|
|
||||||
)
|
|
||||||
Plots._debugMode.on = debug
|
Plots._debugMode.on = debug
|
||||||
example = Plots._examples[idx]
|
example = Plots._examples[idx]
|
||||||
Plots.theme(:default)
|
Plots.theme(:default)
|
||||||
@info("Testing plot: $pkg:$idx:$(example.header)")
|
@info("Testing plot: $pkg:$idx:$(example.header)")
|
||||||
backend(pkg)
|
backend(pkg)
|
||||||
backend()
|
backend()
|
||||||
default(size = (500, 300))
|
default(size=(500,300))
|
||||||
|
# ensure consistent results
|
||||||
|
Random.seed!(1234)
|
||||||
|
|
||||||
|
# reference image directory setup
|
||||||
|
refdir = joinpath(ref_image_dir, "Plots", string(pkg))
|
||||||
fn = "ref$idx.png"
|
fn = "ref$idx.png"
|
||||||
reffn = reference_file(pkg, idx, _current_plots_version)
|
|
||||||
newfn = joinpath(reference_path(pkg, _current_plots_version), fn)
|
# firgure out version info
|
||||||
|
vns = filter(x->x[1] != '.', readdir(refdir))
|
||||||
|
versions = sort(VersionNumber.(vns), rev = true)
|
||||||
|
versions = filter(v -> v <= _current_plots_version, versions)
|
||||||
|
# @show refdir fn versions
|
||||||
|
|
||||||
|
newdir = joinpath(refdir, string(_current_plots_version))
|
||||||
|
newfn = joinpath(newdir, fn)
|
||||||
|
|
||||||
|
# figure out which reference file we should compare to, by finding the highest versioned file
|
||||||
|
reffn = nothing
|
||||||
|
for v in versions
|
||||||
|
tmpfn = joinpath(refdir, string(v), fn)
|
||||||
|
if isfile(tmpfn)
|
||||||
|
reffn = tmpfn
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
# now we have the fn (if any)... do the comparison
|
||||||
|
# @show reffn
|
||||||
|
if reffn === nothing
|
||||||
|
reffn = newfn
|
||||||
|
end
|
||||||
|
# @show reffn
|
||||||
|
# return
|
||||||
|
|
||||||
# test function
|
# test function
|
||||||
func = (fn, idx) -> begin
|
func = (fn, idx) -> begin
|
||||||
expr = Expr(:block)
|
expr = Expr(:block)
|
||||||
append!(expr.args, example.exprs)
|
append!(expr.args, example.exprs)
|
||||||
fix_rand!(expr)
|
|
||||||
eval(expr)
|
eval(expr)
|
||||||
png(fn)
|
png(fn)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# try
|
||||||
|
# run(`mkdir -p $newdir`)
|
||||||
|
# catch err
|
||||||
|
# display(err)
|
||||||
|
# end
|
||||||
|
# # reffn = joinpath(refdir, "ref$idx.png")
|
||||||
|
|
||||||
# the test
|
# the test
|
||||||
vtest = VisualTest(func, reffn, idx)
|
vtest = VisualTest(func, reffn, idx)
|
||||||
test_images(vtest, popup = popup, sigma = sigma, tol = tol, newfn = newfn)
|
test_images(vtest, popup=popup, sigma=sigma, tol=tol, newfn = newfn)
|
||||||
end
|
end
|
||||||
|
|
||||||
function image_comparison_facts(
|
function image_comparison_facts(pkg::Symbol;
|
||||||
pkg::Symbol;
|
skip = [], # skip these examples (int index)
|
||||||
skip = [], # skip these examples (int index)
|
only = nothing, # limit to these examples (int index)
|
||||||
only = nothing, # limit to these examples (int index)
|
debug = false, # print debug information?
|
||||||
debug = false, # print debug information?
|
sigma = [1,1], # number of pixels to "blur"
|
||||||
sigma = [1, 1], # number of pixels to "blur"
|
tol = 1e-2) # acceptable error (percent)
|
||||||
tol = 1e-2,
|
for i in 1:length(Plots._examples)
|
||||||
) # acceptable error (percent)
|
i in skip && continue
|
||||||
for i = 1:length(Plots._examples)
|
if only === nothing || i in only
|
||||||
i in skip && continue
|
@test image_comparison_tests(pkg, i, debug=debug, sigma=sigma, tol=tol) |> success == true
|
||||||
if only === nothing || i in only
|
|
||||||
@test image_comparison_tests(pkg, i, debug = debug, sigma = sigma, tol = tol) |>
|
|
||||||
success == true
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
+22
-109
@@ -1,120 +1,40 @@
|
|||||||
import ImageMagick
|
|
||||||
using VisualRegressionTests
|
using VisualRegressionTests
|
||||||
using Plots
|
using Plots
|
||||||
using Random
|
using Random
|
||||||
using StableRNGs
|
using BinaryProvider
|
||||||
using Test
|
using Test
|
||||||
using FileIO
|
using FileIO
|
||||||
using Gtk
|
using GeometryTypes
|
||||||
using LibGit2
|
|
||||||
import GeometryTypes, GeometryBasics
|
|
||||||
using Dates
|
|
||||||
|
|
||||||
include("test_axes.jl")
|
|
||||||
include("test_hdf5plots.jl")
|
|
||||||
include("test_pgfplotsx.jl")
|
|
||||||
|
|
||||||
reference_dir(args...) = joinpath(homedir(), ".julia", "dev", "PlotReferenceImages", args...)
|
|
||||||
|
|
||||||
function reference_file(backend, i, version)
|
|
||||||
refdir = reference_dir("Plots", string(backend))
|
|
||||||
fn = "ref$i.png"
|
|
||||||
versions = sort(VersionNumber.(readdir(refdir)), rev = true)
|
|
||||||
|
|
||||||
reffn = joinpath(refdir, string(version), fn)
|
|
||||||
for v in versions
|
|
||||||
tmpfn = joinpath(refdir, string(v), fn)
|
|
||||||
if isfile(tmpfn)
|
|
||||||
reffn = tmpfn
|
|
||||||
break
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return reffn
|
|
||||||
end
|
|
||||||
|
|
||||||
reference_path(backend, version) = reference_dir("Plots", string(backend), string(version))
|
|
||||||
|
|
||||||
if !isdir(reference_dir())
|
|
||||||
mkpath(reference_dir())
|
|
||||||
LibGit2.clone("https://github.com/JuliaPlots/PlotReferenceImages.jl.git", reference_dir())
|
|
||||||
end
|
|
||||||
|
|
||||||
include("imgcomp.jl")
|
include("imgcomp.jl")
|
||||||
# don't actually show the plots
|
# don't actually show the plots
|
||||||
Random.seed!(1234)
|
Random.seed!(1234)
|
||||||
default(show=false, reuse=true)
|
default(show=false, reuse=true)
|
||||||
is_ci() = get(ENV, "CI", "false") == "true"
|
img_tol = isinteractive() ? 1e-2 : 10e-2
|
||||||
const IMG_TOL = VERSION < v"1.4" && Sys.iswindows() ? 1e-1 : is_ci() ? 1e-2 : 1e-3
|
|
||||||
|
|
||||||
## Uncomment the following lines to update reference images for different backends
|
@testset "GR" begin
|
||||||
|
ENV["PLOTS_TEST"] = "true"
|
||||||
|
ENV["GKSwstype"] = "100"
|
||||||
|
@test gr() == Plots.GRBackend()
|
||||||
|
@test backend() == Plots.GRBackend()
|
||||||
|
|
||||||
# @testset "GR" begin
|
@static if Sys.islinux()
|
||||||
# image_comparison_facts(:gr, tol=IMG_TOL, skip = Plots._backend_skips[:gr])
|
image_comparison_facts(:gr, tol=img_tol, skip = [25, 30])
|
||||||
# end
|
|
||||||
#
|
|
||||||
# plotly()
|
|
||||||
# @testset "Plotly" begin
|
|
||||||
# image_comparison_facts(:plotly, tol=IMG_TOL, skip = Plots._backend_skips[:plotlyjs])
|
|
||||||
# end
|
|
||||||
#
|
|
||||||
# pyplot()
|
|
||||||
# @testset "PyPlot" begin
|
|
||||||
# image_comparison_facts(:pyplot, tol=IMG_TOL, skip = Plots._backend_skips[:pyplot])
|
|
||||||
# end
|
|
||||||
#
|
|
||||||
# pgfplotsx()
|
|
||||||
# @testset "PGFPlotsX" begin
|
|
||||||
# image_comparison_facts(:pgfplotsx, tol=IMG_TOL, skip = Plots._backend_skips[:pgfplotsx])
|
|
||||||
# end
|
|
||||||
|
|
||||||
# 10 Histogram2D
|
|
||||||
|
|
||||||
##
|
|
||||||
|
|
||||||
@testset "Backends" begin
|
|
||||||
|
|
||||||
@testset "GR" begin
|
|
||||||
ENV["PLOTS_TEST"] = "true"
|
|
||||||
ENV["GKSwstype"] = "100"
|
|
||||||
@test gr() == Plots.GRBackend()
|
|
||||||
@test backend() == Plots.GRBackend()
|
|
||||||
|
|
||||||
@static if haskey(ENV, "APPVEYOR")
|
|
||||||
@info "Skipping GR image comparison tests on AppVeyor"
|
|
||||||
else
|
|
||||||
image_comparison_facts(:gr, tol=IMG_TOL, skip = Plots._backend_skips[:gr])
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
@testset "UnicodePlots" begin
|
|
||||||
@test unicodeplots() == Plots.UnicodePlotsBackend()
|
|
||||||
@test backend() == Plots.UnicodePlotsBackend()
|
|
||||||
|
|
||||||
# lets just make sure it runs without error
|
@testset "UnicodePlots" begin
|
||||||
p = plot(rand(10))
|
@test unicodeplots() == Plots.UnicodePlotsBackend()
|
||||||
@test isa(p, Plots.Plot) == true
|
@test backend() == Plots.UnicodePlotsBackend()
|
||||||
@test isa(display(p), Nothing) == true
|
|
||||||
p = bar(randn(10))
|
|
||||||
@test isa(p, Plots.Plot) == true
|
|
||||||
@test isa(display(p), Nothing) == true
|
|
||||||
p = plot([1, 2], [3, 4])
|
|
||||||
annotate!(p, [(1.5, 3.2, Plots.text("Test", :red, :center))])
|
|
||||||
hline!(p, [3.1])
|
|
||||||
@test isa(p, Plots.Plot) == true
|
|
||||||
@test isa(display(p), Nothing) == true
|
|
||||||
p = plot([Dates.Date(2019, 1, 1), Dates.Date(2019, 2, 1)], [3, 4])
|
|
||||||
hline!(p, [3.1])
|
|
||||||
annotate!(p, [(Dates.Date(2019, 1, 15), 3.2, Plots.text("Test", :red, :center))])
|
|
||||||
@test isa(p, Plots.Plot) == true
|
|
||||||
@test isa(display(p), Nothing) == true
|
|
||||||
p = plot([Dates.Date(2019, 1, 1), Dates.Date(2019, 2, 1)], [3, 4])
|
|
||||||
annotate!(p, [(Dates.Date(2019, 1, 15), 3.2, Plots.text("Test", :red, :center))])
|
|
||||||
hline!(p, [3.1])
|
|
||||||
@test isa(p, Plots.Plot) == true
|
|
||||||
@test isa(display(p), Nothing) == true
|
|
||||||
end
|
|
||||||
|
|
||||||
|
# lets just make sure it runs without error
|
||||||
|
p = plot(rand(10))
|
||||||
|
@test isa(p, Plots.Plot) == true
|
||||||
|
@test isa(display(p), Nothing) == true
|
||||||
|
p = bar(randn(10))
|
||||||
|
@test isa(p, Plots.Plot) == true
|
||||||
|
@test isa(display(p), Nothing) == true
|
||||||
end
|
end
|
||||||
|
|
||||||
@testset "Axes" begin
|
@testset "Axes" begin
|
||||||
@@ -141,7 +61,6 @@ end
|
|||||||
for plt in plots
|
for plt in plots
|
||||||
display(plt)
|
display(plt)
|
||||||
end
|
end
|
||||||
@test_nowarn plot(x->x^2,0,2)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
@testset "EmptyAnim" begin
|
@testset "EmptyAnim" begin
|
||||||
@@ -178,12 +97,6 @@ end
|
|||||||
[(missing,missing)], [(missing,missing,missing),("a","b","c")])
|
[(missing,missing)], [(missing,missing,missing),("a","b","c")])
|
||||||
for z in zipped
|
for z in zipped
|
||||||
@test isequal(collect(zip(Plots.unzip(z)...)), z)
|
@test isequal(collect(zip(Plots.unzip(z)...)), z)
|
||||||
@test isequal(collect(zip(Plots.unzip(GeometryTypes.Point.(z))...)), z)
|
@test isequal(collect(zip(Plots.unzip(Point.(z))...)), z)
|
||||||
@test isequal(collect(zip(Plots.unzip(GeometryBasics.Point.(z))...)), z)
|
|
||||||
end
|
end
|
||||||
op1 = Plots.process_clims((1.0, 2.0))
|
|
||||||
op2 = Plots.process_clims((1, 2.0))
|
|
||||||
data = randn(100, 100)
|
|
||||||
@test op1(data) == op2(data)
|
|
||||||
@test Plots.process_clims(nothing) == Plots.process_clims(missing) == Plots.process_clims(:auto)
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
using Plots, Test
|
|
||||||
|
|
||||||
@testset "Showaxis" begin
|
|
||||||
for value in Plots._allShowaxisArgs
|
|
||||||
@test plot(1:5, showaxis = value)[1][:yaxis][:showaxis] isa Bool
|
|
||||||
end
|
|
||||||
@test plot(1:5, showaxis = :y)[1][:yaxis][:showaxis] == true
|
|
||||||
@test plot(1:5, showaxis = :y)[1][:xaxis][:showaxis] == false
|
|
||||||
end
|
|
||||||
|
|
||||||
@testset "Magic axis" begin
|
|
||||||
@test plot(1, axis=nothing)[1][:xaxis][:ticks] == []
|
|
||||||
@test plot(1, axis=nothing)[1][:yaxis][:ticks] == []
|
|
||||||
end # testset
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
using Plots, HDF5
|
|
||||||
|
|
||||||
|
|
||||||
@testset "HDF5_Plots" begin
|
|
||||||
fname = "tmpplotsave.hdf5"
|
|
||||||
hdf5()
|
|
||||||
|
|
||||||
x = 1:10
|
|
||||||
psrc=plot(x, x.*x); #Create some plot
|
|
||||||
Plots.hdf5plot_write(psrc, fname)
|
|
||||||
|
|
||||||
#Read back file:
|
|
||||||
gr() #Choose some fast backend likely to work in test environment.
|
|
||||||
pread = Plots.hdf5plot_read(fname)
|
|
||||||
|
|
||||||
#Make sure data made it through:
|
|
||||||
@test psrc.subplots[1].series_list[1][:x] == pread.subplots[1].series_list[1][:x]
|
|
||||||
@test psrc.subplots[1].series_list[1][:y] == pread.subplots[1].series_list[1][:y]
|
|
||||||
|
|
||||||
#display(pread) #Don't display. Regression env might not support
|
|
||||||
end #testset
|
|
||||||
@@ -1,344 +0,0 @@
|
|||||||
using Plots, Test
|
|
||||||
pgfplotsx()
|
|
||||||
|
|
||||||
function create_plot(args...; kwargs...)
|
|
||||||
pgfx_plot = plot(args...; kwargs...)
|
|
||||||
return pgfx_plot, repr("application/x-tex", pgfx_plot)
|
|
||||||
end
|
|
||||||
|
|
||||||
function create_plot!(args...; kwargs...)
|
|
||||||
pgfx_plot = plot!(args...; kwargs...)
|
|
||||||
return pgfx_plot, repr("application/x-tex", pgfx_plot)
|
|
||||||
end
|
|
||||||
|
|
||||||
@testset "PGFPlotsX" begin
|
|
||||||
pgfx_plot = plot(1:5)
|
|
||||||
Plots._update_plot_object(pgfx_plot)
|
|
||||||
@test pgfx_plot.o.the_plot isa PGFPlotsX.TikzDocument
|
|
||||||
@test pgfx_plot.series_list[1].plotattributes[:quiver] === nothing
|
|
||||||
axis = Plots.pgfx_axes(pgfx_plot.o)[1]
|
|
||||||
@test count(x -> x isa PGFPlotsX.Plot, axis.contents) == 1
|
|
||||||
@test !haskey(axis.contents[1].options.dict, "fill")
|
|
||||||
|
|
||||||
@testset "Legends" begin
|
|
||||||
legends_plot = plot( rand(5,2), lab = ["1" ""] )
|
|
||||||
scatter!(legends_plot, rand(5) )
|
|
||||||
Plots._update_plot_object(legends_plot)
|
|
||||||
axis_contents = Plots.pgfx_axes(legends_plot.o)[1].contents
|
|
||||||
leg_entries = filter( x -> x isa PGFPlotsX.LegendEntry, axis_contents )
|
|
||||||
series = filter( x -> x isa PGFPlotsX.Plot, axis_contents )
|
|
||||||
@test length(leg_entries) == 2
|
|
||||||
@test !haskey(series[1].options.dict, "forget plot")
|
|
||||||
@test haskey(series[2].options.dict, "forget plot")
|
|
||||||
@test !haskey(series[3].options.dict, "forget plot")
|
|
||||||
end # testset
|
|
||||||
|
|
||||||
@testset "3D docs example" begin
|
|
||||||
n = 100
|
|
||||||
ts = range(0, stop = 8π, length = n)
|
|
||||||
x = ts .* map(cos, ts)
|
|
||||||
y = (0.1ts) .* map(sin, ts)
|
|
||||||
z = 1:n
|
|
||||||
pl = plot(
|
|
||||||
x,
|
|
||||||
y,
|
|
||||||
z,
|
|
||||||
zcolor = reverse(z),
|
|
||||||
m = (10, 0.8, :blues, Plots.stroke(0)),
|
|
||||||
leg = false,
|
|
||||||
cbar = true,
|
|
||||||
w = 5,
|
|
||||||
)
|
|
||||||
pgfx_plot = plot!(pl, zeros(n), zeros(n), 1:n, w = 10)
|
|
||||||
Plots._update_plot_object(pgfx_plot)
|
|
||||||
if @test_nowarn(
|
|
||||||
haskey(Plots.pgfx_axes(pgfx_plot.o)[1].options.dict, "colorbar") == true
|
|
||||||
)
|
|
||||||
@test Plots.pgfx_axes(pgfx_plot.o)[1]["colorbar"] === nothing
|
|
||||||
end
|
|
||||||
end # testset
|
|
||||||
@testset "Color docs example" begin
|
|
||||||
y = rand(100)
|
|
||||||
plot(
|
|
||||||
0:10:100,
|
|
||||||
rand(11, 4),
|
|
||||||
lab = "lines",
|
|
||||||
w = 3,
|
|
||||||
palette = :grays,
|
|
||||||
fill = 0,
|
|
||||||
α = 0.6,
|
|
||||||
)
|
|
||||||
pl = scatter!(
|
|
||||||
y,
|
|
||||||
zcolor = abs.(y .- 0.5),
|
|
||||||
m = (:hot, 0.8, Plots.stroke(1, :green)),
|
|
||||||
ms = 10 * abs.(y .- 0.5) .+ 4,
|
|
||||||
lab = ["grad", "", "ient"],
|
|
||||||
)
|
|
||||||
Plots._update_plot_object(pl)
|
|
||||||
axis = Plots.pgfx_axes(pl.o)[1]
|
|
||||||
@test count(x -> x isa PGFPlotsX.LegendEntry, axis.contents) == 6
|
|
||||||
@test count(x -> x isa PGFPlotsX.Plot, axis.contents) == 108 # each marker is its own plot, fillranges create 2 plot-objects
|
|
||||||
marker = axis.contents[15]
|
|
||||||
@test marker isa PGFPlotsX.Plot
|
|
||||||
@test marker.options["mark"] == "*"
|
|
||||||
@test marker.options["mark options"]["color"] ==
|
|
||||||
RGBA{Float64}(colorant"green", 0.8)
|
|
||||||
@test marker.options["mark options"]["line width"] == 0.75 # 1px is 0.75pt
|
|
||||||
end # testset
|
|
||||||
@testset "Plot in pieces" begin
|
|
||||||
pic = plot(rand(100) / 3, reg = true, fill = (0, :green))
|
|
||||||
scatter!(pic, rand(100), markersize = 6, c = :orange)
|
|
||||||
Plots._update_plot_object(pic)
|
|
||||||
axis_contents = Plots.pgfx_axes(pic.o)[1].contents
|
|
||||||
leg_entries = filter( x -> x isa PGFPlotsX.LegendEntry, axis_contents )
|
|
||||||
series = filter( x -> x isa PGFPlotsX.Plot, axis_contents )
|
|
||||||
@test length(leg_entries) == 2
|
|
||||||
@test length(series) == 4
|
|
||||||
@test haskey(series[1].options.dict, "forget plot")
|
|
||||||
@test !haskey(series[2].options.dict, "forget plot")
|
|
||||||
@test haskey(series[3].options.dict, "forget plot")
|
|
||||||
@test !haskey(series[4].options.dict, "forget plot")
|
|
||||||
end # testset
|
|
||||||
@testset "Marker types" begin
|
|
||||||
markers = filter((m -> begin
|
|
||||||
m in Plots.supported_markers()
|
|
||||||
end), Plots._shape_keys)
|
|
||||||
markers = reshape(markers, 1, length(markers))
|
|
||||||
n = length(markers)
|
|
||||||
x = (range(0, stop = 10, length = n + 2))[2:(end - 1)]
|
|
||||||
y = repeat(reshape(reverse(x), 1, :), n, 1)
|
|
||||||
scatter(
|
|
||||||
x,
|
|
||||||
y,
|
|
||||||
m = (8, :auto),
|
|
||||||
lab = map(string, markers),
|
|
||||||
bg = :linen,
|
|
||||||
xlim = (0, 10),
|
|
||||||
ylim = (0, 10),
|
|
||||||
)
|
|
||||||
end # testset
|
|
||||||
@testset "Layout" begin
|
|
||||||
plot(
|
|
||||||
Plots.fakedata(100, 10),
|
|
||||||
layout = 4,
|
|
||||||
palette = [:grays :blues :hot :rainbow],
|
|
||||||
bg_inside = [:orange :pink :darkblue :black],
|
|
||||||
)
|
|
||||||
end # testset
|
|
||||||
@testset "Polar plots" begin
|
|
||||||
Θ = range(0, stop = 1.5π, length = 100)
|
|
||||||
r = abs.(0.1 * randn(100) + sin.(3Θ))
|
|
||||||
plot(Θ, r, proj = :polar, m = 2)
|
|
||||||
end # testset
|
|
||||||
@testset "Drawing shapes" begin
|
|
||||||
verts = [
|
|
||||||
(-1.0, 1.0),
|
|
||||||
(-1.28, 0.6),
|
|
||||||
(-0.2, -1.4),
|
|
||||||
(0.2, -1.4),
|
|
||||||
(1.28, 0.6),
|
|
||||||
(1.0, 1.0),
|
|
||||||
(-1.0, 1.0),
|
|
||||||
(-0.2, -0.6),
|
|
||||||
(0.0, -0.2),
|
|
||||||
(-0.4, 0.6),
|
|
||||||
(1.28, 0.6),
|
|
||||||
(0.2, -1.4),
|
|
||||||
(-0.2, -1.4),
|
|
||||||
(0.6, 0.2),
|
|
||||||
(-0.2, 0.2),
|
|
||||||
(0.0, -0.2),
|
|
||||||
(0.2, 0.2),
|
|
||||||
(-0.2, -0.6),
|
|
||||||
]
|
|
||||||
x = 0.1:0.2:0.9
|
|
||||||
y = 0.7 * rand(5) .+ 0.15
|
|
||||||
plot(
|
|
||||||
x,
|
|
||||||
y,
|
|
||||||
line = (3, :dash, :lightblue),
|
|
||||||
marker = (Shape(verts), 30, RGBA(0, 0, 0, 0.2)),
|
|
||||||
bg = :pink,
|
|
||||||
fg = :darkblue,
|
|
||||||
xlim = (0, 1),
|
|
||||||
ylim = (0, 1),
|
|
||||||
leg = false,
|
|
||||||
)
|
|
||||||
end # testset
|
|
||||||
@testset "Histogram 2D" begin
|
|
||||||
histogram2d(randn(10000), randn(10000), nbins = 20)
|
|
||||||
end # testset
|
|
||||||
@testset "Heatmap-like" begin
|
|
||||||
xs = [string("x", i) for i = 1:10]
|
|
||||||
ys = [string("y", i) for i = 1:4]
|
|
||||||
z = float((1:4) * reshape(1:10, 1, :))
|
|
||||||
pgfx_plot = heatmap(xs, ys, z, aspect_ratio = 1)
|
|
||||||
Plots._update_plot_object(pgfx_plot)
|
|
||||||
if @test_nowarn(
|
|
||||||
haskey(Plots.pgfx_axes(pgfx_plot.o)[1].options.dict, "colorbar") == true
|
|
||||||
)
|
|
||||||
@test Plots.pgfx_axes(pgfx_plot.o)[1]["colorbar"] === nothing
|
|
||||||
@test Plots.pgfx_axes(pgfx_plot.o)[1]["colormap name"] == "plots1"
|
|
||||||
end
|
|
||||||
|
|
||||||
pgfx_plot = wireframe(xs, ys, z, aspect_ratio = 1)
|
|
||||||
# TODO: clims are wrong
|
|
||||||
end # testset
|
|
||||||
@testset "Contours" begin
|
|
||||||
x = 1:0.5:20
|
|
||||||
y = 1:0.5:10
|
|
||||||
f(x, y) = begin
|
|
||||||
(3x + y^2) * abs(sin(x) + cos(y))
|
|
||||||
end
|
|
||||||
X = repeat(reshape(x, 1, :), length(y), 1)
|
|
||||||
Y = repeat(y, 1, length(x))
|
|
||||||
Z = map(f, X, Y)
|
|
||||||
p2 = contour(x, y, Z)
|
|
||||||
p1 = contour(x, y, f, fill = true)
|
|
||||||
plot(p1, p2)
|
|
||||||
# TODO: colorbar for filled contours
|
|
||||||
end # testset
|
|
||||||
@testset "Varying colors" begin
|
|
||||||
t = range(0, stop = 1, length = 100)
|
|
||||||
θ = (6π) .* t
|
|
||||||
x = t .* cos.(θ)
|
|
||||||
y = t .* sin.(θ)
|
|
||||||
p1 = plot(x, y, line_z = t, linewidth = 3, legend = false)
|
|
||||||
p2 = scatter(
|
|
||||||
x,
|
|
||||||
y,
|
|
||||||
marker_z = ((x, y) -> begin
|
|
||||||
x + y
|
|
||||||
end),
|
|
||||||
color = :bwr,
|
|
||||||
legend = false,
|
|
||||||
)
|
|
||||||
plot(p1, p2)
|
|
||||||
end # testset
|
|
||||||
@testset "Framestyles" begin
|
|
||||||
scatter(
|
|
||||||
fill(randn(10), 6),
|
|
||||||
fill(randn(10), 6),
|
|
||||||
framestyle = [:box :semi :origin :zerolines :grid :none],
|
|
||||||
title = [":box" ":semi" ":origin" ":zerolines" ":grid" ":none"],
|
|
||||||
color = permutedims(1:6),
|
|
||||||
layout = 6,
|
|
||||||
label = "",
|
|
||||||
markerstrokewidth = 0,
|
|
||||||
ticks = -2:2,
|
|
||||||
)
|
|
||||||
# TODO: support :semi
|
|
||||||
end # testset
|
|
||||||
@testset "Quiver" begin
|
|
||||||
x = (-2pi):0.2:(2 * pi)
|
|
||||||
y = sin.(x)
|
|
||||||
|
|
||||||
u = ones(length(x))
|
|
||||||
v = cos.(x)
|
|
||||||
arrow_plot = plot(x, y, quiver = (u, v), arrow = true)
|
|
||||||
# TODO: could adjust limits to fit arrows if too long, but how?
|
|
||||||
# TODO: get latex available on CI
|
|
||||||
# mktempdir() do path
|
|
||||||
# @test_nowarn savefig(arrow_plot, path*"arrow.pdf")
|
|
||||||
# end
|
|
||||||
end # testset
|
|
||||||
@testset "Annotations" begin
|
|
||||||
y = rand(10)
|
|
||||||
pgfx_plot = plot(
|
|
||||||
y,
|
|
||||||
annotations = (3, y[3], Plots.text("this is \\#3", :left)),
|
|
||||||
leg = false,
|
|
||||||
)
|
|
||||||
Plots._update_plot_object(pgfx_plot)
|
|
||||||
axis_content = Plots.pgfx_axes(pgfx_plot.o)[1].contents
|
|
||||||
nodes = filter(x -> !isa(x, PGFPlotsX.Plot), axis_content)
|
|
||||||
@test length(nodes) == 1
|
|
||||||
mktempdir() do path
|
|
||||||
file_path =joinpath(path,"annotations.tex")
|
|
||||||
@test_nowarn savefig(pgfx_plot, file_path)
|
|
||||||
open(file_path) do io
|
|
||||||
lines = readlines(io)
|
|
||||||
@test count(s -> occursin("node", s), lines) == 1
|
|
||||||
end
|
|
||||||
end
|
|
||||||
annotate!([
|
|
||||||
(5, y[5], Plots.text("this is \\#5", 16, :red, :center)),
|
|
||||||
(10, y[10], Plots.text("this is \\#10", :right, 20, "courier")),
|
|
||||||
])
|
|
||||||
Plots._update_plot_object(pgfx_plot)
|
|
||||||
axis_content = Plots.pgfx_axes(pgfx_plot.o)[1].contents
|
|
||||||
nodes = filter(x -> !isa(x, PGFPlotsX.Plot), axis_content)
|
|
||||||
@test length(nodes) == 3
|
|
||||||
mktempdir() do path
|
|
||||||
file_path =joinpath(path,"annotations.tex")
|
|
||||||
@test_nowarn savefig(pgfx_plot, file_path)
|
|
||||||
open(file_path) do io
|
|
||||||
lines = readlines(io)
|
|
||||||
@test count(s -> occursin("node", s), lines) == 3
|
|
||||||
end
|
|
||||||
end
|
|
||||||
annotation_plot = scatter!(
|
|
||||||
range(2, stop = 8, length = 6),
|
|
||||||
rand(6),
|
|
||||||
marker = (50, 0.2, :orange),
|
|
||||||
series_annotations = [
|
|
||||||
"series",
|
|
||||||
"annotations",
|
|
||||||
"map",
|
|
||||||
"to",
|
|
||||||
"series",
|
|
||||||
Plots.text("data", :green),
|
|
||||||
],
|
|
||||||
)
|
|
||||||
Plots._update_plot_object(annotation_plot)
|
|
||||||
axis_content = Plots.pgfx_axes(annotation_plot.o)[1].contents
|
|
||||||
nodes = filter(x -> !isa(x, PGFPlotsX.Plot), axis_content)
|
|
||||||
@test length(nodes) == 9
|
|
||||||
mktempdir() do path
|
|
||||||
file_path =joinpath(path,"annotations.tex")
|
|
||||||
@test_nowarn savefig(annotation_plot, file_path)
|
|
||||||
open(file_path) do io
|
|
||||||
lines = readlines(io)
|
|
||||||
@test count(s -> occursin("node", s), lines) == 9
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end # testset
|
|
||||||
@testset "Ribbon" begin
|
|
||||||
aa = rand(10)
|
|
||||||
bb = rand(10)
|
|
||||||
cc = rand(10)
|
|
||||||
conf = [aa - cc bb - cc]
|
|
||||||
ribbon_plot =
|
|
||||||
plot(collect(1:10), fill(1, 10), ribbon = (conf[:, 1], conf[:, 2]))
|
|
||||||
Plots._update_plot_object(ribbon_plot)
|
|
||||||
axis = Plots.pgfx_axes(ribbon_plot.o)[1]
|
|
||||||
plots = filter(x -> x isa PGFPlotsX.Plot, axis.contents)
|
|
||||||
@test length(plots) == 3
|
|
||||||
@test haskey(plots[1].options.dict, "fill")
|
|
||||||
@test haskey(plots[2].options.dict, "fill")
|
|
||||||
@test !haskey(plots[3].options.dict, "fill")
|
|
||||||
@test ribbon_plot.o !== nothing
|
|
||||||
@test ribbon_plot.o.the_plot !== nothing
|
|
||||||
end # testset
|
|
||||||
end # testset
|
|
||||||
|
|
||||||
@testset "Extra kwargs" begin
|
|
||||||
pl = plot(1:5, test = "me")
|
|
||||||
@test pl[1][1].plotattributes[:extra_kwargs][:test] == "me"
|
|
||||||
pl = plot(1:5, test = "me", extra_kwargs = :subplot)
|
|
||||||
@test pl[1].attr[:extra_kwargs][:test] == "me"
|
|
||||||
pl = plot(1:5, test = "me", extra_kwargs = :plot)
|
|
||||||
@test pl.attr[:extra_plot_kwargs][:test] == "me"
|
|
||||||
pl = plot(1:5, extra_kwargs = Dict(:plot => Dict(:test => "me"), :series => Dict(:and => "me too")))
|
|
||||||
@test pl.attr[:extra_plot_kwargs][:test] == "me"
|
|
||||||
@test pl[1][1].plotattributes[:extra_kwargs][:and] == "me too"
|
|
||||||
pl = plot(
|
|
||||||
plot(1:5, title="Line"),
|
|
||||||
scatter(1:5, title="Scatter", extra_kwargs=Dict(:subplot=>Dict("axis line shift" => "10pt")))
|
|
||||||
)
|
|
||||||
Plots._update_plot_object(pl)
|
|
||||||
axes = Plots.pgfx_axes(pl.o)
|
|
||||||
@test !haskey(axes[1].options.dict, "axis line shift")
|
|
||||||
@test haskey(axes[2].options.dict, "axis line shift")
|
|
||||||
end # testset
|
|
||||||
Reference in New Issue
Block a user