diff --git a/.github/ISSUE_TEMPLATE/BUG-REPORT.yml b/.github/ISSUE_TEMPLATE/BUG-REPORT.yml deleted file mode 100644 index 34f617df..00000000 --- a/.github/ISSUE_TEMPLATE/BUG-REPORT.yml +++ /dev/null @@ -1,103 +0,0 @@ -name: Bug Report -description: Please do not use bug reports for support issues. -labels: ['status:awaiting-triage', 'type:bug'] -body: - - type: markdown - attributes: - value: | - **THIS IS NOT THE PLACE TO ASK FOR SUPPORT!** Please use [Discord](https://tautulli.com/discord) for support issues. - - type: textarea - id: description - attributes: - label: Describe the Bug - description: A clear and concise description of the bug. - validations: - required: true - - type: textarea - id: steps - attributes: - label: Steps to Reproduce - description: List each action required in order to reproduce the issue. - placeholder: | - 1. Go to '...' - 2. Click on '...' - 3. Scroll down to '...' - 4. See error - - type: textarea - id: expected - attributes: - label: Expected Behavior - description: A clear and concise description of what you expected to happen. - - type: textarea - id: screenshots - attributes: - label: Screenshots - description: Provide screenshots to help explain your problem. - - type: textarea - id: relevant - attributes: - label: Relevant Settings - description: Include all settings/configuration that are relevant to your issue. For example, Plex Media Server, newsletter, or notification settings. - placeholder: | - - eg. Plex Media Server IP address/port/checkboxes/proxy/etc. - - eg. Notification agent configuration/triggers/conditions/text/delay/grouping/etc. - - eg. Newsletter agent configuration/checkboxes/template/etc. - - Other settings - - type: input - id: version - attributes: - label: Tautulli Version - description: Check Tautulli Settings > Help & Info page. - placeholder: eg. v2.7.5 - validations: - required: true - - type: input - id: branch - attributes: - label: Git Branch - description: Check Tautulli Settings > Help & Info page. - placeholder: eg. master - validations: - required: true - - type: input - id: hash - attributes: - label: Git Commit Hash - description: Check Tautulli Settings > Help & Info page. - placeholder: eg. 2cc5bf812fe05e0666aeaeb37ed550c59816fb4c - validations: - required: true - - type: input - id: platform - attributes: - label: Platform and Version - description: Check Tautulli Settings > Help & Info page. - placeholder: eg. Windows 10 - validations: - required: true - - type: input - id: python - attributes: - label: Python Version - description: Check Tautulli Settings > Help & Info page. - placeholder: eg. 3.8.10 - validations: - required: true - - type: input - id: browser - attributes: - label: Browser and Version - placeholder: eg. Chrome 88 - validations: - required: true - - type: input - id: logs - attributes: - label: Link to Logs - description: Include a link to your **FULL** logs (not just a few lines) on [Gist](http://gist.github.com). - validations: - required: true - - type: markdown - attributes: - value: | - Make sure to close your issue when it's solved! If you found the solution yourself please comment so that others benefit from it. diff --git a/.github/ISSUE_TEMPLATE/FEATURE-REQUEST.yml b/.github/ISSUE_TEMPLATE/FEATURE-REQUEST.yml deleted file mode 100644 index 70e2ab33..00000000 --- a/.github/ISSUE_TEMPLATE/FEATURE-REQUEST.yml +++ /dev/null @@ -1,31 +0,0 @@ -name: Feature Request -description: Suggest a new feature for Tautulli. -labels: ['status:awaiting-triage', 'type:enhancement'] -body: - - type: markdown - attributes: - value: | - Thanks for taking the time to help improve Tautulli! - - type: textarea - id: problem - attributes: - label: Is your feature request related to a problem? - description: If so, please provide clear and concise description of the problem. - placeholder: eg. I'm always frustrated when '...' - - type: textarea - id: feature - attributes: - label: What is your feature request? - description: A clear and concise description of the feature. - validations: - required: true - - type: textarea - id: workaround - attributes: - label: Are there any workarounds? - description: A clear and concise description of any alternative solutions or features you've considered. - - type: textarea - id: additional - attributes: - label: Additional Context - description: Add any other context or screenshots about the feature request here. diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 00000000..877e934c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,49 @@ +--- +name: Bug Report +about: Please do not use bug reports for support issues. +title: '' +labels: 'status:awaiting-triage, type:bug' +assignees: '' + +--- + + + +**Describe the Bug** +A clear and concise description of what the bug is. + +**Steps to Reproduce** +1. Go to '...' +2. Click on '...' +3. Scroll down to '...' +4. See error + +**Expected Behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +Provide screenshots to help explain your problem. + +**Relevant Settings** +- eg. Plex Media Server IP address/port/checkboxes/proxy/etc. +- eg. Notification agent configuration/triggers/conditions/text/delay/grouping/etc. +- eg. Newsletter agent configuration/checkboxes/template/etc. +- Other settings + +**Tautulli and System Info (see Tautulli settings page)** +- Version: [eg. v2.6.6] +- Git Branch: [eg. master] +- Git Commit Hash: [eg. 2cc5bf812fe05e0666aeaeb37ed550c59816fb4c] +- Platform and Version: [eg. Windows 10] +- Python Version: [e.g. 3.8.8] +- Browser and Version: [e.g. Chrome 88] + +**Link to logs (required)** +Include a link to your **FULL** logs (not just a few lines) on [Gist](http://gist.github.com). + + diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 00000000..747aefd6 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature Request +about: Suggest a new feature for Tautulli. +title: '' +labels: 'status:awaiting-triage, type:enhancement' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/codeql-config.yml b/.github/codeql-config.yml deleted file mode 100644 index 574f9b33..00000000 --- a/.github/codeql-config.yml +++ /dev/null @@ -1,4 +0,0 @@ -name: CodeQL Config - -paths-ignore: - - lib diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 1028cc5a..00000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,15 +0,0 @@ -version: 2 -updates: - - package-ecosystem: "github-actions" - directory: "/" - schedule: - interval: "daily" - target-branch: "nightly" - open-pull-requests-limit: 20 - - - package-ecosystem: "pip" - directory: "/" - schedule: - interval: "daily" - target-branch: "nightly" - open-pull-requests-limit: 20 diff --git a/.github/label-actions.yml b/.github/label-actions.yml index ae236e9a..8c308a0c 100644 --- a/.github/label-actions.yml +++ b/.github/label-actions.yml @@ -1,14 +1,8 @@ # Configuration for Label Actions - https://github.com/dessant/label-actions -added: +fixed:next-release: comment: > - This feature has been added and will be available in the next release of Tautulli. - This issue will be automatically closed once the update is available. - -fixed: - comment: > - This bug has been fixed and will be available in the next release of Tautulli. - This issue will be automatically closed once the update is available. + This issue has been fixed and will be available in the next release of Tautulli. invalid:duplicate: comment: > @@ -36,13 +30,6 @@ invalid:support: unlock: true invalid:template-incomplete: - issues: - comment: > - :wave: @{issue-author}, please edit your issue to complete the template with - all the required info. Your issue will be automatically closed in 5 days if - the template is not completed. Thanks. - prs: - comment: > - :wave: @{issue-author}, please edit your PR to complete the template with - all the required info. Your PR will be automatically closed in 5 days if - the template is not completed. Thanks. + comment: > + :wave: @{issue-author}, please edit your issue to complete the template with + all the required info. Thanks. diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 63ab24be..ea871c55 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,16 +1,10 @@ ## Description -Please include a summary of the changes. +Please include a summary of the change and which issue is fixed. -### Screenshot +Fixes #(issue) -Include screenshots if the changes are UI-related. - -### Issues Fixed or Closed - -- Fixes #(issue) - -## Type of Change +## Type of change Please delete options that are not relevant. @@ -18,7 +12,7 @@ Please delete options that are not relevant. - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) -## Checklist +## Checklist: - [ ] My code follows the style guidelines of this project - [ ] I have performed a self-review of my own code diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml deleted file mode 100644 index e9c8e05d..00000000 --- a/.github/workflows/codeql.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: CodeQL - -on: - push: - branches: [nightly] - pull_request: - branches: [nightly] - schedule: - - cron: '05 10 * * 1' - -jobs: - codeql-analysis: - name: CodeQL Analysis - runs-on: ubuntu-latest - permissions: - actions: read - contents: read - security-events: write - - strategy: - fail-fast: false - matrix: - language: ['javascript', 'python'] - - steps: - - name: Checkout Code - uses: actions/checkout@v4 - - - name: Initialize CodeQL - uses: github/codeql-action/init@v3 - with: - config-file: ./.github/codeql-config.yml - languages: ${{ matrix.language }} - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 - with: - category: "/language:${{matrix.language}}" diff --git a/.github/workflows/issues-stale.yml b/.github/workflows/issues-stale.yml deleted file mode 100644 index b805e266..00000000 --- a/.github/workflows/issues-stale.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: Stale Issues / PRs - -on: - schedule: - - cron: '00 19 * * *' - -jobs: - stale: - name: Check Issues / PRs - runs-on: ubuntu-latest - steps: - - name: Stale - uses: actions/stale@v9 - with: - stale-issue-message: > - This issue is stale because it has been open for 30 days with no activity. - Remove the stale label or comment, otherwise this will be closed in 5 days. - close-issue-message: > - This issue was closed because it has been stalled for 5 days with no activity. - stale-issue-label: 'stale' - exempt-issue-labels: 'added,fixed,type:enhancement,status:awaiting-triage,status:in-progress' - stale-pr-message: > - This PR is stale because it has been open for 30 days with no activity. - Remove the stale label or comment, otherwise this will be closed in 5 days. - close-pr-message: > - This PR was closed because it has been stalled for 5 days with no activity. - stale-pr-label: 'stale' - exempt-pr-labels: 'status:in-progress,status:in-review,dependencies' - days-before-stale: 30 - days-before-close: 5 - - - name: Invalid Template - uses: actions/stale@v9 - with: - stale-issue-message: > - Invalid issues template. - close-issue-message: > - This issue was closed because the the template was not completed after 5 days. - stale-issue-label: 'invalid:template-incomplete' - stale-pr-message: > - Invalid PR template. - close-pr-message: > - This PR was closed because the the template was not completed after 5 days. - stale-pr-label: 'invalid:template-incomplete' - exempt-pr-labels: 'status:in-progress,status:in-review,dependencies' - only-labels: 'invalid:template-incomplete' - days-before-stale: 0 - days-before-close: 5 diff --git a/.github/workflows/issues.yml b/.github/workflows/issues.yml index a60987f5..6505a7d6 100644 --- a/.github/workflows/issues.yml +++ b/.github/workflows/issues.yml @@ -9,7 +9,7 @@ jobs: name: Label Issues runs-on: ubuntu-latest steps: - - name: Label Issues - uses: dessant/label-actions@v4 + - uses: dessant/label-actions@v2 with: github-token: ${{ github.token }} + process-only: issues diff --git a/.github/workflows/publish-docker.yml b/.github/workflows/publish-docker.yml index 62c3f86c..876c46b9 100644 --- a/.github/workflows/publish-docker.yml +++ b/.github/workflows/publish-docker.yml @@ -1,7 +1,6 @@ name: Publish Docker on: - workflow_dispatch: ~ push: branches: [master, beta, nightly] tags: [v*] @@ -13,40 +12,41 @@ jobs: if: ${{ !contains(github.event.head_commit.message, '[skip ci]') }} steps: - name: Checkout Code - uses: actions/checkout@v4 + uses: actions/checkout@v2 - name: Prepare id: prepare run: | if [[ $GITHUB_REF == refs/tags/* ]]; then - echo "tag=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT + echo ::set-output name=tag::${GITHUB_REF#refs/tags/} elif [[ $GITHUB_REF == refs/heads/master ]]; then - echo "tag=latest" >> $GITHUB_OUTPUT + echo ::set-output name=tag::latest else - echo "tag=${GITHUB_REF#refs/heads/}" >> $GITHUB_OUTPUT + echo ::set-output name=tag::${GITHUB_REF#refs/heads/} fi if [[ $GITHUB_REF == refs/tags/*-beta ]]; then - echo "branch=beta" >> $GITHUB_OUTPUT + echo ::set-output name=branch::beta elif [[ $GITHUB_REF == refs/tags/* ]]; then - echo "branch=master" >> $GITHUB_OUTPUT + echo ::set-output name=branch::master else - echo "branch=${GITHUB_REF#refs/heads/}" >> $GITHUB_OUTPUT + echo ::set-output name=branch::${GITHUB_REF#refs/heads/} fi - echo "commit=${GITHUB_SHA}" >> $GITHUB_OUTPUT - echo "docker_platforms=linux/amd64,linux/arm64/v8,linux/arm/v7,linux/arm/v6" >> $GITHUB_OUTPUT - echo "docker_image=${{ secrets.DOCKER_REPO }}/tautulli" >> $GITHUB_OUTPUT + echo ::set-output name=commit::${GITHUB_SHA} + echo ::set-output name=build_date::$(date -u +'%Y-%m-%dT%H:%M:%SZ') + echo ::set-output name=docker_platforms::linux/amd64,linux/arm64/v8,linux/arm/v7,linux/arm/v6 + echo ::set-output name=docker_image::${{ secrets.DOCKER_REPO }}/tautulli - name: Set Up QEMU - uses: docker/setup-qemu-action@v3 + uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 + uses: docker/setup-buildx-action@v1 id: buildx with: version: latest - name: Cache Docker Layers - uses: actions/cache@v4 + uses: actions/cache@v2 with: path: /tmp/.buildx-cache key: ${{ runner.os }}-buildx-${{ github.sha }} @@ -54,28 +54,22 @@ jobs: ${{ runner.os }}-buildx- - name: Login to DockerHub - uses: docker/login-action@v3 + uses: docker/login-action@v1 if: success() with: username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_TOKEN }} + password: ${{ secrets.DOCKER_PASSWORD }} - name: Login to GitHub Container Registry - uses: docker/login-action@v3 + uses: docker/login-action@v1 if: success() with: registry: ghcr.io username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.GHCR_TOKEN }} - - name: Extract Docker Metadata - id: metadata - uses: docker/metadata-action@v5 - with: - images: ${{ steps.prepare.outputs.docker_image }} - - name: Docker Build and Push - uses: docker/build-push-action@v6 + uses: docker/build-push-action@v2 if: success() with: context: . @@ -86,10 +80,10 @@ jobs: TAG=${{ steps.prepare.outputs.tag }} BRANCH=${{ steps.prepare.outputs.branch }} COMMIT=${{ steps.prepare.outputs.commit }} + BUILD_DATE=${{ steps.prepare.outputs.build_date }} tags: | ${{ steps.prepare.outputs.docker_image }}:${{ steps.prepare.outputs.tag }} ghcr.io/${{ steps.prepare.outputs.docker_image }}:${{ steps.prepare.outputs.tag }} - labels: ${{ steps.metadata.outputs.labels }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache @@ -99,10 +93,23 @@ jobs: if: always() && !contains(github.event.head_commit.message, '[skip ci]') runs-on: ubuntu-latest steps: + - name: Get Build Job Status + uses: technote-space/workflow-conclusion-action@v1 + + - name: Combine Job Status + id: status + run: | + failures=(neutral, skipped, timed_out, action_required) + if [[ ${array[@]} =~ $WORKFLOW_CONCLUSION ]]; then + echo ::set-output name=status::failure + else + echo ::set-output name=status::$WORKFLOW_CONCLUSION + fi + - name: Post Status to Discord uses: sarisia/actions-status-discord@v1 with: webhook: ${{ secrets.DISCORD_WEBHOOK }} - status: ${{ needs.build-docker.result == 'success' && 'success' || contains(needs.*.result, 'failure') && 'failure' || 'cancelled' }} + status: ${{ steps.status.outputs.status }} title: ${{ github.workflow }} nofail: true diff --git a/.github/workflows/publish-installers.yml b/.github/workflows/publish-installers.yml index b4a66960..90c845e2 100644 --- a/.github/workflows/publish-installers.yml +++ b/.github/workflows/publish-installers.yml @@ -1,18 +1,14 @@ name: Publish Installers on: - workflow_dispatch: ~ push: branches: [master, beta, nightly] tags: [v*] -env: - PYTHON_VERSION: '3.11' - jobs: build-installer: name: Build ${{ matrix.os_upper }} Installer - runs-on: ${{ matrix.os }}-${{ matrix.os_version }} + runs-on: ${{ matrix.os }}-latest if: ${{ !contains(github.event.head_commit.message, '[skip ci]') }} strategy: fail-fast: false @@ -20,18 +16,14 @@ jobs: include: - os: 'windows' os_upper: 'Windows' - os_version: 'latest' - arch: 'x64' ext: 'exe' - os: 'macos' os_upper: 'MacOS' - os_version: '14' - arch: 'universal' ext: 'pkg' steps: - name: Checkout Code - uses: actions/checkout@v4 + uses: actions/checkout@v2 - name: Set Release Version id: get_version @@ -40,14 +32,14 @@ jobs: if [[ $GITHUB_REF == refs/tags/* ]]; then echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV VERSION_NSIS=${GITHUB_REF#refs/tags/v}.1 - echo "VERSION_NSIS=${VERSION_NSIS/%-beta.1/.0}" >> $GITHUB_OUTPUT - echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT - echo "RELEASE_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT + echo ::set-output name=VERSION_NSIS::${VERSION_NSIS/%-beta.1/.0} + echo ::set-output name=VERSION::${GITHUB_REF#refs/tags/v} + echo ::set-output name=RELEASE_VERSION::${GITHUB_REF#refs/tags/} else echo "VERSION=0.0.0" >> $GITHUB_ENV - echo "VERSION_NSIS=0.0.0.0" >> $GITHUB_OUTPUT - echo "VERSION=0.0.0" >> $GITHUB_OUTPUT - echo "RELEASE_VERSION=${GITHUB_SHA::7}" >> $GITHUB_OUTPUT + echo ::set-output name=VERSION_NSIS::0.0.0.0 + echo ::set-output name=VERSION::0.0.0 + echo ::set-output name=RELEASE_VERSION::${GITHUB_SHA::7} fi if [[ $GITHUB_REF == refs/tags/*-beta ]]; then echo "beta" > branch.txt @@ -59,29 +51,34 @@ jobs: echo $GITHUB_SHA > version.txt - name: Set Up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v2 with: - python-version: ${{ env.PYTHON_VERSION }} - cache: pip - cache-dependency-path: '**/requirements*.txt' + python-version: 3.8 + + - name: Cache Dependencies + uses: actions/cache@v2 + with: + path: ~\AppData\Local\pip\Cache + key: ${{ runner.os }}-pip-${{ hashFiles(format('package/requirements-{0}.txt', matrix.os)) }} + restore-keys: ${{ runner.os }}-pip- - name: Install Dependencies run: | python -m pip install --upgrade pip - pip install -r package/requirements-package.txt --no-binary cffi + pip install -r package/requirements-${{ matrix.os }}.txt - name: Build Package run: | pyinstaller -y ./package/Tautulli-${{ matrix.os }}.spec - name: Create Windows Installer - uses: joncloud/makensis-action@v4.1 + uses: joncloud/makensis-action@v3.4 if: matrix.os == 'windows' with: script-file: ./package/Tautulli.nsi arguments: > /DVERSION=${{ steps.get_version.outputs.VERSION_NSIS }} - /DINSTALLER_NAME=..\Tautulli-${{ matrix.os }}-${{ steps.get_version.outputs.RELEASE_VERSION }}-${{ matrix.arch }}.${{ matrix.ext }} + /DINSTALLER_NAME=..\Tautulli-windows-${{ steps.get_version.outputs.RELEASE_VERSION }}-x64.exe additional-plugin-paths: package/nsis-plugins - name: Create MacOS Installer @@ -92,31 +89,13 @@ jobs: --version ${{ steps.get_version.outputs.VERSION }} \ --component ./dist/Tautulli.app \ --scripts ./package/macos-scripts \ - Tautulli-${{ matrix.os }}-${{ steps.get_version.outputs.RELEASE_VERSION }}-${{ matrix.arch }}.${{ matrix.ext }} + Tautulli-macos-${{ steps.get_version.outputs.RELEASE_VERSION }}-x64.pkg - name: Upload Installer - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v2 with: name: Tautulli-${{ matrix.os }}-installer - path: Tautulli-${{ matrix.os }}-${{ steps.get_version.outputs.RELEASE_VERSION }}-${{ matrix.arch }}.${{ matrix.ext }} - - virus-total: - name: VirusTotal Scan - needs: build-installer - if: needs.build-installer.result == 'success' && !contains(github.event.head_commit.message, '[skip ci]') - runs-on: ubuntu-latest - steps: - - name: Download Installers - if: needs.build-installer.result == 'success' - uses: actions/download-artifact@v4 - - - name: Upload to VirusTotal - uses: crazy-max/ghaction-virustotal@v4 - with: - vt_api_key: ${{ secrets.VT_API_KEY }} - files: | - Tautulli-windows-installer/Tautulli-windows-*-x64.exe - Tautulli-macos-installer/Tautulli-macos-*-universal.pkg + path: Tautulli-${{ matrix.os }}-${{ steps.get_version.outputs.RELEASE_VERSION }}-x64.${{ matrix.ext }} release: name: Release Installers @@ -124,44 +103,63 @@ jobs: if: always() && startsWith(github.ref, 'refs/tags/') && !contains(github.event.head_commit.message, '[skip ci]') runs-on: ubuntu-latest steps: + - name: Get Build Job Status + uses: technote-space/workflow-conclusion-action@v1 + - name: Checkout Code - uses: actions/checkout@v4 + uses: actions/checkout@v2 - name: Set Release Version id: get_version run: | - echo "RELEASE_VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT + echo ::set-output name=RELEASE_VERSION::${GITHUB_REF#refs/tags/} - name: Download Installers - if: needs.build-installer.result == 'success' - uses: actions/download-artifact@v4 + if: env.WORKFLOW_CONCLUSION == 'success' + uses: actions/download-artifact@v2 - name: Get Changelog id: get_changelog run: | - CHANGELOG="$( sed -n '/^## /{p; :loop n; p; /^## /q; b loop}' CHANGELOG.md \ - | sed '$d' | sed '$d' | sed '$d' )" - EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64) - echo "CHANGELOG<<$EOF" >> $GITHUB_OUTPUT - echo "$CHANGELOG" >> $GITHUB_OUTPUT - echo "$EOF" >> $GITHUB_OUTPUT + echo ::set-output name=CHANGELOG::"$( sed -n '/^## /{p; :loop n; p; /^## /q; b loop}' CHANGELOG.md \ + | sed '$d' | sed '$d' | sed '$d' | sed ':a;N;$!ba;s/\n/%0A/g' )" - name: Create Release - uses: softprops/action-gh-release@v2 + uses: actions/create-release@v1 id: create_release env: - GITHUB_TOKEN: ${{ secrets.GHACTIONS_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ steps.get_version.outputs.RELEASE_VERSION }} - name: Tautulli ${{ steps.get_version.outputs.RELEASE_VERSION }} + release_name: Tautulli ${{ steps.get_version.outputs.RELEASE_VERSION }} body: | ## Changelog ##${{ steps.get_changelog.outputs.CHANGELOG }} + draft: false prerelease: ${{ endsWith(steps.get_version.outputs.RELEASE_VERSION, '-beta') }} - files: | - Tautulli-windows-installer/Tautulli-windows-${{ steps.get_version.outputs.RELEASE_VERSION }}-x64.exe - Tautulli-macos-installer/Tautulli-macos-${{ steps.get_version.outputs.RELEASE_VERSION }}-universal.pkg + + - name: Upload Windows Installer + uses: actions/upload-release-asset@v1 + if: env.WORKFLOW_CONCLUSION == 'success' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: Tautulli-windows-installer/Tautulli-windows-${{ steps.get_version.outputs.RELEASE_VERSION }}-x64.exe + asset_name: Tautulli-windows-${{ steps.get_version.outputs.RELEASE_VERSION }}-x64.exe + asset_content_type: application/vnd.microsoft.portable-executable + + - name: Upload MacOS Installer + uses: actions/upload-release-asset@v1 + if: env.WORKFLOW_CONCLUSION == 'success' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: Tautulli-macos-installer/Tautulli-macos-${{ steps.get_version.outputs.RELEASE_VERSION }}-x64.pkg + asset_name: Tautulli-macos-${{ steps.get_version.outputs.RELEASE_VERSION }}-x64.pkg + asset_content_type: application/vnd.apple.installer+xml discord: name: Discord Notification @@ -169,10 +167,23 @@ jobs: if: always() && !contains(github.event.head_commit.message, '[skip ci]') runs-on: ubuntu-latest steps: + - name: Get Build Job Status + uses: technote-space/workflow-conclusion-action@v1 + + - name: Combine Job Status + id: status + run: | + failures=(neutral, skipped, timed_out, action_required) + if [[ ${array[@]} =~ $WORKFLOW_CONCLUSION ]]; then + echo ::set-output name=status::failure + else + echo ::set-output name=status::$WORKFLOW_CONCLUSION + fi + - name: Post Status to Discord uses: sarisia/actions-status-discord@v1 with: webhook: ${{ secrets.DISCORD_WEBHOOK }} - status: ${{ needs.build-installer.result == 'success' && 'success' || contains(needs.*.result, 'failure') && 'failure' || 'cancelled' }} + status: ${{ steps.status.outputs.status }} title: ${{ github.workflow }} nofail: true diff --git a/.github/workflows/publish-snap.yml b/.github/workflows/publish-snap.yml index b3898a38..ba43e153 100644 --- a/.github/workflows/publish-snap.yml +++ b/.github/workflows/publish-snap.yml @@ -1,7 +1,6 @@ name: Publish Snap on: - workflow_dispatch: ~ push: branches: [master, beta, nightly] tags: [v*] @@ -15,51 +14,55 @@ jobs: fail-fast: false matrix: architecture: + - i386 - amd64 - arm64 - armhf + - ppc64el + #- s390x # broken at the moment steps: - name: Checkout Code - uses: actions/checkout@v4 + uses: actions/checkout@v2 - name: Prepare id: prepare run: | git fetch --prune --unshallow --tags if [[ $GITHUB_REF == refs/tags/*-beta || $GITHUB_REF == refs/heads/beta ]]; then - echo "RELEASE=beta" >> $GITHUB_OUTPUT + echo ::set-output name=RELEASE::beta elif [[ $GITHUB_REF == refs/tags/* || $GITHUB_REF == refs/heads/master ]]; then - echo "RELEASE=stable" >> $GITHUB_OUTPUT + echo ::set-output name=RELEASE::stable else - echo "RELEASE=edge" >> $GITHUB_OUTPUT + echo ::set-output name=RELEASE::edge fi - name: Set Up QEMU - uses: docker/setup-qemu-action@v3 + uses: docker/setup-qemu-action@v1 + with: + image: tonistiigi/binfmt@sha256:df15403e06a03c2f461c1f7938b171fda34a5849eb63a70e2a2109ed5a778bde - name: Build Snap Package - uses: diddlesnaps/snapcraft-multiarch-action@master + uses: diddlesnaps/snapcraft-multiarch-action@v1 id: build with: architecture: ${{ matrix.architecture }} - name: Upload Snap Package - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v2 with: name: Tautulli-snap-package-${{ matrix.architecture }} path: ${{ steps.build.outputs.snap }} - name: Review Snap Package - uses: diddlesnaps/snapcraft-review-tools-action@master + uses: diddlesnaps/snapcraft-review-tools-action@v1 with: snap: ${{ steps.build.outputs.snap }} - name: Publish Snap Package uses: snapcore/action-publish@v1 if: startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/nightly' - env: - SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAP_LOGIN }} with: + store_login: ${{ secrets.SNAP_LOGIN }} snap: ${{ steps.build.outputs.snap }} release: ${{ steps.prepare.outputs.RELEASE }} @@ -69,10 +72,23 @@ jobs: if: always() && !contains(github.event.head_commit.message, '[skip ci]') runs-on: ubuntu-latest steps: + - name: Get Build Job Status + uses: technote-space/workflow-conclusion-action@v1 + + - name: Combine Job Status + id: status + run: | + failures=(neutral, skipped, timed_out, action_required) + if [[ ${array[@]} =~ $WORKFLOW_CONCLUSION ]]; then + echo ::set-output name=status::failure + else + echo ::set-output name=status::$WORKFLOW_CONCLUSION + fi + - name: Post Status to Discord uses: sarisia/actions-status-discord@v1 with: webhook: ${{ secrets.DISCORD_WEBHOOK }} - status: ${{ needs.build-snap.result == 'success' && 'success' || contains(needs.*.result, 'failure') && 'failure' || 'cancelled' }} + status: ${{ steps.status.outputs.status }} title: ${{ github.workflow }} nofail: true diff --git a/.github/workflows/pull-requests.yml b/.github/workflows/pull-requests.yml index ac550fe2..91b155bc 100644 --- a/.github/workflows/pull-requests.yml +++ b/.github/workflows/pull-requests.yml @@ -10,14 +10,15 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout Code - uses: actions/checkout@v4 + uses: actions/checkout@v2 - name: Comment on Pull Request - uses: mshick/add-pr-comment@v2 + uses: mshick/add-pr-comment@v1 if: github.base_ref != 'nightly' with: message: Pull requests must be made to the `nightly` branch. Thanks. repo-token: ${{ secrets.GITHUB_TOKEN }} + repo-token-user-login: 'github-actions[bot]' - name: Fail Workflow if: github.base_ref != 'nightly' diff --git a/.github/workflows/submit-winget.yml b/.github/workflows/submit-winget.yml deleted file mode 100644 index efa6cee7..00000000 --- a/.github/workflows/submit-winget.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: Submit winget - -on: - workflow_dispatch: ~ - release: - types: [published] - -jobs: - winget: - name: Submit Winget Package - runs-on: windows-latest - if: ${{ !github.event.release.prerelease }} - steps: - - name: Sync Winget Fork - run: gh repo sync ${{ secrets.WINGET_USERNAME }}/winget-pkgs -b master - env: - GH_TOKEN: ${{ secrets.WINGET_TOKEN }} - - - name: Submit package to Windows Package Manager Community Repository - run: | - $wingetPackage = "Tautulli.Tautulli" - $gitToken = "${{ secrets.WINGET_TOKEN }}" - - $github = Invoke-RestMethod -uri "https://api.github.com/repos/Tautulli/Tautulli/releases/latest" - $installerUrl = $github | Select -ExpandProperty assets -First 1 | Where-Object -Property name -match "Tautulli-windows-.*-x64.exe" | Select -ExpandProperty browser_download_url - $version = "$($github.tag_name.Trim('v')).1" - - # getting latest wingetcreate file - iwr https://aka.ms/wingetcreate/latest -OutFile wingetcreate.exe - .\wingetcreate.exe update $wingetPackage -s -v $version -u $installerUrl -t $gitToken - - virus-total: - name: VirusTotal Scan - runs-on: ubuntu-latest - steps: - - name: Upload to VirusTotal - uses: crazy-max/ghaction-virustotal@v4 - with: - vt_api_key: ${{ secrets.VT_API_KEY }} - github_token: ${{ secrets.GHACTIONS_TOKEN }} - update_release_body: true - files: | - .exe$ - .pkg$ diff --git a/.gitignore b/.gitignore index 1e54132b..25777166 100644 --- a/.gitignore +++ b/.gitignore @@ -15,13 +15,6 @@ __pycache__ *.ini release.lock version.lock -lib/*.dist-info -lib/*.egg-info -lib/*.pth -lib/*/*.pyd -lib/_distutils_hack -lib/pkg_resources -lib/setuptools logs/* backups/* cache/* @@ -30,7 +23,6 @@ newsletters/* *.mmdb version.txt branch.txt -.TEST # HTTPS Cert/Key # ################## @@ -53,9 +45,6 @@ Thumbs.db #Ignore files generated by PyCharm *.idea/* -#Ignore files generated by VSCode -*.vscode/* - #Ignore files generated by vi *.swp diff --git a/CHANGELOG.md b/CHANGELOG.md index b349b355..a053d982 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,673 +1,5 @@ # Changelog -## v2.15.3 (2025-08-03) - -* Exporter: - * New: Added hearingImpaired for subtitles and visualImpaired for audio attributes to exporter fields. -* Graphs: - * Fix: Remove duplicate "Total" entry in graph tooltips. (Thanks @zdimension) (#2534) -* UI: - * Fix: Failing to retrieve collections / playlists with over 1000 items. - * Fix: Scrollbar not showing on macosx and webkit browsers. (#2221) - * Fix: Incorrect rounding of minutes in global stats play duration. - * Fix: Disable browser autocomplete for notification agent and newsletter agent configurations. (#2557) -* API: - * New: Added ability to return svg files using pms_image_proxy API command. -* Other: - * New: Added ability to set config values using environment variables. (Thanks @komuw) (#2309, #2543) - - -## v2.15.2 (2025-04-12) - -* Activity: - * New: Added link to library by clicking media type icon. - * New: Added stream count to tab title on homepage. (#2517) -* History: - * Fix: Check stream watched status before stream stopped status. (#2506) -* Notifications: - * Fix: ntfy notifications failing to send if provider link is blank. - * Fix: Check Pushover notification attachment is under 5MB limit. (#2396) - * Fix: Track URLs redirecting to the correct media page. (#2513) - * New: Added audio profile notification parameters. - * New: Added PATCH method for Webhook notifications. -* Graphs: - * New: Added Total line to daily streams graph. (Thanks @zdimension) (#2497) -* UI: - * Fix: Do not redirect API requests to the login page. (#2490) - * Change: Swap source and stream columns in stream info modal. -* Other: - * Fix: Various typos. (Thanks @luzpaz) (#2520) - * Fix: CherryPy CORS response header not being set correctly. (#2279) - - -## v2.15.1 (2025-01-11) - -* Activity: - * Fix: Detection of HDR transcodes. (Thanks @cdecker08) (#2412, #2466) -* Newsletters: - * Fix: Disable basic authentication for /newsletter and /image endpoints. (#2472) -* Exporter: - * New: Added logos to season and episode exports. -* Other: - * Fix: Docker container https health check. - - -## v2.15.0 (2024-11-24) - -* Notes: - * Support for Python 3.8 has been dropped. The minimum Python version is now 3.9. -* Notifications: - * New: Allow Telegram blockquote and tg-emoji HTML tags. (Thanks @MythodeaLoL) (#2427) - * New: Added Plex slug and Plex Watch URL notification parameters. (#2420) - * Change: Update OneSignal API calls to use the new API endpoint for Tautulli Remote App notifications. -* Newsletters: - * Fix: Dumping custom dates in raw newsletter json. -* History: - * Fix: Unable to fix match for artists. (#2429) -* Exporter: - * New: Added movie and episode hasVoiceActivity attribute to exporter fields. - * New: Added subtitle canAutoSync attribute to exporter fields. - * New: Added logos to the exporter fields. -* UI: - * New: Add friendly name to the top bar of config modals. (Thanks @peagravel) (#2432) -* API: - * New: Added plex slugs to metadata in the get_metadata API command. -* Other: - * Fix: Tautulli failing to start with Python 3.13. (#2426) - - -## v2.14.6 (2024-10-12) - -* Newsletters: - * Fix: Allow formatting newsletter date parameters. - * Change: Support apscheduler compatible cron expressions. -* UI: - * Fix: Round runtime before converting to human duration. - * Fix: Make recently added/watched rows touch scrollable. -* Other: - * Fix: Auto-updater not running. - - -## v2.14.5 (2024-09-20) - -* Activity: - * Fix: Display of 2k resolution on activity card. -* Notifications: - * Fix: ntfy notifications with special characters failing to send. -* Other: - * Fix: Memory leak with database closing. (#2404) - - -## v2.14.4 (2024-08-10) - -* Notifications: - * Fix: Update Slack notification info card. - * New: Added ntfy notification agent. (Thanks @nwithan8) (#2356, #2000) -* UI: - * Fix: macOS platform capitalization. -* Other: - * Fix: Remove deprecated getdefaultlocale. (Thanks @teodorstelian) (#2364, #2345) - - -## v2.14.3 (2024-06-19) - -* Graphs: - * Fix: History table not loading when clicking on the graphs in some instances. -* UI: - * Fix: Scheduled tasks table not loading when certain tasks are disabled. - * Removed: Unnecessary Remote Server checkbox from the settings page. -* Other: - * Fix: Webserver not restarting after the setup wizard. - * Fix: Workaround webserver crashing in some instances. - - -## v2.14.2 (2024-05-18) - -* History: - * Fix: Live TV activity not logging to history. - * Fix: Incorrect grouping of live TV history. -* Notifications: - * Fix: Pushover configuration settings refreshing after entering a token. - * Fix: Plex remote access down notifications not triggering. - * Fix: Deleting all images from Cloudinary only deleting 1000 images. - * New: Added platform version and product version notification parameters. (#2244) - * New: Added LAN streams and WAN streams notification parameters. (#2276) - * New: Added Dolby Vision notification parameters. (#2240) - * New: Added live TV channel notification parameters. - * Change: Improved Tautulli Remote App notification encryption method. - * Note: Requires Tautulli Remote App version 3.2.4. -* Exporter: - * New: Added slug attribute to exporter fields. - * New: Added track genres to exporter fields. - * New: Added playlist source URI to exporter fields. - * New: Added artProvider and thumbProvider to exporter fields. -* UI: - * Fix: Mask deleted usernames in the logs. - * Fix: Live TV watch stats not showing on the media info page. - * Fix: Users without access to Plex server not showing as inactive. - * Removed: Deprecated synced item pages. - * Removed: Anonymous redirect settings. Links now use browser no-referrer policy instead. -* API: - * New: Added Dolby Vision info to the get_metadata API command. - * New: Added before and after parameters to the get_home_stats API command. (#2231) -* Packages: - * New: Universal binary for macOS for Apple silicon. - * New: Bump Snap package to core22. -* Other: - * Change: Login cookie expires changed to max-age. - * Change: Improved key generation for login password. It is recommended to reenter your HTTP Password in the settings after upgrading. - * Removed: Python 2 compatibility code. (#2098, #2226) (Thanks @zdimension) - - -## v2.13.4 (2023-12-07) - -* UI: - * Fix: Tautulli configuration settings page not loading when system language is None. - * Fix: Login cookie expiring too quickly. - - -## v2.13.3 (2023-12-03) - -* Notifications: - * New: Added duration_time notification parameter. - * New: Added file_size_bytes notification parameter. - * New: Added time formats notification text modifiers. - * New: Added support for thetvdb_url for movies. -* UI: - * Fix: Activity card overflowing due to screen scaling. (#2033) - * Fix: Stream duration on activity card not being updated on track changes in some cases. (#2206) - - -## v2.13.2 (2023-10-26) - -* History: - * New: Added quarter values icons for history watch status. (#2179, #2156) (Thanks @herby2212) -* Graphs: - * New: Added concurrent streams per day graph. (#2046) (Thanks @herby2212) -* Exporter: - * New: Added metadata directory to exporter fields. - * Removed: Banner exporter fields for tv shows. -* UI: - * New: Added last triggered time to notification agents and newsletter agent lists. -* Other: - * New: Added X-Plex-Language header override to config file. - - -## v2.13.1 (2023-08-25) - -* Notes: - * Support for Python 3.7 has been dropped. The minimum Python version is now 3.8. -* Other: - * Fix: Tautulli failing to start on some systems. - - -## v2.13.0 (2023-08-25) - -* Notes: - * Support for Python 3.7 has been dropped. The minimum Python version is now 3.8. -* Notifications: - * Fix: Improved watched notification trigger description. (#2104) - * New: Added notification image option for iOS Tautulli Remote app. -* Exporter: - * New: Added track chapter export fields. - * New: Added on-demand subtitle export fields. - - -## v2.12.5 (2023-07-13) - -* Activity: - * New: Added d3d11va to list of hardware decoders. -* History: - * Fix: Incorrect grouping of play history. - * New: Added button in settings to regroup play history. -* Notifications: - * Fix: Incorrect concurrent streams notifications by IP addresss for IPv6 addresses (#2096) (Thanks @pooley182) -* UI: - * Fix: Occasional UI crashing on Python 3.11. - * New: Added multiselect user filters to History and Graphs pages. (#2090) (Thanks @zdimension) -* API: - * New: Added regroup_history API command. - * Change: Updated graph API commands to accept a comma separated list of user IDs. - - -## v2.12.4 (2023-05-23) - -* History: - * Fix: Set view offset equal to duration if a stream is stopped within the last 10 sec. -* Other: - * Fix: Database import may fail for some older databases. - * Fix: Double-quoted strings for newer versions of SQLite. (#2015, #2057) -* API: - * Change: Return the ID for async API calls (export_metadata, notify, notify_newsletter). - - -## v2.12.3 (2023-04-14) - -* Activity: - * Fix: Incorrect subtitle decision shown when subtitles are transcoded. -* History: - * Fix: Incorrect order when sorting by the duration column in the history tables. -* Notifications: - * Fix: Logging error when running scripts that use PlexAPI. -* UI: - * Fix: Calculate file sizes setting causing the media info table to fail to load. - * Fix: Incorrect artwork and thumbnail shown for Live TV on the Most Active Libraries statistics card. -* API: - * Change: Renamed duration to play_duration in the get_history API response. (Note: duration kept for backwards compatibility.) - - -## v2.12.2 (2023-03-16) - -* Other: - * Fix: Tautulli not starting on FreeBSD jails. - - -## v2.12.1 (2023-03-14) - -* Activity: - * Fix: Stop checking for deprecated sync items sessions. - * Change: Do not show audio language on activity cards for music. -* Other: - * Fix: Tautulli not starting on macOS. - - -## v2.12.0 (2023-03-13) - -* Notifications: - * New: Added support for Telegram group topics. (#1980) - * New: Added anidb_id and anidb_url notification parameters. (#1973) - * New: Added notification triggers for Intro Marker, Commercial Marker, and Credits Marker. - * New: Added various intro, commercial, and credits marker notification parameters. - * New: Allow setting a custom Pushover notification sound. (#2005) - * Change: Notification images are now uploaded directly to Discord without the need for a 3rd party image hosting service. - * Change: Automatically strip whitespace from notification condition values. - * Change: Trigger watched notifications based on the video watched completion behaviour setting. -* Exporter: - * Fix: Unable to run exporter when using the Snap package. (#2007) - * New: Added credits marker, and audio/subtitle settings to export fields. -* UI: - * Fix: Incorrect styling and missing content for collection media info pages. - * New: Added edition details field on movie media info pages. (#1957) (Thanks @herby2212) - * New: Added setting to change the video watched completion behaviour. - * New: Added watch time and user statistics to collection and playlist media info pages. (#1982, #2012) (Thanks @herby2212) - * New: Added history table to collection and playlist media info pages. - * New: Dynamically change watched status in the UI based on video watched completion behaviour setting. - * New: Added hidden setting to override server name. - * Change: Move track artist to a details field instead of in the title on track media info pages. -* API: - * New: Added section_id and user_id parameters to get_home_stats API command. (#1944) - * New: Added marker info to get_metadata API command results. - * New: Added media_type parameter to get_item_watch_time_stats and get_item_user_stats API commands. (#1982) (Thanks @herby2212) - * New: Added last_refreshed timestamp to get_library_media_info API command response. -* Other: - * Change: Migrate analytics to Google Analytics 4. - - -## v2.11.1 (2022-12-22) - -* Activity: - * Fix: Use source language instead of stream language on activity cards. -* Notifications: - * Fix: Blank start time notification parameters causing recently added notifications to fail. (#1940) -* Other: - * Fix: Tautulli failing to start when using python 3.7. - * Fix: Snap install failing to start. (#1941) - * Fix: Update check crashing when git is missing. (#1943) (Thanks @Minituff) - - -## v2.11.0 (2022-12-22) - -* Activity: - * New: Added audio and subtitle language to activity cards. (#1831, #1900) (Thanks @fscorrupt) -* History: - * New: Log subtitle language and subtitle forced to database. (#1826) -* Notifications: - * Fix: Validating condition operators would fail with a blank parameter. - * New: Added start time and stop time notification parameters. (#1931) - * New: Added session_key to LunaSea notification payload. (#1929) (Thanks @JagandeepBrar) -* Newsletters: - * Fix: Allow CSS to support light and dark themes. -* Exporter: - * New: Added editionTitle to movie exporter fields. - * Change: m3u8 export changed to .m3u file extension. File is still encoded using UTF-8. -* UI: - * Fix: Link watch statistics to media page using metadata from history. (#1882) - * New: Show subtitle language and subtitle forced flag in stream data modal. -* Other: - * Fix: Mask more user and metadata fields for guest access. (#1913) - * Change: Disable TLS 1.0 and 1.1 for the webserver. Minimum TLS version is 1.2. (#1870) - * Change: Use system language for requests to Plex Media Server. - - -## v2.10.5 (2022-11-07) - -* Notifications: - * New: Added edition_title notification parameter. (#1838) - * Change: Track notifications link to MusicBrainz track instead of album. -* Newsletters: - * New: Added months time frame for newsletters. (#1876) -* UI: - * Fix: Broken link on library statistic cards. (#1852) - * Fix: Check for IPv6 host when generating QR code for app registration. - * Fix: Missing padding on condition operator dropdown on small screens. -* Other: - * Fix: Launching browser when webserver is bound to IPv6. - * New: Tautulli can be installed via the Windows Package Manager (winget). - * Change: Separate stdout and stderr console logging. (#1874) -* API: - * Fix: API not returning 400 response code. - * New: Added edition_title to get_metadata API response. - * New: Added collections to get_children_metadata API response. - * New: Added user_thumb to get_history API response. - * New: Validate custom notification conditions before saving notification agents. (#1846) - * Change: Fallback to parent_thumb for seasons in get_metadata API response. - - -## v2.10.4 (2022-09-05) - -* Activity: - * New: Added tooltip for quality profile on activity cards. -* Notifications: - * New: Added "does not begin with" and "does not end with" condition operators. -* UI: - * Fix: Album count showing 0 on library statistics. - * Fix: Library statistics not showing up for libraries without any history. - - -## v2.10.3 (2022-08-09) - -* Notifications: - * New: Added JSON support for MQTT notifications. (#1763) - * New: Added show year notification parameter. -* Exporter: - * New: Added guids to artist, album, and track metadata export fields. - * New: Added languageTag to stream media info export fields. -* UI: - * Fix: Long channel identifier overflowing activity card. (#1802) - * Change: Use the last played item's artwork for library statistics cards. -* Other: - * Fix: Username log filter causing database to lock up. (#1705) - * Change: Username log filter only applies to usernames longer than 3 characters. (#1806) -* API: - * New: Added parent_year and grandparent_year to get_metadata_details API command. - * New: Added last played metadata to top_libraries and top_users in get_home_stats API command. - * New: Allow fallback to another PMS image in pms_image_proxy API command. - - -## v2.10.2 (2022-07-03) - -* Activity: - * Fix: Incorrect audio stream info shown on the activity card when playing a secondary audio track. -* UI: - * Fix: Usernames not showing on the home statistics cards. - * Fix: Do not save a user's friendly name if it is the same as the username. - * Change: Update library icons to the latest Plex style. - - -## v2.10.1 (2022-06-01) - -* Notifications: - * New: Added support for MusicBrainz (mbid://) guids in notification parameters without MusicBrainz lookup enabled. Requires Plex Media Server 1.27.0 or newer with refreshed Plex Music agent metadata. -* Mobile App: - * Fix: OneSignal validation failing when registering a device. -* API: - * New: Added grandparent_guids and parent_guids to get_metadata API command. - * Change: Updated continent in get_geoip_lookup API command. - * Change: Removed server_token from from get_users API command. - * Change: shared_libraries changed to a list instead of a string for get_users API command. - - -## v2.10.0 (2022-05-23) - -* Activity: - * Fix: Detection of Dolby Vision missing for PMS 1.26.1. -* Notifications: - * Fix: Parsing of filename notification parameter incorrect for Windows PMS. -* Exporter: - * New: Added additional theme and label export fields. -* UI: - * Fix: Slow loading of collections and playlists tables. - * Change: Update default user thumbnail image to match Plex Web. -* API: - * Change: Values for get_users_table and get_libraries_table return an integer instead of "Checked". - - -## v2.9.7 (2022-04-11) - -* UI: - * Fix: Managed user missing the username in the Users table. - - -## v2.9.6 (2022-04-10) - -* Activity: - * New: Improved display of dynamic range on the activity cards. (Thanks @herby2212) -* Notifications: - * Change: Make include summary option apply to all media types for Discord and Slack notifications. -* UI: - * Fix: Validating Plex login in the setup wizard. (#1697) - * New: Added hidden username, email, and full name columns to users table. -* Other: - * Fix: Apply pms_timeout setting to websocket connection. - * Fix: Importing of Plex username instead of the full name. (#1710) - - -## v2.9.5 (2022-03-26) - -* Note: - * Updated Snap packages are currently unavailable due to an upstream issue. -* Activity: - * Change: Improve calculation for transcode progress bar percentage on the activity cards. -* History: - * Fix: Live TV history filter not working. (#1691) -* Newsletter: - * Fix: Newsletter not showing different album types. (#1559) -* UI: - * Fix: Display season summary on the media info page if available with a fallback to show summary. (#1657) - * Change: Colour active filter buttons to improve contrast. (#1663) -* API: - * New: Added transcode offset keys to get_activity command. -* Other: - * Fix: Reschedule backup task after changing backup interval. (#1662) - * Fix: Dynamic anonymous redirect setting not being enabled by default after the setup wizard. - * Fix: Usernames with special characters not being filtered in the logs. - - -## v2.9.4 (2022-02-12) - -* UI: - * Fix: Setup wizard appearing when restarting after saving settings. -* Other: - * Fix: Stop Tautulli from starting multiple instances on Windows after a clean reinstall. Check the startup items in Windows Task Manager if it is still occurring. - - -## v2.9.3 (2022-02-09) - -* UI: - * Fix: Setup wizard looping. -* Other: - * Fix: Logger username masking preventing Tautulli from starting on new installs. - - -## v2.9.2 (2022-02-08) - -* Notification: - * New: Added support for additional Telegram HTML tags. - * Removed: Revert Telegram defaulting to MarkdownV2 and only support HTML. (#1635) -* Other: - * Fix: The Local user being masked in the logs. - - -## v2.9.1 (2022-02-07) - -* Other: - * Fix: Incorrect changelog version number and date. - - -## v2.9.0 (2022-02-07) - -* Notification: - * New: Added track disc number notification parameter. - * Change: Default Telegram messages to MarkdownV2 when HTML is disabled. (#1635) -* Exporter: - * Fix: Images not being included in export zip file download. -* UI: - * Fix: Favicon missing from the newsletter authentication page. - * Fix: IPv6 details not being shown in IP address modal. (#1629) - * Fix: PWA not respecting device rotation settings. (#1633) - * New: Added intermediary login page to the Plex XML shortcuts. - * New: Added setting to mask usernames in logs (enabled by default). - * New: Added location, secure connection, and Plex Relay details to IP address modal. - * Change: Remove Plex token from the settings page. - * Change: Increase verifying server timeout to 30 seconds. -* API: - * New: Added get_tautulli_info API command. - * New: Added location, secure, and relayed to get_history API response. - * Change: Null pms_token and jwt_token in the response of the get_settings API command. (#1616) -* Other: - * Fix: Better validation of config when saving settings. - * Fix: Correct section_id and prevent rating_key collisions when updating metadata. (#1640) - * Change: Proxy Plex token check and Plex downloads json through the Tautulli server. - * Change: Remove tokens from downloaded database and config files. - * Change: Do not import pms_token or jwt_secret when importing a config file. - - -## v2.8.1 (2022-01-04) - -* API: - * New: Added grouping and query_days parameters to the get_item_watch_time_stats API command. - * New: Added grouping parameter to the get_item_user_stats API command. - * New: Added total_time to the get_library_user_stats, get_user_player_stats, and get_item_user_stats API command responses. - * Removed: media_type parameter no longer required for the get_item_watch_time_stats, and get_item_user_stats API commands. The media type is determined automatically. -* Other: - * Fix: Clean .pyc files automatically after updating. - * New: Allow Snap package to access /media and /mnt locations. Refer to the FAQ for instructions on how to enable access. - - -## v2.8.0 (2021-12-15) - -* History: - * Fix: Live TV history filter not working correctly when combined with other filters. - * Fix: Direct Stream history filter not remembering the state when reloading the page. - * Fix: History table not loading when no filters are selected. - * New: Added watch time and user stats to media info pages. (Thanks @herby2212) (#1417, #1471) -* Notifications: - * New: Added Microsoft Teams notification agent. (#1514) - * New: Added Gotify notification agent. (#1584) - * New: Add warning message that passwords are not copied when duplicating a notification or newsletter agent. (#1540) -* Newsletters: - * Fix: Different album types not shown on newsletter. (#1559) -* Exporter: - * New: Added album formats, subformats, and sonic analysis export fields. -* UI: - * Fix: Docker config volume message overlapping modal windows. (#1567) - * Fix: Different album types not shown on artist media info page. - * New: Added show more/less toggle for summaries on media info pages. (#1546) - * Change: Do not save datatable page or search states when reloading the page. (#1532) - * Change: Improve the Plex log reader. -* API: - * New: Added before and after parameters to the get_history API command. -* Other: - * Fix: Updated Python dependencies. (#1499) - * Fix: Some websocket connections not respecting the verify SSL setting. (Thanks @nmaggioni) (#1541) - * New: Support for Python 3.10. (#1522) - * New: Added dynamic anonymous redirect service setting. (#1526) - - -## v2.7.7 (2021-10-14) - -* Notifications: - * Fix: Colons and exclamation marks being replaced outside of expressions. - * New: Added LunaSea notification agent. Note: Requires a future LunaSea app update to function. -* Newsletters: - * Fix: Star rating not showing on newsletter with the new Plex metadata agents. (#1511) -* UI: - * Fix: Sorting of mobile devices table with uppercase and lowercase device names. - * Fix: Various dropdown menus with centered text to left-aligned text. -* Other: - * Fix: Plex.tv account token not changing when fetching a new token. - * New: Added check and warning message for missing Docker container volume mount. - - -## v2.7.6 (2021-08-31) - -* Notifications: - * Fix: Unable to parse colons (:) and exclamation marks (!) in notification text eval strings. -* Exporter: - * Fix: Unable to export playlists and collections from a library. (#1484) - * New: Added new episode export fields. -* Mobile App: - * Fix: Unable to scan QR code with dark mode enabled. - * New: Tautulli Remote App is out of beta for iOS and can be downloaded in the App Store. -* Other: - * New: Update PlexAPI to 4.6.3. - * New: Added popup alert message for Windows and macOS when Tautulli fails to start. - - -## v2.7.5 (2021-07-15) - -* History: - * Fix: Guest users were unable to view history. - * Fix: Most Active Library statistics was counting deleted libraries. -* Newsletters: - * Fix: Incorrect padding on the newsletter configuration modal. -* Mobile App: - * New: Tautulli Remote App is out of beta on Android. The iOS app is available for beta testing on TestFlight. -* API: - * New: Added mobile device platform and version to device registration. -* Other: - * Fix: Unable to remove authentication. - * Change: Improve API key and device token security on Python 3. - * Remove: Basic Authentication setting. - - -## v2.7.4 (2021-06-19) - -* Activity: - * Fix: Incorrect quality profile shown on the activity card. -* Notifications: - * New: Added ability to evaluate Python expressions in notification parameters. - * New: Added tilde (~) to represent blank notification condition values. -* Exporter: - * Fix: Blank fields missing from csv and json exports. - * New: Added some new exporter fields. -* Graphs: - * Fix: Play counts and durations not matching the homepage statistics. -* UI: - * New: Show search bar in the collapsed menu on the mobile layout. (#1446) - * Change: Do not show seconds for total played duration on Users and Libraries tables. -* Other: - * Fix: Check the Tautulli data folder is writable on startup. (#1441) - * New: Update PlexAPI to 4.6.1. - * Change: Always hash HTTP password in config file. - - -## v2.7.3 (2021-05-22) - -* Activity: - * Fix: Incorrect quality profile being shown when transcoding to a higher bitrate. -* Notifications: - * New: Added notification parameters for duration values in seconds. (#1434) - * New: Added setting to allow repeat Tautulli update notifications. By default the Tautulli update notification will only notify once. - * New: Added setting to allow repeat Plex Media Server update notifications. By default the Plex Media Server update notification will only notify once. - * New: Added setting to configure the Tautulli update check interval. -* UI: - * Fix: Prevent accidentally closing modals when dragging the mouse outside the window. - * Fix: Recently added queue modal not loading. (#1429) - * New: Show collections tab in music libraries. (#1421) - * New: Added method to logout of active Tautulli sessions from the login logs. -* API: - * Fix: Update edit_user and edit_library doc strings for required parameters. (#1432) -* Other: - * New: Added advanced hidden setting for CherryPy thread pool size. (Thanks @psaab #1425) - - -## v2.7.2 (2021-04-24) - -* UI: - * New: Show smart collections in the library collections tab. - - ## v2.7.1 (2021-04-22) * Notifications: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 46a644e5..a415fb54 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -9,12 +9,12 @@ All pull requests should be based on the `nightly` branch, to minimize cross mer ### Python Code #### Compatibility -The code should work with Python 3.8+. Note that Tautulli runs on many different platforms. +The code should work with Python 3.6+. Note that Tautulli runs on many different platforms. Re-use existing code. Do not hesitate to add logging in your code. You can the logger module `plexpy.logger.*` for this. Web requests are invoked via `plexpy.request.*` and derived ones. Use these methods to automatically add proper and meaningful error handling. #### Code conventions -Although Tautulli did not adopt a code convention in the past, we try to follow [PEP8](http://legacy.python.org/dev/peps/pep-0008/) conventions for future code. A short summary to remind you (copied from http://wiki.ros.org/PyStyleGuide): +Although Tautulli did not adapt a code convention in the past, we try to follow the [PEP8](http://legacy.python.org/dev/peps/pep-0008/) conventions for future code. A short summary to remind you (copied from http://wiki.ros.org/PyStyleGuide): * 4 space indentation * 80 characters per line diff --git a/Dockerfile b/Dockerfile index 8d8c324b..f82e7551 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ghcr.io/tautulli/tautulli-baseimage:python3 +FROM tautulli/tautulli-baseimage:python3 LABEL maintainer="Tautulli" @@ -9,20 +9,18 @@ ENV TAUTULLI_DOCKER=True ENV TZ=UTC WORKDIR /app -COPY . /app + RUN \ groupadd -g 1000 tautulli && \ useradd -u 1000 -g 1000 tautulli && \ echo ${BRANCH} > /app/branch.txt && \ echo ${COMMIT} > /app/version.txt -RUN \ - mkdir /config && \ - touch /config/DOCKER -VOLUME /config +COPY . /app CMD [ "python", "Tautulli.py", "--datadir", "/config" ] ENTRYPOINT [ "./start.sh" ] +VOLUME /config EXPOSE 8181 -HEALTHCHECK --start-period=90s CMD curl -ILfks https://localhost:8181/status > /dev/null || curl -ILfs http://localhost:8181/status > /dev/null || exit 1 +HEALTHCHECK --start-period=90s CMD curl -ILfSs http://localhost:8181/status > /dev/null || curl -ILfkSs https://localhost:8181/status > /dev/null || exit 1 diff --git a/README.md b/README.md index 37829290..93301401 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ and [PlexWatchWeb](https://github.com/ecleese/plexWatchWeb). [![Docker Stars][badge-docker-stars]][DockerHub] [![Downloads][badge-downloads]][Releases Latest] -[badge-python]: https://img.shields.io/badge/python->=3.9-blue?style=flat-square +[badge-python]: https://img.shields.io/badge/python->=3.6-blue?style=flat-square [badge-docker-pulls]: https://img.shields.io/docker/pulls/tautulli/tautulli?style=flat-square [badge-docker-stars]: https://img.shields.io/docker/stars/tautulli/tautulli?style=flat-square [badge-downloads]: https://img.shields.io/github/downloads/Tautulli/Tautulli/total?style=flat-square @@ -57,24 +57,24 @@ Read the [Installation Guides][Installation] for instructions on how to install [badge-release-nightly-last-commit]: https://img.shields.io/github/last-commit/Tautulli/Tautulli/nightly?style=flat-square&color=blue [badge-release-nightly-commits]: https://img.shields.io/github/commits-since/Tautulli/Tautulli/latest/nightly?style=flat-square&color=blue [badge-docker-master]: https://img.shields.io/badge/docker-latest-blue?style=flat-square -[badge-docker-master-ci]: https://img.shields.io/github/actions/workflow/status/Tautulli/Tautulli/.github/workflows/publish-docker.yml?style=flat-square&branch=master +[badge-docker-master-ci]: https://img.shields.io/github/workflow/status/Tautulli/Tautulli/Publish%20Docker/master?style=flat-square [badge-docker-beta]: https://img.shields.io/badge/docker-beta-blue?style=flat-square -[badge-docker-beta-ci]: https://img.shields.io/github/actions/workflow/status/Tautulli/Tautulli/.github/workflows/publish-docker.yml?style=flat-square&branch=beta +[badge-docker-beta-ci]: https://img.shields.io/github/workflow/status/Tautulli/Tautulli/Publish%20Docker/beta?style=flat-square [badge-docker-nightly]: https://img.shields.io/badge/docker-nightly-blue?style=flat-square -[badge-docker-nightly-ci]: https://img.shields.io/github/actions/workflow/status/Tautulli/Tautulli/.github/workflows/publish-docker.yml?style=flat-square&branch=nightly +[badge-docker-nightly-ci]: https://img.shields.io/github/workflow/status/Tautulli/Tautulli/Publish%20Docker/nightly?style=flat-square [badge-snap-master]: https://img.shields.io/badge/snap-stable-blue?style=flat-square -[badge-snap-master-ci]: https://img.shields.io/github/actions/workflow/status/Tautulli/Tautulli/.github/workflows/publish-snap.yml?style=flat-square&branch=master +[badge-snap-master-ci]: https://img.shields.io/github/workflow/status/Tautulli/Tautulli/Publish%20Snap/master?style=flat-square [badge-snap-beta]: https://img.shields.io/badge/snap-beta-blue?style=flat-square -[badge-snap-beta-ci]: https://img.shields.io/github/actions/workflow/status/Tautulli/Tautulli/.github/workflows/publish-snap.yml?style=flat-square&branch=beta +[badge-snap-beta-ci]: https://img.shields.io/github/workflow/status/Tautulli/Tautulli/Publish%20Snap/beta?style=flat-square [badge-snap-nightly]: https://img.shields.io/badge/snap-edge-blue?style=flat-square -[badge-snap-nightly-ci]: https://img.shields.io/github/actions/workflow/status/Tautulli/Tautulli/.github/workflows/publish-snap.yml?style=flat-square&branch=nightly +[badge-snap-nightly-ci]: https://img.shields.io/github/workflow/status/Tautulli/Tautulli/Publish%20Snap/nightly?style=flat-square [badge-installer-master-win]: https://img.shields.io/github/v/release/Tautulli/Tautulli?label=windows&style=flat-square [badge-installer-master-macos]: https://img.shields.io/github/v/release/Tautulli/Tautulli?label=macos&style=flat-square -[badge-installer-master-ci]: https://img.shields.io/github/actions/workflow/status/Tautulli/Tautulli/.github/workflows/publish-installers.yml?style=flat-square&branch=master +[badge-installer-master-ci]: https://img.shields.io/github/workflow/status/Tautulli/Tautulli/Publish%20Installers/master?style=flat-square [badge-installer-beta-win]: https://img.shields.io/github/v/release/Tautulli/Tautulli?label=windows&include_prereleases&style=flat-square [badge-installer-beta-macos]: https://img.shields.io/github/v/release/Tautulli/Tautulli?label=macos&include_prereleases&style=flat-square -[badge-installer-beta-ci]: https://img.shields.io/github/actions/workflow/status/Tautulli/Tautulli/.github/workflows/publish-installers.yml?style=flat-square&branch=beta -[badge-installer-nightly-ci]: https://img.shields.io/github/actions/workflow/status/Tautulli/Tautulli/.github/workflows/publish-installers.yml?style=flat-square&branch=nightly +[badge-installer-beta-ci]: https://img.shields.io/github/workflow/status/Tautulli/Tautulli/Publish%20Installers/beta?style=flat-square +[badge-installer-nightly-ci]: https://img.shields.io/github/workflow/status/Tautulli/Tautulli/Publish%20Installers/nightly?style=flat-square ## Support @@ -129,7 +129,7 @@ This is free software under the GPL v3 open source license. Feel free to do with but any modification must be open sourced. A copy of the license is included. This software includes Highsoft software libraries which you may freely distribute for -non-commercial use. Commercial users must licence this software, for more information visit +non-commercial use. Commerical users must licence this software, for more information visit https://shop.highsoft.com/faq/non-commercial#non-commercial-redistribution. diff --git a/Tautulli.py b/Tautulli.py index b3cf4736..069f771b 100755 --- a/Tautulli.py +++ b/Tautulli.py @@ -23,18 +23,18 @@ import sys # Ensure lib added to path, before any other imports sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), 'lib')) +from future.builtins import str +import appdirs import argparse import datetime import locale -import platformdirs import pytz import signal import shutil import time import threading import tzlocal -import ctypes import plexpy from plexpy import common, config, database, helpers, logger, webstart @@ -70,26 +70,8 @@ def main(): plexpy.SYS_ENCODING = None try: - - # Attempt to get the system's locale settings - language_code, encoding = locale.getlocale() - - # Special handling for Windows platform - if sys.platform == 'win32': - # Get the user's current language settings on Windows - windll = ctypes.windll.kernel32 - lang_id = windll.GetUserDefaultLCID() - - # Map Windows language ID to locale identifier - language_code = locale.windows_locale.get(lang_id, '') - - # Get the preferred encoding - encoding = locale.getpreferredencoding() - - # Assign values to application-specific variable - plexpy.SYS_LANGUAGE = language_code - plexpy.SYS_ENCODING = encoding - + locale.setlocale(locale.LC_ALL, "") + plexpy.SYS_LANGUAGE, plexpy.SYS_ENCODING = locale.getdefaultlocale() except (locale.Error, IOError): pass @@ -129,7 +111,7 @@ def main(): if args.quiet: plexpy.QUIET = True - # Do an initial setup of the logger. + # Do an intial setup of the logger. # Require verbose for pre-initilization to see critical errors logger.initLogger(console=not plexpy.QUIET, log_dir=False, verbose=True) @@ -143,7 +125,6 @@ def main(): if helpers.bool_true(os.getenv('TAUTULLI_DOCKER', False)): plexpy.DOCKER = True - plexpy.DOCKER_MOUNT = not os.path.isfile('/config/DOCKER') if helpers.bool_true(os.getenv('TAUTULLI_SNAP', False)): plexpy.SNAP = True @@ -204,7 +185,7 @@ def main(): if args.datadir: plexpy.DATA_DIR = args.datadir elif plexpy.FROZEN: - plexpy.DATA_DIR = platformdirs.user_data_dir("Tautulli", False) + plexpy.DATA_DIR = appdirs.user_data_dir("Tautulli", False) else: plexpy.DATA_DIR = plexpy.PROG_DIR @@ -231,18 +212,9 @@ def main(): 'Could not create data directory: ' + plexpy.DATA_DIR + '. Exiting....') # Make sure the DATA_DIR is writeable - test_file = os.path.join(plexpy.DATA_DIR, '.TEST') - try: - with open(test_file, 'w'): - pass - except IOError: + if not os.access(plexpy.DATA_DIR, os.W_OK): raise SystemExit( 'Cannot write to the data directory: ' + plexpy.DATA_DIR + '. Exiting...') - finally: - try: - os.remove(test_file) - except OSError: - pass # Put the database in the DATA_DIR plexpy.DB_FILE = os.path.join(plexpy.DATA_DIR, database.FILENAME) @@ -264,13 +236,23 @@ def main(): # Start the background threads plexpy.start() - # Force the http port if necessary + # Force the http port if neccessary if args.port: plexpy.HTTP_PORT = args.port logger.info('Using forced web server port: %i', plexpy.HTTP_PORT) else: plexpy.HTTP_PORT = int(plexpy.CONFIG.HTTP_PORT) + # Check if pyOpenSSL is installed. It is required for certificate generation + # and for CherryPy. + if plexpy.CONFIG.ENABLE_HTTPS: + try: + import OpenSSL + except ImportError: + logger.warn("The pyOpenSSL module is missing. Install this " + "module to enable HTTPS. HTTPS will be disabled.") + plexpy.CONFIG.ENABLE_HTTPS = False + # Try to start the server. Will exit here is address is already in use. webstart.start() diff --git a/contrib/clean_pyc.bat b/contrib/clean_pyc.bat deleted file mode 100755 index e4436dea..00000000 --- a/contrib/clean_pyc.bat +++ /dev/null @@ -1,11 +0,0 @@ -@echo off -:: Display information -echo This script will remove *.pyc files. These files are generated by Python, but they can cause conflicts after an upgrade. It's safe to remove them, because they will be regenerated. -echo Press enter to continue, or CTRL + C to quit. -pause - -cd ..\ -:: Remove *.pyc files -del /S *.pyc -:: Remove __pycache__ folders -for /d /r . %%d in (__pycache__) do @if exist "%%d" rd /s /q "%%d" \ No newline at end of file diff --git a/contrib/clean_pyc.sh b/contrib/clean_pyc.sh index ea555159..9283fb59 100755 --- a/contrib/clean_pyc.sh +++ b/contrib/clean_pyc.sh @@ -5,7 +5,5 @@ echo "This script will remove *.pyc files. These files are generated by Python, echo "Press enter to continue, or CTRL + C to quit." read -# Remove *.pyc files -find "`dirname $0`/.." -type f -name "*.pyc" -exec rm -rf {} \; -# Remove __pycache__ folders -find "`dirname $0`/.." -type d -name "__pycache__" -exec rm -rf {} \; \ No newline at end of file +# Remove the *.pyc +find "`dirname $0`/.." -type f -name "*.pyc" -exec rm -rf {} \; \ No newline at end of file diff --git a/data/interfaces/default/app_import.html b/data/interfaces/default/app_import.html index 74af4313..a96009a7 100644 --- a/data/interfaces/default/app_import.html +++ b/data/interfaces/default/app_import.html @@ -32,7 +32,7 @@ -

Upload the ${app} database file you wish to import (max file size is 1GB).

+

Upload the ${app} database file you wish to import.

diff --git a/data/interfaces/default/base.html b/data/interfaces/default/base.html index d6c9f859..d69c4279 100644 --- a/data/interfaces/default/base.html +++ b/data/interfaces/default/base.html @@ -13,7 +13,6 @@ - @@ -31,7 +30,7 @@ - + @@ -87,7 +86,7 @@
-% if data and public: +% if data: + + + + + +
+
+
+ +
+
+

Options Reference v.4.1.6

+
+
See also options for Highstock, Highmaps +
+
+
+
+
+
+
+ +
+
+
+ +
+
+
+
+
+
+
+ + + + diff --git a/data/interfaces/default/js/highcharts/api/images/Highcharts.svg b/data/interfaces/default/js/highcharts/api/images/Highcharts.svg new file mode 100644 index 00000000..c07a9cc2 --- /dev/null +++ b/data/interfaces/default/js/highcharts/api/images/Highcharts.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/interfaces/default/js/highcharts/api/images/apple-touch-icon-114x114.png b/data/interfaces/default/js/highcharts/api/images/apple-touch-icon-114x114.png new file mode 100644 index 00000000..d0745ff5 Binary files /dev/null and b/data/interfaces/default/js/highcharts/api/images/apple-touch-icon-114x114.png differ diff --git a/data/interfaces/default/js/highcharts/api/images/apple-touch-icon-120x120.png b/data/interfaces/default/js/highcharts/api/images/apple-touch-icon-120x120.png new file mode 100644 index 00000000..cd4599f4 Binary files /dev/null and b/data/interfaces/default/js/highcharts/api/images/apple-touch-icon-120x120.png differ diff --git a/data/interfaces/default/js/highcharts/api/images/apple-touch-icon-144x144.png b/data/interfaces/default/js/highcharts/api/images/apple-touch-icon-144x144.png new file mode 100644 index 00000000..49cd184f Binary files /dev/null and b/data/interfaces/default/js/highcharts/api/images/apple-touch-icon-144x144.png differ diff --git a/data/interfaces/default/js/highcharts/api/images/apple-touch-icon-152x152.png b/data/interfaces/default/js/highcharts/api/images/apple-touch-icon-152x152.png new file mode 100644 index 00000000..73865ce7 Binary files /dev/null and b/data/interfaces/default/js/highcharts/api/images/apple-touch-icon-152x152.png differ diff --git a/data/interfaces/default/js/highcharts/api/images/apple-touch-icon-180x180.png b/data/interfaces/default/js/highcharts/api/images/apple-touch-icon-180x180.png new file mode 100644 index 00000000..79bee95c Binary files /dev/null and b/data/interfaces/default/js/highcharts/api/images/apple-touch-icon-180x180.png differ diff --git a/data/interfaces/default/js/highcharts/api/images/apple-touch-icon-57x57.png b/data/interfaces/default/js/highcharts/api/images/apple-touch-icon-57x57.png new file mode 100644 index 00000000..89953256 Binary files /dev/null and b/data/interfaces/default/js/highcharts/api/images/apple-touch-icon-57x57.png differ diff --git a/data/interfaces/default/js/highcharts/api/images/apple-touch-icon-60x60.png b/data/interfaces/default/js/highcharts/api/images/apple-touch-icon-60x60.png new file mode 100644 index 00000000..7e1ba3a4 Binary files /dev/null and b/data/interfaces/default/js/highcharts/api/images/apple-touch-icon-60x60.png differ diff --git a/data/interfaces/default/js/highcharts/api/images/apple-touch-icon-72x72.png b/data/interfaces/default/js/highcharts/api/images/apple-touch-icon-72x72.png new file mode 100644 index 00000000..55af2c22 Binary files /dev/null and b/data/interfaces/default/js/highcharts/api/images/apple-touch-icon-72x72.png differ diff --git a/data/interfaces/default/js/highcharts/api/images/apple-touch-icon-76x76.png b/data/interfaces/default/js/highcharts/api/images/apple-touch-icon-76x76.png new file mode 100644 index 00000000..2bbc9c14 Binary files /dev/null and b/data/interfaces/default/js/highcharts/api/images/apple-touch-icon-76x76.png differ diff --git a/data/interfaces/default/js/highcharts/api/images/favicon-160x160.png b/data/interfaces/default/js/highcharts/api/images/favicon-160x160.png new file mode 100644 index 00000000..557da46e Binary files /dev/null and b/data/interfaces/default/js/highcharts/api/images/favicon-160x160.png differ diff --git a/data/interfaces/default/js/highcharts/api/images/favicon-16x16.png b/data/interfaces/default/js/highcharts/api/images/favicon-16x16.png new file mode 100644 index 00000000..98e8169c Binary files /dev/null and b/data/interfaces/default/js/highcharts/api/images/favicon-16x16.png differ diff --git a/data/interfaces/default/js/highcharts/api/images/favicon-192x192.png b/data/interfaces/default/js/highcharts/api/images/favicon-192x192.png new file mode 100644 index 00000000..df415c33 Binary files /dev/null and b/data/interfaces/default/js/highcharts/api/images/favicon-192x192.png differ diff --git a/data/interfaces/default/js/highcharts/api/images/favicon-32x32.png b/data/interfaces/default/js/highcharts/api/images/favicon-32x32.png new file mode 100644 index 00000000..625ac9bb Binary files /dev/null and b/data/interfaces/default/js/highcharts/api/images/favicon-32x32.png differ diff --git a/data/interfaces/default/js/highcharts/api/images/favicon-96x96.png b/data/interfaces/default/js/highcharts/api/images/favicon-96x96.png new file mode 100644 index 00000000..e219a759 Binary files /dev/null and b/data/interfaces/default/js/highcharts/api/images/favicon-96x96.png differ diff --git a/data/interfaces/default/js/highcharts/api/images/splash.svg b/data/interfaces/default/js/highcharts/api/images/splash.svg new file mode 100644 index 00000000..cbdc6386 --- /dev/null +++ b/data/interfaces/default/js/highcharts/api/images/splash.svg @@ -0,0 +1,43 @@ + + + + + + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/interfaces/default/js/highcharts/api/images/sprite.png b/data/interfaces/default/js/highcharts/api/images/sprite.png new file mode 100644 index 00000000..f36941a6 Binary files /dev/null and b/data/interfaces/default/js/highcharts/api/images/sprite.png differ diff --git a/data/interfaces/default/js/highcharts/api/js/highcharts.json b/data/interfaces/default/js/highcharts/api/js/highcharts.json new file mode 100644 index 00000000..6f7adc05 --- /dev/null +++ b/data/interfaces/default/js/highcharts/api/js/highcharts.json @@ -0,0 +1,2 @@ +offline.highcharts.object = [{"name":"Axis","fullname":"Axis","returnType":"","description":"

A chart can have from 0 axes (pie chart) to multiples. In a normal, single series cartesian chart, there is one X axis and one Y axis.

The X axis or axes are referenced by chart.xAxis, which is an array of Axis objects. If there is only one axis, it can be referenced through chart.xAxis[0], and multiple axes have increasing indices. The same pattern goes for Y axes.

If you need to get the axes from a series object, use the series.xAxis andseries.yAxis properties. These are not arrays, as one series can only be associated to one X and one Y axis.

A third way to reference the axis programmatically is by id. Add an id in the axis configuration options, and get the axis by chart.get(id).

Configuration options for the axes are given in options.xAxis and options.yAxis.

","title":"Axis","isParent":true,"params":"","paramsDescription":"","demo":"","since":"","deprecated":false},{"name":"Axis--getExtremes","fullname":"Axis.getExtremes","type":"method","returnType":"Object","description":"Get the current extremes for the axis.","title":"getExtremes","isParent":false,"parent":"Axis","params":"()","paramsDescription":"dataMax: The maximum value of the axis' associated series.||dataMin: The minimum value of the axis' associated series.||max: The maximum axis value, either automatic or set manually. If the max option is not set and maxPadding is 0, this value will be the same as dataMax.||min: The minimum axis value, either automatic or set manually. If the min option is not set and minPadding is 0, this value will be the same as dataMin.","demo":"Report extremes by click on a button","since":"1.2.0","deprecated":false},{"name":"Axis--remove","fullname":"Axis.remove","type":"method","returnType":"","description":"Remove an axis from the chart.","title":"remove","isParent":false,"parent":"Axis","params":"(Boolean redraw)","paramsDescription":"redraw: Boolean
\r\nDefaults to true. Whether to redraw the chart following the remove. ","demo":"Add and remove axes","since":"3.0","deprecated":false},{"name":"Axis--removePlotBand","fullname":"Axis.removePlotBand","type":"method","returnType":"","description":"Remove a plot band by its id.","title":"removePlotBand","isParent":false,"parent":"Axis","params":"(String id)","paramsDescription":"id: String
The plot band's id as given in the original configuration object or in the addPlotBand method.","demo":"Remove plot band by id, Toggle the plot band from a button","since":"1.2.0","deprecated":false},{"name":"Axis--removePlotLine","fullname":"Axis.removePlotLine","type":"method","returnType":"","description":"Remove a plot line by its id.","title":"removePlotLine","isParent":false,"parent":"Axis","params":"(String id)","paramsDescription":"id: String
The plot line's id as given in the original configuration object or in the addPlotLine method.","demo":"Remove plot line by id,toggle the plot line from a button","since":"1.2.0","deprecated":false},{"name":"Axis--setCategories","fullname":"Axis.setCategories","type":"method","description":"Set new categories for the axis.","title":"setCategories","isParent":false,"parent":"Axis","params":"(Array cateories, [Boolean redraw])","paramsDescription":"categories: Array
The new category names.||redraw: Boolean
Defaults to true. Whether to redraw the axis or wait for an explicit call to chart.redraw().","demo":"Set categories by click on a button","since":"1.2.0"},{"name":"Axis--setExtremes","fullname":"Axis.setExtremes","type":"method","returnType":"","description":"Set the minimum and maximum of the axes after render time. If the startOnTick and endOnTick options are true, the minimum and maximum values are rounded off to the nearest tick. To prevent this, these options can be set to false before calling setExtremes. Also, setExtremes will not allow a range lower than the minRange option, which by default is the range of five points.","title":"setExtremes","isParent":false,"parent":"Axis","params":"(Number min, Number max, [Boolean redraw], [Mixed animation])","paramsDescription":"min: Number
The new minimum value||max: Number
The new maximum value||redraw: Boolean
Defaults to true. Whether to redraw the chart or wait for an explicit call to chart.redraw().||animation: Mixed
Defaults to true. When true, the resize will be animated with default animation options. The animation can also be a configuration object with properties duration and easing.","demo":"Set extremes from button,Set extremes on datetime axis,setting extremes off ticks","since":"1.2.0","deprecated":false},{"name":"Axis--toPixels","fullname":"Axis.toPixels","type":"method","returnType":"Number","description":"Translates a value in terms of axis units in to pixels within the chart.","title":"toPixels","isParent":false,"parent":"Axis","params":"(Number value, [Boolean paneCoordinates])","paramsDescription":"value: Number
\r\nA value in terms of axis units.||\r\n\r\npaneCoordinates: Boolean
\r\nWhether to return the pixel coordinate relative to the chart or just the axis/pane itself.","demo":"","since":"3.0","deprecated":false},{"name":"Axis--toValue","fullname":"Axis.toValue","type":"method","returnType":"Number","description":"Translate a pixel position along the axis to a value in terms of axis units.","title":"toValue","isParent":false,"parent":"Axis","params":"(Number pixel, [Boolean paneCoordinates])","paramsDescription":"pixel: Number
\r\nA pixel position along the axis.||\r\n\r\npaneCoordinates: Boolean
\r\nWhether the input pixel position is relative to the chart or just the axis/pane itself.","demo":"","since":"3.0","deprecated":false},{"name":"Axis--update","fullname":"Axis.update","type":"method","returnType":"","description":"Update an axis object with a new set of options. The options are merged with the existing options, so only new or altered options need to be specified.","title":"update","isParent":false,"parent":"Axis","params":"(Object options, [Boolean redraw])","paramsDescription":"options: Object
\r\nThe new options that will be merged in with existing options on the axis.||\r\n\r\nredraw: Boolean
\r\nDefaults to true. Whether to redraw the chart after the new options are set. ","demo":"Axis update demo","since":"3.0","deprecated":false},{"name":"Chart","fullname":"Chart","returnType":"","description":"

The chart object is the JavaScript object representing a single chart in the web page.The pointer to your chart object is returned when a chart is created using the Highcharts.Chart() constructor:

var chart1 = new Highcharts.Chart(options);
","title":"Chart","isParent":true,"params":"","paramsDescription":"","demo":"","since":"","deprecated":false},{"name":"Chart--addAxis","fullname":"Chart.addAxis","type":"method","returnType":"","description":"Add an axis to the chart after render time. Note that this method should never be used when adding data synchronously at chart render time, as it adds expense to the calculations and rendering. When adding data at the same time as the chart is initiated, add the axis as a configuration option instead.","title":"addAxis","isParent":false,"parent":"Chart","params":"(Object options, [Boolean isX], [Boolean redraw], [Mixed animation])","paramsDescription":"options: Object
\r\nThe Axis options, as documented under xAxis and yAxis.||\r\n\r\nisX: Boolean
\r\nWhether it is an X axis or Y axis.||\r\n\r\nredraw: Boolean
\r\nDefaults to true. Whether to redraw the chart after the series is added. See the redraw() method below.||\r\n\r\nanimation: Mixed
\r\nDefaults to true. When true, the series' updating will be animated with default animation options. The animation can also be a configuration object with properties duration and easing.","demo":"Add and remove axes","since":"3.0","deprecated":false},{"name":"Chart--addSeries","fullname":"Chart.addSeries","type":"method","returnType":"Series","description":"Add a series to the chart after render time. Note that this method should never be used when adding data synchronously at chart render time, as it adds expense to the calculations and rendering. When adding data at the same time as the chart is initiated, add the series as a configuration option instead.","title":"addSeries","isParent":false,"parent":"Chart","params":"(Object options, [Boolean redraw], [Mixed animation])","paramsDescription":"options: Object
\r\nThe series options, as documented under plotOptions.series and under the plotOptions for each series type.||\r\n\r\nredraw: Boolean
\r\nDefaults to true. Whether to redraw the chart after the series is added. See the redraw() method below.||\r\n\r\nanimation: Mixed
\r\nDefaults to true. When true, the series' updating will be animated with default animation options. The animation can also be a configuration object with properties duration and easing.","demo":"Add a series from a button","since":"1.2.0","deprecated":false},{"name":"Chart--exportChart","fullname":"Chart.exportChart","type":"method","returnType":"","description":"Exporting module required. Submit an SVG version of the chart to a server along with some parameters for conversion.","title":"exportChart","isParent":false,"parent":"Chart","params":"(Object options, Object chartOptions)","paramsDescription":"options: Object
Exporting options. Out of the exporting options, the following options can be given as parameters to the exportChart method. All options default to the values given in the exporting config options. \r\nfilename: the filename for the export without extension, \r\nurl: the URL for the server module to do the conversion, \r\nwidth: the width of the PNG or JPEG image generated on the server, \r\ntype: the MIME type of the converted image, \r\nsourceWidth: the width of the source (in-page) chart, \r\nsourceHeight: the height of the source chart.||\r\n\r\nchartOptions: Object
Additional chart options for the exported chart. For example a different background color can be added here.","demo":"Export with no options,PDF type and custom filename, different chart background in export","since":"2.0","deprecated":false},{"name":"Chart--get","fullname":"Chart.get","type":"method","returnType":"Axis|Series|Point","description":"Get an axis, series or point by its id as given in the configuration options.","title":"get","isParent":false,"parent":"Chart","params":"(String id)","paramsDescription":"id: String
The id of the axis, series or point to get.","demo":"Get series by id","since":"1.2.0"},{"name":"Chart--getSVG","fullname":"Chart.getSVG","type":"method","returnType":"String","description":"Exporting module required. Get an SVG string representing the chart.","title":"getSVG","isParent":false,"parent":"Chart","params":"(Object additionalOptions)","paramsDescription":"additionalOptions: Object
Chart options to add to the exported chart in addition to the options given for the original chart. For example if series.lineWidth should be greater in the exported chart than in the original, or the chart should have a different background color, this is added here.","demo":"View the SVG from a button","since":"2.0","deprecated":false},{"name":"Chart--getSelectedPoints","fullname":"Chart.getSelectedPoints","type":"method","returnType":"Array","description":"Returns an array of all currently selected points in the chart. Points can be selected either programmatically by the point.select() method or by clicking.","title":"getSelectedPoints","isParent":false,"parent":"Chart","params":"()","paramsDescription":"An array of the selected points.","demo":"Get selected points","since":"1.2.0","deprecated":false},{"name":"Chart--destroy","fullname":"Chart.destroy","type":"method","returnType":"","description":"Removes the chart and purges memory. This method should be called before writing a new chart into the same container. It is called internally on window unload to prevent leaks.","title":"destroy","isParent":false,"parent":"Chart","params":"()","paramsDescription":"","demo":"Destroy the chart from a button","since":"1.2.2","deprecated":false},{"name":"Chart--options","fullname":"Chart.options","type":"property","returnType":"Object","description":"The options structure for the chart.","title":"options","isParent":false,"parent":"Chart","params":"","paramsDescription":"","demo":"","since":"1.2.0","deprecated":false},{"name":"Chart--xAxis","fullname":"Chart.xAxis","type":"property","returnType":"Array","description":"An array of the chart's x axes. If only one x axis, it is referenced by chart.xAxis[0].","title":"xAxis","isParent":false,"parent":"Chart","params":"","paramsDescription":"","demo":"","since":"1.2.0","deprecated":false},{"name":"Chart--yAxis","fullname":"Chart.yAxis","type":"property","returnType":"Array","description":"An array of the chart's y axes. If only one y axis, it is referenced by chart.yAxis[0].","title":"yAxis","isParent":false,"parent":"Chart","params":"","paramsDescription":"","demo":"","since":"1.2.0","deprecated":false},{"name":"Chart--container","fullname":"Chart.container","type":"property","returnType":"Object","description":"A reference to the containing HTML element, dynamically inserted into the element given in chart.renderTo.","title":"container","isParent":false,"parent":"Chart","params":"","paramsDescription":"","demo":"","since":"1.2.5","deprecated":false},{"name":"Point--series","fullname":"Point.series","type":"property","returnType":"Series","description":"The series object associated with the point.","title":"series","isParent":false,"parent":"Point","params":"","paramsDescription":"","demo":"","since":"1.2.0","deprecated":false},{"name":"Chart--print","fullname":"Chart.print","type":"method","returnType":"","description":"Exporting module required. Clears away other elements in the page and prints the chart as it is displayed. By default, when the exporting module is enabled, a button at the upper left calls this method.","title":"print","isParent":false,"parent":"Chart","params":"()","paramsDescription":"","demo":"Print from a HTML button","since":"2.0","deprecated":false},{"name":"Chart--redraw","fullname":"Chart.redraw","type":"method","returnType":"","description":"Redraw the chart after changes have been done to the data or axis extremes. All methods for updating axes, series or points have a parameter for redrawing the chart. This is true by default. But in many cases you want to do more than one operation on the chart before redrawing, for example add a number of points. In those cases it is a waste of resources to redraw the chart for each new point added. So you add the points and call chart.redraw() after.","title":"redraw","isParent":false,"parent":"Chart","params":"()","paramsDescription":"","demo":"","since":"1.2.0","deprecated":false},{"name":"Chart--setSize","fullname":"Chart.setSize","type":"method","returnType":"","description":"Resize the chart to a given width and height.","title":"setSize","isParent":false,"parent":"Chart","params":"(Number width, Number height, [Mixed animation])","paramsDescription":"width: Number
The new pixel width of the chart.||height: Number
The new pixel height of the chart.||animation: Mixed
Defaults to true. When true, the resize will be animated with default animation options. The animation can also be a configuration object with properties duration and easing.","demo":"Test resizing from buttons, add a jQuery UI resizable","since":"","deprecated":false},{"name":"Chart--showLoading","fullname":"Chart.showLoading","type":"method","returnType":"null","description":"Dim the chart's plot area and show a loading label text. Options for the loading screen are defined at options.loading. A custom text can be given as a parameter for loading.","title":"showLoading","isParent":false,"parent":"Chart","params":"(String str)","paramsDescription":"","demo":"Show and hide loading from a button,apply different text labels.","since":"2.0.5","deprecated":false},{"name":"Chart--updatePosition","fullname":"Chart.updatePosition","type":"method","returnType":"","description":"This method is deprecated as of 2.0.1. Updating the chart position after a move operation is no longer necessary.","title":"updatePosition","isParent":false,"parent":"Chart","params":"()","paramsDescription":"","demo":"","since":"1.2.5","deprecated":true},{"name":"Element","fullname":"Element","returnType":"","description":"

The Element class is a JavaScript wrapper for SVG elements used in the rendering layer of Highchart. Combined with the Renderer object, these elements allows freeform annotation in the charts or even in your HTML pages without creating a chart at all.

","title":"Element","isParent":true,"params":"","paramsDescription":"","demo":"","since":"","deprecated":false},{"name":"Element--add","fullname":"Element.add","type":"method","returnType":"Element","description":"Add the element to the renderer canvas.","title":"add","isParent":false,"parent":"Element","params":"[(Object parent)]","paramsDescription":"parent: Object
The element can be added to a g (group) element.","demo":"Elements added to a group","since":"2.0"},{"name":"Element--animate","fullname":"Element.animate","type":"method","returnType":"Element","description":"Apply numeric attributes to the SVG/VML element by animation. See Element.attr() for more information on setting attributes.","title":"animate","isParent":false,"parent":"Element","params":"(Object attributes[, Object animation])","paramsDescription":"attributes: Object
A set of attributes to apply.||animation: Object
Optional animation parameters that are passed over to jQuery or other framework. Valid properties depend on the library, but options like duration, easing and complete are supported by jQuery.","demo":"Setting some attributes by animation","since":"2.0","deprecated":false},{"name":"Element--css","fullname":"Element.css","type":"method","returnType":"Element","description":"Apply some CSS properties to the element","title":"css","isParent":false,"parent":"Element","params":"(Object hash)","paramsDescription":"hash: Object
The object literal of CSS properties to apply. Properties should be hyphenated, not camelCased.","demo":"Styled text","since":"2.0"},{"name":"Element--on","fullname":"Element.on","type":"method","returnType":"Element","description":"Apply an event handler to the element","title":"on","isParent":false,"parent":"Element","params":"(String eventType, Function handler)","paramsDescription":"eventType: String
The event type to attach, for example 'click', 'mouseover', 'touch'.||handler: Function
The event handler function.","demo":"A clickable rectangle.","since":"2.0"},{"name":"Element--toFront","fullname":"Element.toFront","type":"method","returnType":"Element","description":"Bring the element to the front. Alternatively, a zIndex attribute can be given.","title":"toFront","isParent":false,"parent":"Element","paramsDescription":"The element object","demo":"Click an element to bring it to front.","since":"2.0"},{"name":"Highcharts","fullname":"Highcharts","returnType":"","description":"

The namespace under which all other Highcharts variables are assembled is called Highcharts.

var chart1 = new Highcharts.Chart(options);
","title":"Highcharts","isParent":true,"params":"","paramsDescription":"","demo":"","since":"","deprecated":false},{"name":"Highcharts--Chart","fullname":"Highcharts.Chart","type":"method","returnType":"Chart","description":"This is the constructor for creating a new chart object.","title":"Chart","isParent":false,"parent":"Highcharts","params":"(Object options, Function callback)","paramsDescription":"options: Object
The chart options, as documented under the heading \"The options object\"in the left menu.||callback: Function
A function to execute when the chart object is finished loading and rendering. In most cases the chart is built in one thread, but in Internet Explorer version 8 or less the chart is sometimes initiated before the document is ready, and in these cases the chart object will not be finished directly after callingnew Highcharts.Chart(). As a consequence, code that relies on the newly built Chart object should always run in the callback. Defining a chart.event.load handler is equivalent.","demo":"","since":"","deprecated":false},{"name":"Highcharts--charts","fullname":"Highcharts.charts","type":"Array","returnType":"Array","description":"An array containing the current chart objects in the page. A chart's position in the array is preserved throughout the page's lifetime. When a chart is destroyed, the array item becomes undefined.","title":"charts","isParent":false,"parent":"Highcharts","params":"","paramsDescription":"","demo":"","since":"2.3.4","deprecated":false},{"name":"Highcharts--dateFormat","fullname":"Highcharts.dateFormat","type":"method","returnType":"String","description":"Formats a JavaScript date timestamp (milliseconds since Jan 1st 1970) into a human readable date string. The format is a subset of the formats for PHP's strftime function. Additional formats can be given in the Highcharts.dateFormats hook, see below.","title":"dateFormat","isParent":false,"parent":"Highcharts","params":"(String format, [Number time], [Boolean capitalize])","paramsDescription":"format: String
A string containing some of the formats above.||time: Number
The JavaScript time to format.||capitalize: Boolean
Whether to capitalize words in the return string.","demo":"","since":"","deprecated":false},{"name":"Highcharts--dateFormats","fullname":"Highcharts.dateFormats","type":"Object","returnType":"","description":"A hook for defining additional date format specifiers. New specifiers are defined as key-value pairs by using the specifier as key, and a function which takes the timestamp as value. This function returns the formatted portion of the date.","title":"dateFormats","isParent":false,"parent":"Highcharts","params":"","paramsDescription":"","demo":"Adding support for week number","since":"3.0","deprecated":false},{"name":"Highcharts--setOptions","fullname":"Highcharts.setOptions","type":"method","returnType":"Object","description":"Sets the options globally for all charts created after this has been called. Takes an options JavaScript object structure as the argument. These options are merged with the default options and the result is returned.","title":"setOptions","isParent":false,"parent":"Highcharts","params":"(Object options)","paramsDescription":"options: Object
The chart configuration object.","demo":"Setting a global option,applying a general theme"},{"name":"Point","fullname":"Point","returnType":"","description":"

The Point object is the JavaScript representation of each data point

The object can be accessed in a number of ways. In all point event handlers the point object is this. In the series object all the points are accessed by the series.data array.

Another way to reference the point programmatically is by id. Add an id in the point configuration options, and get the point object by chart.get(id).

","title":"Point","isParent":true,"params":"","paramsDescription":"","demo":"","since":"","deprecated":false},{"name":"Point--percentage","fullname":"Point.percentage","type":"property","returnType":"Number","description":"The percentage for points in a stacked series or pies.","title":"percentage","isParent":false,"parent":"Point","since":"1.2.0"},{"name":"Point--remove","fullname":"Point.remove","type":"method","returnType":"","description":"Remove the point from the series.","title":"remove","isParent":false,"parent":"Point","params":"([Boolean redraw], [Mixed animation])","paramsDescription":"redraw: Boolean
Defaults to true. Whether to redraw the chart after the point is removed.If doing more operations on the chart, it is a good idea to set redraw to false and call chart.redraw() after.||animation: Mixed
Defaults to true. When true, the graph's updating will be animated with default animation options. The animation can also be a configuration object with properties duration and easing.","demo":"Remove point and confirm,Remove pie slice","since":"1.2.0","deprecated":false},{"name":"Point--selected","fullname":"Point.selected","type":"property","returnType":"Boolean","description":"Whether the point is selected or not.","title":"selected","isParent":false,"parent":"Point","since":"1.2.0"},{"name":"Point--slice","fullname":"Point.slice","type":"method","returnType":"","description":"Slice out or set back in a pie chart slice. This is the default way of Highcharts to visualize that a pie point is selected.","title":"slice","isParent":false,"parent":"Point","params":"([Boolean sliced], [Boolean redraw], [Mixed animation])","paramsDescription":"sliced: Boolean
When true, the point is sliced out. When false, the point is set in. When null or undefined, the sliced state is toggled.||redraw: Boolean
Defaults to true. Whether to redraw the chart after the point is altered.||animation: Mixed
Defaults to true. When true, the move will be animated with default animation options. The animation can also be a configuration object with properties duration and easing.","demo":"Slice and unslice a point from a button","since":"1.2.0","deprecated":false},{"name":"Point--update","fullname":"Point.update","type":"method","returnType":"","description":"Update the point with new values.","title":"update","isParent":false,"parent":"Point","params":"([Mixed options], [Boolean redraw], [Mixed animation])","paramsDescription":"options: Number|Array|Object
The point options. If options is a single number, the point will be given that number as the y value.If it is an array, it will be interpreted as x and y values respectively. If it is an object, advanced options as outlined under series.data are applied.||redraw: Boolean
Defaults to true. Whether to redraw the chart after the point is updated.If doing more operations on the chart, it is a good idea to set redraw to false and call chart.redraw() after.||animation: Mixed
Defaults to true. When true, the update will be animated with default animation options. The animation can also be a configuration object with properties duration and easing.","demo":"Update column value,update pie slice","since":"1.2.0","deprecated":false},{"name":"Point--x","fullname":"Point.x","type":"property","returnType":"Number","description":"The x value for the point.","title":"x","isParent":false,"parent":"Point","since":"1.2.0"},{"name":"Point--y","fullname":"Point.y","type":"property","returnType":"Number","description":"The y value for the point.","title":"y","isParent":false,"parent":"Point","since":"1.2.0"},{"name":"Renderer","fullname":"Renderer","returnType":"","description":"

Allows direct access to the Highcharts rendering layer in order to draw primitive shapes like circles, rectangles,paths or text directly on a chart, or independent from any chart. The Renderer represents a wrapper object for SVGin modern browsers and VML in IE < 8.

An existing chart's renderer can be accessed through chart.renderer. To create a renderer independent from a chart, use var renderer = new Highcharts.Renderer(parentNode, width, height); where parentNode is the HTML element where you want to add it.

The Renderer's methods are chained wherever possible, so you can initiate an element then call for example attr and css and add on that element in one statement.

","title":"Renderer","isParent":true,"params":"","paramsDescription":"","demo":"","since":"","deprecated":false},{"name":"Renderer--arc","fullname":"Renderer.arc","type":"method","returnType":"Element","description":"Draw an arc on the renderer canvas.","title":"arc","isParent":false,"parent":"Renderer","params":"(Number centerX, Number centerY, Number outerRadius, Number innerRadius, Number start, Number end)","paramsDescription":"centerX: Number
The x position of the arc's center in the SVG element.||centerY: Number
The y position of the arc's center in the SVG element.||outerRadius: Number
The outer radius of the arc.||innerRadius: Number
The inner radius of the arc.||start: Number
The starting angle of the arc in radians, where 0 is to the right and -Math.PI/2 is up.||end: Number
The ending angle of the arc in radians, where 0 is to the right and -Math.PI/2 is up.","demo":"Drawing an arc","since":"2.0"},{"name":"Renderer--circle","fullname":"Renderer.circle","type":"method","returnType":"Element","description":"Draw circle on the renderer canvas.","title":"circle","isParent":false,"parent":"Renderer","params":"(Number centerX, Number centerY, Number radius)","paramsDescription":"centerX: Number
The x position of the circle's center in the SVG element.||centerY: Number
The y position of the circle's center in the SVG element.||radius: Number
The radius of the circle.","demo":"Drawing a circle","since":"2.0"},{"name":"Renderer--g","fullname":"Renderer.g","type":"method","returnType":"Element","description":"Add an SVG/VML group.","title":"g","isParent":false,"parent":"Renderer","params":"(String name)","paramsDescription":"name: String
The name of the group. This will be used in the class name, which will be \"highcharts-\"+ name. Other Element objects are added to the group by using the group as the first parameter in .add() for the wrappers.","demo":"Show and hide grouped objects","since":"2.0","deprecated":false},{"name":"Renderer--image","fullname":"Renderer.image","type":"method","returnType":"Element","description":"Add an image from an external resource.","title":"image","isParent":false,"parent":"Renderer","params":"(String source, Number x, Number y, Number width, Number height)","paramsDescription":"source: String
The URL of the image.||x: String
The x position of the image's upper left corner.||y: String
The y position of the image's upper left corner.||width: String
The width of the image.||height: String
The height of the image.","demo":"Add an image in a chart,add an image independent from chart","since":"2.0"},{"name":"Renderer--path","fullname":"Renderer.path","type":"method","returnType":"Element","description":"Add a path based on SVG's path commands. In SVG capable browsers all path commands are supported, but in VML only a subset is supported: absolute moveTo (M), absolute lineTo (L), absolute curveTo (C) and close (Z).","title":"path","isParent":false,"parent":"Renderer","params":"(Array path)","paramsDescription":"path: Array
An SVG path split up in array form.","demo":"Draw a path in a chart,draw a path independent from a chart","since":"2.0","deprecated":false},{"name":"Renderer--rect","fullname":"Renderer.rect","type":"method","returnType":"Element","description":"Add a rectangle.","title":"rect","isParent":false,"parent":"Renderer","params":"(Number x, Number y, Number width, Number height, Number cornerRadius)","paramsDescription":"x: Number
The x position of the rectangle's upper left corner.||y: Number
The y position of the rectangle's upper left corner.||width: Number
The width of the rectangle.||height: Number
The height of the rectangle.||cornerRadius: Number
The corner radius of all the rectangle's corners.","demo":"Draw a rectangle in a chart,draw a rectangle independent from a chart","since":"2.0"},{"name":"Renderer--text","fullname":"Renderer.text","type":"method","returnType":"Element","description":"Draw text. The text can contain a subset of HTML, like spans and anchors and some basic text styling of these. For more advanced features like border and background, use label instead.","title":"text","isParent":false,"parent":"Renderer","params":"(String str, Number x, Number y)","paramsDescription":"str: String
The text or HTML to draw||x: Number
The x position of the text's lower left corner.||y: Number
The y position of the text's lower left corner.","demo":"Annotate the chart freely; annotate with a border and in response to the data; formatted text.","since":"2.0","deprecated":false},{"name":"Series","fullname":"Series","returnType":"","description":"

The Series object is the JavaScript representation of each line, area series, pie etc.

The object can be accessed in a number of ways. All series and point event handlers give a reference to the series object. The chart object has a series property that is a collection of all the chart's series. The point objects also have the same reference.

Another way to reference the series programmatically is by id. Add an id in the series configuration options, and get the series object by chart.get(id).

Configuration options for the series are given in three levels. Options for all series in a chart are given in the plotOptions.series object. Then options for all series of a specific type are given in the plotOptions of that type, for example plotOptions.line. Next, options for one single series are given in the series array.

","title":"Series","isParent":true,"params":"","paramsDescription":"","demo":"","since":"","deprecated":false},{"name":"Series--addPoint","fullname":"Series.addPoint","type":"method","returnType":"","description":"Add a point to the series after render time. The point can be added at the end, or by giving it an X value, to the start or in the middle of the series.","title":"addPoint","isParent":false,"parent":"Series","params":"(Object options, [Boolean redraw], [Boolean shift], [Mixed animation])","paramsDescription":"options: Number|Array|Object
The point options. If options is a single number, a point with that y value is appended to the series.If it is an array, it will be interpreted as x and y values respectively. If it is an object, advanced options as outlined under series.data are applied.||\r\nredraw: Boolean
Defaults to true. Whether to redraw the chart after the point is added. When adding more than one point, it is highly recommended that the redraw option be set to false, and instead chart.redraw() is explicitly called after the adding of points is finished.||\r\nshift: Boolean
Defaults to false. When shift is true, one point is shifted off the start of the series as one is appended to the end. Use this option for live charts monitoring a value over time.||animation: Mixed
Defaults to true. When true, the graph will be animated with default animation options. The animation can also be a configuration object with properties duration and easing.","demo":"Append point,append and shift,both x and y values given,append pie slice","since":"1.2.0","deprecated":false},{"name":"Series--hide","fullname":"Series.hide","type":"method","description":"Hides the series if visible. If the chart.ignoreHiddenSeries option is true,the chart is redrawn without this series.","title":"hide","isParent":false,"parent":"Series","params":"()","demo":"Toggle visibility from a button","since":"1.2.0"},{"name":"Series--name","fullname":"Series.name","type":"property","returnType":"String","description":"The series' name as given in the options.","title":"name","isParent":false,"parent":"Series","since":"1.2.0"},{"name":"Series--options","fullname":"Series.options","type":"property","returnType":"Object","description":"Read only. The series' options.","title":"options","isParent":false,"parent":"Series","since":"1.2.0"},{"name":"Series--select","fullname":"Series.select","type":"method","returnType":"","description":"Select or unselect the series. This means its selected property is set,the checkbox in the legend is toggled and when selected, the series is returned in the chart.getSelectedSeries() method.","title":"select","isParent":false,"parent":"Series","params":"([Boolean selected|null])","paramsDescription":"selected: Boolean|null
When true, the series is selected. When false it is unselected. When null or undefined, the series' selection state is toggled.","demo":"Select a series from a button","since":"1.2.0","deprecated":false},{"name":"Series--selected","fullname":"Series.selected","type":"property","returnType":"Boolean","description":"Read only. The series' selected state as set by series.select().","title":"selected","isParent":false,"parent":"Series","since":"1.2.0"},{"name":"Series--setVisible","fullname":"Series.setVisible","type":"method","returnType":"","description":"A utility function to show or hide the series with an optional redraw.","title":"setVisible","isParent":false,"parent":"Series","params":"(Boolean visible, [Boolean redraw])","paramsDescription":"visible: Boolean
Whether to show or hide the series. If undefined, the visibility is toggled.||redraw: Boolean
Defaults to true. Whether to redraw the chart after the series is altered.If doing more operations on the chart, it is a good idea to set redraw to false and call chart.redraw() after.","demo":"","since":"","deprecated":false},{"name":"Series--show","fullname":"Series.show","type":"method","description":"Shows the series if hidden.","title":"show","isParent":false,"parent":"Series","params":"()","demo":"Toggle visibility from a button","since":"1.2.0"},{"name":"Series--type","fullname":"Series.type","type":"property","returnType":"String","description":"Read only. The series' type, like \"line\", \"area\" etc.","title":"type","isParent":false,"parent":"Series","since":"1.2.0"},{"name":"Series--update","fullname":"Series.update","type":"method","returnType":"","description":"Update the series with a new set of options. For a clean and precise handling of new options, all methods and elements from the series is removed, and it is initiated from scratch. Therefore, this method is more performance expensive than some other utility methods like setData or setVisible.","title":"update","isParent":false,"parent":"Series","params":"(Object options, [Boolean redraw])","paramsDescription":"options: Boolean
\r\nNew options that will be merged into the series' existing options.\r\n\r\n||\r\n\r\nredraw: Boolean
\r\nDefaults to true. Whether to redraw the chart after the series is altered. If doing more operations on the chart, it is a good idea to set redraw to false and call chart.redraw() after.","demo":"Updating series options","since":"3.0","deprecated":false},{"name":"Series--visible","fullname":"Series.visible","type":"property","returnType":"Boolean","description":"Read only. The series' visibility state as set by series.show(), series.hide(), or the initial configuration.","title":"visible","isParent":false,"parent":"Series","since":"1.2.0"},{"name":"Chart--addSeriesAsDrilldown","fullname":"Chart.addSeriesAsDrilldown","type":"method","returnType":"","description":"Add a series to the chart as drilldown from a specific point in the parent series. This method is used for async drilldown, when clicking a point in a series should result in loading and displaying a more high-resolution series. When not async, the setup is simpler using the drilldown.series options structure.","title":"addSeriesAsDrilldown","isParent":false,"parent":"Chart","params":"(Object point, Object seriesOptions)","paramsDescription":"point: Object
\r\nThe existing Point object from which the drilldown will start.||\r\n\r\nseriesOptions: Object
\r\nThe series options, as documented under plotOptions.series and under the plotOptions for each series type.","demo":"Async drilldown","since":"3.0.8","deprecated":false},{"name":"Chart--drillUp","fullname":"Chart.drillUp","type":"method","returnType":"","description":"When the chart is drilled down to a child series, calling chart.drillUp() will drill up to the parent series.","title":"drillUp","isParent":false,"parent":"Chart","params":"()","paramsDescription":"","demo":"","since":"3.0.8","deprecated":false},{"name":"Chart--setTitle","fullname":"Chart.setTitle","type":"method","returnType":"","description":"Set a new title or subtitle for the chart","title":"setTitle","isParent":false,"parent":"Chart","params":"(Object title, object subtitle, Boolean redraw)","paramsDescription":"title: Object
A configuration object for the new title as defined at #title.||\r\nsubtitle: Object
A configuration object for the new subtitle as defined at #subtitle.||\r\nredraw: Boolean
Whether to redraw the chart. Defaults to true.","demo":"Set title text and styles","since":"2.1.0","deprecated":false},{"name":"Series--setData","fullname":"Series.setData","type":"method","returnType":"","description":"Apply a new set of data to the series and optionally redraw it. Note that this method throws away all points and creates new ones. For updating the values of existing points, use Point.update() instead.","title":"setData","isParent":false,"parent":"Series","params":"(Array<Mixed> data, [Boolean redraw], [Mixed animation], [Boolean updatePoints])","paramsDescription":"data: Array<Number>|Array<Array>|Array<Object>
Takes an array of data in the same format as given at options.series => data.||\r\nredraw: Boolean
Defaults to true. Whether to redraw the chart after the series is altered.If doing more operations on the chart, it is a good idea to set redraw to false and call chart.redraw() after.||\r\nanimation: Mixed
When the updated data is the same length as the existing data, points will be updated by default, and animation visualizes how the points are changed. Set false to disable animation, or a configuration object to set duration or easing.||\r\nupdatePoints: Boolean
When the updated data is the same length as the existing data, points will be updated instead of replace. This option prevents this, and makes setData behave like it did prior to Highcharts 3.0.10.","demo":"Set new data from a button,set data in a pie","since":"1.2.0","deprecated":false},{"name":"Element--attr","fullname":"Element.attr","type":"method","returnType":"Element","description":"

Apply attributes to the SVG/VML elements. These attributes for the most parts correspond to SVG, but some are specific to Highcharts, like zIndex and rotation.

\r\n\r\n

In order to set the rotation center for rotation, set x and y to 0 and use translateX and translateY attributes to position the element instead.

\r\n\r\n

Attributes frequently used in Highcharts are fill, stroke, stroke-width.

","title":"attr","isParent":false,"parent":"Element","params":"Object hash","paramsDescription":"hash: Object
A set of attributes to apply.","demo":"Setting some attributes","since":"2.0","deprecated":false},{"name":"Axis--setTitle","fullname":"Axis.setTitle","type":"method","returnType":"","description":"Update the title of the axis after render time.","title":"setTitle","isParent":false,"parent":"Axis","params":"(Object title, [Boolean redraw])","paramsDescription":"title: Object
The new title options on the same format as given in xAxis.title.||redraw: Boolean
Whether to redraw the chart now or hold until the next chart.redraw()","demo":"Set a new Y axis title","since":"2.2","deprecated":false},{"name":"Point--select","fullname":"Point.select","type":"method","returnType":"","description":"Select or unselect the point.","title":"select","isParent":false,"parent":"Point","params":"([Boolean select], [Boolean accumulate])","paramsDescription":"select: Boolean
When true, the point is selected. When false, the point is unselected. When null or undefined, the selection state is toggled.||accumulate: Boolean
When true, the selection is added to other selected points. When false, other selected points are deselected. Internally in Highcharts,selected points are accumulated on Control, Shift or Cmd clicking the point.","demo":"Select a point from a button","since":"1.2.0","deprecated":false},{"name":"Series--remove","fullname":"Series.remove","type":"method","returnType":"","description":"Remove the series from the chart.","title":"remove","isParent":false,"parent":"Series","params":"([Boolean redraw])","paramsDescription":"redraw: Boolean
Defaults to true. Whether to redraw the chart after the series is removed.If doing more operations on the chart, it is a good idea to set redraw to false and call chart.redraw() after.","demo":"Remove first series from a button","since":"1.2.0","deprecated":false},{"name":"Chart--getSelectedSeries","fullname":"Chart.getSelectedSeries","type":"method","returnType":"Array","description":"Returns an array of all currently selected series in the chart. Series can be selected either programmatically by the series.select() method or by checking the checkbox next to the legend item if series.showCheckBox is true.","title":"getSelectedSeries","isParent":false,"parent":"Chart","params":"()","paramsDescription":"An array of the selected Series items.","demo":"Get selected series","since":"1.2.0","deprecated":false},{"name":"Point--category","fullname":"Point.category","type":"property","returnType":"String|Number","description":"For categorized axes this property holds the category name for the point. For other axis it holds the x value.","title":"category","isParent":false,"parent":"Point","params":"","paramsDescription":"","demo":"","since":"1.2.0","deprecated":false},{"name":"Chart--hideLoading","fullname":"Chart.hideLoading","type":"method","returnType":"","description":"Hide the loading screen. Options for the loading screen are defined at options.loading.","title":"hideLoading","isParent":false,"parent":"Chart","params":"()","paramsDescription":"","demo":"Show and hide loading from a button","since":"1.2.0","deprecated":false},{"name":"Axis--addPlotLine","fullname":"Axis.addPlotLine","type":"method","returnType":"","description":"Add a plot line after render time.","title":"addPlotLine","isParent":false,"parent":"Axis","params":"(Object options)","paramsDescription":"options: Object
A configuration object consisting of the same members as options.xAxis.plotLines","demo":"Toggle the plot line from a button","since":"1.2.0","deprecated":false},{"name":"Axis--addPlotBand","fullname":"Axis.addPlotBand","type":"method","returnType":"","description":"Add a plot band after render time.","title":"addPlotBand","isParent":false,"parent":"Axis","params":"(Object options)","paramsDescription":"options: Object
A configuration object consisting of the same members as options.xAxis.plotBands","demo":"Toggle the plot band from a button","since":"1.2.0","deprecated":false},{"name":"Chart--series","fullname":"Chart.series","type":"property","returnType":"Array","description":"An array of all the chart's series.","title":"series","isParent":false,"parent":"Chart","params":"","paramsDescription":"","demo":"","since":"1.2.0","deprecated":false},{"name":"Element--destroy","fullname":"Element.destroy","type":"method","returnType":"","description":"Destroy the element and free up memory","title":"destroy","isParent":false,"parent":"Element","params":"","paramsDescription":"","demo":"","since":"2.0","deprecated":false},{"name":"Point--total","fullname":"Point.total","type":"Number","returnType":"Number","description":"The total of a stack for stacked series, or pie in pie charts.","title":"total","isParent":false,"parent":"Point","params":"","paramsDescription":"","demo":"","since":"","deprecated":false},{"name":"Chart--reflow","fullname":"Chart.reflow","type":"method","returnType":"","description":"Reflows the chart to its container. By default, the chart reflows automatically to its container following a window.resize event, as per the chart.reflow option. However, there are no reliable events for div resize, so if the container is resized without a window resize event, this must be called explicitly. ","title":"reflow","isParent":false,"parent":"Chart","params":"()","paramsDescription":"","demo":"Resize div and reflow, pop up and reflow","since":"","deprecated":false},{"name":"Element--getBBox","fullname":"Element.getBBox","type":"method","returnType":"Object","description":"Get the bounding box of the element","title":"getBBox","isParent":false,"parent":"Element","params":"","paramsDescription":"A hash object containing x, y, width and height values for the element.","demo":"Draw a rectangle based on a text's bounding box.","since":"2.0","deprecated":false},{"name":"Series--chart","fullname":"Series.chart","type":"property","returnType":"Chart","description":"Read only. The chart that the series belongs to.","title":"chart","isParent":false,"parent":"Series","params":"","paramsDescription":"","demo":"","since":"1.2.0","deprecated":false},{"name":"Series--data","fullname":"Series.data","type":"property","returnType":"Array","description":"Read only. An array with the series' data point objects.","title":"data","isParent":false,"parent":"Series","params":"","paramsDescription":"","demo":"","since":"1.2.0","deprecated":false},{"name":"Series--xAxis","fullname":"Series.xAxis","type":"property","returnType":"Axis","description":"Read only. The unique xAxis object associated with the series.","title":"xAxis","isParent":false,"parent":"Series","params":"","paramsDescription":"","demo":"","since":"1.2.0","deprecated":false},{"name":"Series--yAxis","fullname":"Series.yAxis","type":"property","returnType":"Axis","description":"Read only. The unique yAxis object associated with the series.","title":"yAxis","isParent":false,"parent":"Series","params":"","paramsDescription":"","demo":"","since":"1.2.0","deprecated":false},{"name":"Series--removePoint","fullname":"Series.removePoint","type":"method","returnType":"","description":"Remove a point from the series. Unlike the Point.remove method, this can also be done on a point that is not instanciated because it is outside the view or subject to data grouping.","title":"removePoint","isParent":false,"parent":"Series","params":"(Object index, [Boolean redraw], [Mixed animation])","paramsDescription":"index: Number
The index of the point in the data array.||\r\nredraw: Boolean
Defaults to true. Whether to redraw the chart after the point is added. When adding more than one point, it is highly recommended that the redraw option be set to false, and instead chart.redraw() is explicitly called after the adding of points is finished.||\r\nanimation: Mixed
Defaults to true. When true, the graph will be animated with default animation options. The animation can also be a configuration object with properties duration and easing.","demo":"Remove cropped point","since":"4.1.0","deprecated":false},{"name":"Highcharts--numberFormat","fullname":"Highcharts.numberFormat","type":"method","returnType":"String","description":"Formats a JavaScript number with grouped thousands, a fixed amount of decimals and an optional decimal point. It is a port of PHP's function with the same name. See PHP number_format for a full explanation of the parameters.","title":"numberFormat","isParent":false,"parent":"Highcharts","params":"(Number number, [Number decimals], [String decimalPoint], [String thousandsSep])","paramsDescription":"number: Number
The raw number to format.||decimals: Number
The desired number of decimals.||decimalPoint: String
The decimal point. Defaults to \".\" or to the string specified globally in options.lang.decimalPoint.||thousandsSep: String
The thousands separator. Defaults to \" \" or to the string specified globally in options.lang.thousandsSep.","demo":"Custom number format","since":"","deprecated":false},{"name":"Renderer--label","fullname":"Renderer.label","type":"method","returnType":"Element","description":"Draw a label, which is an extended text element with support for border and background. Highcharts creates a g element with a text and a path or rect inside, to make it behave somewhat like a HTML div. Border and background are set through stroke, stroke-width and fill attributes using the attr method. This must be done before calling add.","title":"label","isParent":false,"parent":"Renderer","params":"(String str, Number x, Number y, String shape, Number anchorX, Number anchorY, Boolean useHTML, Boolean baseline, String className)","paramsDescription":"str: String
\r\nThe text or HTML to draw||\r\n\r\nx: Number
\r\nThe x position of the label's left side.||\r\n\r\ny: Number
\r\nThe y position of the label's top side or baseline, depending on the baseline parameter.||\r\n\r\nshape: String
\r\nThe shape of the label's border/background, if any. Defaults to rect.||\r\n\r\nanchorX: Number
\r\nIf the shape has a pointer, like the chevron on a callout shape, anchorX is the x position to point to.||\r\n\r\nanchorY: Number
\r\nIf the shape has a pointer, like the chevron on a callout shape, anchorY is the y position to point to.||\r\n\r\nuseHTML: Boolean
\r\nUse HTML to render the text of the label.||\r\n\r\nbaseline: Boolean
\r\nWhether the label should be vertically aligned by the text baseline, which makes it behave like the text element, or by the top left side, which makes it behave like a HTML div.||\r\n\r\nclassName: String
\r\nA class name for the g element surrounding the label.\r\n\r\n","demo":"A label on the chart","since":"","deprecated":false}]; +offline.highcharts.option = [{"name":"global--Date","fullname":"global.Date","title":"Date","parent":"global","isParent":false,"returnType":"Object","since":"4.0.4","description":"A custom Date class for advanced date handling. For example, JDate can be hooked in to handle Jalali dates.","deprecated":false},{"name":"global--VMLRadialGradientURL","fullname":"global.VMLRadialGradientURL","title":"VMLRadialGradientURL","parent":"global","isParent":false,"returnType":"String","defaults":"http://code.highcharts.com/{version}/gfx/vml-radial-gradient.png","since":"2.3.0","description":"Path to the pattern image required by VML browsers in order to draw radial gradients.","demo":"","seeAlso":"","deprecated":false},{"name":"drilldown--activeAxisLabelStyle","fullname":"drilldown.activeAxisLabelStyle","title":"activeAxisLabelStyle","parent":"drilldown","isParent":false,"returnType":"CSSObject","since":"3.0.8","description":"Additional styles to apply to the X axis label for a point that has drilldown data. By default it is underlined and blue to invite to interaction. Defaults to:\r\n
activeAxisLabelStyle: {\r\n\tcursor: 'pointer',\r\n\tcolor: '#0d233a',\r\n\tfontWeight: 'bold',\r\n\ttextDecoration: 'underline'\t\t\t\r\n}
","demo":"Label styles","deprecated":false},{"name":"legend-navigation--activeColor","fullname":"legend.navigation.activeColor","title":"activeColor","parent":"legend-navigation","isParent":false,"returnType":"Color","defaults":"#3E576F","since":"2.2.4","description":"The color for the active up or down arrow in the legend page navigation.","demo":"\n\t\t\t\tLegend page navigation demonstrated"},{"name":"drilldown--activeDataLabelStyle","fullname":"drilldown.activeDataLabelStyle","title":"activeDataLabelStyle","parent":"drilldown","isParent":false,"returnType":"CSSObject","since":"3.0.8","description":"Additional styles to apply to the data label of a point that has drilldown data. By default it is underlined and blue to invite to interaction. Defaults to:\r\n
activeAxisLabelStyle: {\r\n\tcursor: 'pointer',\r\n\tcolor: '#0d233a',\r\n\tfontWeight: 'bold',\r\n\ttextDecoration: 'underline'\t\t\t\r\n}
","demo":"Label styles","deprecated":false},{"name":"chart-events--addSeries","fullname":"chart.events.addSeries","title":"addSeries","parent":"chart-events","isParent":false,"returnType":"Function","context":"Chart","since":"1.2.0","description":"Fires when a series is added to the chart after load time, using the addSeries method. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Through event.options you can access the series options that was passed to the addSeries method. Returning false prevents the series from being added.","demo":"Alert on add series","deprecated":false},{"name":"series-events--afterAnimate","fullname":"series.events.afterAnimate","title":"afterAnimate","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"plotOptions-spline-events--afterAnimate","fullname":"plotOptions.spline.events.afterAnimate","title":"afterAnimate","parent":"plotOptions-spline-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"plotOptions-errorbar-events--afterAnimate","fullname":"plotOptions.errorbar.events.afterAnimate","title":"afterAnimate","parent":"plotOptions-errorbar-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"plotOptions-waterfall-events--afterAnimate","fullname":"plotOptions.waterfall.events.afterAnimate","title":"afterAnimate","parent":"plotOptions-waterfall-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"series-events--afterAnimate","fullname":"series.events.afterAnimate","title":"afterAnimate","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"plotOptions-areasplinerange-events--afterAnimate","fullname":"plotOptions.areasplinerange.events.afterAnimate","title":"afterAnimate","parent":"plotOptions-areasplinerange-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"series-events--afterAnimate","fullname":"series.events.afterAnimate","title":"afterAnimate","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"plotOptions-area-events--afterAnimate","fullname":"plotOptions.area.events.afterAnimate","title":"afterAnimate","parent":"plotOptions-area-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"plotOptions-series-events--afterAnimate","fullname":"plotOptions.series.events.afterAnimate","title":"afterAnimate","parent":"plotOptions-series-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"plotOptions-line-events--afterAnimate","fullname":"plotOptions.line.events.afterAnimate","title":"afterAnimate","parent":"plotOptions-line-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"series-events--afterAnimate","fullname":"series.events.afterAnimate","title":"afterAnimate","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"series-events--afterAnimate","fullname":"series.events.afterAnimate","title":"afterAnimate","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"plotOptions-column-events--afterAnimate","fullname":"plotOptions.column.events.afterAnimate","title":"afterAnimate","parent":"plotOptions-column-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"series-events--afterAnimate","fullname":"series.events.afterAnimate","title":"afterAnimate","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"plotOptions-gauge-events--afterAnimate","fullname":"plotOptions.gauge.events.afterAnimate","title":"afterAnimate","parent":"plotOptions-gauge-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"plotOptions-solidgauge-events--afterAnimate","fullname":"plotOptions.solidgauge.events.afterAnimate","title":"afterAnimate","parent":"plotOptions-solidgauge-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"plotOptions-treemap-events--afterAnimate","fullname":"plotOptions.treemap.events.afterAnimate","title":"afterAnimate","parent":"plotOptions-treemap-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"series-events--afterAnimate","fullname":"series.events.afterAnimate","title":"afterAnimate","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"series-events--afterAnimate","fullname":"series.events.afterAnimate","title":"afterAnimate","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"plotOptions-bubble-events--afterAnimate","fullname":"plotOptions.bubble.events.afterAnimate","title":"afterAnimate","parent":"plotOptions-bubble-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"series-events--afterAnimate","fullname":"series.events.afterAnimate","title":"afterAnimate","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"plotOptions-pyramid-events--afterAnimate","fullname":"plotOptions.pyramid.events.afterAnimate","title":"afterAnimate","parent":"plotOptions-pyramid-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"series-events--afterAnimate","fullname":"series.events.afterAnimate","title":"afterAnimate","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"series-events--afterAnimate","fullname":"series.events.afterAnimate","title":"afterAnimate","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"plotOptions-boxplot-events--afterAnimate","fullname":"plotOptions.boxplot.events.afterAnimate","title":"afterAnimate","parent":"plotOptions-boxplot-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"series-events--afterAnimate","fullname":"series.events.afterAnimate","title":"afterAnimate","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"plotOptions-funnel-events--afterAnimate","fullname":"plotOptions.funnel.events.afterAnimate","title":"afterAnimate","parent":"plotOptions-funnel-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"plotOptions-pie-events--afterAnimate","fullname":"plotOptions.pie.events.afterAnimate","title":"afterAnimate","parent":"plotOptions-pie-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"series-events--afterAnimate","fullname":"series.events.afterAnimate","title":"afterAnimate","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"series-events--afterAnimate","fullname":"series.events.afterAnimate","title":"afterAnimate","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"plotOptions-arearange-events--afterAnimate","fullname":"plotOptions.arearange.events.afterAnimate","title":"afterAnimate","parent":"plotOptions-arearange-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"series-events--afterAnimate","fullname":"series.events.afterAnimate","title":"afterAnimate","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"plotOptions-columnrange-events--afterAnimate","fullname":"plotOptions.columnrange.events.afterAnimate","title":"afterAnimate","parent":"plotOptions-columnrange-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"plotOptions-scatter-events--afterAnimate","fullname":"plotOptions.scatter.events.afterAnimate","title":"afterAnimate","parent":"plotOptions-scatter-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"plotOptions-polygon-events--afterAnimate","fullname":"plotOptions.polygon.events.afterAnimate","title":"afterAnimate","parent":"plotOptions-polygon-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"series-events--afterAnimate","fullname":"series.events.afterAnimate","title":"afterAnimate","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"plotOptions-areaspline-events--afterAnimate","fullname":"plotOptions.areaspline.events.afterAnimate","title":"afterAnimate","parent":"plotOptions-areaspline-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"plotOptions-bar-events--afterAnimate","fullname":"plotOptions.bar.events.afterAnimate","title":"afterAnimate","parent":"plotOptions-bar-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"series-events--afterAnimate","fullname":"series.events.afterAnimate","title":"afterAnimate","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"series-events--afterAnimate","fullname":"series.events.afterAnimate","title":"afterAnimate","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"series-events--afterAnimate","fullname":"series.events.afterAnimate","title":"afterAnimate","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"series-events--afterAnimate","fullname":"series.events.afterAnimate","title":"afterAnimate","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"series-events--afterAnimate","fullname":"series.events.afterAnimate","title":"afterAnimate","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"plotOptions-heatmap-events--afterAnimate","fullname":"plotOptions.heatmap.events.afterAnimate","title":"afterAnimate","parent":"plotOptions-heatmap-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"series-events--afterAnimate","fullname":"series.events.afterAnimate","title":"afterAnimate","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"4.0","description":"Fires after the series has finished its initial animation, or in case animation is disabled, immediately as the series is displayed.","demo":"Show label after animate","deprecated":false},{"name":"yAxis-events--afterBreaks","fullname":"yAxis.events.afterBreaks","title":"afterBreaks","parent":"yAxis-events","isParent":false,"returnType":"Function","since":"4.1.0","description":"An event fired after the breaks have rendered.","demo":"afterBreak Event","seeAlso":"breaks","deprecated":false},{"name":"xAxis-events--afterBreaks","fullname":"xAxis.events.afterBreaks","title":"afterBreaks","parent":"xAxis-events","isParent":false,"returnType":"Function","since":"4.1.0","description":"An event fired after the breaks have rendered.","demo":"afterBreak Event","seeAlso":"breaks","deprecated":false},{"name":"chart-events--afterPrint","fullname":"chart.events.afterPrint","title":"afterPrint","parent":"chart-events","isParent":false,"returnType":"Function","context":"Chart","defaults":"","values":"","since":"4.1.0","description":"Fires after a chart is printed through the context menu item or the Chart.print method. Requires the exporting module.","demo":"Rescale the chart to print","seeAlso":"","deprecated":false},{"name":"xAxis-events--afterSetExtremes","fullname":"xAxis.events.afterSetExtremes","title":"afterSetExtremes","parent":"xAxis-events","isParent":false,"returnType":"Function","context":"Axis","since":"2.3","description":"As opposed to the setExtremes event, this event fires after the final min and max values are computed and corrected for minRange.","deprecated":false},{"name":"yAxis-events--afterSetExtremes","fullname":"yAxis.events.afterSetExtremes","title":"afterSetExtremes","parent":"yAxis-events","isParent":false,"returnType":"Function","context":"Axis","since":"2.3","description":"As opposed to the setExtremes event, this event fires after the final min and max values are computed and corrected for minRange.","deprecated":false},{"name":"plotOptions-areaspline-dataLabels--align","fullname":"plotOptions.areaspline.dataLabels.align","title":"align","parent":"plotOptions-areaspline-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"xAxis-plotLines-label--align","fullname":"xAxis.plotLines.label.align","title":"align","parent":"xAxis-plotLines-label","isParent":false,"returnType":"String","defaults":"left","since":"2.1","description":"Horizontal alignment of the label. Can be one of \"left\", \"center\" or \"right\".","demo":"Aligned to the right","deprecated":false},{"name":"plotOptions-treemap-dataLabels--align","fullname":"plotOptions.treemap.dataLabels.align","title":"align","parent":"plotOptions-treemap-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"xAxis-plotBands-label--align","fullname":"xAxis.plotBands.label.align","title":"align","parent":"xAxis-plotBands-label","isParent":false,"returnType":"String","defaults":"center","since":"2.1","description":"Horizontal alignment of the label. Can be one of \"left\", \"center\" or \"right\".","demo":"Aligned to the right"},{"name":"plotOptions-bar-dataLabels--align","fullname":"plotOptions.bar.dataLabels.align","title":"align","parent":"plotOptions-bar-dataLabels","isParent":false,"returnType":"String","defaults":"left","description":"Alignment of the data label relative to the data point.","demo":"Data labels inside the bar"},{"name":"yAxis-plotLines-label--align","fullname":"yAxis.plotLines.label.align","title":"align","parent":"yAxis-plotLines-label","isParent":false,"returnType":"String","defaults":"left","since":"2.1","description":"Horizontal alignment of the label. Can be one of \"left\", \"center\" or \"right\".","demo":"Aligned to the right","deprecated":false},{"name":"series-dataLabels--align","fullname":"series.dataLabels.align","title":"align","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"yAxis-plotBands-label--align","fullname":"yAxis.plotBands.label.align","title":"align","parent":"yAxis-plotBands-label","isParent":false,"returnType":"String","defaults":"center","since":"2.1","description":"Horizontal alignment of the label. Can be one of \"left\", \"center\" or \"right\".","demo":"Aligned to the right"},{"name":"series-dataLabels--align","fullname":"series.dataLabels.align","title":"align","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"plotOptions-gauge-dataLabels--align","fullname":"plotOptions.gauge.dataLabels.align","title":"align","parent":"plotOptions-gauge-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"subtitle--align","fullname":"subtitle.align","title":"align","parent":"subtitle","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","since":"2.0","description":"The horizontal alignment of the subtitle. Can be one of \"left\", \"center\" and \"right\".","demo":"Footnote at right of plot area"},{"name":"series-dataLabels--align","fullname":"series.dataLabels.align","title":"align","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"plotOptions-areasplinerange-dataLabels--align","fullname":"plotOptions.areasplinerange.dataLabels.align","title":"align","parent":"plotOptions-areasplinerange-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"xAxis-labels--align","fullname":"xAxis.labels.align","title":"align","parent":"xAxis-labels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"What part of the string the given position is anchored to. Can be one of \"left\", \"center\" or \"right\". Defaults to an intelligent guess based on which side of the chart the axis is on and the rotation of the label.","demo":"\"left\", \r\n\t\t\t\"right\" on X axis","deprecated":false},{"name":"plotOptions-spline-dataLabels--align","fullname":"plotOptions.spline.dataLabels.align","title":"align","parent":"plotOptions-spline-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"plotOptions-line-dataLabels--align","fullname":"plotOptions.line.dataLabels.align","title":"align","parent":"plotOptions-line-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"yAxis-labels--align","fullname":"yAxis.labels.align","title":"align","parent":"yAxis-labels","isParent":false,"returnType":"String","defaults":"right","description":"What part of the string the given position is anchored to. \n\t\tCan be one of \"left\", \"center\" or \"right\".","demo":"\"left\" on Y axis"},{"name":"yAxis-stackLabels--align","fullname":"yAxis.stackLabels.align","title":"align","parent":"yAxis-stackLabels","isParent":false,"returnType":"String","values":"[\"left\", \"center\", \"right\"]","since":"2.1.5","description":"Defines the horizontal alignment of the stack total label. Can be one of \"left\", \"center\" or \"right\". The default value is calculated at runtime and depends on orientation and whether the stack is positive or negative.","demo":"aligned to the left,\n\t\t\taligned in center,\n\t\t\taligned to the right"},{"name":"series-dataLabels--align","fullname":"series.dataLabels.align","title":"align","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"series-dataLabels--align","fullname":"series.dataLabels.align","title":"align","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"plotOptions-waterfall-dataLabels--align","fullname":"plotOptions.waterfall.dataLabels.align","title":"align","parent":"plotOptions-waterfall-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"series-dataLabels--align","fullname":"series.dataLabels.align","title":"align","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"series-dataLabels--align","fullname":"series.dataLabels.align","title":"align","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"plotOptions-column-dataLabels--align","fullname":"plotOptions.column.dataLabels.align","title":"align","parent":"plotOptions-column-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"plotOptions-columnrange-dataLabels--align","fullname":"plotOptions.columnrange.dataLabels.align","title":"align","parent":"plotOptions-columnrange-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"plotOptions-heatmap-dataLabels--align","fullname":"plotOptions.heatmap.dataLabels.align","title":"align","parent":"plotOptions-heatmap-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"plotOptions-bubble-dataLabels--align","fullname":"plotOptions.bubble.dataLabels.align","title":"align","parent":"plotOptions-bubble-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"series-dataLabels--align","fullname":"series.dataLabels.align","title":"align","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"exporting-buttons-contextButton--align","fullname":"exporting.buttons.contextButton.align","title":"align","parent":"exporting-buttons-contextButton","isParent":false,"returnType":"String","defaults":"right","values":"[\"left\", \"center\", \"right\"]","since":"2.0","description":"Alignment for the buttons.","demo":"Center aligned"},{"name":"series-dataLabels--align","fullname":"series.dataLabels.align","title":"align","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"series-dataLabels--align","fullname":"series.dataLabels.align","title":"align","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"navigation-buttonOptions--align","fullname":"navigation.buttonOptions.align","title":"align","parent":"navigation-buttonOptions","isParent":false,"returnType":"String","defaults":"right","values":"[\"left\", \"center\", \"right\"]","since":"2.0","description":"Alignment for the buttons.","demo":"Center aligned"},{"name":"series-dataLabels--align","fullname":"series.dataLabels.align","title":"align","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"series-dataLabels--align","fullname":"series.dataLabels.align","title":"align","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"series-dataLabels--align","fullname":"series.dataLabels.align","title":"align","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"plotOptions-series-dataLabels--align","fullname":"plotOptions.series.dataLabels.align","title":"align","parent":"plotOptions-series-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"plotOptions-solidgauge-dataLabels--align","fullname":"plotOptions.solidgauge.dataLabels.align","title":"align","parent":"plotOptions-solidgauge-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"legend--align","fullname":"legend.align","title":"align","parent":"legend","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","since":"2.0","description":"The horizontal alignment of the legend box within the chart area. Valid values are \"left\", \"center\" and \"right\".","demo":"Legend at the right of the chart","deprecated":false},{"name":"plotOptions-area-dataLabels--align","fullname":"plotOptions.area.dataLabels.align","title":"align","parent":"plotOptions-area-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"plotOptions-scatter-dataLabels--align","fullname":"plotOptions.scatter.dataLabels.align","title":"align","parent":"plotOptions-scatter-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"title--align","fullname":"title.align","title":"align","parent":"title","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","since":"2.0","description":"The horizontal alignment of the title. Can be one of \"left\", \"center\" and \"right\".","demo":"Aligned to the plot area (x = 70px \n\t\t\t= margin left - spacing left)"},{"name":"plotOptions-polygon-dataLabels--align","fullname":"plotOptions.polygon.dataLabels.align","title":"align","parent":"plotOptions-polygon-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"xAxis-title--align","fullname":"xAxis.title.align","title":"align","parent":"xAxis-title","isParent":false,"returnType":"String","defaults":"middle","values":"[\"low\", \"middle\", \"high\"]","description":"Alignment of the title relative to the axis values. Possible values\r\n are \"low\", \"middle\" or \"high\".","demo":"X axis title aligned \"low\",\r\n\t\t\t\"middle\" by default, \r\n\t\t\t\"high\", \r\n\t\t\tplace the Y axis title on top of the axis","deprecated":false},{"name":"series-dataLabels--align","fullname":"series.dataLabels.align","title":"align","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"series-dataLabels--align","fullname":"series.dataLabels.align","title":"align","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"series-dataLabels--align","fullname":"series.dataLabels.align","title":"align","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"left","description":"Alignment of the data label relative to the data point.","demo":"Data labels inside the bar"},{"name":"plotOptions-arearange-dataLabels--align","fullname":"plotOptions.arearange.dataLabels.align","title":"align","parent":"plotOptions-arearange-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"series-dataLabels--align","fullname":"series.dataLabels.align","title":"align","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"center","values":"[\"left\", \"center\", \"right\"]","description":"The alignment of the data label compared to the point. If right, the right side of the label should be touching the point. For points with an extent, like columns, the alignments also dictates how to align it inside the box, as given with the inside option. Can be one of \"left\", \"center\" or \"right\".","demo":"Left aligned","deprecated":false},{"name":"yAxis-title--align","fullname":"yAxis.title.align","title":"align","parent":"yAxis-title","isParent":false,"returnType":"String","defaults":"middle","values":"[\"low\", \"middle\", \"high\"]","description":"Alignment of the title relative to the axis values. Possible values\r\n are \"low\", \"middle\" or \"high\".","demo":"X axis title aligned \"low\",\r\n\t\t\t\"middle\" by default, \r\n\t\t\t\"high\", \r\n\t\t\tplace the Y axis title on top of the axis","deprecated":false},{"name":"chart--alignTicks","fullname":"chart.alignTicks","title":"alignTicks","parent":"chart","isParent":false,"returnType":"Boolean","defaults":"true","description":"When using multiple axis, the ticks of two or more opposite axes will automatically be aligned by adding ticks to the axis or axes with the least ticks. This can be prevented by setting alignTicks to false. If the grid lines look messy, it's a good idea to hide them for the secondary axis by setting gridLineWidth to 0.","demo":"True by default, \n\t\t\tfalse."},{"name":"xAxis--allowDecimals","fullname":"xAxis.allowDecimals","title":"allowDecimals","parent":"xAxis","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Whether to allow decimals in this axis' ticks. When counting integers, like\r persons or hits on a web page, decimals must be avoided in the axis tick\r labels.","demo":"True by default (unwanted for this\r\n\t\t\ttype of data), \r\n\t\t\tfalse","seeAlso":"minTickInterval","deprecated":false},{"name":"yAxis--allowDecimals","fullname":"yAxis.allowDecimals","title":"allowDecimals","parent":"yAxis","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Whether to allow decimals in this axis' ticks. When counting integers, like\r persons or hits on a web page, decimals must be avoided in the axis tick\r labels.","demo":"True by default (unwanted for this\r\n\t\t\ttype of data), \r\n\t\t\tfalse","seeAlso":"minTickInterval","deprecated":false},{"name":"series--allowDrillToNode","fullname":"series.allowDrillToNode","title":"allowDrillToNode","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","values":"[\"false\", \"true\"]","since":"4.1.0","description":"When enabled the user can click on a point which is a parent and zoom in on its children.","demo":"Enabled","deprecated":false},{"name":"plotOptions-treemap--allowDrillToNode","fullname":"plotOptions.treemap.allowDrillToNode","title":"allowDrillToNode","parent":"plotOptions-treemap","isParent":false,"returnType":"Boolean","defaults":"false","values":"[\"false\", \"true\"]","since":"4.1.0","description":"When enabled the user can click on a point which is a parent and zoom in on its children.","demo":"Enabled","deprecated":false},{"name":"plotOptions-columnrange-dataLabels--allowOverlap","fullname":"plotOptions.columnrange.dataLabels.allowOverlap","title":"allowOverlap","parent":"plotOptions-columnrange-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"series-dataLabels--allowOverlap","fullname":"series.dataLabels.allowOverlap","title":"allowOverlap","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"series-dataLabels--allowOverlap","fullname":"series.dataLabels.allowOverlap","title":"allowOverlap","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"series-dataLabels--allowOverlap","fullname":"series.dataLabels.allowOverlap","title":"allowOverlap","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"plotOptions-bar-dataLabels--allowOverlap","fullname":"plotOptions.bar.dataLabels.allowOverlap","title":"allowOverlap","parent":"plotOptions-bar-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"series-dataLabels--allowOverlap","fullname":"series.dataLabels.allowOverlap","title":"allowOverlap","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"plotOptions-gauge-dataLabels--allowOverlap","fullname":"plotOptions.gauge.dataLabels.allowOverlap","title":"allowOverlap","parent":"plotOptions-gauge-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"plotOptions-line-dataLabels--allowOverlap","fullname":"plotOptions.line.dataLabels.allowOverlap","title":"allowOverlap","parent":"plotOptions-line-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"series-dataLabels--allowOverlap","fullname":"series.dataLabels.allowOverlap","title":"allowOverlap","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"plotOptions-waterfall-dataLabels--allowOverlap","fullname":"plotOptions.waterfall.dataLabels.allowOverlap","title":"allowOverlap","parent":"plotOptions-waterfall-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"series-dataLabels--allowOverlap","fullname":"series.dataLabels.allowOverlap","title":"allowOverlap","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"series-dataLabels--allowOverlap","fullname":"series.dataLabels.allowOverlap","title":"allowOverlap","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"plotOptions-treemap-dataLabels--allowOverlap","fullname":"plotOptions.treemap.dataLabels.allowOverlap","title":"allowOverlap","parent":"plotOptions-treemap-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"series-dataLabels--allowOverlap","fullname":"series.dataLabels.allowOverlap","title":"allowOverlap","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"series-dataLabels--allowOverlap","fullname":"series.dataLabels.allowOverlap","title":"allowOverlap","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"plotOptions-column-dataLabels--allowOverlap","fullname":"plotOptions.column.dataLabels.allowOverlap","title":"allowOverlap","parent":"plotOptions-column-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"series-dataLabels--allowOverlap","fullname":"series.dataLabels.allowOverlap","title":"allowOverlap","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"series-dataLabels--allowOverlap","fullname":"series.dataLabels.allowOverlap","title":"allowOverlap","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"series-dataLabels--allowOverlap","fullname":"series.dataLabels.allowOverlap","title":"allowOverlap","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"plotOptions-area-dataLabels--allowOverlap","fullname":"plotOptions.area.dataLabels.allowOverlap","title":"allowOverlap","parent":"plotOptions-area-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"plotOptions-solidgauge-dataLabels--allowOverlap","fullname":"plotOptions.solidgauge.dataLabels.allowOverlap","title":"allowOverlap","parent":"plotOptions-solidgauge-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"plotOptions-arearange-dataLabels--allowOverlap","fullname":"plotOptions.arearange.dataLabels.allowOverlap","title":"allowOverlap","parent":"plotOptions-arearange-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"series-dataLabels--allowOverlap","fullname":"series.dataLabels.allowOverlap","title":"allowOverlap","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"plotOptions-bubble-dataLabels--allowOverlap","fullname":"plotOptions.bubble.dataLabels.allowOverlap","title":"allowOverlap","parent":"plotOptions-bubble-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"plotOptions-spline-dataLabels--allowOverlap","fullname":"plotOptions.spline.dataLabels.allowOverlap","title":"allowOverlap","parent":"plotOptions-spline-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"series-dataLabels--allowOverlap","fullname":"series.dataLabels.allowOverlap","title":"allowOverlap","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"series-dataLabels--allowOverlap","fullname":"series.dataLabels.allowOverlap","title":"allowOverlap","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"plotOptions-polygon-dataLabels--allowOverlap","fullname":"plotOptions.polygon.dataLabels.allowOverlap","title":"allowOverlap","parent":"plotOptions-polygon-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"plotOptions-series-dataLabels--allowOverlap","fullname":"plotOptions.series.dataLabels.allowOverlap","title":"allowOverlap","parent":"plotOptions-series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"plotOptions-heatmap-dataLabels--allowOverlap","fullname":"plotOptions.heatmap.dataLabels.allowOverlap","title":"allowOverlap","parent":"plotOptions-heatmap-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"series-dataLabels--allowOverlap","fullname":"series.dataLabels.allowOverlap","title":"allowOverlap","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"series-dataLabels--allowOverlap","fullname":"series.dataLabels.allowOverlap","title":"allowOverlap","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"plotOptions-areaspline-dataLabels--allowOverlap","fullname":"plotOptions.areaspline.dataLabels.allowOverlap","title":"allowOverlap","parent":"plotOptions-areaspline-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"plotOptions-scatter-dataLabels--allowOverlap","fullname":"plotOptions.scatter.dataLabels.allowOverlap","title":"allowOverlap","parent":"plotOptions-scatter-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"plotOptions-areasplinerange-dataLabels--allowOverlap","fullname":"plotOptions.areasplinerange.dataLabels.allowOverlap","title":"allowOverlap","parent":"plotOptions-areasplinerange-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.1.0","description":"Whether to allow data labels to overlap. To make the labels less sensitive for overlapping, the dataLabels.padding can be set to 0.","demo":"Don't allow overlap","deprecated":false},{"name":"plotOptions-arearange--allowPointSelect","fullname":"plotOptions.arearange.allowPointSelect","title":"allowPointSelect","parent":"plotOptions-arearange","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"series--allowPointSelect","fullname":"series.allowPointSelect","title":"allowPointSelect","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"plotOptions-boxplot--allowPointSelect","fullname":"plotOptions.boxplot.allowPointSelect","title":"allowPointSelect","parent":"plotOptions-boxplot","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"plotOptions-heatmap--allowPointSelect","fullname":"plotOptions.heatmap.allowPointSelect","title":"allowPointSelect","parent":"plotOptions-heatmap","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"series--allowPointSelect","fullname":"series.allowPointSelect","title":"allowPointSelect","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"plotOptions-treemap--allowPointSelect","fullname":"plotOptions.treemap.allowPointSelect","title":"allowPointSelect","parent":"plotOptions-treemap","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"plotOptions-polygon--allowPointSelect","fullname":"plotOptions.polygon.allowPointSelect","title":"allowPointSelect","parent":"plotOptions-polygon","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"series--allowPointSelect","fullname":"series.allowPointSelect","title":"allowPointSelect","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"series--allowPointSelect","fullname":"series.allowPointSelect","title":"allowPointSelect","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"plotOptions-line--allowPointSelect","fullname":"plotOptions.line.allowPointSelect","title":"allowPointSelect","parent":"plotOptions-line","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"plotOptions-bubble--allowPointSelect","fullname":"plotOptions.bubble.allowPointSelect","title":"allowPointSelect","parent":"plotOptions-bubble","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"series--allowPointSelect","fullname":"series.allowPointSelect","title":"allowPointSelect","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"plotOptions-errorbar--allowPointSelect","fullname":"plotOptions.errorbar.allowPointSelect","title":"allowPointSelect","parent":"plotOptions-errorbar","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"plotOptions-waterfall--allowPointSelect","fullname":"plotOptions.waterfall.allowPointSelect","title":"allowPointSelect","parent":"plotOptions-waterfall","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"plotOptions-spline--allowPointSelect","fullname":"plotOptions.spline.allowPointSelect","title":"allowPointSelect","parent":"plotOptions-spline","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"series--allowPointSelect","fullname":"series.allowPointSelect","title":"allowPointSelect","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"series--allowPointSelect","fullname":"series.allowPointSelect","title":"allowPointSelect","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"plotOptions-series--allowPointSelect","fullname":"plotOptions.series.allowPointSelect","title":"allowPointSelect","parent":"plotOptions-series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"plotOptions-bar--allowPointSelect","fullname":"plotOptions.bar.allowPointSelect","title":"allowPointSelect","parent":"plotOptions-bar","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"series--allowPointSelect","fullname":"series.allowPointSelect","title":"allowPointSelect","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"plotOptions-column--allowPointSelect","fullname":"plotOptions.column.allowPointSelect","title":"allowPointSelect","parent":"plotOptions-column","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"series--allowPointSelect","fullname":"series.allowPointSelect","title":"allowPointSelect","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"plotOptions-pie--allowPointSelect","fullname":"plotOptions.pie.allowPointSelect","title":"allowPointSelect","parent":"plotOptions-pie","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"series--allowPointSelect","fullname":"series.allowPointSelect","title":"allowPointSelect","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"series--allowPointSelect","fullname":"series.allowPointSelect","title":"allowPointSelect","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"plotOptions-pyramid--allowPointSelect","fullname":"plotOptions.pyramid.allowPointSelect","title":"allowPointSelect","parent":"plotOptions-pyramid","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"plotOptions-columnrange--allowPointSelect","fullname":"plotOptions.columnrange.allowPointSelect","title":"allowPointSelect","parent":"plotOptions-columnrange","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"plotOptions-funnel--allowPointSelect","fullname":"plotOptions.funnel.allowPointSelect","title":"allowPointSelect","parent":"plotOptions-funnel","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"series--allowPointSelect","fullname":"series.allowPointSelect","title":"allowPointSelect","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"series--allowPointSelect","fullname":"series.allowPointSelect","title":"allowPointSelect","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"series--allowPointSelect","fullname":"series.allowPointSelect","title":"allowPointSelect","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"plotOptions-area--allowPointSelect","fullname":"plotOptions.area.allowPointSelect","title":"allowPointSelect","parent":"plotOptions-area","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"series--allowPointSelect","fullname":"series.allowPointSelect","title":"allowPointSelect","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"plotOptions-areaspline--allowPointSelect","fullname":"plotOptions.areaspline.allowPointSelect","title":"allowPointSelect","parent":"plotOptions-areaspline","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"series--allowPointSelect","fullname":"series.allowPointSelect","title":"allowPointSelect","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"plotOptions-scatter--allowPointSelect","fullname":"plotOptions.scatter.allowPointSelect","title":"allowPointSelect","parent":"plotOptions-scatter","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"series--allowPointSelect","fullname":"series.allowPointSelect","title":"allowPointSelect","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"series--allowPointSelect","fullname":"series.allowPointSelect","title":"allowPointSelect","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"plotOptions-areasplinerange--allowPointSelect","fullname":"plotOptions.areasplinerange.allowPointSelect","title":"allowPointSelect","parent":"plotOptions-areasplinerange","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"series--allowPointSelect","fullname":"series.allowPointSelect","title":"allowPointSelect","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"series--allowPointSelect","fullname":"series.allowPointSelect","title":"allowPointSelect","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Allow this series' points to be selected by clicking on the markers, bars or pie slices.","demo":"Line, \n\t\t\tcolumn, \n\t\t\tpie"},{"name":"chart-options3d--alpha","fullname":"chart.options3d.alpha","title":"alpha","parent":"chart-options3d","isParent":false,"returnType":"Number","defaults":"0","since":"4.0","description":"One of the two rotation angles for the chart.","demo":"Dynamic Angles","deprecated":false},{"name":"yAxis--alternateGridColor","fullname":"yAxis.alternateGridColor","title":"alternateGridColor","parent":"yAxis","isParent":false,"returnType":"Color","description":"When using an alternate grid color, a band is painted across the plot area between every other grid line.","demo":"Alternate grid color on the Y axis"},{"name":"xAxis--alternateGridColor","fullname":"xAxis.alternateGridColor","title":"alternateGridColor","parent":"xAxis","isParent":false,"returnType":"Color","description":"When using an alternate grid color, a band is painted across the plot area between every other grid line.","demo":"Alternate grid color on the Y axis"},{"name":"series--alternateStartingDirection","fullname":"series.alternateStartingDirection","title":"alternateStartingDirection","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","values":"[\"false\", \"true\"]","since":"4.1.0","description":"Enabling this option will make the treemap alternate the drawing direction between vertical and horizontal.\r\nThe next levels starting direction will always be the opposite of the previous.","demo":"Enabled\r\n","deprecated":false},{"name":"plotOptions-treemap--alternateStartingDirection","fullname":"plotOptions.treemap.alternateStartingDirection","title":"alternateStartingDirection","parent":"plotOptions-treemap","isParent":false,"returnType":"Boolean","defaults":"false","values":"[\"false\", \"true\"]","since":"4.1.0","description":"Enabling this option will make the treemap alternate the drawing direction between vertical and horizontal.\r\nThe next levels starting direction will always be the opposite of the previous.","demo":"Enabled\r\n","deprecated":false},{"name":"series--animation","fullname":"series.animation","title":"animation","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"plotOptions-area--animation","fullname":"plotOptions.area.animation","title":"animation","parent":"plotOptions-area","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"series--animation","fullname":"series.animation","title":"animation","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"series--animation","fullname":"series.animation","title":"animation","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"plotOptions-column--animation","fullname":"plotOptions.column.animation","title":"animation","parent":"plotOptions-column","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon--animation","fullname":"plotOptions.polygon.animation","title":"animation","parent":"plotOptions-polygon","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"plotOptions-solidgauge--animation","fullname":"plotOptions.solidgauge.animation","title":"animation","parent":"plotOptions-solidgauge","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"series--animation","fullname":"series.animation","title":"animation","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"plotOptions-areasplinerange--animation","fullname":"plotOptions.areasplinerange.animation","title":"animation","parent":"plotOptions-areasplinerange","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange--animation","fullname":"plotOptions.columnrange.animation","title":"animation","parent":"plotOptions-columnrange","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"plotOptions-bar--animation","fullname":"plotOptions.bar.animation","title":"animation","parent":"plotOptions-bar","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"series--animation","fullname":"series.animation","title":"animation","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"tooltip--animation","fullname":"tooltip.animation","title":"animation","parent":"tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.0","description":"Enable or disable animation of the tooltip. In slow legacy IE browsers the animation is disabled by default.","demo":"","seeAlso":"","deprecated":false},{"name":"series--animation","fullname":"series.animation","title":"animation","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"legend-navigation--animation","fullname":"legend.navigation.animation","title":"animation","parent":"legend-navigation","isParent":false,"returnType":"Boolean|Object","defaults":"true","since":"2.2.4","description":"How to animate the pages when navigating up or down. A value of true applies the default navigation given in the chart.animation option. Additional options can be given as an object containing values for easing and duration. .","demo":"\n\t\t\t\tLegend page navigation demonstrated"},{"name":"plotOptions-areaspline--animation","fullname":"plotOptions.areaspline.animation","title":"animation","parent":"plotOptions-areaspline","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"plotOptions-waterfall--animation","fullname":"plotOptions.waterfall.animation","title":"animation","parent":"plotOptions-waterfall","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"plotOptions-spline--animation","fullname":"plotOptions.spline.animation","title":"animation","parent":"plotOptions-spline","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"plotOptions-heatmap--animation","fullname":"plotOptions.heatmap.animation","title":"animation","parent":"plotOptions-heatmap","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"series--animation","fullname":"series.animation","title":"animation","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"series--animation","fullname":"series.animation","title":"animation","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"plotOptions-series--animation","fullname":"plotOptions.series.animation","title":"animation","parent":"plotOptions-series","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"series--animation","fullname":"series.animation","title":"animation","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"plotOptions-line--animation","fullname":"plotOptions.line.animation","title":"animation","parent":"plotOptions-line","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"series--animation","fullname":"series.animation","title":"animation","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"plotOptions-scatter--animation","fullname":"plotOptions.scatter.animation","title":"animation","parent":"plotOptions-scatter","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"series--animation","fullname":"series.animation","title":"animation","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"series--animation","fullname":"series.animation","title":"animation","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"drilldown--animation","fullname":"drilldown.animation","title":"animation","parent":"drilldown","isParent":false,"returnType":"Boolean|Object","defaults":"","values":"","since":"3.0.8","description":"

Set the animation for all drilldown animations. Animation of a drilldown occurs when drilling between a column point and a column series, or a pie slice and a full pie series. Drilldown can still be used between series and points of different types, but animation will not occur.

\r\n \r\n

The animation can either be set as a boolean or a configuration object. If true,\r\n it will use the 'swing' jQuery easing and a duration of 500 ms. If used as a configuration object,\r\n the following properties are supported: \r\n

\r\n \t
duration
\r\n \t
The duration of the animation in milliseconds.
\r\n \t\r\n \t
easing
\r\n \t
When using jQuery as the general framework, the easing can be set to linear or\r\n \tswing. More easing functions are available with the use of jQuery plug-ins, most notably\r\n \tthe jQuery UI suite. See the jQuery docs. When using \r\n \tMooTools as the general framework, use the property name transition instead \r\n \tof easing.
\r\n
","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pie--animation","fullname":"plotOptions.pie.animation","title":"animation","parent":"plotOptions-pie","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"series--animation","fullname":"series.animation","title":"animation","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"series--animation","fullname":"series.animation","title":"animation","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble--animation","fullname":"plotOptions.bubble.animation","title":"animation","parent":"plotOptions-bubble","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"series--animation","fullname":"series.animation","title":"animation","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"plotOptions-arearange--animation","fullname":"plotOptions.arearange.animation","title":"animation","parent":"plotOptions-arearange","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"plotOptions-treemap--animation","fullname":"plotOptions.treemap.animation","title":"animation","parent":"plotOptions-treemap","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"series--animation","fullname":"series.animation","title":"animation","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"series--animation","fullname":"series.animation","title":"animation","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"series--animation","fullname":"series.animation","title":"animation","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"chart--animation","fullname":"chart.animation","title":"animation","parent":"chart","isParent":false,"returnType":"Boolean|Object","defaults":"true","description":"

Set the overall animation for all chart updating. Animation can be disabled throughout\r the chart by setting it to false here. It can be overridden for each individual\r API method as a function parameter. The only animation not affected by this option is the \r initial series animation, see plotOptions.series.animation.

\r \r

The animation can either be set as a boolean or a configuration object. If true,\r it will use the 'swing' jQuery easing and a duration of 500 ms. If used as a configuration object,\r the following properties are supported: \r

\r \t
duration
\r \t
The duration of the animation in milliseconds.
\r \t\r \t
easing
\r \t
When using jQuery as the general framework, the easing can be set to linear or\r \tswing. More easing functions are available with the use of jQuery plug-ins, most notably\r \tthe jQuery UI suite. See the jQuery docs. When using \r \tMooTools as the general framework, use the property name transition instead \r \tof easing.
\r
","demo":"Updating with no animation, \r\n\t\t\twith a longer duration, \r\n\t\t\twith a jQuery UI easing.","deprecated":false},{"name":"plotOptions-gauge--animation","fullname":"plotOptions.gauge.animation","title":"animation","parent":"plotOptions-gauge","isParent":false,"returnType":"Boolean","defaults":"true","since":"","description":"

Enable or disable the initial animation when a series is displayed. The animation can also be set as a configuration object. Please note that this option only applies to the initial animation of the series itself. For other animations, see chart.animation and the animation parameter under the API methods.\t\tThe following properties are supported:

\r\n
\r\n
duration
\r\n
The duration of the animation in milliseconds.
\r\n
easing
\r\n
When using jQuery as the general framework, the easing can be set to linear or\tswing. More easing functions are available with the use of jQuery plug-ins, most notably\t\t\t\tthe jQuery UI suite. See the jQuery docs. When using MooTools as the general framework, use the property name transition instead of easing.
\r\n
\r\n

\r\nDue to poor performance, animation is disabled in old IE browsers for column charts and polar charts.

","demo":"Animation disabled,\r\n\t\t\tslower animation,\r\n\t\t\teasing \"easeOutBounce\" through jQuery UI.","seeAlso":"","deprecated":false},{"name":"plotOptions-area","fullname":"plotOptions.area","title":"area","parent":"plotOptions","isParent":true},{"name":"plotOptions-arearange","fullname":"plotOptions.arearange","title":"arearange","parent":"plotOptions","isParent":true,"since":"2.3.0","description":"The area range is a cartesian series type with higher and lower Y values along an X axis. Requires highcharts-more.js.","demo":"Arearange example","deprecated":false},{"name":"plotOptions-areaspline","fullname":"plotOptions.areaspline","title":"areaspline","parent":"plotOptions","isParent":true},{"name":"plotOptions-areasplinerange","fullname":"plotOptions.areasplinerange","title":"areasplinerange","parent":"plotOptions","isParent":true,"returnType":"","defaults":"","since":"2.3.0","description":"The area spline range is a cartesian series type with higher and lower Y values along an X axis. Requires highcharts-more.js.","demo":"","seeAlso":"","deprecated":false},{"name":"legend-navigation--arrowSize","fullname":"legend.navigation.arrowSize","title":"arrowSize","parent":"legend-navigation","isParent":false,"returnType":"Number","defaults":"12","since":"2.2.4","description":"The pixel size of the up and down arrows in the legend paging navigation. .","demo":"\n\t\t\t\tLegend page navigation demonstrated"},{"name":"noData--attr","fullname":"noData.attr","title":"attr","parent":"noData","isParent":false,"returnType":"Object","since":"3.0.8","description":"An object of additional SVG attributes for the no-data label.","deprecated":false},{"name":"plotOptions-arearange-states-hover-halo--attributes","fullname":"plotOptions.arearange.states.hover.halo.attributes","title":"attributes","parent":"plotOptions-arearange-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-area-states-hover-halo--attributes","fullname":"plotOptions.area.states.hover.halo.attributes","title":"attributes","parent":"plotOptions-area-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-boxplot-states-hover-halo--attributes","fullname":"plotOptions.boxplot.states.hover.halo.attributes","title":"attributes","parent":"plotOptions-boxplot-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--attributes","fullname":"series.states.hover.halo.attributes","title":"attributes","parent":"series-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--attributes","fullname":"series.states.hover.halo.attributes","title":"attributes","parent":"series-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-funnel-states-hover-halo--attributes","fullname":"plotOptions.funnel.states.hover.halo.attributes","title":"attributes","parent":"plotOptions-funnel-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-spline-states-hover-halo--attributes","fullname":"plotOptions.spline.states.hover.halo.attributes","title":"attributes","parent":"plotOptions-spline-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-heatmap-states-hover-halo--attributes","fullname":"plotOptions.heatmap.states.hover.halo.attributes","title":"attributes","parent":"plotOptions-heatmap-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-areasplinerange-states-hover-halo--attributes","fullname":"plotOptions.areasplinerange.states.hover.halo.attributes","title":"attributes","parent":"plotOptions-areasplinerange-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--attributes","fullname":"series.states.hover.halo.attributes","title":"attributes","parent":"series-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-errorbar-states-hover-halo--attributes","fullname":"plotOptions.errorbar.states.hover.halo.attributes","title":"attributes","parent":"plotOptions-errorbar-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon-states-hover-halo--attributes","fullname":"plotOptions.polygon.states.hover.halo.attributes","title":"attributes","parent":"plotOptions-polygon-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-line-states-hover-halo--attributes","fullname":"plotOptions.line.states.hover.halo.attributes","title":"attributes","parent":"plotOptions-line-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--attributes","fullname":"series.states.hover.halo.attributes","title":"attributes","parent":"series-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-scatter-states-hover-halo--attributes","fullname":"plotOptions.scatter.states.hover.halo.attributes","title":"attributes","parent":"plotOptions-scatter-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pie-states-hover-halo--attributes","fullname":"plotOptions.pie.states.hover.halo.attributes","title":"attributes","parent":"plotOptions-pie-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--attributes","fullname":"series.states.hover.halo.attributes","title":"attributes","parent":"series-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--attributes","fullname":"series.states.hover.halo.attributes","title":"attributes","parent":"series-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--attributes","fullname":"series.states.hover.halo.attributes","title":"attributes","parent":"series-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--attributes","fullname":"series.states.hover.halo.attributes","title":"attributes","parent":"series-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bar-states-hover-halo--attributes","fullname":"plotOptions.bar.states.hover.halo.attributes","title":"attributes","parent":"plotOptions-bar-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-gauge-states-hover-halo--attributes","fullname":"plotOptions.gauge.states.hover.halo.attributes","title":"attributes","parent":"plotOptions-gauge-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--attributes","fullname":"series.states.hover.halo.attributes","title":"attributes","parent":"series-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange-states-hover-halo--attributes","fullname":"plotOptions.columnrange.states.hover.halo.attributes","title":"attributes","parent":"plotOptions-columnrange-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--attributes","fullname":"series.states.hover.halo.attributes","title":"attributes","parent":"series-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-column-states-hover-halo--attributes","fullname":"plotOptions.column.states.hover.halo.attributes","title":"attributes","parent":"plotOptions-column-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-treemap-states-hover-halo--attributes","fullname":"plotOptions.treemap.states.hover.halo.attributes","title":"attributes","parent":"plotOptions-treemap-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--attributes","fullname":"series.states.hover.halo.attributes","title":"attributes","parent":"series-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble-states-hover-halo--attributes","fullname":"plotOptions.bubble.states.hover.halo.attributes","title":"attributes","parent":"plotOptions-bubble-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--attributes","fullname":"series.states.hover.halo.attributes","title":"attributes","parent":"series-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline-states-hover-halo--attributes","fullname":"plotOptions.areaspline.states.hover.halo.attributes","title":"attributes","parent":"plotOptions-areaspline-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--attributes","fullname":"series.states.hover.halo.attributes","title":"attributes","parent":"series-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--attributes","fullname":"series.states.hover.halo.attributes","title":"attributes","parent":"series-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--attributes","fullname":"series.states.hover.halo.attributes","title":"attributes","parent":"series-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--attributes","fullname":"series.states.hover.halo.attributes","title":"attributes","parent":"series-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-solidgauge-states-hover-halo--attributes","fullname":"plotOptions.solidgauge.states.hover.halo.attributes","title":"attributes","parent":"plotOptions-solidgauge-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--attributes","fullname":"series.states.hover.halo.attributes","title":"attributes","parent":"series-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid-states-hover-halo--attributes","fullname":"plotOptions.pyramid.states.hover.halo.attributes","title":"attributes","parent":"plotOptions-pyramid-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-waterfall-states-hover-halo--attributes","fullname":"plotOptions.waterfall.states.hover.halo.attributes","title":"attributes","parent":"plotOptions-waterfall-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-series-states-hover-halo--attributes","fullname":"plotOptions.series.states.hover.halo.attributes","title":"attributes","parent":"plotOptions-series-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--attributes","fullname":"series.states.hover.halo.attributes","title":"attributes","parent":"series-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--attributes","fullname":"series.states.hover.halo.attributes","title":"attributes","parent":"series-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--attributes","fullname":"series.states.hover.halo.attributes","title":"attributes","parent":"series-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--attributes","fullname":"series.states.hover.halo.attributes","title":"attributes","parent":"series-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--attributes","fullname":"series.states.hover.halo.attributes","title":"attributes","parent":"series-states-hover-halo","isParent":false,"returnType":"Object","defaults":"","values":"","since":"4.0","description":"A collection of SVG attributes to override the appearance of the halo, for example fill, stroke and stroke-width.","demo":"","seeAlso":"","deprecated":false},{"name":"yAxis-labels--autoRotation","fullname":"yAxis.labels.autoRotation","title":"autoRotation","parent":"yAxis-labels","isParent":false,"returnType":"Array","defaults":"[-45]","since":"4.1.0","description":"For horizontal axes, the allowed degrees of label rotation to prevent overlapping labels. If there is enough space, labels are not rotated. As the chart gets narrower, it will start rotating the labels -45 degrees, then remove every second label and try again with rotations 0 and -45 etc. Set it to false to disable rotation, which will cause the labels to word-wrap if possible.","demo":"Default auto rotation of 0 or -45, custom graded auto rotation","deprecated":false},{"name":"xAxis-labels--autoRotation","fullname":"xAxis.labels.autoRotation","title":"autoRotation","parent":"xAxis-labels","isParent":false,"returnType":"Array","defaults":"[-45]","since":"4.1.0","description":"For horizontal axes, the allowed degrees of label rotation to prevent overlapping labels. If there is enough space, labels are not rotated. As the chart gets narrower, it will start rotating the labels -45 degrees, then remove every second label and try again with rotations 0 and -45 etc. Set it to false to disable rotation, which will cause the labels to word-wrap if possible.","demo":"Default auto rotation of 0 or -45, custom graded auto rotation","deprecated":false},{"name":"yAxis-labels--autoRotationLimit","fullname":"yAxis.labels.autoRotationLimit","title":"autoRotationLimit","parent":"yAxis-labels","isParent":false,"returnType":"Number","defaults":"80","since":"4.1.5","description":"When each category width is more than this many pixels, we don't apply auto rotation. Instead, we lay out the axis label with word wrap. A lower limit makes sense when the label contains multiple short words that don't extend the available horizontal space for each label.","demo":"Lower limit","deprecated":false},{"name":"xAxis-labels--autoRotationLimit","fullname":"xAxis.labels.autoRotationLimit","title":"autoRotationLimit","parent":"xAxis-labels","isParent":false,"returnType":"Number","defaults":"80","since":"4.1.5","description":"When each category width is more than this many pixels, we don't apply auto rotation. Instead, we lay out the axis label with word wrap. A lower limit makes sense when the label contains multiple short words that don't extend the available horizontal space for each label.","demo":"Lower limit","deprecated":false},{"name":"chart-options3d-frame-back","fullname":"chart.options3d.frame.back","title":"back","parent":"chart-options3d-frame","isParent":true,"returnType":"","defaults":"","values":"","since":"4.0","description":"Defines the back panel of the frame around 3D charts.","demo":"","seeAlso":"","deprecated":false},{"name":"pane--background","fullname":"pane.background","title":"background","parent":"pane","isParent":false,"returnType":"Array","since":"2.3.0","description":"An object, or array of objects, for backgrounds. Sub options include backgroundColor (can be solid or gradient), shape (\"solid\" or \"arc\"), innerWidth, outerWidth, borderWidth, borderColor.","demo":"Multiple backgrounds on a gauge.","deprecated":false},{"name":"plotOptions-heatmap-dataLabels--backgroundColor","fullname":"plotOptions.heatmap.dataLabels.backgroundColor","title":"backgroundColor","parent":"plotOptions-heatmap-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series-dataLabels--backgroundColor","fullname":"series.dataLabels.backgroundColor","title":"backgroundColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-treemap-dataLabels--backgroundColor","fullname":"plotOptions.treemap.dataLabels.backgroundColor","title":"backgroundColor","parent":"plotOptions-treemap-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-columnrange-dataLabels--backgroundColor","fullname":"plotOptions.columnrange.dataLabels.backgroundColor","title":"backgroundColor","parent":"plotOptions-columnrange-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series-dataLabels--backgroundColor","fullname":"series.dataLabels.backgroundColor","title":"backgroundColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series-dataLabels--backgroundColor","fullname":"series.dataLabels.backgroundColor","title":"backgroundColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-line-dataLabels--backgroundColor","fullname":"plotOptions.line.dataLabels.backgroundColor","title":"backgroundColor","parent":"plotOptions-line-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-column-dataLabels--backgroundColor","fullname":"plotOptions.column.dataLabels.backgroundColor","title":"backgroundColor","parent":"plotOptions-column-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-bar-dataLabels--backgroundColor","fullname":"plotOptions.bar.dataLabels.backgroundColor","title":"backgroundColor","parent":"plotOptions-bar-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series-dataLabels--backgroundColor","fullname":"series.dataLabels.backgroundColor","title":"backgroundColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-area-dataLabels--backgroundColor","fullname":"plotOptions.area.dataLabels.backgroundColor","title":"backgroundColor","parent":"plotOptions-area-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series-dataLabels--backgroundColor","fullname":"series.dataLabels.backgroundColor","title":"backgroundColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series-dataLabels--backgroundColor","fullname":"series.dataLabels.backgroundColor","title":"backgroundColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-gauge-dial--backgroundColor","fullname":"plotOptions.gauge.dial.backgroundColor","title":"backgroundColor","parent":"plotOptions-gauge-dial","isParent":false,"returnType":"Color","defaults":"black","since":"2.3.0","description":"The background or fill color of the gauge's dial. ","demo":"Dial options demonstrated","seeAlso":"","deprecated":false},{"name":"plotOptions-pie-dataLabels--backgroundColor","fullname":"plotOptions.pie.dataLabels.backgroundColor","title":"backgroundColor","parent":"plotOptions-pie-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-pyramid-dataLabels--backgroundColor","fullname":"plotOptions.pyramid.dataLabels.backgroundColor","title":"backgroundColor","parent":"plotOptions-pyramid-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-series-dataLabels--backgroundColor","fullname":"plotOptions.series.dataLabels.backgroundColor","title":"backgroundColor","parent":"plotOptions-series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"legend--backgroundColor","fullname":"legend.backgroundColor","title":"backgroundColor","parent":"legend","isParent":false,"returnType":"Color","description":"The background color of the legend.","demo":"Yellowish background","deprecated":false},{"name":"plotOptions-spline-dataLabels--backgroundColor","fullname":"plotOptions.spline.dataLabels.backgroundColor","title":"backgroundColor","parent":"plotOptions-spline-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series-dataLabels--backgroundColor","fullname":"series.dataLabels.backgroundColor","title":"backgroundColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series-dataLabels--backgroundColor","fullname":"series.dataLabels.backgroundColor","title":"backgroundColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-bubble-dataLabels--backgroundColor","fullname":"plotOptions.bubble.dataLabels.backgroundColor","title":"backgroundColor","parent":"plotOptions-bubble-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-waterfall-dataLabels--backgroundColor","fullname":"plotOptions.waterfall.dataLabels.backgroundColor","title":"backgroundColor","parent":"plotOptions-waterfall-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-funnel-dataLabels--backgroundColor","fullname":"plotOptions.funnel.dataLabels.backgroundColor","title":"backgroundColor","parent":"plotOptions-funnel-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"chart--backgroundColor","fullname":"chart.backgroundColor","title":"backgroundColor","parent":"chart","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The background color or gradient for the outer chart area.","demo":"Color,\n\t\t\tgradient"},{"name":"series-dataLabels--backgroundColor","fullname":"series.dataLabels.backgroundColor","title":"backgroundColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-arearange-dataLabels--backgroundColor","fullname":"plotOptions.arearange.dataLabels.backgroundColor","title":"backgroundColor","parent":"plotOptions-arearange-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series-dataLabels--backgroundColor","fullname":"series.dataLabels.backgroundColor","title":"backgroundColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-areasplinerange-dataLabels--backgroundColor","fullname":"plotOptions.areasplinerange.dataLabels.backgroundColor","title":"backgroundColor","parent":"plotOptions-areasplinerange-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series-dataLabels--backgroundColor","fullname":"series.dataLabels.backgroundColor","title":"backgroundColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"tooltip--backgroundColor","fullname":"tooltip.backgroundColor","title":"backgroundColor","parent":"tooltip","isParent":false,"returnType":"Color","defaults":"rgba(255, 255, 255, 0.85)","description":"The background color or gradient for the tooltip.","demo":"Yellowish background,\r\n\t\t\tgradient","deprecated":false},{"name":"series-dataLabels--backgroundColor","fullname":"series.dataLabels.backgroundColor","title":"backgroundColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series-dataLabels--backgroundColor","fullname":"series.dataLabels.backgroundColor","title":"backgroundColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series-dataLabels--backgroundColor","fullname":"series.dataLabels.backgroundColor","title":"backgroundColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-areaspline-dataLabels--backgroundColor","fullname":"plotOptions.areaspline.dataLabels.backgroundColor","title":"backgroundColor","parent":"plotOptions-areaspline-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-gauge-dataLabels--backgroundColor","fullname":"plotOptions.gauge.dataLabels.backgroundColor","title":"backgroundColor","parent":"plotOptions-gauge-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series-dataLabels--backgroundColor","fullname":"series.dataLabels.backgroundColor","title":"backgroundColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series-dataLabels--backgroundColor","fullname":"series.dataLabels.backgroundColor","title":"backgroundColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series-dataLabels--backgroundColor","fullname":"series.dataLabels.backgroundColor","title":"backgroundColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-gauge-pivot--backgroundColor","fullname":"plotOptions.gauge.pivot.backgroundColor","title":"backgroundColor","parent":"plotOptions-gauge-pivot","isParent":false,"returnType":"Color","defaults":"black","since":"2.3.0","description":"The background color or fill of the pivot.","demo":"Pivot options demonstrated","seeAlso":"","deprecated":false},{"name":"series-dataLabels--backgroundColor","fullname":"series.dataLabels.backgroundColor","title":"backgroundColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-scatter-dataLabels--backgroundColor","fullname":"plotOptions.scatter.dataLabels.backgroundColor","title":"backgroundColor","parent":"plotOptions-scatter-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-polygon-dataLabels--backgroundColor","fullname":"plotOptions.polygon.dataLabels.backgroundColor","title":"backgroundColor","parent":"plotOptions-polygon-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series-pivot--backgroundColor","fullname":"series.pivot.backgroundColor","title":"backgroundColor","parent":"series-pivot","isParent":false,"returnType":"Color","defaults":"black","since":"2.3.0","description":"The background color or fill of the pivot.","demo":"Pivot options demonstrated","seeAlso":"","deprecated":false},{"name":"plotOptions-solidgauge-dataLabels--backgroundColor","fullname":"plotOptions.solidgauge.dataLabels.backgroundColor","title":"backgroundColor","parent":"plotOptions-solidgauge-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series-dataLabels--backgroundColor","fullname":"series.dataLabels.backgroundColor","title":"backgroundColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series-dial--backgroundColor","fullname":"series.dial.backgroundColor","title":"backgroundColor","parent":"series-dial","isParent":false,"returnType":"Color","defaults":"black","since":"2.3.0","description":"The background or fill color of the gauge's dial. ","demo":"Dial options demonstrated","seeAlso":"","deprecated":false},{"name":"series-dataLabels--backgroundColor","fullname":"series.dataLabels.backgroundColor","title":"backgroundColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The background color or gradient for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-bar","fullname":"plotOptions.bar","title":"bar","parent":"plotOptions","isParent":true},{"name":"series-dial--baseLength","fullname":"series.dial.baseLength","title":"baseLength","parent":"series-dial","isParent":false,"returnType":"String","defaults":"70%","since":"2.3.0","description":"The length of the dial's base part, relative to the total radius or length of the dial. ","demo":"Dial options demonstrated","seeAlso":"","deprecated":false},{"name":"plotOptions-gauge-dial--baseLength","fullname":"plotOptions.gauge.dial.baseLength","title":"baseLength","parent":"plotOptions-gauge-dial","isParent":false,"returnType":"String","defaults":"70%","since":"2.3.0","description":"The length of the dial's base part, relative to the total radius or length of the dial. ","demo":"Dial options demonstrated","seeAlso":"","deprecated":false},{"name":"series-dial--baseWidth","fullname":"series.dial.baseWidth","title":"baseWidth","parent":"series-dial","isParent":false,"returnType":"Number","defaults":"3","since":"2.3.0","description":"The pixel width of the base of the gauge dial. The base is the part closest to the pivot, defined by baseLength. ","demo":"Dial options demonstrated","seeAlso":"","deprecated":false},{"name":"plotOptions-gauge-dial--baseWidth","fullname":"plotOptions.gauge.dial.baseWidth","title":"baseWidth","parent":"plotOptions-gauge-dial","isParent":false,"returnType":"Number","defaults":"3","since":"2.3.0","description":"The pixel width of the base of the gauge dial. The base is the part closest to the pivot, defined by baseLength. ","demo":"Dial options demonstrated","seeAlso":"","deprecated":false},{"name":"chart-events--beforePrint","fullname":"chart.events.beforePrint","title":"beforePrint","parent":"chart-events","isParent":false,"returnType":"Function","context":"Chart","since":"4.1.0","description":"Fires before a chart is printed through the context menu item or the Chart.print method. Requires the exporting module.","demo":"Rescale the chart to print","deprecated":false},{"name":"chart-options3d--beta","fullname":"chart.options3d.beta","title":"beta","parent":"chart-options3d","isParent":false,"returnType":"Number","defaults":"0","since":"4.0","description":"One of the two rotation angles for the chart.","demo":"Dynamic Angles","deprecated":false},{"name":"series-dataLabels--borderColor","fullname":"series.dataLabels.borderColor","title":"borderColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-polygon-dataLabels--borderColor","fullname":"plotOptions.polygon.dataLabels.borderColor","title":"borderColor","parent":"plotOptions-polygon-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series--borderColor","fullname":"series.borderColor","title":"borderColor","parent":"series","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the border surrounding each column or bar.","demo":"Dark gray border","deprecated":false},{"name":"plotOptions-funnel-dataLabels--borderColor","fullname":"plotOptions.funnel.dataLabels.borderColor","title":"borderColor","parent":"plotOptions-funnel-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"chart--borderColor","fullname":"chart.borderColor","title":"borderColor","parent":"chart","isParent":false,"returnType":"Color","defaults":"#4572A7","description":"The color of the outer chart border.","demo":"Brown border","deprecated":false},{"name":"series-dataLabels--borderColor","fullname":"series.dataLabels.borderColor","title":"borderColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series-dataLabels--borderColor","fullname":"series.dataLabels.borderColor","title":"borderColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series-dataLabels--borderColor","fullname":"series.dataLabels.borderColor","title":"borderColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-arearange-dataLabels--borderColor","fullname":"plotOptions.arearange.dataLabels.borderColor","title":"borderColor","parent":"plotOptions-arearange-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series--borderColor","fullname":"series.borderColor","title":"borderColor","parent":"series","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the border surrounding each slice.","demo":"Black border","deprecated":false},{"name":"series--borderColor","fullname":"series.borderColor","title":"borderColor","parent":"series","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the border surrounding each column or bar.","demo":"Dark gray border","deprecated":false},{"name":"series-dataLabels--borderColor","fullname":"series.dataLabels.borderColor","title":"borderColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series-dataLabels--borderColor","fullname":"series.dataLabels.borderColor","title":"borderColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series--borderColor","fullname":"series.borderColor","title":"borderColor","parent":"series","isParent":false,"returnType":"Color","defaults":"#E0E0E0","description":"The color of the border surrounding each tree map item.","deprecated":false},{"name":"series-dataLabels--borderColor","fullname":"series.dataLabels.borderColor","title":"borderColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-heatmap-dataLabels--borderColor","fullname":"plotOptions.heatmap.dataLabels.borderColor","title":"borderColor","parent":"plotOptions-heatmap-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-gauge-pivot--borderColor","fullname":"plotOptions.gauge.pivot.borderColor","title":"borderColor","parent":"plotOptions-gauge-pivot","isParent":false,"returnType":"Color","defaults":"silver","since":"2.3.0","description":"The border or stroke color of the pivot. In able to change this, the borderWidth must also be set to something other than the default 0.","demo":"Pivot options demonstrated","seeAlso":"","deprecated":false},{"name":"plotOptions-treemap-dataLabels--borderColor","fullname":"plotOptions.treemap.dataLabels.borderColor","title":"borderColor","parent":"plotOptions-treemap-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-scatter-dataLabels--borderColor","fullname":"plotOptions.scatter.dataLabels.borderColor","title":"borderColor","parent":"plotOptions-scatter-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series--borderColor","fullname":"series.borderColor","title":"borderColor","parent":"series","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the border surrounding each slice.","demo":"Black border","deprecated":false},{"name":"series--borderColor","fullname":"series.borderColor","title":"borderColor","parent":"series","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the border surrounding each column or bar.","demo":"Dark gray border","deprecated":false},{"name":"plotOptions-area-dataLabels--borderColor","fullname":"plotOptions.area.dataLabels.borderColor","title":"borderColor","parent":"plotOptions-area-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series-dataLabels--borderColor","fullname":"series.dataLabels.borderColor","title":"borderColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-line-dataLabels--borderColor","fullname":"plotOptions.line.dataLabels.borderColor","title":"borderColor","parent":"plotOptions-line-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-solidgauge-dataLabels--borderColor","fullname":"plotOptions.solidgauge.dataLabels.borderColor","title":"borderColor","parent":"plotOptions-solidgauge-dataLabels","isParent":false,"returnType":"Color","defaults":"silver","since":"2.3.0","description":"The border color for the data label.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-waterfall-dataLabels--borderColor","fullname":"plotOptions.waterfall.dataLabels.borderColor","title":"borderColor","parent":"plotOptions-waterfall-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-waterfall--borderColor","fullname":"plotOptions.waterfall.borderColor","title":"borderColor","parent":"plotOptions-waterfall","isParent":false,"returnType":"Color","defaults":"#333333","since":"3.0","description":"The color of the border of each waterfall column.","deprecated":false},{"name":"plotOptions-series-dataLabels--borderColor","fullname":"plotOptions.series.dataLabels.borderColor","title":"borderColor","parent":"plotOptions-series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-gauge-dial--borderColor","fullname":"plotOptions.gauge.dial.borderColor","title":"borderColor","parent":"plotOptions-gauge-dial","isParent":false,"returnType":"Color","defaults":"silver","since":"2.3.0","description":"The border color or stroke of the gauge's dial. By default, the borderWidth is 0, so this must be set in addition to a custom border color.","demo":"Dial options demonstrated","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid-dataLabels--borderColor","fullname":"plotOptions.pyramid.dataLabels.borderColor","title":"borderColor","parent":"plotOptions-pyramid-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-areaspline-dataLabels--borderColor","fullname":"plotOptions.areaspline.dataLabels.borderColor","title":"borderColor","parent":"plotOptions-areaspline-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series--borderColor","fullname":"series.borderColor","title":"borderColor","parent":"series","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the border surrounding each slice.","demo":"Black border","deprecated":false},{"name":"plotOptions-treemap--borderColor","fullname":"plotOptions.treemap.borderColor","title":"borderColor","parent":"plotOptions-treemap","isParent":false,"returnType":"Color","defaults":"#E0E0E0","description":"The color of the border surrounding each tree map item.","deprecated":false},{"name":"plotOptions-spline-dataLabels--borderColor","fullname":"plotOptions.spline.dataLabels.borderColor","title":"borderColor","parent":"plotOptions-spline-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series-dataLabels--borderColor","fullname":"series.dataLabels.borderColor","title":"borderColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"tooltip--borderColor","fullname":"tooltip.borderColor","title":"borderColor","parent":"tooltip","isParent":false,"returnType":"Color","defaults":"null","description":"The color of the tooltip border. When null, the border takes the color of the corresponding series or point.","demo":"Follow series by default,\r\n\t\t\tblack border","deprecated":false},{"name":"plotOptions-columnrange--borderColor","fullname":"plotOptions.columnrange.borderColor","title":"borderColor","parent":"plotOptions-columnrange","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the border surrounding each column or bar.","demo":"Dark gray border","deprecated":false},{"name":"plotOptions-treemap-levels--borderColor","fullname":"plotOptions.treemap.levels.borderColor","title":"borderColor","parent":"plotOptions-treemap-levels","isParent":false,"returnType":"Color","since":"4.1.0","description":"Can set borderColor on all points which lies on the same level.","deprecated":false},{"name":"plotOptions-column--borderColor","fullname":"plotOptions.column.borderColor","title":"borderColor","parent":"plotOptions-column","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the border surrounding each column or bar.","demo":"Dark gray border","deprecated":false},{"name":"series-dataLabels--borderColor","fullname":"series.dataLabels.borderColor","title":"borderColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-column-dataLabels--borderColor","fullname":"plotOptions.column.dataLabels.borderColor","title":"borderColor","parent":"plotOptions-column-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-funnel--borderColor","fullname":"plotOptions.funnel.borderColor","title":"borderColor","parent":"plotOptions-funnel","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the border surrounding each slice.","demo":"Black border","deprecated":false},{"name":"series-dataLabels--borderColor","fullname":"series.dataLabels.borderColor","title":"borderColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series-dataLabels--borderColor","fullname":"series.dataLabels.borderColor","title":"borderColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"yAxis-plotBands--borderColor","fullname":"yAxis.plotBands.borderColor","title":"borderColor","parent":"yAxis-plotBands","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"","description":"Border color for the plot band. Also requires borderWidth to be set.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--borderColor","fullname":"series.dataLabels.borderColor","title":"borderColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-bar-dataLabels--borderColor","fullname":"plotOptions.bar.dataLabels.borderColor","title":"borderColor","parent":"plotOptions-bar-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series--borderColor","fullname":"series.borderColor","title":"borderColor","parent":"series","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the border surrounding each column or bar.","demo":"Dark gray border","deprecated":false},{"name":"series-dataLabels--borderColor","fullname":"series.dataLabels.borderColor","title":"borderColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-bubble-dataLabels--borderColor","fullname":"plotOptions.bubble.dataLabels.borderColor","title":"borderColor","parent":"plotOptions-bubble-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-pie-dataLabels--borderColor","fullname":"plotOptions.pie.dataLabels.borderColor","title":"borderColor","parent":"plotOptions-pie-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-columnrange-dataLabels--borderColor","fullname":"plotOptions.columnrange.dataLabels.borderColor","title":"borderColor","parent":"plotOptions-columnrange-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-areasplinerange-dataLabels--borderColor","fullname":"plotOptions.areasplinerange.dataLabels.borderColor","title":"borderColor","parent":"plotOptions-areasplinerange-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"legend--borderColor","fullname":"legend.borderColor","title":"borderColor","parent":"legend","isParent":false,"returnType":"Color","defaults":"#909090","description":"The color of the drawn border around the legend.","demo":"Brown border"},{"name":"series-dataLabels--borderColor","fullname":"series.dataLabels.borderColor","title":"borderColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-pyramid--borderColor","fullname":"plotOptions.pyramid.borderColor","title":"borderColor","parent":"plotOptions-pyramid","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the border surrounding each slice.","demo":"Black border","deprecated":false},{"name":"series-dataLabels--borderColor","fullname":"series.dataLabels.borderColor","title":"borderColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","defaults":"silver","since":"2.3.0","description":"The border color for the data label.","demo":"","seeAlso":"","deprecated":false},{"name":"series-levels--borderColor","fullname":"series.levels.borderColor","title":"borderColor","parent":"series-levels","isParent":false,"returnType":"Color","since":"4.1.0","description":"Can set borderColor on all points which lies on the same level.","deprecated":false},{"name":"series-dataLabels--borderColor","fullname":"series.dataLabels.borderColor","title":"borderColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"plotOptions-bar--borderColor","fullname":"plotOptions.bar.borderColor","title":"borderColor","parent":"plotOptions-bar","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the border surrounding each column or bar.","demo":"Dark gray border","deprecated":false},{"name":"series-dataLabels--borderColor","fullname":"series.dataLabels.borderColor","title":"borderColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"series-pivot--borderColor","fullname":"series.pivot.borderColor","title":"borderColor","parent":"series-pivot","isParent":false,"returnType":"Color","defaults":"silver","since":"2.3.0","description":"The border or stroke color of the pivot. In able to change this, the borderWidth must also be set to something other than the default 0.","demo":"Pivot options demonstrated","seeAlso":"","deprecated":false},{"name":"plotOptions-gauge-dataLabels--borderColor","fullname":"plotOptions.gauge.dataLabels.borderColor","title":"borderColor","parent":"plotOptions-gauge-dataLabels","isParent":false,"returnType":"Color","defaults":"silver","since":"2.3.0","description":"The border color for the data label.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pie--borderColor","fullname":"plotOptions.pie.borderColor","title":"borderColor","parent":"plotOptions-pie","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the border surrounding each slice.","demo":"Black border","deprecated":false},{"name":"series--borderColor","fullname":"series.borderColor","title":"borderColor","parent":"series","isParent":false,"returnType":"Color","defaults":"#333333","since":"3.0","description":"The color of the border of each waterfall column.","deprecated":false},{"name":"series-dial--borderColor","fullname":"series.dial.borderColor","title":"borderColor","parent":"series-dial","isParent":false,"returnType":"Color","defaults":"silver","since":"2.3.0","description":"The border color or stroke of the gauge's dial. By default, the borderWidth is 0, so this must be set in addition to a custom border color.","demo":"Dial options demonstrated","seeAlso":"","deprecated":false},{"name":"plotOptions-heatmap--borderColor","fullname":"plotOptions.heatmap.borderColor","title":"borderColor","parent":"plotOptions-heatmap","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the border surrounding each column or bar.","demo":"Dark gray border","deprecated":false},{"name":"series-dataLabels--borderColor","fullname":"series.dataLabels.borderColor","title":"borderColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","since":"2.2.1","description":"The border color for the data label. Defaults to undefined.","demo":"Data labels box options"},{"name":"xAxis-plotBands--borderColor","fullname":"xAxis.plotBands.borderColor","title":"borderColor","parent":"xAxis-plotBands","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"","description":"Border color for the plot band. Also requires borderWidth to be set.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--borderColor","fullname":"series.dataLabels.borderColor","title":"borderColor","parent":"series-dataLabels","isParent":false,"returnType":"Color","defaults":"silver","since":"2.3.0","description":"The border color for the data label.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-treemap-levels--borderDashStyle","fullname":"plotOptions.treemap.levels.borderDashStyle","title":"borderDashStyle","parent":"plotOptions-treemap-levels","isParent":false,"returnType":"String","since":"4.1.0","description":"Set the dash style of the border of all the point which lies on the level.\r\nSee plotOptions.scatter.dashStyle for possible options.","deprecated":false},{"name":"series-levels--borderDashStyle","fullname":"series.levels.borderDashStyle","title":"borderDashStyle","parent":"series-levels","isParent":false,"returnType":"String","since":"4.1.0","description":"Set the dash style of the border of all the point which lies on the level.\r\nSee plotOptions.scatter.dashStyle for possible options.","deprecated":false},{"name":"plotOptions-pie-dataLabels--borderRadius","fullname":"plotOptions.pie.dataLabels.borderRadius","title":"borderRadius","parent":"plotOptions-pie-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-polygon-dataLabels--borderRadius","fullname":"plotOptions.polygon.dataLabels.borderRadius","title":"borderRadius","parent":"plotOptions-polygon-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"chart--borderRadius","fullname":"chart.borderRadius","title":"borderRadius","parent":"chart","isParent":false,"returnType":"Number","defaults":"0","description":"The corner radius of the outer chart border.","demo":"20px radius","deprecated":false},{"name":"plotOptions-waterfall-dataLabels--borderRadius","fullname":"plotOptions.waterfall.dataLabels.borderRadius","title":"borderRadius","parent":"plotOptions-waterfall-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--borderRadius","fullname":"series.dataLabels.borderRadius","title":"borderRadius","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-columnrange--borderRadius","fullname":"plotOptions.columnrange.borderRadius","title":"borderRadius","parent":"plotOptions-columnrange","isParent":false,"returnType":"Number","defaults":"0","description":"The corner radius of the border surrounding each column or bar.","demo":"Rounded columns","deprecated":false},{"name":"series-dataLabels--borderRadius","fullname":"series.dataLabels.borderRadius","title":"borderRadius","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series--borderRadius","fullname":"series.borderRadius","title":"borderRadius","parent":"series","isParent":false,"returnType":"Number","defaults":"0","description":"The corner radius of the border surrounding each column or bar.","demo":"Rounded columns","deprecated":false},{"name":"plotOptions-scatter-dataLabels--borderRadius","fullname":"plotOptions.scatter.dataLabels.borderRadius","title":"borderRadius","parent":"plotOptions-scatter-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series--borderRadius","fullname":"series.borderRadius","title":"borderRadius","parent":"series","isParent":false,"returnType":"Number","defaults":"0","description":"The corner radius of the border surrounding each column or bar.","demo":"Rounded columns","deprecated":false},{"name":"series-dataLabels--borderRadius","fullname":"series.dataLabels.borderRadius","title":"borderRadius","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"tooltip--borderRadius","fullname":"tooltip.borderRadius","title":"borderRadius","parent":"tooltip","isParent":false,"returnType":"Number","defaults":"3","description":"The radius of the rounded border corners.","demo":"5px by default,\r\n\t\t\tsquare borders","deprecated":false},{"name":"series-dataLabels--borderRadius","fullname":"series.dataLabels.borderRadius","title":"borderRadius","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-spline-dataLabels--borderRadius","fullname":"plotOptions.spline.dataLabels.borderRadius","title":"borderRadius","parent":"plotOptions-spline-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-bar--borderRadius","fullname":"plotOptions.bar.borderRadius","title":"borderRadius","parent":"plotOptions-bar","isParent":false,"returnType":"Number","defaults":"0","description":"The corner radius of the border surrounding each column or bar.","demo":"Rounded columns","deprecated":false},{"name":"plotOptions-funnel-dataLabels--borderRadius","fullname":"plotOptions.funnel.dataLabels.borderRadius","title":"borderRadius","parent":"plotOptions-funnel-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--borderRadius","fullname":"series.dataLabels.borderRadius","title":"borderRadius","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--borderRadius","fullname":"series.dataLabels.borderRadius","title":"borderRadius","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--borderRadius","fullname":"series.dataLabels.borderRadius","title":"borderRadius","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--borderRadius","fullname":"series.dataLabels.borderRadius","title":"borderRadius","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--borderRadius","fullname":"series.dataLabels.borderRadius","title":"borderRadius","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-columnrange-dataLabels--borderRadius","fullname":"plotOptions.columnrange.dataLabels.borderRadius","title":"borderRadius","parent":"plotOptions-columnrange-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series--borderRadius","fullname":"series.borderRadius","title":"borderRadius","parent":"series","isParent":false,"returnType":"Number","defaults":"0","description":"The corner radius of the border surrounding each column or bar.","demo":"Rounded columns","deprecated":false},{"name":"series--borderRadius","fullname":"series.borderRadius","title":"borderRadius","parent":"series","isParent":false,"returnType":"Number","defaults":"0","description":"The corner radius of the border surrounding each column or bar.","demo":"Rounded columns","deprecated":false},{"name":"series-dataLabels--borderRadius","fullname":"series.dataLabels.borderRadius","title":"borderRadius","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-bubble-dataLabels--borderRadius","fullname":"plotOptions.bubble.dataLabels.borderRadius","title":"borderRadius","parent":"plotOptions-bubble-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-waterfall--borderRadius","fullname":"plotOptions.waterfall.borderRadius","title":"borderRadius","parent":"plotOptions-waterfall","isParent":false,"returnType":"Number","defaults":"0","description":"The corner radius of the border surrounding each column or bar.","demo":"Rounded columns","deprecated":false},{"name":"plotOptions-bar-dataLabels--borderRadius","fullname":"plotOptions.bar.dataLabels.borderRadius","title":"borderRadius","parent":"plotOptions-bar-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--borderRadius","fullname":"series.dataLabels.borderRadius","title":"borderRadius","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-treemap-dataLabels--borderRadius","fullname":"plotOptions.treemap.dataLabels.borderRadius","title":"borderRadius","parent":"plotOptions-treemap-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-column-dataLabels--borderRadius","fullname":"plotOptions.column.dataLabels.borderRadius","title":"borderRadius","parent":"plotOptions-column-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--borderRadius","fullname":"series.dataLabels.borderRadius","title":"borderRadius","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-solidgauge-dataLabels--borderRadius","fullname":"plotOptions.solidgauge.dataLabels.borderRadius","title":"borderRadius","parent":"plotOptions-solidgauge-dataLabels","isParent":false,"returnType":"Number","defaults":"3","since":"2.3.0","description":"The border radius in pixels for the gauge's data label.","demo":"","seeAlso":"","deprecated":false},{"name":"series--borderRadius","fullname":"series.borderRadius","title":"borderRadius","parent":"series","isParent":false,"returnType":"Number","defaults":"0","description":"The corner radius of the border surrounding each column or bar.","demo":"Rounded columns","deprecated":false},{"name":"plotOptions-areasplinerange-dataLabels--borderRadius","fullname":"plotOptions.areasplinerange.dataLabels.borderRadius","title":"borderRadius","parent":"plotOptions-areasplinerange-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--borderRadius","fullname":"series.dataLabels.borderRadius","title":"borderRadius","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--borderRadius","fullname":"series.dataLabels.borderRadius","title":"borderRadius","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"3","since":"2.3.0","description":"The border radius in pixels for the gauge's data label.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--borderRadius","fullname":"series.dataLabels.borderRadius","title":"borderRadius","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-areaspline-dataLabels--borderRadius","fullname":"plotOptions.areaspline.dataLabels.borderRadius","title":"borderRadius","parent":"plotOptions-areaspline-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-heatmap-dataLabels--borderRadius","fullname":"plotOptions.heatmap.dataLabels.borderRadius","title":"borderRadius","parent":"plotOptions-heatmap-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-gauge-dataLabels--borderRadius","fullname":"plotOptions.gauge.dataLabels.borderRadius","title":"borderRadius","parent":"plotOptions-gauge-dataLabels","isParent":false,"returnType":"Number","defaults":"3","since":"2.3.0","description":"The border radius in pixels for the gauge's data label.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid-dataLabels--borderRadius","fullname":"plotOptions.pyramid.dataLabels.borderRadius","title":"borderRadius","parent":"plotOptions-pyramid-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--borderRadius","fullname":"series.dataLabels.borderRadius","title":"borderRadius","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"3","since":"2.3.0","description":"The border radius in pixels for the gauge's data label.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-line-dataLabels--borderRadius","fullname":"plotOptions.line.dataLabels.borderRadius","title":"borderRadius","parent":"plotOptions-line-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-series-dataLabels--borderRadius","fullname":"plotOptions.series.dataLabels.borderRadius","title":"borderRadius","parent":"plotOptions-series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-column--borderRadius","fullname":"plotOptions.column.borderRadius","title":"borderRadius","parent":"plotOptions-column","isParent":false,"returnType":"Number","defaults":"0","description":"The corner radius of the border surrounding each column or bar.","demo":"Rounded columns","deprecated":false},{"name":"series-dataLabels--borderRadius","fullname":"series.dataLabels.borderRadius","title":"borderRadius","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-area-dataLabels--borderRadius","fullname":"plotOptions.area.dataLabels.borderRadius","title":"borderRadius","parent":"plotOptions-area-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--borderRadius","fullname":"series.dataLabels.borderRadius","title":"borderRadius","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"legend--borderRadius","fullname":"legend.borderRadius","title":"borderRadius","parent":"legend","isParent":false,"returnType":"Number","defaults":"0","description":"The border corner radius of the legend.","demo":"Square by default,\r\n\t\t\t5px rounded","deprecated":false},{"name":"plotOptions-heatmap--borderRadius","fullname":"plotOptions.heatmap.borderRadius","title":"borderRadius","parent":"plotOptions-heatmap","isParent":false,"returnType":"Number","defaults":"0","description":"The corner radius of the border surrounding each column or bar.","demo":"Rounded columns","deprecated":false},{"name":"plotOptions-arearange-dataLabels--borderRadius","fullname":"plotOptions.arearange.dataLabels.borderRadius","title":"borderRadius","parent":"plotOptions-arearange-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--borderRadius","fullname":"series.dataLabels.borderRadius","title":"borderRadius","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--borderRadius","fullname":"series.dataLabels.borderRadius","title":"borderRadius","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border radius in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"legend--borderWidth","fullname":"legend.borderWidth","title":"borderWidth","parent":"legend","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the drawn border around the legend.","demo":"2px border width","deprecated":false},{"name":"plotOptions-gauge-pivot--borderWidth","fullname":"plotOptions.gauge.pivot.borderWidth","title":"borderWidth","parent":"plotOptions-gauge-pivot","isParent":false,"returnType":"Number","defaults":"0","since":"2.3.0","description":"The border or stroke width of the pivot.","demo":"Pivot options demonstrated","seeAlso":"","deprecated":false},{"name":"series-dataLabels--borderWidth","fullname":"series.dataLabels.borderWidth","title":"borderWidth","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series--borderWidth","fullname":"series.borderWidth","title":"borderWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"1","description":"The width of the border surrounding each slice.","demo":"3px border","deprecated":false},{"name":"series--borderWidth","fullname":"series.borderWidth","title":"borderWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"1","description":"The width of the border surrounding each slice.","demo":"3px border","deprecated":false},{"name":"series-dataLabels--borderWidth","fullname":"series.dataLabels.borderWidth","title":"borderWidth","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-columnrange-dataLabels--borderWidth","fullname":"plotOptions.columnrange.dataLabels.borderWidth","title":"borderWidth","parent":"plotOptions-columnrange-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-treemap-levels--borderWidth","fullname":"plotOptions.treemap.levels.borderWidth","title":"borderWidth","parent":"plotOptions-treemap-levels","isParent":false,"returnType":"Number","since":"4.1.0","description":"Can set the borderWidth on all points which lies on the same level.","deprecated":false},{"name":"series-dataLabels--borderWidth","fullname":"series.dataLabels.borderWidth","title":"borderWidth","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-bar--borderWidth","fullname":"plotOptions.bar.borderWidth","title":"borderWidth","parent":"plotOptions-bar","isParent":false,"returnType":"Number","defaults":"1","description":"The width of the border surrounding each column or bar.","demo":"2px black border","deprecated":false},{"name":"plotOptions-bubble-dataLabels--borderWidth","fullname":"plotOptions.bubble.dataLabels.borderWidth","title":"borderWidth","parent":"plotOptions-bubble-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-polygon-dataLabels--borderWidth","fullname":"plotOptions.polygon.dataLabels.borderWidth","title":"borderWidth","parent":"plotOptions-polygon-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-pie-dataLabels--borderWidth","fullname":"plotOptions.pie.dataLabels.borderWidth","title":"borderWidth","parent":"plotOptions-pie-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-heatmap--borderWidth","fullname":"plotOptions.heatmap.borderWidth","title":"borderWidth","parent":"plotOptions-heatmap","isParent":false,"returnType":"Number","defaults":"1","description":"The width of the border surrounding each column or bar.","demo":"2px black border","deprecated":false},{"name":"series-dataLabels--borderWidth","fullname":"series.dataLabels.borderWidth","title":"borderWidth","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series--borderWidth","fullname":"series.borderWidth","title":"borderWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"1","description":"The width of the border surrounding each column or bar.","demo":"2px black border","deprecated":false},{"name":"series-dataLabels--borderWidth","fullname":"series.dataLabels.borderWidth","title":"borderWidth","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--borderWidth","fullname":"series.dataLabels.borderWidth","title":"borderWidth","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-solidgauge-dataLabels--borderWidth","fullname":"plotOptions.solidgauge.dataLabels.borderWidth","title":"borderWidth","parent":"plotOptions-solidgauge-dataLabels","isParent":false,"returnType":"Number","defaults":"1","since":"2.3.0","description":"The border width in pixels for the gauge data label.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-treemap-dataLabels--borderWidth","fullname":"plotOptions.treemap.dataLabels.borderWidth","title":"borderWidth","parent":"plotOptions-treemap-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--borderWidth","fullname":"series.dataLabels.borderWidth","title":"borderWidth","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--borderWidth","fullname":"series.dataLabels.borderWidth","title":"borderWidth","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"tooltip--borderWidth","fullname":"tooltip.borderWidth","title":"borderWidth","parent":"tooltip","isParent":false,"returnType":"Number","defaults":"1","description":"The pixel width of the tooltip border.","demo":"2px by default,,\r\n\t\t\tno border (shadow only)","deprecated":false},{"name":"plotOptions-arearange-dataLabels--borderWidth","fullname":"plotOptions.arearange.dataLabels.borderWidth","title":"borderWidth","parent":"plotOptions-arearange-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-pyramid-dataLabels--borderWidth","fullname":"plotOptions.pyramid.dataLabels.borderWidth","title":"borderWidth","parent":"plotOptions-pyramid-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--borderWidth","fullname":"series.dataLabels.borderWidth","title":"borderWidth","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--borderWidth","fullname":"series.dataLabels.borderWidth","title":"borderWidth","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--borderWidth","fullname":"series.dataLabels.borderWidth","title":"borderWidth","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series--borderWidth","fullname":"series.borderWidth","title":"borderWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"1","description":"The width of the border surrounding each slice.","demo":"3px border","deprecated":false},{"name":"plotOptions-funnel--borderWidth","fullname":"plotOptions.funnel.borderWidth","title":"borderWidth","parent":"plotOptions-funnel","isParent":false,"returnType":"Number","defaults":"1","description":"The width of the border surrounding each slice.","demo":"3px border","deprecated":false},{"name":"plotOptions-pie--borderWidth","fullname":"plotOptions.pie.borderWidth","title":"borderWidth","parent":"plotOptions-pie","isParent":false,"returnType":"Number","defaults":"1","description":"The width of the border surrounding each slice.","demo":"3px border","deprecated":false},{"name":"plotOptions-area-dataLabels--borderWidth","fullname":"plotOptions.area.dataLabels.borderWidth","title":"borderWidth","parent":"plotOptions-area-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-areaspline-dataLabels--borderWidth","fullname":"plotOptions.areaspline.dataLabels.borderWidth","title":"borderWidth","parent":"plotOptions-areaspline-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-areasplinerange-dataLabels--borderWidth","fullname":"plotOptions.areasplinerange.dataLabels.borderWidth","title":"borderWidth","parent":"plotOptions-areasplinerange-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--borderWidth","fullname":"series.dataLabels.borderWidth","title":"borderWidth","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"1","since":"2.3.0","description":"The border width in pixels for the gauge data label.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--borderWidth","fullname":"series.dataLabels.borderWidth","title":"borderWidth","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series--borderWidth","fullname":"series.borderWidth","title":"borderWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"1","description":"The width of the border surrounding each column or bar.","demo":"2px black border","deprecated":false},{"name":"series--borderWidth","fullname":"series.borderWidth","title":"borderWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"1","description":"The width of the border surrounding each column or bar.","demo":"2px black border","deprecated":false},{"name":"plotOptions-scatter-dataLabels--borderWidth","fullname":"plotOptions.scatter.dataLabels.borderWidth","title":"borderWidth","parent":"plotOptions-scatter-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-line-dataLabels--borderWidth","fullname":"plotOptions.line.dataLabels.borderWidth","title":"borderWidth","parent":"plotOptions-line-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-column-dataLabels--borderWidth","fullname":"plotOptions.column.dataLabels.borderWidth","title":"borderWidth","parent":"plotOptions-column-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series--borderWidth","fullname":"series.borderWidth","title":"borderWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"1","description":"The width of the border surrounding each column or bar.","demo":"2px black border","deprecated":false},{"name":"plotOptions-funnel-dataLabels--borderWidth","fullname":"plotOptions.funnel.dataLabels.borderWidth","title":"borderWidth","parent":"plotOptions-funnel-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--borderWidth","fullname":"series.dataLabels.borderWidth","title":"borderWidth","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-columnrange--borderWidth","fullname":"plotOptions.columnrange.borderWidth","title":"borderWidth","parent":"plotOptions-columnrange","isParent":false,"returnType":"Number","defaults":"1","description":"The width of the border surrounding each column or bar.","demo":"2px black border","deprecated":false},{"name":"series--borderWidth","fullname":"series.borderWidth","title":"borderWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"1","description":"The width of the border surrounding each column or bar.","demo":"2px black border","deprecated":false},{"name":"plotOptions-column--borderWidth","fullname":"plotOptions.column.borderWidth","title":"borderWidth","parent":"plotOptions-column","isParent":false,"returnType":"Number","defaults":"1","description":"The width of the border surrounding each column or bar.","demo":"2px black border","deprecated":false},{"name":"series-dataLabels--borderWidth","fullname":"series.dataLabels.borderWidth","title":"borderWidth","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-gauge-dial--borderWidth","fullname":"plotOptions.gauge.dial.borderWidth","title":"borderWidth","parent":"plotOptions-gauge-dial","isParent":false,"returnType":"Number","defaults":"0","since":"2.3.0","description":"The width of the gauge dial border in pixels.","demo":"Dial options demonstrated","seeAlso":"","deprecated":false},{"name":"series-dataLabels--borderWidth","fullname":"series.dataLabels.borderWidth","title":"borderWidth","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"1","since":"2.3.0","description":"The border width in pixels for the gauge data label.","demo":"","seeAlso":"","deprecated":false},{"name":"series-levels--borderWidth","fullname":"series.levels.borderWidth","title":"borderWidth","parent":"series-levels","isParent":false,"returnType":"Number","since":"4.1.0","description":"Can set the borderWidth on all points which lies on the same level.","deprecated":false},{"name":"plotOptions-treemap--borderWidth","fullname":"plotOptions.treemap.borderWidth","title":"borderWidth","parent":"plotOptions-treemap","isParent":false,"returnType":"Number","defaults":"1","description":"The width of the border surrounding each column or bar.","demo":"2px black border","deprecated":false},{"name":"plotOptions-bar-dataLabels--borderWidth","fullname":"plotOptions.bar.dataLabels.borderWidth","title":"borderWidth","parent":"plotOptions-bar-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series--borderWidth","fullname":"series.borderWidth","title":"borderWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"1","description":"The width of the border surrounding each column or bar.","demo":"2px black border","deprecated":false},{"name":"series-dataLabels--borderWidth","fullname":"series.dataLabels.borderWidth","title":"borderWidth","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"yAxis-plotBands--borderWidth","fullname":"yAxis.plotBands.borderWidth","title":"borderWidth","parent":"yAxis-plotBands","isParent":false,"returnType":"Number","defaults":"0","description":"Border width for the plot band. Also requires borderColor to be set.","deprecated":false},{"name":"plotOptions-pyramid--borderWidth","fullname":"plotOptions.pyramid.borderWidth","title":"borderWidth","parent":"plotOptions-pyramid","isParent":false,"returnType":"Number","defaults":"1","description":"The width of the border surrounding each slice.","demo":"3px border","deprecated":false},{"name":"series-dataLabels--borderWidth","fullname":"series.dataLabels.borderWidth","title":"borderWidth","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"chart--borderWidth","fullname":"chart.borderWidth","title":"borderWidth","parent":"chart","isParent":false,"returnType":"Number","defaults":"0","description":"The pixel width of the outer chart border.","demo":"5px border","deprecated":false},{"name":"plotOptions-spline-dataLabels--borderWidth","fullname":"plotOptions.spline.dataLabels.borderWidth","title":"borderWidth","parent":"plotOptions-spline-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-heatmap-dataLabels--borderWidth","fullname":"plotOptions.heatmap.dataLabels.borderWidth","title":"borderWidth","parent":"plotOptions-heatmap-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series-dial--borderWidth","fullname":"series.dial.borderWidth","title":"borderWidth","parent":"series-dial","isParent":false,"returnType":"Number","defaults":"0","since":"2.3.0","description":"The width of the gauge dial border in pixels.","demo":"Dial options demonstrated","seeAlso":"","deprecated":false},{"name":"plotOptions-waterfall--borderWidth","fullname":"plotOptions.waterfall.borderWidth","title":"borderWidth","parent":"plotOptions-waterfall","isParent":false,"returnType":"Number","defaults":"1","description":"The width of the border surrounding each column or bar.","demo":"2px black border","deprecated":false},{"name":"series-dataLabels--borderWidth","fullname":"series.dataLabels.borderWidth","title":"borderWidth","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"xAxis-plotBands--borderWidth","fullname":"xAxis.plotBands.borderWidth","title":"borderWidth","parent":"xAxis-plotBands","isParent":false,"returnType":"Number","defaults":"0","description":"Border width for the plot band. Also requires borderColor to be set.","deprecated":false},{"name":"series-dataLabels--borderWidth","fullname":"series.dataLabels.borderWidth","title":"borderWidth","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-waterfall-dataLabels--borderWidth","fullname":"plotOptions.waterfall.dataLabels.borderWidth","title":"borderWidth","parent":"plotOptions-waterfall-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-series-dataLabels--borderWidth","fullname":"plotOptions.series.dataLabels.borderWidth","title":"borderWidth","parent":"plotOptions-series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.1","description":"The border width in pixels for the data label.","demo":"Data labels box options","deprecated":false},{"name":"series-pivot--borderWidth","fullname":"series.pivot.borderWidth","title":"borderWidth","parent":"series-pivot","isParent":false,"returnType":"Number","defaults":"0","since":"2.3.0","description":"The border or stroke width of the pivot.","demo":"Pivot options demonstrated","seeAlso":"","deprecated":false},{"name":"plotOptions-gauge-dataLabels--borderWidth","fullname":"plotOptions.gauge.dataLabels.borderWidth","title":"borderWidth","parent":"plotOptions-gauge-dataLabels","isParent":false,"returnType":"Number","defaults":"1","since":"2.3.0","description":"The border width in pixels for the gauge data label.","demo":"","seeAlso":"","deprecated":false},{"name":"chart-options3d-frame-bottom","fullname":"chart.options3d.frame.bottom","title":"bottom","parent":"chart-options3d-frame","isParent":true,"returnType":"","defaults":"","values":"","since":"4.0","description":"The bottom of the frame around a 3D chart.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-boxplot","fullname":"plotOptions.boxplot","title":"boxplot","parent":"plotOptions","isParent":true,"returnType":"Object","defaults":"","values":"","since":"3.0","description":"A box plot is a convenient way of depicting groups of data through their five-number summaries: the smallest observation (sample minimum), lower quartile (Q1), median (Q2), upper quartile (Q3), and largest observation (sample maximum). ","demo":"","seeAlso":"","deprecated":false},{"name":"xAxis-breaks--breakSize","fullname":"xAxis.breaks.breakSize","title":"breakSize","parent":"xAxis-breaks","isParent":false,"returnType":"Number","defaults":"0","since":"4.1.0","description":"A number indicating how much space should be left between the start and the end of the break. The break size is given in axis units, so for instance on a datetime axis, a break size of 3600000 would indicate the equivalent of an hour.","deprecated":false},{"name":"yAxis-breaks--breakSize","fullname":"yAxis.breaks.breakSize","title":"breakSize","parent":"yAxis-breaks","isParent":false,"returnType":"Number","defaults":"0","since":"4.1.0","description":"A number indicating how much space should be left between the start and the end of the break. The break size is given in axis units, so for instance on a datetime axis, a break size of 3600000 would indicate the equivalent of an hour.","deprecated":false},{"name":"yAxis-breaks","fullname":"yAxis.breaks","title":"breaks","parent":"yAxis","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining breaks in the axis, the sections defined will be left out and all the points shifted closer to each other. Requires that the broken-axis.js module is loaded.","demo":"Simple break, advanced with callback","deprecated":false},{"name":"xAxis-breaks","fullname":"xAxis.breaks","title":"breaks","parent":"xAxis","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining breaks in the axis, the sections defined will be left out and all the points shifted closer to each other. Requires that the broken-axis.js module is loaded.","demo":"Simple break, advanced with callback","deprecated":false},{"name":"plotOptions-bubble","fullname":"plotOptions.bubble","title":"bubble","parent":"plotOptions","isParent":true,"returnType":"Object","defaults":"","values":"","since":"3.0","description":"A bubble series is a three dimensional series type where each point renders an X, Y and Z value. Each points is drawn as a bubble where the position along the X and Y axes mark the X and Y values, and the size of the bubble relates to the Z value.","demo":"","seeAlso":"","deprecated":false},{"name":"navigation-buttonOptions","fullname":"navigation.buttonOptions","title":"buttonOptions","parent":"navigation","isParent":true,"description":"A collection of options for buttons appearing in the exporting module."},{"name":"exporting-buttons","fullname":"exporting.buttons","title":"buttons","parent":"exporting","isParent":true,"description":"Options for the export related buttons, print and export. In addition to the default buttons listed here, custom buttons can be added. See navigation.buttonOptions for general options.","deprecated":false},{"name":"global--canvasToolsURL","fullname":"global.canvasToolsURL","title":"canvasToolsURL","parent":"global","isParent":false,"returnType":"String","defaults":"http://code.highcharts.com/{version}/modules/canvas-tools.js","description":"The URL to the additional file to lazy load for Android 2.x devices. These devices don't \r\n support SVG, so we download a helper file that contains canvg,\r\n its dependency rbcolor, and our own CanVG Renderer class. To avoid hotlinking to our site,\r\n you can install canvas-tools.js on your own server and change this option accordingly.","deprecated":false},{"name":"xAxis--categories","fullname":"xAxis.categories","title":"categories","parent":"xAxis","isParent":false,"returnType":"Array","description":"

If categories are present for the xAxis, names are used instead of numbers for that axis. Since Highcharts 3.0, categories can also be extracted by giving each point a name and setting axis type to category. However, if you have multiple series, best practice remains defining the categories array.

\r\n\r\n

Example:\r\n

categories: ['Apples', 'Bananas', 'Oranges']
\r\n\t\t Defaults to null\r\n

","demo":"With and\r\n\t\t\twithout categories","deprecated":false},{"name":"yAxis--categories","fullname":"yAxis.categories","title":"categories","parent":"yAxis","isParent":false,"returnType":"Array","description":"

If categories are present for the xAxis, names are used instead of numbers for that axis. Since Highcharts 3.0, categories can also be extracted by giving each point a name and setting axis type to category. However, if you have multiple series, best practice remains defining the categories array.

\r\n\r\n

Example:\r\n

categories: ['Apples', 'Bananas', 'Oranges']
\r\n\t\t Defaults to null\r\n

","demo":"With and\r\n\t\t\twithout categories","deprecated":false},{"name":"yAxis--ceiling","fullname":"yAxis.ceiling","title":"ceiling","parent":"yAxis","isParent":false,"returnType":"Number","defaults":"","values":"","since":"4.0","description":"The highest allowed value for automatically computed axis extremes.","demo":" Floor and ceiling","seeAlso":"floor","deprecated":false},{"name":"xAxis--ceiling","fullname":"xAxis.ceiling","title":"ceiling","parent":"xAxis","isParent":false,"returnType":"Number","defaults":"","values":"","since":"4.0","description":"The highest allowed value for automatically computed axis extremes.","demo":" Floor and ceiling","seeAlso":"floor","deprecated":false},{"name":"series--center","fullname":"series.center","title":"center","parent":"series","isParent":false,"returnType":"Array","defaults":"[null, null]","description":"The center of the pie chart relative to the plot area. Can be percentages or pixel values. The default behaviour (as of 3.0) is to center the pie so that all slices and data labels are within the plot area. As a consequence, the pie may actually jump around in a chart with dynamic values, as the data labels move. In that case, the center should be explicitly set, for example to [\"50%\", \"50%\"].\r\n\t\t ","demo":"Centered at 100, 100","deprecated":false},{"name":"series--center","fullname":"series.center","title":"center","parent":"series","isParent":false,"returnType":"Array","defaults":"[\"50%\", \"50%\"]","since":"3.0","description":"The center of the series. By default, it is centered in the middle of the plot area, so it fills the plot area height.","deprecated":false},{"name":"pane--center","fullname":"pane.center","title":"center","parent":"pane","isParent":false,"returnType":"Array","defaults":"[\"50%\", \"50%\"]","since":"2.3.0","description":"The center of a polar chart or angular gauge, given as an array of [x, y] positions. Positions can be given as integers that transform to pixels, or as percentages of the plot area size.","demo":"Two gauges with different center","deprecated":false},{"name":"plotOptions-pie--center","fullname":"plotOptions.pie.center","title":"center","parent":"plotOptions-pie","isParent":false,"returnType":"Array","defaults":"[null, null]","description":"The center of the pie chart relative to the plot area. Can be percentages or pixel values. The default behaviour (as of 3.0) is to center the pie so that all slices and data labels are within the plot area. As a consequence, the pie may actually jump around in a chart with dynamic values, as the data labels move. In that case, the center should be explicitly set, for example to [\"50%\", \"50%\"].\r\n\t\t ","demo":"Centered at 100, 100","deprecated":false},{"name":"plotOptions-pyramid--center","fullname":"plotOptions.pyramid.center","title":"center","parent":"plotOptions-pyramid","isParent":false,"returnType":"Array","defaults":"[\"50%\", \"50%\"]","since":"3.0","description":"The center of the series. By default, it is centered in the middle of the plot area, so it fills the plot area height.","deprecated":false},{"name":"series--center","fullname":"series.center","title":"center","parent":"series","isParent":false,"returnType":"Array","defaults":"[\"50%\", \"50%\"]","since":"3.0","description":"The center of the series. By default, it is centered in the middle of the plot area, so it fills the plot area height.","deprecated":false},{"name":"plotOptions-funnel--center","fullname":"plotOptions.funnel.center","title":"center","parent":"plotOptions-funnel","isParent":false,"returnType":"Array","defaults":"[\"50%\", \"50%\"]","since":"3.0","description":"The center of the series. By default, it is centered in the middle of the plot area, so it fills the plot area height.","deprecated":false},{"name":"chart","fullname":"chart","title":"chart","isParent":true,"description":"Options regarding the chart area and plot area as well as general chart options."},{"name":"exporting--chartOptions","fullname":"exporting.chartOptions","title":"chartOptions","parent":"exporting","isParent":false,"returnType":"Object","defaults":"null","values":"","since":"","description":"Additional chart options to be merged into an exported chart. For example, the exported chart can be given a specific width and height, or a printer-friendly color scheme.","demo":"","seeAlso":"","deprecated":false},{"name":"series-events--checkboxClick","fullname":"series.events.checkboxClick","title":"checkboxClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"plotOptions-area-events--checkboxClick","fullname":"plotOptions.area.events.checkboxClick","title":"checkboxClick","parent":"plotOptions-area-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"plotOptions-arearange-events--checkboxClick","fullname":"plotOptions.arearange.events.checkboxClick","title":"checkboxClick","parent":"plotOptions-arearange-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"plotOptions-spline-events--checkboxClick","fullname":"plotOptions.spline.events.checkboxClick","title":"checkboxClick","parent":"plotOptions-spline-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"plotOptions-pyramid-events--checkboxClick","fullname":"plotOptions.pyramid.events.checkboxClick","title":"checkboxClick","parent":"plotOptions-pyramid-events","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"1.2.0","description":"Fires when the checkbox next to the point name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","seeAlso":"","deprecated":false},{"name":"series-events--checkboxClick","fullname":"series.events.checkboxClick","title":"checkboxClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"plotOptions-column-events--checkboxClick","fullname":"plotOptions.column.events.checkboxClick","title":"checkboxClick","parent":"plotOptions-column-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"plotOptions-solidgauge-events--checkboxClick","fullname":"plotOptions.solidgauge.events.checkboxClick","title":"checkboxClick","parent":"plotOptions-solidgauge-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"series-events--checkboxClick","fullname":"series.events.checkboxClick","title":"checkboxClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"series-events--checkboxClick","fullname":"series.events.checkboxClick","title":"checkboxClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"series-events--checkboxClick","fullname":"series.events.checkboxClick","title":"checkboxClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"series-events--checkboxClick","fullname":"series.events.checkboxClick","title":"checkboxClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"series-events--checkboxClick","fullname":"series.events.checkboxClick","title":"checkboxClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"plotOptions-areaspline-events--checkboxClick","fullname":"plotOptions.areaspline.events.checkboxClick","title":"checkboxClick","parent":"plotOptions-areaspline-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"plotOptions-treemap-events--checkboxClick","fullname":"plotOptions.treemap.events.checkboxClick","title":"checkboxClick","parent":"plotOptions-treemap-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"plotOptions-columnrange-events--checkboxClick","fullname":"plotOptions.columnrange.events.checkboxClick","title":"checkboxClick","parent":"plotOptions-columnrange-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"plotOptions-funnel-events--checkboxClick","fullname":"plotOptions.funnel.events.checkboxClick","title":"checkboxClick","parent":"plotOptions-funnel-events","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"1.2.0","description":"Fires when the checkbox next to the point name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","seeAlso":"","deprecated":false},{"name":"series-events--checkboxClick","fullname":"series.events.checkboxClick","title":"checkboxClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"series-events--checkboxClick","fullname":"series.events.checkboxClick","title":"checkboxClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"series-events--checkboxClick","fullname":"series.events.checkboxClick","title":"checkboxClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"plotOptions-heatmap-events--checkboxClick","fullname":"plotOptions.heatmap.events.checkboxClick","title":"checkboxClick","parent":"plotOptions-heatmap-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"series-events--checkboxClick","fullname":"series.events.checkboxClick","title":"checkboxClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"plotOptions-errorbar-events--checkboxClick","fullname":"plotOptions.errorbar.events.checkboxClick","title":"checkboxClick","parent":"plotOptions-errorbar-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"series-events--checkboxClick","fullname":"series.events.checkboxClick","title":"checkboxClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"1.2.0","description":"Fires when the checkbox next to the point name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","seeAlso":"","deprecated":false},{"name":"plotOptions-areasplinerange-events--checkboxClick","fullname":"plotOptions.areasplinerange.events.checkboxClick","title":"checkboxClick","parent":"plotOptions-areasplinerange-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"plotOptions-series-events--checkboxClick","fullname":"plotOptions.series.events.checkboxClick","title":"checkboxClick","parent":"plotOptions-series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"plotOptions-polygon-events--checkboxClick","fullname":"plotOptions.polygon.events.checkboxClick","title":"checkboxClick","parent":"plotOptions-polygon-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"plotOptions-scatter-events--checkboxClick","fullname":"plotOptions.scatter.events.checkboxClick","title":"checkboxClick","parent":"plotOptions-scatter-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"plotOptions-gauge-events--checkboxClick","fullname":"plotOptions.gauge.events.checkboxClick","title":"checkboxClick","parent":"plotOptions-gauge-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"series-events--checkboxClick","fullname":"series.events.checkboxClick","title":"checkboxClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"series-events--checkboxClick","fullname":"series.events.checkboxClick","title":"checkboxClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"series-events--checkboxClick","fullname":"series.events.checkboxClick","title":"checkboxClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"series-events--checkboxClick","fullname":"series.events.checkboxClick","title":"checkboxClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"series-events--checkboxClick","fullname":"series.events.checkboxClick","title":"checkboxClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"plotOptions-line-events--checkboxClick","fullname":"plotOptions.line.events.checkboxClick","title":"checkboxClick","parent":"plotOptions-line-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"series-events--checkboxClick","fullname":"series.events.checkboxClick","title":"checkboxClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"1.2.0","description":"Fires when the checkbox next to the point name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","seeAlso":"","deprecated":false},{"name":"series-events--checkboxClick","fullname":"series.events.checkboxClick","title":"checkboxClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"plotOptions-pie-events--checkboxClick","fullname":"plotOptions.pie.events.checkboxClick","title":"checkboxClick","parent":"plotOptions-pie-events","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"1.2.0","description":"Fires when the checkbox next to the point name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","seeAlso":"","deprecated":false},{"name":"plotOptions-waterfall-events--checkboxClick","fullname":"plotOptions.waterfall.events.checkboxClick","title":"checkboxClick","parent":"plotOptions-waterfall-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"plotOptions-bar-events--checkboxClick","fullname":"plotOptions.bar.events.checkboxClick","title":"checkboxClick","parent":"plotOptions-bar-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"plotOptions-bubble-events--checkboxClick","fullname":"plotOptions.bubble.events.checkboxClick","title":"checkboxClick","parent":"plotOptions-bubble-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"plotOptions-boxplot-events--checkboxClick","fullname":"plotOptions.boxplot.events.checkboxClick","title":"checkboxClick","parent":"plotOptions-boxplot-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"series-events--checkboxClick","fullname":"series.events.checkboxClick","title":"checkboxClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"series-events--checkboxClick","fullname":"series.events.checkboxClick","title":"checkboxClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the checkbox next to the series' name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","deprecated":false},{"name":"series-events--checkboxClick","fullname":"series.events.checkboxClick","title":"checkboxClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"1.2.0","description":"Fires when the checkbox next to the point name in the legend is clicked. One parameter, event, is passed to the function. The state of the checkbox is found by event.checked. The checked item is found by event.item. Return false to prevent the default action which is to toggle the select state of the series.","demo":"Alert checkbox status","seeAlso":"","deprecated":false},{"name":"chart--className","fullname":"chart.className","title":"className","parent":"chart","isParent":false,"returnType":"String","description":"A CSS class name to apply to the charts container div, allowing unique CSS styling for each chart."},{"name":"plotOptions-series-point-events--click","fullname":"plotOptions.series.point.events.click","title":"click","parent":"plotOptions-series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-data-events--click","fullname":"series.data.events.click","title":"click","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-data-events--click","fullname":"series.data.events.click","title":"click","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-point-events--click","fullname":"series.point.events.click","title":"click","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-data-events--click","fullname":"series.data.events.click","title":"click","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-point-events--click","fullname":"series.point.events.click","title":"click","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"plotOptions-areasplinerange-events--click","fullname":"plotOptions.areasplinerange.events.click","title":"click","parent":"plotOptions-areasplinerange-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"series-events--click","fullname":"series.events.click","title":"click","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"series-point-events--click","fullname":"series.point.events.click","title":"click","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-events--click","fullname":"series.events.click","title":"click","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"plotOptions-polygon-point-events--click","fullname":"plotOptions.polygon.point.events.click","title":"click","parent":"plotOptions-polygon-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-point-events--click","fullname":"series.point.events.click","title":"click","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"plotOptions-bar-point-events--click","fullname":"plotOptions.bar.point.events.click","title":"click","parent":"plotOptions-bar-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"plotOptions-bubble-events--click","fullname":"plotOptions.bubble.events.click","title":"click","parent":"plotOptions-bubble-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"series-point-events--click","fullname":"series.point.events.click","title":"click","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"plotOptions-gauge-point-events--click","fullname":"plotOptions.gauge.point.events.click","title":"click","parent":"plotOptions-gauge-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-point-events--click","fullname":"series.point.events.click","title":"click","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-events--click","fullname":"series.events.click","title":"click","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"series-point-events--click","fullname":"series.point.events.click","title":"click","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"plotOptions-boxplot-events--click","fullname":"plotOptions.boxplot.events.click","title":"click","parent":"plotOptions-boxplot-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"plotOptions-funnel-point-events--click","fullname":"plotOptions.funnel.point.events.click","title":"click","parent":"plotOptions-funnel-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-data-events--click","fullname":"series.data.events.click","title":"click","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"plotOptions-area-events--click","fullname":"plotOptions.area.events.click","title":"click","parent":"plotOptions-area-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"series-data-events--click","fullname":"series.data.events.click","title":"click","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"plotOptions-columnrange-point-events--click","fullname":"plotOptions.columnrange.point.events.click","title":"click","parent":"plotOptions-columnrange-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"plotOptions-errorbar-events--click","fullname":"plotOptions.errorbar.events.click","title":"click","parent":"plotOptions-errorbar-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"series-events--click","fullname":"series.events.click","title":"click","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"plotOptions-bubble-point-events--click","fullname":"plotOptions.bubble.point.events.click","title":"click","parent":"plotOptions-bubble-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"plotOptions-treemap-point-events--click","fullname":"plotOptions.treemap.point.events.click","title":"click","parent":"plotOptions-treemap-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-point-events--click","fullname":"series.point.events.click","title":"click","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"plotOptions-pie-point-events--click","fullname":"plotOptions.pie.point.events.click","title":"click","parent":"plotOptions-pie-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-data-events--click","fullname":"series.data.events.click","title":"click","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-point-events--click","fullname":"series.point.events.click","title":"click","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-point-events--click","fullname":"series.point.events.click","title":"click","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-point-events--click","fullname":"series.point.events.click","title":"click","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"plotOptions-treemap-events--click","fullname":"plotOptions.treemap.events.click","title":"click","parent":"plotOptions-treemap-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"plotOptions-spline-point-events--click","fullname":"plotOptions.spline.point.events.click","title":"click","parent":"plotOptions-spline-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-events--click","fullname":"series.events.click","title":"click","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"series-data-events--click","fullname":"series.data.events.click","title":"click","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-events--click","fullname":"series.events.click","title":"click","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"series-data-events--click","fullname":"series.data.events.click","title":"click","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"plotOptions-heatmap-point-events--click","fullname":"plotOptions.heatmap.point.events.click","title":"click","parent":"plotOptions-heatmap-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-events--click","fullname":"series.events.click","title":"click","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"series-events--click","fullname":"series.events.click","title":"click","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"series-point-events--click","fullname":"series.point.events.click","title":"click","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"plotOptions-funnel-events--click","fullname":"plotOptions.funnel.events.click","title":"click","parent":"plotOptions-funnel-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"plotOptions-areasplinerange-point-events--click","fullname":"plotOptions.areasplinerange.point.events.click","title":"click","parent":"plotOptions-areasplinerange-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-point-events--click","fullname":"series.point.events.click","title":"click","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-events--click","fullname":"series.events.click","title":"click","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"plotOptions-spline-events--click","fullname":"plotOptions.spline.events.click","title":"click","parent":"plotOptions-spline-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"plotOptions-polygon-events--click","fullname":"plotOptions.polygon.events.click","title":"click","parent":"plotOptions-polygon-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"plotOptions-scatter-events--click","fullname":"plotOptions.scatter.events.click","title":"click","parent":"plotOptions-scatter-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"plotOptions-scatter-point-events--click","fullname":"plotOptions.scatter.point.events.click","title":"click","parent":"plotOptions-scatter-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"plotOptions-solidgauge-events--click","fullname":"plotOptions.solidgauge.events.click","title":"click","parent":"plotOptions-solidgauge-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"series-point-events--click","fullname":"series.point.events.click","title":"click","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"plotOptions-bar-events--click","fullname":"plotOptions.bar.events.click","title":"click","parent":"plotOptions-bar-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"plotOptions-area-point-events--click","fullname":"plotOptions.area.point.events.click","title":"click","parent":"plotOptions-area-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-point-events--click","fullname":"series.point.events.click","title":"click","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-data-events--click","fullname":"series.data.events.click","title":"click","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"plotOptions-line-point-events--click","fullname":"plotOptions.line.point.events.click","title":"click","parent":"plotOptions-line-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-data-events--click","fullname":"series.data.events.click","title":"click","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"plotOptions-series-events--click","fullname":"plotOptions.series.events.click","title":"click","parent":"plotOptions-series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"series-point-events--click","fullname":"series.point.events.click","title":"click","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-point-events--click","fullname":"series.point.events.click","title":"click","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-events--click","fullname":"series.events.click","title":"click","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"plotOptions-heatmap-events--click","fullname":"plotOptions.heatmap.events.click","title":"click","parent":"plotOptions-heatmap-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"plotOptions-waterfall-point-events--click","fullname":"plotOptions.waterfall.point.events.click","title":"click","parent":"plotOptions-waterfall-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-data-events--click","fullname":"series.data.events.click","title":"click","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"chart-events--click","fullname":"chart.events.click","title":"click","parent":"chart-events","isParent":false,"returnType":"Function","context":"Chart","since":"1.2.0","description":"

Fires when clicking on the plot background. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

Information on the clicked spot can be found through event.xAxis and event.yAxis, which are arrays containing the axes of each dimension and each axis' value at the clicked spot. The primary axes are event.xAxis[0] and event.yAxis[0]. Remember the unit of a datetime axis is milliseconds since 1970-01-01 00:00:00.

\r\n
click: function(e) {\r\n\tconsole.log(\r\n\t\tHighcharts.dateFormat('%Y-%m-%d %H:%M:%S', e.xAxis[0].value), \r\n\t\te.yAxis[0].value\r\n\t)\r\n}
","demo":"Alert coordinates on click. Alternatively, attach event to container","deprecated":false},{"name":"series-data-events--click","fullname":"series.data.events.click","title":"click","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-point-events--click","fullname":"series.point.events.click","title":"click","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"plotOptions-column-events--click","fullname":"plotOptions.column.events.click","title":"click","parent":"plotOptions-column-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"plotOptions-columnrange-events--click","fullname":"plotOptions.columnrange.events.click","title":"click","parent":"plotOptions-columnrange-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"series-events--click","fullname":"series.events.click","title":"click","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"series-events--click","fullname":"series.events.click","title":"click","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"plotOptions-waterfall-events--click","fullname":"plotOptions.waterfall.events.click","title":"click","parent":"plotOptions-waterfall-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"series-point-events--click","fullname":"series.point.events.click","title":"click","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"plotOptions-areaspline-point-events--click","fullname":"plotOptions.areaspline.point.events.click","title":"click","parent":"plotOptions-areaspline-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-data-events--click","fullname":"series.data.events.click","title":"click","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-events--click","fullname":"series.events.click","title":"click","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"series-events--click","fullname":"series.events.click","title":"click","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"series-data-events--click","fullname":"series.data.events.click","title":"click","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-events--click","fullname":"series.events.click","title":"click","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"series-events--click","fullname":"series.events.click","title":"click","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"plotOptions-gauge-events--click","fullname":"plotOptions.gauge.events.click","title":"click","parent":"plotOptions-gauge-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"series-data-events--click","fullname":"series.data.events.click","title":"click","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"plotOptions-arearange-events--click","fullname":"plotOptions.arearange.events.click","title":"click","parent":"plotOptions-arearange-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"plotOptions-areaspline-events--click","fullname":"plotOptions.areaspline.events.click","title":"click","parent":"plotOptions-areaspline-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"plotOptions-boxplot-point-events--click","fullname":"plotOptions.boxplot.point.events.click","title":"click","parent":"plotOptions-boxplot-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"plotOptions-arearange-point-events--click","fullname":"plotOptions.arearange.point.events.click","title":"click","parent":"plotOptions-arearange-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-data-events--click","fullname":"series.data.events.click","title":"click","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-events--click","fullname":"series.events.click","title":"click","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"plotOptions-errorbar-point-events--click","fullname":"plotOptions.errorbar.point.events.click","title":"click","parent":"plotOptions-errorbar-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"plotOptions-solidgauge-point-events--click","fullname":"plotOptions.solidgauge.point.events.click","title":"click","parent":"plotOptions-solidgauge-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-events--click","fullname":"series.events.click","title":"click","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"plotOptions-pie-events--click","fullname":"plotOptions.pie.events.click","title":"click","parent":"plotOptions-pie-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"series-events--click","fullname":"series.events.click","title":"click","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"series-data-events--click","fullname":"series.data.events.click","title":"click","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-data-events--click","fullname":"series.data.events.click","title":"click","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-point-events--click","fullname":"series.point.events.click","title":"click","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"plotOptions-line-events--click","fullname":"plotOptions.line.events.click","title":"click","parent":"plotOptions-line-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"series-point-events--click","fullname":"series.point.events.click","title":"click","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"plotOptions-pyramid-events--click","fullname":"plotOptions.pyramid.events.click","title":"click","parent":"plotOptions-pyramid-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"series-point-events--click","fullname":"series.point.events.click","title":"click","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"plotOptions-pyramid-point-events--click","fullname":"plotOptions.pyramid.point.events.click","title":"click","parent":"plotOptions-pyramid-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-data-events--click","fullname":"series.data.events.click","title":"click","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"plotOptions-column-point-events--click","fullname":"plotOptions.column.point.events.click","title":"click","parent":"plotOptions-column-point-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-events--click","fullname":"series.events.click","title":"click","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"series-events--click","fullname":"series.events.click","title":"click","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"series-data-events--click","fullname":"series.data.events.click","title":"click","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-data-events--click","fullname":"series.data.events.click","title":"click","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-data-events--click","fullname":"series.data.events.click","title":"click","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"

Fires when a point is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

If the series.allowPointSelect option is true, the default action for the point's click event is to toggle the point's select state. Returning false cancels this action.

","demo":"Click marker to alert values,\r\n\t\t\tclick column, \r\n\t\t\tgo to URL","deprecated":false},{"name":"series-events--click","fullname":"series.events.click","title":"click","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. Additionally, event.point holds a pointer to the nearest point on the graph.","demo":"Alert click info","deprecated":false},{"name":"series-dataLabels--color","fullname":"series.dataLabels.color","title":"color","parent":"series-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"series--color","fullname":"series.color","title":"color","parent":"series","isParent":false,"returnType":"Color","defaults":"null","since":"4.0","description":"The main color of the series. In heat maps this color is rarely used, as we mostly use the color to denote the value of each point. Unless options are set in the colorAxis, the default value is pulled from the options.colors array.","deprecated":false},{"name":"yAxis-plotBands--color","fullname":"yAxis.plotBands.color","title":"color","parent":"yAxis-plotBands","isParent":false,"returnType":"Color","description":"The color of the plot band.","demo":"Color band"},{"name":"series-dataLabels--color","fullname":"series.dataLabels.color","title":"color","parent":"series-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"series-zones--color","fullname":"series.zones.color","title":"color","parent":"series-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"series-zones--color","fullname":"series.zones.color","title":"color","parent":"series-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"plotOptions-area-dataLabels--color","fullname":"plotOptions.area.dataLabels.color","title":"color","parent":"plotOptions-area-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"xAxis-plotBands--color","fullname":"xAxis.plotBands.color","title":"color","parent":"xAxis-plotBands","isParent":false,"returnType":"Color","description":"The color of the plot band.","demo":"Color band"},{"name":"series-data--color","fullname":"series.data.color","title":"color","parent":"series-data","isParent":false,"returnType":"Color","defaults":"undefined","description":"Individual color for the point. By default the color is pulled from the global colors array.","demo":"Mark the highest point","deprecated":false},{"name":"xAxis-plotLines--color","fullname":"xAxis.plotLines.color","title":"color","parent":"xAxis-plotLines","isParent":false,"returnType":"Color","description":"The color of the line.","demo":"A red line from X axis"},{"name":"series-data--color","fullname":"series.data.color","title":"color","parent":"series-data","isParent":false,"returnType":"Color","defaults":"undefined","description":"Individual color for the point. By default the color is pulled from the global colors array.","demo":"Mark the highest point","deprecated":false},{"name":"series-zones--color","fullname":"series.zones.color","title":"color","parent":"series-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"series-data--color","fullname":"series.data.color","title":"color","parent":"series-data","isParent":false,"returnType":"Color","defaults":"undefined","description":"Individual color for the point. By default the color is pulled from the global colors array.","demo":"Mark the highest point","deprecated":false},{"name":"plotOptions-scatter-dataLabels--color","fullname":"plotOptions.scatter.dataLabels.color","title":"color","parent":"plotOptions-scatter-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"series-zones--color","fullname":"series.zones.color","title":"color","parent":"series-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"plotOptions-waterfall-zones--color","fullname":"plotOptions.waterfall.zones.color","title":"color","parent":"plotOptions-waterfall-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"series--color","fullname":"series.color","title":"color","parent":"series","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"yAxis-plotLines--color","fullname":"yAxis.plotLines.color","title":"color","parent":"yAxis-plotLines","isParent":false,"returnType":"Color","description":"The color of the line.","demo":"A red line from X axis"},{"name":"plotOptions-polygon-zones--color","fullname":"plotOptions.polygon.zones.color","title":"color","parent":"plotOptions-polygon-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"plotOptions-pie-zones--color","fullname":"plotOptions.pie.zones.color","title":"color","parent":"plotOptions-pie-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"series-dataLabels--color","fullname":"series.dataLabels.color","title":"color","parent":"series-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"series-dataLabels--color","fullname":"series.dataLabels.color","title":"color","parent":"series-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"plotOptions-funnel-zones--color","fullname":"plotOptions.funnel.zones.color","title":"color","parent":"plotOptions-funnel-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"plotOptions-solidgauge-zones--color","fullname":"plotOptions.solidgauge.zones.color","title":"color","parent":"plotOptions-solidgauge-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"series-data--color","fullname":"series.data.color","title":"color","parent":"series-data","isParent":false,"returnType":"Color","defaults":"undefined","description":"Individual color for the point. By default the color is pulled from the global colors array.","demo":"Mark the highest point","deprecated":false},{"name":"series-data--color","fullname":"series.data.color","title":"color","parent":"series-data","isParent":false,"returnType":"Color","defaults":"undefined","description":"Individual color for the point. By default the color is pulled from the global colors array.","demo":"Mark the highest point","deprecated":false},{"name":"plotOptions-series-zones--color","fullname":"plotOptions.series.zones.color","title":"color","parent":"plotOptions-series-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"plotOptions-areaspline--color","fullname":"plotOptions.areaspline.color","title":"color","parent":"plotOptions-areaspline","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"plotOptions-columnrange-zones--color","fullname":"plotOptions.columnrange.zones.color","title":"color","parent":"plotOptions-columnrange-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"plotOptions-treemap-zones--color","fullname":"plotOptions.treemap.zones.color","title":"color","parent":"plotOptions-treemap-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"series-data--color","fullname":"series.data.color","title":"color","parent":"series-data","isParent":false,"returnType":"Color","defaults":"undefined","description":"Individual color for the point. By default the color is pulled from the global colors array.","demo":"Mark the highest point","deprecated":false},{"name":"plotOptions-bar--color","fullname":"plotOptions.bar.color","title":"color","parent":"plotOptions-bar","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"plotOptions-gauge--color","fullname":"plotOptions.gauge.color","title":"color","parent":"plotOptions-gauge","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"chart-options3d-frame-back--color","fullname":"chart.options3d.frame.back.color","title":"color","parent":"chart-options3d-frame-back","isParent":false,"returnType":"Color","defaults":"transparent","values":"","since":"4.0","description":"The color of the panel.","demo":"","seeAlso":"","deprecated":false},{"name":"series-data--color","fullname":"series.data.color","title":"color","parent":"series-data","isParent":false,"returnType":"Color","defaults":"undefined","description":"Individual color for the point. By default the color is pulled from the global colors array.","demo":"Mark the highest point","deprecated":false},{"name":"series-dataLabels--color","fullname":"series.dataLabels.color","title":"color","parent":"series-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"plotOptions-spline-dataLabels--color","fullname":"plotOptions.spline.dataLabels.color","title":"color","parent":"plotOptions-spline-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"series-zones--color","fullname":"series.zones.color","title":"color","parent":"series-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"plotOptions-arearange--color","fullname":"plotOptions.arearange.color","title":"color","parent":"plotOptions-arearange","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"series-dataLabels--color","fullname":"series.dataLabels.color","title":"color","parent":"series-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"plotOptions-pyramid-dataLabels--color","fullname":"plotOptions.pyramid.dataLabels.color","title":"color","parent":"plotOptions-pyramid-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"series--color","fullname":"series.color","title":"color","parent":"series","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"series-dataLabels--color","fullname":"series.dataLabels.color","title":"color","parent":"series-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"series-dataLabels--color","fullname":"series.dataLabels.color","title":"color","parent":"series-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"plotOptions-waterfall--color","fullname":"plotOptions.waterfall.color","title":"color","parent":"plotOptions-waterfall","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"plotOptions-bubble-zones--color","fullname":"plotOptions.bubble.zones.color","title":"color","parent":"plotOptions-bubble-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"plotOptions-line-dataLabels--color","fullname":"plotOptions.line.dataLabels.color","title":"color","parent":"plotOptions-line-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"plotOptions-gauge-dataLabels--color","fullname":"plotOptions.gauge.dataLabels.color","title":"color","parent":"plotOptions-gauge-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"series-zones--color","fullname":"series.zones.color","title":"color","parent":"series-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"series-zones--color","fullname":"series.zones.color","title":"color","parent":"series-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"series--color","fullname":"series.color","title":"color","parent":"series","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"series-zones--color","fullname":"series.zones.color","title":"color","parent":"series-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"plotOptions-arearange-zones--color","fullname":"plotOptions.arearange.zones.color","title":"color","parent":"plotOptions-arearange-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"series-data--color","fullname":"series.data.color","title":"color","parent":"series-data","isParent":false,"returnType":"Color","defaults":"undefined","description":"Individual color for the point. By default the color is pulled from the global colors array.","demo":"Mark the highest point","deprecated":false},{"name":"series-data--color","fullname":"series.data.color","title":"color","parent":"series-data","isParent":false,"returnType":"Color","defaults":"undefined","description":"Individual color for the point. By default the color is pulled from the global colors array.","demo":"Mark the highest point","deprecated":false},{"name":"plotOptions-column--color","fullname":"plotOptions.column.color","title":"color","parent":"plotOptions-column","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"series-zones--color","fullname":"series.zones.color","title":"color","parent":"series-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"series-dataLabels--color","fullname":"series.dataLabels.color","title":"color","parent":"series-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"series-dataLabels--color","fullname":"series.dataLabels.color","title":"color","parent":"series-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"series-zones--color","fullname":"series.zones.color","title":"color","parent":"series-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"series-zones--color","fullname":"series.zones.color","title":"color","parent":"series-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"series--color","fullname":"series.color","title":"color","parent":"series","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"series--color","fullname":"series.color","title":"color","parent":"series","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"plotOptions-bubble-dataLabels--color","fullname":"plotOptions.bubble.dataLabels.color","title":"color","parent":"plotOptions-bubble-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"series-dataLabels--color","fullname":"series.dataLabels.color","title":"color","parent":"series-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"series-zones--color","fullname":"series.zones.color","title":"color","parent":"series-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"series--color","fullname":"series.color","title":"color","parent":"series","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"plotOptions-treemap--color","fullname":"plotOptions.treemap.color","title":"color","parent":"plotOptions-treemap","isParent":false,"returnType":"Color","defaults":"null","since":"4.0","description":"The main color of the series. In heat maps this color is rarely used, as we mostly use the color to denote the value of each point. Unless options are set in the colorAxis, the default value is pulled from the options.colors array.","deprecated":false},{"name":"plotOptions-heatmap--color","fullname":"plotOptions.heatmap.color","title":"color","parent":"plotOptions-heatmap","isParent":false,"returnType":"Color","defaults":"null","since":"4.0","description":"The main color of the series. In heat maps this color is rarely used, as we mostly use the color to denote the value of each point. Unless options are set in the colorAxis, the default value is pulled from the options.colors array.","deprecated":false},{"name":"series-zones--color","fullname":"series.zones.color","title":"color","parent":"series-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"chart-options3d-frame-side--color","fullname":"chart.options3d.frame.side.color","title":"color","parent":"chart-options3d-frame-side","isParent":false,"returnType":"Color","defaults":"transparent","values":"","since":"4.0","description":"The color of the panel.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange-dataLabels--color","fullname":"plotOptions.columnrange.dataLabels.color","title":"color","parent":"plotOptions-columnrange-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"plotOptions-series-dataLabels--color","fullname":"plotOptions.series.dataLabels.color","title":"color","parent":"plotOptions-series-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"plotOptions-heatmap-zones--color","fullname":"plotOptions.heatmap.zones.color","title":"color","parent":"plotOptions-heatmap-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"plotOptions-waterfall-dataLabels--color","fullname":"plotOptions.waterfall.dataLabels.color","title":"color","parent":"plotOptions-waterfall-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"series-dataLabels--color","fullname":"series.dataLabels.color","title":"color","parent":"series-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"plotOptions-area--color","fullname":"plotOptions.area.color","title":"color","parent":"plotOptions-area","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"chart-options3d-frame-bottom--color","fullname":"chart.options3d.frame.bottom.color","title":"color","parent":"chart-options3d-frame-bottom","isParent":false,"returnType":"Color","defaults":"transparent","values":"","since":"4.0","description":"The color of the panel.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-heatmap-dataLabels--color","fullname":"plotOptions.heatmap.dataLabels.color","title":"color","parent":"plotOptions-heatmap-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"series-zones--color","fullname":"series.zones.color","title":"color","parent":"series-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"series-zones--color","fullname":"series.zones.color","title":"color","parent":"series-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"series-zones--color","fullname":"series.zones.color","title":"color","parent":"series-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"series-data--color","fullname":"series.data.color","title":"color","parent":"series-data","isParent":false,"returnType":"Color","description":"The color of the point. In heat maps the point color is rarely set explicitly, as we use the color to denote the value. Options for this are set in the colorAxis configuration."},{"name":"plotOptions-pyramid-zones--color","fullname":"plotOptions.pyramid.zones.color","title":"color","parent":"plotOptions-pyramid-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"plotOptions-spline-zones--color","fullname":"plotOptions.spline.zones.color","title":"color","parent":"plotOptions-spline-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"series--color","fullname":"series.color","title":"color","parent":"series","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"series--color","fullname":"series.color","title":"color","parent":"series","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"series--color","fullname":"series.color","title":"color","parent":"series","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"plotOptions-boxplot-zones--color","fullname":"plotOptions.boxplot.zones.color","title":"color","parent":"plotOptions-boxplot-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"series-levels--color","fullname":"series.levels.color","title":"color","parent":"series-levels","isParent":false,"returnType":"Color","since":"4.1.0","description":"Can set a color on all points which lies on the same level.","deprecated":false},{"name":"plotOptions-bar-zones--color","fullname":"plotOptions.bar.zones.color","title":"color","parent":"plotOptions-bar-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"series--color","fullname":"series.color","title":"color","parent":"series","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"plotOptions-column-zones--color","fullname":"plotOptions.column.zones.color","title":"color","parent":"plotOptions-column-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"plotOptions-line--color","fullname":"plotOptions.line.color","title":"color","parent":"plotOptions-line","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"series-data--color","fullname":"series.data.color","title":"color","parent":"series-data","isParent":false,"returnType":"Color","defaults":"undefined","description":"Individual color for the point. By default the color is pulled from the global colors array.","demo":"Mark the highest point","deprecated":false},{"name":"series-data--color","fullname":"series.data.color","title":"color","parent":"series-data","isParent":false,"returnType":"Color","defaults":"undefined","description":"Individual color for the point. By default the color is pulled from the global colors array.","demo":"Mark the highest point","deprecated":false},{"name":"series-data--color","fullname":"series.data.color","title":"color","parent":"series-data","isParent":false,"returnType":"Color","defaults":"undefined","description":"Individual color for the point. By default the color is pulled from the global colors array.","demo":"Mark the highest point","deprecated":false},{"name":"series-dataLabels--color","fullname":"series.dataLabels.color","title":"color","parent":"series-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"plotOptions-areasplinerange--color","fullname":"plotOptions.areasplinerange.color","title":"color","parent":"plotOptions-areasplinerange","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"plotOptions-spline--color","fullname":"plotOptions.spline.color","title":"color","parent":"plotOptions-spline","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"plotOptions-solidgauge-dataLabels--color","fullname":"plotOptions.solidgauge.dataLabels.color","title":"color","parent":"plotOptions-solidgauge-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"series-zones--color","fullname":"series.zones.color","title":"color","parent":"series-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"series-zones--color","fullname":"series.zones.color","title":"color","parent":"series-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"plotOptions-scatter--color","fullname":"plotOptions.scatter.color","title":"color","parent":"plotOptions-scatter","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"plotOptions-line-zones--color","fullname":"plotOptions.line.zones.color","title":"color","parent":"plotOptions-line-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"plotOptions-pie-dataLabels--color","fullname":"plotOptions.pie.dataLabels.color","title":"color","parent":"plotOptions-pie-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"series--color","fullname":"series.color","title":"color","parent":"series","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"plotOptions-boxplot--color","fullname":"plotOptions.boxplot.color","title":"color","parent":"plotOptions-boxplot","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"series-dataLabels--color","fullname":"series.dataLabels.color","title":"color","parent":"series-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"series-data--color","fullname":"series.data.color","title":"color","parent":"series-data","isParent":false,"returnType":"Color","description":"The color of the point. In heat maps the point color is rarely set explicitly, as we use the color to denote the value. Options for this are set in the colorAxis configuration."},{"name":"plotOptions-scatter-zones--color","fullname":"plotOptions.scatter.zones.color","title":"color","parent":"plotOptions-scatter-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"series-data--color","fullname":"series.data.color","title":"color","parent":"series-data","isParent":false,"returnType":"Color","defaults":"undefined","description":"Individual color for the point. By default the color is pulled from the global colors array.","demo":"Mark the highest point","deprecated":false},{"name":"plotOptions-bar-dataLabels--color","fullname":"plotOptions.bar.dataLabels.color","title":"color","parent":"plotOptions-bar-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"series-dataLabels--color","fullname":"series.dataLabels.color","title":"color","parent":"series-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"series-data--color","fullname":"series.data.color","title":"color","parent":"series-data","isParent":false,"returnType":"Color","defaults":"undefined","description":"Individual color for the point. By default the color is pulled from the global colors array.","demo":"Mark the highest point","deprecated":false},{"name":"plotOptions-treemap-levels--color","fullname":"plotOptions.treemap.levels.color","title":"color","parent":"plotOptions-treemap-levels","isParent":false,"returnType":"Color","since":"4.1.0","description":"Can set a color on all points which lies on the same level.","deprecated":false},{"name":"plotOptions-column-dataLabels--color","fullname":"plotOptions.column.dataLabels.color","title":"color","parent":"plotOptions-column-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"series-dataLabels--color","fullname":"series.dataLabels.color","title":"color","parent":"series-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"series-data--color","fullname":"series.data.color","title":"color","parent":"series-data","isParent":false,"returnType":"Color","defaults":"undefined","description":"Individual color for the point. By default the color is pulled from the global colors array.","demo":"Mark the highest point","deprecated":false},{"name":"series-zones--color","fullname":"series.zones.color","title":"color","parent":"series-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"series--color","fullname":"series.color","title":"color","parent":"series","isParent":false,"returnType":"Color","defaults":"null","since":"4.0","description":"The main color of the series. In heat maps this color is rarely used, as we mostly use the color to denote the value of each point. Unless options are set in the colorAxis, the default value is pulled from the options.colors array.","deprecated":false},{"name":"plotOptions-treemap-dataLabels--color","fullname":"plotOptions.treemap.dataLabels.color","title":"color","parent":"plotOptions-treemap-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"series-data--color","fullname":"series.data.color","title":"color","parent":"series-data","isParent":false,"returnType":"Color","defaults":"undefined","description":"Individual color for the point. By default the color is pulled from the global colors array.","demo":"Mark the highest point","deprecated":false},{"name":"series--color","fullname":"series.color","title":"color","parent":"series","isParent":false,"returnType":"Color","defaults":"#000000","values":"","since":"3.0","description":"The main color of the bars. This can be overridden by stemColor and whiskerColor individually. ","demo":"Error bar styling","seeAlso":"","deprecated":false},{"name":"plotOptions-areasplinerange-zones--color","fullname":"plotOptions.areasplinerange.zones.color","title":"color","parent":"plotOptions-areasplinerange-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"series--color","fullname":"series.color","title":"color","parent":"series","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"series-zones--color","fullname":"series.zones.color","title":"color","parent":"series-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"series-dataLabels--color","fullname":"series.dataLabels.color","title":"color","parent":"series-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"plotOptions-errorbar--color","fullname":"plotOptions.errorbar.color","title":"color","parent":"plotOptions-errorbar","isParent":false,"returnType":"Color","defaults":"#000000","values":"","since":"3.0","description":"The main color of the bars. This can be overridden by stemColor and whiskerColor individually. ","demo":"Error bar styling","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline-dataLabels--color","fullname":"plotOptions.areaspline.dataLabels.color","title":"color","parent":"plotOptions-areaspline-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"series-data--color","fullname":"series.data.color","title":"color","parent":"series-data","isParent":false,"returnType":"Color","defaults":"undefined","description":"Individual color for the point. By default the color is pulled from the global colors array.","demo":"Mark the highest point","deprecated":false},{"name":"plotOptions-gauge-zones--color","fullname":"plotOptions.gauge.zones.color","title":"color","parent":"plotOptions-gauge-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"plotOptions-columnrange--color","fullname":"plotOptions.columnrange.color","title":"color","parent":"plotOptions-columnrange","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"series--color","fullname":"series.color","title":"color","parent":"series","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"series--color","fullname":"series.color","title":"color","parent":"series","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"plotOptions-errorbar-zones--color","fullname":"plotOptions.errorbar.zones.color","title":"color","parent":"plotOptions-errorbar-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"plotOptions-series--color","fullname":"plotOptions.series.color","title":"color","parent":"plotOptions-series","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"plotOptions-areaspline-zones--color","fullname":"plotOptions.areaspline.zones.color","title":"color","parent":"plotOptions-areaspline-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"series-dataLabels--color","fullname":"series.dataLabels.color","title":"color","parent":"series-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"plotOptions-arearange-dataLabels--color","fullname":"plotOptions.arearange.dataLabels.color","title":"color","parent":"plotOptions-arearange-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"plotOptions-polygon-dataLabels--color","fullname":"plotOptions.polygon.dataLabels.color","title":"color","parent":"plotOptions-polygon-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"plotOptions-polygon--color","fullname":"plotOptions.polygon.color","title":"color","parent":"plotOptions-polygon","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"series-dataLabels--color","fullname":"series.dataLabels.color","title":"color","parent":"series-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"series-data--color","fullname":"series.data.color","title":"color","parent":"series-data","isParent":false,"returnType":"Color","defaults":"undefined","description":"Individual color for the point. By default the color is pulled from the global colors array.","demo":"Mark the highest point","deprecated":false},{"name":"plotOptions-areasplinerange-dataLabels--color","fullname":"plotOptions.areasplinerange.dataLabels.color","title":"color","parent":"plotOptions-areasplinerange-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"series-data--color","fullname":"series.data.color","title":"color","parent":"series-data","isParent":false,"returnType":"Color","defaults":"undefined","description":"Individual color for the point. By default the color is pulled from the global colors array.","demo":"Mark the highest point","deprecated":false},{"name":"series-dataLabels--color","fullname":"series.dataLabels.color","title":"color","parent":"series-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"plotOptions-funnel-dataLabels--color","fullname":"plotOptions.funnel.dataLabels.color","title":"color","parent":"plotOptions-funnel-dataLabels","isParent":false,"returnType":"Color","description":"The text color for the data labels. Defaults to null.","demo":"Red data labels"},{"name":"plotOptions-area-zones--color","fullname":"plotOptions.area.zones.color","title":"color","parent":"plotOptions-area-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"series-data--color","fullname":"series.data.color","title":"color","parent":"series-data","isParent":false,"returnType":"Color","defaults":"undefined","description":"Individual color for the point. By default the color is pulled from the global colors array.","demo":"Mark the highest point","deprecated":false},{"name":"series-zones--color","fullname":"series.zones.color","title":"color","parent":"series-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"plotOptions-bubble--color","fullname":"plotOptions.bubble.color","title":"color","parent":"plotOptions-bubble","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"series--color","fullname":"series.color","title":"color","parent":"series","isParent":false,"returnType":"Color","description":"The main color or the series. In line type series it applies to the line and the point markers unless otherwise specified. In bar type series it applies to the bars unless a color is specified per point. The default value is pulled from the options.colors array.","demo":"General plot option, \n\t\t\tone specific series,\n\t\t\tarea color"},{"name":"series-zones--color","fullname":"series.zones.color","title":"color","parent":"series-zones","isParent":false,"returnType":"Color","since":"4.1.0","description":"Defines the color of the series.","seeAlso":"series color","deprecated":false},{"name":"plotOptions-heatmap--colorByPoint","fullname":"plotOptions.heatmap.colorByPoint","title":"colorByPoint","parent":"plotOptions-heatmap","isParent":false,"returnType":"Boolean","defaults":"false","since":"2.0","description":"When using automatic point colors pulled from the options.colors\r collection, this option determines whether the chart should receive \r one color per series or one color per point.","demo":"False by default,\r\n\t\t\ttrue","seeAlso":"series colors","deprecated":false},{"name":"series--colorByPoint","fullname":"series.colorByPoint","title":"colorByPoint","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"2.0","description":"When using automatic point colors pulled from the options.colors\r collection, this option determines whether the chart should receive \r one color per series or one color per point.","demo":"False by default,\r\n\t\t\ttrue","seeAlso":"series colors","deprecated":false},{"name":"series--colorByPoint","fullname":"series.colorByPoint","title":"colorByPoint","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"2.0","description":"When using automatic point colors pulled from the options.colors\r collection, this option determines whether the chart should receive \r one color per series or one color per point.","demo":"False by default,\r\n\t\t\ttrue","seeAlso":"series colors","deprecated":false},{"name":"plotOptions-boxplot--colorByPoint","fullname":"plotOptions.boxplot.colorByPoint","title":"colorByPoint","parent":"plotOptions-boxplot","isParent":false,"returnType":"Boolean","defaults":"false","since":"2.0","description":"When using automatic point colors pulled from the options.colors\r collection, this option determines whether the chart should receive \r one color per series or one color per point.","demo":"False by default,\r\n\t\t\ttrue","seeAlso":"series colors","deprecated":false},{"name":"series--colorByPoint","fullname":"series.colorByPoint","title":"colorByPoint","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"2.0","description":"When using automatic point colors pulled from the options.colors\r collection, this option determines whether the chart should receive \r one color per series or one color per point.","demo":"False by default,\r\n\t\t\ttrue","seeAlso":"series colors","deprecated":false},{"name":"plotOptions-bar--colorByPoint","fullname":"plotOptions.bar.colorByPoint","title":"colorByPoint","parent":"plotOptions-bar","isParent":false,"returnType":"Boolean","defaults":"false","since":"2.0","description":"When using automatic point colors pulled from the options.colors\r collection, this option determines whether the chart should receive \r one color per series or one color per point.","demo":"False by default,\r\n\t\t\ttrue","seeAlso":"series colors","deprecated":false},{"name":"plotOptions-columnrange--colorByPoint","fullname":"plotOptions.columnrange.colorByPoint","title":"colorByPoint","parent":"plotOptions-columnrange","isParent":false,"returnType":"Boolean","defaults":"false","since":"2.0","description":"When using automatic point colors pulled from the options.colors\r collection, this option determines whether the chart should receive \r one color per series or one color per point.","demo":"False by default,\r\n\t\t\ttrue","seeAlso":"series colors","deprecated":false},{"name":"plotOptions-errorbar--colorByPoint","fullname":"plotOptions.errorbar.colorByPoint","title":"colorByPoint","parent":"plotOptions-errorbar","isParent":false,"returnType":"Boolean","defaults":"false","since":"2.0","description":"When using automatic point colors pulled from the options.colors\r collection, this option determines whether the chart should receive \r one color per series or one color per point.","demo":"False by default,\r\n\t\t\ttrue","seeAlso":"series colors","deprecated":false},{"name":"plotOptions-treemap--colorByPoint","fullname":"plotOptions.treemap.colorByPoint","title":"colorByPoint","parent":"plotOptions-treemap","isParent":false,"returnType":"Boolean","defaults":"false","since":"2.0","description":"When using automatic point colors pulled from the options.colors\r collection, this option determines whether the chart should receive \r one color per series or one color per point.","demo":"False by default,\r\n\t\t\ttrue","seeAlso":"series colors","deprecated":false},{"name":"series--colorByPoint","fullname":"series.colorByPoint","title":"colorByPoint","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"2.0","description":"When using automatic point colors pulled from the options.colors\r collection, this option determines whether the chart should receive \r one color per series or one color per point.","demo":"False by default,\r\n\t\t\ttrue","seeAlso":"series colors","deprecated":false},{"name":"series--colorByPoint","fullname":"series.colorByPoint","title":"colorByPoint","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"2.0","description":"When using automatic point colors pulled from the options.colors\r collection, this option determines whether the chart should receive \r one color per series or one color per point.","demo":"False by default,\r\n\t\t\ttrue","seeAlso":"series colors","deprecated":false},{"name":"series--colorByPoint","fullname":"series.colorByPoint","title":"colorByPoint","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"2.0","description":"When using automatic point colors pulled from the options.colors\r collection, this option determines whether the chart should receive \r one color per series or one color per point.","demo":"False by default,\r\n\t\t\ttrue","seeAlso":"series colors","deprecated":false},{"name":"series--colorByPoint","fullname":"series.colorByPoint","title":"colorByPoint","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"2.0","description":"When using automatic point colors pulled from the options.colors\r collection, this option determines whether the chart should receive \r one color per series or one color per point.","demo":"False by default,\r\n\t\t\ttrue","seeAlso":"series colors","deprecated":false},{"name":"plotOptions-column--colorByPoint","fullname":"plotOptions.column.colorByPoint","title":"colorByPoint","parent":"plotOptions-column","isParent":false,"returnType":"Boolean","defaults":"false","since":"2.0","description":"When using automatic point colors pulled from the options.colors\r collection, this option determines whether the chart should receive \r one color per series or one color per point.","demo":"False by default,\r\n\t\t\ttrue","seeAlso":"series colors","deprecated":false},{"name":"series--colorByPoint","fullname":"series.colorByPoint","title":"colorByPoint","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"2.0","description":"When using automatic point colors pulled from the options.colors\r collection, this option determines whether the chart should receive \r one color per series or one color per point.","demo":"False by default,\r\n\t\t\ttrue","seeAlso":"series colors","deprecated":false},{"name":"plotOptions-waterfall--colorByPoint","fullname":"plotOptions.waterfall.colorByPoint","title":"colorByPoint","parent":"plotOptions-waterfall","isParent":false,"returnType":"Boolean","defaults":"false","since":"2.0","description":"When using automatic point colors pulled from the options.colors\r collection, this option determines whether the chart should receive \r one color per series or one color per point.","demo":"False by default,\r\n\t\t\ttrue","seeAlso":"series colors","deprecated":false},{"name":"series-data--colorValue","fullname":"series.data.colorValue","title":"colorValue","parent":"series-data","isParent":false,"returnType":"Number","defaults":"undefined","since":"4.1.0","description":"Serves a purpose only if a colorAxis object is defined in the chart options. This value will decide which color the point gets from the scale of the colorAxis.","demo":"Treemap with a colorAxis","deprecated":false},{"name":"colors","fullname":"colors","title":"colors","isParent":false,"returnType":"Array","defaults":"[ \"#7cb5ec\" , \"#434348\" , \"#90ed7d\" , \"#f7a35c\" , \"#8085e9\" , \"#f15c80\" , \"#e4d354\" , \"#2b908f\" , \"#f45b5b\" , \"#91e8e1\"]","description":"

An array containing the default colors for the chart's series. When all colors are used, new colors are pulled from the start again. Defaults to:\r\n

colors: ['#7cb5ec', '#434348', '#90ed7d', '#f7a35c', '#8085e9', \r\n   '#f15c80', '#e4d354', '#2b908f', '#f45b5b', '#91e8e1']
\r\n\r\nDefault colors can also be set on a series or series.type basis, see column.colors, pie.colors.\r\n

\r\n\r\n

Legacy

\r\n

In Highcharts 3.x, the default colors were:\r\n

colors: ['#2f7ed8', '#0d233a', '#8bbc21', '#910000', '#1aadce', \r\n   '#492970', '#f28f43', '#77a1e5', '#c42525', '#a6c96a']
\r\n

\r\n\r\n

In Highcharts 2.x, the default colors were:\r\n

colors: ['#4572A7', '#AA4643', '#89A54E', '#80699B', '#3D96AE', \r\n   '#DB843D', '#92A8CD', '#A47D7C', '#B5CA92']

","demo":"Assign a global color theme","deprecated":false},{"name":"plotOptions-funnel--colors","fullname":"plotOptions.funnel.colors","title":"colors","parent":"plotOptions-funnel","isParent":false,"returnType":"Array","since":"3.0","description":"A series specific or series type specific color set to use instead of the global colors.","demo":"Set default colors for all pies","deprecated":false},{"name":"series--colors","fullname":"series.colors","title":"colors","parent":"series","isParent":false,"returnType":"Array","defaults":"","values":"","since":"3.0","description":"A series specific or series type specific color set to apply instead of the global colors when colorByPoint is true.","demo":"","seeAlso":"","deprecated":false},{"name":"series--colors","fullname":"series.colors","title":"colors","parent":"series","isParent":false,"returnType":"Array","since":"3.0","description":"A series specific or series type specific color set to use instead of the global colors.","demo":"Set default colors for all pies","deprecated":false},{"name":"series--colors","fullname":"series.colors","title":"colors","parent":"series","isParent":false,"returnType":"Array","defaults":"","values":"","since":"3.0","description":"A series specific or series type specific color set to apply instead of the global colors when colorByPoint is true.","demo":"","seeAlso":"","deprecated":false},{"name":"series--colors","fullname":"series.colors","title":"colors","parent":"series","isParent":false,"returnType":"Array","since":"3.0","description":"A series specific or series type specific color set to use instead of the global colors.","demo":"Set default colors for all pies","deprecated":false},{"name":"series--colors","fullname":"series.colors","title":"colors","parent":"series","isParent":false,"returnType":"Array","defaults":"","values":"","since":"3.0","description":"A series specific or series type specific color set to apply instead of the global colors when colorByPoint is true.","demo":"","seeAlso":"","deprecated":false},{"name":"series--colors","fullname":"series.colors","title":"colors","parent":"series","isParent":false,"returnType":"Array","defaults":"","values":"","since":"3.0","description":"A series specific or series type specific color set to apply instead of the global colors when colorByPoint is true.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange--colors","fullname":"plotOptions.columnrange.colors","title":"colors","parent":"plotOptions-columnrange","isParent":false,"returnType":"Array","defaults":"","values":"","since":"3.0","description":"A series specific or series type specific color set to apply instead of the global colors when colorByPoint is true.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-column--colors","fullname":"plotOptions.column.colors","title":"colors","parent":"plotOptions-column","isParent":false,"returnType":"Array","defaults":"","values":"","since":"3.0","description":"A series specific or series type specific color set to apply instead of the global colors when colorByPoint is true.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid--colors","fullname":"plotOptions.pyramid.colors","title":"colors","parent":"plotOptions-pyramid","isParent":false,"returnType":"Array","since":"3.0","description":"A series specific or series type specific color set to use instead of the global colors.","demo":"Set default colors for all pies","deprecated":false},{"name":"plotOptions-waterfall--colors","fullname":"plotOptions.waterfall.colors","title":"colors","parent":"plotOptions-waterfall","isParent":false,"returnType":"Array","defaults":"","values":"","since":"3.0","description":"A series specific or series type specific color set to apply instead of the global colors when colorByPoint is true.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pie--colors","fullname":"plotOptions.pie.colors","title":"colors","parent":"plotOptions-pie","isParent":false,"returnType":"Array","since":"3.0","description":"A series specific or series type specific color set to use instead of the global colors.","demo":"Set default colors for all pies","deprecated":false},{"name":"plotOptions-bar--colors","fullname":"plotOptions.bar.colors","title":"colors","parent":"plotOptions-bar","isParent":false,"returnType":"Array","defaults":"","values":"","since":"3.0","description":"A series specific or series type specific color set to apply instead of the global colors when colorByPoint is true.","demo":"","seeAlso":"","deprecated":false},{"name":"series--colors","fullname":"series.colors","title":"colors","parent":"series","isParent":false,"returnType":"Array","defaults":"","values":"","since":"3.0","description":"A series specific or series type specific color set to apply instead of the global colors when colorByPoint is true.","demo":"","seeAlso":"","deprecated":false},{"name":"series--colors","fullname":"series.colors","title":"colors","parent":"series","isParent":false,"returnType":"Array","defaults":"","values":"","since":"3.0","description":"A series specific or series type specific color set to apply instead of the global colors when colorByPoint is true.","demo":"","seeAlso":"","deprecated":false},{"name":"series--colors","fullname":"series.colors","title":"colors","parent":"series","isParent":false,"returnType":"Array","defaults":"","values":"","since":"3.0","description":"A series specific or series type specific color set to apply instead of the global colors when colorByPoint is true.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-treemap--colors","fullname":"plotOptions.treemap.colors","title":"colors","parent":"plotOptions-treemap","isParent":false,"returnType":"Array","defaults":"","values":"","since":"3.0","description":"A series specific or series type specific color set to apply instead of the global colors when colorByPoint is true.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-boxplot--colors","fullname":"plotOptions.boxplot.colors","title":"colors","parent":"plotOptions-boxplot","isParent":false,"returnType":"Array","defaults":"","values":"","since":"3.0","description":"A series specific or series type specific color set to apply instead of the global colors when colorByPoint is true.","demo":"","seeAlso":"","deprecated":false},{"name":"series--colors","fullname":"series.colors","title":"colors","parent":"series","isParent":false,"returnType":"Array","defaults":"","values":"","since":"3.0","description":"A series specific or series type specific color set to apply instead of the global colors when colorByPoint is true.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-errorbar--colors","fullname":"plotOptions.errorbar.colors","title":"colors","parent":"plotOptions-errorbar","isParent":false,"returnType":"Array","defaults":"","values":"","since":"3.0","description":"A series specific or series type specific color set to apply instead of the global colors when colorByPoint is true.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-heatmap--colors","fullname":"plotOptions.heatmap.colors","title":"colors","parent":"plotOptions-heatmap","isParent":false,"returnType":"Array","defaults":"","values":"","since":"3.0","description":"A series specific or series type specific color set to apply instead of the global colors when colorByPoint is true.","demo":"","seeAlso":"","deprecated":false},{"name":"series--colors","fullname":"series.colors","title":"colors","parent":"series","isParent":false,"returnType":"Array","since":"3.0","description":"A series specific or series type specific color set to use instead of the global colors.","demo":"Set default colors for all pies","deprecated":false},{"name":"plotOptions-heatmap--colsize","fullname":"plotOptions.heatmap.colsize","title":"colsize","parent":"plotOptions-heatmap","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0","description":"The column size - how many X axis units each column in the heatmap should span.","demo":"One day","seeAlso":"","deprecated":false},{"name":"series--colsize","fullname":"series.colsize","title":"colsize","parent":"series","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0","description":"The column size - how many X axis units each column in the heatmap should span.","demo":"One day","seeAlso":"","deprecated":false},{"name":"plotOptions-column","fullname":"plotOptions.column","title":"column","parent":"plotOptions","isParent":true,"returnType":"","defaults":"","since":"","description":"","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange","fullname":"plotOptions.columnrange","title":"columnrange","parent":"plotOptions","isParent":true,"returnType":"Object","since":"2.3.0","description":"The column range is a cartesian series type with higher and lower Y values along an X axis. Requires highcharts-more.js. To display horizontal bars, set chart.inverted to true.","demo":"Inverted column range","deprecated":false},{"name":"data--columns","fullname":"data.columns","title":"columns","parent":"data","isParent":false,"returnType":"Array>","defaults":"","values":"","since":"4.0","description":"A two-dimensional array representing the input data on tabular form. This input can be used when the data is already parsed, for example from a grid view component. Each cell can be a string or number. If not switchRowsAndColumns is set, the columns are interpreted as series.","demo":"Columns","seeAlso":"data.rows","deprecated":false},{"name":"data--complete","fullname":"data.complete","title":"complete","parent":"data","isParent":false,"returnType":"Function","defaults":"","values":"","since":"4.0","description":"The callback that is evaluated when the data is finished loading, optionally from an external source, and parsed. The first argument passed is a finished chart options object, containing the series. These options can be extended with additional options and passed directly to the chart constructor.","demo":"Modify data on complete","seeAlso":"data.parsed","deprecated":false},{"name":"series--connectEnds","fullname":"series.connectEnds","title":"connectEnds","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.0","description":"Polar charts only. Whether to connect the ends of a line series plot across the extremes.","demo":"Do not connect","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline--connectEnds","fullname":"plotOptions.areaspline.connectEnds","title":"connectEnds","parent":"plotOptions-areaspline","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.0","description":"Polar charts only. Whether to connect the ends of a line series plot across the extremes.","demo":"Do not connect","seeAlso":"","deprecated":false},{"name":"plotOptions-line--connectEnds","fullname":"plotOptions.line.connectEnds","title":"connectEnds","parent":"plotOptions-line","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.0","description":"Polar charts only. Whether to connect the ends of a line series plot across the extremes.","demo":"Do not connect","seeAlso":"","deprecated":false},{"name":"plotOptions-spline--connectEnds","fullname":"plotOptions.spline.connectEnds","title":"connectEnds","parent":"plotOptions-spline","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.0","description":"Polar charts only. Whether to connect the ends of a line series plot across the extremes.","demo":"Do not connect","seeAlso":"","deprecated":false},{"name":"plotOptions-series--connectEnds","fullname":"plotOptions.series.connectEnds","title":"connectEnds","parent":"plotOptions-series","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.0","description":"Polar charts only. Whether to connect the ends of a line series plot across the extremes.","demo":"Do not connect","seeAlso":"","deprecated":false},{"name":"series--connectEnds","fullname":"series.connectEnds","title":"connectEnds","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.0","description":"Polar charts only. Whether to connect the ends of a line series plot across the extremes.","demo":"Do not connect","seeAlso":"","deprecated":false},{"name":"plotOptions-area--connectEnds","fullname":"plotOptions.area.connectEnds","title":"connectEnds","parent":"plotOptions-area","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.0","description":"Polar charts only. Whether to connect the ends of a line series plot across the extremes.","demo":"Do not connect","seeAlso":"","deprecated":false},{"name":"series--connectEnds","fullname":"series.connectEnds","title":"connectEnds","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.0","description":"Polar charts only. Whether to connect the ends of a line series plot across the extremes.","demo":"Do not connect","seeAlso":"","deprecated":false},{"name":"series--connectEnds","fullname":"series.connectEnds","title":"connectEnds","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.0","description":"Polar charts only. Whether to connect the ends of a line series plot across the extremes.","demo":"Do not connect","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline--connectNulls","fullname":"plotOptions.areaspline.connectNulls","title":"connectNulls","parent":"plotOptions-areaspline","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to connect a graph line across null points.","demo":"False by default, \n\t\t\ttrue"},{"name":"plotOptions-areasplinerange--connectNulls","fullname":"plotOptions.areasplinerange.connectNulls","title":"connectNulls","parent":"plotOptions-areasplinerange","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to connect a graph line across null points.","demo":"False by default, \n\t\t\ttrue"},{"name":"plotOptions-line--connectNulls","fullname":"plotOptions.line.connectNulls","title":"connectNulls","parent":"plotOptions-line","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to connect a graph line across null points.","demo":"False by default, \n\t\t\ttrue"},{"name":"series--connectNulls","fullname":"series.connectNulls","title":"connectNulls","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to connect a graph line across null points.","demo":"False by default, \n\t\t\ttrue"},{"name":"series--connectNulls","fullname":"series.connectNulls","title":"connectNulls","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to connect a graph line across null points.","demo":"False by default, \n\t\t\ttrue"},{"name":"series--connectNulls","fullname":"series.connectNulls","title":"connectNulls","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to connect a graph line across null points.","demo":"False by default, \n\t\t\ttrue"},{"name":"plotOptions-arearange--connectNulls","fullname":"plotOptions.arearange.connectNulls","title":"connectNulls","parent":"plotOptions-arearange","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to connect a graph line across null points.","demo":"False by default, \n\t\t\ttrue"},{"name":"series--connectNulls","fullname":"series.connectNulls","title":"connectNulls","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to connect a graph line across null points.","demo":"False by default, \n\t\t\ttrue"},{"name":"plotOptions-series--connectNulls","fullname":"plotOptions.series.connectNulls","title":"connectNulls","parent":"plotOptions-series","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to connect a graph line across null points.","demo":"False by default, \n\t\t\ttrue"},{"name":"series--connectNulls","fullname":"series.connectNulls","title":"connectNulls","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to connect a graph line across null points.","demo":"False by default, \n\t\t\ttrue"},{"name":"plotOptions-spline--connectNulls","fullname":"plotOptions.spline.connectNulls","title":"connectNulls","parent":"plotOptions-spline","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to connect a graph line across null points.","demo":"False by default, \n\t\t\ttrue"},{"name":"series--connectNulls","fullname":"series.connectNulls","title":"connectNulls","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to connect a graph line across null points.","demo":"False by default, \n\t\t\ttrue"},{"name":"plotOptions-area--connectNulls","fullname":"plotOptions.area.connectNulls","title":"connectNulls","parent":"plotOptions-area","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to connect a graph line across null points.","demo":"False by default, \n\t\t\ttrue"},{"name":"plotOptions-funnel-dataLabels--connectorColor","fullname":"plotOptions.funnel.dataLabels.connectorColor","title":"connectorColor","parent":"plotOptions-funnel-dataLabels","isParent":false,"returnType":"String","defaults":"{point.color}","since":"2.1","description":"The color of the line connecting the data label to the pie slice. The default color is the same as the point's color.","demo":"Blue connectors"},{"name":"series-dataLabels--connectorColor","fullname":"series.dataLabels.connectorColor","title":"connectorColor","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"{point.color}","since":"2.1","description":"The color of the line connecting the data label to the pie slice. The default color is the same as the point's color.","demo":"Blue connectors"},{"name":"plotOptions-pie-dataLabels--connectorColor","fullname":"plotOptions.pie.dataLabels.connectorColor","title":"connectorColor","parent":"plotOptions-pie-dataLabels","isParent":false,"returnType":"String","defaults":"{point.color}","since":"2.1","description":"The color of the line connecting the data label to the pie slice. The default color is the same as the point's color.","demo":"Blue connectors"},{"name":"series-dataLabels--connectorColor","fullname":"series.dataLabels.connectorColor","title":"connectorColor","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"{point.color}","since":"2.1","description":"The color of the line connecting the data label to the pie slice. The default color is the same as the point's color.","demo":"Blue connectors"},{"name":"plotOptions-pyramid-dataLabels--connectorColor","fullname":"plotOptions.pyramid.dataLabels.connectorColor","title":"connectorColor","parent":"plotOptions-pyramid-dataLabels","isParent":false,"returnType":"String","defaults":"{point.color}","since":"2.1","description":"The color of the line connecting the data label to the pie slice. The default color is the same as the point's color.","demo":"Blue connectors"},{"name":"series-dataLabels--connectorColor","fullname":"series.dataLabels.connectorColor","title":"connectorColor","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"{point.color}","since":"2.1","description":"The color of the line connecting the data label to the pie slice. The default color is the same as the point's color.","demo":"Blue connectors"},{"name":"series-dataLabels--connectorPadding","fullname":"series.dataLabels.connectorPadding","title":"connectorPadding","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.1","description":"The distance from the data label to the connector.","demo":"No padding"},{"name":"series-dataLabels--connectorPadding","fullname":"series.dataLabels.connectorPadding","title":"connectorPadding","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.1","description":"The distance from the data label to the connector.","demo":"No padding"},{"name":"plotOptions-pie-dataLabels--connectorPadding","fullname":"plotOptions.pie.dataLabels.connectorPadding","title":"connectorPadding","parent":"plotOptions-pie-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.1","description":"The distance from the data label to the connector.","demo":"No padding"},{"name":"plotOptions-funnel-dataLabels--connectorPadding","fullname":"plotOptions.funnel.dataLabels.connectorPadding","title":"connectorPadding","parent":"plotOptions-funnel-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.1","description":"The distance from the data label to the connector.","demo":"No padding"},{"name":"plotOptions-pyramid-dataLabels--connectorPadding","fullname":"plotOptions.pyramid.dataLabels.connectorPadding","title":"connectorPadding","parent":"plotOptions-pyramid-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.1","description":"The distance from the data label to the connector.","demo":"No padding"},{"name":"series-dataLabels--connectorPadding","fullname":"series.dataLabels.connectorPadding","title":"connectorPadding","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.1","description":"The distance from the data label to the connector.","demo":"No padding"},{"name":"plotOptions-pie-dataLabels--connectorWidth","fullname":"plotOptions.pie.dataLabels.connectorWidth","title":"connectorWidth","parent":"plotOptions-pie-dataLabels","isParent":false,"returnType":"Number","defaults":"1","since":"2.1","description":"The width of the line connecting the data label to the pie slice.","demo":"Disable the connector"},{"name":"series-dataLabels--connectorWidth","fullname":"series.dataLabels.connectorWidth","title":"connectorWidth","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"1","since":"2.1","description":"The width of the line connecting the data label to the pie slice.","demo":"Disable the connector"},{"name":"series-dataLabels--connectorWidth","fullname":"series.dataLabels.connectorWidth","title":"connectorWidth","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"1","since":"2.1","description":"The width of the line connecting the data label to the pie slice.","demo":"Disable the connector"},{"name":"plotOptions-funnel-dataLabels--connectorWidth","fullname":"plotOptions.funnel.dataLabels.connectorWidth","title":"connectorWidth","parent":"plotOptions-funnel-dataLabels","isParent":false,"returnType":"Number","defaults":"1","since":"2.1","description":"The width of the line connecting the data label to the pie slice.","demo":"Disable the connector"},{"name":"plotOptions-pyramid-dataLabels--connectorWidth","fullname":"plotOptions.pyramid.dataLabels.connectorWidth","title":"connectorWidth","parent":"plotOptions-pyramid-dataLabels","isParent":false,"returnType":"Number","defaults":"1","since":"2.1","description":"The width of the line connecting the data label to the pie slice.","demo":"Disable the connector"},{"name":"series-dataLabels--connectorWidth","fullname":"series.dataLabels.connectorWidth","title":"connectorWidth","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"1","since":"2.1","description":"The width of the line connecting the data label to the pie slice.","demo":"Disable the connector"},{"name":"exporting-buttons-contextButton","fullname":"exporting.buttons.contextButton","title":"contextButton","parent":"exporting-buttons","isParent":true,"description":"Options for the export button."},{"name":"lang--contextButtonTitle","fullname":"lang.contextButtonTitle","title":"contextButtonTitle","parent":"lang","isParent":false,"returnType":"String","defaults":"Chart context menu","values":"","since":"3.0","description":"Exporting module menu. The tooltip title for the context menu holding print and export menu items.","demo":"","seeAlso":"","deprecated":false},{"name":"credits","fullname":"credits","title":"credits","isParent":true,"description":"Highchart by default puts a credits label in the lower right corner of the chart.\n\t\tThis can be changed using these options."},{"name":"plotOptions-columnrange-dataLabels--crop","fullname":"plotOptions.columnrange.dataLabels.crop","title":"crop","parent":"plotOptions-columnrange-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-arearange-dataLabels--crop","fullname":"plotOptions.arearange.dataLabels.crop","title":"crop","parent":"plotOptions-arearange-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-areasplinerange-dataLabels--crop","fullname":"plotOptions.areasplinerange.dataLabels.crop","title":"crop","parent":"plotOptions-areasplinerange-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--crop","fullname":"series.dataLabels.crop","title":"crop","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--crop","fullname":"series.dataLabels.crop","title":"crop","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-treemap-dataLabels--crop","fullname":"plotOptions.treemap.dataLabels.crop","title":"crop","parent":"plotOptions-treemap-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pie-dataLabels--crop","fullname":"plotOptions.pie.dataLabels.crop","title":"crop","parent":"plotOptions-pie-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-heatmap-dataLabels--crop","fullname":"plotOptions.heatmap.dataLabels.crop","title":"crop","parent":"plotOptions-heatmap-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--crop","fullname":"series.dataLabels.crop","title":"crop","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--crop","fullname":"series.dataLabels.crop","title":"crop","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--crop","fullname":"series.dataLabels.crop","title":"crop","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--crop","fullname":"series.dataLabels.crop","title":"crop","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--crop","fullname":"series.dataLabels.crop","title":"crop","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--crop","fullname":"series.dataLabels.crop","title":"crop","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--crop","fullname":"series.dataLabels.crop","title":"crop","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--crop","fullname":"series.dataLabels.crop","title":"crop","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline-dataLabels--crop","fullname":"plotOptions.areaspline.dataLabels.crop","title":"crop","parent":"plotOptions-areaspline-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-funnel-dataLabels--crop","fullname":"plotOptions.funnel.dataLabels.crop","title":"crop","parent":"plotOptions-funnel-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--crop","fullname":"series.dataLabels.crop","title":"crop","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--crop","fullname":"series.dataLabels.crop","title":"crop","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble-dataLabels--crop","fullname":"plotOptions.bubble.dataLabels.crop","title":"crop","parent":"plotOptions-bubble-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--crop","fullname":"series.dataLabels.crop","title":"crop","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid-dataLabels--crop","fullname":"plotOptions.pyramid.dataLabels.crop","title":"crop","parent":"plotOptions-pyramid-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-spline-dataLabels--crop","fullname":"plotOptions.spline.dataLabels.crop","title":"crop","parent":"plotOptions-spline-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-solidgauge-dataLabels--crop","fullname":"plotOptions.solidgauge.dataLabels.crop","title":"crop","parent":"plotOptions-solidgauge-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--crop","fullname":"series.dataLabels.crop","title":"crop","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--crop","fullname":"series.dataLabels.crop","title":"crop","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-area-dataLabels--crop","fullname":"plotOptions.area.dataLabels.crop","title":"crop","parent":"plotOptions-area-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-line-dataLabels--crop","fullname":"plotOptions.line.dataLabels.crop","title":"crop","parent":"plotOptions-line-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-gauge-dataLabels--crop","fullname":"plotOptions.gauge.dataLabels.crop","title":"crop","parent":"plotOptions-gauge-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--crop","fullname":"series.dataLabels.crop","title":"crop","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-series-dataLabels--crop","fullname":"plotOptions.series.dataLabels.crop","title":"crop","parent":"plotOptions-series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--crop","fullname":"series.dataLabels.crop","title":"crop","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-scatter-dataLabels--crop","fullname":"plotOptions.scatter.dataLabels.crop","title":"crop","parent":"plotOptions-scatter-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--crop","fullname":"series.dataLabels.crop","title":"crop","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-column-dataLabels--crop","fullname":"plotOptions.column.dataLabels.crop","title":"crop","parent":"plotOptions-column-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-waterfall-dataLabels--crop","fullname":"plotOptions.waterfall.dataLabels.crop","title":"crop","parent":"plotOptions-waterfall-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bar-dataLabels--crop","fullname":"plotOptions.bar.dataLabels.crop","title":"crop","parent":"plotOptions-bar-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--crop","fullname":"series.dataLabels.crop","title":"crop","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--crop","fullname":"series.dataLabels.crop","title":"crop","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon-dataLabels--crop","fullname":"plotOptions.polygon.dataLabels.crop","title":"crop","parent":"plotOptions-polygon-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.3","description":"Whether to hide data labels that are outside the plot area. By default, the data label is moved inside the plot area according to the overflow option.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-column--cropThreshold","fullname":"plotOptions.column.cropThreshold","title":"cropThreshold","parent":"plotOptions-column","isParent":false,"returnType":"Number","defaults":"50","description":"When the series contains less points than the crop threshold, all points are drawn, event if the points fall outside the visible plot area at the current zoom. The advantage of drawing all points (including markers and columns), is that animation is performed on updates. On the other hand, when the series contains more points than the crop threshold, the series data is cropped to only contain points that fall within the plot area. The advantage of cropping away invisible points is to increase performance on large series. ."},{"name":"plotOptions-treemap--cropThreshold","fullname":"plotOptions.treemap.cropThreshold","title":"cropThreshold","parent":"plotOptions-treemap","isParent":false,"returnType":"Number","context":"","defaults":"300","values":"","since":"4.1.0","description":"When the series contains less points than the crop threshold, all points are drawn, event if the points fall outside the visible plot area at the current zoom. The advantage of drawing all points (including markers and columns), is that animation is performed on updates. On the other hand, when the series contains more points than the crop threshold, the series data is cropped to only contain points that fall within the plot area. The advantage of cropping away invisible points is to increase performance on large series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bar--cropThreshold","fullname":"plotOptions.bar.cropThreshold","title":"cropThreshold","parent":"plotOptions-bar","isParent":false,"returnType":"Number","defaults":"50","description":"When the series contains less points than the crop threshold, all points are drawn, event if the points fall outside the visible plot area at the current zoom. The advantage of drawing all points (including markers and columns), is that animation is performed on updates. On the other hand, when the series contains more points than the crop threshold, the series data is cropped to only contain points that fall within the plot area. The advantage of cropping away invisible points is to increase performance on large series. ."},{"name":"series--cropThreshold","fullname":"series.cropThreshold","title":"cropThreshold","parent":"series","isParent":false,"returnType":"Number","defaults":"50","description":"When the series contains less points than the crop threshold, all points are drawn, event if the points fall outside the visible plot area at the current zoom. The advantage of drawing all points (including markers and columns), is that animation is performed on updates. On the other hand, when the series contains more points than the crop threshold, the series data is cropped to only contain points that fall within the plot area. The advantage of cropping away invisible points is to increase performance on large series. ."},{"name":"series--cropThreshold","fullname":"series.cropThreshold","title":"cropThreshold","parent":"series","isParent":false,"returnType":"Number","defaults":"300","since":"2.2","description":"When the series contains less points than the crop threshold, all points are drawn, event if the points fall outside the visible plot area at the current zoom. The advantage of drawing all points (including markers and columns), is that animation is performed on updates. On the other hand, when the series contains more points than the crop threshold, the series data is cropped to only contain points that fall within the plot area. The advantage of cropping away invisible points is to increase performance on large series. ."},{"name":"plotOptions-spline--cropThreshold","fullname":"plotOptions.spline.cropThreshold","title":"cropThreshold","parent":"plotOptions-spline","isParent":false,"returnType":"Number","defaults":"300","since":"2.2","description":"When the series contains less points than the crop threshold, all points are drawn, event if the points fall outside the visible plot area at the current zoom. The advantage of drawing all points (including markers and columns), is that animation is performed on updates. On the other hand, when the series contains more points than the crop threshold, the series data is cropped to only contain points that fall within the plot area. The advantage of cropping away invisible points is to increase performance on large series. ."},{"name":"plotOptions-line--cropThreshold","fullname":"plotOptions.line.cropThreshold","title":"cropThreshold","parent":"plotOptions-line","isParent":false,"returnType":"Number","defaults":"300","since":"2.2","description":"When the series contains less points than the crop threshold, all points are drawn, event if the points fall outside the visible plot area at the current zoom. The advantage of drawing all points (including markers and columns), is that animation is performed on updates. On the other hand, when the series contains more points than the crop threshold, the series data is cropped to only contain points that fall within the plot area. The advantage of cropping away invisible points is to increase performance on large series. ."},{"name":"series--cropThreshold","fullname":"series.cropThreshold","title":"cropThreshold","parent":"series","isParent":false,"returnType":"Number","defaults":"300","since":"2.2","description":"When the series contains less points than the crop threshold, all points are drawn, event if the points fall outside the visible plot area at the current zoom. The advantage of drawing all points (including markers and columns), is that animation is performed on updates. On the other hand, when the series contains more points than the crop threshold, the series data is cropped to only contain points that fall within the plot area. The advantage of cropping away invisible points is to increase performance on large series. ."},{"name":"series--cropThreshold","fullname":"series.cropThreshold","title":"cropThreshold","parent":"series","isParent":false,"returnType":"Number","defaults":"300","since":"2.2","description":"When the series contains less points than the crop threshold, all points are drawn, event if the points fall outside the visible plot area at the current zoom. The advantage of drawing all points (including markers and columns), is that animation is performed on updates. On the other hand, when the series contains more points than the crop threshold, the series data is cropped to only contain points that fall within the plot area. The advantage of cropping away invisible points is to increase performance on large series. ."},{"name":"plotOptions-series--cropThreshold","fullname":"plotOptions.series.cropThreshold","title":"cropThreshold","parent":"plotOptions-series","isParent":false,"returnType":"Number","defaults":"300","since":"2.2","description":"When the series contains less points than the crop threshold, all points are drawn, event if the points fall outside the visible plot area at the current zoom. The advantage of drawing all points (including markers and columns), is that animation is performed on updates. On the other hand, when the series contains more points than the crop threshold, the series data is cropped to only contain points that fall within the plot area. The advantage of cropping away invisible points is to increase performance on large series. ."},{"name":"plotOptions-areasplinerange--cropThreshold","fullname":"plotOptions.areasplinerange.cropThreshold","title":"cropThreshold","parent":"plotOptions-areasplinerange","isParent":false,"returnType":"Number","defaults":"300","since":"2.2","description":"When the series contains less points than the crop threshold, all points are drawn, event if the points fall outside the visible plot area at the current zoom. The advantage of drawing all points (including markers and columns), is that animation is performed on updates. On the other hand, when the series contains more points than the crop threshold, the series data is cropped to only contain points that fall within the plot area. The advantage of cropping away invisible points is to increase performance on large series. ."},{"name":"plotOptions-bubble--cropThreshold","fullname":"plotOptions.bubble.cropThreshold","title":"cropThreshold","parent":"plotOptions-bubble","isParent":false,"returnType":"Number","defaults":"300","since":"2.2","description":"When the series contains less points than the crop threshold, all points are drawn, event if the points fall outside the visible plot area at the current zoom. The advantage of drawing all points (including markers and columns), is that animation is performed on updates. On the other hand, when the series contains more points than the crop threshold, the series data is cropped to only contain points that fall within the plot area. The advantage of cropping away invisible points is to increase performance on large series. ."},{"name":"series--cropThreshold","fullname":"series.cropThreshold","title":"cropThreshold","parent":"series","isParent":false,"returnType":"Number","defaults":"300","since":"2.2","description":"When the series contains less points than the crop threshold, all points are drawn, event if the points fall outside the visible plot area at the current zoom. The advantage of drawing all points (including markers and columns), is that animation is performed on updates. On the other hand, when the series contains more points than the crop threshold, the series data is cropped to only contain points that fall within the plot area. The advantage of cropping away invisible points is to increase performance on large series. ."},{"name":"plotOptions-polygon--cropThreshold","fullname":"plotOptions.polygon.cropThreshold","title":"cropThreshold","parent":"plotOptions-polygon","isParent":false,"returnType":"Number","defaults":"300","since":"2.2","description":"When the series contains less points than the crop threshold, all points are drawn, event if the points fall outside the visible plot area at the current zoom. The advantage of drawing all points (including markers and columns), is that animation is performed on updates. On the other hand, when the series contains more points than the crop threshold, the series data is cropped to only contain points that fall within the plot area. The advantage of cropping away invisible points is to increase performance on large series. ."},{"name":"series--cropThreshold","fullname":"series.cropThreshold","title":"cropThreshold","parent":"series","isParent":false,"returnType":"Number","defaults":"300","since":"2.2","description":"When the series contains less points than the crop threshold, all points are drawn, event if the points fall outside the visible plot area at the current zoom. The advantage of drawing all points (including markers and columns), is that animation is performed on updates. On the other hand, when the series contains more points than the crop threshold, the series data is cropped to only contain points that fall within the plot area. The advantage of cropping away invisible points is to increase performance on large series. ."},{"name":"series--cropThreshold","fullname":"series.cropThreshold","title":"cropThreshold","parent":"series","isParent":false,"returnType":"Number","context":"","defaults":"300","values":"","since":"4.1.0","description":"When the series contains less points than the crop threshold, all points are drawn, event if the points fall outside the visible plot area at the current zoom. The advantage of drawing all points (including markers and columns), is that animation is performed on updates. On the other hand, when the series contains more points than the crop threshold, the series data is cropped to only contain points that fall within the plot area. The advantage of cropping away invisible points is to increase performance on large series.","demo":"","seeAlso":"","deprecated":false},{"name":"series--cropThreshold","fullname":"series.cropThreshold","title":"cropThreshold","parent":"series","isParent":false,"returnType":"Number","defaults":"50","description":"When the series contains less points than the crop threshold, all points are drawn, event if the points fall outside the visible plot area at the current zoom. The advantage of drawing all points (including markers and columns), is that animation is performed on updates. On the other hand, when the series contains more points than the crop threshold, the series data is cropped to only contain points that fall within the plot area. The advantage of cropping away invisible points is to increase performance on large series. ."},{"name":"series--cropThreshold","fullname":"series.cropThreshold","title":"cropThreshold","parent":"series","isParent":false,"returnType":"Number","defaults":"300","since":"2.2","description":"When the series contains less points than the crop threshold, all points are drawn, event if the points fall outside the visible plot area at the current zoom. The advantage of drawing all points (including markers and columns), is that animation is performed on updates. On the other hand, when the series contains more points than the crop threshold, the series data is cropped to only contain points that fall within the plot area. The advantage of cropping away invisible points is to increase performance on large series. ."},{"name":"plotOptions-columnrange--cropThreshold","fullname":"plotOptions.columnrange.cropThreshold","title":"cropThreshold","parent":"plotOptions-columnrange","isParent":false,"returnType":"Number","defaults":"50","description":"When the series contains less points than the crop threshold, all points are drawn, event if the points fall outside the visible plot area at the current zoom. The advantage of drawing all points (including markers and columns), is that animation is performed on updates. On the other hand, when the series contains more points than the crop threshold, the series data is cropped to only contain points that fall within the plot area. The advantage of cropping away invisible points is to increase performance on large series. ."},{"name":"plotOptions-areaspline--cropThreshold","fullname":"plotOptions.areaspline.cropThreshold","title":"cropThreshold","parent":"plotOptions-areaspline","isParent":false,"returnType":"Number","defaults":"300","since":"2.2","description":"When the series contains less points than the crop threshold, all points are drawn, event if the points fall outside the visible plot area at the current zoom. The advantage of drawing all points (including markers and columns), is that animation is performed on updates. On the other hand, when the series contains more points than the crop threshold, the series data is cropped to only contain points that fall within the plot area. The advantage of cropping away invisible points is to increase performance on large series. ."},{"name":"plotOptions-heatmap--cropThreshold","fullname":"plotOptions.heatmap.cropThreshold","title":"cropThreshold","parent":"plotOptions-heatmap","isParent":false,"returnType":"Number","defaults":"50","description":"When the series contains less points than the crop threshold, all points are drawn, event if the points fall outside the visible plot area at the current zoom. The advantage of drawing all points (including markers and columns), is that animation is performed on updates. On the other hand, when the series contains more points than the crop threshold, the series data is cropped to only contain points that fall within the plot area. The advantage of cropping away invisible points is to increase performance on large series. ."},{"name":"series--cropThreshold","fullname":"series.cropThreshold","title":"cropThreshold","parent":"series","isParent":false,"returnType":"Number","defaults":"300","since":"2.2","description":"When the series contains less points than the crop threshold, all points are drawn, event if the points fall outside the visible plot area at the current zoom. The advantage of drawing all points (including markers and columns), is that animation is performed on updates. On the other hand, when the series contains more points than the crop threshold, the series data is cropped to only contain points that fall within the plot area. The advantage of cropping away invisible points is to increase performance on large series. ."},{"name":"plotOptions-scatter--cropThreshold","fullname":"plotOptions.scatter.cropThreshold","title":"cropThreshold","parent":"plotOptions-scatter","isParent":false,"returnType":"Number","defaults":"300","since":"2.2","description":"When the series contains less points than the crop threshold, all points are drawn, event if the points fall outside the visible plot area at the current zoom. The advantage of drawing all points (including markers and columns), is that animation is performed on updates. On the other hand, when the series contains more points than the crop threshold, the series data is cropped to only contain points that fall within the plot area. The advantage of cropping away invisible points is to increase performance on large series. ."},{"name":"series--cropThreshold","fullname":"series.cropThreshold","title":"cropThreshold","parent":"series","isParent":false,"returnType":"Number","defaults":"300","since":"2.2","description":"When the series contains less points than the crop threshold, all points are drawn, event if the points fall outside the visible plot area at the current zoom. The advantage of drawing all points (including markers and columns), is that animation is performed on updates. On the other hand, when the series contains more points than the crop threshold, the series data is cropped to only contain points that fall within the plot area. The advantage of cropping away invisible points is to increase performance on large series. ."},{"name":"plotOptions-arearange--cropThreshold","fullname":"plotOptions.arearange.cropThreshold","title":"cropThreshold","parent":"plotOptions-arearange","isParent":false,"returnType":"Number","defaults":"300","since":"2.2","description":"When the series contains less points than the crop threshold, all points are drawn, event if the points fall outside the visible plot area at the current zoom. The advantage of drawing all points (including markers and columns), is that animation is performed on updates. On the other hand, when the series contains more points than the crop threshold, the series data is cropped to only contain points that fall within the plot area. The advantage of cropping away invisible points is to increase performance on large series. ."},{"name":"series--cropThreshold","fullname":"series.cropThreshold","title":"cropThreshold","parent":"series","isParent":false,"returnType":"Number","defaults":"50","description":"When the series contains less points than the crop threshold, all points are drawn, event if the points fall outside the visible plot area at the current zoom. The advantage of drawing all points (including markers and columns), is that animation is performed on updates. On the other hand, when the series contains more points than the crop threshold, the series data is cropped to only contain points that fall within the plot area. The advantage of cropping away invisible points is to increase performance on large series. ."},{"name":"series--cropThreshold","fullname":"series.cropThreshold","title":"cropThreshold","parent":"series","isParent":false,"returnType":"Number","defaults":"300","since":"2.2","description":"When the series contains less points than the crop threshold, all points are drawn, event if the points fall outside the visible plot area at the current zoom. The advantage of drawing all points (including markers and columns), is that animation is performed on updates. On the other hand, when the series contains more points than the crop threshold, the series data is cropped to only contain points that fall within the plot area. The advantage of cropping away invisible points is to increase performance on large series. ."},{"name":"plotOptions-area--cropThreshold","fullname":"plotOptions.area.cropThreshold","title":"cropThreshold","parent":"plotOptions-area","isParent":false,"returnType":"Number","defaults":"300","since":"2.2","description":"When the series contains less points than the crop threshold, all points are drawn, event if the points fall outside the visible plot area at the current zoom. The advantage of drawing all points (including markers and columns), is that animation is performed on updates. On the other hand, when the series contains more points than the crop threshold, the series data is cropped to only contain points that fall within the plot area. The advantage of cropping away invisible points is to increase performance on large series. ."},{"name":"series--cropThreshold","fullname":"series.cropThreshold","title":"cropThreshold","parent":"series","isParent":false,"returnType":"Number","defaults":"50","description":"When the series contains less points than the crop threshold, all points are drawn, event if the points fall outside the visible plot area at the current zoom. The advantage of drawing all points (including markers and columns), is that animation is performed on updates. On the other hand, when the series contains more points than the crop threshold, the series data is cropped to only contain points that fall within the plot area. The advantage of cropping away invisible points is to increase performance on large series. ."},{"name":"tooltip--crosshairs","fullname":"tooltip.crosshairs","title":"crosshairs","parent":"tooltip","isParent":false,"returnType":"Mixed","description":"Display crosshairs to connect the points with their corresponding axis values. The crosshairs can be defined as a boolean, an array of booleans or an object.
\t
Boolean
\t
If the crosshairs option is true, a single crosshair relating to the \tx axis will be shown.
\t \t
Array of booleans
\t
In an array of booleans, the first value turns on the x axis crosshair and the second \tvalue to the y axis crosshair. Use [true, true] to show complete crosshairs.
\t \t
Array of objects
\t
In an array of objects, the first value applies to the x axis crosshair and the second \tvalue to the y axis crosshair. For each dimension, a width, color, \tdashStyle and zIndex can be given.
\n\t\t
Defaults to null.","demo":"Enable a crosshair for the x value;\n\t\t\ttrue two-dimensional crosshairs;\n\t\t\tcustomized crosshairs;\n\t\t\tdotted crosshair for x axis."},{"name":"data--csv","fullname":"data.csv","title":"csv","parent":"data","isParent":false,"returnType":"String","defaults":"","values":"","since":"4.0","description":"A comma delimited string to be parsed. Related options are startRow, endRow, startColumn and endColumn to delimit what part of the table is used. The lineDelimiter and itemDelimiter options define the CSV delimiter formats.","demo":"Data from CSV","seeAlso":"","deprecated":false},{"name":"plotOptions-pie--cursor","fullname":"plotOptions.pie.cursor","title":"cursor","parent":"plotOptions-pie","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"series--cursor","fullname":"series.cursor","title":"cursor","parent":"series","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"series--cursor","fullname":"series.cursor","title":"cursor","parent":"series","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"series--cursor","fullname":"series.cursor","title":"cursor","parent":"series","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"series--cursor","fullname":"series.cursor","title":"cursor","parent":"series","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"plotOptions-gauge--cursor","fullname":"plotOptions.gauge.cursor","title":"cursor","parent":"plotOptions-gauge","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"plotOptions-columnrange--cursor","fullname":"plotOptions.columnrange.cursor","title":"cursor","parent":"plotOptions-columnrange","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"plotOptions-column--cursor","fullname":"plotOptions.column.cursor","title":"cursor","parent":"plotOptions-column","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"plotOptions-heatmap--cursor","fullname":"plotOptions.heatmap.cursor","title":"cursor","parent":"plotOptions-heatmap","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"series--cursor","fullname":"series.cursor","title":"cursor","parent":"series","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"series--cursor","fullname":"series.cursor","title":"cursor","parent":"series","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"series--cursor","fullname":"series.cursor","title":"cursor","parent":"series","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"plotOptions-polygon--cursor","fullname":"plotOptions.polygon.cursor","title":"cursor","parent":"plotOptions-polygon","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"plotOptions-line--cursor","fullname":"plotOptions.line.cursor","title":"cursor","parent":"plotOptions-line","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"plotOptions-boxplot--cursor","fullname":"plotOptions.boxplot.cursor","title":"cursor","parent":"plotOptions-boxplot","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"series--cursor","fullname":"series.cursor","title":"cursor","parent":"series","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"series--cursor","fullname":"series.cursor","title":"cursor","parent":"series","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"series--cursor","fullname":"series.cursor","title":"cursor","parent":"series","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"plotOptions-area--cursor","fullname":"plotOptions.area.cursor","title":"cursor","parent":"plotOptions-area","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"plotOptions-bubble--cursor","fullname":"plotOptions.bubble.cursor","title":"cursor","parent":"plotOptions-bubble","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"plotOptions-areaspline--cursor","fullname":"plotOptions.areaspline.cursor","title":"cursor","parent":"plotOptions-areaspline","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"plotOptions-areasplinerange--cursor","fullname":"plotOptions.areasplinerange.cursor","title":"cursor","parent":"plotOptions-areasplinerange","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"series--cursor","fullname":"series.cursor","title":"cursor","parent":"series","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"plotOptions-pyramid--cursor","fullname":"plotOptions.pyramid.cursor","title":"cursor","parent":"plotOptions-pyramid","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"plotOptions-spline--cursor","fullname":"plotOptions.spline.cursor","title":"cursor","parent":"plotOptions-spline","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"series--cursor","fullname":"series.cursor","title":"cursor","parent":"series","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"series--cursor","fullname":"series.cursor","title":"cursor","parent":"series","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"series--cursor","fullname":"series.cursor","title":"cursor","parent":"series","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"series--cursor","fullname":"series.cursor","title":"cursor","parent":"series","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"plotOptions-waterfall--cursor","fullname":"plotOptions.waterfall.cursor","title":"cursor","parent":"plotOptions-waterfall","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"series--cursor","fullname":"series.cursor","title":"cursor","parent":"series","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"series--cursor","fullname":"series.cursor","title":"cursor","parent":"series","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"series--cursor","fullname":"series.cursor","title":"cursor","parent":"series","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"plotOptions-funnel--cursor","fullname":"plotOptions.funnel.cursor","title":"cursor","parent":"plotOptions-funnel","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"plotOptions-scatter--cursor","fullname":"plotOptions.scatter.cursor","title":"cursor","parent":"plotOptions-scatter","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"plotOptions-arearange--cursor","fullname":"plotOptions.arearange.cursor","title":"cursor","parent":"plotOptions-arearange","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"plotOptions-errorbar--cursor","fullname":"plotOptions.errorbar.cursor","title":"cursor","parent":"plotOptions-errorbar","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"series--cursor","fullname":"series.cursor","title":"cursor","parent":"series","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"plotOptions-bar--cursor","fullname":"plotOptions.bar.cursor","title":"cursor","parent":"plotOptions-bar","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"series--cursor","fullname":"series.cursor","title":"cursor","parent":"series","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"plotOptions-solidgauge--cursor","fullname":"plotOptions.solidgauge.cursor","title":"cursor","parent":"plotOptions-solidgauge","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"series--cursor","fullname":"series.cursor","title":"cursor","parent":"series","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"series--cursor","fullname":"series.cursor","title":"cursor","parent":"series","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"plotOptions-treemap--cursor","fullname":"plotOptions.treemap.cursor","title":"cursor","parent":"plotOptions-treemap","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"plotOptions-series--cursor","fullname":"plotOptions.series.cursor","title":"cursor","parent":"plotOptions-series","isParent":false,"returnType":"String","values":"[null, \"default\", \"none\", \"help\", \"pointer\", \"crosshair\"]","description":"You can set the cursor to \"pointer\" if you have click events attached to the series, to signal to the user that the points and lines can be clicked.","demo":"Pointer cursor on line graph,\n\t\t\ton columns,\n\t\t\ton scatter markers"},{"name":"plotOptions-polygon--dashStyle","fullname":"plotOptions.polygon.dashStyle","title":"dashStyle","parent":"plotOptions-polygon","isParent":false,"returnType":"String","defaults":"Solid","values":"[\"Solid\", \"ShortDash\", \"ShortDot\", \"ShortDashDot\", \"ShortDashDotDot\", \"Dot\", \"Dash\" ,\"LongDash\", \"DashDot\", \"LongDashDot\", \"LongDashDotDot\"]","since":"2.1","description":"A name for the dash style to use for the graph. Applies only to series type having a graph, like line, spline, area and scatter in case it has a lineWidth. The value for the dashStyle include:\r\n\t\t
    \r\n\t\t \t
  • Solid
  • \r\n\t\t \t
  • ShortDash
  • \r\n\t\t \t
  • ShortDot
  • \r\n\t\t \t
  • ShortDashDot
  • \r\n\t\t \t
  • ShortDashDotDot
  • \r\n\t\t \t
  • Dot
  • \r\n\t\t \t
  • Dash
  • \r\n\t\t \t
  • LongDash
  • \r\n\t\t \t
  • DashDot
  • \r\n\t\t \t
  • LongDashDot
  • \r\n\t\t \t
  • LongDashDotDot
  • \r\n\t\t
","demo":"Possible values demonstrated,\r\n\t\t\tchart suitable for printing in black and white","deprecated":false},{"name":"plotOptions-bubble-zones--dashStyle","fullname":"plotOptions.bubble.zones.dashStyle","title":"dashStyle","parent":"plotOptions-bubble-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"plotOptions-funnel-zones--dashStyle","fullname":"plotOptions.funnel.zones.dashStyle","title":"dashStyle","parent":"plotOptions-funnel-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"plotOptions-heatmap-zones--dashStyle","fullname":"plotOptions.heatmap.zones.dashStyle","title":"dashStyle","parent":"plotOptions-heatmap-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"plotOptions-column-zones--dashStyle","fullname":"plotOptions.column.zones.dashStyle","title":"dashStyle","parent":"plotOptions-column-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"plotOptions-polygon-zones--dashStyle","fullname":"plotOptions.polygon.zones.dashStyle","title":"dashStyle","parent":"plotOptions-polygon-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"plotOptions-areaspline--dashStyle","fullname":"plotOptions.areaspline.dashStyle","title":"dashStyle","parent":"plotOptions-areaspline","isParent":false,"returnType":"String","defaults":"Solid","values":"[\"Solid\", \"ShortDash\", \"ShortDot\", \"ShortDashDot\", \"ShortDashDotDot\", \"Dot\", \"Dash\" ,\"LongDash\", \"DashDot\", \"LongDashDot\", \"LongDashDotDot\"]","since":"2.1","description":"A name for the dash style to use for the graph. Applies only to series type having a graph, like line, spline, area and scatter in case it has a lineWidth. The value for the dashStyle include:\r\n\t\t
    \r\n\t\t \t
  • Solid
  • \r\n\t\t \t
  • ShortDash
  • \r\n\t\t \t
  • ShortDot
  • \r\n\t\t \t
  • ShortDashDot
  • \r\n\t\t \t
  • ShortDashDotDot
  • \r\n\t\t \t
  • Dot
  • \r\n\t\t \t
  • Dash
  • \r\n\t\t \t
  • LongDash
  • \r\n\t\t \t
  • DashDot
  • \r\n\t\t \t
  • LongDashDot
  • \r\n\t\t \t
  • LongDashDotDot
  • \r\n\t\t
","demo":"Possible values demonstrated,\r\n\t\t\tchart suitable for printing in black and white","deprecated":false},{"name":"series-zones--dashStyle","fullname":"series.zones.dashStyle","title":"dashStyle","parent":"series-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"series-zones--dashStyle","fullname":"series.zones.dashStyle","title":"dashStyle","parent":"series-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"plotOptions-waterfall--dashStyle","fullname":"plotOptions.waterfall.dashStyle","title":"dashStyle","parent":"plotOptions-waterfall","isParent":false,"returnType":"String","defaults":"Dot","values":"","since":"3.0","description":"A name for the dash style to use for the line connecting the columns of the waterfall series. Possible values:\r\n\t\t
    \r\n\t\t \t
  • Solid
  • \r\n\t\t \t
  • ShortDash
  • \r\n\t\t \t
  • ShortDot
  • \r\n\t\t \t
  • ShortDashDot
  • \r\n\t\t \t
  • ShortDashDotDot
  • \r\n\t\t \t
  • Dot
  • \r\n\t\t \t
  • Dash
  • \r\n\t\t \t
  • LongDash
  • \r\n\t\t \t
  • DashDot
  • \r\n\t\t \t
  • LongDashDot
  • \r\n\t\t \t
  • LongDashDotDot
  • \r\n\t\t
.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-errorbar-zones--dashStyle","fullname":"plotOptions.errorbar.zones.dashStyle","title":"dashStyle","parent":"plotOptions-errorbar-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"plotOptions-waterfall-zones--dashStyle","fullname":"plotOptions.waterfall.zones.dashStyle","title":"dashStyle","parent":"plotOptions-waterfall-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"series-zones--dashStyle","fullname":"series.zones.dashStyle","title":"dashStyle","parent":"series-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"plotOptions-line--dashStyle","fullname":"plotOptions.line.dashStyle","title":"dashStyle","parent":"plotOptions-line","isParent":false,"returnType":"String","defaults":"Solid","values":"[\"Solid\", \"ShortDash\", \"ShortDot\", \"ShortDashDot\", \"ShortDashDotDot\", \"Dot\", \"Dash\" ,\"LongDash\", \"DashDot\", \"LongDashDot\", \"LongDashDotDot\"]","since":"2.1","description":"A name for the dash style to use for the graph. Applies only to series type having a graph, like line, spline, area and scatter in case it has a lineWidth. The value for the dashStyle include:\r\n\t\t
    \r\n\t\t \t
  • Solid
  • \r\n\t\t \t
  • ShortDash
  • \r\n\t\t \t
  • ShortDot
  • \r\n\t\t \t
  • ShortDashDot
  • \r\n\t\t \t
  • ShortDashDotDot
  • \r\n\t\t \t
  • Dot
  • \r\n\t\t \t
  • Dash
  • \r\n\t\t \t
  • LongDash
  • \r\n\t\t \t
  • DashDot
  • \r\n\t\t \t
  • LongDashDot
  • \r\n\t\t \t
  • LongDashDotDot
  • \r\n\t\t
","demo":"Possible values demonstrated,\r\n\t\t\tchart suitable for printing in black and white","deprecated":false},{"name":"series--dashStyle","fullname":"series.dashStyle","title":"dashStyle","parent":"series","isParent":false,"returnType":"String","defaults":"Solid","values":"[\"Solid\", \"ShortDash\", \"ShortDot\", \"ShortDashDot\", \"ShortDashDotDot\", \"Dot\", \"Dash\" ,\"LongDash\", \"DashDot\", \"LongDashDot\", \"LongDashDotDot\"]","since":"2.1","description":"A name for the dash style to use for the graph. Applies only to series type having a graph, like line, spline, area and scatter in case it has a lineWidth. The value for the dashStyle include:\r\n\t\t
    \r\n\t\t \t
  • Solid
  • \r\n\t\t \t
  • ShortDash
  • \r\n\t\t \t
  • ShortDot
  • \r\n\t\t \t
  • ShortDashDot
  • \r\n\t\t \t
  • ShortDashDotDot
  • \r\n\t\t \t
  • Dot
  • \r\n\t\t \t
  • Dash
  • \r\n\t\t \t
  • LongDash
  • \r\n\t\t \t
  • DashDot
  • \r\n\t\t \t
  • LongDashDot
  • \r\n\t\t \t
  • LongDashDotDot
  • \r\n\t\t
","demo":"Possible values demonstrated,\r\n\t\t\tchart suitable for printing in black and white","deprecated":false},{"name":"series--dashStyle","fullname":"series.dashStyle","title":"dashStyle","parent":"series","isParent":false,"returnType":"String","defaults":"Solid","values":"[\"Solid\", \"ShortDash\", \"ShortDot\", \"ShortDashDot\", \"ShortDashDotDot\", \"Dot\", \"Dash\" ,\"LongDash\", \"DashDot\", \"LongDashDot\", \"LongDashDotDot\"]","since":"2.1","description":"A name for the dash style to use for the graph. Applies only to series type having a graph, like line, spline, area and scatter in case it has a lineWidth. The value for the dashStyle include:\r\n\t\t
    \r\n\t\t \t
  • Solid
  • \r\n\t\t \t
  • ShortDash
  • \r\n\t\t \t
  • ShortDot
  • \r\n\t\t \t
  • ShortDashDot
  • \r\n\t\t \t
  • ShortDashDotDot
  • \r\n\t\t \t
  • Dot
  • \r\n\t\t \t
  • Dash
  • \r\n\t\t \t
  • LongDash
  • \r\n\t\t \t
  • DashDot
  • \r\n\t\t \t
  • LongDashDot
  • \r\n\t\t \t
  • LongDashDotDot
  • \r\n\t\t
","demo":"Possible values demonstrated,\r\n\t\t\tchart suitable for printing in black and white","deprecated":false},{"name":"plotOptions-pie-zones--dashStyle","fullname":"plotOptions.pie.zones.dashStyle","title":"dashStyle","parent":"plotOptions-pie-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"series-zones--dashStyle","fullname":"series.zones.dashStyle","title":"dashStyle","parent":"series-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"series--dashStyle","fullname":"series.dashStyle","title":"dashStyle","parent":"series","isParent":false,"returnType":"String","defaults":"Solid","values":"[\"Solid\", \"ShortDash\", \"ShortDot\", \"ShortDashDot\", \"ShortDashDotDot\", \"Dot\", \"Dash\" ,\"LongDash\", \"DashDot\", \"LongDashDot\", \"LongDashDotDot\"]","since":"2.1","description":"A name for the dash style to use for the graph. Applies only to series type having a graph, like line, spline, area and scatter in case it has a lineWidth. The value for the dashStyle include:\r\n\t\t
    \r\n\t\t \t
  • Solid
  • \r\n\t\t \t
  • ShortDash
  • \r\n\t\t \t
  • ShortDot
  • \r\n\t\t \t
  • ShortDashDot
  • \r\n\t\t \t
  • ShortDashDotDot
  • \r\n\t\t \t
  • Dot
  • \r\n\t\t \t
  • Dash
  • \r\n\t\t \t
  • LongDash
  • \r\n\t\t \t
  • DashDot
  • \r\n\t\t \t
  • LongDashDot
  • \r\n\t\t \t
  • LongDashDotDot
  • \r\n\t\t
","demo":"Possible values demonstrated,\r\n\t\t\tchart suitable for printing in black and white","deprecated":false},{"name":"plotOptions-area-zones--dashStyle","fullname":"plotOptions.area.zones.dashStyle","title":"dashStyle","parent":"plotOptions-area-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"series-zones--dashStyle","fullname":"series.zones.dashStyle","title":"dashStyle","parent":"series-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"xAxis-plotLines--dashStyle","fullname":"xAxis.plotLines.dashStyle","title":"dashStyle","parent":"xAxis-plotLines","isParent":false,"returnType":"String","defaults":"Solid","values":"[\"Solid\", \"ShortDash\", \"ShortDot\", \"ShortDashDot\", \"ShortDashDotDot\", \"Dot\", \"Dash\" ,\"LongDash\", \"DashDot\", \"LongDashDot\", \"LongDashDotDot\"]","since":"1.2","description":"The dashing or dot style for the plot line. For possible values see this overview.","demo":"Dash and dot pattern","deprecated":false},{"name":"plotOptions-areaspline-zones--dashStyle","fullname":"plotOptions.areaspline.zones.dashStyle","title":"dashStyle","parent":"plotOptions-areaspline-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"plotOptions-scatter--dashStyle","fullname":"plotOptions.scatter.dashStyle","title":"dashStyle","parent":"plotOptions-scatter","isParent":false,"returnType":"String","defaults":"Solid","values":"[\"Solid\", \"ShortDash\", \"ShortDot\", \"ShortDashDot\", \"ShortDashDotDot\", \"Dot\", \"Dash\" ,\"LongDash\", \"DashDot\", \"LongDashDot\", \"LongDashDotDot\"]","since":"2.1","description":"A name for the dash style to use for the graph. Applies only to series type having a graph, like line, spline, area and scatter in case it has a lineWidth. The value for the dashStyle include:\r\n\t\t
    \r\n\t\t \t
  • Solid
  • \r\n\t\t \t
  • ShortDash
  • \r\n\t\t \t
  • ShortDot
  • \r\n\t\t \t
  • ShortDashDot
  • \r\n\t\t \t
  • ShortDashDotDot
  • \r\n\t\t \t
  • Dot
  • \r\n\t\t \t
  • Dash
  • \r\n\t\t \t
  • LongDash
  • \r\n\t\t \t
  • DashDot
  • \r\n\t\t \t
  • LongDashDot
  • \r\n\t\t \t
  • LongDashDotDot
  • \r\n\t\t
","demo":"Possible values demonstrated,\r\n\t\t\tchart suitable for printing in black and white","deprecated":false},{"name":"plotOptions-areasplinerange-zones--dashStyle","fullname":"plotOptions.areasplinerange.zones.dashStyle","title":"dashStyle","parent":"plotOptions-areasplinerange-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"series--dashStyle","fullname":"series.dashStyle","title":"dashStyle","parent":"series","isParent":false,"returnType":"String","defaults":"Solid","values":"[\"Solid\", \"ShortDash\", \"ShortDot\", \"ShortDashDot\", \"ShortDashDotDot\", \"Dot\", \"Dash\" ,\"LongDash\", \"DashDot\", \"LongDashDot\", \"LongDashDotDot\"]","since":"2.1","description":"A name for the dash style to use for the graph. Applies only to series type having a graph, like line, spline, area and scatter in case it has a lineWidth. The value for the dashStyle include:\r\n\t\t
    \r\n\t\t \t
  • Solid
  • \r\n\t\t \t
  • ShortDash
  • \r\n\t\t \t
  • ShortDot
  • \r\n\t\t \t
  • ShortDashDot
  • \r\n\t\t \t
  • ShortDashDotDot
  • \r\n\t\t \t
  • Dot
  • \r\n\t\t \t
  • Dash
  • \r\n\t\t \t
  • LongDash
  • \r\n\t\t \t
  • DashDot
  • \r\n\t\t \t
  • LongDashDot
  • \r\n\t\t \t
  • LongDashDotDot
  • \r\n\t\t
","demo":"Possible values demonstrated,\r\n\t\t\tchart suitable for printing in black and white","deprecated":false},{"name":"plotOptions-treemap-zones--dashStyle","fullname":"plotOptions.treemap.zones.dashStyle","title":"dashStyle","parent":"plotOptions-treemap-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"plotOptions-bar-zones--dashStyle","fullname":"plotOptions.bar.zones.dashStyle","title":"dashStyle","parent":"plotOptions-bar-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"plotOptions-series--dashStyle","fullname":"plotOptions.series.dashStyle","title":"dashStyle","parent":"plotOptions-series","isParent":false,"returnType":"String","defaults":"Solid","values":"[\"Solid\", \"ShortDash\", \"ShortDot\", \"ShortDashDot\", \"ShortDashDotDot\", \"Dot\", \"Dash\" ,\"LongDash\", \"DashDot\", \"LongDashDot\", \"LongDashDotDot\"]","since":"2.1","description":"A name for the dash style to use for the graph. Applies only to series type having a graph, like line, spline, area and scatter in case it has a lineWidth. The value for the dashStyle include:\r\n\t\t
    \r\n\t\t \t
  • Solid
  • \r\n\t\t \t
  • ShortDash
  • \r\n\t\t \t
  • ShortDot
  • \r\n\t\t \t
  • ShortDashDot
  • \r\n\t\t \t
  • ShortDashDotDot
  • \r\n\t\t \t
  • Dot
  • \r\n\t\t \t
  • Dash
  • \r\n\t\t \t
  • LongDash
  • \r\n\t\t \t
  • DashDot
  • \r\n\t\t \t
  • LongDashDot
  • \r\n\t\t \t
  • LongDashDotDot
  • \r\n\t\t
","demo":"Possible values demonstrated,\r\n\t\t\tchart suitable for printing in black and white","deprecated":false},{"name":"plotOptions-spline--dashStyle","fullname":"plotOptions.spline.dashStyle","title":"dashStyle","parent":"plotOptions-spline","isParent":false,"returnType":"String","defaults":"Solid","values":"[\"Solid\", \"ShortDash\", \"ShortDot\", \"ShortDashDot\", \"ShortDashDotDot\", \"Dot\", \"Dash\" ,\"LongDash\", \"DashDot\", \"LongDashDot\", \"LongDashDotDot\"]","since":"2.1","description":"A name for the dash style to use for the graph. Applies only to series type having a graph, like line, spline, area and scatter in case it has a lineWidth. The value for the dashStyle include:\r\n\t\t
    \r\n\t\t \t
  • Solid
  • \r\n\t\t \t
  • ShortDash
  • \r\n\t\t \t
  • ShortDot
  • \r\n\t\t \t
  • ShortDashDot
  • \r\n\t\t \t
  • ShortDashDotDot
  • \r\n\t\t \t
  • Dot
  • \r\n\t\t \t
  • Dash
  • \r\n\t\t \t
  • LongDash
  • \r\n\t\t \t
  • DashDot
  • \r\n\t\t \t
  • LongDashDot
  • \r\n\t\t \t
  • LongDashDotDot
  • \r\n\t\t
","demo":"Possible values demonstrated,\r\n\t\t\tchart suitable for printing in black and white","deprecated":false},{"name":"series-zones--dashStyle","fullname":"series.zones.dashStyle","title":"dashStyle","parent":"series-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"series-zones--dashStyle","fullname":"series.zones.dashStyle","title":"dashStyle","parent":"series-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"series-zones--dashStyle","fullname":"series.zones.dashStyle","title":"dashStyle","parent":"series-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"plotOptions-spline-zones--dashStyle","fullname":"plotOptions.spline.zones.dashStyle","title":"dashStyle","parent":"plotOptions-spline-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"series-zones--dashStyle","fullname":"series.zones.dashStyle","title":"dashStyle","parent":"series-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"series-zones--dashStyle","fullname":"series.zones.dashStyle","title":"dashStyle","parent":"series-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"plotOptions-area--dashStyle","fullname":"plotOptions.area.dashStyle","title":"dashStyle","parent":"plotOptions-area","isParent":false,"returnType":"String","defaults":"Solid","values":"[\"Solid\", \"ShortDash\", \"ShortDot\", \"ShortDashDot\", \"ShortDashDotDot\", \"Dot\", \"Dash\" ,\"LongDash\", \"DashDot\", \"LongDashDot\", \"LongDashDotDot\"]","since":"2.1","description":"A name for the dash style to use for the graph. Applies only to series type having a graph, like line, spline, area and scatter in case it has a lineWidth. The value for the dashStyle include:\r\n\t\t
    \r\n\t\t \t
  • Solid
  • \r\n\t\t \t
  • ShortDash
  • \r\n\t\t \t
  • ShortDot
  • \r\n\t\t \t
  • ShortDashDot
  • \r\n\t\t \t
  • ShortDashDotDot
  • \r\n\t\t \t
  • Dot
  • \r\n\t\t \t
  • Dash
  • \r\n\t\t \t
  • LongDash
  • \r\n\t\t \t
  • DashDot
  • \r\n\t\t \t
  • LongDashDot
  • \r\n\t\t \t
  • LongDashDotDot
  • \r\n\t\t
","demo":"Possible values demonstrated,\r\n\t\t\tchart suitable for printing in black and white","deprecated":false},{"name":"plotOptions-boxplot-zones--dashStyle","fullname":"plotOptions.boxplot.zones.dashStyle","title":"dashStyle","parent":"plotOptions-boxplot-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"series-zones--dashStyle","fullname":"series.zones.dashStyle","title":"dashStyle","parent":"series-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"series-zones--dashStyle","fullname":"series.zones.dashStyle","title":"dashStyle","parent":"series-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"series-zones--dashStyle","fullname":"series.zones.dashStyle","title":"dashStyle","parent":"series-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"plotOptions-series-zones--dashStyle","fullname":"plotOptions.series.zones.dashStyle","title":"dashStyle","parent":"plotOptions-series-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"plotOptions-areasplinerange--dashStyle","fullname":"plotOptions.areasplinerange.dashStyle","title":"dashStyle","parent":"plotOptions-areasplinerange","isParent":false,"returnType":"String","defaults":"Solid","values":"[\"Solid\", \"ShortDash\", \"ShortDot\", \"ShortDashDot\", \"ShortDashDotDot\", \"Dot\", \"Dash\" ,\"LongDash\", \"DashDot\", \"LongDashDot\", \"LongDashDotDot\"]","since":"2.1","description":"A name for the dash style to use for the graph. Applies only to series type having a graph, like line, spline, area and scatter in case it has a lineWidth. The value for the dashStyle include:\r\n\t\t
    \r\n\t\t \t
  • Solid
  • \r\n\t\t \t
  • ShortDash
  • \r\n\t\t \t
  • ShortDot
  • \r\n\t\t \t
  • ShortDashDot
  • \r\n\t\t \t
  • ShortDashDotDot
  • \r\n\t\t \t
  • Dot
  • \r\n\t\t \t
  • Dash
  • \r\n\t\t \t
  • LongDash
  • \r\n\t\t \t
  • DashDot
  • \r\n\t\t \t
  • LongDashDot
  • \r\n\t\t \t
  • LongDashDotDot
  • \r\n\t\t
","demo":"Possible values demonstrated,\r\n\t\t\tchart suitable for printing in black and white","deprecated":false},{"name":"series-zones--dashStyle","fullname":"series.zones.dashStyle","title":"dashStyle","parent":"series-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"plotOptions-arearange--dashStyle","fullname":"plotOptions.arearange.dashStyle","title":"dashStyle","parent":"plotOptions-arearange","isParent":false,"returnType":"String","defaults":"Solid","values":"[\"Solid\", \"ShortDash\", \"ShortDot\", \"ShortDashDot\", \"ShortDashDotDot\", \"Dot\", \"Dash\" ,\"LongDash\", \"DashDot\", \"LongDashDot\", \"LongDashDotDot\"]","since":"2.1","description":"A name for the dash style to use for the graph. Applies only to series type having a graph, like line, spline, area and scatter in case it has a lineWidth. The value for the dashStyle include:\r\n\t\t
    \r\n\t\t \t
  • Solid
  • \r\n\t\t \t
  • ShortDash
  • \r\n\t\t \t
  • ShortDot
  • \r\n\t\t \t
  • ShortDashDot
  • \r\n\t\t \t
  • ShortDashDotDot
  • \r\n\t\t \t
  • Dot
  • \r\n\t\t \t
  • Dash
  • \r\n\t\t \t
  • LongDash
  • \r\n\t\t \t
  • DashDot
  • \r\n\t\t \t
  • LongDashDot
  • \r\n\t\t \t
  • LongDashDotDot
  • \r\n\t\t
","demo":"Possible values demonstrated,\r\n\t\t\tchart suitable for printing in black and white","deprecated":false},{"name":"plotOptions-solidgauge-zones--dashStyle","fullname":"plotOptions.solidgauge.zones.dashStyle","title":"dashStyle","parent":"plotOptions-solidgauge-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"series-zones--dashStyle","fullname":"series.zones.dashStyle","title":"dashStyle","parent":"series-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"series-zones--dashStyle","fullname":"series.zones.dashStyle","title":"dashStyle","parent":"series-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"series-zones--dashStyle","fullname":"series.zones.dashStyle","title":"dashStyle","parent":"series-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"series--dashStyle","fullname":"series.dashStyle","title":"dashStyle","parent":"series","isParent":false,"returnType":"String","defaults":"Solid","values":"[\"Solid\", \"ShortDash\", \"ShortDot\", \"ShortDashDot\", \"ShortDashDotDot\", \"Dot\", \"Dash\" ,\"LongDash\", \"DashDot\", \"LongDashDot\", \"LongDashDotDot\"]","since":"2.1","description":"A name for the dash style to use for the graph. Applies only to series type having a graph, like line, spline, area and scatter in case it has a lineWidth. The value for the dashStyle include:\r\n\t\t
    \r\n\t\t \t
  • Solid
  • \r\n\t\t \t
  • ShortDash
  • \r\n\t\t \t
  • ShortDot
  • \r\n\t\t \t
  • ShortDashDot
  • \r\n\t\t \t
  • ShortDashDotDot
  • \r\n\t\t \t
  • Dot
  • \r\n\t\t \t
  • Dash
  • \r\n\t\t \t
  • LongDash
  • \r\n\t\t \t
  • DashDot
  • \r\n\t\t \t
  • LongDashDot
  • \r\n\t\t \t
  • LongDashDotDot
  • \r\n\t\t
","demo":"Possible values demonstrated,\r\n\t\t\tchart suitable for printing in black and white","deprecated":false},{"name":"series-zones--dashStyle","fullname":"series.zones.dashStyle","title":"dashStyle","parent":"series-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"plotOptions-scatter-zones--dashStyle","fullname":"plotOptions.scatter.zones.dashStyle","title":"dashStyle","parent":"plotOptions-scatter-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"plotOptions-line-zones--dashStyle","fullname":"plotOptions.line.zones.dashStyle","title":"dashStyle","parent":"plotOptions-line-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"yAxis-plotLines--dashStyle","fullname":"yAxis.plotLines.dashStyle","title":"dashStyle","parent":"yAxis-plotLines","isParent":false,"returnType":"String","defaults":"Solid","values":"[\"Solid\", \"ShortDash\", \"ShortDot\", \"ShortDashDot\", \"ShortDashDotDot\", \"Dot\", \"Dash\" ,\"LongDash\", \"DashDot\", \"LongDashDot\", \"LongDashDotDot\"]","since":"1.2","description":"The dashing or dot style for the plot line. For possible values see this overview.","demo":"Dash and dot pattern","deprecated":false},{"name":"series-zones--dashStyle","fullname":"series.zones.dashStyle","title":"dashStyle","parent":"series-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"series-zones--dashStyle","fullname":"series.zones.dashStyle","title":"dashStyle","parent":"series-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"plotOptions-bubble--dashStyle","fullname":"plotOptions.bubble.dashStyle","title":"dashStyle","parent":"plotOptions-bubble","isParent":false,"returnType":"String","defaults":"Solid","values":"[\"Solid\", \"ShortDash\", \"ShortDot\", \"ShortDashDot\", \"ShortDashDotDot\", \"Dot\", \"Dash\" ,\"LongDash\", \"DashDot\", \"LongDashDot\", \"LongDashDotDot\"]","since":"2.1","description":"A name for the dash style to use for the graph. Applies only to series type having a graph, like line, spline, area and scatter in case it has a lineWidth. The value for the dashStyle include:\r\n\t\t
    \r\n\t\t \t
  • Solid
  • \r\n\t\t \t
  • ShortDash
  • \r\n\t\t \t
  • ShortDot
  • \r\n\t\t \t
  • ShortDashDot
  • \r\n\t\t \t
  • ShortDashDotDot
  • \r\n\t\t \t
  • Dot
  • \r\n\t\t \t
  • Dash
  • \r\n\t\t \t
  • LongDash
  • \r\n\t\t \t
  • DashDot
  • \r\n\t\t \t
  • LongDashDot
  • \r\n\t\t \t
  • LongDashDotDot
  • \r\n\t\t
","demo":"Possible values demonstrated,\r\n\t\t\tchart suitable for printing in black and white","deprecated":false},{"name":"plotOptions-arearange-zones--dashStyle","fullname":"plotOptions.arearange.zones.dashStyle","title":"dashStyle","parent":"plotOptions-arearange-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"series--dashStyle","fullname":"series.dashStyle","title":"dashStyle","parent":"series","isParent":false,"returnType":"String","defaults":"Solid","values":"[\"Solid\", \"ShortDash\", \"ShortDot\", \"ShortDashDot\", \"ShortDashDotDot\", \"Dot\", \"Dash\" ,\"LongDash\", \"DashDot\", \"LongDashDot\", \"LongDashDotDot\"]","since":"2.1","description":"A name for the dash style to use for the graph. Applies only to series type having a graph, like line, spline, area and scatter in case it has a lineWidth. The value for the dashStyle include:\r\n\t\t
    \r\n\t\t \t
  • Solid
  • \r\n\t\t \t
  • ShortDash
  • \r\n\t\t \t
  • ShortDot
  • \r\n\t\t \t
  • ShortDashDot
  • \r\n\t\t \t
  • ShortDashDotDot
  • \r\n\t\t \t
  • Dot
  • \r\n\t\t \t
  • Dash
  • \r\n\t\t \t
  • LongDash
  • \r\n\t\t \t
  • DashDot
  • \r\n\t\t \t
  • LongDashDot
  • \r\n\t\t \t
  • LongDashDotDot
  • \r\n\t\t
","demo":"Possible values demonstrated,\r\n\t\t\tchart suitable for printing in black and white","deprecated":false},{"name":"series--dashStyle","fullname":"series.dashStyle","title":"dashStyle","parent":"series","isParent":false,"returnType":"String","defaults":"Solid","values":"[\"Solid\", \"ShortDash\", \"ShortDot\", \"ShortDashDot\", \"ShortDashDotDot\", \"Dot\", \"Dash\" ,\"LongDash\", \"DashDot\", \"LongDashDot\", \"LongDashDotDot\"]","since":"2.1","description":"A name for the dash style to use for the graph. Applies only to series type having a graph, like line, spline, area and scatter in case it has a lineWidth. The value for the dashStyle include:\r\n\t\t
    \r\n\t\t \t
  • Solid
  • \r\n\t\t \t
  • ShortDash
  • \r\n\t\t \t
  • ShortDot
  • \r\n\t\t \t
  • ShortDashDot
  • \r\n\t\t \t
  • ShortDashDotDot
  • \r\n\t\t \t
  • Dot
  • \r\n\t\t \t
  • Dash
  • \r\n\t\t \t
  • LongDash
  • \r\n\t\t \t
  • DashDot
  • \r\n\t\t \t
  • LongDashDot
  • \r\n\t\t \t
  • LongDashDotDot
  • \r\n\t\t
","demo":"Possible values demonstrated,\r\n\t\t\tchart suitable for printing in black and white","deprecated":false},{"name":"plotOptions-columnrange-zones--dashStyle","fullname":"plotOptions.columnrange.zones.dashStyle","title":"dashStyle","parent":"plotOptions-columnrange-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"series--dashStyle","fullname":"series.dashStyle","title":"dashStyle","parent":"series","isParent":false,"returnType":"String","defaults":"Solid","values":"[\"Solid\", \"ShortDash\", \"ShortDot\", \"ShortDashDot\", \"ShortDashDotDot\", \"Dot\", \"Dash\" ,\"LongDash\", \"DashDot\", \"LongDashDot\", \"LongDashDotDot\"]","since":"2.1","description":"A name for the dash style to use for the graph. Applies only to series type having a graph, like line, spline, area and scatter in case it has a lineWidth. The value for the dashStyle include:\r\n\t\t
    \r\n\t\t \t
  • Solid
  • \r\n\t\t \t
  • ShortDash
  • \r\n\t\t \t
  • ShortDot
  • \r\n\t\t \t
  • ShortDashDot
  • \r\n\t\t \t
  • ShortDashDotDot
  • \r\n\t\t \t
  • Dot
  • \r\n\t\t \t
  • Dash
  • \r\n\t\t \t
  • LongDash
  • \r\n\t\t \t
  • DashDot
  • \r\n\t\t \t
  • LongDashDot
  • \r\n\t\t \t
  • LongDashDotDot
  • \r\n\t\t
","demo":"Possible values demonstrated,\r\n\t\t\tchart suitable for printing in black and white","deprecated":false},{"name":"series--dashStyle","fullname":"series.dashStyle","title":"dashStyle","parent":"series","isParent":false,"returnType":"String","defaults":"Dot","values":"","since":"3.0","description":"A name for the dash style to use for the line connecting the columns of the waterfall series. Possible values:\r\n\t\t
    \r\n\t\t \t
  • Solid
  • \r\n\t\t \t
  • ShortDash
  • \r\n\t\t \t
  • ShortDot
  • \r\n\t\t \t
  • ShortDashDot
  • \r\n\t\t \t
  • ShortDashDotDot
  • \r\n\t\t \t
  • Dot
  • \r\n\t\t \t
  • Dash
  • \r\n\t\t \t
  • LongDash
  • \r\n\t\t \t
  • DashDot
  • \r\n\t\t \t
  • LongDashDot
  • \r\n\t\t \t
  • LongDashDotDot
  • \r\n\t\t
.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-gauge-zones--dashStyle","fullname":"plotOptions.gauge.zones.dashStyle","title":"dashStyle","parent":"plotOptions-gauge-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"series-zones--dashStyle","fullname":"series.zones.dashStyle","title":"dashStyle","parent":"series-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"series-zones--dashStyle","fullname":"series.zones.dashStyle","title":"dashStyle","parent":"series-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"series--dashStyle","fullname":"series.dashStyle","title":"dashStyle","parent":"series","isParent":false,"returnType":"String","defaults":"Solid","values":"[\"Solid\", \"ShortDash\", \"ShortDot\", \"ShortDashDot\", \"ShortDashDotDot\", \"Dot\", \"Dash\" ,\"LongDash\", \"DashDot\", \"LongDashDot\", \"LongDashDotDot\"]","since":"2.1","description":"A name for the dash style to use for the graph. Applies only to series type having a graph, like line, spline, area and scatter in case it has a lineWidth. The value for the dashStyle include:\r\n\t\t
    \r\n\t\t \t
  • Solid
  • \r\n\t\t \t
  • ShortDash
  • \r\n\t\t \t
  • ShortDot
  • \r\n\t\t \t
  • ShortDashDot
  • \r\n\t\t \t
  • ShortDashDotDot
  • \r\n\t\t \t
  • Dot
  • \r\n\t\t \t
  • Dash
  • \r\n\t\t \t
  • LongDash
  • \r\n\t\t \t
  • DashDot
  • \r\n\t\t \t
  • LongDashDot
  • \r\n\t\t \t
  • LongDashDotDot
  • \r\n\t\t
","demo":"Possible values demonstrated,\r\n\t\t\tchart suitable for printing in black and white","deprecated":false},{"name":"plotOptions-pyramid-zones--dashStyle","fullname":"plotOptions.pyramid.zones.dashStyle","title":"dashStyle","parent":"plotOptions-pyramid-zones","isParent":false,"returnType":"String","since":"4.1.0","description":"A name for the dash style to use for the graph.","demo":"Dashed line indicates prognosis","seeAlso":"series.dashStyle","deprecated":false},{"name":"series-data","fullname":"series.data","title":"data","parent":"series","isParent":true,"returnType":"Array","description":"An array of data points for the series. For the column series type, points can be given in the following ways:\r\n
    \r\n \t
  1. An array of numerical values. In this case, the numerical values will \r\n \tbe interpreted as y options. The x values will be automatically calculated,\r\n \teither starting at 0 and incremented by 1, or from pointStart \r\n \tand pointInterval given in the series options. If the axis\r\n \thas categories, these will be used. Example:\r\n
    data: [0, 5, 3, 5]
    \r\n \t
  2. \r\n \t
  3. An array of arrays with 2 values. In this case, the values correspond to x,y. If the first value is a string, it is\r\n \tapplied as the name of the point, and the x value is inferred.

    data: [\n    [0, 6], \n    [1, 2], \n    [2, 6]\n]
  4. \r\n\r\n\r\n
  5. An array of objects with named values. The objects are\r\n \tpoint configuration objects as seen below. If the total number of data points exceeds the series' turboThreshold, this option is not available.

    \r\n\r\n
    data: [{\n    x: 1,\n    y: 5,\n    name: \"Point2\",\n    color: \"#00FF00\"\n}, {\n    x: 1,\n    y: 9,\n    name: \"Point1\",\n    color: \"#FF00FF\"\n}]
  6. \r\n
","demo":"

The demos use a line series, but the principle is the same for all types.

\n"},{"name":"series-data","fullname":"series.data","title":"data","parent":"series","isParent":true,"returnType":"Array","description":"An array of data points for the series. For the pyramid series type, points can be given in the following ways:\r\n
    \r\n \t
  1. An array of numerical values. In this case, the numerical values will \r\n \tbe interpreted as y options. Example:\r\n
    data: [0, 5, 3, 5]
    \r\n \t
  2. \r\n
  3. An array of objects with named values. The objects are\r\n \tpoint configuration objects as seen below. If the total number of data points exceeds the series' turboThreshold, this option is not available.

    \r\n\r\n
    data: [{\n    y: 6,\n    name: \"Point2\",\n    color: \"#00FF00\"\n}, {\n    y: 7,\n    name: \"Point1\",\n    color: \"#FF00FF\"\n}]
  4. \r\n
","demo":"

The demos use a line series, but the principle is the same for all types.

\n"},{"name":"series-data","fullname":"series.data","title":"data","parent":"series","isParent":true,"returnType":"Array","description":"An array of data points for the series. For the boxplot series type, points can be given in the following ways:\r\n
    \r\n \t
  1. An array of arrays with 6 or 5 values. In this case, the values correspond to x,low,q1,median,q3,high. If the first value is a string, it is\r\n \tapplied as the name of the point, and the x value is inferred. The x value can also be omitted, in which case the inner arrays should be of length 5. Then the x value is automatically calculated, either starting at 0 and incremented by 1, or from pointStart \r\n \tand pointInterval given in the series options.

    \r\n
    data: [\n    [0, 3, 0, 10, 3, 5], \n    [1, 7, 8, 7, 2, 9], \n    [2, 6, 9, 5, 1, 3]\n]
  2. \r\n\r\n\r\n
  3. An array of objects with named values. The objects are\r\n \tpoint configuration objects as seen below. If the total number of data points exceeds the series' turboThreshold, this option is not available.

    \r\n\r\n
    data: [{\n    x: 1,\n    low: 4,\n    q1: 9,\n    median: 9,\n    q3: 1,\n    high: 10,\n    name: \"Point2\",\n    color: \"#00FF00\"\n}, {\n    x: 1,\n    low: 5,\n    q1: 7,\n    median: 3,\n    q3: 6,\n    high: 2,\n    name: \"Point1\",\n    color: \"#FF00FF\"\n}]
  4. \r\n
","demo":"

The demos use a line series, but the principle is the same for all types.

\n"},{"name":"data","fullname":"data","title":"data","isParent":true,"since":"4.0","description":"

The Data module provides a simplified interface for adding data to a chart from sources like CVS, HTML tables or grid views. See also the tutorial article on the Data module.

\r\n\r\n

It requires the modules/data.js file to be loaded.

\r\n\r\n

Please note that the default way of adding data in Highcharts, without the need of a module, is through the series.data option.

","demo":"Data from a HTML table, CSV.","deprecated":false},{"name":"series-data","fullname":"series.data","title":"data","parent":"series","isParent":true,"returnType":"Array","description":"An array of data points for the series. For the polygon series type, points can be given in the following ways:\r\n
    \r\n \t
  1. An array of numerical values. In this case, the numerical values will \r\n \tbe interpreted as y options. The x values will be automatically calculated,\r\n \teither starting at 0 and incremented by 1, or from pointStart \r\n \tand pointInterval given in the series options. If the axis\r\n \thas categories, these will be used. Example:\r\n
    data: [0, 5, 3, 5]
    \r\n \t
  2. \r\n \t
  3. An array of arrays with 2 values. In this case, the values correspond to x,y. If the first value is a string, it is\r\n \tapplied as the name of the point, and the x value is inferred.

    data: [\n    [0, 10], \n    [1, 3], \n    [2, 1]\n]
  4. \r\n\r\n\r\n
  5. An array of objects with named values. The objects are\r\n \tpoint configuration objects as seen below. If the total number of data points exceeds the series' turboThreshold, this option is not available.

    \r\n\r\n
    data: [{\n    x: 1,\n    y: 1,\n    name: \"Point2\",\n    color: \"#00FF00\"\n}, {\n    x: 1,\n    y: 8,\n    name: \"Point1\",\n    color: \"#FF00FF\"\n}]
  6. \r\n
","demo":"

The demos use a line series, but the principle is the same for all types.

\n"},{"name":"series-data","fullname":"series.data","title":"data","parent":"series","isParent":true,"returnType":"Array","description":"An array of data points for the series. For the spline series type, points can be given in the following ways:\r\n
    \r\n \t
  1. An array of numerical values. In this case, the numerical values will \r\n \tbe interpreted as y options. The x values will be automatically calculated,\r\n \teither starting at 0 and incremented by 1, or from pointStart \r\n \tand pointInterval given in the series options. If the axis\r\n \thas categories, these will be used. Example:\r\n
    data: [0, 5, 3, 5]
    \r\n \t
  2. \r\n \t
  3. An array of arrays with 2 values. In this case, the values correspond to x,y. If the first value is a string, it is\r\n \tapplied as the name of the point, and the x value is inferred.

    data: [\n    [0, 9], \n    [1, 2], \n    [2, 8]\n]
  4. \r\n\r\n\r\n
  5. An array of objects with named values. The objects are\r\n \tpoint configuration objects as seen below. If the total number of data points exceeds the series' turboThreshold, this option is not available.

    \r\n\r\n
    data: [{\n    x: 1,\n    y: 9,\n    name: \"Point2\",\n    color: \"#00FF00\"\n}, {\n    x: 1,\n    y: 0,\n    name: \"Point1\",\n    color: \"#FF00FF\"\n}]
  6. \r\n
","demo":"

The demos use a line series, but the principle is the same for all types.

\n"},{"name":"series-data","fullname":"series.data","title":"data","parent":"series","isParent":true,"returnType":"Array","description":"An array of data points for the series. For the gauge series type, points can be given in the following ways:\r\n
    \r\n \t
  1. An array of numerical values. In this case, the numerical values will \r\n \tbe interpreted as y options. Example:\r\n
    data: [0, 5, 3, 5]
    \r\n \t
  2. \r\n
  3. An array of objects with named values. The objects are\r\n \tpoint configuration objects as seen below. If the total number of data points exceeds the series' turboThreshold, this option is not available.

    \r\n\r\n
    data: [{\n    y: 6,\n    name: \"Point2\",\n    color: \"#00FF00\"\n}, {\n    y: 8,\n    name: \"Point1\",\n    color: \"#FF00FF\"\n}]
  4. \r\n

The typical gauge only contains a single data value.

","demo":"

The demos use a line series, but the principle is the same for all types.

\n"},{"name":"series-data","fullname":"series.data","title":"data","parent":"series","isParent":true,"returnType":"Array","description":"An array of data points for the series. For the area series type, points can be given in the following ways:\r\n
    \r\n \t
  1. An array of numerical values. In this case, the numerical values will \r\n \tbe interpreted as y options. The x values will be automatically calculated,\r\n \teither starting at 0 and incremented by 1, or from pointStart \r\n \tand pointInterval given in the series options. If the axis\r\n \thas categories, these will be used. Example:\r\n
    data: [0, 5, 3, 5]
    \r\n \t
  2. \r\n \t
  3. An array of arrays with 2 values. In this case, the values correspond to x,y. If the first value is a string, it is\r\n \tapplied as the name of the point, and the x value is inferred.

    data: [\n    [0, 9], \n    [1, 7], \n    [2, 6]\n]
  4. \r\n\r\n\r\n
  5. An array of objects with named values. The objects are\r\n \tpoint configuration objects as seen below. If the total number of data points exceeds the series' turboThreshold, this option is not available.

    \r\n\r\n
    data: [{\n    x: 1,\n    y: 9,\n    name: \"Point2\",\n    color: \"#00FF00\"\n}, {\n    x: 1,\n    y: 6,\n    name: \"Point1\",\n    color: \"#FF00FF\"\n}]
  6. \r\n
","demo":"

The demos use a line series, but the principle is the same for all types.

\n"},{"name":"series-data","fullname":"series.data","title":"data","parent":"series","isParent":true,"returnType":"Array","description":"An array of data points for the series. The points can be given in three ways:\r\n
    \r\n \t
  1. An array of numerical values. In this case, the numerical values will \r\n \tbe interpreted as y values, and x values will be automatically calculated,\r\n \teither starting at 0 and incrementing by 1, or from pointStart \r\n \tand pointInterval given in the plotOptions. If the axis is\r\n \thas categories, these will be used. This option is not available for range series. Example:\r\n
    data: [0, 5, 3, 5]
    \r\n \t
  2. \r\n \t
  3. An array of arrays with two values. In this case, the first value is the\r\n \tx value and the second is the y value. If the first value is a string, it is\r\n \tapplied as the name of the point, and the x value is incremented following\r\n \tthe above rules.

    \r\n

    For range series, the arrays will be interpreted as [x, low, high]. In this cases, the X value can be skipped altogether to make use of pointStart and pointRange.

    \r\n\r\n Example:\r\n
    data: [[5, 2], [6, 3], [8, 2]]
  4. \r\n\r\n\r\n
  5. An array of objects with named values. In this case the objects are\r\n \tpoint configuration objects as seen below.

    \r\n\r\n

    Range series values are given by low and high.

    \r\n\r\nExample:\r\n
    data: [{\r\n\tname: 'Point 1',\r\n\tcolor: '#00FF00',\r\n\ty: 0\r\n}, {\r\n\tname: 'Point 2',\r\n\tcolor: '#FF00FF',\r\n\ty: 5\r\n}]
  6. \r\n
\r\n\r\n

Note that line series and derived types like spline and area, require data to be sorted by X because it interpolates mouse coordinates for the tooltip. Column and scatter series, where each point has its own mouse event, does not require sorting.

","demo":"","deprecated":false},{"name":"series-data","fullname":"series.data","title":"data","parent":"series","isParent":true,"returnType":"Array","description":"An array of data points for the series. For the areasplinerange series type, points can be given in the following ways:\r\n
    \r\n \t
  1. An array of arrays with 3 or 2 values. In this case, the values correspond to x,low,high. If the first value is a string, it is\r\n \tapplied as the name of the point, and the x value is inferred. The x value can also be omitted, in which case the inner arrays should be of length 2. Then the x value is automatically calculated, either starting at 0 and incremented by 1, or from pointStart \r\n \tand pointInterval given in the series options.

    \r\n
    data: [\n    [0, 0, 5], \n    [1, 9, 1], \n    [2, 5, 2]\n]
  2. \r\n\r\n\r\n
  3. An array of objects with named values. The objects are\r\n \tpoint configuration objects as seen below. If the total number of data points exceeds the series' turboThreshold, this option is not available.

    \r\n\r\n
    data: [{\n    x: 1,\n    low: 5,\n    high: 0,\n    name: \"Point2\",\n    color: \"#00FF00\"\n}, {\n    x: 1,\n    low: 4,\n    high: 1,\n    name: \"Point1\",\n    color: \"#FF00FF\"\n}]
  4. \r\n
","demo":"

The demos use a line series, but the principle is the same for all types.

\n"},{"name":"series-data","fullname":"series.data","title":"data","parent":"series","isParent":true,"returnType":"Array","description":"An array of data points for the series. For the areaspline series type, points can be given in the following ways:\r\n
    \r\n \t
  1. An array of numerical values. In this case, the numerical values will \r\n \tbe interpreted as y options. The x values will be automatically calculated,\r\n \teither starting at 0 and incremented by 1, or from pointStart \r\n \tand pointInterval given in the series options. If the axis\r\n \thas categories, these will be used. Example:\r\n
    data: [0, 5, 3, 5]
    \r\n \t
  2. \r\n \t
  3. An array of arrays with 2 values. In this case, the values correspond to x,y. If the first value is a string, it is\r\n \tapplied as the name of the point, and the x value is inferred.

    data: [\n    [0, 10], \n    [1, 9], \n    [2, 3]\n]
  4. \r\n\r\n\r\n
  5. An array of objects with named values. The objects are\r\n \tpoint configuration objects as seen below. If the total number of data points exceeds the series' turboThreshold, this option is not available.

    \r\n\r\n
    data: [{\n    x: 1,\n    y: 4,\n    name: \"Point2\",\n    color: \"#00FF00\"\n}, {\n    x: 1,\n    y: 4,\n    name: \"Point1\",\n    color: \"#FF00FF\"\n}]
  6. \r\n
","demo":"

The demos use a line series, but the principle is the same for all types.

\n"},{"name":"series-data","fullname":"series.data","title":"data","parent":"series","isParent":true,"returnType":"Array","description":"An array of data points for the series. For the pie series type, points can be given in the following ways:\r\n
    \r\n \t
  1. An array of numerical values. In this case, the numerical values will \r\n \tbe interpreted as y options. Example:\r\n
    data: [0, 5, 3, 5]
    \r\n \t
  2. \r\n
  3. An array of objects with named values. The objects are\r\n \tpoint configuration objects as seen below. If the total number of data points exceeds the series' turboThreshold, this option is not available.

    \r\n\r\n
    data: [{\n    y: 1,\n    name: \"Point2\",\n    color: \"#00FF00\"\n}, {\n    y: 7,\n    name: \"Point1\",\n    color: \"#FF00FF\"\n}]
  4. \r\n
","demo":"

The demos use a line series, but the principle is the same for all types.

\n"},{"name":"series-data","fullname":"series.data","title":"data","parent":"series","isParent":true,"returnType":"Array","description":"An array of data points for the series. For the waterfall series type, points can be given in the following ways:\r\n
    \r\n \t
  1. An array of numerical values. In this case, the numerical values will \r\n \tbe interpreted as y options. The x values will be automatically calculated,\r\n \teither starting at 0 and incremented by 1, or from pointStart \r\n \tand pointInterval given in the series options. If the axis\r\n \thas categories, these will be used. Example:\r\n
    data: [0, 5, 3, 5]
    \r\n \t
  2. \r\n \t
  3. An array of arrays with 2 values. In this case, the values correspond to x,y. If the first value is a string, it is\r\n \tapplied as the name of the point, and the x value is inferred.

    data: [\n    [0, 7], \n    [1, 8], \n    [2, 3]\n]
  4. \r\n\r\n\r\n
  5. An array of objects with named values. The objects are\r\n \tpoint configuration objects as seen below. If the total number of data points exceeds the series' turboThreshold, this option is not available.

    \r\n\r\n
    data: [{\n    x: 1,\n    y: 8,\n    name: \"Point2\",\n    color: \"#00FF00\"\n}, {\n    x: 1,\n    y: 8,\n    name: \"Point1\",\n    color: \"#FF00FF\"\n}]
  6. \r\n
","demo":"

The demos use a line series, but the principle is the same for all types.

\n"},{"name":"series-data","fullname":"series.data","title":"data","parent":"series","isParent":true,"returnType":"Array","description":"An array of data points for the series. For the funnel series type, points can be given in the following ways:\r\n
    \r\n \t
  1. An array of numerical values. In this case, the numerical values will \r\n \tbe interpreted as y options. Example:\r\n
    data: [0, 5, 3, 5]
    \r\n \t
  2. \r\n
  3. An array of objects with named values. The objects are\r\n \tpoint configuration objects as seen below. If the total number of data points exceeds the series' turboThreshold, this option is not available.

    \r\n\r\n
    data: [{\n    y: 3,\n    name: \"Point2\",\n    color: \"#00FF00\"\n}, {\n    y: 1,\n    name: \"Point1\",\n    color: \"#FF00FF\"\n}]
  4. \r\n
","demo":"

The demos use a line series, but the principle is the same for all types.

\n"},{"name":"series-data","fullname":"series.data","title":"data","parent":"series","isParent":true,"returnType":"Array","description":"An array of data points for the series. For the heatmap series type, points can be given in the following ways:\r\n
    \r\n \t
  1. An array of arrays with 3 or 2 values. In this case, the values correspond to x,y,value. If the first value is a string, it is\r\n \tapplied as the name of the point, and the x value is inferred. The x value can also be omitted, in which case the inner arrays should be of length 2. Then the x value is automatically calculated, either starting at 0 and incremented by 1, or from pointStart \r\n \tand pointInterval given in the series options.

    \r\n
    data: [\n    [0, 9, 7], \n    [1, 10, 4], \n    [2, 6, 3]\n]
  2. \r\n\r\n\r\n
  3. An array of objects with named values. The objects are\r\n \tpoint configuration objects as seen below. If the total number of data points exceeds the series' turboThreshold, this option is not available.

    \r\n\r\n
    data: [{\n    x: 1,\n    y: 3,\n    value: 10,\n    name: \"Point2\",\n    color: \"#00FF00\"\n}, {\n    x: 1,\n    y: 7,\n    value: 10,\n    name: \"Point1\",\n    color: \"#FF00FF\"\n}]
  4. \r\n
","demo":"

The demos use a line series, but the principle is the same for all types.

\n"},{"name":"series-data","fullname":"series.data","title":"data","parent":"series","isParent":true,"returnType":"Array","description":"An array of data points for the series. For the columnrange series type, points can be given in the following ways:\r\n
    \r\n \t
  1. An array of arrays with 3 or 2 values. In this case, the values correspond to x,low,high. If the first value is a string, it is\r\n \tapplied as the name of the point, and the x value is inferred. The x value can also be omitted, in which case the inner arrays should be of length 2. Then the x value is automatically calculated, either starting at 0 and incremented by 1, or from pointStart \r\n \tand pointInterval given in the series options.

    \r\n
    data: [\n    [0, 4, 2], \n    [1, 2, 1], \n    [2, 9, 10]\n]
  2. \r\n\r\n\r\n
  3. An array of objects with named values. The objects are\r\n \tpoint configuration objects as seen below. If the total number of data points exceeds the series' turboThreshold, this option is not available.

    \r\n\r\n
    data: [{\n    x: 1,\n    low: 0,\n    high: 4,\n    name: \"Point2\",\n    color: \"#00FF00\"\n}, {\n    x: 1,\n    low: 5,\n    high: 3,\n    name: \"Point1\",\n    color: \"#FF00FF\"\n}]
  4. \r\n
","demo":"

The demos use a line series, but the principle is the same for all types.

\n"},{"name":"series-data","fullname":"series.data","title":"data","parent":"series","isParent":true,"returnType":"Array","description":"An array of data points for the series. For the line series type, points can be given in the following ways:\r\n
    \r\n \t
  1. An array of numerical values. In this case, the numerical values will \r\n \tbe interpreted as y options. The x values will be automatically calculated,\r\n \teither starting at 0 and incremented by 1, or from pointStart \r\n \tand pointInterval given in the series options. If the axis\r\n \thas categories, these will be used. Example:\r\n
    data: [0, 5, 3, 5]
    \r\n \t
  2. \r\n \t
  3. An array of arrays with 2 values. In this case, the values correspond to x,y. If the first value is a string, it is\r\n \tapplied as the name of the point, and the x value is inferred.

    data: [\n    [0, 1], \n    [1, 2], \n    [2, 8]\n]
  4. \r\n\r\n\r\n
  5. An array of objects with named values. The objects are\r\n \tpoint configuration objects as seen below. If the total number of data points exceeds the series' turboThreshold, this option is not available.

    \r\n\r\n
    data: [{\n    x: 1,\n    y: 10,\n    name: \"Point2\",\n    color: \"#00FF00\"\n}, {\n    x: 1,\n    y: 6,\n    name: \"Point1\",\n    color: \"#FF00FF\"\n}]
  6. \r\n
","demo":"","deprecated":false},{"name":"series-data","fullname":"series.data","title":"data","parent":"series","isParent":true,"returnType":"Array","description":"An array of data points for the series. For the errorbar series type, points can be given in the following ways:\r\n
    \r\n \t
  1. An array of arrays with 3 or 2 values. In this case, the values correspond to x,low,high. If the first value is a string, it is\r\n \tapplied as the name of the point, and the x value is inferred. The x value can also be omitted, in which case the inner arrays should be of length 2. Then the x value is automatically calculated, either starting at 0 and incremented by 1, or from pointStart \r\n \tand pointInterval given in the series options.

    \r\n
    data: [\n    [0, 10, 2], \n    [1, 1, 8], \n    [2, 4, 5]\n]
  2. \r\n\r\n\r\n
  3. An array of objects with named values. The objects are\r\n \tpoint configuration objects as seen below. If the total number of data points exceeds the series' turboThreshold, this option is not available.

    \r\n\r\n
    data: [{\n    x: 1,\n    low: 0,\n    high: 0,\n    name: \"Point2\",\n    color: \"#00FF00\"\n}, {\n    x: 1,\n    low: 5,\n    high: 5,\n    name: \"Point1\",\n    color: \"#FF00FF\"\n}]
  4. \r\n
","demo":"

The demos use a line series, but the principle is the same for all types.

\n"},{"name":"series-data","fullname":"series.data","title":"data","parent":"series","isParent":true,"returnType":"Array","description":"An array of data points for the series. For the arearange series type, points can be given in the following ways:\r\n
    \r\n \t
  1. An array of arrays with 3 or 2 values. In this case, the values correspond to x,low,high. If the first value is a string, it is\r\n \tapplied as the name of the point, and the x value is inferred. The x value can also be omitted, in which case the inner arrays should be of length 2. Then the x value is automatically calculated, either starting at 0 and incremented by 1, or from pointStart \r\n \tand pointInterval given in the series options.

    \r\n
    data: [\n    [0, 8, 3], \n    [1, 1, 1], \n    [2, 6, 8]\n]
  2. \r\n\r\n\r\n
  3. An array of objects with named values. The objects are\r\n \tpoint configuration objects as seen below. If the total number of data points exceeds the series' turboThreshold, this option is not available.

    \r\n\r\n
    data: [{\n    x: 1,\n    low: 9,\n    high: 0,\n    name: \"Point2\",\n    color: \"#00FF00\"\n}, {\n    x: 1,\n    low: 3,\n    high: 4,\n    name: \"Point1\",\n    color: \"#FF00FF\"\n}]
  4. \r\n
","demo":"

The demos use a line series, but the principle is the same for all types.

\n"},{"name":"series-data","fullname":"series.data","title":"data","parent":"series","isParent":true,"returnType":"Array","description":"An array of data points for the series. For the solidgauge series type, points can be given in the following ways:\r\n
    \r\n \t
  1. An array of numerical values. In this case, the numerical values will \r\n \tbe interpreted as y options. Example:\r\n
    data: [0, 5, 3, 5]
    \r\n \t
  2. \r\n
  3. An array of objects with named values. The objects are\r\n \tpoint configuration objects as seen below. If the total number of data points exceeds the series' turboThreshold, this option is not available.

    \r\n\r\n
    data: [{\n    y: 5,\n    name: \"Point2\",\n    color: \"#00FF00\"\n}, {\n    y: 7,\n    name: \"Point1\",\n    color: \"#FF00FF\"\n}]
  4. \r\n

The typical gauge only contains a single data value.

","demo":"

The demos use a line series, but the principle is the same for all types.

\n"},{"name":"series-data","fullname":"series.data","title":"data","parent":"series","isParent":true,"returnType":"Array","description":"An array of data points for the series. For the bubble series type, points can be given in the following ways:\r\n
    \r\n \t
  1. An array of arrays with 3 or 2 values. In this case, the values correspond to x,y,z. If the first value is a string, it is\r\n \tapplied as the name of the point, and the x value is inferred. The x value can also be omitted, in which case the inner arrays should be of length 2. Then the x value is automatically calculated, either starting at 0 and incremented by 1, or from pointStart \r\n \tand pointInterval given in the series options.

    \r\n
    data: [\n    [0, 1, 2], \n    [1, 5, 5], \n    [2, 0, 2]\n]
  2. \r\n\r\n\r\n
  3. An array of objects with named values. The objects are\r\n \tpoint configuration objects as seen below. If the total number of data points exceeds the series' turboThreshold, this option is not available.

    \r\n\r\n
    data: [{\n    x: 1,\n    y: 1,\n    z: 1,\n    name: \"Point2\",\n    color: \"#00FF00\"\n}, {\n    x: 1,\n    y: 5,\n    z: 4,\n    name: \"Point1\",\n    color: \"#FF00FF\"\n}]
  4. \r\n
","demo":"

The demos use a line series, but the principle is the same for all types.

\n"},{"name":"series-data","fullname":"series.data","title":"data","parent":"series","isParent":true,"returnType":"Array","description":"An array of data points for the series. For the scatter series type, points can be given in the following ways:\r\n
    \r\n \t
  1. An array of numerical values. In this case, the numerical values will \r\n \tbe interpreted as y options. The x values will be automatically calculated,\r\n \teither starting at 0 and incremented by 1, or from pointStart \r\n \tand pointInterval given in the series options. If the axis\r\n \thas categories, these will be used. Example:\r\n
    data: [0, 5, 3, 5]
    \r\n \t
  2. \r\n \t
  3. An array of arrays with 2 values. In this case, the values correspond to x,y. If the first value is a string, it is\r\n \tapplied as the name of the point, and the x value is inferred.

    data: [\n    [0, 0], \n    [1, 8], \n    [2, 9]\n]
  4. \r\n\r\n\r\n
  5. An array of objects with named values. The objects are\r\n \tpoint configuration objects as seen below. If the total number of data points exceeds the series' turboThreshold, this option is not available.

    \r\n\r\n
    data: [{\n    x: 1,\n    y: 2,\n    name: \"Point2\",\n    color: \"#00FF00\"\n}, {\n    x: 1,\n    y: 4,\n    name: \"Point1\",\n    color: \"#FF00FF\"\n}]
  6. \r\n
","demo":"

The demos use a line series, but the principle is the same for all types.

\n"},{"name":"series-data","fullname":"series.data","title":"data","parent":"series","isParent":true,"returnType":"Array","description":"An array of data points for the series. For the treemap series type, points can be given in the following ways:\r\n
    \r\n \t
  1. An array of numerical values. In this case, the numerical values will \r\n \tbe interpreted as value options. Example:\r\n
    data: [0, 5, 3, 5]
    \r\n \t
  2. \r\n
  3. An array of objects with named values. The objects are\r\n \tpoint configuration objects as seen below. If the total number of data points exceeds the series' turboThreshold, this option is not available.

    \r\n\r\n
    data: [{\n    value: 7,\n    name: \"Point2\",\n    color: \"#00FF00\"\n}, {\n    value: 2,\n    name: \"Point1\",\n    color: \"#FF00FF\"\n}]
  4. \r\n
","demo":"

The demos use a line series, but the principle is the same for all types.

\n"},{"name":"series-data","fullname":"series.data","title":"data","parent":"series","isParent":true,"returnType":"Array","description":"An array of data points for the series. For the bar series type, points can be given in the following ways:\r\n
    \r\n \t
  1. An array of numerical values. In this case, the numerical values will \r\n \tbe interpreted as y options. The x values will be automatically calculated,\r\n \teither starting at 0 and incremented by 1, or from pointStart \r\n \tand pointInterval given in the series options. If the axis\r\n \thas categories, these will be used. Example:\r\n
    data: [0, 5, 3, 5]
    \r\n \t
  2. \r\n \t
  3. An array of arrays with 2 values. In this case, the values correspond to x,y. If the first value is a string, it is\r\n \tapplied as the name of the point, and the x value is inferred.

    data: [\n    [0, 5], \n    [1, 10], \n    [2, 3]\n]
  4. \r\n\r\n\r\n
  5. An array of objects with named values. The objects are\r\n \tpoint configuration objects as seen below. If the total number of data points exceeds the series' turboThreshold, this option is not available.

    \r\n\r\n
    data: [{\n    x: 1,\n    y: 1,\n    name: \"Point2\",\n    color: \"#00FF00\"\n}, {\n    x: 1,\n    y: 10,\n    name: \"Point1\",\n    color: \"#FF00FF\"\n}]
  6. \r\n
","demo":"

The demos use a line series, but the principle is the same for all types.

\n"},{"name":"series-dataLabels","fullname":"series.dataLabels","title":"dataLabels","parent":"series","isParent":true,"returnType":"Object","defaults":"","since":"2.3.0","description":"Extended data labels for range series types. Range series data labels have no x and y options. Instead, they have xLow, xHigh, yLow and yHigh options to allow the higher and lower data label sets individually. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid-dataLabels","fullname":"plotOptions.pyramid.dataLabels","title":"dataLabels","parent":"plotOptions-pyramid","isParent":true,"deprecated":false},{"name":"plotOptions-gauge-dataLabels","fullname":"plotOptions.gauge.dataLabels","title":"dataLabels","parent":"plotOptions-gauge","isParent":true,"returnType":"Object","since":"2.3.0","description":"Data labels for the gauge. For gauges, the data labels are enabled by default and shown in a bordered box below the point.","demo":"","deprecated":false},{"name":"plotOptions-pie-dataLabels","fullname":"plotOptions.pie.dataLabels","title":"dataLabels","parent":"plotOptions-pie","isParent":true,"deprecated":false},{"name":"series-data--dataLabels","fullname":"series.data.dataLabels","title":"dataLabels","parent":"series-data","isParent":false,"returnType":"Object","description":"Individual data label for each point. The options are the same as the ones for plotOptions.series.dataLabels","demo":"Show a label for the last value","deprecated":false},{"name":"series-dataLabels","fullname":"series.dataLabels","title":"dataLabels","parent":"series","isParent":true,"deprecated":false},{"name":"series-dataLabels","fullname":"series.dataLabels","title":"dataLabels","parent":"series","isParent":true,"returnType":"Object","since":"2.3.0","description":"Data labels for the gauge. For gauges, the data labels are enabled by default and shown in a bordered box below the point.","demo":"","deprecated":false},{"name":"series-data--dataLabels","fullname":"series.data.dataLabels","title":"dataLabels","parent":"series-data","isParent":false,"returnType":"Object","description":"Individual data label for each point. The options are the same as the ones for plotOptions.series.dataLabels","demo":"Show a label for the last value","deprecated":false},{"name":"plotOptions-treemap-levels--dataLabels","fullname":"plotOptions.treemap.levels.dataLabels","title":"dataLabels","parent":"plotOptions-treemap-levels","isParent":false,"returnType":"Object","defaults":"undefined","values":"","since":"4.1.0","description":"Can set the options of dataLabels on each point which lies on the level.\r\nplotOptions.treemap.dataLabels for possible values.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels","fullname":"series.dataLabels","title":"dataLabels","parent":"series","isParent":true,"deprecated":false},{"name":"series-data--dataLabels","fullname":"series.data.dataLabels","title":"dataLabels","parent":"series-data","isParent":false,"returnType":"Object","description":"Individual data label for each point. The options are the same as the ones for plotOptions.series.dataLabels","demo":"Show a label for the last value","deprecated":false},{"name":"series-dataLabels","fullname":"series.dataLabels","title":"dataLabels","parent":"series","isParent":true},{"name":"series-data--dataLabels","fullname":"series.data.dataLabels","title":"dataLabels","parent":"series-data","isParent":false,"returnType":"Object","description":"Individual data label for each point. The options are the same as the ones for plotOptions.series.dataLabels","demo":"Show a label for the last value","deprecated":false},{"name":"plotOptions-treemap-dataLabels","fullname":"plotOptions.treemap.dataLabels","title":"dataLabels","parent":"plotOptions-treemap","isParent":true,"returnType":"","context":"","defaults":"","values":"","since":"4.1.0","description":"","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels","fullname":"series.dataLabels","title":"dataLabels","parent":"series","isParent":true,"returnType":"Object","since":"2.3.0","description":"Data labels for the gauge. For gauges, the data labels are enabled by default and shown in a bordered box below the point.","demo":"","deprecated":false},{"name":"plotOptions-scatter-dataLabels","fullname":"plotOptions.scatter.dataLabels","title":"dataLabels","parent":"plotOptions-scatter","isParent":true,"deprecated":false},{"name":"series-data--dataLabels","fullname":"series.data.dataLabels","title":"dataLabels","parent":"series-data","isParent":false,"returnType":"Object","description":"Individual data label for each point. The options are the same as the ones for plotOptions.series.dataLabels","demo":"Show a label for the last value","deprecated":false},{"name":"plotOptions-areasplinerange-dataLabels","fullname":"plotOptions.areasplinerange.dataLabels","title":"dataLabels","parent":"plotOptions-areasplinerange","isParent":true,"returnType":"Object","defaults":"","since":"2.3.0","description":"Extended data labels for range series types. Range series data labels have no x and y options. Instead, they have xLow, xHigh, yLow and yHigh options to allow the higher and lower data label sets individually. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-data--dataLabels","fullname":"series.data.dataLabels","title":"dataLabels","parent":"series-data","isParent":false,"returnType":"Object","description":"Individual data label for each point. The options are the same as the ones for plotOptions.series.dataLabels","demo":"Show a label for the last value","deprecated":false},{"name":"series-dataLabels","fullname":"series.dataLabels","title":"dataLabels","parent":"series","isParent":true,"deprecated":false},{"name":"series-dataLabels","fullname":"series.dataLabels","title":"dataLabels","parent":"series","isParent":true,"returnType":"","context":"","defaults":"","values":"","since":"4.1.0","description":"","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels","fullname":"series.dataLabels","title":"dataLabels","parent":"series","isParent":true,"deprecated":false},{"name":"plotOptions-columnrange-dataLabels","fullname":"plotOptions.columnrange.dataLabels","title":"dataLabels","parent":"plotOptions-columnrange","isParent":true,"returnType":"Object","defaults":"","since":"2.3.0","description":"Extended data labels for range series types. Range series data labels have no x and y options. Instead, they have xLow, xHigh, yLow and yHigh options to allow the higher and lower data label sets individually. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-data--dataLabels","fullname":"series.data.dataLabels","title":"dataLabels","parent":"series-data","isParent":false,"returnType":"Object","description":"Individual data label for each point. The options are the same as the ones for plotOptions.series.dataLabels","demo":"Show a label for the last value","deprecated":false},{"name":"series-dataLabels","fullname":"series.dataLabels","title":"dataLabels","parent":"series","isParent":true,"deprecated":false},{"name":"plotOptions-waterfall-dataLabels","fullname":"plotOptions.waterfall.dataLabels","title":"dataLabels","parent":"plotOptions-waterfall","isParent":true,"deprecated":false},{"name":"series-data--dataLabels","fullname":"series.data.dataLabels","title":"dataLabels","parent":"series-data","isParent":false,"returnType":"Object","description":"Individual data label for each point. The options are the same as the ones for plotOptions.series.dataLabels","demo":"Show a label for the last value","deprecated":false},{"name":"series-dataLabels","fullname":"series.dataLabels","title":"dataLabels","parent":"series","isParent":true,"returnType":"Object","defaults":"","since":"2.3.0","description":"Extended data labels for range series types. Range series data labels have no x and y options. Instead, they have xLow, xHigh, yLow and yHigh options to allow the higher and lower data label sets individually. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels","fullname":"series.dataLabels","title":"dataLabels","parent":"series","isParent":true,"deprecated":false},{"name":"plotOptions-arearange-dataLabels","fullname":"plotOptions.arearange.dataLabels","title":"dataLabels","parent":"plotOptions-arearange","isParent":true,"returnType":"Object","defaults":"","since":"2.3.0","description":"Extended data labels for range series types. Range series data labels have no x and y options. Instead, they have xLow, xHigh, yLow and yHigh options to allow the higher and lower data label sets individually. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-series-dataLabels","fullname":"plotOptions.series.dataLabels","title":"dataLabels","parent":"plotOptions-series","isParent":true,"deprecated":false},{"name":"series-data--dataLabels","fullname":"series.data.dataLabels","title":"dataLabels","parent":"series-data","isParent":false,"returnType":"Object","description":"Individual data label for each point. The options are the same as the ones for plotOptions.series.dataLabels","demo":"Show a label for the last value","deprecated":false},{"name":"series-data--dataLabels","fullname":"series.data.dataLabels","title":"dataLabels","parent":"series-data","isParent":false,"returnType":"Object","description":"Individual data label for each point. The options are the same as the ones for plotOptions.series.dataLabels","demo":"Show a label for the last value","deprecated":false},{"name":"plotOptions-line-dataLabels","fullname":"plotOptions.line.dataLabels","title":"dataLabels","parent":"plotOptions-line","isParent":true,"deprecated":false},{"name":"series-data--dataLabels","fullname":"series.data.dataLabels","title":"dataLabels","parent":"series-data","isParent":false,"returnType":"Object","description":"Individual data label for each point. The options are the same as the ones for plotOptions.series.dataLabels","demo":"Show a label for the last value","deprecated":false},{"name":"series-data--dataLabels","fullname":"series.data.dataLabels","title":"dataLabels","parent":"series-data","isParent":false,"returnType":"Object","description":"Individual data label for each point. The options are the same as the ones for plotOptions.series.dataLabels","demo":"Show a label for the last value","deprecated":false},{"name":"plotOptions-spline-dataLabels","fullname":"plotOptions.spline.dataLabels","title":"dataLabels","parent":"plotOptions-spline","isParent":true,"deprecated":false},{"name":"series-dataLabels","fullname":"series.dataLabels","title":"dataLabels","parent":"series","isParent":true,"deprecated":false},{"name":"series-dataLabels","fullname":"series.dataLabels","title":"dataLabels","parent":"series","isParent":true,"deprecated":false},{"name":"plotOptions-heatmap-dataLabels","fullname":"plotOptions.heatmap.dataLabels","title":"dataLabels","parent":"plotOptions-heatmap","isParent":true,"deprecated":false},{"name":"series-data--dataLabels","fullname":"series.data.dataLabels","title":"dataLabels","parent":"series-data","isParent":false,"returnType":"Object","description":"Individual data label for each point. The options are the same as the ones for plotOptions.series.dataLabels","demo":"Show a label for the last value","deprecated":false},{"name":"plotOptions-bar-dataLabels","fullname":"plotOptions.bar.dataLabels","title":"dataLabels","parent":"plotOptions-bar","isParent":true},{"name":"series-dataLabels","fullname":"series.dataLabels","title":"dataLabels","parent":"series","isParent":true,"returnType":"Object","defaults":"","since":"2.3.0","description":"Extended data labels for range series types. Range series data labels have no x and y options. Instead, they have xLow, xHigh, yLow and yHigh options to allow the higher and lower data label sets individually. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-column-dataLabels","fullname":"plotOptions.column.dataLabels","title":"dataLabels","parent":"plotOptions-column","isParent":true,"deprecated":false},{"name":"series-dataLabels","fullname":"series.dataLabels","title":"dataLabels","parent":"series","isParent":true,"deprecated":false},{"name":"series-levels--dataLabels","fullname":"series.levels.dataLabels","title":"dataLabels","parent":"series-levels","isParent":false,"returnType":"Object","defaults":"undefined","values":"","since":"4.1.0","description":"Can set the options of dataLabels on each point which lies on the level.\r\nplotOptions.treemap.dataLabels for possible values.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels","fullname":"series.dataLabels","title":"dataLabels","parent":"series","isParent":true,"deprecated":false},{"name":"plotOptions-funnel-dataLabels","fullname":"plotOptions.funnel.dataLabels","title":"dataLabels","parent":"plotOptions-funnel","isParent":true,"deprecated":false},{"name":"series-data--dataLabels","fullname":"series.data.dataLabels","title":"dataLabels","parent":"series-data","isParent":false,"returnType":"Object","description":"Individual data label for each point. The options are the same as the ones for plotOptions.series.dataLabels","demo":"Show a label for the last value","deprecated":false},{"name":"plotOptions-areaspline-dataLabels","fullname":"plotOptions.areaspline.dataLabels","title":"dataLabels","parent":"plotOptions-areaspline","isParent":true,"deprecated":false},{"name":"series-data--dataLabels","fullname":"series.data.dataLabels","title":"dataLabels","parent":"series-data","isParent":false,"returnType":"Object","description":"Individual data label for each point. The options are the same as the ones for plotOptions.series.dataLabels","demo":"Show a label for the last value","deprecated":false},{"name":"series-dataLabels","fullname":"series.dataLabels","title":"dataLabels","parent":"series","isParent":true,"deprecated":false},{"name":"plotOptions-area-dataLabels","fullname":"plotOptions.area.dataLabels","title":"dataLabels","parent":"plotOptions-area","isParent":true,"deprecated":false},{"name":"series-dataLabels","fullname":"series.dataLabels","title":"dataLabels","parent":"series","isParent":true,"deprecated":false},{"name":"series-data--dataLabels","fullname":"series.data.dataLabels","title":"dataLabels","parent":"series-data","isParent":false,"returnType":"Object","description":"Individual data label for each point. The options are the same as the ones for plotOptions.series.dataLabels","demo":"Show a label for the last value","deprecated":false},{"name":"series-dataLabels","fullname":"series.dataLabels","title":"dataLabels","parent":"series","isParent":true,"deprecated":false},{"name":"series-data--dataLabels","fullname":"series.data.dataLabels","title":"dataLabels","parent":"series-data","isParent":false,"returnType":"Object","description":"Individual data label for each point. The options are the same as the ones for plotOptions.series.dataLabels","demo":"Show a label for the last value","deprecated":false},{"name":"series-data--dataLabels","fullname":"series.data.dataLabels","title":"dataLabels","parent":"series-data","isParent":false,"returnType":"Object","description":"Individual data label for each point. The options are the same as the ones for plotOptions.series.dataLabels","demo":"Show a label for the last value","deprecated":false},{"name":"series-data--dataLabels","fullname":"series.data.dataLabels","title":"dataLabels","parent":"series-data","isParent":false,"returnType":"Object","description":"Individual data label for each point. The options are the same as the ones for plotOptions.series.dataLabels","demo":"Show a label for the last value","deprecated":false},{"name":"series-data--dataLabels","fullname":"series.data.dataLabels","title":"dataLabels","parent":"series-data","isParent":false,"returnType":"Object","description":"Individual data label for each point. The options are the same as the ones for plotOptions.series.dataLabels","demo":"Show a label for the last value","deprecated":false},{"name":"plotOptions-polygon-dataLabels","fullname":"plotOptions.polygon.dataLabels","title":"dataLabels","parent":"plotOptions-polygon","isParent":true,"deprecated":false},{"name":"plotOptions-solidgauge-dataLabels","fullname":"plotOptions.solidgauge.dataLabels","title":"dataLabels","parent":"plotOptions-solidgauge","isParent":true,"returnType":"Object","since":"2.3.0","description":"Data labels for the gauge. For gauges, the data labels are enabled by default and shown in a bordered box below the point.","demo":"","deprecated":false},{"name":"plotOptions-bubble-dataLabels","fullname":"plotOptions.bubble.dataLabels","title":"dataLabels","parent":"plotOptions-bubble","isParent":true,"deprecated":false},{"name":"series-data--dataLabels","fullname":"series.data.dataLabels","title":"dataLabels","parent":"series-data","isParent":false,"returnType":"Object","description":"Individual data label for each point. The options are the same as the ones for plotOptions.series.dataLabels","demo":"Show a label for the last value","deprecated":false},{"name":"series--dataParser","fullname":"series.dataParser","title":"dataParser","parent":"series","isParent":false,"returnType":"Function","since":"","description":"This method is deprecated as of version 2.0. Instead, use options preprocessing as described in the docs.","demo":"","seeAlso":"","deprecated":true},{"name":"series--dataURL","fullname":"series.dataURL","title":"dataURL","parent":"series","isParent":false,"returnType":"String","since":"","description":"This method is deprecated as of version 2.0. Instead, load the data using jQuery.ajax and use options preprocessing as described in the docs.","demo":"","seeAlso":"","deprecated":true},{"name":"data--dateFormat","fullname":"data.dateFormat","title":"dateFormat","parent":"data","isParent":false,"returnType":"String","since":"4.0","description":"

Which of the predefined date formats in Date.prototype.dateFormats to use to parse date values. Defaults to a best guess based on what format gives valid and ordered dates.

\r\n\r\n

Valid options include:\r\n

    \r\n
  • YYYY-mm-dd
  • \r\n
  • dd/mm/YYYY
  • \r\n
  • mm/dd/YYYY
  • \r\n
  • dd/mm/YY
  • \r\n
  • mm/dd/YY
  • \r\n
\r\n

","demo":"Best guess date format","seeAlso":"data.parseDate","deprecated":false},{"name":"xAxis--dateTimeLabelFormats","fullname":"xAxis.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"xAxis","isParent":false,"returnType":"Object","description":"For a datetime axis, the scale will automatically adjust to the appropriate unit.\r This member gives the default string representations used for each unit. For an\r overview of the replacement codes, see dateFormat.\r Defaults to:\r\n
{\r\n\tmillisecond: '%H:%M:%S.%L',\r\n\tsecond: '%H:%M:%S',\r\n\tminute: '%H:%M',\r\n\thour: '%H:%M',\r\n\tday: '%e. %b',\r\n\tweek: '%e. %b',\r\n\tmonth: '%b \\'%y',\r\n\tyear: '%Y'\r\n}
","demo":"Different day format on X axis","deprecated":false},{"name":"series-tooltip--dateTimeLabelFormats","fullname":"series.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"series-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"plotOptions-scatter-tooltip--dateTimeLabelFormats","fullname":"plotOptions.scatter.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"plotOptions-scatter-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"series-tooltip--dateTimeLabelFormats","fullname":"series.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"series-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"series-tooltip--dateTimeLabelFormats","fullname":"series.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"series-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"plotOptions-polygon-tooltip--dateTimeLabelFormats","fullname":"plotOptions.polygon.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"plotOptions-polygon-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"series-tooltip--dateTimeLabelFormats","fullname":"series.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"series-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"series-tooltip--dateTimeLabelFormats","fullname":"series.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"series-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"plotOptions-solidgauge-tooltip--dateTimeLabelFormats","fullname":"plotOptions.solidgauge.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"plotOptions-solidgauge-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"plotOptions-areaspline-tooltip--dateTimeLabelFormats","fullname":"plotOptions.areaspline.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"plotOptions-areaspline-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"series-tooltip--dateTimeLabelFormats","fullname":"series.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"series-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"plotOptions-bar-tooltip--dateTimeLabelFormats","fullname":"plotOptions.bar.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"plotOptions-bar-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"plotOptions-pie-tooltip--dateTimeLabelFormats","fullname":"plotOptions.pie.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"plotOptions-pie-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"plotOptions-funnel-tooltip--dateTimeLabelFormats","fullname":"plotOptions.funnel.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"plotOptions-funnel-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"plotOptions-treemap-tooltip--dateTimeLabelFormats","fullname":"plotOptions.treemap.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"plotOptions-treemap-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"plotOptions-gauge-tooltip--dateTimeLabelFormats","fullname":"plotOptions.gauge.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"plotOptions-gauge-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"plotOptions-errorbar-tooltip--dateTimeLabelFormats","fullname":"plotOptions.errorbar.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"plotOptions-errorbar-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"series-tooltip--dateTimeLabelFormats","fullname":"series.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"series-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"plotOptions-arearange-tooltip--dateTimeLabelFormats","fullname":"plotOptions.arearange.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"plotOptions-arearange-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"yAxis--dateTimeLabelFormats","fullname":"yAxis.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"yAxis","isParent":false,"returnType":"Object","description":"For a datetime axis, the scale will automatically adjust to the appropriate unit.\r This member gives the default string representations used for each unit. For an\r overview of the replacement codes, see dateFormat.\r Defaults to:\r\n
{\r\n\tmillisecond: '%H:%M:%S.%L',\r\n\tsecond: '%H:%M:%S',\r\n\tminute: '%H:%M',\r\n\thour: '%H:%M',\r\n\tday: '%e. %b',\r\n\tweek: '%e. %b',\r\n\tmonth: '%b \\'%y',\r\n\tyear: '%Y'\r\n}
","demo":"Different day format on X axis","deprecated":false},{"name":"series-tooltip--dateTimeLabelFormats","fullname":"series.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"series-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"series-tooltip--dateTimeLabelFormats","fullname":"series.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"series-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"plotOptions-areasplinerange-tooltip--dateTimeLabelFormats","fullname":"plotOptions.areasplinerange.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"plotOptions-areasplinerange-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"plotOptions-line-tooltip--dateTimeLabelFormats","fullname":"plotOptions.line.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"plotOptions-line-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"series-tooltip--dateTimeLabelFormats","fullname":"series.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"series-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"plotOptions-boxplot-tooltip--dateTimeLabelFormats","fullname":"plotOptions.boxplot.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"plotOptions-boxplot-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"series-tooltip--dateTimeLabelFormats","fullname":"series.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"series-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"series-tooltip--dateTimeLabelFormats","fullname":"series.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"series-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"plotOptions-waterfall-tooltip--dateTimeLabelFormats","fullname":"plotOptions.waterfall.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"plotOptions-waterfall-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"series-tooltip--dateTimeLabelFormats","fullname":"series.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"series-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"plotOptions-series-tooltip--dateTimeLabelFormats","fullname":"plotOptions.series.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"plotOptions-series-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"tooltip--date","fullname":"tooltip.date","title":"dateTimeLabelFormats","parent":"tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"plotOptions-heatmap-tooltip--dateTimeLabelFormats","fullname":"plotOptions.heatmap.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"plotOptions-heatmap-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"plotOptions-area-tooltip--dateTimeLabelFormats","fullname":"plotOptions.area.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"plotOptions-area-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"series-tooltip--dateTimeLabelFormats","fullname":"series.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"series-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"plotOptions-columnrange-tooltip--dateTimeLabelFormats","fullname":"plotOptions.columnrange.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"plotOptions-columnrange-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"series-tooltip--dateTimeLabelFormats","fullname":"series.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"series-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"series-tooltip--dateTimeLabelFormats","fullname":"series.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"series-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"plotOptions-column-tooltip--dateTimeLabelFormats","fullname":"plotOptions.column.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"plotOptions-column-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"series-tooltip--dateTimeLabelFormats","fullname":"series.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"series-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"plotOptions-spline-tooltip--dateTimeLabelFormats","fullname":"plotOptions.spline.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"plotOptions-spline-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"series-tooltip--dateTimeLabelFormats","fullname":"series.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"series-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"series-tooltip--dateTimeLabelFormats","fullname":"series.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"series-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"series-tooltip--dateTimeLabelFormats","fullname":"series.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"series-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"series-tooltip--dateTimeLabelFormats","fullname":"series.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"series-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"plotOptions-bubble-tooltip--dateTimeLabelFormats","fullname":"plotOptions.bubble.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"plotOptions-bubble-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"plotOptions-pyramid-tooltip--dateTimeLabelFormats","fullname":"plotOptions.pyramid.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"plotOptions-pyramid-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"series-tooltip--dateTimeLabelFormats","fullname":"series.tooltip.dateTimeLabelFormats","title":"dateTimeLabelFormats","parent":"series-tooltip","isParent":false,"returnType":"Object","defaults":"","values":"","since":"","description":"

For series on a datetime axes, the date format in the tooltip's header will by default be guessed based on the closest data points. This member gives the default string representations used for each unit. For an overview of the replacement codes, see dateFormat.

\r\n\r\n

Defaults to:\r\n

{\r\n    millisecond:\"%A, %b %e, %H:%M:%S.%L\",\r\n    second:\"%A, %b %e, %H:%M:%S\",\r\n    minute:\"%A, %b %e, %H:%M\",\r\n    hour:\"%A, %b %e, %H:%M\",\r\n    day:\"%A, %b %e, %Y\",\r\n    week:\"Week from %A, %b %e, %Y\",\r\n    month:\"%B %Y\",\r\n    year:\"%Y\"\r\n}
\r\n

","demo":"","seeAlso":"xAxis.dateTimeLabelFormats","deprecated":false},{"name":"data--decimalPoint","fullname":"data.decimalPoint","title":"decimalPoint","parent":"data","isParent":false,"returnType":"String","defaults":".","values":"","since":"4.1.0","description":"The decimal point used for parsing numbers in the CSV.","demo":"Comma as decimal point","seeAlso":"","deprecated":false},{"name":"lang--decimalPoint","fullname":"lang.decimalPoint","title":"decimalPoint","parent":"lang","isParent":false,"returnType":"String","defaults":".","since":"1.2.2","description":"The default decimal point used in the Highcharts.numberFormat method unless otherwise specified in the function arguments."},{"name":"chart--defaultSeriesType","fullname":"chart.defaultSeriesType","title":"defaultSeriesType","parent":"chart","isParent":false,"returnType":"String","defaults":"line","values":"[\"line\", \"spline\", \"column\", \"area\", \"areaspline\", \"pie\"]","description":"Alias of type.","demo":"Bar","deprecated":true},{"name":"plotOptions-gauge-dataLabels--defer","fullname":"plotOptions.gauge.dataLabels.defer","title":"defer","parent":"plotOptions-gauge-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble-dataLabels--defer","fullname":"plotOptions.bubble.dataLabels.defer","title":"defer","parent":"plotOptions-bubble-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange-dataLabels--defer","fullname":"plotOptions.columnrange.dataLabels.defer","title":"defer","parent":"plotOptions-columnrange-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-column-dataLabels--defer","fullname":"plotOptions.column.dataLabels.defer","title":"defer","parent":"plotOptions-column-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--defer","fullname":"series.dataLabels.defer","title":"defer","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline-dataLabels--defer","fullname":"plotOptions.areaspline.dataLabels.defer","title":"defer","parent":"plotOptions-areaspline-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--defer","fullname":"series.dataLabels.defer","title":"defer","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--defer","fullname":"series.dataLabels.defer","title":"defer","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--defer","fullname":"series.dataLabels.defer","title":"defer","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--defer","fullname":"series.dataLabels.defer","title":"defer","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--defer","fullname":"series.dataLabels.defer","title":"defer","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon-dataLabels--defer","fullname":"plotOptions.polygon.dataLabels.defer","title":"defer","parent":"plotOptions-polygon-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-area-dataLabels--defer","fullname":"plotOptions.area.dataLabels.defer","title":"defer","parent":"plotOptions-area-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-treemap-dataLabels--defer","fullname":"plotOptions.treemap.dataLabels.defer","title":"defer","parent":"plotOptions-treemap-dataLabels","isParent":false,"returnType":"Boolean","context":"","defaults":"false","values":"","since":"4.1.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--defer","fullname":"series.dataLabels.defer","title":"defer","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","context":"","defaults":"false","values":"","since":"4.1.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-areasplinerange-dataLabels--defer","fullname":"plotOptions.areasplinerange.dataLabels.defer","title":"defer","parent":"plotOptions-areasplinerange-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bar-dataLabels--defer","fullname":"plotOptions.bar.dataLabels.defer","title":"defer","parent":"plotOptions-bar-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-heatmap-dataLabels--defer","fullname":"plotOptions.heatmap.dataLabels.defer","title":"defer","parent":"plotOptions-heatmap-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--defer","fullname":"series.dataLabels.defer","title":"defer","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--defer","fullname":"series.dataLabels.defer","title":"defer","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--defer","fullname":"series.dataLabels.defer","title":"defer","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-solidgauge-dataLabels--defer","fullname":"plotOptions.solidgauge.dataLabels.defer","title":"defer","parent":"plotOptions-solidgauge-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-line-dataLabels--defer","fullname":"plotOptions.line.dataLabels.defer","title":"defer","parent":"plotOptions-line-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--defer","fullname":"series.dataLabels.defer","title":"defer","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--defer","fullname":"series.dataLabels.defer","title":"defer","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--defer","fullname":"series.dataLabels.defer","title":"defer","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-funnel-dataLabels--defer","fullname":"plotOptions.funnel.dataLabels.defer","title":"defer","parent":"plotOptions-funnel-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-spline-dataLabels--defer","fullname":"plotOptions.spline.dataLabels.defer","title":"defer","parent":"plotOptions-spline-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-waterfall-dataLabels--defer","fullname":"plotOptions.waterfall.dataLabels.defer","title":"defer","parent":"plotOptions-waterfall-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--defer","fullname":"series.dataLabels.defer","title":"defer","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--defer","fullname":"series.dataLabels.defer","title":"defer","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--defer","fullname":"series.dataLabels.defer","title":"defer","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pie-dataLabels--defer","fullname":"plotOptions.pie.dataLabels.defer","title":"defer","parent":"plotOptions-pie-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--defer","fullname":"series.dataLabels.defer","title":"defer","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--defer","fullname":"series.dataLabels.defer","title":"defer","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-arearange-dataLabels--defer","fullname":"plotOptions.arearange.dataLabels.defer","title":"defer","parent":"plotOptions-arearange-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-series-dataLabels--defer","fullname":"plotOptions.series.dataLabels.defer","title":"defer","parent":"plotOptions-series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid-dataLabels--defer","fullname":"plotOptions.pyramid.dataLabels.defer","title":"defer","parent":"plotOptions-pyramid-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--defer","fullname":"series.dataLabels.defer","title":"defer","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--defer","fullname":"series.dataLabels.defer","title":"defer","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-scatter-dataLabels--defer","fullname":"plotOptions.scatter.dataLabels.defer","title":"defer","parent":"plotOptions-scatter-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"4.0","description":"Whether to defer displaying the data labels until the initial series animation has finished.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-funnel--depth","fullname":"plotOptions.funnel.depth","title":"depth","parent":"plotOptions-funnel","isParent":false,"returnType":"Number","defaults":"0","since":"4.0","description":"The thickness of a 3D pie. Requires highcharts-3d.js","demo":"Basic 3D pie chart","deprecated":false},{"name":"series--depth","fullname":"series.depth","title":"depth","parent":"series","isParent":false,"returnType":"Number","defaults":"25","since":"4.0","description":"Depth of the columns in a 3D column chart. Requires highcharts-3d.js.","demo":"Basic 3D column chart","deprecated":false},{"name":"chart-options3d--depth","fullname":"chart.options3d.depth","title":"depth","parent":"chart-options3d","isParent":false,"returnType":"Number","defaults":"100","values":"","since":"4.0","description":"The total depth of the chart.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-errorbar--depth","fullname":"plotOptions.errorbar.depth","title":"depth","parent":"plotOptions-errorbar","isParent":false,"returnType":"Number","defaults":"25","since":"4.0","description":"Depth of the columns in a 3D column chart. Requires highcharts-3d.js.","demo":"Basic 3D column chart","deprecated":false},{"name":"plotOptions-pie--depth","fullname":"plotOptions.pie.depth","title":"depth","parent":"plotOptions-pie","isParent":false,"returnType":"Number","defaults":"0","since":"4.0","description":"The thickness of a 3D pie. Requires highcharts-3d.js","demo":"Basic 3D pie chart","deprecated":false},{"name":"plotOptions-column--depth","fullname":"plotOptions.column.depth","title":"depth","parent":"plotOptions-column","isParent":false,"returnType":"Number","defaults":"25","since":"4.0","description":"Depth of the columns in a 3D column chart. Requires highcharts-3d.js.","demo":"Basic 3D column chart","deprecated":false},{"name":"plotOptions-pyramid--depth","fullname":"plotOptions.pyramid.depth","title":"depth","parent":"plotOptions-pyramid","isParent":false,"returnType":"Number","defaults":"0","since":"4.0","description":"The thickness of a 3D pie. Requires highcharts-3d.js","demo":"Basic 3D pie chart","deprecated":false},{"name":"series--depth","fullname":"series.depth","title":"depth","parent":"series","isParent":false,"returnType":"Number","defaults":"25","since":"4.0","description":"Depth of the columns in a 3D column chart. Requires highcharts-3d.js.","demo":"Basic 3D column chart","deprecated":false},{"name":"series--depth","fullname":"series.depth","title":"depth","parent":"series","isParent":false,"returnType":"Number","defaults":"25","since":"4.0","description":"Depth of the columns in a 3D column chart. Requires highcharts-3d.js.","demo":"Basic 3D column chart","deprecated":false},{"name":"series--depth","fullname":"series.depth","title":"depth","parent":"series","isParent":false,"returnType":"Number","defaults":"25","since":"4.0","description":"Depth of the columns in a 3D column chart. Requires highcharts-3d.js.","demo":"Basic 3D column chart","deprecated":false},{"name":"series--depth","fullname":"series.depth","title":"depth","parent":"series","isParent":false,"returnType":"Number","defaults":"0","since":"4.0","description":"The thickness of a 3D pie. Requires highcharts-3d.js","demo":"Basic 3D pie chart","deprecated":false},{"name":"series--depth","fullname":"series.depth","title":"depth","parent":"series","isParent":false,"returnType":"Number","defaults":"25","since":"4.0","description":"Depth of the columns in a 3D column chart. Requires highcharts-3d.js.","demo":"Basic 3D column chart","deprecated":false},{"name":"series--depth","fullname":"series.depth","title":"depth","parent":"series","isParent":false,"returnType":"Number","defaults":"0","since":"4.0","description":"The thickness of a 3D pie. Requires highcharts-3d.js","demo":"Basic 3D pie chart","deprecated":false},{"name":"plotOptions-columnrange--depth","fullname":"plotOptions.columnrange.depth","title":"depth","parent":"plotOptions-columnrange","isParent":false,"returnType":"Number","defaults":"25","since":"4.0","description":"Depth of the columns in a 3D column chart. Requires highcharts-3d.js.","demo":"Basic 3D column chart","deprecated":false},{"name":"plotOptions-waterfall--depth","fullname":"plotOptions.waterfall.depth","title":"depth","parent":"plotOptions-waterfall","isParent":false,"returnType":"Number","defaults":"25","since":"4.0","description":"Depth of the columns in a 3D column chart. Requires highcharts-3d.js.","demo":"Basic 3D column chart","deprecated":false},{"name":"series--depth","fullname":"series.depth","title":"depth","parent":"series","isParent":false,"returnType":"Number","defaults":"0","since":"4.0","description":"The thickness of a 3D pie. Requires highcharts-3d.js","demo":"Basic 3D pie chart","deprecated":false},{"name":"plotOptions-boxplot--depth","fullname":"plotOptions.boxplot.depth","title":"depth","parent":"plotOptions-boxplot","isParent":false,"returnType":"Number","defaults":"25","since":"4.0","description":"Depth of the columns in a 3D column chart. Requires highcharts-3d.js.","demo":"Basic 3D column chart","deprecated":false},{"name":"series--depth","fullname":"series.depth","title":"depth","parent":"series","isParent":false,"returnType":"Number","defaults":"25","since":"4.0","description":"Depth of the columns in a 3D column chart. Requires highcharts-3d.js.","demo":"Basic 3D column chart","deprecated":false},{"name":"plotOptions-bar--depth","fullname":"plotOptions.bar.depth","title":"depth","parent":"plotOptions-bar","isParent":false,"returnType":"Number","defaults":"25","since":"4.0","description":"Depth of the columns in a 3D column chart. Requires highcharts-3d.js.","demo":"Basic 3D column chart","deprecated":false},{"name":"plotOptions-gauge-dial","fullname":"plotOptions.gauge.dial","title":"dial","parent":"plotOptions-gauge","isParent":true,"returnType":"Object","defaults":"","since":"2.3.0","description":"Options for the dial or arrow pointer of the gauge.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dial","fullname":"series.dial","title":"dial","parent":"series","isParent":true,"returnType":"Object","defaults":"","since":"2.3.0","description":"Options for the dial or arrow pointer of the gauge.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble--displayNegative","fullname":"plotOptions.bubble.displayNegative","title":"displayNegative","parent":"plotOptions-bubble","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"3.0","description":"Whether to display negative sized bubbles. The threshold is given by the zThreshold option, and negative bubbles can be visualized by setting negativeColor.","demo":"Negative bubbles","seeAlso":"","deprecated":false},{"name":"series--displayNegative","fullname":"series.displayNegative","title":"displayNegative","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"3.0","description":"Whether to display negative sized bubbles. The threshold is given by the zThreshold option, and negative bubbles can be visualized by setting negativeColor.","demo":"Negative bubbles","seeAlso":"","deprecated":false},{"name":"yAxis-labels--distance","fullname":"yAxis.labels.distance","title":"distance","parent":"yAxis-labels","isParent":false,"returnType":"Number","defaults":"15","values":"","since":"","description":"Angular gauges and solid gauges only. The label's pixel distance from the perimeter of the plot area.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--distance","fullname":"series.dataLabels.distance","title":"distance","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"30","since":"2.1","description":"The distance of the data label from the pie's edge. Negative numbers put the data label on top of the pie slices. Connectors are only shown for data labels outside the pie.","demo":"Data labels on top of the pie"},{"name":"series-dataLabels--distance","fullname":"series.dataLabels.distance","title":"distance","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"30","since":"2.1","description":"The distance of the data label from the pie's edge. Negative numbers put the data label on top of the pie slices. Connectors are only shown for data labels outside the pie.","demo":"Data labels on top of the pie"},{"name":"plotOptions-funnel-dataLabels--distance","fullname":"plotOptions.funnel.dataLabels.distance","title":"distance","parent":"plotOptions-funnel-dataLabels","isParent":false,"returnType":"Number","defaults":"30","since":"2.1","description":"The distance of the data label from the pie's edge. Negative numbers put the data label on top of the pie slices. Connectors are only shown for data labels outside the pie.","demo":"Data labels on top of the pie"},{"name":"plotOptions-pie-dataLabels--distance","fullname":"plotOptions.pie.dataLabels.distance","title":"distance","parent":"plotOptions-pie-dataLabels","isParent":false,"returnType":"Number","defaults":"30","since":"2.1","description":"The distance of the data label from the pie's edge. Negative numbers put the data label on top of the pie slices. Connectors are only shown for data labels outside the pie.","demo":"Data labels on top of the pie"},{"name":"xAxis-labels--distance","fullname":"xAxis.labels.distance","title":"distance","parent":"xAxis-labels","isParent":false,"returnType":"Number","defaults":"15","values":"","since":"","description":"Polar charts only. The label's pixel distance from the perimeter of the plot area.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--distance","fullname":"series.dataLabels.distance","title":"distance","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"30","since":"2.1","description":"The distance of the data label from the pie's edge. Negative numbers put the data label on top of the pie slices. Connectors are only shown for data labels outside the pie.","demo":"Data labels on top of the pie"},{"name":"plotOptions-pyramid-dataLabels--distance","fullname":"plotOptions.pyramid.dataLabels.distance","title":"distance","parent":"plotOptions-pyramid-dataLabels","isParent":false,"returnType":"Number","defaults":"30","since":"2.1","description":"The distance of the data label from the pie's edge. Negative numbers put the data label on top of the pie slices. Connectors are only shown for data labels outside the pie.","demo":"Data labels on top of the pie"},{"name":"lang--downloadJPEG","fullname":"lang.downloadJPEG","title":"downloadJPEG","parent":"lang","isParent":false,"returnType":"String","defaults":"Download JPEG image","since":"2.0","description":"Exporting module only. The text for the JPEG download menu item."},{"name":"lang--downloadPDF","fullname":"lang.downloadPDF","title":"downloadPDF","parent":"lang","isParent":false,"returnType":"String","defaults":"Download PDF document","since":"2.0","description":"Exporting module only. The text for the PDF download menu item."},{"name":"lang--downloadPNG","fullname":"lang.downloadPNG","title":"downloadPNG","parent":"lang","isParent":false,"returnType":"String","defaults":"Download PNG image","since":"2.0","description":"Exporting module only. The text for the PNG download menu item."},{"name":"lang--downloadSVG","fullname":"lang.downloadSVG","title":"downloadSVG","parent":"lang","isParent":false,"returnType":"String","defaults":"Download SVG vector image","since":"2.0","description":"Exporting module only. The text for the SVG download menu item."},{"name":"drilldown-drillUpButton","fullname":"drilldown.drillUpButton","title":"drillUpButton","parent":"drilldown","isParent":true,"returnType":"Object","since":"3.0.8","description":"Options for the drill up button that appears when drilling down on a series. The text for the button is defined in lang.drillUpText.","demo":"Drill up button","deprecated":false},{"name":"lang--drillUpText","fullname":"lang.drillUpText","title":"drillUpText","parent":"lang","isParent":false,"returnType":"String","defaults":"Back to {series.name}","since":"3.0.8","description":"The text for the button that appears when drilling down, linking back to the parent series. The parent series' name is inserted for {series.name}.","deprecated":false},{"name":"series-data--drilldown","fullname":"series.data.drilldown","title":"drilldown","parent":"series-data","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0.8","description":"The id of a series in the drilldown.series array to use for a drilldown for this point.","demo":"Basic drilldown","seeAlso":"","deprecated":false},{"name":"drilldown","fullname":"drilldown","title":"drilldown","isParent":true,"since":"3.0.8","description":"

Options for drill down, the concept of inspecting increasingly high resolution data through clicking on chart items like columns or pie slices.

\r\n\r\n

The drilldown feature requires the drilldown.js file to be loaded, found in the modules directory of the download package, or online at code.highcharts.com/modules/drilldown.js.

\r\n\r\n","demo":"Basic drilldown, generated column drilldown, pie drilldown, drilldown across series types.","deprecated":false},{"name":"series-data--drilldown","fullname":"series.data.drilldown","title":"drilldown","parent":"series-data","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0.8","description":"The id of a series in the drilldown.series array to use for a drilldown for this point.","demo":"Basic drilldown","seeAlso":"","deprecated":false},{"name":"series-data--drilldown","fullname":"series.data.drilldown","title":"drilldown","parent":"series-data","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0.8","description":"The id of a series in the drilldown.series array to use for a drilldown for this point.","demo":"Basic drilldown","seeAlso":"","deprecated":false},{"name":"series-data--drilldown","fullname":"series.data.drilldown","title":"drilldown","parent":"series-data","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0.8","description":"The id of a series in the drilldown.series array to use for a drilldown for this point.","demo":"Basic drilldown","seeAlso":"","deprecated":false},{"name":"series-data--drilldown","fullname":"series.data.drilldown","title":"drilldown","parent":"series-data","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0.8","description":"The id of a series in the drilldown.series array to use for a drilldown for this point.","demo":"Basic drilldown","seeAlso":"","deprecated":false},{"name":"series-data--drilldown","fullname":"series.data.drilldown","title":"drilldown","parent":"series-data","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0.8","description":"The id of a series in the drilldown.series array to use for a drilldown for this point.","demo":"Basic drilldown","seeAlso":"","deprecated":false},{"name":"series-data--drilldown","fullname":"series.data.drilldown","title":"drilldown","parent":"series-data","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0.8","description":"The id of a series in the drilldown.series array to use for a drilldown for this point.","demo":"Basic drilldown","seeAlso":"","deprecated":false},{"name":"series-data--drilldown","fullname":"series.data.drilldown","title":"drilldown","parent":"series-data","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0.8","description":"The id of a series in the drilldown.series array to use for a drilldown for this point.","demo":"Basic drilldown","seeAlso":"","deprecated":false},{"name":"chart-events--drilldown","fullname":"chart.events.drilldown","title":"drilldown","parent":"chart-events","isParent":false,"returnType":"Function","context":"Chart","since":"3.0.8","description":"

Fires when a drilldown point is clicked, before the new series is added. Event arguments:

\r\n\r\n
\r\n\r\n
category
\r\n
If a category label was clicked, which index.
\r\n\r\n
point
\r\n
The originating point.
\r\n\r\n
points
\r\n
If a category label was clicked, this array holds all points corresponing to the category.
\r\n\r\n
seriesOptions
\r\n
Options for the new series
\r\n\r\n
\r\n

This event is also utilized for async drilldown, where the seriesOptions are not added by option, but rather loaded async.

","demo":"Async drilldown","deprecated":false},{"name":"series-data--drilldown","fullname":"series.data.drilldown","title":"drilldown","parent":"series-data","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0.8","description":"The id of a series in the drilldown.series array to use for a drilldown for this point.","demo":"Basic drilldown","seeAlso":"","deprecated":false},{"name":"series-data--drilldown","fullname":"series.data.drilldown","title":"drilldown","parent":"series-data","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0.8","description":"The id of a series in the drilldown.series array to use for a drilldown for this point.","demo":"Basic drilldown","seeAlso":"","deprecated":false},{"name":"series-data--drilldown","fullname":"series.data.drilldown","title":"drilldown","parent":"series-data","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0.8","description":"The id of a series in the drilldown.series array to use for a drilldown for this point.","demo":"Basic drilldown","seeAlso":"","deprecated":false},{"name":"series-data--drilldown","fullname":"series.data.drilldown","title":"drilldown","parent":"series-data","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0.8","description":"The id of a series in the drilldown.series array to use for a drilldown for this point.","demo":"Basic drilldown","seeAlso":"","deprecated":false},{"name":"series-data--drilldown","fullname":"series.data.drilldown","title":"drilldown","parent":"series-data","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0.8","description":"The id of a series in the drilldown.series array to use for a drilldown for this point.","demo":"Basic drilldown","seeAlso":"","deprecated":false},{"name":"series-data--drilldown","fullname":"series.data.drilldown","title":"drilldown","parent":"series-data","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0.8","description":"The id of a series in the drilldown.series array to use for a drilldown for this point.","demo":"Basic drilldown","seeAlso":"","deprecated":false},{"name":"series-data--drilldown","fullname":"series.data.drilldown","title":"drilldown","parent":"series-data","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0.8","description":"The id of a series in the drilldown.series array to use for a drilldown for this point.","demo":"Basic drilldown","seeAlso":"","deprecated":false},{"name":"series-data--drilldown","fullname":"series.data.drilldown","title":"drilldown","parent":"series-data","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0.8","description":"The id of a series in the drilldown.series array to use for a drilldown for this point.","demo":"Basic drilldown","seeAlso":"","deprecated":false},{"name":"series-data--drilldown","fullname":"series.data.drilldown","title":"drilldown","parent":"series-data","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0.8","description":"The id of a series in the drilldown.series array to use for a drilldown for this point.","demo":"Basic drilldown","seeAlso":"","deprecated":false},{"name":"series-data--drilldown","fullname":"series.data.drilldown","title":"drilldown","parent":"series-data","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0.8","description":"The id of a series in the drilldown.series array to use for a drilldown for this point.","demo":"Basic drilldown","seeAlso":"","deprecated":false},{"name":"series-data--drilldown","fullname":"series.data.drilldown","title":"drilldown","parent":"series-data","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0.8","description":"The id of a series in the drilldown.series array to use for a drilldown for this point.","demo":"Basic drilldown","seeAlso":"","deprecated":false},{"name":"chart-events--drillup","fullname":"chart.events.drillup","title":"drillup","parent":"chart-events","isParent":false,"returnType":"Function","context":"Chart","since":"3.0.8","description":"Fires when drilling up from a drilldown series.","deprecated":false},{"name":"series--edgeColor","fullname":"series.edgeColor","title":"edgeColor","parent":"series","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"3D columns only. The color of the edges. Similar to borderColor, except it defaults to the same color as the column.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-errorbar--edgeColor","fullname":"plotOptions.errorbar.edgeColor","title":"edgeColor","parent":"plotOptions-errorbar","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"3D columns only. The color of the edges. Similar to borderColor, except it defaults to the same color as the column.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-column--edgeColor","fullname":"plotOptions.column.edgeColor","title":"edgeColor","parent":"plotOptions-column","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"3D columns only. The color of the edges. Similar to borderColor, except it defaults to the same color as the column.","demo":"","seeAlso":"","deprecated":false},{"name":"series--edgeColor","fullname":"series.edgeColor","title":"edgeColor","parent":"series","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"3D columns only. The color of the edges. Similar to borderColor, except it defaults to the same color as the column.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-waterfall--edgeColor","fullname":"plotOptions.waterfall.edgeColor","title":"edgeColor","parent":"plotOptions-waterfall","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"3D columns only. The color of the edges. Similar to borderColor, except it defaults to the same color as the column.","demo":"","seeAlso":"","deprecated":false},{"name":"series--edgeColor","fullname":"series.edgeColor","title":"edgeColor","parent":"series","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"3D columns only. The color of the edges. Similar to borderColor, except it defaults to the same color as the column.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange--edgeColor","fullname":"plotOptions.columnrange.edgeColor","title":"edgeColor","parent":"plotOptions-columnrange","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"3D columns only. The color of the edges. Similar to borderColor, except it defaults to the same color as the column.","demo":"","seeAlso":"","deprecated":false},{"name":"series--edgeColor","fullname":"series.edgeColor","title":"edgeColor","parent":"series","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"3D columns only. The color of the edges. Similar to borderColor, except it defaults to the same color as the column.","demo":"","seeAlso":"","deprecated":false},{"name":"series--edgeColor","fullname":"series.edgeColor","title":"edgeColor","parent":"series","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"3D columns only. The color of the edges. Similar to borderColor, except it defaults to the same color as the column.","demo":"","seeAlso":"","deprecated":false},{"name":"series--edgeColor","fullname":"series.edgeColor","title":"edgeColor","parent":"series","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"3D columns only. The color of the edges. Similar to borderColor, except it defaults to the same color as the column.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bar--edgeColor","fullname":"plotOptions.bar.edgeColor","title":"edgeColor","parent":"plotOptions-bar","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"3D columns only. The color of the edges. Similar to borderColor, except it defaults to the same color as the column.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-boxplot--edgeColor","fullname":"plotOptions.boxplot.edgeColor","title":"edgeColor","parent":"plotOptions-boxplot","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"3D columns only. The color of the edges. Similar to borderColor, except it defaults to the same color as the column.","demo":"","seeAlso":"","deprecated":false},{"name":"series--edgeWidth","fullname":"series.edgeWidth","title":"edgeWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"","description":"3D columns only. The width of the colored edges.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-waterfall--edgeWidth","fullname":"plotOptions.waterfall.edgeWidth","title":"edgeWidth","parent":"plotOptions-waterfall","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"","description":"3D columns only. The width of the colored edges.","demo":"","seeAlso":"","deprecated":false},{"name":"series--edgeWidth","fullname":"series.edgeWidth","title":"edgeWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"","description":"3D columns only. The width of the colored edges.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange--edgeWidth","fullname":"plotOptions.columnrange.edgeWidth","title":"edgeWidth","parent":"plotOptions-columnrange","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"","description":"3D columns only. The width of the colored edges.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-boxplot--edgeWidth","fullname":"plotOptions.boxplot.edgeWidth","title":"edgeWidth","parent":"plotOptions-boxplot","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"","description":"3D columns only. The width of the colored edges.","demo":"","seeAlso":"","deprecated":false},{"name":"series--edgeWidth","fullname":"series.edgeWidth","title":"edgeWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"","description":"3D columns only. The width of the colored edges.","demo":"","seeAlso":"","deprecated":false},{"name":"series--edgeWidth","fullname":"series.edgeWidth","title":"edgeWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"","description":"3D columns only. The width of the colored edges.","demo":"","seeAlso":"","deprecated":false},{"name":"series--edgeWidth","fullname":"series.edgeWidth","title":"edgeWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"","description":"3D columns only. The width of the colored edges.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-column--edgeWidth","fullname":"plotOptions.column.edgeWidth","title":"edgeWidth","parent":"plotOptions-column","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"","description":"3D columns only. The width of the colored edges.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-errorbar--edgeWidth","fullname":"plotOptions.errorbar.edgeWidth","title":"edgeWidth","parent":"plotOptions-errorbar","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"","description":"3D columns only. The width of the colored edges.","demo":"","seeAlso":"","deprecated":false},{"name":"series--edgeWidth","fullname":"series.edgeWidth","title":"edgeWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"","description":"3D columns only. The width of the colored edges.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bar--edgeWidth","fullname":"plotOptions.bar.edgeWidth","title":"edgeWidth","parent":"plotOptions-bar","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"","description":"3D columns only. The width of the colored edges.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bar--enableMouseTracking","fullname":"plotOptions.bar.enableMouseTracking","title":"enableMouseTracking","parent":"plotOptions-bar","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"series--enableMouseTracking","fullname":"series.enableMouseTracking","title":"enableMouseTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"series--enableMouseTracking","fullname":"series.enableMouseTracking","title":"enableMouseTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"series--enableMouseTracking","fullname":"series.enableMouseTracking","title":"enableMouseTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"plotOptions-polygon--enableMouseTracking","fullname":"plotOptions.polygon.enableMouseTracking","title":"enableMouseTracking","parent":"plotOptions-polygon","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"series--enableMouseTracking","fullname":"series.enableMouseTracking","title":"enableMouseTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"series--enableMouseTracking","fullname":"series.enableMouseTracking","title":"enableMouseTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"plotOptions-areaspline--enableMouseTracking","fullname":"plotOptions.areaspline.enableMouseTracking","title":"enableMouseTracking","parent":"plotOptions-areaspline","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"plotOptions-gauge--enableMouseTracking","fullname":"plotOptions.gauge.enableMouseTracking","title":"enableMouseTracking","parent":"plotOptions-gauge","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"series--enableMouseTracking","fullname":"series.enableMouseTracking","title":"enableMouseTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"plotOptions-arearange--enableMouseTracking","fullname":"plotOptions.arearange.enableMouseTracking","title":"enableMouseTracking","parent":"plotOptions-arearange","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"plotOptions-scatter--enableMouseTracking","fullname":"plotOptions.scatter.enableMouseTracking","title":"enableMouseTracking","parent":"plotOptions-scatter","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"series--enableMouseTracking","fullname":"series.enableMouseTracking","title":"enableMouseTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"series--enableMouseTracking","fullname":"series.enableMouseTracking","title":"enableMouseTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"series--enableMouseTracking","fullname":"series.enableMouseTracking","title":"enableMouseTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"plotOptions-pie--enableMouseTracking","fullname":"plotOptions.pie.enableMouseTracking","title":"enableMouseTracking","parent":"plotOptions-pie","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"series--enableMouseTracking","fullname":"series.enableMouseTracking","title":"enableMouseTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"series--enableMouseTracking","fullname":"series.enableMouseTracking","title":"enableMouseTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"series--enableMouseTracking","fullname":"series.enableMouseTracking","title":"enableMouseTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"plotOptions-columnrange--enableMouseTracking","fullname":"plotOptions.columnrange.enableMouseTracking","title":"enableMouseTracking","parent":"plotOptions-columnrange","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"plotOptions-pyramid--enableMouseTracking","fullname":"plotOptions.pyramid.enableMouseTracking","title":"enableMouseTracking","parent":"plotOptions-pyramid","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"series--enableMouseTracking","fullname":"series.enableMouseTracking","title":"enableMouseTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"plotOptions-series--enableMouseTracking","fullname":"plotOptions.series.enableMouseTracking","title":"enableMouseTracking","parent":"plotOptions-series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"plotOptions-areasplinerange--enableMouseTracking","fullname":"plotOptions.areasplinerange.enableMouseTracking","title":"enableMouseTracking","parent":"plotOptions-areasplinerange","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"series--enableMouseTracking","fullname":"series.enableMouseTracking","title":"enableMouseTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"series--enableMouseTracking","fullname":"series.enableMouseTracking","title":"enableMouseTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"plotOptions-treemap--enableMouseTracking","fullname":"plotOptions.treemap.enableMouseTracking","title":"enableMouseTracking","parent":"plotOptions-treemap","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"series--enableMouseTracking","fullname":"series.enableMouseTracking","title":"enableMouseTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"plotOptions-line--enableMouseTracking","fullname":"plotOptions.line.enableMouseTracking","title":"enableMouseTracking","parent":"plotOptions-line","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"series--enableMouseTracking","fullname":"series.enableMouseTracking","title":"enableMouseTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"plotOptions-funnel--enableMouseTracking","fullname":"plotOptions.funnel.enableMouseTracking","title":"enableMouseTracking","parent":"plotOptions-funnel","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"plotOptions-waterfall--enableMouseTracking","fullname":"plotOptions.waterfall.enableMouseTracking","title":"enableMouseTracking","parent":"plotOptions-waterfall","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"plotOptions-errorbar--enableMouseTracking","fullname":"plotOptions.errorbar.enableMouseTracking","title":"enableMouseTracking","parent":"plotOptions-errorbar","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"series--enableMouseTracking","fullname":"series.enableMouseTracking","title":"enableMouseTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"plotOptions-column--enableMouseTracking","fullname":"plotOptions.column.enableMouseTracking","title":"enableMouseTracking","parent":"plotOptions-column","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"plotOptions-area--enableMouseTracking","fullname":"plotOptions.area.enableMouseTracking","title":"enableMouseTracking","parent":"plotOptions-area","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"series--enableMouseTracking","fullname":"series.enableMouseTracking","title":"enableMouseTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"series--enableMouseTracking","fullname":"series.enableMouseTracking","title":"enableMouseTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"plotOptions-spline--enableMouseTracking","fullname":"plotOptions.spline.enableMouseTracking","title":"enableMouseTracking","parent":"plotOptions-spline","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"plotOptions-solidgauge--enableMouseTracking","fullname":"plotOptions.solidgauge.enableMouseTracking","title":"enableMouseTracking","parent":"plotOptions-solidgauge","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"plotOptions-bubble--enableMouseTracking","fullname":"plotOptions.bubble.enableMouseTracking","title":"enableMouseTracking","parent":"plotOptions-bubble","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"plotOptions-boxplot--enableMouseTracking","fullname":"plotOptions.boxplot.enableMouseTracking","title":"enableMouseTracking","parent":"plotOptions-boxplot","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"series--enableMouseTracking","fullname":"series.enableMouseTracking","title":"enableMouseTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"series--enableMouseTracking","fullname":"series.enableMouseTracking","title":"enableMouseTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"plotOptions-heatmap--enableMouseTracking","fullname":"plotOptions.heatmap.enableMouseTracking","title":"enableMouseTracking","parent":"plotOptions-heatmap","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the mouse tracking for a specific series. This includes point tooltips and click events on graphs and points. For large datasets it improves performance.","demo":"No mouse tracking"},{"name":"series-states-hover-marker--enabled","fullname":"series.states.hover.marker.enabled","title":"enabled","parent":"series-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-line-marker-states-select--enabled","fullname":"plotOptions.line.marker.states.select.enabled","title":"enabled","parent":"plotOptions-line-marker-states-select","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable visible feedback for selection.","demo":"Disabled select state"},{"name":"series-dataLabels--enabled","fullname":"series.dataLabels.enabled","title":"enabled","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Enable or disable the data labels.","demo":"Data labels enabled","deprecated":false},{"name":"plotOptions-line-marker--enabled","fullname":"plotOptions.line.marker.enabled","title":"enabled","parent":"plotOptions-line-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-dataLabels--enabled","fullname":"series.dataLabels.enabled","title":"enabled","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Enable or disable the data labels.","demo":"Data labels enabled","deprecated":false},{"name":"tooltip--enabled","fullname":"tooltip.enabled","title":"enabled","parent":"tooltip","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the tooltip.","demo":"Disabled,\n\t\t\tdisable tooltip and show values on chart instead."},{"name":"series-states-hover--enabled","fullname":"series.states.hover.enabled","title":"enabled","parent":"series-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"series-states-hover--enabled","fullname":"series.states.hover.enabled","title":"enabled","parent":"series-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"series-dataLabels--enabled","fullname":"series.dataLabels.enabled","title":"enabled","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Enable or disable the data labels.","demo":"Data labels enabled","deprecated":false},{"name":"series-states-hover--enabled","fullname":"series.states.hover.enabled","title":"enabled","parent":"series-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"series-states-hover--enabled","fullname":"series.states.hover.enabled","title":"enabled","parent":"series-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"plotOptions-areaspline-marker--enabled","fullname":"plotOptions.areaspline.marker.enabled","title":"enabled","parent":"plotOptions-areaspline-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-area-marker--enabled","fullname":"plotOptions.area.marker.enabled","title":"enabled","parent":"plotOptions-area-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-series-marker-states-hover--enabled","fullname":"plotOptions.series.marker.states.hover.enabled","title":"enabled","parent":"plotOptions-series-marker-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled hover state"},{"name":"plotOptions-areaspline-states-hover-marker--enabled","fullname":"plotOptions.areaspline.states.hover.marker.enabled","title":"enabled","parent":"plotOptions-areaspline-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-waterfall-states-hover--enabled","fullname":"plotOptions.waterfall.states.hover.enabled","title":"enabled","parent":"plotOptions-waterfall-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"plotOptions-line-marker-states-hover--enabled","fullname":"plotOptions.line.marker.states.hover.enabled","title":"enabled","parent":"plotOptions-line-marker-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled hover state"},{"name":"series-states-hover-marker--enabled","fullname":"series.states.hover.marker.enabled","title":"enabled","parent":"series-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-states-hover--enabled","fullname":"series.states.hover.enabled","title":"enabled","parent":"series-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"series-marker--enabled","fullname":"series.marker.enabled","title":"enabled","parent":"series-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-marker-states-hover--enabled","fullname":"series.marker.states.hover.enabled","title":"enabled","parent":"series-marker-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled hover state"},{"name":"series-dataLabels--enabled","fullname":"series.dataLabels.enabled","title":"enabled","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.1","description":"Enable or disable the data labels."},{"name":"series-states-hover--enabled","fullname":"series.states.hover.enabled","title":"enabled","parent":"series-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"series-dataLabels--enabled","fullname":"series.dataLabels.enabled","title":"enabled","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Enable or disable the data labels.","demo":"Data labels enabled","deprecated":false},{"name":"series-states-hover--enabled","fullname":"series.states.hover.enabled","title":"enabled","parent":"series-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"series-data-marker-states-select--enabled","fullname":"series.data.marker.states.select.enabled","title":"enabled","parent":"series-data-marker-states-select","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable visible feedback for selection.","demo":"Disabled select state"},{"name":"plotOptions-treemap-dataLabels--enabled","fullname":"plotOptions.treemap.dataLabels.enabled","title":"enabled","parent":"plotOptions-treemap-dataLabels","isParent":false,"returnType":"Boolean","context":"","defaults":"true","values":"","since":"4.1.0","description":"Enable or disable the data labels.","demo":"Data labels enabled","seeAlso":"","deprecated":false},{"name":"plotOptions-area-marker-states-hover--enabled","fullname":"plotOptions.area.marker.states.hover.enabled","title":"enabled","parent":"plotOptions-area-marker-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled hover state"},{"name":"plotOptions-column-states-hover--enabled","fullname":"plotOptions.column.states.hover.enabled","title":"enabled","parent":"plotOptions-column-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"plotOptions-pie-states-hover-marker--enabled","fullname":"plotOptions.pie.states.hover.marker.enabled","title":"enabled","parent":"plotOptions-pie-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-scatter-marker--enabled","fullname":"plotOptions.scatter.marker.enabled","title":"enabled","parent":"plotOptions-scatter-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-spline-states-hover--enabled","fullname":"plotOptions.spline.states.hover.enabled","title":"enabled","parent":"plotOptions-spline-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"credits--enabled","fullname":"credits.enabled","title":"enabled","parent":"credits","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to show the credits text.","demo":"Credits disabled"},{"name":"series-marker-states-hover--enabled","fullname":"series.marker.states.hover.enabled","title":"enabled","parent":"series-marker-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled hover state"},{"name":"series-data-marker-states-select--enabled","fullname":"series.data.marker.states.select.enabled","title":"enabled","parent":"series-data-marker-states-select","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable visible feedback for selection.","demo":"Disabled select state"},{"name":"plotOptions-gauge-dataLabels--enabled","fullname":"plotOptions.gauge.dataLabels.enabled","title":"enabled","parent":"plotOptions-gauge-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"2.3.0","description":"Enable or disable the data labels.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon-marker-states-hover--enabled","fullname":"plotOptions.polygon.marker.states.hover.enabled","title":"enabled","parent":"plotOptions-polygon-marker-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled hover state"},{"name":"series-data-marker-states-hover--enabled","fullname":"series.data.marker.states.hover.enabled","title":"enabled","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled hover state"},{"name":"plotOptions-solidgauge-dataLabels--enabled","fullname":"plotOptions.solidgauge.dataLabels.enabled","title":"enabled","parent":"plotOptions-solidgauge-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"2.3.0","description":"Enable or disable the data labels.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--enabled","fullname":"series.states.hover.marker.enabled","title":"enabled","parent":"series-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-states-hover-marker--enabled","fullname":"series.states.hover.marker.enabled","title":"enabled","parent":"series-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-marker-states-hover--enabled","fullname":"series.marker.states.hover.enabled","title":"enabled","parent":"series-marker-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled hover state"},{"name":"plotOptions-areaspline-dataLabels--enabled","fullname":"plotOptions.areaspline.dataLabels.enabled","title":"enabled","parent":"plotOptions-areaspline-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Enable or disable the data labels.","demo":"Data labels enabled","deprecated":false},{"name":"yAxis-labels--enabled","fullname":"yAxis.labels.enabled","title":"enabled","parent":"yAxis-labels","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the axis labels.","demo":"X axis labels disabled"},{"name":"series-states-hover-marker--enabled","fullname":"series.states.hover.marker.enabled","title":"enabled","parent":"series-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-marker-states-hover--enabled","fullname":"series.marker.states.hover.enabled","title":"enabled","parent":"series-marker-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled hover state"},{"name":"series-marker-states-hover--enabled","fullname":"series.marker.states.hover.enabled","title":"enabled","parent":"series-marker-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled hover state"},{"name":"series-data-marker-states-hover--enabled","fullname":"series.data.marker.states.hover.enabled","title":"enabled","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled hover state"},{"name":"exporting--enabled","fullname":"exporting.enabled","title":"enabled","parent":"exporting","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Whether to enable the exporting module. Disabling the module will hide the context button, but API methods will still be available.","demo":"Exporting module is loaded but disabled","deprecated":false},{"name":"series-states-hover--enabled","fullname":"series.states.hover.enabled","title":"enabled","parent":"series-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"plotOptions-scatter-marker-states-select--enabled","fullname":"plotOptions.scatter.marker.states.select.enabled","title":"enabled","parent":"plotOptions-scatter-marker-states-select","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable visible feedback for selection.","demo":"Disabled select state"},{"name":"plotOptions-series-states-hover-marker--enabled","fullname":"plotOptions.series.states.hover.marker.enabled","title":"enabled","parent":"plotOptions-series-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-spline-marker--enabled","fullname":"plotOptions.spline.marker.enabled","title":"enabled","parent":"plotOptions-spline-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-areasplinerange-states-hover--enabled","fullname":"plotOptions.areasplinerange.states.hover.enabled","title":"enabled","parent":"plotOptions-areasplinerange-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"plotOptions-spline-states-hover-marker--enabled","fullname":"plotOptions.spline.states.hover.marker.enabled","title":"enabled","parent":"plotOptions-spline-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-marker--enabled","fullname":"series.marker.enabled","title":"enabled","parent":"series-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-columnrange-states-hover-marker--enabled","fullname":"plotOptions.columnrange.states.hover.marker.enabled","title":"enabled","parent":"plotOptions-columnrange-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-states-hover--enabled","fullname":"series.states.hover.enabled","title":"enabled","parent":"series-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"yAxis-title--enabled","fullname":"yAxis.title.enabled","title":"enabled","parent":"yAxis-title","isParent":false,"returnType":"String","defaults":"middle","description":"Deprecated. Set the text to null to disable the title.","deprecated":true},{"name":"plotOptions-waterfall-dataLabels--enabled","fullname":"plotOptions.waterfall.dataLabels.enabled","title":"enabled","parent":"plotOptions-waterfall-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Enable or disable the data labels.","demo":"Data labels enabled","deprecated":false},{"name":"series-marker--enabled","fullname":"series.marker.enabled","title":"enabled","parent":"series-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-areasplinerange-states-hover-marker--enabled","fullname":"plotOptions.areasplinerange.states.hover.marker.enabled","title":"enabled","parent":"plotOptions-areasplinerange-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-dataLabels--enabled","fullname":"series.dataLabels.enabled","title":"enabled","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","context":"","defaults":"true","values":"","since":"4.1.0","description":"Enable or disable the data labels.","demo":"Data labels enabled","seeAlso":"","deprecated":false},{"name":"plotOptions-line-states-hover-marker--enabled","fullname":"plotOptions.line.states.hover.marker.enabled","title":"enabled","parent":"plotOptions-line-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-states-hover-marker--enabled","fullname":"series.states.hover.marker.enabled","title":"enabled","parent":"series-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-dataLabels--enabled","fullname":"series.dataLabels.enabled","title":"enabled","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"2.3.0","description":"Enable or disable the data labels.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--enabled","fullname":"series.dataLabels.enabled","title":"enabled","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Enable or disable the data labels.","demo":"Data labels enabled","deprecated":false},{"name":"plotOptions-heatmap-dataLabels--enabled","fullname":"plotOptions.heatmap.dataLabels.enabled","title":"enabled","parent":"plotOptions-heatmap-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Enable or disable the data labels.","demo":"Data labels enabled","deprecated":false},{"name":"plotOptions-funnel-dataLabels--enabled","fullname":"plotOptions.funnel.dataLabels.enabled","title":"enabled","parent":"plotOptions-funnel-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.1","description":"Enable or disable the data labels."},{"name":"plotOptions-spline-marker-states-hover--enabled","fullname":"plotOptions.spline.marker.states.hover.enabled","title":"enabled","parent":"plotOptions-spline-marker-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled hover state"},{"name":"plotOptions-arearange-states-hover-marker--enabled","fullname":"plotOptions.arearange.states.hover.marker.enabled","title":"enabled","parent":"plotOptions-arearange-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-pyramid-states-hover--enabled","fullname":"plotOptions.pyramid.states.hover.enabled","title":"enabled","parent":"plotOptions-pyramid-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"plotOptions-arearange-states-hover--enabled","fullname":"plotOptions.arearange.states.hover.enabled","title":"enabled","parent":"plotOptions-arearange-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"series-marker-states-select--enabled","fullname":"series.marker.states.select.enabled","title":"enabled","parent":"series-marker-states-select","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable visible feedback for selection.","demo":"Disabled select state"},{"name":"series-marker--enabled","fullname":"series.marker.enabled","title":"enabled","parent":"series-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-column-states-hover-marker--enabled","fullname":"plotOptions.column.states.hover.marker.enabled","title":"enabled","parent":"plotOptions-column-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-bubble-states-hover-marker--enabled","fullname":"plotOptions.bubble.states.hover.marker.enabled","title":"enabled","parent":"plotOptions-bubble-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-line-dataLabels--enabled","fullname":"plotOptions.line.dataLabels.enabled","title":"enabled","parent":"plotOptions-line-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Enable or disable the data labels.","demo":"Data labels enabled","deprecated":false},{"name":"series-marker-states-select--enabled","fullname":"series.marker.states.select.enabled","title":"enabled","parent":"series-marker-states-select","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable visible feedback for selection.","demo":"Disabled select state"},{"name":"series-states-hover-marker--enabled","fullname":"series.states.hover.marker.enabled","title":"enabled","parent":"series-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-states-hover--enabled","fullname":"series.states.hover.enabled","title":"enabled","parent":"series-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"xAxis-labels--enabled","fullname":"xAxis.labels.enabled","title":"enabled","parent":"xAxis-labels","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the axis labels.","demo":"X axis labels disabled"},{"name":"series-marker--enabled","fullname":"series.marker.enabled","title":"enabled","parent":"series-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-states-hover-marker--enabled","fullname":"series.states.hover.marker.enabled","title":"enabled","parent":"series-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-states-hover--enabled","fullname":"series.states.hover.enabled","title":"enabled","parent":"series-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"series-dataLabels--enabled","fullname":"series.dataLabels.enabled","title":"enabled","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Enable or disable the data labels.","demo":"Data labels enabled","deprecated":false},{"name":"plotOptions-series-dataLabels--enabled","fullname":"plotOptions.series.dataLabels.enabled","title":"enabled","parent":"plotOptions-series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Enable or disable the data labels.","demo":"Data labels enabled","deprecated":false},{"name":"series-marker-states-select--enabled","fullname":"series.marker.states.select.enabled","title":"enabled","parent":"series-marker-states-select","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable visible feedback for selection.","demo":"Disabled select state"},{"name":"plotOptions-bubble-states-hover--enabled","fullname":"plotOptions.bubble.states.hover.enabled","title":"enabled","parent":"plotOptions-bubble-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"series-states-hover-marker--enabled","fullname":"series.states.hover.marker.enabled","title":"enabled","parent":"series-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-states-hover-marker--enabled","fullname":"series.states.hover.marker.enabled","title":"enabled","parent":"series-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-bubble-marker--enabled","fullname":"plotOptions.bubble.marker.enabled","title":"enabled","parent":"plotOptions-bubble-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-series-marker-states-select--enabled","fullname":"plotOptions.series.marker.states.select.enabled","title":"enabled","parent":"plotOptions-series-marker-states-select","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable visible feedback for selection.","demo":"Disabled select state"},{"name":"plotOptions-pie-states-hover--enabled","fullname":"plotOptions.pie.states.hover.enabled","title":"enabled","parent":"plotOptions-pie-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"plotOptions-polygon-marker--enabled","fullname":"plotOptions.polygon.marker.enabled","title":"enabled","parent":"plotOptions-polygon-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-data-marker-states-select--enabled","fullname":"series.data.marker.states.select.enabled","title":"enabled","parent":"series-data-marker-states-select","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable visible feedback for selection.","demo":"Disabled select state"},{"name":"plotOptions-heatmap-states-hover--enabled","fullname":"plotOptions.heatmap.states.hover.enabled","title":"enabled","parent":"plotOptions-heatmap-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"plotOptions-polygon-dataLabels--enabled","fullname":"plotOptions.polygon.dataLabels.enabled","title":"enabled","parent":"plotOptions-polygon-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Enable or disable the data labels.","demo":"Data labels enabled","deprecated":false},{"name":"exporting-buttons-contextButton--enabled","fullname":"exporting.buttons.contextButton.enabled","title":"enabled","parent":"exporting-buttons-contextButton","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Whether to enable buttons.","demo":"Exporting module loaded but buttons disabled"},{"name":"series-states-hover--enabled","fullname":"series.states.hover.enabled","title":"enabled","parent":"series-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"series-marker-states-select--enabled","fullname":"series.marker.states.select.enabled","title":"enabled","parent":"series-marker-states-select","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable visible feedback for selection.","demo":"Disabled select state"},{"name":"plotOptions-bar-states-hover--enabled","fullname":"plotOptions.bar.states.hover.enabled","title":"enabled","parent":"plotOptions-bar-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"series-data-marker--enabled","fullname":"series.data.marker.enabled","title":"enabled","parent":"series-data-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-states-hover-marker--enabled","fullname":"series.states.hover.marker.enabled","title":"enabled","parent":"series-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-states-hover-marker--enabled","fullname":"series.states.hover.marker.enabled","title":"enabled","parent":"series-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-area-marker-states-select--enabled","fullname":"plotOptions.area.marker.states.select.enabled","title":"enabled","parent":"plotOptions-area-marker-states-select","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable visible feedback for selection.","demo":"Disabled select state"},{"name":"plotOptions-scatter-states-hover-marker--enabled","fullname":"plotOptions.scatter.states.hover.marker.enabled","title":"enabled","parent":"plotOptions-scatter-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-states-hover-marker--enabled","fullname":"series.states.hover.marker.enabled","title":"enabled","parent":"series-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-bar-dataLabels--enabled","fullname":"plotOptions.bar.dataLabels.enabled","title":"enabled","parent":"plotOptions-bar-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Enable or disable the data labels.","demo":"Data labels enabled","deprecated":false},{"name":"plotOptions-bubble-marker-states-select--enabled","fullname":"plotOptions.bubble.marker.states.select.enabled","title":"enabled","parent":"plotOptions-bubble-marker-states-select","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable visible feedback for selection.","demo":"Disabled select state"},{"name":"series-dataLabels--enabled","fullname":"series.dataLabels.enabled","title":"enabled","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Enable or disable the data labels.","demo":"Data labels enabled","deprecated":false},{"name":"navigation-buttonOptions--enabled","fullname":"navigation.buttonOptions.enabled","title":"enabled","parent":"navigation-buttonOptions","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Whether to enable buttons.","demo":"Exporting module loaded but buttons disabled"},{"name":"plotOptions-boxplot-states-hover-marker--enabled","fullname":"plotOptions.boxplot.states.hover.marker.enabled","title":"enabled","parent":"plotOptions-boxplot-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-dataLabels--enabled","fullname":"series.dataLabels.enabled","title":"enabled","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Enable or disable the data labels.","demo":"Data labels enabled","deprecated":false},{"name":"plotOptions-pyramid-states-hover-marker--enabled","fullname":"plotOptions.pyramid.states.hover.marker.enabled","title":"enabled","parent":"plotOptions-pyramid-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-treemap-states-hover-marker--enabled","fullname":"plotOptions.treemap.states.hover.marker.enabled","title":"enabled","parent":"plotOptions-treemap-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"chart-options3d--enabled","fullname":"chart.options3d.enabled","title":"enabled","parent":"chart-options3d","isParent":false,"returnType":"Boolean","defaults":"false","since":"4.0","description":"Wether to render the chart using the 3D functionality.","deprecated":false},{"name":"series-states-hover-marker--enabled","fullname":"series.states.hover.marker.enabled","title":"enabled","parent":"series-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-data-marker--enabled","fullname":"series.data.marker.enabled","title":"enabled","parent":"series-data-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-data-marker-states-select--enabled","fullname":"series.data.marker.states.select.enabled","title":"enabled","parent":"series-data-marker-states-select","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable visible feedback for selection.","demo":"Disabled select state"},{"name":"plotOptions-columnrange-states-hover--enabled","fullname":"plotOptions.columnrange.states.hover.enabled","title":"enabled","parent":"plotOptions-columnrange-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"series-states-hover--enabled","fullname":"series.states.hover.enabled","title":"enabled","parent":"series-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"series-data-marker-states-select--enabled","fullname":"series.data.marker.states.select.enabled","title":"enabled","parent":"series-data-marker-states-select","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable visible feedback for selection.","demo":"Disabled select state"},{"name":"plotOptions-bubble-dataLabels--enabled","fullname":"plotOptions.bubble.dataLabels.enabled","title":"enabled","parent":"plotOptions-bubble-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Enable or disable the data labels.","demo":"Data labels enabled","deprecated":false},{"name":"series-marker-states-select--enabled","fullname":"series.marker.states.select.enabled","title":"enabled","parent":"series-marker-states-select","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable visible feedback for selection.","demo":"Disabled select state"},{"name":"series-states-hover--enabled","fullname":"series.states.hover.enabled","title":"enabled","parent":"series-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"plotOptions-polygon-marker-states-select--enabled","fullname":"plotOptions.polygon.marker.states.select.enabled","title":"enabled","parent":"plotOptions-polygon-marker-states-select","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable visible feedback for selection.","demo":"Disabled select state"},{"name":"series-data-marker-states-hover--enabled","fullname":"series.data.marker.states.hover.enabled","title":"enabled","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled hover state"},{"name":"series-dataLabels--enabled","fullname":"series.dataLabels.enabled","title":"enabled","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Enable or disable the data labels.","demo":"Data labels enabled","deprecated":false},{"name":"plotOptions-areasplinerange-dataLabels--enabled","fullname":"plotOptions.areasplinerange.dataLabels.enabled","title":"enabled","parent":"plotOptions-areasplinerange-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Enable or disable the data labels.","demo":"Data labels enabled","deprecated":false},{"name":"series-states-hover-marker--enabled","fullname":"series.states.hover.marker.enabled","title":"enabled","parent":"series-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-states-hover-marker--enabled","fullname":"series.states.hover.marker.enabled","title":"enabled","parent":"series-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-solidgauge-states-hover-marker--enabled","fullname":"plotOptions.solidgauge.states.hover.marker.enabled","title":"enabled","parent":"plotOptions-solidgauge-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-data-marker--enabled","fullname":"series.data.marker.enabled","title":"enabled","parent":"series-data-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-pie-dataLabels--enabled","fullname":"plotOptions.pie.dataLabels.enabled","title":"enabled","parent":"plotOptions-pie-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.1","description":"Enable or disable the data labels."},{"name":"series-states-hover--enabled","fullname":"series.states.hover.enabled","title":"enabled","parent":"series-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"plotOptions-errorbar-states-hover-marker--enabled","fullname":"plotOptions.errorbar.states.hover.marker.enabled","title":"enabled","parent":"plotOptions-errorbar-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-scatter-dataLabels--enabled","fullname":"plotOptions.scatter.dataLabels.enabled","title":"enabled","parent":"plotOptions-scatter-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Enable or disable the data labels.","demo":"Data labels enabled","deprecated":false},{"name":"plotOptions-boxplot-states-hover--enabled","fullname":"plotOptions.boxplot.states.hover.enabled","title":"enabled","parent":"plotOptions-boxplot-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"plotOptions-bar-states-hover-marker--enabled","fullname":"plotOptions.bar.states.hover.marker.enabled","title":"enabled","parent":"plotOptions-bar-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-column-dataLabels--enabled","fullname":"plotOptions.column.dataLabels.enabled","title":"enabled","parent":"plotOptions-column-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Enable or disable the data labels.","demo":"Data labels enabled","deprecated":false},{"name":"series-marker-states-hover--enabled","fullname":"series.marker.states.hover.enabled","title":"enabled","parent":"series-marker-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled hover state"},{"name":"plotOptions-solidgauge-states-hover--enabled","fullname":"plotOptions.solidgauge.states.hover.enabled","title":"enabled","parent":"plotOptions-solidgauge-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"plotOptions-pyramid-dataLabels--enabled","fullname":"plotOptions.pyramid.dataLabels.enabled","title":"enabled","parent":"plotOptions-pyramid-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.1","description":"Enable or disable the data labels."},{"name":"series-states-hover--enabled","fullname":"series.states.hover.enabled","title":"enabled","parent":"series-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"series-dataLabels--enabled","fullname":"series.dataLabels.enabled","title":"enabled","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Enable or disable the data labels.","demo":"Data labels enabled","deprecated":false},{"name":"plotOptions-arearange-dataLabels--enabled","fullname":"plotOptions.arearange.dataLabels.enabled","title":"enabled","parent":"plotOptions-arearange-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Enable or disable the data labels.","demo":"Data labels enabled","deprecated":false},{"name":"series-states-hover--enabled","fullname":"series.states.hover.enabled","title":"enabled","parent":"series-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"plotOptions-line-states-hover--enabled","fullname":"plotOptions.line.states.hover.enabled","title":"enabled","parent":"plotOptions-line-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"plotOptions-area-states-hover-marker--enabled","fullname":"plotOptions.area.states.hover.marker.enabled","title":"enabled","parent":"plotOptions-area-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-data-marker-states-select--enabled","fullname":"series.data.marker.states.select.enabled","title":"enabled","parent":"series-data-marker-states-select","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable visible feedback for selection.","demo":"Disabled select state"},{"name":"plotOptions-gauge-states-hover--enabled","fullname":"plotOptions.gauge.states.hover.enabled","title":"enabled","parent":"plotOptions-gauge-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"series-marker--enabled","fullname":"series.marker.enabled","title":"enabled","parent":"series-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-data-marker--enabled","fullname":"series.data.marker.enabled","title":"enabled","parent":"series-data-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-marker-states-select--enabled","fullname":"series.marker.states.select.enabled","title":"enabled","parent":"series-marker-states-select","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable visible feedback for selection.","demo":"Disabled select state"},{"name":"plotOptions-gauge-states-hover-marker--enabled","fullname":"plotOptions.gauge.states.hover.marker.enabled","title":"enabled","parent":"plotOptions-gauge-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-spline-marker-states-select--enabled","fullname":"plotOptions.spline.marker.states.select.enabled","title":"enabled","parent":"plotOptions-spline-marker-states-select","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable visible feedback for selection.","demo":"Disabled select state"},{"name":"plotOptions-waterfall-states-hover-marker--enabled","fullname":"plotOptions.waterfall.states.hover.marker.enabled","title":"enabled","parent":"plotOptions-waterfall-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-dataLabels--enabled","fullname":"series.dataLabels.enabled","title":"enabled","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Enable or disable the data labels.","demo":"Data labels enabled","deprecated":false},{"name":"series-dataLabels--enabled","fullname":"series.dataLabels.enabled","title":"enabled","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Enable or disable the data labels.","demo":"Data labels enabled","deprecated":false},{"name":"series-states-hover-marker--enabled","fullname":"series.states.hover.marker.enabled","title":"enabled","parent":"series-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-bubble-marker-states-hover--enabled","fullname":"plotOptions.bubble.marker.states.hover.enabled","title":"enabled","parent":"plotOptions-bubble-marker-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled hover state"},{"name":"series-states-hover--enabled","fullname":"series.states.hover.enabled","title":"enabled","parent":"series-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"series-states-hover-marker--enabled","fullname":"series.states.hover.marker.enabled","title":"enabled","parent":"series-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-dataLabels--enabled","fullname":"series.dataLabels.enabled","title":"enabled","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Enable or disable the data labels.","demo":"Data labels enabled","deprecated":false},{"name":"plotOptions-series-states-hover--enabled","fullname":"plotOptions.series.states.hover.enabled","title":"enabled","parent":"plotOptions-series-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"series-data-marker-states-hover--enabled","fullname":"series.data.marker.states.hover.enabled","title":"enabled","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled hover state"},{"name":"series-states-hover-marker--enabled","fullname":"series.states.hover.marker.enabled","title":"enabled","parent":"series-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-states-hover--enabled","fullname":"series.states.hover.enabled","title":"enabled","parent":"series-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"plotOptions-scatter-states-hover--enabled","fullname":"plotOptions.scatter.states.hover.enabled","title":"enabled","parent":"plotOptions-scatter-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"plotOptions-areaspline-marker-states-select--enabled","fullname":"plotOptions.areaspline.marker.states.select.enabled","title":"enabled","parent":"plotOptions-areaspline-marker-states-select","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable visible feedback for selection.","demo":"Disabled select state"},{"name":"series-marker-states-select--enabled","fullname":"series.marker.states.select.enabled","title":"enabled","parent":"series-marker-states-select","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable visible feedback for selection.","demo":"Disabled select state"},{"name":"series-marker--enabled","fullname":"series.marker.enabled","title":"enabled","parent":"series-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-dataLabels--enabled","fullname":"series.dataLabels.enabled","title":"enabled","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Enable or disable the data labels.","demo":"Data labels enabled","deprecated":false},{"name":"plotOptions-polygon-states-hover-marker--enabled","fullname":"plotOptions.polygon.states.hover.marker.enabled","title":"enabled","parent":"plotOptions-polygon-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-scatter-marker-states-hover--enabled","fullname":"plotOptions.scatter.marker.states.hover.enabled","title":"enabled","parent":"plotOptions-scatter-marker-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled hover state"},{"name":"legend--enabled","fullname":"legend.enabled","title":"enabled","parent":"legend","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the legend.","demo":"Legend disabled"},{"name":"xAxis-title--enabled","fullname":"xAxis.title.enabled","title":"enabled","parent":"xAxis-title","isParent":false,"returnType":"String","defaults":"middle","description":"Deprecated. Set the text to null to disable the title.","deprecated":true},{"name":"plotOptions-columnrange-dataLabels--enabled","fullname":"plotOptions.columnrange.dataLabels.enabled","title":"enabled","parent":"plotOptions-columnrange-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Enable or disable the data labels.","demo":"Data labels enabled","deprecated":false},{"name":"series-dataLabels--enabled","fullname":"series.dataLabels.enabled","title":"enabled","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.1","description":"Enable or disable the data labels."},{"name":"plotOptions-area-states-hover--enabled","fullname":"plotOptions.area.states.hover.enabled","title":"enabled","parent":"plotOptions-area-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"series-data-marker-states-hover--enabled","fullname":"series.data.marker.states.hover.enabled","title":"enabled","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled hover state"},{"name":"series-data-marker--enabled","fullname":"series.data.marker.enabled","title":"enabled","parent":"series-data-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-areaspline-marker-states-hover--enabled","fullname":"plotOptions.areaspline.marker.states.hover.enabled","title":"enabled","parent":"plotOptions-areaspline-marker-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled hover state"},{"name":"series-states-hover--enabled","fullname":"series.states.hover.enabled","title":"enabled","parent":"series-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"yAxis-stackLabels--enabled","fullname":"yAxis.stackLabels.enabled","title":"enabled","parent":"yAxis-stackLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"2.1.5","description":"Enable or disable the stack total labels.","demo":"Enabled stack total labels"},{"name":"plotOptions-funnel-states-hover-marker--enabled","fullname":"plotOptions.funnel.states.hover.marker.enabled","title":"enabled","parent":"plotOptions-funnel-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-area-dataLabels--enabled","fullname":"plotOptions.area.dataLabels.enabled","title":"enabled","parent":"plotOptions-area-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Enable or disable the data labels.","demo":"Data labels enabled","deprecated":false},{"name":"plotOptions-errorbar-states-hover--enabled","fullname":"plotOptions.errorbar.states.hover.enabled","title":"enabled","parent":"plotOptions-errorbar-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"series-states-hover-marker--enabled","fullname":"series.states.hover.marker.enabled","title":"enabled","parent":"series-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-areaspline-states-hover--enabled","fullname":"plotOptions.areaspline.states.hover.enabled","title":"enabled","parent":"plotOptions-areaspline-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"series-states-hover--enabled","fullname":"series.states.hover.enabled","title":"enabled","parent":"series-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"plotOptions-polygon-states-hover--enabled","fullname":"plotOptions.polygon.states.hover.enabled","title":"enabled","parent":"plotOptions-polygon-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"plotOptions-treemap-states-hover--enabled","fullname":"plotOptions.treemap.states.hover.enabled","title":"enabled","parent":"plotOptions-treemap-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"plotOptions-heatmap-states-hover-marker--enabled","fullname":"plotOptions.heatmap.states.hover.marker.enabled","title":"enabled","parent":"plotOptions-heatmap-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-states-hover-marker--enabled","fullname":"series.states.hover.marker.enabled","title":"enabled","parent":"series-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-marker-states-hover--enabled","fullname":"series.marker.states.hover.enabled","title":"enabled","parent":"series-marker-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled hover state"},{"name":"series-states-hover-marker--enabled","fullname":"series.states.hover.marker.enabled","title":"enabled","parent":"series-states-hover-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-spline-dataLabels--enabled","fullname":"plotOptions.spline.dataLabels.enabled","title":"enabled","parent":"plotOptions-spline-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Enable or disable the data labels.","demo":"Data labels enabled","deprecated":false},{"name":"series-data-marker--enabled","fullname":"series.data.marker.enabled","title":"enabled","parent":"series-data-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"series-dataLabels--enabled","fullname":"series.dataLabels.enabled","title":"enabled","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","since":"2.3.0","description":"Enable or disable the data labels.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-series-marker--enabled","fullname":"plotOptions.series.marker.enabled","title":"enabled","parent":"plotOptions-series-marker","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled markers,\n\t\t\tdisabled in normal state but enabled on hover"},{"name":"plotOptions-funnel-states-hover--enabled","fullname":"plotOptions.funnel.states.hover.enabled","title":"enabled","parent":"plotOptions-funnel-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"series-data-marker-states-hover--enabled","fullname":"series.data.marker.states.hover.enabled","title":"enabled","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","description":"Enable or disable the point marker.","demo":"Disabled hover state"},{"name":"series-states-hover--enabled","fullname":"series.states.hover.enabled","title":"enabled","parent":"series-states-hover","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2","description":"Enable separate styles for the hovered series to visualize that the user hovers either the series itself or the legend.\t\t\t.","demo":"Disable hover on line,\n\t\t\tcolumn,\n\t\t\tpie"},{"name":"series-dataLabels--enabled","fullname":"series.dataLabels.enabled","title":"enabled","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.1","description":"Enable or disable the data labels."},{"name":"plotOptions-pie--endAngle","fullname":"plotOptions.pie.endAngle","title":"endAngle","parent":"plotOptions-pie","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"1.3.6","description":"The end angle of the pie in degrees where 0 is top and 90 is right. Defaults to startAngle plus 360.","demo":"Semi-circle donut","seeAlso":"","deprecated":false},{"name":"series--endAngle","fullname":"series.endAngle","title":"endAngle","parent":"series","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"1.3.6","description":"The end angle of the pie in degrees where 0 is top and 90 is right. Defaults to startAngle plus 360.","demo":"Semi-circle donut","seeAlso":"","deprecated":false},{"name":"pane--endAngle","fullname":"pane.endAngle","title":"endAngle","parent":"pane","isParent":false,"returnType":"Number","since":"2.3.0","description":"The end angle of the polar X axis or gauge value axis, given in degrees where 0 is north. Defaults to startAngle + 360.","demo":"VU-meter with custom start and end angle.","deprecated":false},{"name":"data--endColumn","fullname":"data.endColumn","title":"endColumn","parent":"data","isParent":false,"returnType":"Number","defaults":"","values":"","since":"4.0","description":"In tabular input data, the last column (indexed by 0) to use. Defaults to the last column containing data.","demo":"Limited data","seeAlso":"","deprecated":false},{"name":"yAxis--endOnTick","fullname":"yAxis.endOnTick","title":"endOnTick","parent":"yAxis","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2.0","description":"Whether to force the axis to end on a tick. Use this option with the maxPadding option to control the axis end.","demo":"True by default and\n\t\t\tfalse for Y axis,\n\t\t\tfalse for logarithmic Y axis"},{"name":"xAxis--endOnTick","fullname":"xAxis.endOnTick","title":"endOnTick","parent":"xAxis","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to force the axis to end on a tick. Use this option with the maxPadding option to control the axis end.","demo":"True by default and\n\t\t\tfalse for Y axis"},{"name":"data--endRow","fullname":"data.endRow","title":"endRow","parent":"data","isParent":false,"returnType":"Number","defaults":"","values":"","since":"4.0.4","description":"In tabular input data, the last row (indexed by 0) to use. Defaults to the last row containing data.","demo":"Limited data","seeAlso":"","deprecated":false},{"name":"plotOptions-errorbar","fullname":"plotOptions.errorbar","title":"errorbar","parent":"plotOptions","isParent":true,"returnType":"Object","defaults":"","values":"","since":"3.0","description":"Error bars are a graphical representation of the variability of data and are used on graphs to indicate the error, or uncertainty in a reported measurement. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-data-events","fullname":"series.data.events","title":"events","parent":"series-data","isParent":true,"returnType":"","defaults":"","since":"","description":"Individual point events","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-spline-point-events","fullname":"plotOptions.spline.point.events","title":"events","parent":"plotOptions-spline-point","isParent":true,"description":"Events for each single point"},{"name":"series-data-events","fullname":"series.data.events","title":"events","parent":"series-data","isParent":true,"returnType":"","defaults":"","since":"","description":"Individual point events","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-boxplot-events","fullname":"plotOptions.boxplot.events","title":"events","parent":"plotOptions-boxplot","isParent":true},{"name":"series-point-events","fullname":"series.point.events","title":"events","parent":"series-point","isParent":true,"description":"Events for each single point"},{"name":"series-data-events","fullname":"series.data.events","title":"events","parent":"series-data","isParent":true,"returnType":"","defaults":"","since":"","description":"Individual point events","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-solidgauge-events","fullname":"plotOptions.solidgauge.events","title":"events","parent":"plotOptions-solidgauge","isParent":true},{"name":"series-events","fullname":"series.events","title":"events","parent":"series","isParent":true},{"name":"plotOptions-line-point-events","fullname":"plotOptions.line.point.events","title":"events","parent":"plotOptions-line-point","isParent":true,"description":"Events for each single point"},{"name":"plotOptions-scatter-events","fullname":"plotOptions.scatter.events","title":"events","parent":"plotOptions-scatter","isParent":true},{"name":"series-events","fullname":"series.events","title":"events","parent":"series","isParent":true},{"name":"series-data-events","fullname":"series.data.events","title":"events","parent":"series-data","isParent":true,"returnType":"","defaults":"","since":"","description":"Individual point events","demo":"","seeAlso":"","deprecated":false},{"name":"series-events","fullname":"series.events","title":"events","parent":"series","isParent":true},{"name":"series-point-events","fullname":"series.point.events","title":"events","parent":"series-point","isParent":true,"description":"Events for each single point"},{"name":"series-events","fullname":"series.events","title":"events","parent":"series","isParent":true},{"name":"plotOptions-areaspline-point-events","fullname":"plotOptions.areaspline.point.events","title":"events","parent":"plotOptions-areaspline-point","isParent":true,"description":"Events for each single point"},{"name":"plotOptions-series-point-events","fullname":"plotOptions.series.point.events","title":"events","parent":"plotOptions-series-point","isParent":true,"description":"Events for each single point"},{"name":"plotOptions-columnrange-point-events","fullname":"plotOptions.columnrange.point.events","title":"events","parent":"plotOptions-columnrange-point","isParent":true,"description":"Events for each single point"},{"name":"series-events","fullname":"series.events","title":"events","parent":"series","isParent":true},{"name":"series-point-events","fullname":"series.point.events","title":"events","parent":"series-point","isParent":true,"description":"Events for each single point"},{"name":"plotOptions-gauge-point-events","fullname":"plotOptions.gauge.point.events","title":"events","parent":"plotOptions-gauge-point","isParent":true,"description":"Events for each single point"},{"name":"plotOptions-boxplot-point-events","fullname":"plotOptions.boxplot.point.events","title":"events","parent":"plotOptions-boxplot-point","isParent":true,"description":"Events for each single point"},{"name":"plotOptions-pyramid-point-events","fullname":"plotOptions.pyramid.point.events","title":"events","parent":"plotOptions-pyramid-point","isParent":true,"description":"Events for each single point"},{"name":"plotOptions-funnel-point-events","fullname":"plotOptions.funnel.point.events","title":"events","parent":"plotOptions-funnel-point","isParent":true,"description":"Events for each single point"},{"name":"series-point-events","fullname":"series.point.events","title":"events","parent":"series-point","isParent":true,"description":"Events for each single point"},{"name":"series-point-events","fullname":"series.point.events","title":"events","parent":"series-point","isParent":true,"description":"Events for each single point"},{"name":"series-point-events","fullname":"series.point.events","title":"events","parent":"series-point","isParent":true,"description":"Events for each single point"},{"name":"series-point-events","fullname":"series.point.events","title":"events","parent":"series-point","isParent":true,"description":"Events for each single point"},{"name":"plotOptions-area-events","fullname":"plotOptions.area.events","title":"events","parent":"plotOptions-area","isParent":true},{"name":"plotOptions-areasplinerange-point-events","fullname":"plotOptions.areasplinerange.point.events","title":"events","parent":"plotOptions-areasplinerange-point","isParent":true,"description":"Events for each single point"},{"name":"yAxis-events","fullname":"yAxis.events","title":"events","parent":"yAxis","isParent":true},{"name":"plotOptions-bar-point-events","fullname":"plotOptions.bar.point.events","title":"events","parent":"plotOptions-bar-point","isParent":true,"description":"Events for each single point"},{"name":"xAxis-events","fullname":"xAxis.events","title":"events","parent":"xAxis","isParent":true,"description":"Event handlers for the axis."},{"name":"plotOptions-line-events","fullname":"plotOptions.line.events","title":"events","parent":"plotOptions-line","isParent":true},{"name":"series-point-events","fullname":"series.point.events","title":"events","parent":"series-point","isParent":true,"description":"Events for each single point"},{"name":"series-events","fullname":"series.events","title":"events","parent":"series","isParent":true},{"name":"series-data-events","fullname":"series.data.events","title":"events","parent":"series-data","isParent":true,"returnType":"","defaults":"","since":"","description":"Individual point events","demo":"","seeAlso":"","deprecated":false},{"name":"series-point-events","fullname":"series.point.events","title":"events","parent":"series-point","isParent":true,"description":"Events for each single point"},{"name":"yAxis-plotBands--events","fullname":"yAxis.plotBands.events","title":"events","parent":"yAxis-plotBands","isParent":false,"returnType":"Object","context":"PlotLineOrBand","since":"1.2","description":"An object defining mouse events for the plot band. Supported properties are click, mouseover, mouseout, mousemove.","demo":"Mouse events demonstrated","deprecated":false},{"name":"series-events","fullname":"series.events","title":"events","parent":"series","isParent":true},{"name":"series-data-events","fullname":"series.data.events","title":"events","parent":"series-data","isParent":true,"returnType":"","defaults":"","since":"","description":"Individual point events","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-column-events","fullname":"plotOptions.column.events","title":"events","parent":"plotOptions-column","isParent":true},{"name":"plotOptions-bubble-point-events","fullname":"plotOptions.bubble.point.events","title":"events","parent":"plotOptions-bubble-point","isParent":true,"description":"Events for each single point"},{"name":"series-events","fullname":"series.events","title":"events","parent":"series","isParent":true},{"name":"yAxis-plotLines--events","fullname":"yAxis.plotLines.events","title":"events","parent":"yAxis-plotLines","isParent":false,"returnType":"Object","context":"PlotLineOrBand","since":"1.2","description":"An object defining mouse events for the plot line. Supported properties are click, mouseover, mouseout, mousemove.","demo":"Mouse events demonstrated","deprecated":false},{"name":"plotOptions-pie-point-events","fullname":"plotOptions.pie.point.events","title":"events","parent":"plotOptions-pie-point","isParent":true,"description":"Events for each single point"},{"name":"plotOptions-funnel-events","fullname":"plotOptions.funnel.events","title":"events","parent":"plotOptions-funnel","isParent":true},{"name":"plotOptions-arearange-events","fullname":"plotOptions.arearange.events","title":"events","parent":"plotOptions-arearange","isParent":true},{"name":"series-events","fullname":"series.events","title":"events","parent":"series","isParent":true},{"name":"plotOptions-arearange-point-events","fullname":"plotOptions.arearange.point.events","title":"events","parent":"plotOptions-arearange-point","isParent":true,"description":"Events for each single point"},{"name":"plotOptions-bubble-events","fullname":"plotOptions.bubble.events","title":"events","parent":"plotOptions-bubble","isParent":true},{"name":"series-data-events","fullname":"series.data.events","title":"events","parent":"series-data","isParent":true,"returnType":"","defaults":"","since":"","description":"Individual point events","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-heatmap-events","fullname":"plotOptions.heatmap.events","title":"events","parent":"plotOptions-heatmap","isParent":true},{"name":"series-data-events","fullname":"series.data.events","title":"events","parent":"series-data","isParent":true,"returnType":"","defaults":"","since":"","description":"Individual point events","demo":"","seeAlso":"","deprecated":false},{"name":"series-events","fullname":"series.events","title":"events","parent":"series","isParent":true},{"name":"plotOptions-waterfall-events","fullname":"plotOptions.waterfall.events","title":"events","parent":"plotOptions-waterfall","isParent":true},{"name":"series-point-events","fullname":"series.point.events","title":"events","parent":"series-point","isParent":true,"description":"Events for each single point"},{"name":"plotOptions-pie-events","fullname":"plotOptions.pie.events","title":"events","parent":"plotOptions-pie","isParent":true},{"name":"series-point-events","fullname":"series.point.events","title":"events","parent":"series-point","isParent":true,"description":"Events for each single point"},{"name":"series-point-events","fullname":"series.point.events","title":"events","parent":"series-point","isParent":true,"description":"Events for each single point"},{"name":"series-data-events","fullname":"series.data.events","title":"events","parent":"series-data","isParent":true,"returnType":"","defaults":"","since":"","description":"Individual point events","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-areasplinerange-events","fullname":"plotOptions.areasplinerange.events","title":"events","parent":"plotOptions-areasplinerange","isParent":true},{"name":"series-data-events","fullname":"series.data.events","title":"events","parent":"series-data","isParent":true,"returnType":"","defaults":"","since":"","description":"Individual point events","demo":"","seeAlso":"","deprecated":false},{"name":"series-data-events","fullname":"series.data.events","title":"events","parent":"series-data","isParent":true,"returnType":"","defaults":"","since":"","description":"Individual point events","demo":"","seeAlso":"","deprecated":false},{"name":"series-data-events","fullname":"series.data.events","title":"events","parent":"series-data","isParent":true,"returnType":"","defaults":"","since":"","description":"Individual point events","demo":"","seeAlso":"","deprecated":false},{"name":"series-point-events","fullname":"series.point.events","title":"events","parent":"series-point","isParent":true,"description":"Events for each single point"},{"name":"chart-events","fullname":"chart.events","title":"events","parent":"chart","isParent":true,"description":"Event listeners for the chart."},{"name":"series-events","fullname":"series.events","title":"events","parent":"series","isParent":true},{"name":"plotOptions-treemap-point-events","fullname":"plotOptions.treemap.point.events","title":"events","parent":"plotOptions-treemap-point","isParent":true,"description":"Events for each single point"},{"name":"plotOptions-errorbar-point-events","fullname":"plotOptions.errorbar.point.events","title":"events","parent":"plotOptions-errorbar-point","isParent":true,"description":"Events for each single point"},{"name":"series-data-events","fullname":"series.data.events","title":"events","parent":"series-data","isParent":true,"returnType":"","defaults":"","since":"","description":"Individual point events","demo":"","seeAlso":"","deprecated":false},{"name":"series-events","fullname":"series.events","title":"events","parent":"series","isParent":true},{"name":"plotOptions-pyramid-events","fullname":"plotOptions.pyramid.events","title":"events","parent":"plotOptions-pyramid","isParent":true},{"name":"series-data-events","fullname":"series.data.events","title":"events","parent":"series-data","isParent":true,"returnType":"","defaults":"","since":"","description":"Individual point events","demo":"","seeAlso":"","deprecated":false},{"name":"series-point-events","fullname":"series.point.events","title":"events","parent":"series-point","isParent":true,"description":"Events for each single point"},{"name":"series-data-events","fullname":"series.data.events","title":"events","parent":"series-data","isParent":true,"returnType":"","defaults":"","since":"","description":"Individual point events","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline-events","fullname":"plotOptions.areaspline.events","title":"events","parent":"plotOptions-areaspline","isParent":true},{"name":"series-events","fullname":"series.events","title":"events","parent":"series","isParent":true},{"name":"xAxis-plotBands--events","fullname":"xAxis.plotBands.events","title":"events","parent":"xAxis-plotBands","isParent":false,"returnType":"Object","context":"PlotLineOrBand","since":"1.2","description":"An object defining mouse events for the plot band. Supported properties are click, mouseover, mouseout, mousemove.","demo":"Mouse events demonstrated","deprecated":false},{"name":"series-events","fullname":"series.events","title":"events","parent":"series","isParent":true},{"name":"series-point-events","fullname":"series.point.events","title":"events","parent":"series-point","isParent":true,"description":"Events for each single point"},{"name":"series-data-events","fullname":"series.data.events","title":"events","parent":"series-data","isParent":true,"returnType":"","defaults":"","since":"","description":"Individual point events","demo":"","seeAlso":"","deprecated":false},{"name":"series-data-events","fullname":"series.data.events","title":"events","parent":"series-data","isParent":true,"returnType":"","defaults":"","since":"","description":"Individual point events","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon-events","fullname":"plotOptions.polygon.events","title":"events","parent":"plotOptions-polygon","isParent":true},{"name":"series-point-events","fullname":"series.point.events","title":"events","parent":"series-point","isParent":true,"description":"Events for each single point"},{"name":"plotOptions-spline-events","fullname":"plotOptions.spline.events","title":"events","parent":"plotOptions-spline","isParent":true},{"name":"plotOptions-waterfall-point-events","fullname":"plotOptions.waterfall.point.events","title":"events","parent":"plotOptions-waterfall-point","isParent":true,"description":"Events for each single point"},{"name":"plotOptions-series-events","fullname":"plotOptions.series.events","title":"events","parent":"plotOptions-series","isParent":true},{"name":"plotOptions-columnrange-events","fullname":"plotOptions.columnrange.events","title":"events","parent":"plotOptions-columnrange","isParent":true},{"name":"series-events","fullname":"series.events","title":"events","parent":"series","isParent":true},{"name":"plotOptions-errorbar-events","fullname":"plotOptions.errorbar.events","title":"events","parent":"plotOptions-errorbar","isParent":true},{"name":"series-point-events","fullname":"series.point.events","title":"events","parent":"series-point","isParent":true,"description":"Events for each single point"},{"name":"xAxis-plotLines--events","fullname":"xAxis.plotLines.events","title":"events","parent":"xAxis-plotLines","isParent":false,"returnType":"Object","context":"PlotLineOrBand","since":"1.2","description":"An object defining mouse events for the plot line. Supported properties are click, mouseover, mouseout, mousemove.","demo":"Mouse events demonstrated","deprecated":false},{"name":"plotOptions-scatter-point-events","fullname":"plotOptions.scatter.point.events","title":"events","parent":"plotOptions-scatter-point","isParent":true,"description":"Events for each single point"},{"name":"series-data-events","fullname":"series.data.events","title":"events","parent":"series-data","isParent":true,"returnType":"","defaults":"","since":"","description":"Individual point events","demo":"","seeAlso":"","deprecated":false},{"name":"series-point-events","fullname":"series.point.events","title":"events","parent":"series-point","isParent":true,"description":"Events for each single point"},{"name":"series-point-events","fullname":"series.point.events","title":"events","parent":"series-point","isParent":true,"description":"Events for each single point"},{"name":"series-point-events","fullname":"series.point.events","title":"events","parent":"series-point","isParent":true,"description":"Events for each single point"},{"name":"series-events","fullname":"series.events","title":"events","parent":"series","isParent":true},{"name":"plotOptions-bar-events","fullname":"plotOptions.bar.events","title":"events","parent":"plotOptions-bar","isParent":true},{"name":"series-data-events","fullname":"series.data.events","title":"events","parent":"series-data","isParent":true,"returnType":"","defaults":"","since":"","description":"Individual point events","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-treemap-events","fullname":"plotOptions.treemap.events","title":"events","parent":"plotOptions-treemap","isParent":true},{"name":"series-events","fullname":"series.events","title":"events","parent":"series","isParent":true},{"name":"plotOptions-heatmap-point-events","fullname":"plotOptions.heatmap.point.events","title":"events","parent":"plotOptions-heatmap-point","isParent":true,"description":"Events for each single point"},{"name":"series-events","fullname":"series.events","title":"events","parent":"series","isParent":true},{"name":"plotOptions-gauge-events","fullname":"plotOptions.gauge.events","title":"events","parent":"plotOptions-gauge","isParent":true},{"name":"series-events","fullname":"series.events","title":"events","parent":"series","isParent":true},{"name":"plotOptions-solidgauge-point-events","fullname":"plotOptions.solidgauge.point.events","title":"events","parent":"plotOptions-solidgauge-point","isParent":true,"description":"Events for each single point"},{"name":"plotOptions-area-point-events","fullname":"plotOptions.area.point.events","title":"events","parent":"plotOptions-area-point","isParent":true,"description":"Events for each single point"},{"name":"series-data-events","fullname":"series.data.events","title":"events","parent":"series-data","isParent":true,"returnType":"","defaults":"","since":"","description":"Individual point events","demo":"","seeAlso":"","deprecated":false},{"name":"series-events","fullname":"series.events","title":"events","parent":"series","isParent":true},{"name":"series-events","fullname":"series.events","title":"events","parent":"series","isParent":true},{"name":"series-data-events","fullname":"series.data.events","title":"events","parent":"series-data","isParent":true,"returnType":"","defaults":"","since":"","description":"Individual point events","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon-point-events","fullname":"plotOptions.polygon.point.events","title":"events","parent":"plotOptions-polygon-point","isParent":true,"description":"Events for each single point"},{"name":"series-data-events","fullname":"series.data.events","title":"events","parent":"series-data","isParent":true,"returnType":"","defaults":"","since":"","description":"Individual point events","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-column-point-events","fullname":"plotOptions.column.point.events","title":"events","parent":"plotOptions-column-point","isParent":true,"description":"Events for each single point"},{"name":"series-events","fullname":"series.events","title":"events","parent":"series","isParent":true},{"name":"series-point-events","fullname":"series.point.events","title":"events","parent":"series-point","isParent":true,"description":"Events for each single point"},{"name":"series-point-events","fullname":"series.point.events","title":"events","parent":"series-point","isParent":true,"description":"Events for each single point"},{"name":"exporting","fullname":"exporting","title":"exporting","isParent":true,"description":"Options for the exporting module. For an overview on the matter, see the docs.","deprecated":false},{"name":"exporting--filename","fullname":"exporting.filename","title":"filename","parent":"exporting","isParent":false,"returnType":"String","defaults":"chart","since":"2.0","description":"The filename, without extension, to use for the exported chart.","demo":"Custom file name","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid-states-hover-marker--fillColor","fullname":"plotOptions.pyramid.states.hover.marker.fillColor","title":"fillColor","parent":"plotOptions-pyramid-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-area-zones--fillColor","fullname":"plotOptions.area.zones.fillColor","title":"fillColor","parent":"plotOptions-area-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"series-zones--fillColor","fullname":"series.zones.fillColor","title":"fillColor","parent":"series-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"series-zones--fillColor","fullname":"series.zones.fillColor","title":"fillColor","parent":"series-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"plotOptions-series-marker-states-select--fillColor","fullname":"plotOptions.series.marker.states.select.fillColor","title":"fillColor","parent":"plotOptions-series-marker-states-select","isParent":false,"returnType":"Color","description":"The fill color of the point marker.","demo":"Solid red discs for selected points","deprecated":false},{"name":"plotOptions-bubble-zones--fillColor","fullname":"plotOptions.bubble.zones.fillColor","title":"fillColor","parent":"plotOptions-bubble-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"series-zones--fillColor","fullname":"series.zones.fillColor","title":"fillColor","parent":"series-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"series-data-marker-states-hover--fillColor","fullname":"series.data.marker.states.hover.fillColor","title":"fillColor","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"The fill color of the marker in hover state.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline-marker-states-hover--fillColor","fullname":"plotOptions.areaspline.marker.states.hover.fillColor","title":"fillColor","parent":"plotOptions-areaspline-marker-states-hover","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"The fill color of the marker in hover state.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-series-zones--fillColor","fullname":"plotOptions.series.zones.fillColor","title":"fillColor","parent":"plotOptions-series-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"plotOptions-columnrange-states-hover-marker--fillColor","fullname":"plotOptions.columnrange.states.hover.marker.fillColor","title":"fillColor","parent":"plotOptions-columnrange-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-marker--fillColor","fullname":"series.marker.fillColor","title":"fillColor","parent":"series-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-pie-states-hover-marker--fillColor","fullname":"plotOptions.pie.states.hover.marker.fillColor","title":"fillColor","parent":"plotOptions-pie-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-states-hover-marker--fillColor","fullname":"series.states.hover.marker.fillColor","title":"fillColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series--fillColor","fullname":"series.fillColor","title":"fillColor","parent":"series","isParent":false,"returnType":"Color","description":"Fill color or gradient for the area. When null, the series' color is used with the series' fillOpacity.","demo":"Null by default,\n\t\t\tgradient"},{"name":"series-marker-states-select--fillColor","fullname":"series.marker.states.select.fillColor","title":"fillColor","parent":"series-marker-states-select","isParent":false,"returnType":"Color","description":"The fill color of the point marker.","demo":"Solid red discs for selected points","deprecated":false},{"name":"series-zones--fillColor","fullname":"series.zones.fillColor","title":"fillColor","parent":"series-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"series-states-hover-marker--fillColor","fullname":"series.states.hover.marker.fillColor","title":"fillColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series--fillColor","fullname":"series.fillColor","title":"fillColor","parent":"series","isParent":false,"returnType":"Color","description":"Fill color or gradient for the area. When null, the series' color is used with the series' fillOpacity.","demo":"Null by default,\n\t\t\tgradient"},{"name":"plotOptions-pie-zones--fillColor","fullname":"plotOptions.pie.zones.fillColor","title":"fillColor","parent":"plotOptions-pie-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"plotOptions-series-marker-states-hover--fillColor","fullname":"plotOptions.series.marker.states.hover.fillColor","title":"fillColor","parent":"plotOptions-series-marker-states-hover","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"The fill color of the marker in hover state.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline-marker-states-select--fillColor","fullname":"plotOptions.areaspline.marker.states.select.fillColor","title":"fillColor","parent":"plotOptions-areaspline-marker-states-select","isParent":false,"returnType":"Color","description":"The fill color of the point marker.","demo":"Solid red discs for selected points","deprecated":false},{"name":"plotOptions-areaspline-states-hover-marker--fillColor","fullname":"plotOptions.areaspline.states.hover.marker.fillColor","title":"fillColor","parent":"plotOptions-areaspline-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-boxplot-states-hover-marker--fillColor","fullname":"plotOptions.boxplot.states.hover.marker.fillColor","title":"fillColor","parent":"plotOptions-boxplot-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-states-hover-marker--fillColor","fullname":"series.states.hover.marker.fillColor","title":"fillColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-states-hover-marker--fillColor","fullname":"series.states.hover.marker.fillColor","title":"fillColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-marker-states-hover--fillColor","fullname":"series.marker.states.hover.fillColor","title":"fillColor","parent":"series-marker-states-hover","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"The fill color of the marker in hover state.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid-zones--fillColor","fullname":"plotOptions.pyramid.zones.fillColor","title":"fillColor","parent":"plotOptions-pyramid-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"series-states-hover-marker--fillColor","fullname":"series.states.hover.marker.fillColor","title":"fillColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-polygon-marker-states-select--fillColor","fullname":"plotOptions.polygon.marker.states.select.fillColor","title":"fillColor","parent":"plotOptions-polygon-marker-states-select","isParent":false,"returnType":"Color","description":"The fill color of the point marker.","demo":"Solid red discs for selected points","deprecated":false},{"name":"series-states-hover-marker--fillColor","fullname":"series.states.hover.marker.fillColor","title":"fillColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-funnel-zones--fillColor","fullname":"plotOptions.funnel.zones.fillColor","title":"fillColor","parent":"plotOptions-funnel-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"plotOptions-boxplot-zones--fillColor","fullname":"plotOptions.boxplot.zones.fillColor","title":"fillColor","parent":"plotOptions-boxplot-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"plotOptions-series-states-hover-marker--fillColor","fullname":"plotOptions.series.states.hover.marker.fillColor","title":"fillColor","parent":"plotOptions-series-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-states-hover-marker--fillColor","fullname":"series.states.hover.marker.fillColor","title":"fillColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-states-hover-marker--fillColor","fullname":"series.states.hover.marker.fillColor","title":"fillColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-zones--fillColor","fullname":"series.zones.fillColor","title":"fillColor","parent":"series-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"series-data-marker--fillColor","fullname":"series.data.marker.fillColor","title":"fillColor","parent":"series-data-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-states-hover-marker--fillColor","fullname":"series.states.hover.marker.fillColor","title":"fillColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-zones--fillColor","fullname":"series.zones.fillColor","title":"fillColor","parent":"series-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"plotOptions-bubble-marker-states-select--fillColor","fullname":"plotOptions.bubble.marker.states.select.fillColor","title":"fillColor","parent":"plotOptions-bubble-marker-states-select","isParent":false,"returnType":"Color","description":"The fill color of the point marker.","demo":"Solid red discs for selected points","deprecated":false},{"name":"series--fillColor","fullname":"series.fillColor","title":"fillColor","parent":"series","isParent":false,"returnType":"Color","description":"Fill color or gradient for the area. When null, the series' color is used with the series' fillOpacity.","demo":"Null by default,\n\t\t\tgradient"},{"name":"series-marker-states-hover--fillColor","fullname":"series.marker.states.hover.fillColor","title":"fillColor","parent":"series-marker-states-hover","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"The fill color of the marker in hover state.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-waterfall-states-hover-marker--fillColor","fullname":"plotOptions.waterfall.states.hover.marker.fillColor","title":"fillColor","parent":"plotOptions-waterfall-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-polygon-zones--fillColor","fullname":"plotOptions.polygon.zones.fillColor","title":"fillColor","parent":"plotOptions-polygon-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"plotOptions-scatter-zones--fillColor","fullname":"plotOptions.scatter.zones.fillColor","title":"fillColor","parent":"plotOptions-scatter-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"series-zones--fillColor","fullname":"series.zones.fillColor","title":"fillColor","parent":"series-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"series-data-marker-states-select--fillColor","fullname":"series.data.marker.states.select.fillColor","title":"fillColor","parent":"series-data-marker-states-select","isParent":false,"returnType":"Color","description":"The fill color of the point marker.","demo":"Solid red discs for selected points","deprecated":false},{"name":"series-data-marker-states-hover--fillColor","fullname":"series.data.marker.states.hover.fillColor","title":"fillColor","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"The fill color of the marker in hover state.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-area-states-hover-marker--fillColor","fullname":"plotOptions.area.states.hover.marker.fillColor","title":"fillColor","parent":"plotOptions-area-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-data-marker--fillColor","fullname":"series.data.marker.fillColor","title":"fillColor","parent":"series-data-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-data-marker-states-hover--fillColor","fullname":"series.data.marker.states.hover.fillColor","title":"fillColor","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"The fill color of the marker in hover state.","demo":"","seeAlso":"","deprecated":false},{"name":"series-data-marker-states-select--fillColor","fullname":"series.data.marker.states.select.fillColor","title":"fillColor","parent":"series-data-marker-states-select","isParent":false,"returnType":"Color","description":"The fill color of the point marker.","demo":"Solid red discs for selected points","deprecated":false},{"name":"plotOptions-line-marker-states-select--fillColor","fullname":"plotOptions.line.marker.states.select.fillColor","title":"fillColor","parent":"plotOptions-line-marker-states-select","isParent":false,"returnType":"Color","description":"The fill color of the point marker.","demo":"Solid red discs for selected points","deprecated":false},{"name":"series-data-marker-states-select--fillColor","fullname":"series.data.marker.states.select.fillColor","title":"fillColor","parent":"series-data-marker-states-select","isParent":false,"returnType":"Color","description":"The fill color of the point marker.","demo":"Solid red discs for selected points","deprecated":false},{"name":"series-zones--fillColor","fullname":"series.zones.fillColor","title":"fillColor","parent":"series-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"plotOptions-bar-zones--fillColor","fullname":"plotOptions.bar.zones.fillColor","title":"fillColor","parent":"plotOptions-bar-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"series-marker-states-hover--fillColor","fullname":"series.marker.states.hover.fillColor","title":"fillColor","parent":"series-marker-states-hover","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"The fill color of the marker in hover state.","demo":"","seeAlso":"","deprecated":false},{"name":"series-zones--fillColor","fullname":"series.zones.fillColor","title":"fillColor","parent":"series-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"plotOptions-line-marker--fillColor","fullname":"plotOptions.line.marker.fillColor","title":"fillColor","parent":"plotOptions-line-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-boxplot--fillColor","fullname":"plotOptions.boxplot.fillColor","title":"fillColor","parent":"plotOptions-boxplot","isParent":false,"returnType":"Color","defaults":"#FFFFFF","values":"","since":"3.0","description":"The fill color of the box.","demo":"Box plot styling","seeAlso":"","deprecated":false},{"name":"plotOptions-area-marker-states-hover--fillColor","fullname":"plotOptions.area.marker.states.hover.fillColor","title":"fillColor","parent":"plotOptions-area-marker-states-hover","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"The fill color of the marker in hover state.","demo":"","seeAlso":"","deprecated":false},{"name":"series-marker-states-select--fillColor","fullname":"series.marker.states.select.fillColor","title":"fillColor","parent":"series-marker-states-select","isParent":false,"returnType":"Color","description":"The fill color of the point marker.","demo":"Solid red discs for selected points","deprecated":false},{"name":"series-zones--fillColor","fullname":"series.zones.fillColor","title":"fillColor","parent":"series-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"series-data-marker-states-select--fillColor","fullname":"series.data.marker.states.select.fillColor","title":"fillColor","parent":"series-data-marker-states-select","isParent":false,"returnType":"Color","description":"The fill color of the point marker.","demo":"Solid red discs for selected points","deprecated":false},{"name":"plotOptions-spline-marker-states-select--fillColor","fullname":"plotOptions.spline.marker.states.select.fillColor","title":"fillColor","parent":"plotOptions-spline-marker-states-select","isParent":false,"returnType":"Color","description":"The fill color of the point marker.","demo":"Solid red discs for selected points","deprecated":false},{"name":"series-states-hover-marker--fillColor","fullname":"series.states.hover.marker.fillColor","title":"fillColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-data-marker--fillColor","fullname":"series.data.marker.fillColor","title":"fillColor","parent":"series-data-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-data-marker-states-select--fillColor","fullname":"series.data.marker.states.select.fillColor","title":"fillColor","parent":"series-data-marker-states-select","isParent":false,"returnType":"Color","description":"The fill color of the point marker.","demo":"Solid red discs for selected points","deprecated":false},{"name":"series-states-hover-marker--fillColor","fullname":"series.states.hover.marker.fillColor","title":"fillColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-series-marker--fillColor","fullname":"plotOptions.series.marker.fillColor","title":"fillColor","parent":"plotOptions-series-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-states-hover-marker--fillColor","fullname":"series.states.hover.marker.fillColor","title":"fillColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-areasplinerange--fillColor","fullname":"plotOptions.areasplinerange.fillColor","title":"fillColor","parent":"plotOptions-areasplinerange","isParent":false,"returnType":"Color","description":"Fill color or gradient for the area. When null, the series' color is used with the series' fillOpacity.","demo":"Null by default,\n\t\t\tgradient"},{"name":"plotOptions-scatter-marker-states-select--fillColor","fullname":"plotOptions.scatter.marker.states.select.fillColor","title":"fillColor","parent":"plotOptions-scatter-marker-states-select","isParent":false,"returnType":"Color","description":"The fill color of the point marker.","demo":"Solid red discs for selected points","deprecated":false},{"name":"series-zones--fillColor","fullname":"series.zones.fillColor","title":"fillColor","parent":"series-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"plotOptions-bar-states-hover-marker--fillColor","fullname":"plotOptions.bar.states.hover.marker.fillColor","title":"fillColor","parent":"plotOptions-bar-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-marker-states-hover--fillColor","fullname":"series.marker.states.hover.fillColor","title":"fillColor","parent":"series-marker-states-hover","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"The fill color of the marker in hover state.","demo":"","seeAlso":"","deprecated":false},{"name":"series-marker--fillColor","fullname":"series.marker.fillColor","title":"fillColor","parent":"series-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-arearange--fillColor","fullname":"plotOptions.arearange.fillColor","title":"fillColor","parent":"plotOptions-arearange","isParent":false,"returnType":"Color","description":"Fill color or gradient for the area. When null, the series' color is used with the series' fillOpacity.","demo":"Null by default,\n\t\t\tgradient"},{"name":"series-marker--fillColor","fullname":"series.marker.fillColor","title":"fillColor","parent":"series-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-states-hover-marker--fillColor","fullname":"series.states.hover.marker.fillColor","title":"fillColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-marker-states-hover--fillColor","fullname":"series.marker.states.hover.fillColor","title":"fillColor","parent":"series-marker-states-hover","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"The fill color of the marker in hover state.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-treemap-states-hover-marker--fillColor","fullname":"plotOptions.treemap.states.hover.marker.fillColor","title":"fillColor","parent":"plotOptions-treemap-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-polygon-states-hover-marker--fillColor","fullname":"plotOptions.polygon.states.hover.marker.fillColor","title":"fillColor","parent":"plotOptions-polygon-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-spline-marker-states-hover--fillColor","fullname":"plotOptions.spline.marker.states.hover.fillColor","title":"fillColor","parent":"plotOptions-spline-marker-states-hover","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"The fill color of the marker in hover state.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--fillColor","fullname":"series.states.hover.marker.fillColor","title":"fillColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-bubble-states-hover-marker--fillColor","fullname":"plotOptions.bubble.states.hover.marker.fillColor","title":"fillColor","parent":"plotOptions-bubble-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-columnrange-zones--fillColor","fullname":"plotOptions.columnrange.zones.fillColor","title":"fillColor","parent":"plotOptions-columnrange-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"series-data-marker--fillColor","fullname":"series.data.marker.fillColor","title":"fillColor","parent":"series-data-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-marker-states-select--fillColor","fullname":"series.marker.states.select.fillColor","title":"fillColor","parent":"series-marker-states-select","isParent":false,"returnType":"Color","description":"The fill color of the point marker.","demo":"Solid red discs for selected points","deprecated":false},{"name":"series-zones--fillColor","fullname":"series.zones.fillColor","title":"fillColor","parent":"series-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"plotOptions-solidgauge-zones--fillColor","fullname":"plotOptions.solidgauge.zones.fillColor","title":"fillColor","parent":"plotOptions-solidgauge-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"plotOptions-line-marker-states-hover--fillColor","fullname":"plotOptions.line.marker.states.hover.fillColor","title":"fillColor","parent":"plotOptions-line-marker-states-hover","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"The fill color of the marker in hover state.","demo":"","seeAlso":"","deprecated":false},{"name":"series-marker-states-select--fillColor","fullname":"series.marker.states.select.fillColor","title":"fillColor","parent":"series-marker-states-select","isParent":false,"returnType":"Color","description":"The fill color of the point marker.","demo":"Solid red discs for selected points","deprecated":false},{"name":"plotOptions-area-marker--fillColor","fullname":"plotOptions.area.marker.fillColor","title":"fillColor","parent":"plotOptions-area-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-states-hover-marker--fillColor","fullname":"series.states.hover.marker.fillColor","title":"fillColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-marker--fillColor","fullname":"series.marker.fillColor","title":"fillColor","parent":"series-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-data-marker-states-hover--fillColor","fullname":"series.data.marker.states.hover.fillColor","title":"fillColor","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"The fill color of the marker in hover state.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon-marker--fillColor","fullname":"plotOptions.polygon.marker.fillColor","title":"fillColor","parent":"plotOptions-polygon-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-line-zones--fillColor","fullname":"plotOptions.line.zones.fillColor","title":"fillColor","parent":"plotOptions-line-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"plotOptions-solidgauge-states-hover-marker--fillColor","fullname":"plotOptions.solidgauge.states.hover.marker.fillColor","title":"fillColor","parent":"plotOptions-solidgauge-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-arearange-states-hover-marker--fillColor","fullname":"plotOptions.arearange.states.hover.marker.fillColor","title":"fillColor","parent":"plotOptions-arearange-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-areasplinerange-zones--fillColor","fullname":"plotOptions.areasplinerange.zones.fillColor","title":"fillColor","parent":"plotOptions-areasplinerange-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"plotOptions-areaspline-zones--fillColor","fullname":"plotOptions.areaspline.zones.fillColor","title":"fillColor","parent":"plotOptions-areaspline-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"plotOptions-gauge-zones--fillColor","fullname":"plotOptions.gauge.zones.fillColor","title":"fillColor","parent":"plotOptions-gauge-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"series-states-hover-marker--fillColor","fullname":"series.states.hover.marker.fillColor","title":"fillColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-line-states-hover-marker--fillColor","fullname":"plotOptions.line.states.hover.marker.fillColor","title":"fillColor","parent":"plotOptions-line-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-errorbar-zones--fillColor","fullname":"plotOptions.errorbar.zones.fillColor","title":"fillColor","parent":"plotOptions-errorbar-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"series-states-hover-marker--fillColor","fullname":"series.states.hover.marker.fillColor","title":"fillColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-marker--fillColor","fullname":"series.marker.fillColor","title":"fillColor","parent":"series-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-zones--fillColor","fullname":"series.zones.fillColor","title":"fillColor","parent":"series-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"series-states-hover-marker--fillColor","fullname":"series.states.hover.marker.fillColor","title":"fillColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-scatter-states-hover-marker--fillColor","fullname":"plotOptions.scatter.states.hover.marker.fillColor","title":"fillColor","parent":"plotOptions-scatter-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-column-states-hover-marker--fillColor","fullname":"plotOptions.column.states.hover.marker.fillColor","title":"fillColor","parent":"plotOptions-column-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-data-marker-states-hover--fillColor","fullname":"series.data.marker.states.hover.fillColor","title":"fillColor","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"The fill color of the marker in hover state.","demo":"","seeAlso":"","deprecated":false},{"name":"series-data-marker--fillColor","fullname":"series.data.marker.fillColor","title":"fillColor","parent":"series-data-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-bubble-marker-states-hover--fillColor","fullname":"plotOptions.bubble.marker.states.hover.fillColor","title":"fillColor","parent":"plotOptions-bubble-marker-states-hover","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"The fill color of the marker in hover state.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-spline-states-hover-marker--fillColor","fullname":"plotOptions.spline.states.hover.marker.fillColor","title":"fillColor","parent":"plotOptions-spline-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-spline-marker--fillColor","fullname":"plotOptions.spline.marker.fillColor","title":"fillColor","parent":"plotOptions-spline-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-bubble-marker--fillColor","fullname":"plotOptions.bubble.marker.fillColor","title":"fillColor","parent":"plotOptions-bubble-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-heatmap-states-hover-marker--fillColor","fullname":"plotOptions.heatmap.states.hover.marker.fillColor","title":"fillColor","parent":"plotOptions-heatmap-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-marker-states-hover--fillColor","fullname":"series.marker.states.hover.fillColor","title":"fillColor","parent":"series-marker-states-hover","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"The fill color of the marker in hover state.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-area--fillColor","fullname":"plotOptions.area.fillColor","title":"fillColor","parent":"plotOptions-area","isParent":false,"returnType":"Color","description":"Fill color or gradient for the area. When null, the series' color is used with the series' fillOpacity.","demo":"Null by default,\n\t\t\tgradient"},{"name":"plotOptions-areaspline--fillColor","fullname":"plotOptions.areaspline.fillColor","title":"fillColor","parent":"plotOptions-areaspline","isParent":false,"returnType":"Color","description":"Fill color or gradient for the area. When null, the series' color is used with the series' fillOpacity.","demo":"Null by default,\n\t\t\tgradient"},{"name":"series-data-marker-states-hover--fillColor","fullname":"series.data.marker.states.hover.fillColor","title":"fillColor","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"The fill color of the marker in hover state.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-treemap-zones--fillColor","fullname":"plotOptions.treemap.zones.fillColor","title":"fillColor","parent":"plotOptions-treemap-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"plotOptions-waterfall-zones--fillColor","fullname":"plotOptions.waterfall.zones.fillColor","title":"fillColor","parent":"plotOptions-waterfall-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"series-zones--fillColor","fullname":"series.zones.fillColor","title":"fillColor","parent":"series-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"series--fillColor","fullname":"series.fillColor","title":"fillColor","parent":"series","isParent":false,"returnType":"Color","description":"Fill color or gradient for the area. When null, the series' color is used with the series' fillOpacity.","demo":"Null by default,\n\t\t\tgradient"},{"name":"plotOptions-polygon-marker-states-hover--fillColor","fullname":"plotOptions.polygon.marker.states.hover.fillColor","title":"fillColor","parent":"plotOptions-polygon-marker-states-hover","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"The fill color of the marker in hover state.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-scatter-marker-states-hover--fillColor","fullname":"plotOptions.scatter.marker.states.hover.fillColor","title":"fillColor","parent":"plotOptions-scatter-marker-states-hover","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"The fill color of the marker in hover state.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--fillColor","fullname":"series.states.hover.marker.fillColor","title":"fillColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-marker-states-hover--fillColor","fullname":"series.marker.states.hover.fillColor","title":"fillColor","parent":"series-marker-states-hover","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"The fill color of the marker in hover state.","demo":"","seeAlso":"","deprecated":false},{"name":"series-marker-states-select--fillColor","fullname":"series.marker.states.select.fillColor","title":"fillColor","parent":"series-marker-states-select","isParent":false,"returnType":"Color","description":"The fill color of the point marker.","demo":"Solid red discs for selected points","deprecated":false},{"name":"plotOptions-area-marker-states-select--fillColor","fullname":"plotOptions.area.marker.states.select.fillColor","title":"fillColor","parent":"plotOptions-area-marker-states-select","isParent":false,"returnType":"Color","description":"The fill color of the point marker.","demo":"Solid red discs for selected points","deprecated":false},{"name":"series-marker--fillColor","fullname":"series.marker.fillColor","title":"fillColor","parent":"series-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-marker-states-select--fillColor","fullname":"series.marker.states.select.fillColor","title":"fillColor","parent":"series-marker-states-select","isParent":false,"returnType":"Color","description":"The fill color of the point marker.","demo":"Solid red discs for selected points","deprecated":false},{"name":"series-data-marker-states-select--fillColor","fullname":"series.data.marker.states.select.fillColor","title":"fillColor","parent":"series-data-marker-states-select","isParent":false,"returnType":"Color","description":"The fill color of the point marker.","demo":"Solid red discs for selected points","deprecated":false},{"name":"plotOptions-arearange-zones--fillColor","fullname":"plotOptions.arearange.zones.fillColor","title":"fillColor","parent":"plotOptions-arearange-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"series-zones--fillColor","fullname":"series.zones.fillColor","title":"fillColor","parent":"series-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"plotOptions-spline-zones--fillColor","fullname":"plotOptions.spline.zones.fillColor","title":"fillColor","parent":"plotOptions-spline-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"series-marker--fillColor","fullname":"series.marker.fillColor","title":"fillColor","parent":"series-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-zones--fillColor","fullname":"series.zones.fillColor","title":"fillColor","parent":"series-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"series-states-hover-marker--fillColor","fullname":"series.states.hover.marker.fillColor","title":"fillColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-data-marker--fillColor","fullname":"series.data.marker.fillColor","title":"fillColor","parent":"series-data-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-gauge-states-hover-marker--fillColor","fullname":"plotOptions.gauge.states.hover.marker.fillColor","title":"fillColor","parent":"plotOptions-gauge-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-areaspline-marker--fillColor","fullname":"plotOptions.areaspline.marker.fillColor","title":"fillColor","parent":"plotOptions-areaspline-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-scatter-marker--fillColor","fullname":"plotOptions.scatter.marker.fillColor","title":"fillColor","parent":"plotOptions-scatter-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-zones--fillColor","fullname":"series.zones.fillColor","title":"fillColor","parent":"series-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"series-states-hover-marker--fillColor","fullname":"series.states.hover.marker.fillColor","title":"fillColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-zones--fillColor","fullname":"series.zones.fillColor","title":"fillColor","parent":"series-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"plotOptions-column-zones--fillColor","fullname":"plotOptions.column.zones.fillColor","title":"fillColor","parent":"plotOptions-column-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"series-zones--fillColor","fullname":"series.zones.fillColor","title":"fillColor","parent":"series-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"series-marker-states-select--fillColor","fullname":"series.marker.states.select.fillColor","title":"fillColor","parent":"series-marker-states-select","isParent":false,"returnType":"Color","description":"The fill color of the point marker.","demo":"Solid red discs for selected points","deprecated":false},{"name":"series-zones--fillColor","fullname":"series.zones.fillColor","title":"fillColor","parent":"series-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"plotOptions-areasplinerange-states-hover-marker--fillColor","fullname":"plotOptions.areasplinerange.states.hover.marker.fillColor","title":"fillColor","parent":"plotOptions-areasplinerange-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"series-states-hover-marker--fillColor","fullname":"series.states.hover.marker.fillColor","title":"fillColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-heatmap-zones--fillColor","fullname":"plotOptions.heatmap.zones.fillColor","title":"fillColor","parent":"plotOptions-heatmap-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"series-zones--fillColor","fullname":"series.zones.fillColor","title":"fillColor","parent":"series-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"series--fillColor","fullname":"series.fillColor","title":"fillColor","parent":"series","isParent":false,"returnType":"Color","defaults":"#FFFFFF","values":"","since":"3.0","description":"The fill color of the box.","demo":"Box plot styling","seeAlso":"","deprecated":false},{"name":"series-zones--fillColor","fullname":"series.zones.fillColor","title":"fillColor","parent":"series-zones","isParent":false,"returnType":"Color","context":"","defaults":"","values":"","since":"4.1.0","description":"Defines the fill color for the series (in area type series)","demo":"","seeAlso":"fillColor","deprecated":false},{"name":"plotOptions-funnel-states-hover-marker--fillColor","fullname":"plotOptions.funnel.states.hover.marker.fillColor","title":"fillColor","parent":"plotOptions-funnel-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-errorbar-states-hover-marker--fillColor","fullname":"plotOptions.errorbar.states.hover.marker.fillColor","title":"fillColor","parent":"plotOptions-errorbar-states-hover-marker","isParent":false,"returnType":"Color","description":"The fill color of the point marker. When null, the series' or point's color is used.","demo":"White fill"},{"name":"plotOptions-areaspline--fillOpacity","fullname":"plotOptions.areaspline.fillOpacity","title":"fillOpacity","parent":"plotOptions-areaspline","isParent":false,"returnType":"Number","defaults":"0.75","description":"Fill opacity for the area. Note that when you set an explicit fillColor, the fillOpacity is not applied. Instead, you should define the opacity in the fillColor with an rgba color definition.","demo":"Automatic fill color and fill opacity of 0.1","deprecated":false},{"name":"series--fillOpacity","fullname":"series.fillOpacity","title":"fillOpacity","parent":"series","isParent":false,"returnType":"Number","defaults":"0.75","description":"Fill opacity for the area. Note that when you set an explicit fillColor, the fillOpacity is not applied. Instead, you should define the opacity in the fillColor with an rgba color definition.","demo":"Automatic fill color and fill opacity of 0.1","deprecated":false},{"name":"series--fillOpacity","fullname":"series.fillOpacity","title":"fillOpacity","parent":"series","isParent":false,"returnType":"Number","defaults":"0.75","description":"Fill opacity for the area. Note that when you set an explicit fillColor, the fillOpacity is not applied. Instead, you should define the opacity in the fillColor with an rgba color definition.","demo":"Automatic fill color and fill opacity of 0.1","deprecated":false},{"name":"series--fillOpacity","fullname":"series.fillOpacity","title":"fillOpacity","parent":"series","isParent":false,"returnType":"Number","defaults":"0.75","description":"Fill opacity for the area. Note that when you set an explicit fillColor, the fillOpacity is not applied. Instead, you should define the opacity in the fillColor with an rgba color definition.","demo":"Automatic fill color and fill opacity of 0.1","deprecated":false},{"name":"series--fillOpacity","fullname":"series.fillOpacity","title":"fillOpacity","parent":"series","isParent":false,"returnType":"Number","defaults":"0.75","description":"Fill opacity for the area. Note that when you set an explicit fillColor, the fillOpacity is not applied. Instead, you should define the opacity in the fillColor with an rgba color definition.","demo":"Automatic fill color and fill opacity of 0.1","deprecated":false},{"name":"plotOptions-arearange--fillOpacity","fullname":"plotOptions.arearange.fillOpacity","title":"fillOpacity","parent":"plotOptions-arearange","isParent":false,"returnType":"Number","defaults":"0.75","description":"Fill opacity for the area. Note that when you set an explicit fillColor, the fillOpacity is not applied. Instead, you should define the opacity in the fillColor with an rgba color definition.","demo":"Automatic fill color and fill opacity of 0.1","deprecated":false},{"name":"plotOptions-area--fillOpacity","fullname":"plotOptions.area.fillOpacity","title":"fillOpacity","parent":"plotOptions-area","isParent":false,"returnType":"Number","defaults":"0.75","description":"Fill opacity for the area. Note that when you set an explicit fillColor, the fillOpacity is not applied. Instead, you should define the opacity in the fillColor with an rgba color definition.","demo":"Automatic fill color and fill opacity of 0.1","deprecated":false},{"name":"plotOptions-areasplinerange--fillOpacity","fullname":"plotOptions.areasplinerange.fillOpacity","title":"fillOpacity","parent":"plotOptions-areasplinerange","isParent":false,"returnType":"Number","defaults":"0.75","description":"Fill opacity for the area. Note that when you set an explicit fillColor, the fillOpacity is not applied. Instead, you should define the opacity in the fillColor with an rgba color definition.","demo":"Automatic fill color and fill opacity of 0.1","deprecated":false},{"name":"data--firstRowAsNames","fullname":"data.firstRowAsNames","title":"firstRowAsNames","parent":"data","isParent":false,"returnType":"Boolean","context":"","defaults":"true","values":"","since":"4.1.0","description":"Whether to use the first row in the data set as series names. ","demo":"Don't get series names from the CSV","seeAlso":"","deprecated":false},{"name":"legend--floating","fullname":"legend.floating","title":"floating","parent":"legend","isParent":false,"returnType":"Boolean","defaults":"false","since":"2.1","description":"When the legend is floating, the plot area ignores it and is allowed to be placed below it.","demo":"False by default,\n\t\t\ttrue."},{"name":"title--floating","fullname":"title.floating","title":"floating","parent":"title","isParent":false,"returnType":"Boolean","defaults":"false","since":"2.1","description":"When the title is floating, the plot area will not move to make space for it.","demo":"False by default,\n\t\t\ttrue - title on top of the plot area."},{"name":"subtitle--floating","fullname":"subtitle.floating","title":"floating","parent":"subtitle","isParent":false,"returnType":"Boolean","defaults":"false","since":"2.1","description":"When the subtitle is floating, the plot area will not move to make space for it.","demo":"Floating title and subtitle."},{"name":"xAxis--floor","fullname":"xAxis.floor","title":"floor","parent":"xAxis","isParent":false,"returnType":"Number","defaults":"null","since":"4.0","description":"The lowest allowed value for automatically computed axis extremes.","demo":"Floor and ceiling","seeAlso":"ceiling","deprecated":false},{"name":"yAxis--floor","fullname":"yAxis.floor","title":"floor","parent":"yAxis","isParent":false,"returnType":"Number","defaults":"null","since":"4.0","description":"The lowest allowed value for automatically computed axis extremes.","demo":"Floor and ceiling","seeAlso":"ceiling","deprecated":false},{"name":"series-tooltip--followPointer","fullname":"series.tooltip.followPointer","title":"followPointer","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--followPointer","fullname":"series.tooltip.followPointer","title":"followPointer","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--followPointer","fullname":"series.tooltip.followPointer","title":"followPointer","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--followPointer","fullname":"series.tooltip.followPointer","title":"followPointer","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-scatter-tooltip--followPointer","fullname":"plotOptions.scatter.tooltip.followPointer","title":"followPointer","parent":"plotOptions-scatter-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-heatmap-tooltip--followPointer","fullname":"plotOptions.heatmap.tooltip.followPointer","title":"followPointer","parent":"plotOptions-heatmap-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-series-tooltip--followPointer","fullname":"plotOptions.series.tooltip.followPointer","title":"followPointer","parent":"plotOptions-series-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid-tooltip--followPointer","fullname":"plotOptions.pyramid.tooltip.followPointer","title":"followPointer","parent":"plotOptions-pyramid-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-arearange-tooltip--followPointer","fullname":"plotOptions.arearange.tooltip.followPointer","title":"followPointer","parent":"plotOptions-arearange-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--followPointer","fullname":"series.tooltip.followPointer","title":"followPointer","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--followPointer","fullname":"series.tooltip.followPointer","title":"followPointer","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-waterfall-tooltip--followPointer","fullname":"plotOptions.waterfall.tooltip.followPointer","title":"followPointer","parent":"plotOptions-waterfall-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-column-tooltip--followPointer","fullname":"plotOptions.column.tooltip.followPointer","title":"followPointer","parent":"plotOptions-column-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--followPointer","fullname":"series.tooltip.followPointer","title":"followPointer","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-errorbar-tooltip--followPointer","fullname":"plotOptions.errorbar.tooltip.followPointer","title":"followPointer","parent":"plotOptions-errorbar-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--followPointer","fullname":"series.tooltip.followPointer","title":"followPointer","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon-tooltip--followPointer","fullname":"plotOptions.polygon.tooltip.followPointer","title":"followPointer","parent":"plotOptions-polygon-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--followPointer","fullname":"series.tooltip.followPointer","title":"followPointer","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--followPointer","fullname":"series.tooltip.followPointer","title":"followPointer","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--followPointer","fullname":"series.tooltip.followPointer","title":"followPointer","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-spline-tooltip--followPointer","fullname":"plotOptions.spline.tooltip.followPointer","title":"followPointer","parent":"plotOptions-spline-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--followPointer","fullname":"series.tooltip.followPointer","title":"followPointer","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--followPointer","fullname":"series.tooltip.followPointer","title":"followPointer","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--followPointer","fullname":"series.tooltip.followPointer","title":"followPointer","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-treemap-tooltip--followPointer","fullname":"plotOptions.treemap.tooltip.followPointer","title":"followPointer","parent":"plotOptions-treemap-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-gauge-tooltip--followPointer","fullname":"plotOptions.gauge.tooltip.followPointer","title":"followPointer","parent":"plotOptions-gauge-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--followPointer","fullname":"series.tooltip.followPointer","title":"followPointer","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble-tooltip--followPointer","fullname":"plotOptions.bubble.tooltip.followPointer","title":"followPointer","parent":"plotOptions-bubble-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--followPointer","fullname":"series.tooltip.followPointer","title":"followPointer","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-funnel-tooltip--followPointer","fullname":"plotOptions.funnel.tooltip.followPointer","title":"followPointer","parent":"plotOptions-funnel-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange-tooltip--followPointer","fullname":"plotOptions.columnrange.tooltip.followPointer","title":"followPointer","parent":"plotOptions-columnrange-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--followPointer","fullname":"series.tooltip.followPointer","title":"followPointer","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pie-tooltip--followPointer","fullname":"plotOptions.pie.tooltip.followPointer","title":"followPointer","parent":"plotOptions-pie-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--followPointer","fullname":"series.tooltip.followPointer","title":"followPointer","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline-tooltip--followPointer","fullname":"plotOptions.areaspline.tooltip.followPointer","title":"followPointer","parent":"plotOptions-areaspline-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-line-tooltip--followPointer","fullname":"plotOptions.line.tooltip.followPointer","title":"followPointer","parent":"plotOptions-line-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-boxplot-tooltip--followPointer","fullname":"plotOptions.boxplot.tooltip.followPointer","title":"followPointer","parent":"plotOptions-boxplot-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--followPointer","fullname":"series.tooltip.followPointer","title":"followPointer","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bar-tooltip--followPointer","fullname":"plotOptions.bar.tooltip.followPointer","title":"followPointer","parent":"plotOptions-bar-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-area-tooltip--followPointer","fullname":"plotOptions.area.tooltip.followPointer","title":"followPointer","parent":"plotOptions-area-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--followPointer","fullname":"series.tooltip.followPointer","title":"followPointer","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-areasplinerange-tooltip--followPointer","fullname":"plotOptions.areasplinerange.tooltip.followPointer","title":"followPointer","parent":"plotOptions-areasplinerange-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-solidgauge-tooltip--followPointer","fullname":"plotOptions.solidgauge.tooltip.followPointer","title":"followPointer","parent":"plotOptions-solidgauge-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--followPointer","fullname":"series.tooltip.followPointer","title":"followPointer","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"tooltip--followPointer","fullname":"tooltip.followPointer","title":"followPointer","parent":"tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--followPointer","fullname":"series.tooltip.followPointer","title":"followPointer","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"

Whether the tooltip should follow the mouse as it moves across columns, pie slices and other point types with an extent. By default it behaves this way for scatter, bubble and pie series by override in the plotOptions for those series types.

\r\n

For touch moves to behave the same way, followTouchMove must be true also.

","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-arearange-tooltip--followTouchMove","fullname":"plotOptions.arearange.tooltip.followTouchMove","title":"followTouchMove","parent":"plotOptions-arearange-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"plotOptions-solidgauge-tooltip--followTouchMove","fullname":"plotOptions.solidgauge.tooltip.followTouchMove","title":"followTouchMove","parent":"plotOptions-solidgauge-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"series-tooltip--followTouchMove","fullname":"series.tooltip.followTouchMove","title":"followTouchMove","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"plotOptions-area-tooltip--followTouchMove","fullname":"plotOptions.area.tooltip.followTouchMove","title":"followTouchMove","parent":"plotOptions-area-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"series-tooltip--followTouchMove","fullname":"series.tooltip.followTouchMove","title":"followTouchMove","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"plotOptions-waterfall-tooltip--followTouchMove","fullname":"plotOptions.waterfall.tooltip.followTouchMove","title":"followTouchMove","parent":"plotOptions-waterfall-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"series-tooltip--followTouchMove","fullname":"series.tooltip.followTouchMove","title":"followTouchMove","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"series-tooltip--followTouchMove","fullname":"series.tooltip.followTouchMove","title":"followTouchMove","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"series-tooltip--followTouchMove","fullname":"series.tooltip.followTouchMove","title":"followTouchMove","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"plotOptions-column-tooltip--followTouchMove","fullname":"plotOptions.column.tooltip.followTouchMove","title":"followTouchMove","parent":"plotOptions-column-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"series-tooltip--followTouchMove","fullname":"series.tooltip.followTouchMove","title":"followTouchMove","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"series-tooltip--followTouchMove","fullname":"series.tooltip.followTouchMove","title":"followTouchMove","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"series-tooltip--followTouchMove","fullname":"series.tooltip.followTouchMove","title":"followTouchMove","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"series-tooltip--followTouchMove","fullname":"series.tooltip.followTouchMove","title":"followTouchMove","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"plotOptions-polygon-tooltip--followTouchMove","fullname":"plotOptions.polygon.tooltip.followTouchMove","title":"followTouchMove","parent":"plotOptions-polygon-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"series-tooltip--followTouchMove","fullname":"series.tooltip.followTouchMove","title":"followTouchMove","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"plotOptions-scatter-tooltip--followTouchMove","fullname":"plotOptions.scatter.tooltip.followTouchMove","title":"followTouchMove","parent":"plotOptions-scatter-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"plotOptions-gauge-tooltip--followTouchMove","fullname":"plotOptions.gauge.tooltip.followTouchMove","title":"followTouchMove","parent":"plotOptions-gauge-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"plotOptions-funnel-tooltip--followTouchMove","fullname":"plotOptions.funnel.tooltip.followTouchMove","title":"followTouchMove","parent":"plotOptions-funnel-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"tooltip--followTouchMove","fullname":"tooltip.followTouchMove","title":"followTouchMove","parent":"tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"plotOptions-heatmap-tooltip--followTouchMove","fullname":"plotOptions.heatmap.tooltip.followTouchMove","title":"followTouchMove","parent":"plotOptions-heatmap-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"series-tooltip--followTouchMove","fullname":"series.tooltip.followTouchMove","title":"followTouchMove","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"plotOptions-areaspline-tooltip--followTouchMove","fullname":"plotOptions.areaspline.tooltip.followTouchMove","title":"followTouchMove","parent":"plotOptions-areaspline-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"plotOptions-pie-tooltip--followTouchMove","fullname":"plotOptions.pie.tooltip.followTouchMove","title":"followTouchMove","parent":"plotOptions-pie-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"plotOptions-series-tooltip--followTouchMove","fullname":"plotOptions.series.tooltip.followTouchMove","title":"followTouchMove","parent":"plotOptions-series-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"series-tooltip--followTouchMove","fullname":"series.tooltip.followTouchMove","title":"followTouchMove","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"series-tooltip--followTouchMove","fullname":"series.tooltip.followTouchMove","title":"followTouchMove","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"plotOptions-pyramid-tooltip--followTouchMove","fullname":"plotOptions.pyramid.tooltip.followTouchMove","title":"followTouchMove","parent":"plotOptions-pyramid-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"series-tooltip--followTouchMove","fullname":"series.tooltip.followTouchMove","title":"followTouchMove","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"plotOptions-spline-tooltip--followTouchMove","fullname":"plotOptions.spline.tooltip.followTouchMove","title":"followTouchMove","parent":"plotOptions-spline-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"series-tooltip--followTouchMove","fullname":"series.tooltip.followTouchMove","title":"followTouchMove","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"plotOptions-bar-tooltip--followTouchMove","fullname":"plotOptions.bar.tooltip.followTouchMove","title":"followTouchMove","parent":"plotOptions-bar-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"plotOptions-areasplinerange-tooltip--followTouchMove","fullname":"plotOptions.areasplinerange.tooltip.followTouchMove","title":"followTouchMove","parent":"plotOptions-areasplinerange-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"plotOptions-treemap-tooltip--followTouchMove","fullname":"plotOptions.treemap.tooltip.followTouchMove","title":"followTouchMove","parent":"plotOptions-treemap-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"plotOptions-columnrange-tooltip--followTouchMove","fullname":"plotOptions.columnrange.tooltip.followTouchMove","title":"followTouchMove","parent":"plotOptions-columnrange-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"series-tooltip--followTouchMove","fullname":"series.tooltip.followTouchMove","title":"followTouchMove","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"plotOptions-line-tooltip--followTouchMove","fullname":"plotOptions.line.tooltip.followTouchMove","title":"followTouchMove","parent":"plotOptions-line-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"plotOptions-errorbar-tooltip--followTouchMove","fullname":"plotOptions.errorbar.tooltip.followTouchMove","title":"followTouchMove","parent":"plotOptions-errorbar-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"plotOptions-bubble-tooltip--followTouchMove","fullname":"plotOptions.bubble.tooltip.followTouchMove","title":"followTouchMove","parent":"plotOptions-bubble-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"series-tooltip--followTouchMove","fullname":"series.tooltip.followTouchMove","title":"followTouchMove","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"series-tooltip--followTouchMove","fullname":"series.tooltip.followTouchMove","title":"followTouchMove","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"series-tooltip--followTouchMove","fullname":"series.tooltip.followTouchMove","title":"followTouchMove","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"series-tooltip--followTouchMove","fullname":"series.tooltip.followTouchMove","title":"followTouchMove","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"series-tooltip--followTouchMove","fullname":"series.tooltip.followTouchMove","title":"followTouchMove","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"series-tooltip--followTouchMove","fullname":"series.tooltip.followTouchMove","title":"followTouchMove","parent":"series-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"plotOptions-boxplot-tooltip--followTouchMove","fullname":"plotOptions.boxplot.tooltip.followTouchMove","title":"followTouchMove","parent":"plotOptions-boxplot-tooltip","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.1","description":"Whether the tooltip should follow the finger as it moves on a touch device. If chart.zoomType is set, it will override followTouchMove.","deprecated":false},{"name":"series-tooltip--footerFormat","fullname":"series.tooltip.footerFormat","title":"footerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"series-tooltip--footerFormat","fullname":"series.tooltip.footerFormat","title":"footerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"plotOptions-arearange-tooltip--footerFormat","fullname":"plotOptions.arearange.tooltip.footerFormat","title":"footerFormat","parent":"plotOptions-arearange-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"tooltip--footerFormat","fullname":"tooltip.footerFormat","title":"footerFormat","parent":"tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"plotOptions-solidgauge-tooltip--footerFormat","fullname":"plotOptions.solidgauge.tooltip.footerFormat","title":"footerFormat","parent":"plotOptions-solidgauge-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"series-tooltip--footerFormat","fullname":"series.tooltip.footerFormat","title":"footerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"plotOptions-line-tooltip--footerFormat","fullname":"plotOptions.line.tooltip.footerFormat","title":"footerFormat","parent":"plotOptions-line-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"plotOptions-pie-tooltip--footerFormat","fullname":"plotOptions.pie.tooltip.footerFormat","title":"footerFormat","parent":"plotOptions-pie-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"series-tooltip--footerFormat","fullname":"series.tooltip.footerFormat","title":"footerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"series-tooltip--footerFormat","fullname":"series.tooltip.footerFormat","title":"footerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"plotOptions-area-tooltip--footerFormat","fullname":"plotOptions.area.tooltip.footerFormat","title":"footerFormat","parent":"plotOptions-area-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"plotOptions-waterfall-tooltip--footerFormat","fullname":"plotOptions.waterfall.tooltip.footerFormat","title":"footerFormat","parent":"plotOptions-waterfall-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"series-tooltip--footerFormat","fullname":"series.tooltip.footerFormat","title":"footerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"series-tooltip--footerFormat","fullname":"series.tooltip.footerFormat","title":"footerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"series-tooltip--footerFormat","fullname":"series.tooltip.footerFormat","title":"footerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"series-tooltip--footerFormat","fullname":"series.tooltip.footerFormat","title":"footerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"plotOptions-boxplot-tooltip--footerFormat","fullname":"plotOptions.boxplot.tooltip.footerFormat","title":"footerFormat","parent":"plotOptions-boxplot-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"series-tooltip--footerFormat","fullname":"series.tooltip.footerFormat","title":"footerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"plotOptions-columnrange-tooltip--footerFormat","fullname":"plotOptions.columnrange.tooltip.footerFormat","title":"footerFormat","parent":"plotOptions-columnrange-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"series-tooltip--footerFormat","fullname":"series.tooltip.footerFormat","title":"footerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"plotOptions-spline-tooltip--footerFormat","fullname":"plotOptions.spline.tooltip.footerFormat","title":"footerFormat","parent":"plotOptions-spline-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"plotOptions-funnel-tooltip--footerFormat","fullname":"plotOptions.funnel.tooltip.footerFormat","title":"footerFormat","parent":"plotOptions-funnel-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"series-tooltip--footerFormat","fullname":"series.tooltip.footerFormat","title":"footerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"plotOptions-gauge-tooltip--footerFormat","fullname":"plotOptions.gauge.tooltip.footerFormat","title":"footerFormat","parent":"plotOptions-gauge-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"series-tooltip--footerFormat","fullname":"series.tooltip.footerFormat","title":"footerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"plotOptions-series-tooltip--footerFormat","fullname":"plotOptions.series.tooltip.footerFormat","title":"footerFormat","parent":"plotOptions-series-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"series-tooltip--footerFormat","fullname":"series.tooltip.footerFormat","title":"footerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"plotOptions-areaspline-tooltip--footerFormat","fullname":"plotOptions.areaspline.tooltip.footerFormat","title":"footerFormat","parent":"plotOptions-areaspline-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"series-tooltip--footerFormat","fullname":"series.tooltip.footerFormat","title":"footerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"plotOptions-treemap-tooltip--footerFormat","fullname":"plotOptions.treemap.tooltip.footerFormat","title":"footerFormat","parent":"plotOptions-treemap-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"plotOptions-heatmap-tooltip--footerFormat","fullname":"plotOptions.heatmap.tooltip.footerFormat","title":"footerFormat","parent":"plotOptions-heatmap-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"series-tooltip--footerFormat","fullname":"series.tooltip.footerFormat","title":"footerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"series-tooltip--footerFormat","fullname":"series.tooltip.footerFormat","title":"footerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"series-tooltip--footerFormat","fullname":"series.tooltip.footerFormat","title":"footerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"plotOptions-polygon-tooltip--footerFormat","fullname":"plotOptions.polygon.tooltip.footerFormat","title":"footerFormat","parent":"plotOptions-polygon-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"series-tooltip--footerFormat","fullname":"series.tooltip.footerFormat","title":"footerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"plotOptions-scatter-tooltip--footerFormat","fullname":"plotOptions.scatter.tooltip.footerFormat","title":"footerFormat","parent":"plotOptions-scatter-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"series-tooltip--footerFormat","fullname":"series.tooltip.footerFormat","title":"footerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"plotOptions-bar-tooltip--footerFormat","fullname":"plotOptions.bar.tooltip.footerFormat","title":"footerFormat","parent":"plotOptions-bar-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"plotOptions-pyramid-tooltip--footerFormat","fullname":"plotOptions.pyramid.tooltip.footerFormat","title":"footerFormat","parent":"plotOptions-pyramid-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"series-tooltip--footerFormat","fullname":"series.tooltip.footerFormat","title":"footerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"plotOptions-bubble-tooltip--footerFormat","fullname":"plotOptions.bubble.tooltip.footerFormat","title":"footerFormat","parent":"plotOptions-bubble-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"plotOptions-column-tooltip--footerFormat","fullname":"plotOptions.column.tooltip.footerFormat","title":"footerFormat","parent":"plotOptions-column-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"plotOptions-areasplinerange-tooltip--footerFormat","fullname":"plotOptions.areasplinerange.tooltip.footerFormat","title":"footerFormat","parent":"plotOptions-areasplinerange-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"plotOptions-errorbar-tooltip--footerFormat","fullname":"plotOptions.errorbar.tooltip.footerFormat","title":"footerFormat","parent":"plotOptions-errorbar-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"series-tooltip--footerFormat","fullname":"series.tooltip.footerFormat","title":"footerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"false","since":"2.2","description":"A string to append to the tooltip format.","demo":"A table for value alignment"},{"name":"exporting--formAttributes","fullname":"exporting.formAttributes","title":"formAttributes","parent":"exporting","isParent":false,"returnType":"Object","defaults":"","values":"","since":"3.0.8","description":"An object containing additional attributes for the POST form that sends the SVG to the export server. For example, a target can be set to make sure the generated image is received in another frame, or a custom enctype or encoding can be set.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble-dataLabels--format","fullname":"plotOptions.bubble.dataLabels.format","title":"format","parent":"plotOptions-bubble-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"plotOptions-funnel-dataLabels--format","fullname":"plotOptions.funnel.dataLabels.format","title":"format","parent":"plotOptions-funnel-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"plotOptions-series-dataLabels--format","fullname":"plotOptions.series.dataLabels.format","title":"format","parent":"plotOptions-series-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"plotOptions-solidgauge-dataLabels--format","fullname":"plotOptions.solidgauge.dataLabels.format","title":"format","parent":"plotOptions-solidgauge-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"yAxis-stackLabels--format","fullname":"yAxis.stackLabels.format","title":"format","parent":"yAxis-stackLabels","isParent":false,"returnType":"String","defaults":"{total}","values":"","since":"3.0.2","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-heatmap-dataLabels--format","fullname":"plotOptions.heatmap.dataLabels.format","title":"format","parent":"plotOptions-heatmap-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"plotOptions-pie-dataLabels--format","fullname":"plotOptions.pie.dataLabels.format","title":"format","parent":"plotOptions-pie-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"plotOptions-line-dataLabels--format","fullname":"plotOptions.line.dataLabels.format","title":"format","parent":"plotOptions-line-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"yAxis-labels--format","fullname":"yAxis.labels.format","title":"format","parent":"yAxis-labels","isParent":false,"returnType":"String","defaults":"{value}","since":"3.0","description":"A format string for the axis label. ","demo":"Add units to Y axis label","deprecated":false},{"name":"series-dataLabels--format","fullname":"series.dataLabels.format","title":"format","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"series-dataLabels--format","fullname":"series.dataLabels.format","title":"format","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"series-dataLabels--format","fullname":"series.dataLabels.format","title":"format","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"plotOptions-columnrange-dataLabels--format","fullname":"plotOptions.columnrange.dataLabels.format","title":"format","parent":"plotOptions-columnrange-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"series-dataLabels--format","fullname":"series.dataLabels.format","title":"format","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"series-dataLabels--format","fullname":"series.dataLabels.format","title":"format","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"plotOptions-treemap-dataLabels--format","fullname":"plotOptions.treemap.dataLabels.format","title":"format","parent":"plotOptions-treemap-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"plotOptions-areasplinerange-dataLabels--format","fullname":"plotOptions.areasplinerange.dataLabels.format","title":"format","parent":"plotOptions-areasplinerange-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"plotOptions-gauge-dataLabels--format","fullname":"plotOptions.gauge.dataLabels.format","title":"format","parent":"plotOptions-gauge-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"plotOptions-column-dataLabels--format","fullname":"plotOptions.column.dataLabels.format","title":"format","parent":"plotOptions-column-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"series-dataLabels--format","fullname":"series.dataLabels.format","title":"format","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"series-dataLabels--format","fullname":"series.dataLabels.format","title":"format","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"series-dataLabels--format","fullname":"series.dataLabels.format","title":"format","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"plotOptions-pyramid-dataLabels--format","fullname":"plotOptions.pyramid.dataLabels.format","title":"format","parent":"plotOptions-pyramid-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"series-dataLabels--format","fullname":"series.dataLabels.format","title":"format","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"plotOptions-arearange-dataLabels--format","fullname":"plotOptions.arearange.dataLabels.format","title":"format","parent":"plotOptions-arearange-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"plotOptions-scatter-dataLabels--format","fullname":"plotOptions.scatter.dataLabels.format","title":"format","parent":"plotOptions-scatter-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"plotOptions-waterfall-dataLabels--format","fullname":"plotOptions.waterfall.dataLabels.format","title":"format","parent":"plotOptions-waterfall-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"series-dataLabels--format","fullname":"series.dataLabels.format","title":"format","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"plotOptions-areaspline-dataLabels--format","fullname":"plotOptions.areaspline.dataLabels.format","title":"format","parent":"plotOptions-areaspline-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"series-dataLabels--format","fullname":"series.dataLabels.format","title":"format","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"series-dataLabels--format","fullname":"series.dataLabels.format","title":"format","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"xAxis-labels--format","fullname":"xAxis.labels.format","title":"format","parent":"xAxis-labels","isParent":false,"returnType":"String","defaults":"{value}","since":"3.0","description":"A format string for the axis label. ","demo":"Add units to Y axis label","deprecated":false},{"name":"series-dataLabels--format","fullname":"series.dataLabels.format","title":"format","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"plotOptions-bar-dataLabels--format","fullname":"plotOptions.bar.dataLabels.format","title":"format","parent":"plotOptions-bar-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"plotOptions-spline-dataLabels--format","fullname":"plotOptions.spline.dataLabels.format","title":"format","parent":"plotOptions-spline-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"series-dataLabels--format","fullname":"series.dataLabels.format","title":"format","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"series-dataLabels--format","fullname":"series.dataLabels.format","title":"format","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"series-dataLabels--format","fullname":"series.dataLabels.format","title":"format","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"series-dataLabels--format","fullname":"series.dataLabels.format","title":"format","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"series-dataLabels--format","fullname":"series.dataLabels.format","title":"format","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"series-dataLabels--format","fullname":"series.dataLabels.format","title":"format","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"plotOptions-polygon-dataLabels--format","fullname":"plotOptions.polygon.dataLabels.format","title":"format","parent":"plotOptions-polygon-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"series-dataLabels--format","fullname":"series.dataLabels.format","title":"format","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"plotOptions-area-dataLabels--format","fullname":"plotOptions.area.dataLabels.format","title":"format","parent":"plotOptions-area-dataLabels","isParent":false,"returnType":"String","defaults":"{y}","since":"3.0","description":"A format string for the data label. Available variables are the same as for formatter.","demo":"Add a unit","deprecated":false},{"name":"plotOptions-columnrange-dataLabels--formatter","fullname":"plotOptions.columnrange.dataLabels.formatter","title":"formatter","parent":"plotOptions-columnrange-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"series-dataLabels--formatter","fullname":"series.dataLabels.formatter","title":"formatter","parent":"series-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"series-dataLabels--formatter","fullname":"series.dataLabels.formatter","title":"formatter","parent":"series-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"plotOptions-line-dataLabels--formatter","fullname":"plotOptions.line.dataLabels.formatter","title":"formatter","parent":"plotOptions-line-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"series-dataLabels--formatter","fullname":"series.dataLabels.formatter","title":"formatter","parent":"series-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"tooltip--formatter","fullname":"tooltip.formatter","title":"formatter","parent":"tooltip","isParent":false,"returnType":"Function","description":"

Callback function to format the text of the tooltip. Return false to disable tooltip for a specific point on series.

A subset of HTML is supported. The HTML of the tooltip is parsed and converted to SVG, therefore this isn't a complete HTML renderer. The following tabs are supported: <b>, <strong>, <i>, <em>, <br/>, <span>. Spans can be styled with a style attribute, but only text-related CSS that is shared with SVG is handled.

Since version 2.1 the tooltip can be shared between multiple series through the shared option. The available data in the formatter differ a bit depending on whether the tooltip is shared or not. In a shared tooltip, all properties except x, which is common for all points, are kept in an array, this.points.

Available data are:

\t
this.percentage (not shared) / this.points[i].percentage (shared)
\t
Stacked series and pies only. The point's percentage of the total.
\t \t
this.point (not shared) / this.points[i].point (shared)
\t
The point object. The point name, if defined, is available through this.point.name.
\t \t
this.points
\t
In a shared tooltip, this is an array containing all other properties for each point.
\t \t
this.series (not shared) / this.points[i].series (shared)
\t
The series object. The series name is available through this.series.name.
\t
this.total (not shared) / this.points[i].total (shared)
\t
Stacked series only. The total value at this point's x value.
\t \t
this.x
\t
The x value. This property is the same regardless of the tooltip being shared or not.
\t \t
this.y (not shared) / this.points[i].y (shared)
\t
The y value.
","demo":"Simple string formatting,\t\t\t\n\t\t\tformatting with shared tooltip"},{"name":"plotOptions-polygon-dataLabels--formatter","fullname":"plotOptions.polygon.dataLabels.formatter","title":"formatter","parent":"plotOptions-polygon-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"plotOptions-bubble-dataLabels--formatter","fullname":"plotOptions.bubble.dataLabels.formatter","title":"formatter","parent":"plotOptions-bubble-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"plotOptions-scatter-dataLabels--formatter","fullname":"plotOptions.scatter.dataLabels.formatter","title":"formatter","parent":"plotOptions-scatter-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"plotOptions-funnel-dataLabels--formatter","fullname":"plotOptions.funnel.dataLabels.formatter","title":"formatter","parent":"plotOptions-funnel-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"plotOptions-solidgauge-dataLabels--formatter","fullname":"plotOptions.solidgauge.dataLabels.formatter","title":"formatter","parent":"plotOptions-solidgauge-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"series-dataLabels--formatter","fullname":"series.dataLabels.formatter","title":"formatter","parent":"series-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"plotOptions-pie-dataLabels--formatter","fullname":"plotOptions.pie.dataLabels.formatter","title":"formatter","parent":"plotOptions-pie-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"plotOptions-treemap-dataLabels--formatter","fullname":"plotOptions.treemap.dataLabels.formatter","title":"formatter","parent":"plotOptions-treemap-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"series-dataLabels--formatter","fullname":"series.dataLabels.formatter","title":"formatter","parent":"series-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"series-dataLabels--formatter","fullname":"series.dataLabels.formatter","title":"formatter","parent":"series-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"plotOptions-areaspline-dataLabels--formatter","fullname":"plotOptions.areaspline.dataLabels.formatter","title":"formatter","parent":"plotOptions-areaspline-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"series-dataLabels--formatter","fullname":"series.dataLabels.formatter","title":"formatter","parent":"series-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"series-dataLabels--formatter","fullname":"series.dataLabels.formatter","title":"formatter","parent":"series-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"plotOptions-heatmap-dataLabels--formatter","fullname":"plotOptions.heatmap.dataLabels.formatter","title":"formatter","parent":"plotOptions-heatmap-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"plotOptions-bar-dataLabels--formatter","fullname":"plotOptions.bar.dataLabels.formatter","title":"formatter","parent":"plotOptions-bar-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"series-dataLabels--formatter","fullname":"series.dataLabels.formatter","title":"formatter","parent":"series-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"plotOptions-areasplinerange-dataLabels--formatter","fullname":"plotOptions.areasplinerange.dataLabels.formatter","title":"formatter","parent":"plotOptions-areasplinerange-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"series-dataLabels--formatter","fullname":"series.dataLabels.formatter","title":"formatter","parent":"series-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"series-dataLabels--formatter","fullname":"series.dataLabels.formatter","title":"formatter","parent":"series-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"plotOptions-spline-dataLabels--formatter","fullname":"plotOptions.spline.dataLabels.formatter","title":"formatter","parent":"plotOptions-spline-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"plotOptions-pyramid-dataLabels--formatter","fullname":"plotOptions.pyramid.dataLabels.formatter","title":"formatter","parent":"plotOptions-pyramid-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"series-dataLabels--formatter","fullname":"series.dataLabels.formatter","title":"formatter","parent":"series-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"plotOptions-waterfall-dataLabels--formatter","fullname":"plotOptions.waterfall.dataLabels.formatter","title":"formatter","parent":"plotOptions-waterfall-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"series-dataLabels--formatter","fullname":"series.dataLabels.formatter","title":"formatter","parent":"series-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"series-dataLabels--formatter","fullname":"series.dataLabels.formatter","title":"formatter","parent":"series-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"yAxis-labels--formatter","fullname":"yAxis.labels.formatter","title":"formatter","parent":"yAxis-labels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the label. The value is \r given by this.value. Additional properties for this are\r axis, chart, isFirst and isLast.\r Defaults to: \r\n
function() {\r\n\treturn this.value;\r\n}
","demo":"Linked category names","deprecated":false},{"name":"series-dataLabels--formatter","fullname":"series.dataLabels.formatter","title":"formatter","parent":"series-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"series-dataLabels--formatter","fullname":"series.dataLabels.formatter","title":"formatter","parent":"series-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"plotOptions-gauge-dataLabels--formatter","fullname":"plotOptions.gauge.dataLabels.formatter","title":"formatter","parent":"plotOptions-gauge-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"series-dataLabels--formatter","fullname":"series.dataLabels.formatter","title":"formatter","parent":"series-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"series-dataLabels--formatter","fullname":"series.dataLabels.formatter","title":"formatter","parent":"series-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"plotOptions-arearange-dataLabels--formatter","fullname":"plotOptions.arearange.dataLabels.formatter","title":"formatter","parent":"plotOptions-arearange-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"plotOptions-column-dataLabels--formatter","fullname":"plotOptions.column.dataLabels.formatter","title":"formatter","parent":"plotOptions-column-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"xAxis-labels--formatter","fullname":"xAxis.labels.formatter","title":"formatter","parent":"xAxis-labels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the label. The value is \r given by this.value. Additional properties for this are\r axis, chart, isFirst and isLast.\r Defaults to: \r\n
function() {\r\n\treturn this.value;\r\n}
","demo":"Linked category names","deprecated":false},{"name":"plotOptions-series-dataLabels--formatter","fullname":"plotOptions.series.dataLabels.formatter","title":"formatter","parent":"plotOptions-series-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"yAxis-stackLabels--formatter","fullname":"yAxis.stackLabels.formatter","title":"formatter","parent":"yAxis-stackLabels","isParent":false,"returnType":"Function","since":"2.1.5","description":"Callback JavaScript function to format the label. The value is given by this.total. Defaults to: \n
function() {\n\treturn this.total;\n}
","demo":"Added units to stack total value"},{"name":"series-dataLabels--formatter","fullname":"series.dataLabels.formatter","title":"formatter","parent":"series-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"series-dataLabels--formatter","fullname":"series.dataLabels.formatter","title":"formatter","parent":"series-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"plotOptions-area-dataLabels--formatter","fullname":"plotOptions.area.dataLabels.formatter","title":"formatter","parent":"plotOptions-area-dataLabels","isParent":false,"returnType":"Function","description":"Callback JavaScript function to format the data label. Note that if a format is defined, the format takes precedence and the formatter is ignored. Available data are:\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\t\t\t\t\r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
this.percentageStacked series and pies only. The point's percentage of the total.
this.pointThe point object. The point name, if defined, is available \r\nthrough this.point.name.
this.series:The series object. The series name is available \r\nthrough this.series.name.
this.totalStacked series only. The total value at this point's x value.
this.x:The x value.
this.y:The y value.
","deprecated":false},{"name":"chart-options3d-frame","fullname":"chart.options3d.frame","title":"frame","parent":"chart-options3d","isParent":true,"since":"4.0","description":"Provides the option to draw a frame around the charts by defining a bottom, front and back panel. ","demo":"Framed column chart","deprecated":false},{"name":"yAxis-plotBands--from","fullname":"yAxis.plotBands.from","title":"from","parent":"yAxis-plotBands","isParent":false,"returnType":"Number","description":"The start position of the plot band in axis units.","demo":"Datetime axis,\n\t\t\tcategorized axis,"},{"name":"yAxis-breaks--from","fullname":"yAxis.breaks.from","title":"from","parent":"yAxis-breaks","isParent":false,"returnType":"Number","context":"","defaults":"","values":"","since":"4.1.0","description":"The point where the break starts.","demo":"","seeAlso":"","deprecated":false},{"name":"xAxis-breaks--from","fullname":"xAxis.breaks.from","title":"from","parent":"xAxis-breaks","isParent":false,"returnType":"Number","context":"","defaults":"","values":"","since":"4.1.0","description":"The point where the break starts.","demo":"","seeAlso":"","deprecated":false},{"name":"xAxis-plotBands--from","fullname":"xAxis.plotBands.from","title":"from","parent":"xAxis-plotBands","isParent":false,"returnType":"Number","description":"The start position of the plot band in axis units.","demo":"Datetime axis,\n\t\t\tcategorized axis,"},{"name":"plotOptions-funnel","fullname":"plotOptions.funnel","title":"funnel","parent":"plotOptions","isParent":true,"returnType":"Object","since":"3.0","description":"Funnel charts are a type of chart often used to visualize stages in a sales project, where the top are the initial stages with the most clients. It requires that the modules/funnel.js file is loaded.","demo":"Funnel demo","deprecated":false},{"name":"plotOptions-gauge","fullname":"plotOptions.gauge","title":"gauge","parent":"plotOptions","isParent":true,"returnType":"Object","since":"2.3.0","description":"General plotting options for the gauge series type. Requires highcharts-more.js","deprecated":false},{"name":"plotOptions--getExtremesFromAll","fullname":"plotOptions.getExtremesFromAll","title":"getExtremesFromAll","parent":"plotOptions","isParent":false,"returnType":"Boolean","context":"","defaults":"false","values":"","since":"4.1.6","description":"Whether to use the Y extremes of the total chart width or only the zoomed area when zooming in on parts of the X axis. By default, the Y axis adjusts to the min and max of the visible data.","demo":"","seeAlso":"","deprecated":false},{"name":"global--getTimezoneOffset","fullname":"global.getTimezoneOffset","title":"getTimezoneOffset","parent":"global","isParent":false,"returnType":"Function","context":"","defaults":"","values":"","since":"4.1.0","description":"A callback to return the time zone offset for a given datetime. It takes the timestamp in terms of milliseconds since January 1 1970, and returns the timezone offset in minutes. This provides a hook for drawing time based charts in specific time zones using their local DST crossover dates, with the help of external libraries. ","demo":" Use moment.js to draw Oslo time regardless of browser locale","seeAlso":"global.timezoneOffset","deprecated":false},{"name":"global","fullname":"global","title":"global","isParent":true,"description":"Global options that don't apply to each chart. These options, like the lang\n\t\toptions, must be set using the Highcharts.setOptions method.\n
Highcharts.setOptions({\n\tglobal: {\n\t\tuseUTC: false\n\t}\n});
"},{"name":"data--googleSpreadsheetKey","fullname":"data.googleSpreadsheetKey","title":"googleSpreadsheetKey","parent":"data","isParent":false,"returnType":"String","defaults":"","values":"","since":"4.0","description":"The key for a Google Spreadsheet to load. See general information on GS.","demo":"Load a Google Spreadsheet","seeAlso":"","deprecated":false},{"name":"data--googleSpreadsheetWorksheet","fullname":"data.googleSpreadsheetWorksheet","title":"googleSpreadsheetWorksheet","parent":"data","isParent":false,"returnType":"String","since":"4.0","description":"The Google Spreadsheet worksheet to use in combination with googleSpreadsheetKey. The available id's from your sheet can be read from https://spreadsheets.google.com/feeds/worksheets/{key}/public/basic","demo":"Load a Google Spreadsheet","deprecated":false},{"name":"xAxis--gridLineColor","fullname":"xAxis.gridLineColor","title":"gridLineColor","parent":"xAxis","isParent":false,"returnType":"Color","defaults":"#D8D8D8","description":"Color of the grid lines extending the ticks across the plot area.","demo":"Green lines","deprecated":false},{"name":"yAxis--gridLineColor","fullname":"yAxis.gridLineColor","title":"gridLineColor","parent":"yAxis","isParent":false,"returnType":"Color","defaults":"#D8D8D8","description":"Color of the grid lines extending the ticks across the plot area.","demo":"Green lines","deprecated":false},{"name":"yAxis--gridLineDashStyle","fullname":"yAxis.gridLineDashStyle","title":"gridLineDashStyle","parent":"yAxis","isParent":false,"returnType":"String","defaults":"Solid","values":"[\"Solid\", \"ShortDash\", \"ShortDot\", \"ShortDashDot\", \"ShortDashDotDot\", \"Dot\", \"Dash\" ,\"LongDash\", \"DashDot\", \"LongDashDot\", \"LongDashDotDot\"]","since":"1.2","description":"The dash or dot style of the grid lines. For possible values, see this demonstration.","demo":"Long dashes","deprecated":false},{"name":"xAxis--gridLineDashStyle","fullname":"xAxis.gridLineDashStyle","title":"gridLineDashStyle","parent":"xAxis","isParent":false,"returnType":"String","defaults":"Solid","values":"[\"Solid\", \"ShortDash\", \"ShortDot\", \"ShortDashDot\", \"ShortDashDotDot\", \"Dot\", \"Dash\" ,\"LongDash\", \"DashDot\", \"LongDashDot\", \"LongDashDotDot\"]","since":"1.2","description":"The dash or dot style of the grid lines. For possible values, see this demonstration.","demo":"Long dashes","deprecated":false},{"name":"yAxis--gridLineInterpolation","fullname":"yAxis.gridLineInterpolation","title":"gridLineInterpolation","parent":"yAxis","isParent":false,"returnType":"String","defaults":"null","values":"[\"circle\", \"polygon\"]","description":"Polar charts only. Whether the grid lines should draw as a polygon with straight lines between categories, or as circles. Can be either circle or polygon.","demo":"Polygon grid lines, circle and polygon","deprecated":false},{"name":"yAxis--gridLineWidth","fullname":"yAxis.gridLineWidth","title":"gridLineWidth","parent":"yAxis","isParent":false,"returnType":"Number","defaults":"1","description":"The width of the grid lines extending the ticks across the plot area.","demo":"2px lines"},{"name":"xAxis--gridLineWidth","fullname":"xAxis.gridLineWidth","title":"gridLineWidth","parent":"xAxis","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the grid lines extending the ticks across the plot area.","demo":"2px lines"},{"name":"xAxis--gridZIndex","fullname":"xAxis.gridZIndex","title":"gridZIndex","parent":"xAxis","isParent":false,"returnType":"Number","defaults":"1","description":"The Z index of the grid lines.","demo":"A Z index of 4 renders the grid above the graph","deprecated":false},{"name":"yAxis--gridZIndex","fullname":"yAxis.gridZIndex","title":"gridZIndex","parent":"yAxis","isParent":false,"returnType":"Number","defaults":"1","description":"The Z index of the grid lines.","demo":"A Z index of 4 renders the grid above the graph","deprecated":false},{"name":"plotOptions-column--groupPadding","fullname":"plotOptions.column.groupPadding","title":"groupPadding","parent":"plotOptions-column","isParent":false,"returnType":"Number","defaults":"0.2","description":"Padding between each value groups, in x axis units.","demo":"0.2 by default, \n\t\t\tno group padding - all \n\t\t\tcolumns are evenly spaced"},{"name":"plotOptions-boxplot--groupPadding","fullname":"plotOptions.boxplot.groupPadding","title":"groupPadding","parent":"plotOptions-boxplot","isParent":false,"returnType":"Number","defaults":"0.2","description":"Padding between each value groups, in x axis units.","demo":"0.2 by default, \n\t\t\tno group padding - all \n\t\t\tcolumns are evenly spaced"},{"name":"series--groupPadding","fullname":"series.groupPadding","title":"groupPadding","parent":"series","isParent":false,"returnType":"Number","defaults":"0.2","description":"Padding between each value groups, in x axis units.","demo":"0.2 by default, \n\t\t\tno group padding - all \n\t\t\tcolumns are evenly spaced"},{"name":"series--groupPadding","fullname":"series.groupPadding","title":"groupPadding","parent":"series","isParent":false,"returnType":"Number","defaults":"0.2","description":"Padding between each value groups, in x axis units.","demo":"0.2 by default, \n\t\t\tno group padding - all \n\t\t\tcolumns are evenly spaced"},{"name":"plotOptions-bar--groupPadding","fullname":"plotOptions.bar.groupPadding","title":"groupPadding","parent":"plotOptions-bar","isParent":false,"returnType":"Number","defaults":"0.2","description":"Padding between each value groups, in x axis units.","demo":"0.2 by default, \n\t\t\tno group padding - all \n\t\t\tcolumns are evenly spaced"},{"name":"plotOptions-waterfall--groupPadding","fullname":"plotOptions.waterfall.groupPadding","title":"groupPadding","parent":"plotOptions-waterfall","isParent":false,"returnType":"Number","defaults":"0.2","description":"Padding between each value groups, in x axis units.","demo":"0.2 by default, \n\t\t\tno group padding - all \n\t\t\tcolumns are evenly spaced"},{"name":"series--groupPadding","fullname":"series.groupPadding","title":"groupPadding","parent":"series","isParent":false,"returnType":"Number","defaults":"0.2","description":"Padding between each value groups, in x axis units.","demo":"0.2 by default, \n\t\t\tno group padding - all \n\t\t\tcolumns are evenly spaced"},{"name":"plotOptions-columnrange--groupPadding","fullname":"plotOptions.columnrange.groupPadding","title":"groupPadding","parent":"plotOptions-columnrange","isParent":false,"returnType":"Number","defaults":"0.2","description":"Padding between each value groups, in x axis units.","demo":"0.2 by default, \n\t\t\tno group padding - all \n\t\t\tcolumns are evenly spaced"},{"name":"series--groupPadding","fullname":"series.groupPadding","title":"groupPadding","parent":"series","isParent":false,"returnType":"Number","defaults":"0.2","description":"Padding between each value groups, in x axis units.","demo":"0.2 by default, \n\t\t\tno group padding - all \n\t\t\tcolumns are evenly spaced"},{"name":"series--groupPadding","fullname":"series.groupPadding","title":"groupPadding","parent":"series","isParent":false,"returnType":"Number","defaults":"0.2","description":"Padding between each value groups, in x axis units.","demo":"0.2 by default, \n\t\t\tno group padding - all \n\t\t\tcolumns are evenly spaced"},{"name":"series--groupZPadding","fullname":"series.groupZPadding","title":"groupZPadding","parent":"series","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0","description":"The spacing between columns on the Z Axis in a 3D chart. Requires highcharts-3d.js.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-errorbar--groupZPadding","fullname":"plotOptions.errorbar.groupZPadding","title":"groupZPadding","parent":"plotOptions-errorbar","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0","description":"The spacing between columns on the Z Axis in a 3D chart. Requires highcharts-3d.js.","demo":"","seeAlso":"","deprecated":false},{"name":"series--groupZPadding","fullname":"series.groupZPadding","title":"groupZPadding","parent":"series","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0","description":"The spacing between columns on the Z Axis in a 3D chart. Requires highcharts-3d.js.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-boxplot--groupZPadding","fullname":"plotOptions.boxplot.groupZPadding","title":"groupZPadding","parent":"plotOptions-boxplot","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0","description":"The spacing between columns on the Z Axis in a 3D chart. Requires highcharts-3d.js.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange--groupZPadding","fullname":"plotOptions.columnrange.groupZPadding","title":"groupZPadding","parent":"plotOptions-columnrange","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0","description":"The spacing between columns on the Z Axis in a 3D chart. Requires highcharts-3d.js.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bar--groupZPadding","fullname":"plotOptions.bar.groupZPadding","title":"groupZPadding","parent":"plotOptions-bar","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0","description":"The spacing between columns on the Z Axis in a 3D chart. Requires highcharts-3d.js.","demo":"","seeAlso":"","deprecated":false},{"name":"series--groupZPadding","fullname":"series.groupZPadding","title":"groupZPadding","parent":"series","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0","description":"The spacing between columns on the Z Axis in a 3D chart. Requires highcharts-3d.js.","demo":"","seeAlso":"","deprecated":false},{"name":"series--groupZPadding","fullname":"series.groupZPadding","title":"groupZPadding","parent":"series","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0","description":"The spacing between columns on the Z Axis in a 3D chart. Requires highcharts-3d.js.","demo":"","seeAlso":"","deprecated":false},{"name":"series--groupZPadding","fullname":"series.groupZPadding","title":"groupZPadding","parent":"series","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0","description":"The spacing between columns on the Z Axis in a 3D chart. Requires highcharts-3d.js.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-waterfall--groupZPadding","fullname":"plotOptions.waterfall.groupZPadding","title":"groupZPadding","parent":"plotOptions-waterfall","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0","description":"The spacing between columns on the Z Axis in a 3D chart. Requires highcharts-3d.js.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-column--groupZPadding","fullname":"plotOptions.column.groupZPadding","title":"groupZPadding","parent":"plotOptions-column","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0","description":"The spacing between columns on the Z Axis in a 3D chart. Requires highcharts-3d.js.","demo":"","seeAlso":"","deprecated":false},{"name":"series--groupZPadding","fullname":"series.groupZPadding","title":"groupZPadding","parent":"series","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0","description":"The spacing between columns on the Z Axis in a 3D chart. Requires highcharts-3d.js.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-column--grouping","fullname":"plotOptions.column.grouping","title":"grouping","parent":"plotOptions-column","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.0","description":"Whether to group non-stacked columns or to let them render independent of each other. Non-grouped columns will be laid out individually and overlap each other.","demo":"Grouping disabled","seeAlso":"","deprecated":false},{"name":"plotOptions-bar--grouping","fullname":"plotOptions.bar.grouping","title":"grouping","parent":"plotOptions-bar","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.0","description":"Whether to group non-stacked columns or to let them render independent of each other. Non-grouped columns will be laid out individually and overlap each other.","demo":"Grouping disabled","seeAlso":"","deprecated":false},{"name":"series--grouping","fullname":"series.grouping","title":"grouping","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.0","description":"Whether to group non-stacked columns or to let them render independent of each other. Non-grouped columns will be laid out individually and overlap each other.","demo":"Grouping disabled","seeAlso":"","deprecated":false},{"name":"series--grouping","fullname":"series.grouping","title":"grouping","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.0","description":"Whether to group non-stacked columns or to let them render independent of each other. Non-grouped columns will be laid out individually and overlap each other.","demo":"Grouping disabled","seeAlso":"","deprecated":false},{"name":"plotOptions-waterfall--grouping","fullname":"plotOptions.waterfall.grouping","title":"grouping","parent":"plotOptions-waterfall","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.0","description":"Whether to group non-stacked columns or to let them render independent of each other. Non-grouped columns will be laid out individually and overlap each other.","demo":"Grouping disabled","seeAlso":"","deprecated":false},{"name":"series--grouping","fullname":"series.grouping","title":"grouping","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.0","description":"Whether to group non-stacked columns or to let them render independent of each other. Non-grouped columns will be laid out individually and overlap each other.","demo":"Grouping disabled","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange--grouping","fullname":"plotOptions.columnrange.grouping","title":"grouping","parent":"plotOptions-columnrange","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.0","description":"Whether to group non-stacked columns or to let them render independent of each other. Non-grouped columns will be laid out individually and overlap each other.","demo":"Grouping disabled","seeAlso":"","deprecated":false},{"name":"series--grouping","fullname":"series.grouping","title":"grouping","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.0","description":"Whether to group non-stacked columns or to let them render independent of each other. Non-grouped columns will be laid out individually and overlap each other.","demo":"Grouping disabled","seeAlso":"","deprecated":false},{"name":"series--grouping","fullname":"series.grouping","title":"grouping","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.0","description":"Whether to group non-stacked columns or to let them render independent of each other. Non-grouped columns will be laid out individually and overlap each other.","demo":"Grouping disabled","seeAlso":"","deprecated":false},{"name":"plotOptions-boxplot--grouping","fullname":"plotOptions.boxplot.grouping","title":"grouping","parent":"plotOptions-boxplot","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.0","description":"Whether to group non-stacked columns or to let them render independent of each other. Non-grouped columns will be laid out individually and overlap each other.","demo":"Grouping disabled","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo","fullname":"series.states.hover.halo","title":"halo","parent":"series-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"plotOptions-waterfall-states-hover-halo","fullname":"plotOptions.waterfall.states.hover.halo","title":"halo","parent":"plotOptions-waterfall-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"plotOptions-series-states-hover-halo","fullname":"plotOptions.series.states.hover.halo","title":"halo","parent":"plotOptions-series-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"series-states-hover-halo","fullname":"series.states.hover.halo","title":"halo","parent":"series-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"plotOptions-gauge-states-hover-halo","fullname":"plotOptions.gauge.states.hover.halo","title":"halo","parent":"plotOptions-gauge-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"series-states-hover-halo","fullname":"series.states.hover.halo","title":"halo","parent":"series-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"plotOptions-funnel-states-hover-halo","fullname":"plotOptions.funnel.states.hover.halo","title":"halo","parent":"plotOptions-funnel-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"series-states-hover-halo","fullname":"series.states.hover.halo","title":"halo","parent":"series-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"plotOptions-bubble-states-hover-halo","fullname":"plotOptions.bubble.states.hover.halo","title":"halo","parent":"plotOptions-bubble-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"series-states-hover-halo","fullname":"series.states.hover.halo","title":"halo","parent":"series-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"plotOptions-scatter-states-hover-halo","fullname":"plotOptions.scatter.states.hover.halo","title":"halo","parent":"plotOptions-scatter-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"plotOptions-line-states-hover-halo","fullname":"plotOptions.line.states.hover.halo","title":"halo","parent":"plotOptions-line-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"plotOptions-spline-states-hover-halo","fullname":"plotOptions.spline.states.hover.halo","title":"halo","parent":"plotOptions-spline-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"plotOptions-solidgauge-states-hover-halo","fullname":"plotOptions.solidgauge.states.hover.halo","title":"halo","parent":"plotOptions-solidgauge-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"plotOptions-boxplot-states-hover-halo","fullname":"plotOptions.boxplot.states.hover.halo","title":"halo","parent":"plotOptions-boxplot-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"plotOptions-pyramid-states-hover-halo","fullname":"plotOptions.pyramid.states.hover.halo","title":"halo","parent":"plotOptions-pyramid-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"series-states-hover-halo","fullname":"series.states.hover.halo","title":"halo","parent":"series-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"plotOptions-areaspline-states-hover-halo","fullname":"plotOptions.areaspline.states.hover.halo","title":"halo","parent":"plotOptions-areaspline-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"series-states-hover-halo","fullname":"series.states.hover.halo","title":"halo","parent":"series-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"plotOptions-columnrange-states-hover-halo","fullname":"plotOptions.columnrange.states.hover.halo","title":"halo","parent":"plotOptions-columnrange-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"series-states-hover-halo","fullname":"series.states.hover.halo","title":"halo","parent":"series-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"plotOptions-pie-states-hover-halo","fullname":"plotOptions.pie.states.hover.halo","title":"halo","parent":"plotOptions-pie-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"series-states-hover-halo","fullname":"series.states.hover.halo","title":"halo","parent":"series-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"series-states-hover-halo","fullname":"series.states.hover.halo","title":"halo","parent":"series-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"plotOptions-arearange-states-hover-halo","fullname":"plotOptions.arearange.states.hover.halo","title":"halo","parent":"plotOptions-arearange-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"series-states-hover-halo","fullname":"series.states.hover.halo","title":"halo","parent":"series-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"plotOptions-treemap-states-hover-halo","fullname":"plotOptions.treemap.states.hover.halo","title":"halo","parent":"plotOptions-treemap-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"plotOptions-column-states-hover-halo","fullname":"plotOptions.column.states.hover.halo","title":"halo","parent":"plotOptions-column-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"series-states-hover-halo","fullname":"series.states.hover.halo","title":"halo","parent":"series-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"plotOptions-areasplinerange-states-hover-halo","fullname":"plotOptions.areasplinerange.states.hover.halo","title":"halo","parent":"plotOptions-areasplinerange-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"plotOptions-polygon-states-hover-halo","fullname":"plotOptions.polygon.states.hover.halo","title":"halo","parent":"plotOptions-polygon-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"plotOptions-heatmap-states-hover-halo","fullname":"plotOptions.heatmap.states.hover.halo","title":"halo","parent":"plotOptions-heatmap-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"series-states-hover-halo","fullname":"series.states.hover.halo","title":"halo","parent":"series-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"series-states-hover-halo","fullname":"series.states.hover.halo","title":"halo","parent":"series-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"plotOptions-bar-states-hover-halo","fullname":"plotOptions.bar.states.hover.halo","title":"halo","parent":"plotOptions-bar-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"series-states-hover-halo","fullname":"series.states.hover.halo","title":"halo","parent":"series-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"series-states-hover-halo","fullname":"series.states.hover.halo","title":"halo","parent":"series-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"series-states-hover-halo","fullname":"series.states.hover.halo","title":"halo","parent":"series-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"series-states-hover-halo","fullname":"series.states.hover.halo","title":"halo","parent":"series-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"series-states-hover-halo","fullname":"series.states.hover.halo","title":"halo","parent":"series-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"series-states-hover-halo","fullname":"series.states.hover.halo","title":"halo","parent":"series-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"plotOptions-errorbar-states-hover-halo","fullname":"plotOptions.errorbar.states.hover.halo","title":"halo","parent":"plotOptions-errorbar-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"plotOptions-area-states-hover-halo","fullname":"plotOptions.area.states.hover.halo","title":"halo","parent":"plotOptions-area-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"series-states-hover-halo","fullname":"series.states.hover.halo","title":"halo","parent":"series-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"series-states-hover-halo","fullname":"series.states.hover.halo","title":"halo","parent":"series-states-hover","isParent":true,"returnType":"Object","since":"4.0","description":"Options for the halo appearing around the hovered point in line-type series as well as outside the hovered slice in pie charts. By default the halo is filled by the current point or series color with an opacity of 0.25. The halo can be disabled by setting the halo option to false.","demo":"Halo options","deprecated":false},{"name":"series-tooltip--headerFormat","fullname":"series.tooltip.headerFormat","title":"headerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"series-tooltip--headerFormat","fullname":"series.tooltip.headerFormat","title":"headerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline-tooltip--headerFormat","fullname":"plotOptions.areaspline.tooltip.headerFormat","title":"headerFormat","parent":"plotOptions-areaspline-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"series-tooltip--headerFormat","fullname":"series.tooltip.headerFormat","title":"headerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"series-tooltip--headerFormat","fullname":"series.tooltip.headerFormat","title":"headerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"series-tooltip--headerFormat","fullname":"series.tooltip.headerFormat","title":"headerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"plotOptions-line-tooltip--headerFormat","fullname":"plotOptions.line.tooltip.headerFormat","title":"headerFormat","parent":"plotOptions-line-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"plotOptions-spline-tooltip--headerFormat","fullname":"plotOptions.spline.tooltip.headerFormat","title":"headerFormat","parent":"plotOptions-spline-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange-tooltip--headerFormat","fullname":"plotOptions.columnrange.tooltip.headerFormat","title":"headerFormat","parent":"plotOptions-columnrange-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"plotOptions-arearange-tooltip--headerFormat","fullname":"plotOptions.arearange.tooltip.headerFormat","title":"headerFormat","parent":"plotOptions-arearange-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"series-tooltip--headerFormat","fullname":"series.tooltip.headerFormat","title":"headerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon-tooltip--headerFormat","fullname":"plotOptions.polygon.tooltip.headerFormat","title":"headerFormat","parent":"plotOptions-polygon-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"plotOptions-pie-tooltip--headerFormat","fullname":"plotOptions.pie.tooltip.headerFormat","title":"headerFormat","parent":"plotOptions-pie-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"series-tooltip--headerFormat","fullname":"series.tooltip.headerFormat","title":"headerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"series-tooltip--headerFormat","fullname":"series.tooltip.headerFormat","title":"headerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","context":"","defaults":"\"\"","values":"","since":"4.1.0","description":"The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"series-tooltip--headerFormat","fullname":"series.tooltip.headerFormat","title":"headerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"series-tooltip--headerFormat","fullname":"series.tooltip.headerFormat","title":"headerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"series-tooltip--headerFormat","fullname":"series.tooltip.headerFormat","title":"headerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"tooltip--headerFormat","fullname":"tooltip.headerFormat","title":"headerFormat","parent":"tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"plotOptions-column-tooltip--headerFormat","fullname":"plotOptions.column.tooltip.headerFormat","title":"headerFormat","parent":"plotOptions-column-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"plotOptions-gauge-tooltip--headerFormat","fullname":"plotOptions.gauge.tooltip.headerFormat","title":"headerFormat","parent":"plotOptions-gauge-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"series-tooltip--headerFormat","fullname":"series.tooltip.headerFormat","title":"headerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"plotOptions-bar-tooltip--headerFormat","fullname":"plotOptions.bar.tooltip.headerFormat","title":"headerFormat","parent":"plotOptions-bar-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"plotOptions-boxplot-tooltip--headerFormat","fullname":"plotOptions.boxplot.tooltip.headerFormat","title":"headerFormat","parent":"plotOptions-boxplot-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid-tooltip--headerFormat","fullname":"plotOptions.pyramid.tooltip.headerFormat","title":"headerFormat","parent":"plotOptions-pyramid-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"series-tooltip--headerFormat","fullname":"series.tooltip.headerFormat","title":"headerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"series-tooltip--headerFormat","fullname":"series.tooltip.headerFormat","title":"headerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"plotOptions-errorbar-tooltip--headerFormat","fullname":"plotOptions.errorbar.tooltip.headerFormat","title":"headerFormat","parent":"plotOptions-errorbar-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble-tooltip--headerFormat","fullname":"plotOptions.bubble.tooltip.headerFormat","title":"headerFormat","parent":"plotOptions-bubble-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"series-tooltip--headerFormat","fullname":"series.tooltip.headerFormat","title":"headerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"plotOptions-treemap-tooltip--headerFormat","fullname":"plotOptions.treemap.tooltip.headerFormat","title":"headerFormat","parent":"plotOptions-treemap-tooltip","isParent":false,"returnType":"String","context":"","defaults":"\"\"","values":"","since":"4.1.0","description":"The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"plotOptions-area-tooltip--headerFormat","fullname":"plotOptions.area.tooltip.headerFormat","title":"headerFormat","parent":"plotOptions-area-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"series-tooltip--headerFormat","fullname":"series.tooltip.headerFormat","title":"headerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"plotOptions-series-tooltip--headerFormat","fullname":"plotOptions.series.tooltip.headerFormat","title":"headerFormat","parent":"plotOptions-series-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"plotOptions-areasplinerange-tooltip--headerFormat","fullname":"plotOptions.areasplinerange.tooltip.headerFormat","title":"headerFormat","parent":"plotOptions-areasplinerange-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"plotOptions-waterfall-tooltip--headerFormat","fullname":"plotOptions.waterfall.tooltip.headerFormat","title":"headerFormat","parent":"plotOptions-waterfall-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"series-tooltip--headerFormat","fullname":"series.tooltip.headerFormat","title":"headerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"plotOptions-scatter-tooltip--headerFormat","fullname":"plotOptions.scatter.tooltip.headerFormat","title":"headerFormat","parent":"plotOptions-scatter-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"plotOptions-funnel-tooltip--headerFormat","fullname":"plotOptions.funnel.tooltip.headerFormat","title":"headerFormat","parent":"plotOptions-funnel-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"series-tooltip--headerFormat","fullname":"series.tooltip.headerFormat","title":"headerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"series-tooltip--headerFormat","fullname":"series.tooltip.headerFormat","title":"headerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"plotOptions-heatmap-tooltip--headerFormat","fullname":"plotOptions.heatmap.tooltip.headerFormat","title":"headerFormat","parent":"plotOptions-heatmap-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"series-tooltip--headerFormat","fullname":"series.tooltip.headerFormat","title":"headerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"series-tooltip--headerFormat","fullname":"series.tooltip.headerFormat","title":"headerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"series-tooltip--headerFormat","fullname":"series.tooltip.headerFormat","title":"headerFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"plotOptions-solidgauge-tooltip--headerFormat","fullname":"plotOptions.solidgauge.tooltip.headerFormat","title":"headerFormat","parent":"plotOptions-solidgauge-tooltip","isParent":false,"returnType":"String","defaults":"","values":"","since":"","description":"

The HTML of the tooltip header line. Variables are enclosed by curly brackets. Available variables\t\t\tare point.key, series.name, series.color and other members from the point and series objects. The point.key variable contains the category name, x value or datetime string depending on the type of axis. For datetime axes, the point.key date format can be set using tooltip.xDateFormat.

\r \r\n

Defaults to <span style=\"font-size: 10px\">{point.key}</span><br/>

","demo":"A HTML table in the tooltip","seeAlso":"","deprecated":false},{"name":"plotOptions-heatmap","fullname":"plotOptions.heatmap","title":"heatmap","parent":"plotOptions","isParent":true,"returnType":"Object","since":"4.0","description":"

The heatmap series type. This series type is available both in Highcharts and Highmaps.

\r\n\r\n

The colors of each heat map point is usually determined by its value and controlled by settings on the colorAxis.

","deprecated":false},{"name":"series-data-marker--height","fullname":"series.data.marker.height","title":"height","parent":"series-data-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-area-marker--height","fullname":"plotOptions.area.marker.height","title":"height","parent":"plotOptions-area-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon-marker--height","fullname":"plotOptions.polygon.marker.height","title":"height","parent":"plotOptions-polygon-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-marker--height","fullname":"series.marker.height","title":"height","parent":"series-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon-states-hover-marker--height","fullname":"plotOptions.polygon.states.hover.marker.height","title":"height","parent":"plotOptions-polygon-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-spline-marker--height","fullname":"plotOptions.spline.marker.height","title":"height","parent":"plotOptions-spline-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-area-states-hover-marker--height","fullname":"plotOptions.area.states.hover.marker.height","title":"height","parent":"plotOptions-area-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-funnel--height","fullname":"plotOptions.funnel.height","title":"height","parent":"plotOptions-funnel","isParent":false,"returnType":"Number|String","since":"3.0","description":"The height of the funnel or pyramid. If it is a number it defines the pixel height, if it is a percentage string it is the percentage of the plot area height.","demo":"Funnel demo","deprecated":false},{"name":"series-states-hover-marker--height","fullname":"series.states.hover.marker.height","title":"height","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-data-marker--height","fullname":"series.data.marker.height","title":"height","parent":"series-data-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-marker--height","fullname":"series.marker.height","title":"height","parent":"series-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--height","fullname":"series.states.hover.marker.height","title":"height","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-spline-states-hover-marker--height","fullname":"plotOptions.spline.states.hover.marker.height","title":"height","parent":"plotOptions-spline-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble-marker--height","fullname":"plotOptions.bubble.marker.height","title":"height","parent":"plotOptions-bubble-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--height","fullname":"series.states.hover.marker.height","title":"height","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--height","fullname":"series.states.hover.marker.height","title":"height","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-pie-states-hover-marker--height","fullname":"plotOptions.pie.states.hover.marker.height","title":"height","parent":"plotOptions-pie-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-marker--height","fullname":"series.marker.height","title":"height","parent":"series-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-solidgauge-states-hover-marker--height","fullname":"plotOptions.solidgauge.states.hover.marker.height","title":"height","parent":"plotOptions-solidgauge-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--height","fullname":"series.states.hover.marker.height","title":"height","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--height","fullname":"series.states.hover.marker.height","title":"height","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--height","fullname":"series.states.hover.marker.height","title":"height","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-waterfall-states-hover-marker--height","fullname":"plotOptions.waterfall.states.hover.marker.height","title":"height","parent":"plotOptions-waterfall-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange-states-hover-marker--height","fullname":"plotOptions.columnrange.states.hover.marker.height","title":"height","parent":"plotOptions-columnrange-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--height","fullname":"series.states.hover.marker.height","title":"height","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--height","fullname":"series.states.hover.marker.height","title":"height","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--height","fullname":"series.states.hover.marker.height","title":"height","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid-states-hover-marker--height","fullname":"plotOptions.pyramid.states.hover.marker.height","title":"height","parent":"plotOptions-pyramid-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-line-marker--height","fullname":"plotOptions.line.marker.height","title":"height","parent":"plotOptions-line-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--height","fullname":"series.states.hover.marker.height","title":"height","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--height","fullname":"series.states.hover.marker.height","title":"height","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-heatmap-states-hover-marker--height","fullname":"plotOptions.heatmap.states.hover.marker.height","title":"height","parent":"plotOptions-heatmap-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline-marker--height","fullname":"plotOptions.areaspline.marker.height","title":"height","parent":"plotOptions-areaspline-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--height","fullname":"series.states.hover.marker.height","title":"height","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline-states-hover-marker--height","fullname":"plotOptions.areaspline.states.hover.marker.height","title":"height","parent":"plotOptions-areaspline-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--height","fullname":"series.states.hover.marker.height","title":"height","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-marker--height","fullname":"series.marker.height","title":"height","parent":"series-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-marker--height","fullname":"series.marker.height","title":"height","parent":"series-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--height","fullname":"series.states.hover.marker.height","title":"height","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-bar-states-hover-marker--height","fullname":"plotOptions.bar.states.hover.marker.height","title":"height","parent":"plotOptions-bar-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-data-marker--height","fullname":"series.data.marker.height","title":"height","parent":"series-data-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-series-states-hover-marker--height","fullname":"plotOptions.series.states.hover.marker.height","title":"height","parent":"plotOptions-series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series--height","fullname":"series.height","title":"height","parent":"series","isParent":false,"returnType":"Number|String","since":"3.0","description":"The height of the funnel or pyramid. If it is a number it defines the pixel height, if it is a percentage string it is the percentage of the plot area height.","demo":"Funnel demo","deprecated":false},{"name":"plotOptions-line-states-hover-marker--height","fullname":"plotOptions.line.states.hover.marker.height","title":"height","parent":"plotOptions-line-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid--height","fullname":"plotOptions.pyramid.height","title":"height","parent":"plotOptions-pyramid","isParent":false,"returnType":"Number|String","since":"3.0","description":"The height of the funnel or pyramid. If it is a number it defines the pixel height, if it is a percentage string it is the percentage of the plot area height.","demo":"Funnel demo","deprecated":false},{"name":"series-data-marker--height","fullname":"series.data.marker.height","title":"height","parent":"series-data-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--height","fullname":"series.states.hover.marker.height","title":"height","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-data-marker--height","fullname":"series.data.marker.height","title":"height","parent":"series-data-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--height","fullname":"series.states.hover.marker.height","title":"height","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-data-marker--height","fullname":"series.data.marker.height","title":"height","parent":"series-data-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-scatter-states-hover-marker--height","fullname":"plotOptions.scatter.states.hover.marker.height","title":"height","parent":"plotOptions-scatter-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-scatter-marker--height","fullname":"plotOptions.scatter.marker.height","title":"height","parent":"plotOptions-scatter-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--height","fullname":"series.states.hover.marker.height","title":"height","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-series-marker--height","fullname":"plotOptions.series.marker.height","title":"height","parent":"plotOptions-series-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--height","fullname":"series.states.hover.marker.height","title":"height","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--height","fullname":"series.states.hover.marker.height","title":"height","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-errorbar-states-hover-marker--height","fullname":"plotOptions.errorbar.states.hover.marker.height","title":"height","parent":"plotOptions-errorbar-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"navigation-buttonOptions--height","fullname":"navigation.buttonOptions.height","title":"height","parent":"navigation-buttonOptions","isParent":false,"returnType":"Number","defaults":"20","since":"2.0","description":"Pixel height of the buttons.","demo":"Bigger buttons"},{"name":"plotOptions-gauge-states-hover-marker--height","fullname":"plotOptions.gauge.states.hover.marker.height","title":"height","parent":"plotOptions-gauge-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-marker--height","fullname":"series.marker.height","title":"height","parent":"series-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"exporting-buttons-contextButton--height","fullname":"exporting.buttons.contextButton.height","title":"height","parent":"exporting-buttons-contextButton","isParent":false,"returnType":"Number","defaults":"20","since":"2.0","description":"Pixel height of the buttons.","demo":"Bigger buttons"},{"name":"plotOptions-boxplot-states-hover-marker--height","fullname":"plotOptions.boxplot.states.hover.marker.height","title":"height","parent":"plotOptions-boxplot-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-marker--height","fullname":"series.marker.height","title":"height","parent":"series-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-treemap-states-hover-marker--height","fullname":"plotOptions.treemap.states.hover.marker.height","title":"height","parent":"plotOptions-treemap-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-areasplinerange-states-hover-marker--height","fullname":"plotOptions.areasplinerange.states.hover.marker.height","title":"height","parent":"plotOptions-areasplinerange-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-funnel-states-hover-marker--height","fullname":"plotOptions.funnel.states.hover.marker.height","title":"height","parent":"plotOptions-funnel-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"chart--height","fullname":"chart.height","title":"height","parent":"chart","isParent":false,"returnType":"Number","description":"An explicit height for the chart. By default the height is calculated from the offset height of the containing element, or 400 pixels if the containing element's height is 0.","demo":"500px height","deprecated":false},{"name":"plotOptions-arearange-states-hover-marker--height","fullname":"plotOptions.arearange.states.hover.marker.height","title":"height","parent":"plotOptions-arearange-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series--height","fullname":"series.height","title":"height","parent":"series","isParent":false,"returnType":"Number|String","since":"3.0","description":"The height of the funnel or pyramid. If it is a number it defines the pixel height, if it is a percentage string it is the percentage of the plot area height.","demo":"Funnel demo","deprecated":false},{"name":"series-states-hover-marker--height","fullname":"series.states.hover.marker.height","title":"height","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--height","fullname":"series.states.hover.marker.height","title":"height","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble-states-hover-marker--height","fullname":"plotOptions.bubble.states.hover.marker.height","title":"height","parent":"plotOptions-bubble-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-column-states-hover-marker--height","fullname":"plotOptions.column.states.hover.marker.height","title":"height","parent":"plotOptions-column-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a width must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-events--hide","fullname":"series.events.hide","title":"hide","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"series-events--hide","fullname":"series.events.hide","title":"hide","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"plotOptions-pie-events--hide","fullname":"plotOptions.pie.events.hide","title":"hide","parent":"plotOptions-pie-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"plotOptions-areasplinerange-events--hide","fullname":"plotOptions.areasplinerange.events.hide","title":"hide","parent":"plotOptions-areasplinerange-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"plotOptions-polygon-events--hide","fullname":"plotOptions.polygon.events.hide","title":"hide","parent":"plotOptions-polygon-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"plotOptions-bubble-events--hide","fullname":"plotOptions.bubble.events.hide","title":"hide","parent":"plotOptions-bubble-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"series-events--hide","fullname":"series.events.hide","title":"hide","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"series-events--hide","fullname":"series.events.hide","title":"hide","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"series-events--hide","fullname":"series.events.hide","title":"hide","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"plotOptions-treemap-events--hide","fullname":"plotOptions.treemap.events.hide","title":"hide","parent":"plotOptions-treemap-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"plotOptions-funnel-events--hide","fullname":"plotOptions.funnel.events.hide","title":"hide","parent":"plotOptions-funnel-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"series-events--hide","fullname":"series.events.hide","title":"hide","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"plotOptions-errorbar-events--hide","fullname":"plotOptions.errorbar.events.hide","title":"hide","parent":"plotOptions-errorbar-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"plotOptions-areaspline-events--hide","fullname":"plotOptions.areaspline.events.hide","title":"hide","parent":"plotOptions-areaspline-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"plotOptions-scatter-events--hide","fullname":"plotOptions.scatter.events.hide","title":"hide","parent":"plotOptions-scatter-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"plotOptions-series-events--hide","fullname":"plotOptions.series.events.hide","title":"hide","parent":"plotOptions-series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"series-events--hide","fullname":"series.events.hide","title":"hide","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"plotOptions-column-events--hide","fullname":"plotOptions.column.events.hide","title":"hide","parent":"plotOptions-column-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"series-events--hide","fullname":"series.events.hide","title":"hide","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"plotOptions-solidgauge-events--hide","fullname":"plotOptions.solidgauge.events.hide","title":"hide","parent":"plotOptions-solidgauge-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"series-events--hide","fullname":"series.events.hide","title":"hide","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"series-events--hide","fullname":"series.events.hide","title":"hide","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"plotOptions-boxplot-events--hide","fullname":"plotOptions.boxplot.events.hide","title":"hide","parent":"plotOptions-boxplot-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"series-events--hide","fullname":"series.events.hide","title":"hide","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"series-events--hide","fullname":"series.events.hide","title":"hide","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"plotOptions-heatmap-events--hide","fullname":"plotOptions.heatmap.events.hide","title":"hide","parent":"plotOptions-heatmap-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"plotOptions-pyramid-events--hide","fullname":"plotOptions.pyramid.events.hide","title":"hide","parent":"plotOptions-pyramid-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"series-events--hide","fullname":"series.events.hide","title":"hide","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"series-events--hide","fullname":"series.events.hide","title":"hide","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"series-events--hide","fullname":"series.events.hide","title":"hide","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"series-events--hide","fullname":"series.events.hide","title":"hide","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"plotOptions-columnrange-events--hide","fullname":"plotOptions.columnrange.events.hide","title":"hide","parent":"plotOptions-columnrange-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"series-events--hide","fullname":"series.events.hide","title":"hide","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"plotOptions-spline-events--hide","fullname":"plotOptions.spline.events.hide","title":"hide","parent":"plotOptions-spline-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"plotOptions-waterfall-events--hide","fullname":"plotOptions.waterfall.events.hide","title":"hide","parent":"plotOptions-waterfall-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"plotOptions-bar-events--hide","fullname":"plotOptions.bar.events.hide","title":"hide","parent":"plotOptions-bar-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"series-events--hide","fullname":"series.events.hide","title":"hide","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"plotOptions-line-events--hide","fullname":"plotOptions.line.events.hide","title":"hide","parent":"plotOptions-line-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"series-events--hide","fullname":"series.events.hide","title":"hide","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"plotOptions-gauge-events--hide","fullname":"plotOptions.gauge.events.hide","title":"hide","parent":"plotOptions-gauge-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"series-events--hide","fullname":"series.events.hide","title":"hide","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"plotOptions-area-events--hide","fullname":"plotOptions.area.events.hide","title":"hide","parent":"plotOptions-area-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"series-events--hide","fullname":"series.events.hide","title":"hide","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"series-events--hide","fullname":"series.events.hide","title":"hide","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"plotOptions-arearange-events--hide","fullname":"plotOptions.arearange.events.hide","title":"hide","parent":"plotOptions-arearange-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is hidden after chart generation time, either by clicking the legend item or by calling .hide().","demo":"Alert when the series is hidden by clicking \r\n\t\t\tthe legend item","deprecated":false},{"name":"plotOptions-area-tooltip--hideDelay","fullname":"plotOptions.area.tooltip.hideDelay","title":"hideDelay","parent":"plotOptions-area-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--hideDelay","fullname":"series.tooltip.hideDelay","title":"hideDelay","parent":"series-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--hideDelay","fullname":"series.tooltip.hideDelay","title":"hideDelay","parent":"series-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--hideDelay","fullname":"series.tooltip.hideDelay","title":"hideDelay","parent":"series-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange-tooltip--hideDelay","fullname":"plotOptions.columnrange.tooltip.hideDelay","title":"hideDelay","parent":"plotOptions-columnrange-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--hideDelay","fullname":"series.tooltip.hideDelay","title":"hideDelay","parent":"series-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--hideDelay","fullname":"series.tooltip.hideDelay","title":"hideDelay","parent":"series-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--hideDelay","fullname":"series.tooltip.hideDelay","title":"hideDelay","parent":"series-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--hideDelay","fullname":"series.tooltip.hideDelay","title":"hideDelay","parent":"series-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-areasplinerange-tooltip--hideDelay","fullname":"plotOptions.areasplinerange.tooltip.hideDelay","title":"hideDelay","parent":"plotOptions-areasplinerange-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--hideDelay","fullname":"series.tooltip.hideDelay","title":"hideDelay","parent":"series-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--hideDelay","fullname":"series.tooltip.hideDelay","title":"hideDelay","parent":"series-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--hideDelay","fullname":"series.tooltip.hideDelay","title":"hideDelay","parent":"series-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-column-tooltip--hideDelay","fullname":"plotOptions.column.tooltip.hideDelay","title":"hideDelay","parent":"plotOptions-column-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bar-tooltip--hideDelay","fullname":"plotOptions.bar.tooltip.hideDelay","title":"hideDelay","parent":"plotOptions-bar-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon-tooltip--hideDelay","fullname":"plotOptions.polygon.tooltip.hideDelay","title":"hideDelay","parent":"plotOptions-polygon-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-series-tooltip--hideDelay","fullname":"plotOptions.series.tooltip.hideDelay","title":"hideDelay","parent":"plotOptions-series-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-errorbar-tooltip--hideDelay","fullname":"plotOptions.errorbar.tooltip.hideDelay","title":"hideDelay","parent":"plotOptions-errorbar-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--hideDelay","fullname":"series.tooltip.hideDelay","title":"hideDelay","parent":"series-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pie-tooltip--hideDelay","fullname":"plotOptions.pie.tooltip.hideDelay","title":"hideDelay","parent":"plotOptions-pie-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-spline-tooltip--hideDelay","fullname":"plotOptions.spline.tooltip.hideDelay","title":"hideDelay","parent":"plotOptions-spline-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--hideDelay","fullname":"series.tooltip.hideDelay","title":"hideDelay","parent":"series-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid-tooltip--hideDelay","fullname":"plotOptions.pyramid.tooltip.hideDelay","title":"hideDelay","parent":"plotOptions-pyramid-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-waterfall-tooltip--hideDelay","fullname":"plotOptions.waterfall.tooltip.hideDelay","title":"hideDelay","parent":"plotOptions-waterfall-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--hideDelay","fullname":"series.tooltip.hideDelay","title":"hideDelay","parent":"series-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble-tooltip--hideDelay","fullname":"plotOptions.bubble.tooltip.hideDelay","title":"hideDelay","parent":"plotOptions-bubble-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-heatmap-tooltip--hideDelay","fullname":"plotOptions.heatmap.tooltip.hideDelay","title":"hideDelay","parent":"plotOptions-heatmap-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--hideDelay","fullname":"series.tooltip.hideDelay","title":"hideDelay","parent":"series-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-gauge-tooltip--hideDelay","fullname":"plotOptions.gauge.tooltip.hideDelay","title":"hideDelay","parent":"plotOptions-gauge-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--hideDelay","fullname":"series.tooltip.hideDelay","title":"hideDelay","parent":"series-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-line-tooltip--hideDelay","fullname":"plotOptions.line.tooltip.hideDelay","title":"hideDelay","parent":"plotOptions-line-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--hideDelay","fullname":"series.tooltip.hideDelay","title":"hideDelay","parent":"series-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"tooltip--hideDelay","fullname":"tooltip.hideDelay","title":"hideDelay","parent":"tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-scatter-tooltip--hideDelay","fullname":"plotOptions.scatter.tooltip.hideDelay","title":"hideDelay","parent":"plotOptions-scatter-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--hideDelay","fullname":"series.tooltip.hideDelay","title":"hideDelay","parent":"series-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-funnel-tooltip--hideDelay","fullname":"plotOptions.funnel.tooltip.hideDelay","title":"hideDelay","parent":"plotOptions-funnel-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--hideDelay","fullname":"series.tooltip.hideDelay","title":"hideDelay","parent":"series-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--hideDelay","fullname":"series.tooltip.hideDelay","title":"hideDelay","parent":"series-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--hideDelay","fullname":"series.tooltip.hideDelay","title":"hideDelay","parent":"series-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-boxplot-tooltip--hideDelay","fullname":"plotOptions.boxplot.tooltip.hideDelay","title":"hideDelay","parent":"plotOptions-boxplot-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-treemap-tooltip--hideDelay","fullname":"plotOptions.treemap.tooltip.hideDelay","title":"hideDelay","parent":"plotOptions-treemap-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline-tooltip--hideDelay","fullname":"plotOptions.areaspline.tooltip.hideDelay","title":"hideDelay","parent":"plotOptions-areaspline-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--hideDelay","fullname":"series.tooltip.hideDelay","title":"hideDelay","parent":"series-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-solidgauge-tooltip--hideDelay","fullname":"plotOptions.solidgauge.tooltip.hideDelay","title":"hideDelay","parent":"plotOptions-solidgauge-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-arearange-tooltip--hideDelay","fullname":"plotOptions.arearange.tooltip.hideDelay","title":"hideDelay","parent":"plotOptions-arearange-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--hideDelay","fullname":"series.tooltip.hideDelay","title":"hideDelay","parent":"series-tooltip","isParent":false,"returnType":"Number","defaults":"500","values":"","since":"3.0","description":"The number of milliseconds to wait until the tooltip is hidden when mouse out from a point or chart. ","demo":"","seeAlso":"","deprecated":false},{"name":"loading--hideDuration","fullname":"loading.hideDuration","title":"hideDuration","parent":"loading","isParent":false,"returnType":"Number","defaults":"100","since":"1.2.0","description":"The duration in milliseconds of the fade out effect.","demo":"Fade in and out over a second"},{"name":"series-data--high","fullname":"series.data.high","title":"high","parent":"series-data","isParent":false,"returnType":"Number","description":"The high or maximum value for each data point."},{"name":"series-data--high","fullname":"series.data.high","title":"high","parent":"series-data","isParent":false,"returnType":"Number","description":"The high or maximum value for each data point."},{"name":"series-data--high","fullname":"series.data.high","title":"high","parent":"series-data","isParent":false,"returnType":"Number","description":"The high or maximum value for each data point."},{"name":"series-data--high","fullname":"series.data.high","title":"high","parent":"series-data","isParent":false,"returnType":"Number","description":"The high or maximum value for each data point."},{"name":"series-data--high","fullname":"series.data.high","title":"high","parent":"series-data","isParent":false,"returnType":"Number","description":"The high value for each data point, signifying the highest value in the sample set. The top whisker is drawn here."},{"name":"series-states-hover","fullname":"series.states.hover","title":"hover","parent":"series-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"plotOptions-bar-states-hover","fullname":"plotOptions.bar.states.hover","title":"hover","parent":"plotOptions-bar-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"series-states-hover","fullname":"series.states.hover","title":"hover","parent":"series-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"series-states-hover","fullname":"series.states.hover","title":"hover","parent":"series-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"plotOptions-solidgauge-states-hover","fullname":"plotOptions.solidgauge.states.hover","title":"hover","parent":"plotOptions-solidgauge-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"series-marker-states-hover","fullname":"series.marker.states.hover","title":"hover","parent":"series-marker-states","isParent":true},{"name":"series-marker-states-hover","fullname":"series.marker.states.hover","title":"hover","parent":"series-marker-states","isParent":true},{"name":"plotOptions-areasplinerange-states-hover","fullname":"plotOptions.areasplinerange.states.hover","title":"hover","parent":"plotOptions-areasplinerange-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"series-marker-states-hover","fullname":"series.marker.states.hover","title":"hover","parent":"series-marker-states","isParent":true},{"name":"series-data-marker-states-hover","fullname":"series.data.marker.states.hover","title":"hover","parent":"series-data-marker-states","isParent":true},{"name":"plotOptions-scatter-states-hover","fullname":"plotOptions.scatter.states.hover","title":"hover","parent":"plotOptions-scatter-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"plotOptions-boxplot-states-hover","fullname":"plotOptions.boxplot.states.hover","title":"hover","parent":"plotOptions-boxplot-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"plotOptions-arearange-states-hover","fullname":"plotOptions.arearange.states.hover","title":"hover","parent":"plotOptions-arearange-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"series-states-hover","fullname":"series.states.hover","title":"hover","parent":"series-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"plotOptions-area-states-hover","fullname":"plotOptions.area.states.hover","title":"hover","parent":"plotOptions-area-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"series-marker-states-hover","fullname":"series.marker.states.hover","title":"hover","parent":"series-marker-states","isParent":true},{"name":"series-states-hover","fullname":"series.states.hover","title":"hover","parent":"series-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"series-states-hover","fullname":"series.states.hover","title":"hover","parent":"series-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"series-states-hover","fullname":"series.states.hover","title":"hover","parent":"series-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"plotOptions-area-marker-states-hover","fullname":"plotOptions.area.marker.states.hover","title":"hover","parent":"plotOptions-area-marker-states","isParent":true},{"name":"plotOptions-line-marker-states-hover","fullname":"plotOptions.line.marker.states.hover","title":"hover","parent":"plotOptions-line-marker-states","isParent":true},{"name":"plotOptions-bubble-states-hover","fullname":"plotOptions.bubble.states.hover","title":"hover","parent":"plotOptions-bubble-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"series-states-hover","fullname":"series.states.hover","title":"hover","parent":"series-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"series-states-hover","fullname":"series.states.hover","title":"hover","parent":"series-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"series-states-hover","fullname":"series.states.hover","title":"hover","parent":"series-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"series-data-marker-states-hover","fullname":"series.data.marker.states.hover","title":"hover","parent":"series-data-marker-states","isParent":true},{"name":"plotOptions-waterfall-states-hover","fullname":"plotOptions.waterfall.states.hover","title":"hover","parent":"plotOptions-waterfall-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"series-data-marker-states-hover","fullname":"series.data.marker.states.hover","title":"hover","parent":"series-data-marker-states","isParent":true},{"name":"series-marker-states-hover","fullname":"series.marker.states.hover","title":"hover","parent":"series-marker-states","isParent":true},{"name":"plotOptions-areaspline-marker-states-hover","fullname":"plotOptions.areaspline.marker.states.hover","title":"hover","parent":"plotOptions-areaspline-marker-states","isParent":true},{"name":"plotOptions-series-states-hover","fullname":"plotOptions.series.states.hover","title":"hover","parent":"plotOptions-series-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"plotOptions-treemap-states-hover","fullname":"plotOptions.treemap.states.hover","title":"hover","parent":"plotOptions-treemap-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"series-marker-states-hover","fullname":"series.marker.states.hover","title":"hover","parent":"series-marker-states","isParent":true},{"name":"series-states-hover","fullname":"series.states.hover","title":"hover","parent":"series-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"series-states-hover","fullname":"series.states.hover","title":"hover","parent":"series-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"plotOptions-funnel-states-hover","fullname":"plotOptions.funnel.states.hover","title":"hover","parent":"plotOptions-funnel-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"series-states-hover","fullname":"series.states.hover","title":"hover","parent":"series-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"series-data-marker-states-hover","fullname":"series.data.marker.states.hover","title":"hover","parent":"series-data-marker-states","isParent":true},{"name":"plotOptions-scatter-marker-states-hover","fullname":"plotOptions.scatter.marker.states.hover","title":"hover","parent":"plotOptions-scatter-marker-states","isParent":true},{"name":"plotOptions-spline-states-hover","fullname":"plotOptions.spline.states.hover","title":"hover","parent":"plotOptions-spline-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"series-states-hover","fullname":"series.states.hover","title":"hover","parent":"series-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"plotOptions-polygon-marker-states-hover","fullname":"plotOptions.polygon.marker.states.hover","title":"hover","parent":"plotOptions-polygon-marker-states","isParent":true},{"name":"plotOptions-areaspline-states-hover","fullname":"plotOptions.areaspline.states.hover","title":"hover","parent":"plotOptions-areaspline-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"series-data-marker-states-hover","fullname":"series.data.marker.states.hover","title":"hover","parent":"series-data-marker-states","isParent":true},{"name":"plotOptions-pie-states-hover","fullname":"plotOptions.pie.states.hover","title":"hover","parent":"plotOptions-pie-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"plotOptions-bubble-marker-states-hover","fullname":"plotOptions.bubble.marker.states.hover","title":"hover","parent":"plotOptions-bubble-marker-states","isParent":true},{"name":"plotOptions-heatmap-states-hover","fullname":"plotOptions.heatmap.states.hover","title":"hover","parent":"plotOptions-heatmap-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"series-states-hover","fullname":"series.states.hover","title":"hover","parent":"series-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"series-states-hover","fullname":"series.states.hover","title":"hover","parent":"series-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"plotOptions-line-states-hover","fullname":"plotOptions.line.states.hover","title":"hover","parent":"plotOptions-line-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"series-states-hover","fullname":"series.states.hover","title":"hover","parent":"series-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"plotOptions-spline-marker-states-hover","fullname":"plotOptions.spline.marker.states.hover","title":"hover","parent":"plotOptions-spline-marker-states","isParent":true},{"name":"series-states-hover","fullname":"series.states.hover","title":"hover","parent":"series-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"plotOptions-columnrange-states-hover","fullname":"plotOptions.columnrange.states.hover","title":"hover","parent":"plotOptions-columnrange-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"series-states-hover","fullname":"series.states.hover","title":"hover","parent":"series-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"plotOptions-series-marker-states-hover","fullname":"plotOptions.series.marker.states.hover","title":"hover","parent":"plotOptions-series-marker-states","isParent":true},{"name":"plotOptions-gauge-states-hover","fullname":"plotOptions.gauge.states.hover","title":"hover","parent":"plotOptions-gauge-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"series-data-marker-states-hover","fullname":"series.data.marker.states.hover","title":"hover","parent":"series-data-marker-states","isParent":true},{"name":"series-states-hover","fullname":"series.states.hover","title":"hover","parent":"series-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"plotOptions-errorbar-states-hover","fullname":"plotOptions.errorbar.states.hover","title":"hover","parent":"plotOptions-errorbar-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"plotOptions-column-states-hover","fullname":"plotOptions.column.states.hover","title":"hover","parent":"plotOptions-column-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"series-marker-states-hover","fullname":"series.marker.states.hover","title":"hover","parent":"series-marker-states","isParent":true},{"name":"plotOptions-polygon-states-hover","fullname":"plotOptions.polygon.states.hover","title":"hover","parent":"plotOptions-polygon-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"series-states-hover","fullname":"series.states.hover","title":"hover","parent":"series-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"plotOptions-pyramid-states-hover","fullname":"plotOptions.pyramid.states.hover","title":"hover","parent":"plotOptions-pyramid-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"series-states-hover","fullname":"series.states.hover","title":"hover","parent":"series-states","isParent":true,"description":"Options for the hovered series","deprecated":false},{"name":"credits--href","fullname":"credits.href","title":"href","parent":"credits","isParent":false,"returnType":"String","defaults":"http://www.highcharts.com","description":"The URL for the credits label.","demo":"Custom URL and text"},{"name":"labels-items--html","fullname":"labels.items.html","title":"html","parent":"labels-items","isParent":false,"returnType":"String","description":"Inner HTML or text for the label."},{"name":"series-data--id","fullname":"series.data.id","title":"id","parent":"series-data","isParent":false,"returnType":"String","since":"1.2.0","description":"An id for the point. This can be used after render time to get a pointer to the point object through chart.get().","demo":"Remove an id'd point"},{"name":"series-data--id","fullname":"series.data.id","title":"id","parent":"series-data","isParent":false,"returnType":"String","since":"1.2.0","description":"An id for the point. This can be used after render time to get a pointer to the point object through chart.get().","demo":"Remove an id'd point"},{"name":"series-data--id","fullname":"series.data.id","title":"id","parent":"series-data","isParent":false,"returnType":"String","since":"1.2.0","description":"An id for the point. This can be used after render time to get a pointer to the point object through chart.get().","demo":"Remove an id'd point"},{"name":"series-data--id","fullname":"series.data.id","title":"id","parent":"series-data","isParent":false,"returnType":"String","since":"1.2.0","description":"An id for the point. This can be used after render time to get a pointer to the point object through chart.get().","demo":"Remove an id'd point"},{"name":"xAxis-plotBands--id","fullname":"xAxis.plotBands.id","title":"id","parent":"xAxis-plotBands","isParent":false,"returnType":"String","description":"An id used for identifying the plot band in Axis.removePlotBand.","demo":"Remove plot band by id"},{"name":"series-data--id","fullname":"series.data.id","title":"id","parent":"series-data","isParent":false,"returnType":"String","since":"1.2.0","description":"An id for the point. This can be used after render time to get a pointer to the point object through chart.get().","demo":"Remove an id'd point"},{"name":"series--id","fullname":"series.id","title":"id","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"1.2.0","description":"An id for the series. This can be used after render time to get a pointer to the series object through chart.get().","demo":"Get series by id","seeAlso":"","deprecated":false},{"name":"series--id","fullname":"series.id","title":"id","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"1.2.0","description":"An id for the series. This can be used after render time to get a pointer to the series object through chart.get().","demo":"Get series by id","seeAlso":"","deprecated":false},{"name":"series--id","fullname":"series.id","title":"id","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"1.2.0","description":"An id for the series. This can be used after render time to get a pointer to the series object through chart.get().","demo":"Get series by id","seeAlso":"","deprecated":false},{"name":"series-data--id","fullname":"series.data.id","title":"id","parent":"series-data","isParent":false,"returnType":"String","since":"1.2.0","description":"An id for the point. This can be used after render time to get a pointer to the point object through chart.get().","demo":"Remove an id'd point"},{"name":"series-data--id","fullname":"series.data.id","title":"id","parent":"series-data","isParent":false,"returnType":"String","since":"1.2.0","description":"An id for the point. This can be used after render time to get a pointer to the point object through chart.get().","demo":"Remove an id'd point"},{"name":"series--id","fullname":"series.id","title":"id","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"1.2.0","description":"An id for the series. This can be used after render time to get a pointer to the series object through chart.get().","demo":"Get series by id","seeAlso":"","deprecated":false},{"name":"series-data--id","fullname":"series.data.id","title":"id","parent":"series-data","isParent":false,"returnType":"String","since":"1.2.0","description":"An id for the point. This can be used after render time to get a pointer to the point object through chart.get().","demo":"Remove an id'd point"},{"name":"series-data--id","fullname":"series.data.id","title":"id","parent":"series-data","isParent":false,"returnType":"String","since":"1.2.0","description":"An id for the point. This can be used after render time to get a pointer to the point object through chart.get().","demo":"Remove an id'd point"},{"name":"series--id","fullname":"series.id","title":"id","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"1.2.0","description":"An id for the series. This can be used after render time to get a pointer to the series object through chart.get().","demo":"Get series by id","seeAlso":"","deprecated":false},{"name":"series-data--id","fullname":"series.data.id","title":"id","parent":"series-data","isParent":false,"returnType":"String","since":"1.2.0","description":"An id for the point. This can be used after render time to get a pointer to the point object through chart.get().","demo":"Remove an id'd point"},{"name":"series-data--id","fullname":"series.data.id","title":"id","parent":"series-data","isParent":false,"returnType":"String","since":"1.2.0","description":"An id for the point. This can be used after render time to get a pointer to the point object through chart.get().","demo":"Remove an id'd point"},{"name":"xAxis--id","fullname":"xAxis.id","title":"id","parent":"xAxis","isParent":false,"returnType":"String","since":"1.2.0","description":"An id for the axis. This can be used after render time to get a pointer to the axis object through chart.get().","demo":"Get the object"},{"name":"series-data--id","fullname":"series.data.id","title":"id","parent":"series-data","isParent":false,"returnType":"String","since":"1.2.0","description":"An id for the point. This can be used after render time to get a pointer to the point object through chart.get().","demo":"Remove an id'd point"},{"name":"series--id","fullname":"series.id","title":"id","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"1.2.0","description":"An id for the series. This can be used after render time to get a pointer to the series object through chart.get().","demo":"Get series by id","seeAlso":"","deprecated":false},{"name":"series-data--id","fullname":"series.data.id","title":"id","parent":"series-data","isParent":false,"returnType":"String","since":"1.2.0","description":"An id for the point. This can be used after render time to get a pointer to the point object through chart.get().","demo":"Remove an id'd point"},{"name":"series--id","fullname":"series.id","title":"id","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"1.2.0","description":"An id for the series. This can be used after render time to get a pointer to the series object through chart.get().","demo":"Get series by id","seeAlso":"","deprecated":false},{"name":"series-data--id","fullname":"series.data.id","title":"id","parent":"series-data","isParent":false,"returnType":"String","since":"1.2.0","description":"An id for the point. This can be used after render time to get a pointer to the point object through chart.get().","demo":"Remove an id'd point"},{"name":"xAxis-plotLines--id","fullname":"xAxis.plotLines.id","title":"id","parent":"xAxis-plotLines","isParent":false,"returnType":"String","description":"An id used for identifying the plot line in Axis.removePlotLine.","demo":"Remove plot line by id"},{"name":"series--id","fullname":"series.id","title":"id","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"1.2.0","description":"An id for the series. This can be used after render time to get a pointer to the series object through chart.get().","demo":"Get series by id","seeAlso":"","deprecated":false},{"name":"series-data--id","fullname":"series.data.id","title":"id","parent":"series-data","isParent":false,"returnType":"String","since":"1.2.0","description":"An id for the point. This can be used after render time to get a pointer to the point object through chart.get().","demo":"Remove an id'd point"},{"name":"series--id","fullname":"series.id","title":"id","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"1.2.0","description":"An id for the series. This can be used after render time to get a pointer to the series object through chart.get().","demo":"Get series by id","seeAlso":"","deprecated":false},{"name":"series-data--id","fullname":"series.data.id","title":"id","parent":"series-data","isParent":false,"returnType":"String","since":"1.2.0","description":"An id for the point. This can be used after render time to get a pointer to the point object through chart.get().","demo":"Remove an id'd point"},{"name":"series-data--id","fullname":"series.data.id","title":"id","parent":"series-data","isParent":false,"returnType":"String","since":"1.2.0","description":"An id for the point. This can be used after render time to get a pointer to the point object through chart.get().","demo":"Remove an id'd point"},{"name":"series--id","fullname":"series.id","title":"id","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"1.2.0","description":"An id for the series. This can be used after render time to get a pointer to the series object through chart.get().","demo":"Get series by id","seeAlso":"","deprecated":false},{"name":"series--id","fullname":"series.id","title":"id","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"1.2.0","description":"An id for the series. This can be used after render time to get a pointer to the series object through chart.get().","demo":"Get series by id","seeAlso":"","deprecated":false},{"name":"series--id","fullname":"series.id","title":"id","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"1.2.0","description":"An id for the series. This can be used after render time to get a pointer to the series object through chart.get().","demo":"Get series by id","seeAlso":"","deprecated":false},{"name":"series--id","fullname":"series.id","title":"id","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"1.2.0","description":"An id for the series. This can be used after render time to get a pointer to the series object through chart.get().","demo":"Get series by id","seeAlso":"","deprecated":false},{"name":"series--id","fullname":"series.id","title":"id","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"1.2.0","description":"An id for the series. This can be used after render time to get a pointer to the series object through chart.get().","demo":"Get series by id","seeAlso":"","deprecated":false},{"name":"series--id","fullname":"series.id","title":"id","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"1.2.0","description":"An id for the series. This can be used after render time to get a pointer to the series object through chart.get().","demo":"Get series by id","seeAlso":"","deprecated":false},{"name":"series--id","fullname":"series.id","title":"id","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"1.2.0","description":"An id for the series. This can be used after render time to get a pointer to the series object through chart.get().","demo":"Get series by id","seeAlso":"","deprecated":false},{"name":"yAxis--id","fullname":"yAxis.id","title":"id","parent":"yAxis","isParent":false,"returnType":"String","since":"1.2.0","description":"An id for the axis. This can be used after render time to get a pointer to the axis object through chart.get().","demo":"Get the object"},{"name":"series-data--id","fullname":"series.data.id","title":"id","parent":"series-data","isParent":false,"returnType":"String","since":"1.2.0","description":"An id for the point. This can be used after render time to get a pointer to the point object through chart.get().","demo":"Remove an id'd point"},{"name":"series--id","fullname":"series.id","title":"id","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"1.2.0","description":"An id for the series. This can be used after render time to get a pointer to the series object through chart.get().","demo":"Get series by id","seeAlso":"","deprecated":false},{"name":"series-data--id","fullname":"series.data.id","title":"id","parent":"series-data","isParent":false,"returnType":"String","since":"1.2.0","description":"An id for the point. This can be used after render time to get a pointer to the point object through chart.get().","demo":"Remove an id'd point"},{"name":"series--id","fullname":"series.id","title":"id","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"1.2.0","description":"An id for the series. This can be used after render time to get a pointer to the series object through chart.get().","demo":"Get series by id","seeAlso":"","deprecated":false},{"name":"series--id","fullname":"series.id","title":"id","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"1.2.0","description":"An id for the series. This can be used after render time to get a pointer to the series object through chart.get().","demo":"Get series by id","seeAlso":"","deprecated":false},{"name":"series--id","fullname":"series.id","title":"id","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"1.2.0","description":"An id for the series. This can be used after render time to get a pointer to the series object through chart.get().","demo":"Get series by id","seeAlso":"","deprecated":false},{"name":"series--id","fullname":"series.id","title":"id","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"1.2.0","description":"An id for the series. This can be used after render time to get a pointer to the series object through chart.get().","demo":"Get series by id","seeAlso":"","deprecated":false},{"name":"series--id","fullname":"series.id","title":"id","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"1.2.0","description":"An id for the series. This can be used after render time to get a pointer to the series object through chart.get().","demo":"Get series by id","seeAlso":"","deprecated":false},{"name":"series-data--id","fullname":"series.data.id","title":"id","parent":"series-data","isParent":false,"returnType":"String","since":"1.2.0","description":"An id for the point. This can be used after render time to get a pointer to the point object through chart.get().","demo":"Remove an id'd point"},{"name":"yAxis-plotLines--id","fullname":"yAxis.plotLines.id","title":"id","parent":"yAxis-plotLines","isParent":false,"returnType":"String","description":"An id used for identifying the plot line in Axis.removePlotLine.","demo":"Remove plot line by id"},{"name":"series-data--id","fullname":"series.data.id","title":"id","parent":"series-data","isParent":false,"returnType":"String","since":"1.2.0","description":"An id for the point. This can be used after render time to get a pointer to the point object through chart.get().","demo":"Remove an id'd point"},{"name":"yAxis-plotBands--id","fullname":"yAxis.plotBands.id","title":"id","parent":"yAxis-plotBands","isParent":false,"returnType":"String","description":"An id used for identifying the plot band in Axis.removePlotBand.","demo":"Remove plot band by id"},{"name":"series--id","fullname":"series.id","title":"id","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"1.2.0","description":"An id for the series. This can be used after render time to get a pointer to the series object through chart.get().","demo":"Get series by id","seeAlso":"","deprecated":false},{"name":"series-data--id","fullname":"series.data.id","title":"id","parent":"series-data","isParent":false,"returnType":"String","since":"1.2.0","description":"An id for the point. This can be used after render time to get a pointer to the point object through chart.get().","demo":"Remove an id'd point"},{"name":"plotOptions-pie--ignoreHiddenPoint","fullname":"plotOptions.pie.ignoreHiddenPoint","title":"ignoreHiddenPoint","parent":"plotOptions-pie","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.0","description":"

Equivalent to chart.ignoreHiddenSeries, this option tells whether the series shall be redrawn as if the hidden point were null.

\r\n

The default value changed from false to true with Highcharts 3.0.

","demo":"True, the hiddden point is ignored","seeAlso":"","deprecated":false},{"name":"series--ignoreHiddenPoint","fullname":"series.ignoreHiddenPoint","title":"ignoreHiddenPoint","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.0","description":"

Equivalent to chart.ignoreHiddenSeries, this option tells whether the series shall be redrawn as if the hidden point were null.

\r\n

The default value changed from false to true with Highcharts 3.0.

","demo":"True, the hiddden point is ignored","seeAlso":"","deprecated":false},{"name":"chart--ignoreHiddenSeries","fullname":"chart.ignoreHiddenSeries","title":"ignoreHiddenSeries","parent":"chart","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2.0","description":"If true, the axes will scale to the remaining visible series once one series is hidden. If false, hiding and showing a series will not affect the axes or the other series. For stacks, once one series within the stack is hidden, the rest of the stack will close in around it even if the axis is not affected.","demo":"True by default\n\t\t\tfalse,\n\t\t\ttrue with stack"},{"name":"legend-navigation--inactiveColor","fullname":"legend.navigation.inactiveColor","title":"inactiveColor","parent":"legend-navigation","isParent":false,"returnType":"Color","defaults":"#CCC","since":"2.2.4","description":"The color of the inactive up or down arrow in the legend page navigation. .","demo":"\n\t\t\t\tLegend page navigation demonstrated"},{"name":"series--index","fullname":"series.index","title":"index","parent":"series","isParent":false,"returnType":"Number","since":"2.3.0","description":"The index of the series in the chart, affecting the internal index in the chart.series array, the visible Z index as well as the order in the legend.","demo":"","seeAlso":"","deprecated":false},{"name":"series--index","fullname":"series.index","title":"index","parent":"series","isParent":false,"returnType":"Number","since":"2.3.0","description":"The index of the series in the chart, affecting the internal index in the chart.series array, the visible Z index as well as the order in the legend.","demo":"","seeAlso":"","deprecated":false},{"name":"series--index","fullname":"series.index","title":"index","parent":"series","isParent":false,"returnType":"Number","since":"2.3.0","description":"The index of the series in the chart, affecting the internal index in the chart.series array, the visible Z index as well as the order in the legend.","demo":"","seeAlso":"","deprecated":false},{"name":"series--index","fullname":"series.index","title":"index","parent":"series","isParent":false,"returnType":"Number","since":"2.3.0","description":"The index of the series in the chart, affecting the internal index in the chart.series array, the visible Z index as well as the order in the legend.","demo":"","seeAlso":"","deprecated":false},{"name":"series--index","fullname":"series.index","title":"index","parent":"series","isParent":false,"returnType":"Number","since":"2.3.0","description":"The index of the series in the chart, affecting the internal index in the chart.series array, the visible Z index as well as the order in the legend.","demo":"","seeAlso":"","deprecated":false},{"name":"series--index","fullname":"series.index","title":"index","parent":"series","isParent":false,"returnType":"Number","since":"2.3.0","description":"The index of the series in the chart, affecting the internal index in the chart.series array, the visible Z index as well as the order in the legend.","demo":"","seeAlso":"","deprecated":false},{"name":"series--index","fullname":"series.index","title":"index","parent":"series","isParent":false,"returnType":"Number","since":"2.3.0","description":"The index of the series in the chart, affecting the internal index in the chart.series array, the visible Z index as well as the order in the legend.","demo":"","seeAlso":"","deprecated":false},{"name":"series--index","fullname":"series.index","title":"index","parent":"series","isParent":false,"returnType":"Number","since":"2.3.0","description":"The index of the series in the chart, affecting the internal index in the chart.series array, the visible Z index as well as the order in the legend.","demo":"","seeAlso":"","deprecated":false},{"name":"series--index","fullname":"series.index","title":"index","parent":"series","isParent":false,"returnType":"Number","since":"2.3.0","description":"The index of the series in the chart, affecting the internal index in the chart.series array, the visible Z index as well as the order in the legend.","demo":"","seeAlso":"","deprecated":false},{"name":"series--index","fullname":"series.index","title":"index","parent":"series","isParent":false,"returnType":"Number","since":"2.3.0","description":"The index of the series in the chart, affecting the internal index in the chart.series array, the visible Z index as well as the order in the legend.","demo":"","seeAlso":"","deprecated":false},{"name":"series--index","fullname":"series.index","title":"index","parent":"series","isParent":false,"returnType":"Number","since":"2.3.0","description":"The index of the series in the chart, affecting the internal index in the chart.series array, the visible Z index as well as the order in the legend.","demo":"","seeAlso":"","deprecated":false},{"name":"series--index","fullname":"series.index","title":"index","parent":"series","isParent":false,"returnType":"Number","since":"2.3.0","description":"The index of the series in the chart, affecting the internal index in the chart.series array, the visible Z index as well as the order in the legend.","demo":"","seeAlso":"","deprecated":false},{"name":"series--index","fullname":"series.index","title":"index","parent":"series","isParent":false,"returnType":"Number","since":"2.3.0","description":"The index of the series in the chart, affecting the internal index in the chart.series array, the visible Z index as well as the order in the legend.","demo":"","seeAlso":"","deprecated":false},{"name":"series--index","fullname":"series.index","title":"index","parent":"series","isParent":false,"returnType":"Number","since":"2.3.0","description":"The index of the series in the chart, affecting the internal index in the chart.series array, the visible Z index as well as the order in the legend.","demo":"","seeAlso":"","deprecated":false},{"name":"series--index","fullname":"series.index","title":"index","parent":"series","isParent":false,"returnType":"Number","since":"2.3.0","description":"The index of the series in the chart, affecting the internal index in the chart.series array, the visible Z index as well as the order in the legend.","demo":"","seeAlso":"","deprecated":false},{"name":"series--index","fullname":"series.index","title":"index","parent":"series","isParent":false,"returnType":"Number","since":"2.3.0","description":"The index of the series in the chart, affecting the internal index in the chart.series array, the visible Z index as well as the order in the legend.","demo":"","seeAlso":"","deprecated":false},{"name":"series--index","fullname":"series.index","title":"index","parent":"series","isParent":false,"returnType":"Number","since":"2.3.0","description":"The index of the series in the chart, affecting the internal index in the chart.series array, the visible Z index as well as the order in the legend.","demo":"","seeAlso":"","deprecated":false},{"name":"series--index","fullname":"series.index","title":"index","parent":"series","isParent":false,"returnType":"Number","since":"2.3.0","description":"The index of the series in the chart, affecting the internal index in the chart.series array, the visible Z index as well as the order in the legend.","demo":"","seeAlso":"","deprecated":false},{"name":"series--index","fullname":"series.index","title":"index","parent":"series","isParent":false,"returnType":"Number","since":"2.3.0","description":"The index of the series in the chart, affecting the internal index in the chart.series array, the visible Z index as well as the order in the legend.","demo":"","seeAlso":"","deprecated":false},{"name":"series--index","fullname":"series.index","title":"index","parent":"series","isParent":false,"returnType":"Number","since":"2.3.0","description":"The index of the series in the chart, affecting the internal index in the chart.series array, the visible Z index as well as the order in the legend.","demo":"","seeAlso":"","deprecated":false},{"name":"series--index","fullname":"series.index","title":"index","parent":"series","isParent":false,"returnType":"Number","since":"2.3.0","description":"The index of the series in the chart, affecting the internal index in the chart.series array, the visible Z index as well as the order in the legend.","demo":"","seeAlso":"","deprecated":false},{"name":"series--index","fullname":"series.index","title":"index","parent":"series","isParent":false,"returnType":"Number","since":"2.3.0","description":"The index of the series in the chart, affecting the internal index in the chart.series array, the visible Z index as well as the order in the legend.","demo":"","seeAlso":"","deprecated":false},{"name":"series--index","fullname":"series.index","title":"index","parent":"series","isParent":false,"returnType":"Number","since":"2.3.0","description":"The index of the series in the chart, affecting the internal index in the chart.series array, the visible Z index as well as the order in the legend.","demo":"","seeAlso":"","deprecated":false},{"name":"series-data--innerRadius","fullname":"series.data.innerRadius","title":"innerRadius","parent":"series-data","isParent":false,"returnType":"Number|String","context":"","defaults":"","values":"","since":"4.1.6","description":"The inner radius of an individual point in a solid gauge. Can be given as a number (pixels) or percentage string.","demo":"Individual radius and innerRadius","seeAlso":"","deprecated":false},{"name":"yAxis-plotBands--innerRadius","fullname":"yAxis.plotBands.innerRadius","title":"innerRadius","parent":"yAxis-plotBands","isParent":false,"returnType":"Number|String","defaults":"null","since":"2.3","description":"In a gauge chart, this option determines the inner radius of the plot band that stretches along the perimeter. It can be given as a percentage string, like \"100%\", or as a pixel number, like 100. By default, the inner radius is controlled by the thickness option.","demo":"Gauge plot band","deprecated":false},{"name":"series--innerSize","fullname":"series.innerSize","title":"innerSize","parent":"series","isParent":false,"returnType":"String|Number","defaults":"0","since":"2.0","description":"

The size of the inner diameter for the pie. A size greater than 0 renders a donut chart. Can be a percentage or pixel value. Percentages are relative to the pie size. Pixel values are given as integers.

\r\n\r\n

Note: in Highcharts < 4.1.2, the percentage was relative to the plot area, not the pie size.

","demo":"80px inner size,\r\n\t\t\t50% of the plot area,\r\n\t\t\t3D donut.","deprecated":false},{"name":"plotOptions-pie--innerSize","fullname":"plotOptions.pie.innerSize","title":"innerSize","parent":"plotOptions-pie","isParent":false,"returnType":"String|Number","defaults":"0","since":"2.0","description":"

The size of the inner diameter for the pie. A size greater than 0 renders a donut chart. Can be a percentage or pixel value. Percentages are relative to the pie size. Pixel values are given as integers.

\r\n\r\n

Note: in Highcharts < 4.1.2, the percentage was relative to the plot area, not the pie size.

","demo":"80px inner size,\r\n\t\t\t50% of the plot area,\r\n\t\t\t3D donut.","deprecated":false},{"name":"plotOptions-solidgauge-dataLabels--inside","fullname":"plotOptions.solidgauge.dataLabels.inside","title":"inside","parent":"plotOptions-solidgauge-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"series-dataLabels--inside","fullname":"series.dataLabels.inside","title":"inside","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"series-dataLabels--inside","fullname":"series.dataLabels.inside","title":"inside","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"series-dataLabels--inside","fullname":"series.dataLabels.inside","title":"inside","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"series-dataLabels--inside","fullname":"series.dataLabels.inside","title":"inside","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"series-dataLabels--inside","fullname":"series.dataLabels.inside","title":"inside","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"plotOptions-bar-dataLabels--inside","fullname":"plotOptions.bar.dataLabels.inside","title":"inside","parent":"plotOptions-bar-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"plotOptions-gauge-dataLabels--inside","fullname":"plotOptions.gauge.dataLabels.inside","title":"inside","parent":"plotOptions-gauge-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"plotOptions-spline-dataLabels--inside","fullname":"plotOptions.spline.dataLabels.inside","title":"inside","parent":"plotOptions-spline-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"series-dataLabels--inside","fullname":"series.dataLabels.inside","title":"inside","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"plotOptions-areaspline-dataLabels--inside","fullname":"plotOptions.areaspline.dataLabels.inside","title":"inside","parent":"plotOptions-areaspline-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"plotOptions-bubble-dataLabels--inside","fullname":"plotOptions.bubble.dataLabels.inside","title":"inside","parent":"plotOptions-bubble-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"series-dataLabels--inside","fullname":"series.dataLabels.inside","title":"inside","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"series-dataLabels--inside","fullname":"series.dataLabels.inside","title":"inside","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"plotOptions-pyramid-dataLabels--inside","fullname":"plotOptions.pyramid.dataLabels.inside","title":"inside","parent":"plotOptions-pyramid-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"series-dataLabels--inside","fullname":"series.dataLabels.inside","title":"inside","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"series-dataLabels--inside","fullname":"series.dataLabels.inside","title":"inside","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","context":"","defaults":"true","values":"","since":"4.1.0","description":"Whether to align the data label inside the box or to the actual value point. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--inside","fullname":"series.dataLabels.inside","title":"inside","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"plotOptions-funnel-dataLabels--inside","fullname":"plotOptions.funnel.dataLabels.inside","title":"inside","parent":"plotOptions-funnel-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"plotOptions-polygon-dataLabels--inside","fullname":"plotOptions.polygon.dataLabels.inside","title":"inside","parent":"plotOptions-polygon-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"plotOptions-arearange-dataLabels--inside","fullname":"plotOptions.arearange.dataLabels.inside","title":"inside","parent":"plotOptions-arearange-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"series-dataLabels--inside","fullname":"series.dataLabels.inside","title":"inside","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"plotOptions-areasplinerange-dataLabels--inside","fullname":"plotOptions.areasplinerange.dataLabels.inside","title":"inside","parent":"plotOptions-areasplinerange-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"series-dataLabels--inside","fullname":"series.dataLabels.inside","title":"inside","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"series-dataLabels--inside","fullname":"series.dataLabels.inside","title":"inside","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"series-dataLabels--inside","fullname":"series.dataLabels.inside","title":"inside","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"series-dataLabels--inside","fullname":"series.dataLabels.inside","title":"inside","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"plotOptions-pie-dataLabels--inside","fullname":"plotOptions.pie.dataLabels.inside","title":"inside","parent":"plotOptions-pie-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"plotOptions-waterfall-dataLabels--inside","fullname":"plotOptions.waterfall.dataLabels.inside","title":"inside","parent":"plotOptions-waterfall-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"plotOptions-heatmap-dataLabels--inside","fullname":"plotOptions.heatmap.dataLabels.inside","title":"inside","parent":"plotOptions-heatmap-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"plotOptions-column-dataLabels--inside","fullname":"plotOptions.column.dataLabels.inside","title":"inside","parent":"plotOptions-column-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"series-dataLabels--inside","fullname":"series.dataLabels.inside","title":"inside","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"plotOptions-series-dataLabels--inside","fullname":"plotOptions.series.dataLabels.inside","title":"inside","parent":"plotOptions-series-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"plotOptions-line-dataLabels--inside","fullname":"plotOptions.line.dataLabels.inside","title":"inside","parent":"plotOptions-line-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"series-dataLabels--inside","fullname":"series.dataLabels.inside","title":"inside","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"plotOptions-scatter-dataLabels--inside","fullname":"plotOptions.scatter.dataLabels.inside","title":"inside","parent":"plotOptions-scatter-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"series-dataLabels--inside","fullname":"series.dataLabels.inside","title":"inside","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"plotOptions-treemap-dataLabels--inside","fullname":"plotOptions.treemap.dataLabels.inside","title":"inside","parent":"plotOptions-treemap-dataLabels","isParent":false,"returnType":"Boolean","context":"","defaults":"true","values":"","since":"4.1.0","description":"Whether to align the data label inside the box or to the actual value point. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange-dataLabels--inside","fullname":"plotOptions.columnrange.dataLabels.inside","title":"inside","parent":"plotOptions-columnrange-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"series-dataLabels--inside","fullname":"series.dataLabels.inside","title":"inside","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"plotOptions-area-dataLabels--inside","fullname":"plotOptions.area.dataLabels.inside","title":"inside","parent":"plotOptions-area-dataLabels","isParent":false,"returnType":"Boolean","since":"3.0","description":"For points with an extent, like columns, whether to align the data label inside the box or to the actual value point. Defaults to false in most cases, true in stacked columns.","deprecated":false},{"name":"series--interactByLeaf","fullname":"series.interactByLeaf","title":"interactByLeaf","parent":"series","isParent":false,"returnType":"Boolean","values":"false, true","since":"4.1.2","description":"This option decides if the user can interact with the parent nodes or just the leaf nodes. When this option is undefined, it will be true by default. However when allowDrillToNode is true, then it will be false by default.","demo":"false, interactByLeaf and allowDrillToNode is true","deprecated":false},{"name":"plotOptions-treemap--interactByLeaf","fullname":"plotOptions.treemap.interactByLeaf","title":"interactByLeaf","parent":"plotOptions-treemap","isParent":false,"returnType":"Boolean","values":"false, true","since":"4.1.2","description":"This option decides if the user can interact with the parent nodes or just the leaf nodes. When this option is undefined, it will be true by default. However when allowDrillToNode is true, then it will be false by default.","demo":"false, interactByLeaf and allowDrillToNode is true","deprecated":false},{"name":"chart--inverted","fullname":"chart.inverted","title":"inverted","parent":"chart","isParent":false,"returnType":"Boolean","defaults":"false","since":"","description":"Whether to invert the axes so that the x axis is vertical and y axis is horizontal.\r When true, the x axis is reversed by default. If a bar series is present in the chart,\r it will be inverted automatically.","demo":"Inverted line","seeAlso":"","deprecated":false},{"name":"series-data--isIntermediateSum","fullname":"series.data.isIntermediateSum","title":"isIntermediateSum","parent":"series-data","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"","description":"When this property is true, the points acts as a summary column for the values added or substracted since the last intermediate sum, or since the start of the series. The y value is ignored.","demo":" Waterfall","seeAlso":"","deprecated":false},{"name":"series-data--isSum","fullname":"series.data.isSum","title":"isSum","parent":"series-data","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"","description":"When this property is true, the point display the total sum across the entire series. The y value is ignored.","demo":"Waterfall","seeAlso":"","deprecated":false},{"name":"data--itemDelimiter","fullname":"data.itemDelimiter","title":"itemDelimiter","parent":"data","isParent":false,"returnType":"String","defaults":"","values":"","since":"4.0","description":"Item or cell delimiter for parsing CSV. Defaults to the tab character \\t if a tab character is found in the CSV string, if not it defaults to ,.","demo":"Delimiters","seeAlso":"","deprecated":false},{"name":"legend--itemDistance","fullname":"legend.itemDistance","title":"itemDistance","parent":"legend","isParent":false,"returnType":"Number","defaults":"20","since":"3.0.3","description":"In a legend with horizontal layout, the itemDistance defines the pixel distance between each item. ","demo":"50px item distance","deprecated":false},{"name":"legend--itemHiddenStyle","fullname":"legend.itemHiddenStyle","title":"itemHiddenStyle","parent":"legend","isParent":false,"returnType":"CSSObject","description":"CSS styles for each legend item when the corresponding series or point is hidden. Only a subset of CSS is supported, notably those options related to text. Properties are inherited from style unless overridden here. Defaults to:\r\n
itemHiddenStyle: {\r\n\tcolor: '#CCC'\r\n}
","demo":"Darker gray color","deprecated":false},{"name":"legend--itemHoverStyle","fullname":"legend.itemHoverStyle","title":"itemHoverStyle","parent":"legend","isParent":false,"returnType":"CSSObject","description":"CSS styles for each legend item in hover mode. Only a subset of CSS is supported, notably those options related to text. Properties are inherited from style unless overridden here. Defaults to:\r\n
itemHoverStyle: {\r\n\tcolor: '#000'\r\n}
","demo":"Red on hover","deprecated":false},{"name":"legend--itemMarginBottom","fullname":"legend.itemMarginBottom","title":"itemMarginBottom","parent":"legend","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.0","description":"The pixel bottom margin for each legend item.","demo":"\r\n\t\t\t\tPadding and item margins demonstrated","deprecated":false},{"name":"legend--itemMarginTop","fullname":"legend.itemMarginTop","title":"itemMarginTop","parent":"legend","isParent":false,"returnType":"Number","defaults":"0","since":"2.2.0","description":"The pixel top margin for each legend item.","demo":"\r\n\t\t\t\tPadding and item margins demonstrated","deprecated":false},{"name":"legend--itemStyle","fullname":"legend.itemStyle","title":"itemStyle","parent":"legend","isParent":false,"returnType":"CSSObject","defaults":"{ \"color\": \"#333333\", \"cursor\": \"pointer\", \"fontSize\": \"12px\", \"fontWeight\": \"bold\" }","description":"CSS styles for each legend item. Only a subset of CSS is supported, notably those options related to text.","demo":"Bold black text","deprecated":false},{"name":"legend--itemWidth","fullname":"legend.itemWidth","title":"itemWidth","parent":"legend","isParent":false,"returnType":"Number","since":"2.0","description":"The width for each legend item. This is useful in a horizontal layout with many items when you want the items to align vertically. .","demo":"Null by default,\n\t\t\t80 for aligned legend items"},{"name":"labels-items","fullname":"labels.items","title":"items","parent":"labels","isParent":true,"returnType":"Array","description":"A HTML label that can be positioned anywhere in the chart area.","deprecated":false},{"name":"series--keys","fullname":"series.keys","title":"keys","parent":"series","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"plotOptions-errorbar--keys","fullname":"plotOptions.errorbar.keys","title":"keys","parent":"plotOptions-errorbar","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"plotOptions-columnrange--keys","fullname":"plotOptions.columnrange.keys","title":"keys","parent":"plotOptions-columnrange","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"series--keys","fullname":"series.keys","title":"keys","parent":"series","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"series--keys","fullname":"series.keys","title":"keys","parent":"series","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"series--keys","fullname":"series.keys","title":"keys","parent":"series","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"series--keys","fullname":"series.keys","title":"keys","parent":"series","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"series--keys","fullname":"series.keys","title":"keys","parent":"series","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"plotOptions-area--keys","fullname":"plotOptions.area.keys","title":"keys","parent":"plotOptions-area","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"series--keys","fullname":"series.keys","title":"keys","parent":"series","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"plotOptions-waterfall--keys","fullname":"plotOptions.waterfall.keys","title":"keys","parent":"plotOptions-waterfall","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"plotOptions-areaspline--keys","fullname":"plotOptions.areaspline.keys","title":"keys","parent":"plotOptions-areaspline","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"plotOptions-spline--keys","fullname":"plotOptions.spline.keys","title":"keys","parent":"plotOptions-spline","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"series--keys","fullname":"series.keys","title":"keys","parent":"series","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"plotOptions-line--keys","fullname":"plotOptions.line.keys","title":"keys","parent":"plotOptions-line","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"series--keys","fullname":"series.keys","title":"keys","parent":"series","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"series--keys","fullname":"series.keys","title":"keys","parent":"series","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"plotOptions-polygon--keys","fullname":"plotOptions.polygon.keys","title":"keys","parent":"plotOptions-polygon","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"series--keys","fullname":"series.keys","title":"keys","parent":"series","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"series--keys","fullname":"series.keys","title":"keys","parent":"series","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"plotOptions-series--keys","fullname":"plotOptions.series.keys","title":"keys","parent":"plotOptions-series","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"series--keys","fullname":"series.keys","title":"keys","parent":"series","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"series--keys","fullname":"series.keys","title":"keys","parent":"series","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"plotOptions-solidgauge--keys","fullname":"plotOptions.solidgauge.keys","title":"keys","parent":"plotOptions-solidgauge","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"plotOptions-treemap--keys","fullname":"plotOptions.treemap.keys","title":"keys","parent":"plotOptions-treemap","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"plotOptions-boxplot--keys","fullname":"plotOptions.boxplot.keys","title":"keys","parent":"plotOptions-boxplot","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"series--keys","fullname":"series.keys","title":"keys","parent":"series","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"plotOptions-gauge--keys","fullname":"plotOptions.gauge.keys","title":"keys","parent":"plotOptions-gauge","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"plotOptions-pie--keys","fullname":"plotOptions.pie.keys","title":"keys","parent":"plotOptions-pie","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"series--keys","fullname":"series.keys","title":"keys","parent":"series","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"plotOptions-bar--keys","fullname":"plotOptions.bar.keys","title":"keys","parent":"plotOptions-bar","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"series--keys","fullname":"series.keys","title":"keys","parent":"series","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"plotOptions-arearange--keys","fullname":"plotOptions.arearange.keys","title":"keys","parent":"plotOptions-arearange","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"plotOptions-funnel--keys","fullname":"plotOptions.funnel.keys","title":"keys","parent":"plotOptions-funnel","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"plotOptions-areasplinerange--keys","fullname":"plotOptions.areasplinerange.keys","title":"keys","parent":"plotOptions-areasplinerange","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"series--keys","fullname":"series.keys","title":"keys","parent":"series","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"plotOptions-scatter--keys","fullname":"plotOptions.scatter.keys","title":"keys","parent":"plotOptions-scatter","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"series--keys","fullname":"series.keys","title":"keys","parent":"series","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"plotOptions-column--keys","fullname":"plotOptions.column.keys","title":"keys","parent":"plotOptions-column","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"series--keys","fullname":"series.keys","title":"keys","parent":"series","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"plotOptions-bubble--keys","fullname":"plotOptions.bubble.keys","title":"keys","parent":"plotOptions-bubble","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"series--keys","fullname":"series.keys","title":"keys","parent":"series","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"plotOptions-pyramid--keys","fullname":"plotOptions.pyramid.keys","title":"keys","parent":"plotOptions-pyramid","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"plotOptions-heatmap--keys","fullname":"plotOptions.heatmap.keys","title":"keys","parent":"plotOptions-heatmap","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"series--keys","fullname":"series.keys","title":"keys","parent":"series","isParent":false,"returnType":"Array","context":"","defaults":"","values":"","since":"4.1.6","description":"An array specifying which option maps to which key in the data point array. This makes it convenient to work with unstructured data arrays from different sources.","demo":"An extended data array with keys","seeAlso":".data\">series.data","deprecated":false},{"name":"yAxis-plotBands-label","fullname":"yAxis.plotBands.label","title":"label","parent":"yAxis-plotBands","isParent":true,"description":"Text labels for the plot bands"},{"name":"xAxis-plotBands-label","fullname":"xAxis.plotBands.label","title":"label","parent":"xAxis-plotBands","isParent":true,"description":"Text labels for the plot bands"},{"name":"xAxis-plotLines-label","fullname":"xAxis.plotLines.label","title":"label","parent":"xAxis-plotLines","isParent":true,"description":"Text labels for the plot bands"},{"name":"yAxis-plotLines-label","fullname":"yAxis.plotLines.label","title":"label","parent":"yAxis-plotLines","isParent":true,"description":"Text labels for the plot bands"},{"name":"legend--labelFormat","fullname":"legend.labelFormat","title":"labelFormat","parent":"legend","isParent":false,"returnType":"String","defaults":"{name}","since":"1.3","description":"A format string for each legend label. Available variables relates to properties on the series, or the point in case of pies.","deprecated":false},{"name":"legend--labelFormatter","fullname":"legend.labelFormatter","title":"labelFormatter","parent":"legend","isParent":false,"returnType":"Function","description":"Callback function to format each of the series' labels. The this keyword refers to the series object, or the point object in case of pie charts. By default the series or point name is printed.","demo":"Add text","deprecated":false},{"name":"loading--labelStyle","fullname":"loading.labelStyle","title":"labelStyle","parent":"loading","isParent":false,"returnType":"CSSObject","defaults":"{ \"fontWeight\": \"bold\", \"position\": \"relative\", \"top\": \"45%\" }","since":"1.2.0","description":"CSS styles for the loading label span.","demo":"Vertically centered","deprecated":false},{"name":"yAxis-labels","fullname":"yAxis.labels","title":"labels","parent":"yAxis","isParent":true,"deprecated":false},{"name":"xAxis-labels","fullname":"xAxis.labels","title":"labels","parent":"xAxis","isParent":true,"description":"The axis labels show the number or category for each tick."},{"name":"labels","fullname":"labels","title":"labels","isParent":true,"description":"HTML labels that can be positioned anywhere in the chart area.","deprecated":false},{"name":"lang","fullname":"lang","title":"lang","isParent":true,"description":"Language object. The language object is global and it can't\n\t\tbe set on each chart initiation. Instead, use Highcharts.setOptions to\n\t\tset it before any chart is initiated. \n
Highcharts.setOptions({\n\tlang: {\n\t\tmonths: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin',  'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],\n\t\tweekdays: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi']\n\t}\n});
"},{"name":"legend--layout","fullname":"legend.layout","title":"layout","parent":"legend","isParent":false,"returnType":"String","defaults":"horizontal","values":"[\"horizontal\", \"vertical\"]","description":"The layout of the legend items. Can be one of \"horizontal\" or \"vertical\".","demo":"Horizontal by default,\n\t\t\tvertical"},{"name":"plotOptions-treemap--layoutAlgorithm","fullname":"plotOptions.treemap.layoutAlgorithm","title":"layoutAlgorithm","parent":"plotOptions-treemap","isParent":false,"returnType":"String","defaults":"sliceAndDice","values":"[\"sliceAndDice\", \"stripes\", \"squarified\", \"strip\"]","since":"4.1.0","description":"This option decides which algorithm is used for setting position and dimensions of the points. Can be one of sliceAndDice, stripes, squarified or strip. ","demo":"sliceAndDice by default, stripes, squarified, strip","seeAlso":"How to write your own algorithm","deprecated":false},{"name":"series--layoutAlgorithm","fullname":"series.layoutAlgorithm","title":"layoutAlgorithm","parent":"series","isParent":false,"returnType":"String","defaults":"sliceAndDice","values":"[\"sliceAndDice\", \"stripes\", \"squarified\", \"strip\"]","since":"4.1.0","description":"This option decides which algorithm is used for setting position and dimensions of the points. Can be one of sliceAndDice, stripes, squarified or strip. ","demo":"sliceAndDice by default, stripes, squarified, strip","seeAlso":"How to write your own algorithm","deprecated":false},{"name":"plotOptions-treemap-levels--layoutAlgorithm","fullname":"plotOptions.treemap.levels.layoutAlgorithm","title":"layoutAlgorithm","parent":"plotOptions-treemap-levels","isParent":false,"returnType":"String","values":"[\"sliceAndDice\", \"stripes\", \"squarified\", \"strip\"]","since":"4.1.0","description":"Can set the layoutAlgorithm option on a specific level. ","deprecated":false},{"name":"series-levels--layoutAlgorithm","fullname":"series.levels.layoutAlgorithm","title":"layoutAlgorithm","parent":"series-levels","isParent":false,"returnType":"String","values":"[\"sliceAndDice\", \"stripes\", \"squarified\", \"strip\"]","since":"4.1.0","description":"Can set the layoutAlgorithm option on a specific level. ","deprecated":false},{"name":"series--layoutStartingDirection","fullname":"series.layoutStartingDirection","title":"layoutStartingDirection","parent":"series","isParent":false,"returnType":"String","defaults":"vertical","values":"[\"vertical\", \"horizontal\"]","since":"4.1.0","description":"Defines which direction the layout algorithm will start drawing. Possible values are \"vertical\" and \"horizontal\".","deprecated":false},{"name":"plotOptions-treemap-levels--layoutStartingDirection","fullname":"plotOptions.treemap.levels.layoutStartingDirection","title":"layoutStartingDirection","parent":"plotOptions-treemap-levels","isParent":false,"returnType":"String","values":"[\"vertical\", \"horizontal\"]","since":"4.1.0","description":"Can set the layoutStartingDirection option on a specific level.","deprecated":false},{"name":"series-levels--layoutStartingDirection","fullname":"series.levels.layoutStartingDirection","title":"layoutStartingDirection","parent":"series-levels","isParent":false,"returnType":"String","values":"[\"vertical\", \"horizontal\"]","since":"4.1.0","description":"Can set the layoutStartingDirection option on a specific level.","deprecated":false},{"name":"plotOptions-treemap--layoutStartingDirection","fullname":"plotOptions.treemap.layoutStartingDirection","title":"layoutStartingDirection","parent":"plotOptions-treemap","isParent":false,"returnType":"String","defaults":"vertical","values":"[\"vertical\", \"horizontal\"]","since":"4.1.0","description":"Defines which direction the layout algorithm will start drawing. Possible values are \"vertical\" and \"horizontal\".","deprecated":false},{"name":"legend","fullname":"legend","title":"legend","isParent":true,"description":"The legend is a box containing a symbol and name for each series item\n\tor point item in the chart."},{"name":"series--legendIndex","fullname":"series.legendIndex","title":"legendIndex","parent":"series","isParent":false,"returnType":"Number","description":"The sequential index of the series in the legend. .","seeAlso":"legend.reversed, yAxis.reversedStacks","deprecated":false},{"name":"series--legendIndex","fullname":"series.legendIndex","title":"legendIndex","parent":"series","isParent":false,"returnType":"Number","description":"The sequential index of the series in the legend. .","seeAlso":"legend.reversed, yAxis.reversedStacks","deprecated":false},{"name":"series--legendIndex","fullname":"series.legendIndex","title":"legendIndex","parent":"series","isParent":false,"returnType":"Number","description":"The sequential index of the series in the legend. .","seeAlso":"legend.reversed, yAxis.reversedStacks","deprecated":false},{"name":"series--legendIndex","fullname":"series.legendIndex","title":"legendIndex","parent":"series","isParent":false,"returnType":"Number","description":"The sequential index of the series in the legend. .","seeAlso":"legend.reversed, yAxis.reversedStacks","deprecated":false},{"name":"series--legendIndex","fullname":"series.legendIndex","title":"legendIndex","parent":"series","isParent":false,"returnType":"Number","description":"The sequential index of the series in the legend. .","seeAlso":"legend.reversed, yAxis.reversedStacks","deprecated":false},{"name":"series--legendIndex","fullname":"series.legendIndex","title":"legendIndex","parent":"series","isParent":false,"returnType":"Number","description":"The sequential index of the series in the legend. .","seeAlso":"legend.reversed, yAxis.reversedStacks","deprecated":false},{"name":"series--legendIndex","fullname":"series.legendIndex","title":"legendIndex","parent":"series","isParent":false,"returnType":"Number","description":"The sequential index of the series in the legend. .","seeAlso":"legend.reversed, yAxis.reversedStacks","deprecated":false},{"name":"series--legendIndex","fullname":"series.legendIndex","title":"legendIndex","parent":"series","isParent":false,"returnType":"Number","description":"The sequential index of the series in the legend. .","seeAlso":"legend.reversed, yAxis.reversedStacks","deprecated":false},{"name":"series--legendIndex","fullname":"series.legendIndex","title":"legendIndex","parent":"series","isParent":false,"returnType":"Number","description":"The sequential index of the series in the legend. .","seeAlso":"legend.reversed, yAxis.reversedStacks","deprecated":false},{"name":"series--legendIndex","fullname":"series.legendIndex","title":"legendIndex","parent":"series","isParent":false,"returnType":"Number","description":"The sequential index of the series in the legend. .","seeAlso":"legend.reversed, yAxis.reversedStacks","deprecated":false},{"name":"series--legendIndex","fullname":"series.legendIndex","title":"legendIndex","parent":"series","isParent":false,"returnType":"Number","description":"The sequential index of the series in the legend. .","seeAlso":"legend.reversed, yAxis.reversedStacks","deprecated":false},{"name":"series--legendIndex","fullname":"series.legendIndex","title":"legendIndex","parent":"series","isParent":false,"returnType":"Number","description":"The sequential index of the series in the legend. .","seeAlso":"legend.reversed, yAxis.reversedStacks","deprecated":false},{"name":"series--legendIndex","fullname":"series.legendIndex","title":"legendIndex","parent":"series","isParent":false,"returnType":"Number","description":"The sequential index of the series in the legend. .","seeAlso":"legend.reversed, yAxis.reversedStacks","deprecated":false},{"name":"series--legendIndex","fullname":"series.legendIndex","title":"legendIndex","parent":"series","isParent":false,"returnType":"Number","description":"The sequential index of the series in the legend. .","seeAlso":"legend.reversed, yAxis.reversedStacks","deprecated":false},{"name":"series--legendIndex","fullname":"series.legendIndex","title":"legendIndex","parent":"series","isParent":false,"returnType":"Number","description":"The sequential index of the series in the legend. .","seeAlso":"legend.reversed, yAxis.reversedStacks","deprecated":false},{"name":"series--legendIndex","fullname":"series.legendIndex","title":"legendIndex","parent":"series","isParent":false,"returnType":"Number","description":"The sequential index of the series in the legend. .","seeAlso":"legend.reversed, yAxis.reversedStacks","deprecated":false},{"name":"series-data--legendIndex","fullname":"series.data.legendIndex","title":"legendIndex","parent":"series-data","isParent":false,"returnType":"Number","description":"The sequential index of the data point in the legend.","deprecated":false},{"name":"series--legendIndex","fullname":"series.legendIndex","title":"legendIndex","parent":"series","isParent":false,"returnType":"Number","description":"The sequential index of the series in the legend. .","seeAlso":"legend.reversed, yAxis.reversedStacks","deprecated":false},{"name":"series--legendIndex","fullname":"series.legendIndex","title":"legendIndex","parent":"series","isParent":false,"returnType":"Number","description":"The sequential index of the series in the legend. .","seeAlso":"legend.reversed, yAxis.reversedStacks","deprecated":false},{"name":"series--legendIndex","fullname":"series.legendIndex","title":"legendIndex","parent":"series","isParent":false,"returnType":"Number","description":"The sequential index of the series in the legend. .","seeAlso":"legend.reversed, yAxis.reversedStacks","deprecated":false},{"name":"series--legendIndex","fullname":"series.legendIndex","title":"legendIndex","parent":"series","isParent":false,"returnType":"Number","description":"The sequential index of the series in the legend. .","seeAlso":"legend.reversed, yAxis.reversedStacks","deprecated":false},{"name":"series--legendIndex","fullname":"series.legendIndex","title":"legendIndex","parent":"series","isParent":false,"returnType":"Number","description":"The sequential index of the series in the legend. .","seeAlso":"legend.reversed, yAxis.reversedStacks","deprecated":false},{"name":"series-data--legendIndex","fullname":"series.data.legendIndex","title":"legendIndex","parent":"series-data","isParent":false,"returnType":"Number","description":"The sequential index of the data point in the legend.","deprecated":false},{"name":"series--legendIndex","fullname":"series.legendIndex","title":"legendIndex","parent":"series","isParent":false,"returnType":"Number","description":"The sequential index of the series in the legend. .","seeAlso":"legend.reversed, yAxis.reversedStacks","deprecated":false},{"name":"series-data--legendIndex","fullname":"series.data.legendIndex","title":"legendIndex","parent":"series-data","isParent":false,"returnType":"Number","description":"The sequential index of the data point in the legend.","deprecated":false},{"name":"series--legendIndex","fullname":"series.legendIndex","title":"legendIndex","parent":"series","isParent":false,"returnType":"Number","description":"The sequential index of the series in the legend. .","seeAlso":"legend.reversed, yAxis.reversedStacks","deprecated":false},{"name":"plotOptions-column-events--legendItemClick","fullname":"plotOptions.column.events.legendItemClick","title":"legendItemClick","parent":"plotOptions-column-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"series-events--legendItemClick","fullname":"series.events.legendItemClick","title":"legendItemClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"plotOptions-solidgauge-events--legendItemClick","fullname":"plotOptions.solidgauge.events.legendItemClick","title":"legendItemClick","parent":"plotOptions-solidgauge-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"series-events--legendItemClick","fullname":"series.events.legendItemClick","title":"legendItemClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"series-events--legendItemClick","fullname":"series.events.legendItemClick","title":"legendItemClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"plotOptions-pie-events--legendItemClick","fullname":"plotOptions.pie.events.legendItemClick","title":"legendItemClick","parent":"plotOptions-pie-events","isParent":false,"returnType":"Function","since":"1.2.0","description":"Not applicable to pies, as the legend item is per point. See point.events."},{"name":"series-events--legendItemClick","fullname":"series.events.legendItemClick","title":"legendItemClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"plotOptions-arearange-events--legendItemClick","fullname":"plotOptions.arearange.events.legendItemClick","title":"legendItemClick","parent":"plotOptions-arearange-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"series-events--legendItemClick","fullname":"series.events.legendItemClick","title":"legendItemClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"plotOptions-pyramid-events--legendItemClick","fullname":"plotOptions.pyramid.events.legendItemClick","title":"legendItemClick","parent":"plotOptions-pyramid-events","isParent":false,"returnType":"Function","since":"1.2.0","description":"Not applicable to pies, as the legend item is per point. See point.events."},{"name":"plotOptions-bubble-events--legendItemClick","fullname":"plotOptions.bubble.events.legendItemClick","title":"legendItemClick","parent":"plotOptions-bubble-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"series-events--legendItemClick","fullname":"series.events.legendItemClick","title":"legendItemClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"series-events--legendItemClick","fullname":"series.events.legendItemClick","title":"legendItemClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"series-events--legendItemClick","fullname":"series.events.legendItemClick","title":"legendItemClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"plotOptions-heatmap-events--legendItemClick","fullname":"plotOptions.heatmap.events.legendItemClick","title":"legendItemClick","parent":"plotOptions-heatmap-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"series-events--legendItemClick","fullname":"series.events.legendItemClick","title":"legendItemClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"series-events--legendItemClick","fullname":"series.events.legendItemClick","title":"legendItemClick","parent":"series-events","isParent":false,"returnType":"Function","since":"1.2.0","description":"Not applicable to pies, as the legend item is per point. See point.events."},{"name":"plotOptions-bar-events--legendItemClick","fullname":"plotOptions.bar.events.legendItemClick","title":"legendItemClick","parent":"plotOptions-bar-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"plotOptions-boxplot-events--legendItemClick","fullname":"plotOptions.boxplot.events.legendItemClick","title":"legendItemClick","parent":"plotOptions-boxplot-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"plotOptions-gauge-events--legendItemClick","fullname":"plotOptions.gauge.events.legendItemClick","title":"legendItemClick","parent":"plotOptions-gauge-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"plotOptions-line-events--legendItemClick","fullname":"plotOptions.line.events.legendItemClick","title":"legendItemClick","parent":"plotOptions-line-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"series-events--legendItemClick","fullname":"series.events.legendItemClick","title":"legendItemClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"plotOptions-area-events--legendItemClick","fullname":"plotOptions.area.events.legendItemClick","title":"legendItemClick","parent":"plotOptions-area-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"plotOptions-spline-events--legendItemClick","fullname":"plotOptions.spline.events.legendItemClick","title":"legendItemClick","parent":"plotOptions-spline-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"plotOptions-funnel-events--legendItemClick","fullname":"plotOptions.funnel.events.legendItemClick","title":"legendItemClick","parent":"plotOptions-funnel-events","isParent":false,"returnType":"Function","since":"1.2.0","description":"Not applicable to pies, as the legend item is per point. See point.events."},{"name":"series-events--legendItemClick","fullname":"series.events.legendItemClick","title":"legendItemClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"series-events--legendItemClick","fullname":"series.events.legendItemClick","title":"legendItemClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"series-events--legendItemClick","fullname":"series.events.legendItemClick","title":"legendItemClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"plotOptions-waterfall-events--legendItemClick","fullname":"plotOptions.waterfall.events.legendItemClick","title":"legendItemClick","parent":"plotOptions-waterfall-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"series-events--legendItemClick","fullname":"series.events.legendItemClick","title":"legendItemClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"plotOptions-areaspline-events--legendItemClick","fullname":"plotOptions.areaspline.events.legendItemClick","title":"legendItemClick","parent":"plotOptions-areaspline-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"plotOptions-areasplinerange-events--legendItemClick","fullname":"plotOptions.areasplinerange.events.legendItemClick","title":"legendItemClick","parent":"plotOptions-areasplinerange-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"series-events--legendItemClick","fullname":"series.events.legendItemClick","title":"legendItemClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"plotOptions-scatter-events--legendItemClick","fullname":"plotOptions.scatter.events.legendItemClick","title":"legendItemClick","parent":"plotOptions-scatter-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"series-events--legendItemClick","fullname":"series.events.legendItemClick","title":"legendItemClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"series-events--legendItemClick","fullname":"series.events.legendItemClick","title":"legendItemClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"plotOptions-treemap-events--legendItemClick","fullname":"plotOptions.treemap.events.legendItemClick","title":"legendItemClick","parent":"plotOptions-treemap-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"plotOptions-polygon-events--legendItemClick","fullname":"plotOptions.polygon.events.legendItemClick","title":"legendItemClick","parent":"plotOptions-polygon-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"plotOptions-columnrange-events--legendItemClick","fullname":"plotOptions.columnrange.events.legendItemClick","title":"legendItemClick","parent":"plotOptions-columnrange-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"series-events--legendItemClick","fullname":"series.events.legendItemClick","title":"legendItemClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"plotOptions-errorbar-events--legendItemClick","fullname":"plotOptions.errorbar.events.legendItemClick","title":"legendItemClick","parent":"plotOptions-errorbar-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"plotOptions-series-events--legendItemClick","fullname":"plotOptions.series.events.legendItemClick","title":"legendItemClick","parent":"plotOptions-series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"series-events--legendItemClick","fullname":"series.events.legendItemClick","title":"legendItemClick","parent":"series-events","isParent":false,"returnType":"Function","since":"1.2.0","description":"Not applicable to pies, as the legend item is per point. See point.events."},{"name":"series-events--legendItemClick","fullname":"series.events.legendItemClick","title":"legendItemClick","parent":"series-events","isParent":false,"returnType":"Function","since":"1.2.0","description":"Not applicable to pies, as the legend item is per point. See point.events."},{"name":"series-events--legendItemClick","fullname":"series.events.legendItemClick","title":"legendItemClick","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the legend item belonging to the series is clicked. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action is to toggle the visibility of the series. This can be prevented by returning false or calling event.preventDefault().","demo":"Confirm hiding and showing","deprecated":false},{"name":"plotOptions-treemap-levels--level","fullname":"plotOptions.treemap.levels.level","title":"level","parent":"plotOptions-treemap-levels","isParent":false,"returnType":"Number","since":"4.1.0","description":"Decides which level takes effect from the options set in the levels object.","demo":"Styling of both levels","deprecated":false},{"name":"series-levels--level","fullname":"series.levels.level","title":"level","parent":"series-levels","isParent":false,"returnType":"Number","since":"4.1.0","description":"Decides which level takes effect from the options set in the levels object.","demo":"Styling of both levels","deprecated":false},{"name":"series--levelIsConstant","fullname":"series.levelIsConstant","title":"levelIsConstant","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","values":"[\"true\", \"false\"]","since":"4.1.0","description":"Used together with the levels and allowDrillToNode options. When set to false the first level visible when drilling is considered to be level one. Otherwise the level will be the same as the tree structure.","deprecated":false},{"name":"plotOptions-treemap--levelIsConstant","fullname":"plotOptions.treemap.levelIsConstant","title":"levelIsConstant","parent":"plotOptions-treemap","isParent":false,"returnType":"Boolean","defaults":"true","values":"[\"true\", \"false\"]","since":"4.1.0","description":"Used together with the levels and allowDrillToNode options. When set to false the first level visible when drilling is considered to be level one. Otherwise the level will be the same as the tree structure.","deprecated":false},{"name":"plotOptions-treemap-levels","fullname":"plotOptions.treemap.levels","title":"levels","parent":"plotOptions-treemap","isParent":true,"returnType":"Array","since":"4.1.0","description":"Set options on specific levels. Takes precedence over series options, but not point options.","demo":"Styling dataLabels and borders, Different layoutAlgorithm","deprecated":false},{"name":"series-levels","fullname":"series.levels","title":"levels","parent":"series","isParent":true,"returnType":"Array","since":"4.1.0","description":"Set options on specific levels. Takes precedence over series options, but not point options.","demo":"Styling dataLabels and borders, Different layoutAlgorithm","deprecated":false},{"name":"plotOptions-line","fullname":"plotOptions.line","title":"line","parent":"plotOptions","isParent":true},{"name":"plotOptions-spline-marker--lineColor","fullname":"plotOptions.spline.marker.lineColor","title":"lineColor","parent":"plotOptions-spline-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-data-marker--lineColor","fullname":"series.data.marker.lineColor","title":"lineColor","parent":"series-data-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-states-hover-marker--lineColor","fullname":"series.states.hover.marker.lineColor","title":"lineColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-marker--lineColor","fullname":"series.marker.lineColor","title":"lineColor","parent":"series-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-states-hover-marker--lineColor","fullname":"series.states.hover.marker.lineColor","title":"lineColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-marker-states-select--lineColor","fullname":"series.marker.states.select.lineColor","title":"lineColor","parent":"series-marker-states-select","isParent":false,"returnType":"Color","defaults":"#000000","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Red line color for selected points"},{"name":"series-states-hover-marker--lineColor","fullname":"series.states.hover.marker.lineColor","title":"lineColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"plotOptions-boxplot-states-hover-marker--lineColor","fullname":"plotOptions.boxplot.states.hover.marker.lineColor","title":"lineColor","parent":"plotOptions-boxplot-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"plotOptions-column-states-hover-marker--lineColor","fullname":"plotOptions.column.states.hover.marker.lineColor","title":"lineColor","parent":"plotOptions-column-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-data-marker-states-hover--lineColor","fullname":"series.data.marker.states.hover.lineColor","title":"lineColor","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"White fill color, black line color"},{"name":"plotOptions-area-states-hover-marker--lineColor","fullname":"plotOptions.area.states.hover.marker.lineColor","title":"lineColor","parent":"plotOptions-area-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"plotOptions-area--lineColor","fullname":"plotOptions.area.lineColor","title":"lineColor","parent":"plotOptions-area","isParent":false,"returnType":"Color","description":"A separate color for the graph line. By default the line takes the color of the series, but the lineColor setting allows setting a separate color for the line without altering the fillColor.","demo":"Dark gray line"},{"name":"plotOptions-arearange-states-hover-marker--lineColor","fullname":"plotOptions.arearange.states.hover.marker.lineColor","title":"lineColor","parent":"plotOptions-arearange-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-marker--lineColor","fullname":"series.marker.lineColor","title":"lineColor","parent":"series-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-states-hover-marker--lineColor","fullname":"series.states.hover.marker.lineColor","title":"lineColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series--lineColor","fullname":"series.lineColor","title":"lineColor","parent":"series","isParent":false,"returnType":"Color","description":"A separate color for the graph line. By default the line takes the color of the series, but the lineColor setting allows setting a separate color for the line without altering the fillColor.","demo":"Dark gray line"},{"name":"series--lineColor","fullname":"series.lineColor","title":"lineColor","parent":"series","isParent":false,"returnType":"Color","description":"A separate color for the graph line. By default the line takes the color of the series, but the lineColor setting allows setting a separate color for the line without altering the fillColor.","demo":"Dark gray line"},{"name":"series-states-hover-marker--lineColor","fullname":"series.states.hover.marker.lineColor","title":"lineColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-data-marker-states-hover--lineColor","fullname":"series.data.marker.states.hover.lineColor","title":"lineColor","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"White fill color, black line color"},{"name":"series-states-hover-marker--lineColor","fullname":"series.states.hover.marker.lineColor","title":"lineColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-marker-states-select--lineColor","fullname":"series.marker.states.select.lineColor","title":"lineColor","parent":"series-marker-states-select","isParent":false,"returnType":"Color","defaults":"#000000","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Red line color for selected points"},{"name":"plotOptions-area-marker-states-hover--lineColor","fullname":"plotOptions.area.marker.states.hover.lineColor","title":"lineColor","parent":"plotOptions-area-marker-states-hover","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"White fill color, black line color"},{"name":"plotOptions-spline-marker-states-select--lineColor","fullname":"plotOptions.spline.marker.states.select.lineColor","title":"lineColor","parent":"plotOptions-spline-marker-states-select","isParent":false,"returnType":"Color","defaults":"#000000","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Red line color for selected points"},{"name":"series-data-marker-states-hover--lineColor","fullname":"series.data.marker.states.hover.lineColor","title":"lineColor","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"White fill color, black line color"},{"name":"plotOptions-scatter-marker-states-select--lineColor","fullname":"plotOptions.scatter.marker.states.select.lineColor","title":"lineColor","parent":"plotOptions-scatter-marker-states-select","isParent":false,"returnType":"Color","defaults":"#000000","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Red line color for selected points"},{"name":"plotOptions-bubble-marker--lineColor","fullname":"plotOptions.bubble.marker.lineColor","title":"lineColor","parent":"plotOptions-bubble-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"plotOptions-bar-states-hover-marker--lineColor","fullname":"plotOptions.bar.states.hover.marker.lineColor","title":"lineColor","parent":"plotOptions-bar-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-states-hover-marker--lineColor","fullname":"series.states.hover.marker.lineColor","title":"lineColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-marker-states-select--lineColor","fullname":"series.marker.states.select.lineColor","title":"lineColor","parent":"series-marker-states-select","isParent":false,"returnType":"Color","defaults":"#000000","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Red line color for selected points"},{"name":"plotOptions-areaspline-states-hover-marker--lineColor","fullname":"plotOptions.areaspline.states.hover.marker.lineColor","title":"lineColor","parent":"plotOptions-areaspline-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"plotOptions-errorbar-states-hover-marker--lineColor","fullname":"plotOptions.errorbar.states.hover.marker.lineColor","title":"lineColor","parent":"plotOptions-errorbar-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"plotOptions-area-marker--lineColor","fullname":"plotOptions.area.marker.lineColor","title":"lineColor","parent":"plotOptions-area-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"plotOptions-pyramid-states-hover-marker--lineColor","fullname":"plotOptions.pyramid.states.hover.marker.lineColor","title":"lineColor","parent":"plotOptions-pyramid-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"xAxis--lineColor","fullname":"xAxis.lineColor","title":"lineColor","parent":"xAxis","isParent":false,"returnType":"Color","defaults":"#C0D0E0","description":"The color of the line marking the axis itself.","demo":"A red line on Y axis"},{"name":"plotOptions-bubble-marker-states-select--lineColor","fullname":"plotOptions.bubble.marker.states.select.lineColor","title":"lineColor","parent":"plotOptions-bubble-marker-states-select","isParent":false,"returnType":"Color","defaults":"#000000","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Red line color for selected points"},{"name":"plotOptions-line-marker-states-hover--lineColor","fullname":"plotOptions.line.marker.states.hover.lineColor","title":"lineColor","parent":"plotOptions-line-marker-states-hover","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"White fill color, black line color"},{"name":"series-marker-states-select--lineColor","fullname":"series.marker.states.select.lineColor","title":"lineColor","parent":"series-marker-states-select","isParent":false,"returnType":"Color","defaults":"#000000","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Red line color for selected points"},{"name":"plotOptions-series-states-hover-marker--lineColor","fullname":"plotOptions.series.states.hover.marker.lineColor","title":"lineColor","parent":"plotOptions-series-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"plotOptions-series-marker--lineColor","fullname":"plotOptions.series.marker.lineColor","title":"lineColor","parent":"plotOptions-series-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-states-hover-marker--lineColor","fullname":"series.states.hover.marker.lineColor","title":"lineColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-data-marker-states-select--lineColor","fullname":"series.data.marker.states.select.lineColor","title":"lineColor","parent":"series-data-marker-states-select","isParent":false,"returnType":"Color","defaults":"#000000","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Red line color for selected points"},{"name":"series-marker--lineColor","fullname":"series.marker.lineColor","title":"lineColor","parent":"series-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-states-hover-marker--lineColor","fullname":"series.states.hover.marker.lineColor","title":"lineColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"plotOptions-treemap-states-hover-marker--lineColor","fullname":"plotOptions.treemap.states.hover.marker.lineColor","title":"lineColor","parent":"plotOptions-treemap-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"plotOptions-polygon-states-hover-marker--lineColor","fullname":"plotOptions.polygon.states.hover.marker.lineColor","title":"lineColor","parent":"plotOptions-polygon-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-data-marker-states-select--lineColor","fullname":"series.data.marker.states.select.lineColor","title":"lineColor","parent":"series-data-marker-states-select","isParent":false,"returnType":"Color","defaults":"#000000","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Red line color for selected points"},{"name":"plotOptions-pie-states-hover-marker--lineColor","fullname":"plotOptions.pie.states.hover.marker.lineColor","title":"lineColor","parent":"plotOptions-pie-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"plotOptions-funnel-states-hover-marker--lineColor","fullname":"plotOptions.funnel.states.hover.marker.lineColor","title":"lineColor","parent":"plotOptions-funnel-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-marker-states-hover--lineColor","fullname":"series.marker.states.hover.lineColor","title":"lineColor","parent":"series-marker-states-hover","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"White fill color, black line color"},{"name":"series-marker-states-hover--lineColor","fullname":"series.marker.states.hover.lineColor","title":"lineColor","parent":"series-marker-states-hover","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"White fill color, black line color"},{"name":"series-data-marker-states-select--lineColor","fullname":"series.data.marker.states.select.lineColor","title":"lineColor","parent":"series-data-marker-states-select","isParent":false,"returnType":"Color","defaults":"#000000","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Red line color for selected points"},{"name":"yAxis--lineColor","fullname":"yAxis.lineColor","title":"lineColor","parent":"yAxis","isParent":false,"returnType":"Color","defaults":"#C0D0E0","description":"The color of the line marking the axis itself.","demo":"A red line on Y axis"},{"name":"series-states-hover-marker--lineColor","fullname":"series.states.hover.marker.lineColor","title":"lineColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series--lineColor","fullname":"series.lineColor","title":"lineColor","parent":"series","isParent":false,"returnType":"Color","description":"A separate color for the graph line. By default the line takes the color of the series, but the lineColor setting allows setting a separate color for the line without altering the fillColor.","demo":"Dark gray line"},{"name":"plotOptions-scatter-marker-states-hover--lineColor","fullname":"plotOptions.scatter.marker.states.hover.lineColor","title":"lineColor","parent":"plotOptions-scatter-marker-states-hover","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"White fill color, black line color"},{"name":"series-marker-states-select--lineColor","fullname":"series.marker.states.select.lineColor","title":"lineColor","parent":"series-marker-states-select","isParent":false,"returnType":"Color","defaults":"#000000","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Red line color for selected points"},{"name":"series-data-marker-states-select--lineColor","fullname":"series.data.marker.states.select.lineColor","title":"lineColor","parent":"series-data-marker-states-select","isParent":false,"returnType":"Color","defaults":"#000000","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Red line color for selected points"},{"name":"plotOptions-heatmap-states-hover-marker--lineColor","fullname":"plotOptions.heatmap.states.hover.marker.lineColor","title":"lineColor","parent":"plotOptions-heatmap-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"plotOptions-arearange--lineColor","fullname":"plotOptions.arearange.lineColor","title":"lineColor","parent":"plotOptions-arearange","isParent":false,"returnType":"Color","description":"A separate color for the graph line. By default the line takes the color of the series, but the lineColor setting allows setting a separate color for the line without altering the fillColor.","demo":"Dark gray line"},{"name":"series-data-marker--lineColor","fullname":"series.data.marker.lineColor","title":"lineColor","parent":"series-data-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-states-hover-marker--lineColor","fullname":"series.states.hover.marker.lineColor","title":"lineColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"plotOptions-area-marker-states-select--lineColor","fullname":"plotOptions.area.marker.states.select.lineColor","title":"lineColor","parent":"plotOptions-area-marker-states-select","isParent":false,"returnType":"Color","defaults":"#000000","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Red line color for selected points"},{"name":"plotOptions-columnrange-states-hover-marker--lineColor","fullname":"plotOptions.columnrange.states.hover.marker.lineColor","title":"lineColor","parent":"plotOptions-columnrange-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"plotOptions-gauge-states-hover-marker--lineColor","fullname":"plotOptions.gauge.states.hover.marker.lineColor","title":"lineColor","parent":"plotOptions-gauge-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"plotOptions-waterfall--lineColor","fullname":"plotOptions.waterfall.lineColor","title":"lineColor","parent":"plotOptions-waterfall","isParent":false,"returnType":"Color","defaults":"#333333","values":"","since":"3.0","description":"The color of the line that connects columns in a waterfall series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-areasplinerange-states-hover-marker--lineColor","fullname":"plotOptions.areasplinerange.states.hover.marker.lineColor","title":"lineColor","parent":"plotOptions-areasplinerange-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-marker-states-hover--lineColor","fullname":"series.marker.states.hover.lineColor","title":"lineColor","parent":"series-marker-states-hover","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"White fill color, black line color"},{"name":"plotOptions-polygon-marker-states-select--lineColor","fullname":"plotOptions.polygon.marker.states.select.lineColor","title":"lineColor","parent":"plotOptions-polygon-marker-states-select","isParent":false,"returnType":"Color","defaults":"#000000","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Red line color for selected points"},{"name":"series-states-hover-marker--lineColor","fullname":"series.states.hover.marker.lineColor","title":"lineColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"plotOptions-areaspline--lineColor","fullname":"plotOptions.areaspline.lineColor","title":"lineColor","parent":"plotOptions-areaspline","isParent":false,"returnType":"Color","description":"A separate color for the graph line. By default the line takes the color of the series, but the lineColor setting allows setting a separate color for the line without altering the fillColor.","demo":"Dark gray line"},{"name":"plotOptions-series-marker-states-select--lineColor","fullname":"plotOptions.series.marker.states.select.lineColor","title":"lineColor","parent":"plotOptions-series-marker-states-select","isParent":false,"returnType":"Color","defaults":"#000000","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Red line color for selected points"},{"name":"series-states-hover-marker--lineColor","fullname":"series.states.hover.marker.lineColor","title":"lineColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-data-marker-states-select--lineColor","fullname":"series.data.marker.states.select.lineColor","title":"lineColor","parent":"series-data-marker-states-select","isParent":false,"returnType":"Color","defaults":"#000000","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Red line color for selected points"},{"name":"plotOptions-areasplinerange--lineColor","fullname":"plotOptions.areasplinerange.lineColor","title":"lineColor","parent":"plotOptions-areasplinerange","isParent":false,"returnType":"Color","description":"A separate color for the graph line. By default the line takes the color of the series, but the lineColor setting allows setting a separate color for the line without altering the fillColor.","demo":"Dark gray line"},{"name":"plotOptions-areaspline-marker-states-hover--lineColor","fullname":"plotOptions.areaspline.marker.states.hover.lineColor","title":"lineColor","parent":"plotOptions-areaspline-marker-states-hover","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"White fill color, black line color"},{"name":"series-states-hover-marker--lineColor","fullname":"series.states.hover.marker.lineColor","title":"lineColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"plotOptions-series-marker-states-hover--lineColor","fullname":"plotOptions.series.marker.states.hover.lineColor","title":"lineColor","parent":"plotOptions-series-marker-states-hover","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"White fill color, black line color"},{"name":"series-marker-states-select--lineColor","fullname":"series.marker.states.select.lineColor","title":"lineColor","parent":"series-marker-states-select","isParent":false,"returnType":"Color","defaults":"#000000","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Red line color for selected points"},{"name":"series-data-marker-states-select--lineColor","fullname":"series.data.marker.states.select.lineColor","title":"lineColor","parent":"series-data-marker-states-select","isParent":false,"returnType":"Color","defaults":"#000000","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Red line color for selected points"},{"name":"plotOptions-line-states-hover-marker--lineColor","fullname":"plotOptions.line.states.hover.marker.lineColor","title":"lineColor","parent":"plotOptions-line-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-data-marker--lineColor","fullname":"series.data.marker.lineColor","title":"lineColor","parent":"series-data-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-states-hover-marker--lineColor","fullname":"series.states.hover.marker.lineColor","title":"lineColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-states-hover-marker--lineColor","fullname":"series.states.hover.marker.lineColor","title":"lineColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-states-hover-marker--lineColor","fullname":"series.states.hover.marker.lineColor","title":"lineColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"plotOptions-solidgauge-states-hover-marker--lineColor","fullname":"plotOptions.solidgauge.states.hover.marker.lineColor","title":"lineColor","parent":"plotOptions-solidgauge-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"plotOptions-polygon-marker-states-hover--lineColor","fullname":"plotOptions.polygon.marker.states.hover.lineColor","title":"lineColor","parent":"plotOptions-polygon-marker-states-hover","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"White fill color, black line color"},{"name":"series-marker--lineColor","fullname":"series.marker.lineColor","title":"lineColor","parent":"series-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"plotOptions-spline-states-hover-marker--lineColor","fullname":"plotOptions.spline.states.hover.marker.lineColor","title":"lineColor","parent":"plotOptions-spline-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"plotOptions-polygon-marker--lineColor","fullname":"plotOptions.polygon.marker.lineColor","title":"lineColor","parent":"plotOptions-polygon-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"plotOptions-bubble-states-hover-marker--lineColor","fullname":"plotOptions.bubble.states.hover.marker.lineColor","title":"lineColor","parent":"plotOptions-bubble-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"plotOptions-line-marker--lineColor","fullname":"plotOptions.line.marker.lineColor","title":"lineColor","parent":"plotOptions-line-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-states-hover-marker--lineColor","fullname":"series.states.hover.marker.lineColor","title":"lineColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-marker-states-hover--lineColor","fullname":"series.marker.states.hover.lineColor","title":"lineColor","parent":"series-marker-states-hover","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"White fill color, black line color"},{"name":"plotOptions-spline-marker-states-hover--lineColor","fullname":"plotOptions.spline.marker.states.hover.lineColor","title":"lineColor","parent":"plotOptions-spline-marker-states-hover","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"White fill color, black line color"},{"name":"series-data-marker-states-hover--lineColor","fullname":"series.data.marker.states.hover.lineColor","title":"lineColor","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"White fill color, black line color"},{"name":"series-marker--lineColor","fullname":"series.marker.lineColor","title":"lineColor","parent":"series-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-states-hover-marker--lineColor","fullname":"series.states.hover.marker.lineColor","title":"lineColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-data-marker-states-hover--lineColor","fullname":"series.data.marker.states.hover.lineColor","title":"lineColor","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"White fill color, black line color"},{"name":"series--lineColor","fullname":"series.lineColor","title":"lineColor","parent":"series","isParent":false,"returnType":"Color","defaults":"#333333","values":"","since":"3.0","description":"The color of the line that connects columns in a waterfall series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--lineColor","fullname":"series.states.hover.marker.lineColor","title":"lineColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-data-marker--lineColor","fullname":"series.data.marker.lineColor","title":"lineColor","parent":"series-data-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"plotOptions-line-marker-states-select--lineColor","fullname":"plotOptions.line.marker.states.select.lineColor","title":"lineColor","parent":"plotOptions-line-marker-states-select","isParent":false,"returnType":"Color","defaults":"#000000","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Red line color for selected points"},{"name":"plotOptions-scatter-marker--lineColor","fullname":"plotOptions.scatter.marker.lineColor","title":"lineColor","parent":"plotOptions-scatter-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-data-marker--lineColor","fullname":"series.data.marker.lineColor","title":"lineColor","parent":"series-data-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"plotOptions-areaspline-marker--lineColor","fullname":"plotOptions.areaspline.marker.lineColor","title":"lineColor","parent":"plotOptions-areaspline-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-marker--lineColor","fullname":"series.marker.lineColor","title":"lineColor","parent":"series-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-states-hover-marker--lineColor","fullname":"series.states.hover.marker.lineColor","title":"lineColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-states-hover-marker--lineColor","fullname":"series.states.hover.marker.lineColor","title":"lineColor","parent":"series-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"plotOptions-areaspline-marker-states-select--lineColor","fullname":"plotOptions.areaspline.marker.states.select.lineColor","title":"lineColor","parent":"plotOptions-areaspline-marker-states-select","isParent":false,"returnType":"Color","defaults":"#000000","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Red line color for selected points"},{"name":"series-data-marker-states-hover--lineColor","fullname":"series.data.marker.states.hover.lineColor","title":"lineColor","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"White fill color, black line color"},{"name":"plotOptions-bubble-marker-states-hover--lineColor","fullname":"plotOptions.bubble.marker.states.hover.lineColor","title":"lineColor","parent":"plotOptions-bubble-marker-states-hover","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"White fill color, black line color"},{"name":"series-data-marker--lineColor","fullname":"series.data.marker.lineColor","title":"lineColor","parent":"series-data-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-marker-states-hover--lineColor","fullname":"series.marker.states.hover.lineColor","title":"lineColor","parent":"series-marker-states-hover","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"White fill color, black line color"},{"name":"plotOptions-waterfall-states-hover-marker--lineColor","fullname":"plotOptions.waterfall.states.hover.marker.lineColor","title":"lineColor","parent":"plotOptions-waterfall-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-marker-states-hover--lineColor","fullname":"series.marker.states.hover.lineColor","title":"lineColor","parent":"series-marker-states-hover","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"White fill color, black line color"},{"name":"series--lineColor","fullname":"series.lineColor","title":"lineColor","parent":"series","isParent":false,"returnType":"Color","description":"A separate color for the graph line. By default the line takes the color of the series, but the lineColor setting allows setting a separate color for the line without altering the fillColor.","demo":"Dark gray line"},{"name":"series-marker-states-select--lineColor","fullname":"series.marker.states.select.lineColor","title":"lineColor","parent":"series-marker-states-select","isParent":false,"returnType":"Color","defaults":"#000000","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Red line color for selected points"},{"name":"plotOptions-scatter-states-hover-marker--lineColor","fullname":"plotOptions.scatter.states.hover.marker.lineColor","title":"lineColor","parent":"plotOptions-scatter-states-hover-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-marker--lineColor","fullname":"series.marker.lineColor","title":"lineColor","parent":"series-marker","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"Inherit from series color (null)"},{"name":"series-marker-states-hover--lineColor","fullname":"series.marker.states.hover.lineColor","title":"lineColor","parent":"series-marker-states-hover","isParent":false,"returnType":"Color","defaults":"#FFFFFF","description":"The color of the point marker's outline. When null, the series' or point's color is used.","demo":"White fill color, black line color"},{"name":"data--lineDelimiter","fullname":"data.lineDelimiter","title":"lineDelimiter","parent":"data","isParent":false,"returnType":"String","defaults":"\\n","values":"","since":"4.0","description":"Line delimiter for parsing CSV.","demo":"Delimiters","seeAlso":"","deprecated":false},{"name":"legend--lineHeight","fullname":"legend.lineHeight","title":"lineHeight","parent":"legend","isParent":false,"returnType":"Number","defaults":"16","since":"2.0","description":"Line height for the legend items. Deprecated as of 2.1. Instead, the line height for each item can be set using itemStyle.lineHeight, and the padding between items using itemMarginTop and itemMarginBottom.","demo":"Setting padding."},{"name":"series--lineWidth","fullname":"series.lineWidth","title":"lineWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"1","since":"2.3.0","description":"Pixel width of the arearange graph line.","demo":"","seeAlso":"","deprecated":false},{"name":"series-data-marker-states-hover--lineWidth","fullname":"series.data.marker.states.hover.lineWidth","title":"lineWidth","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width"},{"name":"series-marker-states-hover--lineWidth","fullname":"series.marker.states.hover.lineWidth","title":"lineWidth","parent":"series-marker-states-hover","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width"},{"name":"plotOptions-scatter--lineWidth","fullname":"plotOptions.scatter.lineWidth","title":"lineWidth","parent":"plotOptions-scatter","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the line connecting the data points.","demo":"0 by default,\n\t\t\t1px"},{"name":"plotOptions-bubble-marker-states-select--lineWidth","fullname":"plotOptions.bubble.marker.states.select.lineWidth","title":"lineWidth","parent":"plotOptions-bubble-marker-states-select","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width for selected points"},{"name":"series-data-marker-states-select--lineWidth","fullname":"series.data.marker.states.select.lineWidth","title":"lineWidth","parent":"series-data-marker-states-select","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width for selected points"},{"name":"plotOptions-scatter-states-hover--lineWidth","fullname":"plotOptions.scatter.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-scatter-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"series-states-hover--lineWidth","fullname":"series.states.hover.lineWidth","title":"lineWidth","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"plotOptions-boxplot--lineWidth","fullname":"plotOptions.boxplot.lineWidth","title":"lineWidth","parent":"plotOptions-boxplot","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"3.0","description":"The width of the line surrounding the box. If any of stemWidth, medianWidth or whiskerWidth are null, the lineWidth also applies to these lines.","demo":"Box plot styling, error bar styling","seeAlso":"","deprecated":false},{"name":"plotOptions-boxplot-states-hover--lineWidth","fullname":"plotOptions.boxplot.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-boxplot-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"series--lineWidth","fullname":"series.lineWidth","title":"lineWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the line connecting the data points.","demo":"0 by default,\n\t\t\t1px"},{"name":"series-marker--lineWidth","fullname":"series.marker.lineWidth","title":"lineWidth","parent":"series-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-marker-states-select--lineWidth","fullname":"series.marker.states.select.lineWidth","title":"lineWidth","parent":"series-marker-states-select","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width for selected points"},{"name":"series-data-marker-states-hover--lineWidth","fullname":"series.data.marker.states.hover.lineWidth","title":"lineWidth","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width"},{"name":"plotOptions-columnrange-states-hover-marker--lineWidth","fullname":"plotOptions.columnrange.states.hover.marker.lineWidth","title":"lineWidth","parent":"plotOptions-columnrange-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-data-marker-states-select--lineWidth","fullname":"series.data.marker.states.select.lineWidth","title":"lineWidth","parent":"series-data-marker-states-select","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width for selected points"},{"name":"plotOptions-line-marker-states-hover--lineWidth","fullname":"plotOptions.line.marker.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-line-marker-states-hover","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width"},{"name":"plotOptions-columnrange-states-hover--lineWidth","fullname":"plotOptions.columnrange.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-columnrange-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"series-states-hover-marker--lineWidth","fullname":"series.states.hover.marker.lineWidth","title":"lineWidth","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series--lineWidth","fullname":"series.lineWidth","title":"lineWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px on all series,\n\t\t\ton one single series"},{"name":"plotOptions-bubble--lineWidth","fullname":"plotOptions.bubble.lineWidth","title":"lineWidth","parent":"plotOptions-bubble","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the line connecting the data points.","demo":"0 by default,\n\t\t\t1px"},{"name":"plotOptions-areaspline-marker--lineWidth","fullname":"plotOptions.areaspline.marker.lineWidth","title":"lineWidth","parent":"plotOptions-areaspline-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"plotOptions-polygon--lineWidth","fullname":"plotOptions.polygon.lineWidth","title":"lineWidth","parent":"plotOptions-polygon","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the line connecting the data points.","demo":"0 by default,\n\t\t\t1px"},{"name":"plotOptions-area--lineWidth","fullname":"plotOptions.area.lineWidth","title":"lineWidth","parent":"plotOptions-area","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px on all series,\n\t\t\ton one single series"},{"name":"plotOptions-treemap-states-hover--lineWidth","fullname":"plotOptions.treemap.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-treemap-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"series-marker-states-select--lineWidth","fullname":"series.marker.states.select.lineWidth","title":"lineWidth","parent":"series-marker-states-select","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width for selected points"},{"name":"series-marker-states-hover--lineWidth","fullname":"series.marker.states.hover.lineWidth","title":"lineWidth","parent":"series-marker-states-hover","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width"},{"name":"plotOptions-polygon-marker-states-hover--lineWidth","fullname":"plotOptions.polygon.marker.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-polygon-marker-states-hover","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width"},{"name":"series-marker-states-hover--lineWidth","fullname":"series.marker.states.hover.lineWidth","title":"lineWidth","parent":"series-marker-states-hover","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width"},{"name":"plotOptions-funnel-states-hover-marker--lineWidth","fullname":"plotOptions.funnel.states.hover.marker.lineWidth","title":"lineWidth","parent":"plotOptions-funnel-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-states-hover--lineWidth","fullname":"series.states.hover.lineWidth","title":"lineWidth","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"series--lineWidth","fullname":"series.lineWidth","title":"lineWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"3.0","description":"The width of the line surrounding the box. If any of stemWidth, medianWidth or whiskerWidth are null, the lineWidth also applies to these lines.","demo":"Box plot styling, error bar styling","seeAlso":"","deprecated":false},{"name":"series-marker-states-select--lineWidth","fullname":"series.marker.states.select.lineWidth","title":"lineWidth","parent":"series-marker-states-select","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width for selected points"},{"name":"plotOptions-line--lineWidth","fullname":"plotOptions.line.lineWidth","title":"lineWidth","parent":"plotOptions-line","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px on all series,\n\t\t\ton one single series"},{"name":"series--lineWidth","fullname":"series.lineWidth","title":"lineWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px on all series,\n\t\t\ton one single series"},{"name":"plotOptions-errorbar-states-hover-marker--lineWidth","fullname":"plotOptions.errorbar.states.hover.marker.lineWidth","title":"lineWidth","parent":"plotOptions-errorbar-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-states-hover-marker--lineWidth","fullname":"series.states.hover.marker.lineWidth","title":"lineWidth","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-states-hover--lineWidth","fullname":"series.states.hover.lineWidth","title":"lineWidth","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"series-data-marker--lineWidth","fullname":"series.data.marker.lineWidth","title":"lineWidth","parent":"series-data-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"plotOptions-areasplinerange-states-hover-marker--lineWidth","fullname":"plotOptions.areasplinerange.states.hover.marker.lineWidth","title":"lineWidth","parent":"plotOptions-areasplinerange-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"plotOptions-arearange-states-hover-marker--lineWidth","fullname":"plotOptions.arearange.states.hover.marker.lineWidth","title":"lineWidth","parent":"plotOptions-arearange-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"plotOptions-treemap-states-hover-marker--lineWidth","fullname":"plotOptions.treemap.states.hover.marker.lineWidth","title":"lineWidth","parent":"plotOptions-treemap-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-states-hover-marker--lineWidth","fullname":"series.states.hover.marker.lineWidth","title":"lineWidth","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-data-marker--lineWidth","fullname":"series.data.marker.lineWidth","title":"lineWidth","parent":"series-data-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"plotOptions-spline-marker-states-hover--lineWidth","fullname":"plotOptions.spline.marker.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-spline-marker-states-hover","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width"},{"name":"plotOptions-bubble-states-hover--lineWidth","fullname":"plotOptions.bubble.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-bubble-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"plotOptions-line-marker-states-select--lineWidth","fullname":"plotOptions.line.marker.states.select.lineWidth","title":"lineWidth","parent":"plotOptions-line-marker-states-select","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width for selected points"},{"name":"series-data-marker-states-hover--lineWidth","fullname":"series.data.marker.states.hover.lineWidth","title":"lineWidth","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width"},{"name":"series-states-hover--lineWidth","fullname":"series.states.hover.lineWidth","title":"lineWidth","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"series-marker-states-hover--lineWidth","fullname":"series.marker.states.hover.lineWidth","title":"lineWidth","parent":"series-marker-states-hover","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width"},{"name":"plotOptions-arearange--lineWidth","fullname":"plotOptions.arearange.lineWidth","title":"lineWidth","parent":"plotOptions-arearange","isParent":false,"returnType":"Number","defaults":"1","since":"2.3.0","description":"Pixel width of the arearange graph line.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-area-marker-states-select--lineWidth","fullname":"plotOptions.area.marker.states.select.lineWidth","title":"lineWidth","parent":"plotOptions-area-marker-states-select","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width for selected points"},{"name":"plotOptions-area-marker--lineWidth","fullname":"plotOptions.area.marker.lineWidth","title":"lineWidth","parent":"plotOptions-area-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"plotOptions-spline-marker-states-select--lineWidth","fullname":"plotOptions.spline.marker.states.select.lineWidth","title":"lineWidth","parent":"plotOptions-spline-marker-states-select","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width for selected points"},{"name":"series-marker-states-select--lineWidth","fullname":"series.marker.states.select.lineWidth","title":"lineWidth","parent":"series-marker-states-select","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width for selected points"},{"name":"series-marker--lineWidth","fullname":"series.marker.lineWidth","title":"lineWidth","parent":"series-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"plotOptions-bubble-marker--lineWidth","fullname":"plotOptions.bubble.marker.lineWidth","title":"lineWidth","parent":"plotOptions-bubble-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-states-hover-marker--lineWidth","fullname":"series.states.hover.marker.lineWidth","title":"lineWidth","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-states-hover--lineWidth","fullname":"series.states.hover.lineWidth","title":"lineWidth","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"series-marker-states-hover--lineWidth","fullname":"series.marker.states.hover.lineWidth","title":"lineWidth","parent":"series-marker-states-hover","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width"},{"name":"plotOptions-gauge-states-hover--lineWidth","fullname":"plotOptions.gauge.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-gauge-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"series--lineWidth","fullname":"series.lineWidth","title":"lineWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"3.0","description":"The width of the line surrounding the box. If any of stemWidth, medianWidth or whiskerWidth are null, the lineWidth also applies to these lines.","demo":"Box plot styling, error bar styling","seeAlso":"","deprecated":false},{"name":"series-states-hover--lineWidth","fullname":"series.states.hover.lineWidth","title":"lineWidth","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"series-states-hover--lineWidth","fullname":"series.states.hover.lineWidth","title":"lineWidth","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"plotOptions-line-states-hover-marker--lineWidth","fullname":"plotOptions.line.states.hover.marker.lineWidth","title":"lineWidth","parent":"plotOptions-line-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-states-hover--lineWidth","fullname":"series.states.hover.lineWidth","title":"lineWidth","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"series-data-marker--lineWidth","fullname":"series.data.marker.lineWidth","title":"lineWidth","parent":"series-data-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-states-hover-marker--lineWidth","fullname":"series.states.hover.marker.lineWidth","title":"lineWidth","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-states-hover-marker--lineWidth","fullname":"series.states.hover.marker.lineWidth","title":"lineWidth","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"plotOptions-errorbar-states-hover--lineWidth","fullname":"plotOptions.errorbar.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-errorbar-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"plotOptions-line-marker--lineWidth","fullname":"plotOptions.line.marker.lineWidth","title":"lineWidth","parent":"plotOptions-line-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-marker-states-select--lineWidth","fullname":"series.marker.states.select.lineWidth","title":"lineWidth","parent":"series-marker-states-select","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width for selected points"},{"name":"series-marker-states-select--lineWidth","fullname":"series.marker.states.select.lineWidth","title":"lineWidth","parent":"series-marker-states-select","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width for selected points"},{"name":"plotOptions-spline--lineWidth","fullname":"plotOptions.spline.lineWidth","title":"lineWidth","parent":"plotOptions-spline","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px on all series,\n\t\t\ton one single series"},{"name":"series-states-hover--lineWidth","fullname":"series.states.hover.lineWidth","title":"lineWidth","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"plotOptions-pie-states-hover--lineWidth","fullname":"plotOptions.pie.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-pie-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"series-states-hover--lineWidth","fullname":"series.states.hover.lineWidth","title":"lineWidth","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"series-states-hover-marker--lineWidth","fullname":"series.states.hover.marker.lineWidth","title":"lineWidth","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-states-hover-marker--lineWidth","fullname":"series.states.hover.marker.lineWidth","title":"lineWidth","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"yAxis--lineWidth","fullname":"yAxis.lineWidth","title":"lineWidth","parent":"yAxis","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the line marking the axis itself.","demo":"A 1px line on Y axis"},{"name":"plotOptions-areasplinerange-states-hover--lineWidth","fullname":"plotOptions.areasplinerange.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-areasplinerange-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"series-data-marker--lineWidth","fullname":"series.data.marker.lineWidth","title":"lineWidth","parent":"series-data-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"plotOptions-gauge-states-hover-marker--lineWidth","fullname":"plotOptions.gauge.states.hover.marker.lineWidth","title":"lineWidth","parent":"plotOptions-gauge-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-data-marker-states-hover--lineWidth","fullname":"series.data.marker.states.hover.lineWidth","title":"lineWidth","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width"},{"name":"series-states-hover-marker--lineWidth","fullname":"series.states.hover.marker.lineWidth","title":"lineWidth","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-marker--lineWidth","fullname":"series.marker.lineWidth","title":"lineWidth","parent":"series-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"plotOptions-area-states-hover-marker--lineWidth","fullname":"plotOptions.area.states.hover.marker.lineWidth","title":"lineWidth","parent":"plotOptions-area-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-states-hover-marker--lineWidth","fullname":"series.states.hover.marker.lineWidth","title":"lineWidth","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"plotOptions-scatter-marker-states-hover--lineWidth","fullname":"plotOptions.scatter.marker.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-scatter-marker-states-hover","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width"},{"name":"plotOptions-area-marker-states-hover--lineWidth","fullname":"plotOptions.area.marker.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-area-marker-states-hover","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width"},{"name":"plotOptions-polygon-marker--lineWidth","fullname":"plotOptions.polygon.marker.lineWidth","title":"lineWidth","parent":"plotOptions-polygon-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-data-marker-states-hover--lineWidth","fullname":"series.data.marker.states.hover.lineWidth","title":"lineWidth","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width"},{"name":"series-states-hover-marker--lineWidth","fullname":"series.states.hover.marker.lineWidth","title":"lineWidth","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"plotOptions-area-states-hover--lineWidth","fullname":"plotOptions.area.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-area-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"plotOptions-funnel-states-hover--lineWidth","fullname":"plotOptions.funnel.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-funnel-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"series-states-hover-marker--lineWidth","fullname":"series.states.hover.marker.lineWidth","title":"lineWidth","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-states-hover--lineWidth","fullname":"series.states.hover.lineWidth","title":"lineWidth","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"plotOptions-bubble-states-hover-marker--lineWidth","fullname":"plotOptions.bubble.states.hover.marker.lineWidth","title":"lineWidth","parent":"plotOptions-bubble-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-states-hover--lineWidth","fullname":"series.states.hover.lineWidth","title":"lineWidth","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"plotOptions-heatmap-states-hover--lineWidth","fullname":"plotOptions.heatmap.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-heatmap-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"plotOptions-areaspline-states-hover-marker--lineWidth","fullname":"plotOptions.areaspline.states.hover.marker.lineWidth","title":"lineWidth","parent":"plotOptions-areaspline-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"plotOptions-heatmap-states-hover-marker--lineWidth","fullname":"plotOptions.heatmap.states.hover.marker.lineWidth","title":"lineWidth","parent":"plotOptions-heatmap-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-states-hover--lineWidth","fullname":"series.states.hover.lineWidth","title":"lineWidth","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"series--lineWidth","fullname":"series.lineWidth","title":"lineWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the line connecting the data points.","demo":"0 by default,\n\t\t\t1px"},{"name":"plotOptions-pyramid-states-hover-marker--lineWidth","fullname":"plotOptions.pyramid.states.hover.marker.lineWidth","title":"lineWidth","parent":"plotOptions-pyramid-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-states-hover-marker--lineWidth","fullname":"series.states.hover.marker.lineWidth","title":"lineWidth","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"plotOptions-series--lineWidth","fullname":"plotOptions.series.lineWidth","title":"lineWidth","parent":"plotOptions-series","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px on all series,\n\t\t\ton one single series"},{"name":"plotOptions-arearange-states-hover--lineWidth","fullname":"plotOptions.arearange.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-arearange-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"plotOptions-areaspline-marker-states-hover--lineWidth","fullname":"plotOptions.areaspline.marker.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-areaspline-marker-states-hover","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width"},{"name":"plotOptions-errorbar--lineWidth","fullname":"plotOptions.errorbar.lineWidth","title":"lineWidth","parent":"plotOptions-errorbar","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"3.0","description":"The width of the line surrounding the box. If any of stemWidth, medianWidth or whiskerWidth are null, the lineWidth also applies to these lines.","demo":"Box plot styling, error bar styling","seeAlso":"","deprecated":false},{"name":"plotOptions-spline-states-hover-marker--lineWidth","fullname":"plotOptions.spline.states.hover.marker.lineWidth","title":"lineWidth","parent":"plotOptions-spline-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-data-marker--lineWidth","fullname":"series.data.marker.lineWidth","title":"lineWidth","parent":"series-data-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-states-hover-marker--lineWidth","fullname":"series.states.hover.marker.lineWidth","title":"lineWidth","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-data-marker-states-select--lineWidth","fullname":"series.data.marker.states.select.lineWidth","title":"lineWidth","parent":"series-data-marker-states-select","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width for selected points"},{"name":"plotOptions-column-states-hover-marker--lineWidth","fullname":"plotOptions.column.states.hover.marker.lineWidth","title":"lineWidth","parent":"plotOptions-column-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-states-hover-marker--lineWidth","fullname":"series.states.hover.marker.lineWidth","title":"lineWidth","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"plotOptions-line-states-hover--lineWidth","fullname":"plotOptions.line.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-line-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"plotOptions-polygon-states-hover-marker--lineWidth","fullname":"plotOptions.polygon.states.hover.marker.lineWidth","title":"lineWidth","parent":"plotOptions-polygon-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"plotOptions-scatter-states-hover-marker--lineWidth","fullname":"plotOptions.scatter.states.hover.marker.lineWidth","title":"lineWidth","parent":"plotOptions-scatter-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series--lineWidth","fullname":"series.lineWidth","title":"lineWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the line connecting the data points.","demo":"0 by default,\n\t\t\t1px"},{"name":"series-states-hover--lineWidth","fullname":"series.states.hover.lineWidth","title":"lineWidth","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"series-marker--lineWidth","fullname":"series.marker.lineWidth","title":"lineWidth","parent":"series-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-marker--lineWidth","fullname":"series.marker.lineWidth","title":"lineWidth","parent":"series-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-states-hover--lineWidth","fullname":"series.states.hover.lineWidth","title":"lineWidth","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"series-states-hover-marker--lineWidth","fullname":"series.states.hover.marker.lineWidth","title":"lineWidth","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-data-marker-states-select--lineWidth","fullname":"series.data.marker.states.select.lineWidth","title":"lineWidth","parent":"series-data-marker-states-select","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width for selected points"},{"name":"plotOptions-polygon-states-hover--lineWidth","fullname":"plotOptions.polygon.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-polygon-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"series-states-hover--lineWidth","fullname":"series.states.hover.lineWidth","title":"lineWidth","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"plotOptions-spline-marker--lineWidth","fullname":"plotOptions.spline.marker.lineWidth","title":"lineWidth","parent":"plotOptions-spline-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"plotOptions-spline-states-hover--lineWidth","fullname":"plotOptions.spline.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-spline-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"series-states-hover--lineWidth","fullname":"series.states.hover.lineWidth","title":"lineWidth","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"plotOptions-pyramid-states-hover--lineWidth","fullname":"plotOptions.pyramid.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-pyramid-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"series-states-hover-marker--lineWidth","fullname":"series.states.hover.marker.lineWidth","title":"lineWidth","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-states-hover--lineWidth","fullname":"series.states.hover.lineWidth","title":"lineWidth","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"series-states-hover--lineWidth","fullname":"series.states.hover.lineWidth","title":"lineWidth","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"plotOptions-bar-states-hover-marker--lineWidth","fullname":"plotOptions.bar.states.hover.marker.lineWidth","title":"lineWidth","parent":"plotOptions-bar-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"plotOptions-solidgauge-states-hover-marker--lineWidth","fullname":"plotOptions.solidgauge.states.hover.marker.lineWidth","title":"lineWidth","parent":"plotOptions-solidgauge-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"plotOptions-polygon-marker-states-select--lineWidth","fullname":"plotOptions.polygon.marker.states.select.lineWidth","title":"lineWidth","parent":"plotOptions-polygon-marker-states-select","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width for selected points"},{"name":"plotOptions-waterfall-states-hover--lineWidth","fullname":"plotOptions.waterfall.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-waterfall-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"plotOptions-series-marker-states-hover--lineWidth","fullname":"plotOptions.series.marker.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-series-marker-states-hover","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width"},{"name":"xAxis--lineWidth","fullname":"xAxis.lineWidth","title":"lineWidth","parent":"xAxis","isParent":false,"returnType":"Number","defaults":"1","description":"The width of the line marking the axis itself.","demo":"A 1px line on Y axis"},{"name":"series-states-hover-marker--lineWidth","fullname":"series.states.hover.marker.lineWidth","title":"lineWidth","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series--lineWidth","fullname":"series.lineWidth","title":"lineWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px on all series,\n\t\t\ton one single series"},{"name":"plotOptions-pie-states-hover-marker--lineWidth","fullname":"plotOptions.pie.states.hover.marker.lineWidth","title":"lineWidth","parent":"plotOptions-pie-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series--lineWidth","fullname":"series.lineWidth","title":"lineWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"1","since":"2.3.0","description":"Pixel width of the arearange graph line.","demo":"","seeAlso":"","deprecated":false},{"name":"series-data-marker-states-select--lineWidth","fullname":"series.data.marker.states.select.lineWidth","title":"lineWidth","parent":"series-data-marker-states-select","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width for selected points"},{"name":"plotOptions-scatter-marker--lineWidth","fullname":"plotOptions.scatter.marker.lineWidth","title":"lineWidth","parent":"plotOptions-scatter-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-marker-states-hover--lineWidth","fullname":"series.marker.states.hover.lineWidth","title":"lineWidth","parent":"series-marker-states-hover","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width"},{"name":"plotOptions-boxplot-states-hover-marker--lineWidth","fullname":"plotOptions.boxplot.states.hover.marker.lineWidth","title":"lineWidth","parent":"plotOptions-boxplot-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-states-hover-marker--lineWidth","fullname":"series.states.hover.marker.lineWidth","title":"lineWidth","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"plotOptions-series-states-hover--lineWidth","fullname":"plotOptions.series.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-series-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"series-states-hover-marker--lineWidth","fullname":"series.states.hover.marker.lineWidth","title":"lineWidth","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-data-marker--lineWidth","fullname":"series.data.marker.lineWidth","title":"lineWidth","parent":"series-data-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"plotOptions-areaspline--lineWidth","fullname":"plotOptions.areaspline.lineWidth","title":"lineWidth","parent":"plotOptions-areaspline","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px on all series,\n\t\t\ton one single series"},{"name":"series-states-hover-marker--lineWidth","fullname":"series.states.hover.marker.lineWidth","title":"lineWidth","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-states-hover--lineWidth","fullname":"series.states.hover.lineWidth","title":"lineWidth","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"plotOptions-series-states-hover-marker--lineWidth","fullname":"plotOptions.series.states.hover.marker.lineWidth","title":"lineWidth","parent":"plotOptions-series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-marker-states-select--lineWidth","fullname":"series.marker.states.select.lineWidth","title":"lineWidth","parent":"series-marker-states-select","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width for selected points"},{"name":"plotOptions-waterfall-states-hover-marker--lineWidth","fullname":"plotOptions.waterfall.states.hover.marker.lineWidth","title":"lineWidth","parent":"plotOptions-waterfall-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-marker-states-hover--lineWidth","fullname":"series.marker.states.hover.lineWidth","title":"lineWidth","parent":"series-marker-states-hover","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width"},{"name":"plotOptions-bubble-marker-states-hover--lineWidth","fullname":"plotOptions.bubble.marker.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-bubble-marker-states-hover","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width"},{"name":"plotOptions-solidgauge-states-hover--lineWidth","fullname":"plotOptions.solidgauge.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-solidgauge-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"plotOptions-series-marker-states-select--lineWidth","fullname":"plotOptions.series.marker.states.select.lineWidth","title":"lineWidth","parent":"plotOptions-series-marker-states-select","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width for selected points"},{"name":"series-marker--lineWidth","fullname":"series.marker.lineWidth","title":"lineWidth","parent":"series-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"plotOptions-series-marker--lineWidth","fullname":"plotOptions.series.marker.lineWidth","title":"lineWidth","parent":"plotOptions-series-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-states-hover-marker--lineWidth","fullname":"series.states.hover.marker.lineWidth","title":"lineWidth","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"series-marker--lineWidth","fullname":"series.marker.lineWidth","title":"lineWidth","parent":"series-marker","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"2px blue marker"},{"name":"plotOptions-areaspline-states-hover--lineWidth","fullname":"plotOptions.areaspline.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-areaspline-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"series-data-marker-states-hover--lineWidth","fullname":"series.data.marker.states.hover.lineWidth","title":"lineWidth","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width"},{"name":"plotOptions-areasplinerange--lineWidth","fullname":"plotOptions.areasplinerange.lineWidth","title":"lineWidth","parent":"plotOptions-areasplinerange","isParent":false,"returnType":"Number","defaults":"1","since":"2.3.0","description":"Pixel width of the arearange graph line.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover--lineWidth","fullname":"series.states.hover.lineWidth","title":"lineWidth","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"series-data-marker-states-select--lineWidth","fullname":"series.data.marker.states.select.lineWidth","title":"lineWidth","parent":"series-data-marker-states-select","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width for selected points"},{"name":"series-states-hover--lineWidth","fullname":"series.states.hover.lineWidth","title":"lineWidth","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"plotOptions-areaspline-marker-states-select--lineWidth","fullname":"plotOptions.areaspline.marker.states.select.lineWidth","title":"lineWidth","parent":"plotOptions-areaspline-marker-states-select","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width for selected points"},{"name":"plotOptions-column-states-hover--lineWidth","fullname":"plotOptions.column.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-column-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"plotOptions-bar-states-hover--lineWidth","fullname":"plotOptions.bar.states.hover.lineWidth","title":"lineWidth","parent":"plotOptions-bar-states-hover","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px line on hover"},{"name":"series--lineWidth","fullname":"series.lineWidth","title":"lineWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"2","description":"Pixel with of the graph line.","demo":"5px on all series,\n\t\t\ton one single series"},{"name":"plotOptions-scatter-marker-states-select--lineWidth","fullname":"plotOptions.scatter.marker.states.select.lineWidth","title":"lineWidth","parent":"plotOptions-scatter-marker-states-select","isParent":false,"returnType":"Number","defaults":"0","description":"The width of the point marker's outline.","demo":"3px line width for selected points"},{"name":"series-data-marker-states-hover--lineWidthPlus","fullname":"series.data.marker.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0.3","description":"The additional line width for a hovered point.","demo":"2 pixels wider on hover","seeAlso":"","deprecated":false},{"name":"series-data-marker-states-hover--lineWidthPlus","fullname":"series.data.marker.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0.3","description":"The additional line width for a hovered point.","demo":"2 pixels wider on hover","seeAlso":"","deprecated":false},{"name":"series-states-hover--lineWidthPlus","fullname":"series.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"plotOptions-line-states-hover--lineWidthPlus","fullname":"plotOptions.line.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-line-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"series-states-hover--lineWidthPlus","fullname":"series.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"series-marker-states-hover--lineWidthPlus","fullname":"series.marker.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-marker-states-hover","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0.3","description":"The additional line width for a hovered point.","demo":"2 pixels wider on hover","seeAlso":"","deprecated":false},{"name":"series-data-marker-states-hover--lineWidthPlus","fullname":"series.data.marker.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0.3","description":"The additional line width for a hovered point.","demo":"2 pixels wider on hover","seeAlso":"","deprecated":false},{"name":"plotOptions-area-marker-states-hover--lineWidthPlus","fullname":"plotOptions.area.marker.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-area-marker-states-hover","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0.3","description":"The additional line width for a hovered point.","demo":"2 pixels wider on hover","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange-states-hover--lineWidthPlus","fullname":"plotOptions.columnrange.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-columnrange-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"plotOptions-gauge-states-hover--lineWidthPlus","fullname":"plotOptions.gauge.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-gauge-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"plotOptions-scatter-marker-states-hover--lineWidthPlus","fullname":"plotOptions.scatter.marker.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-scatter-marker-states-hover","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0.3","description":"The additional line width for a hovered point.","demo":"2 pixels wider on hover","seeAlso":"","deprecated":false},{"name":"plotOptions-pie-states-hover--lineWidthPlus","fullname":"plotOptions.pie.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-pie-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"plotOptions-area-states-hover--lineWidthPlus","fullname":"plotOptions.area.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-area-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"plotOptions-areaspline-marker-states-hover--lineWidthPlus","fullname":"plotOptions.areaspline.marker.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-areaspline-marker-states-hover","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0.3","description":"The additional line width for a hovered point.","demo":"2 pixels wider on hover","seeAlso":"","deprecated":false},{"name":"series-marker-states-hover--lineWidthPlus","fullname":"series.marker.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-marker-states-hover","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0.3","description":"The additional line width for a hovered point.","demo":"2 pixels wider on hover","seeAlso":"","deprecated":false},{"name":"series-states-hover--lineWidthPlus","fullname":"series.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"plotOptions-waterfall-states-hover--lineWidthPlus","fullname":"plotOptions.waterfall.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-waterfall-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"plotOptions-bubble-states-hover--lineWidthPlus","fullname":"plotOptions.bubble.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-bubble-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"plotOptions-polygon-marker-states-hover--lineWidthPlus","fullname":"plotOptions.polygon.marker.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-polygon-marker-states-hover","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0.3","description":"The additional line width for a hovered point.","demo":"2 pixels wider on hover","seeAlso":"","deprecated":false},{"name":"plotOptions-errorbar-states-hover--lineWidthPlus","fullname":"plotOptions.errorbar.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-errorbar-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"plotOptions-arearange-states-hover--lineWidthPlus","fullname":"plotOptions.arearange.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-arearange-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"plotOptions-areaspline-states-hover--lineWidthPlus","fullname":"plotOptions.areaspline.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-areaspline-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"series-states-hover--lineWidthPlus","fullname":"series.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"series-data-marker-states-hover--lineWidthPlus","fullname":"series.data.marker.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0.3","description":"The additional line width for a hovered point.","demo":"2 pixels wider on hover","seeAlso":"","deprecated":false},{"name":"plotOptions-heatmap-states-hover--lineWidthPlus","fullname":"plotOptions.heatmap.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-heatmap-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"plotOptions-boxplot-states-hover--lineWidthPlus","fullname":"plotOptions.boxplot.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-boxplot-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"series-marker-states-hover--lineWidthPlus","fullname":"series.marker.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-marker-states-hover","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0.3","description":"The additional line width for a hovered point.","demo":"2 pixels wider on hover","seeAlso":"","deprecated":false},{"name":"plotOptions-spline-marker-states-hover--lineWidthPlus","fullname":"plotOptions.spline.marker.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-spline-marker-states-hover","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0.3","description":"The additional line width for a hovered point.","demo":"2 pixels wider on hover","seeAlso":"","deprecated":false},{"name":"plotOptions-series-marker-states-hover--lineWidthPlus","fullname":"plotOptions.series.marker.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-series-marker-states-hover","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0.3","description":"The additional line width for a hovered point.","demo":"2 pixels wider on hover","seeAlso":"","deprecated":false},{"name":"series-marker-states-hover--lineWidthPlus","fullname":"series.marker.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-marker-states-hover","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0.3","description":"The additional line width for a hovered point.","demo":"2 pixels wider on hover","seeAlso":"","deprecated":false},{"name":"series-states-hover--lineWidthPlus","fullname":"series.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"series-marker-states-hover--lineWidthPlus","fullname":"series.marker.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-marker-states-hover","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0.3","description":"The additional line width for a hovered point.","demo":"2 pixels wider on hover","seeAlso":"","deprecated":false},{"name":"series-data-marker-states-hover--lineWidthPlus","fullname":"series.data.marker.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0.3","description":"The additional line width for a hovered point.","demo":"2 pixels wider on hover","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid-states-hover--lineWidthPlus","fullname":"plotOptions.pyramid.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-pyramid-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"plotOptions-bar-states-hover--lineWidthPlus","fullname":"plotOptions.bar.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-bar-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"series-states-hover--lineWidthPlus","fullname":"series.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"series-states-hover--lineWidthPlus","fullname":"series.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"plotOptions-polygon-states-hover--lineWidthPlus","fullname":"plotOptions.polygon.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-polygon-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"series-states-hover--lineWidthPlus","fullname":"series.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"series-states-hover--lineWidthPlus","fullname":"series.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"series-states-hover--lineWidthPlus","fullname":"series.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"series-marker-states-hover--lineWidthPlus","fullname":"series.marker.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-marker-states-hover","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0.3","description":"The additional line width for a hovered point.","demo":"2 pixels wider on hover","seeAlso":"","deprecated":false},{"name":"series-states-hover--lineWidthPlus","fullname":"series.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"plotOptions-line-marker-states-hover--lineWidthPlus","fullname":"plotOptions.line.marker.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-line-marker-states-hover","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0.3","description":"The additional line width for a hovered point.","demo":"2 pixels wider on hover","seeAlso":"","deprecated":false},{"name":"plotOptions-spline-states-hover--lineWidthPlus","fullname":"plotOptions.spline.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-spline-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"series-states-hover--lineWidthPlus","fullname":"series.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"series-states-hover--lineWidthPlus","fullname":"series.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"plotOptions-bubble-marker-states-hover--lineWidthPlus","fullname":"plotOptions.bubble.marker.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-bubble-marker-states-hover","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0.3","description":"The additional line width for a hovered point.","demo":"2 pixels wider on hover","seeAlso":"","deprecated":false},{"name":"series-states-hover--lineWidthPlus","fullname":"series.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"plotOptions-solidgauge-states-hover--lineWidthPlus","fullname":"plotOptions.solidgauge.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-solidgauge-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"plotOptions-series-states-hover--lineWidthPlus","fullname":"plotOptions.series.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-series-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"series-states-hover--lineWidthPlus","fullname":"series.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"series-states-hover--lineWidthPlus","fullname":"series.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"plotOptions-areasplinerange-states-hover--lineWidthPlus","fullname":"plotOptions.areasplinerange.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-areasplinerange-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"plotOptions-column-states-hover--lineWidthPlus","fullname":"plotOptions.column.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-column-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"plotOptions-treemap-states-hover--lineWidthPlus","fullname":"plotOptions.treemap.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-treemap-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"series-states-hover--lineWidthPlus","fullname":"series.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"series-marker-states-hover--lineWidthPlus","fullname":"series.marker.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-marker-states-hover","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0.3","description":"The additional line width for a hovered point.","demo":"2 pixels wider on hover","seeAlso":"","deprecated":false},{"name":"series-states-hover--lineWidthPlus","fullname":"series.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"plotOptions-scatter-states-hover--lineWidthPlus","fullname":"plotOptions.scatter.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-scatter-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"plotOptions-funnel-states-hover--lineWidthPlus","fullname":"plotOptions.funnel.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"plotOptions-funnel-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"series-states-hover--lineWidthPlus","fullname":"series.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"series-data-marker-states-hover--lineWidthPlus","fullname":"series.data.marker.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0.3","description":"The additional line width for a hovered point.","demo":"2 pixels wider on hover","seeAlso":"","deprecated":false},{"name":"series-states-hover--lineWidthPlus","fullname":"series.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"series-states-hover--lineWidthPlus","fullname":"series.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"series-states-hover--lineWidthPlus","fullname":"series.states.hover.lineWidthPlus","title":"lineWidthPlus","parent":"series-states-hover","isParent":false,"returnType":"Number","defaults":"1","since":"4.0.3","description":"The additional line width for the graph of a hovered series.","demo":"5 pixels wider","deprecated":false},{"name":"plotOptions-areaspline--linkedTo","fullname":"plotOptions.areaspline.linkedTo","title":"linkedTo","parent":"plotOptions-areaspline","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"plotOptions-errorbar--linkedTo","fullname":"plotOptions.errorbar.linkedTo","title":"linkedTo","parent":"plotOptions-errorbar","isParent":false,"returnType":"String","defaults":":previous","values":"","since":"3.0","description":"The parent series of the error bar. The default value links it to the previous series. Otherwise, use the id of the parent series.","demo":"","seeAlso":"","deprecated":false},{"name":"yAxis--linkedTo","fullname":"yAxis.linkedTo","title":"linkedTo","parent":"yAxis","isParent":false,"returnType":"Number","since":"2.0.2","description":"Index of another axis that this axis is linked to. When an axis is linked to a master axis, it will take the same extremes as the master, but as assigned by min or max or by setExtremes. It can be used to show additional info, or to ease reading the chart by duplicating the scales.","demo":"Different string formats of the same date,\n\t\t\tY values on both sides"},{"name":"series--linkedTo","fullname":"series.linkedTo","title":"linkedTo","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"series--linkedTo","fullname":"series.linkedTo","title":"linkedTo","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"series--linkedTo","fullname":"series.linkedTo","title":"linkedTo","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid--linkedTo","fullname":"plotOptions.pyramid.linkedTo","title":"linkedTo","parent":"plotOptions-pyramid","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"plotOptions-waterfall--linkedTo","fullname":"plotOptions.waterfall.linkedTo","title":"linkedTo","parent":"plotOptions-waterfall","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"series--linkedTo","fullname":"series.linkedTo","title":"linkedTo","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"series--linkedTo","fullname":"series.linkedTo","title":"linkedTo","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"plotOptions-area--linkedTo","fullname":"plotOptions.area.linkedTo","title":"linkedTo","parent":"plotOptions-area","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"series--linkedTo","fullname":"series.linkedTo","title":"linkedTo","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"plotOptions-treemap--linkedTo","fullname":"plotOptions.treemap.linkedTo","title":"linkedTo","parent":"plotOptions-treemap","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"plotOptions-arearange--linkedTo","fullname":"plotOptions.arearange.linkedTo","title":"linkedTo","parent":"plotOptions-arearange","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"series--linkedTo","fullname":"series.linkedTo","title":"linkedTo","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"series--linkedTo","fullname":"series.linkedTo","title":"linkedTo","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"plotOptions-scatter--linkedTo","fullname":"plotOptions.scatter.linkedTo","title":"linkedTo","parent":"plotOptions-scatter","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"plotOptions-heatmap--linkedTo","fullname":"plotOptions.heatmap.linkedTo","title":"linkedTo","parent":"plotOptions-heatmap","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"plotOptions-funnel--linkedTo","fullname":"plotOptions.funnel.linkedTo","title":"linkedTo","parent":"plotOptions-funnel","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"series--linkedTo","fullname":"series.linkedTo","title":"linkedTo","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"series--linkedTo","fullname":"series.linkedTo","title":"linkedTo","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble--linkedTo","fullname":"plotOptions.bubble.linkedTo","title":"linkedTo","parent":"plotOptions-bubble","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"series--linkedTo","fullname":"series.linkedTo","title":"linkedTo","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"plotOptions-column--linkedTo","fullname":"plotOptions.column.linkedTo","title":"linkedTo","parent":"plotOptions-column","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange--linkedTo","fullname":"plotOptions.columnrange.linkedTo","title":"linkedTo","parent":"plotOptions-columnrange","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"series--linkedTo","fullname":"series.linkedTo","title":"linkedTo","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"plotOptions-line--linkedTo","fullname":"plotOptions.line.linkedTo","title":"linkedTo","parent":"plotOptions-line","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"series--linkedTo","fullname":"series.linkedTo","title":"linkedTo","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon--linkedTo","fullname":"plotOptions.polygon.linkedTo","title":"linkedTo","parent":"plotOptions-polygon","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"plotOptions-boxplot--linkedTo","fullname":"plotOptions.boxplot.linkedTo","title":"linkedTo","parent":"plotOptions-boxplot","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"plotOptions-areasplinerange--linkedTo","fullname":"plotOptions.areasplinerange.linkedTo","title":"linkedTo","parent":"plotOptions-areasplinerange","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"series--linkedTo","fullname":"series.linkedTo","title":"linkedTo","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"plotOptions-gauge--linkedTo","fullname":"plotOptions.gauge.linkedTo","title":"linkedTo","parent":"plotOptions-gauge","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"series--linkedTo","fullname":"series.linkedTo","title":"linkedTo","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"plotOptions-pie--linkedTo","fullname":"plotOptions.pie.linkedTo","title":"linkedTo","parent":"plotOptions-pie","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"series--linkedTo","fullname":"series.linkedTo","title":"linkedTo","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"xAxis--linkedTo","fullname":"xAxis.linkedTo","title":"linkedTo","parent":"xAxis","isParent":false,"returnType":"Number","since":"2.0.2","description":"Index of another axis that this axis is linked to. When an axis is linked to a master axis, it will take the same extremes as the master, but as assigned by min or max or by setExtremes. It can be used to show additional info, or to ease reading the chart by duplicating the scales.","demo":"Different string formats of the same date,\n\t\t\tY values on both sides"},{"name":"series--linkedTo","fullname":"series.linkedTo","title":"linkedTo","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"series--linkedTo","fullname":"series.linkedTo","title":"linkedTo","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"series--linkedTo","fullname":"series.linkedTo","title":"linkedTo","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"plotOptions-bar--linkedTo","fullname":"plotOptions.bar.linkedTo","title":"linkedTo","parent":"plotOptions-bar","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"plotOptions-spline--linkedTo","fullname":"plotOptions.spline.linkedTo","title":"linkedTo","parent":"plotOptions-spline","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"series--linkedTo","fullname":"series.linkedTo","title":"linkedTo","parent":"series","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"series--linkedTo","fullname":"series.linkedTo","title":"linkedTo","parent":"series","isParent":false,"returnType":"String","defaults":":previous","values":"","since":"3.0","description":"The parent series of the error bar. The default value links it to the previous series. Otherwise, use the id of the parent series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-series--linkedTo","fullname":"plotOptions.series.linkedTo","title":"linkedTo","parent":"plotOptions-series","isParent":false,"returnType":"String","defaults":"","values":"","since":"3.0","description":"The id of another series to link to. Additionally, the value can be \":previous\" to link to the previous series. When two series are linked, only the first one appears in the legend. Toggling the visibility of this also toggles the linked series.","demo":"Linked series","seeAlso":"","deprecated":false},{"name":"chart-events--load","fullname":"chart.events.load","title":"load","parent":"chart-events","isParent":false,"returnType":"Function","context":"Chart","description":"

Fires when the chart is finished loading. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

\r\n\r\n

From version 2.0.4, there is also a second parameter to Highcharts.Chart where a callback function can be passed to be executed on chart.load.

","demo":"Alert on chart load","deprecated":false},{"name":"loading","fullname":"loading","title":"loading","isParent":true,"description":"The loading options control the appearance of the loading screen that covers the \n\tplot area on chart operations. This screen only appears after an explicit call\n\tto chart.showLoading(). It is a utility for developers to communicate\n\tto the end user that something is going on, for example while retrieving new data\n\tvia an XHR connection. The \"Loading...\" text itself is not part of this configuration\n\tobject, but part of the lang object."},{"name":"lang--loading","fullname":"lang.loading","title":"loading","parent":"lang","isParent":false,"returnType":"String","defaults":"Loading...","description":"The loading text that appears when the chart is set into the loading state following a call to chart.showLoading."},{"name":"series-data--low","fullname":"series.data.low","title":"low","parent":"series-data","isParent":false,"returnType":"Number","description":"The low or minimum value for each data point."},{"name":"series-data--low","fullname":"series.data.low","title":"low","parent":"series-data","isParent":false,"returnType":"Number","description":"The low or minimum value for each data point."},{"name":"series-data--low","fullname":"series.data.low","title":"low","parent":"series-data","isParent":false,"returnType":"Number","description":"The low or minimum value for each data point."},{"name":"series-data--low","fullname":"series.data.low","title":"low","parent":"series-data","isParent":false,"returnType":"Number","description":"The low value for each data point, signifying the lowest value in the sample set. The bottom whisker is drawn here."},{"name":"series-data--low","fullname":"series.data.low","title":"low","parent":"series-data","isParent":false,"returnType":"Number","description":"The low or minimum value for each data point."},{"name":"legend--margin","fullname":"legend.margin","title":"margin","parent":"legend","isParent":false,"returnType":"Number","defaults":"12","since":"2.1","description":"If the plot area sized is calculated automatically and the legend is not floating, the legend margin is the space between the legend and the axis labels or plot area.","demo":"12 pixels by default,\r\n\t\t\t30 pixels.","deprecated":false},{"name":"chart--margin","fullname":"chart.margin","title":"margin","parent":"chart","isParent":false,"returnType":"Array","description":"

The margin between the outer edge of the chart and the plot area. The numbers in the array designate top, right, bottom and left respectively. Use the options marginTop, marginRight, marginBottom and marginLeft for shorthand setting of one option.

Since version 2.1, the margin is 0 by default. The actual space is dynamically calculated from the offset of axis labels, axis title, title, subtitle and legend in addition to the spacingTop, spacingRight, spacingBottom and spacingLeft options.

\n\t\t Defaults to [null].","demo":"Zero margins"},{"name":"xAxis-title--margin","fullname":"xAxis.title.margin","title":"margin","parent":"xAxis-title","isParent":false,"returnType":"Number","description":"The pixel distance between the axis labels or line and the title. Defaults to 0 for horizontal axes, 10 for vertical","demo":"Y axis title margin of 60"},{"name":"title--margin","fullname":"title.margin","title":"margin","parent":"title","isParent":false,"returnType":"Number","defaults":"15","since":"2.1","description":"The margin between the title and the plot area, or if a subtitle is present, the margin between the subtitle and the plot area.","demo":"A chart title margin of 50,\n\t\t\tthe same margin applied with a subtitle."},{"name":"yAxis-title--margin","fullname":"yAxis.title.margin","title":"margin","parent":"yAxis-title","isParent":false,"returnType":"Number","defaults":"40","description":"The pixel distance between the axis labels and the title. Positive values are outside the axis line, negative are inside.","demo":"Y axis title margin of 60"},{"name":"chart--marginBottom","fullname":"chart.marginBottom","title":"marginBottom","parent":"chart","isParent":false,"returnType":"Number","since":"2.0","description":"The margin between the bottom outer edge of the chart and the plot area. Use this to set a fixed\r pixel value for the margin as opposed to the default dynamic margin. See also spacingBottom.","demo":"100px bottom margin","seeAlso":"","deprecated":false},{"name":"chart--marginLeft","fullname":"chart.marginLeft","title":"marginLeft","parent":"chart","isParent":false,"returnType":"Number","since":"2.0","description":"The margin between the left outer edge of the chart and the plot area. Use this to set a fixed\r pixel value for the margin as opposed to the default dynamic margin. See also spacingLeft.","demo":"150px left margin","seeAlso":"","deprecated":false},{"name":"chart--marginRight","fullname":"chart.marginRight","title":"marginRight","parent":"chart","isParent":false,"returnType":"Number","since":"2.0","description":"The margin between the right outer edge of the chart and the plot area. Use this to set a fixed\r pixel value for the margin as opposed to the default dynamic margin. See also spacingRight.","demo":"100px right margin","seeAlso":"","deprecated":false},{"name":"chart--marginTop","fullname":"chart.marginTop","title":"marginTop","parent":"chart","isParent":false,"returnType":"Number","since":"2.0","description":"The margin between the top outer edge of the chart and the plot area. Use this to set a fixed pixel value for the margin as opposed to the default dynamic margin. See also spacingTop.","demo":"100px top margin"},{"name":"series-states-hover-marker","fullname":"series.states.hover.marker","title":"marker","parent":"series-states-hover","isParent":true},{"name":"plotOptions-line-states-hover-marker","fullname":"plotOptions.line.states.hover.marker","title":"marker","parent":"plotOptions-line-states-hover","isParent":true},{"name":"plotOptions-scatter-marker","fullname":"plotOptions.scatter.marker","title":"marker","parent":"plotOptions-scatter","isParent":true},{"name":"series-states-hover-marker","fullname":"series.states.hover.marker","title":"marker","parent":"series-states-hover","isParent":true},{"name":"plotOptions-areaspline-marker","fullname":"plotOptions.areaspline.marker","title":"marker","parent":"plotOptions-areaspline","isParent":true},{"name":"series-data-marker","fullname":"series.data.marker","title":"marker","parent":"series-data","isParent":true},{"name":"series-marker","fullname":"series.marker","title":"marker","parent":"series","isParent":true},{"name":"series-data-marker","fullname":"series.data.marker","title":"marker","parent":"series-data","isParent":true},{"name":"plotOptions-areasplinerange-states-hover-marker","fullname":"plotOptions.areasplinerange.states.hover.marker","title":"marker","parent":"plotOptions-areasplinerange-states-hover","isParent":true},{"name":"series-states-hover-marker","fullname":"series.states.hover.marker","title":"marker","parent":"series-states-hover","isParent":true},{"name":"plotOptions-heatmap-states-hover-marker","fullname":"plotOptions.heatmap.states.hover.marker","title":"marker","parent":"plotOptions-heatmap-states-hover","isParent":true},{"name":"plotOptions-line-marker","fullname":"plotOptions.line.marker","title":"marker","parent":"plotOptions-line","isParent":true},{"name":"plotOptions-scatter-states-hover-marker","fullname":"plotOptions.scatter.states.hover.marker","title":"marker","parent":"plotOptions-scatter-states-hover","isParent":true},{"name":"series-states-hover-marker","fullname":"series.states.hover.marker","title":"marker","parent":"series-states-hover","isParent":true},{"name":"series-states-hover-marker","fullname":"series.states.hover.marker","title":"marker","parent":"series-states-hover","isParent":true},{"name":"plotOptions-areaspline-states-hover-marker","fullname":"plotOptions.areaspline.states.hover.marker","title":"marker","parent":"plotOptions-areaspline-states-hover","isParent":true},{"name":"plotOptions-treemap-states-hover-marker","fullname":"plotOptions.treemap.states.hover.marker","title":"marker","parent":"plotOptions-treemap-states-hover","isParent":true},{"name":"series-states-hover-marker","fullname":"series.states.hover.marker","title":"marker","parent":"series-states-hover","isParent":true},{"name":"series-states-hover-marker","fullname":"series.states.hover.marker","title":"marker","parent":"series-states-hover","isParent":true},{"name":"series-states-hover-marker","fullname":"series.states.hover.marker","title":"marker","parent":"series-states-hover","isParent":true},{"name":"series-states-hover-marker","fullname":"series.states.hover.marker","title":"marker","parent":"series-states-hover","isParent":true},{"name":"plotOptions-spline-marker","fullname":"plotOptions.spline.marker","title":"marker","parent":"plotOptions-spline","isParent":true},{"name":"plotOptions-bubble-marker","fullname":"plotOptions.bubble.marker","title":"marker","parent":"plotOptions-bubble","isParent":true},{"name":"series-states-hover-marker","fullname":"series.states.hover.marker","title":"marker","parent":"series-states-hover","isParent":true},{"name":"plotOptions-pie-states-hover-marker","fullname":"plotOptions.pie.states.hover.marker","title":"marker","parent":"plotOptions-pie-states-hover","isParent":true},{"name":"series-data-marker","fullname":"series.data.marker","title":"marker","parent":"series-data","isParent":true},{"name":"series-marker","fullname":"series.marker","title":"marker","parent":"series","isParent":true},{"name":"plotOptions-funnel-states-hover-marker","fullname":"plotOptions.funnel.states.hover.marker","title":"marker","parent":"plotOptions-funnel-states-hover","isParent":true},{"name":"plotOptions-polygon-marker","fullname":"plotOptions.polygon.marker","title":"marker","parent":"plotOptions-polygon","isParent":true},{"name":"series-marker","fullname":"series.marker","title":"marker","parent":"series","isParent":true},{"name":"series-states-hover-marker","fullname":"series.states.hover.marker","title":"marker","parent":"series-states-hover","isParent":true},{"name":"series-states-hover-marker","fullname":"series.states.hover.marker","title":"marker","parent":"series-states-hover","isParent":true},{"name":"plotOptions-errorbar-states-hover-marker","fullname":"plotOptions.errorbar.states.hover.marker","title":"marker","parent":"plotOptions-errorbar-states-hover","isParent":true},{"name":"plotOptions-boxplot-states-hover-marker","fullname":"plotOptions.boxplot.states.hover.marker","title":"marker","parent":"plotOptions-boxplot-states-hover","isParent":true},{"name":"plotOptions-columnrange-states-hover-marker","fullname":"plotOptions.columnrange.states.hover.marker","title":"marker","parent":"plotOptions-columnrange-states-hover","isParent":true},{"name":"plotOptions-arearange-states-hover-marker","fullname":"plotOptions.arearange.states.hover.marker","title":"marker","parent":"plotOptions-arearange-states-hover","isParent":true},{"name":"plotOptions-area-states-hover-marker","fullname":"plotOptions.area.states.hover.marker","title":"marker","parent":"plotOptions-area-states-hover","isParent":true},{"name":"plotOptions-pyramid-states-hover-marker","fullname":"plotOptions.pyramid.states.hover.marker","title":"marker","parent":"plotOptions-pyramid-states-hover","isParent":true},{"name":"series-states-hover-marker","fullname":"series.states.hover.marker","title":"marker","parent":"series-states-hover","isParent":true},{"name":"series-marker","fullname":"series.marker","title":"marker","parent":"series","isParent":true},{"name":"plotOptions-area-marker","fullname":"plotOptions.area.marker","title":"marker","parent":"plotOptions-area","isParent":true},{"name":"series-marker","fullname":"series.marker","title":"marker","parent":"series","isParent":true},{"name":"series-states-hover-marker","fullname":"series.states.hover.marker","title":"marker","parent":"series-states-hover","isParent":true},{"name":"series-states-hover-marker","fullname":"series.states.hover.marker","title":"marker","parent":"series-states-hover","isParent":true},{"name":"series-marker","fullname":"series.marker","title":"marker","parent":"series","isParent":true},{"name":"series-states-hover-marker","fullname":"series.states.hover.marker","title":"marker","parent":"series-states-hover","isParent":true},{"name":"plotOptions-polygon-states-hover-marker","fullname":"plotOptions.polygon.states.hover.marker","title":"marker","parent":"plotOptions-polygon-states-hover","isParent":true},{"name":"series-states-hover-marker","fullname":"series.states.hover.marker","title":"marker","parent":"series-states-hover","isParent":true},{"name":"plotOptions-gauge-states-hover-marker","fullname":"plotOptions.gauge.states.hover.marker","title":"marker","parent":"plotOptions-gauge-states-hover","isParent":true},{"name":"series-states-hover-marker","fullname":"series.states.hover.marker","title":"marker","parent":"series-states-hover","isParent":true},{"name":"series-data-marker","fullname":"series.data.marker","title":"marker","parent":"series-data","isParent":true},{"name":"plotOptions-waterfall-states-hover-marker","fullname":"plotOptions.waterfall.states.hover.marker","title":"marker","parent":"plotOptions-waterfall-states-hover","isParent":true},{"name":"series-marker","fullname":"series.marker","title":"marker","parent":"series","isParent":true},{"name":"plotOptions-bubble-states-hover-marker","fullname":"plotOptions.bubble.states.hover.marker","title":"marker","parent":"plotOptions-bubble-states-hover","isParent":true},{"name":"plotOptions-series-states-hover-marker","fullname":"plotOptions.series.states.hover.marker","title":"marker","parent":"plotOptions-series-states-hover","isParent":true},{"name":"series-states-hover-marker","fullname":"series.states.hover.marker","title":"marker","parent":"series-states-hover","isParent":true},{"name":"series-data-marker","fullname":"series.data.marker","title":"marker","parent":"series-data","isParent":true},{"name":"series-states-hover-marker","fullname":"series.states.hover.marker","title":"marker","parent":"series-states-hover","isParent":true},{"name":"plotOptions-column-states-hover-marker","fullname":"plotOptions.column.states.hover.marker","title":"marker","parent":"plotOptions-column-states-hover","isParent":true},{"name":"plotOptions-series-marker","fullname":"plotOptions.series.marker","title":"marker","parent":"plotOptions-series","isParent":true},{"name":"series-data-marker","fullname":"series.data.marker","title":"marker","parent":"series-data","isParent":true},{"name":"plotOptions-bar-states-hover-marker","fullname":"plotOptions.bar.states.hover.marker","title":"marker","parent":"plotOptions-bar-states-hover","isParent":true},{"name":"series-states-hover-marker","fullname":"series.states.hover.marker","title":"marker","parent":"series-states-hover","isParent":true},{"name":"series-states-hover-marker","fullname":"series.states.hover.marker","title":"marker","parent":"series-states-hover","isParent":true},{"name":"plotOptions-solidgauge-states-hover-marker","fullname":"plotOptions.solidgauge.states.hover.marker","title":"marker","parent":"plotOptions-solidgauge-states-hover","isParent":true},{"name":"plotOptions-spline-states-hover-marker","fullname":"plotOptions.spline.states.hover.marker","title":"marker","parent":"plotOptions-spline-states-hover","isParent":true},{"name":"xAxis--max","fullname":"xAxis.max","title":"max","parent":"xAxis","isParent":false,"returnType":"Number","description":"The maximum value of the axis. If null, the max value is automatically calculated. If the endOnTick option is true, the max value might be rounded up. The actual maximum value is also influenced by chart.alignTicks.","demo":"Y axis max of 200,\n\t\t\tY axis max on logarithmic axis"},{"name":"yAxis--max","fullname":"yAxis.max","title":"max","parent":"yAxis","isParent":false,"returnType":"Number","description":"The maximum value of the axis. If null, the max value is automatically calculated. If the endOnTick option is true, the max value might be rounded up. The actual maximum value is also influenced by chart.alignTicks.","demo":"Y axis max of 200,\n\t\t\tY axis max on logarithmic axis"},{"name":"yAxis--maxColor","fullname":"yAxis.maxColor","title":"maxColor","parent":"yAxis","isParent":false,"returnType":"Color","defaults":"#102D4C","values":"","since":"4.0","description":"Solid gauge only. Unless stops are set, the color to represent the maximum value of the Y axis.","demo":"Min and max colors","seeAlso":"","deprecated":false},{"name":"legend--maxHeight","fullname":"legend.maxHeight","title":"maxHeight","parent":"legend","isParent":false,"returnType":"Number","since":"2.3.0","description":"Maximum pixel height for the legend. When the maximum height is extended, navigation will show.","demo":"","seeAlso":"","deprecated":false},{"name":"yAxis--maxPadding","fullname":"yAxis.maxPadding","title":"maxPadding","parent":"yAxis","isParent":false,"returnType":"Number","defaults":"0.05","since":"1.2.0","description":"Padding of the max value relative to the length of the axis. A padding of 0.05 will make a 100px axis 5px longer. This is useful when you don't want the highest data value to appear on the edge of the plot area.","demo":"Max padding of 0.2"},{"name":"xAxis--maxPadding","fullname":"xAxis.maxPadding","title":"maxPadding","parent":"xAxis","isParent":false,"returnType":"Number","defaults":"0.01","since":"1.2.0","description":"Padding of the max value relative to the length of the axis. A padding of 0.05 will make a 100px axis 5px longer. This is useful when you don't want the highest data value to appear on the edge of the plot area. When the axis' max option is set or a max extreme is set using axis.setExtremes(), the maxPadding will be ignored.","demo":"Max padding of 0.25 on y axis"},{"name":"plotOptions-bubble--maxSize","fullname":"plotOptions.bubble.maxSize","title":"maxSize","parent":"plotOptions-bubble","isParent":false,"returnType":"String","defaults":"20%","values":"","since":"3.0","description":"Maximum bubble size. Bubbles will automatically size between the minSize and maxSize to reflect the z value of each bubble. Can be either pixels (when no unit is given), or a percentage of the smallest one of the plot width and height. ","demo":"Bubble size","seeAlso":"","deprecated":false},{"name":"series--maxSize","fullname":"series.maxSize","title":"maxSize","parent":"series","isParent":false,"returnType":"String","defaults":"20%","values":"","since":"3.0","description":"Maximum bubble size. Bubbles will automatically size between the minSize and maxSize to reflect the z value of each bubble. Can be either pixels (when no unit is given), or a percentage of the smallest one of the plot width and height. ","demo":"Bubble size","seeAlso":"","deprecated":false},{"name":"yAxis-labels--maxStaggerLines","fullname":"yAxis.labels.maxStaggerLines","title":"maxStaggerLines","parent":"yAxis-labels","isParent":false,"returnType":"Number","defaults":"5","since":"3.0.3","description":"Horizontal axis only. When staggerLines is not set, maxStaggerLines defines how many lines the axis is allowed to add to automatically avoid overlapping X labels. Set to 1 to disable overlap detection. ","deprecated":true},{"name":"xAxis-labels--maxStaggerLines","fullname":"xAxis.labels.maxStaggerLines","title":"maxStaggerLines","parent":"xAxis-labels","isParent":false,"returnType":"Number","defaults":"5","since":"3.0.3","description":"Horizontal axis only. When staggerLines is not set, maxStaggerLines defines how many lines the axis is allowed to add to automatically avoid overlapping X labels. Set to 1 to disable overlap detection. ","deprecated":true},{"name":"yAxis--maxZoom","fullname":"yAxis.maxZoom","title":"maxZoom","parent":"yAxis","isParent":false,"returnType":"Number","description":"Deprecated. Renamed to minRange as of Highcharts 2.2.","deprecated":true},{"name":"xAxis--maxZoom","fullname":"xAxis.maxZoom","title":"maxZoom","parent":"xAxis","isParent":false,"returnType":"Number","description":"Deprecated. Renamed to minRange as of Highcharts 2.2.","deprecated":true},{"name":"series-data--median","fullname":"series.data.median","title":"median","parent":"series-data","isParent":false,"returnType":"Number","description":"The median for each data point. This is drawn as a line through the middle area of the box."},{"name":"plotOptions-boxplot--medianColor","fullname":"plotOptions.boxplot.medianColor","title":"medianColor","parent":"plotOptions-boxplot","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color of the median line. If null, the general series color applies.","demo":"Box plot styling, error bar styling","seeAlso":"","deprecated":false},{"name":"series--medianColor","fullname":"series.medianColor","title":"medianColor","parent":"series","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color of the median line. If null, the general series color applies.","demo":"Box plot styling, error bar styling","seeAlso":"","deprecated":false},{"name":"series--medianWidth","fullname":"series.medianWidth","title":"medianWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"3.0","description":"The pixel width of the median line. If null, the lineWidth is used.","demo":"Box plot styling","seeAlso":"","deprecated":false},{"name":"plotOptions-boxplot--medianWidth","fullname":"plotOptions.boxplot.medianWidth","title":"medianWidth","parent":"plotOptions-boxplot","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"3.0","description":"The pixel width of the median line. If null, the lineWidth is used.","demo":"Box plot styling","seeAlso":"","deprecated":false},{"name":"navigation--menuItemHoverStyle","fullname":"navigation.menuItemHoverStyle","title":"menuItemHoverStyle","parent":"navigation","isParent":false,"returnType":"CSSObject","since":"2.0","description":"CSS styles for the hover state of the individual items within the popup menu appearing by default when the export icon is clicked. The menu items are rendered in HTML. Defaults to \n
menuItemHoverStyle: {\n\tbackground: '#4572A5',\n\tcolor: '#FFFFFF'\n}
","demo":"Bold text on hover"},{"name":"navigation--menuItemStyle","fullname":"navigation.menuItemStyle","title":"menuItemStyle","parent":"navigation","isParent":false,"returnType":"CSSObject","since":"2.0","description":"CSS styles for the individual items within the popup menu appearing by default when the export icon is clicked. The menu items are rendered in HTML. Defaults to \n
menuItemStyle: {\n\tpadding: '0 5px',\n\tbackground: NONE,\n\tcolor: '#303030'\n}
","demo":"Add a grey stripe to the left"},{"name":"exporting-buttons-contextButton--menuItems","fullname":"exporting.buttons.contextButton.menuItems","title":"menuItems","parent":"exporting-buttons-contextButton","isParent":false,"returnType":"Array","since":"2.0","description":"

A collection of config options for the menu items. Each options object consists\r of a text option which is a string to show in the menu item, as\r well as an onclick parameter which is a callback function to run\r on click.

\r

By default, there is the \"Print\" menu item plus one menu item for each of the available export types.\r Menu items can be customized by defining a new array of items and assigning \r null to unwanted positions (see override example below).

","demo":"Skip the menu and export the chart directly,\r\n\t\t\toverride the menu items","seeAlso":"","deprecated":false},{"name":"navigation--menuStyle","fullname":"navigation.menuStyle","title":"menuStyle","parent":"navigation","isParent":false,"returnType":"CSSObject","since":"2.0","description":"CSS styles for the popup menu appearing by default when the export icon is clicked. This menu is rendered in HTML. Defaults to \n
menuStyle: {\n\tborder: '1px solid #A0A0A0',\n\tbackground: '#FFFFFF'\n}
","demo":"Light gray menu background"},{"name":"xAxis--min","fullname":"xAxis.min","title":"min","parent":"xAxis","isParent":false,"returnType":"Number","description":"The minimum value of the axis. If null the min value is automatically calculated. If the startOnTick option is true, the min value might be rounded down.","demo":"Y axis min of -50 with startOnTick to false,\n\t\t\t-50 with startOnTick true by default"},{"name":"yAxis--min","fullname":"yAxis.min","title":"min","parent":"yAxis","isParent":false,"returnType":"Number","description":"The minimum value of the axis. If null the min value is automatically calculated. If the startOnTick option is true, the min value might be rounded down.","demo":"Y axis min of -50 with startOnTick to false,\n\t\t\t-50 with startOnTick true by default"},{"name":"yAxis--minColor","fullname":"yAxis.minColor","title":"minColor","parent":"yAxis","isParent":false,"returnType":"Color","defaults":"#EFEFFF","values":"","since":"4.0","description":"Solid gauge only. Unless stops are set, the color to represent the minimum value of the Y axis.","demo":"Min and max color","seeAlso":"","deprecated":false},{"name":"xAxis--minPadding","fullname":"xAxis.minPadding","title":"minPadding","parent":"xAxis","isParent":false,"returnType":"Number","defaults":"0.01","since":"1.2.0","description":"Padding of the min value relative to the length of the axis. A padding of 0.05 will make a 100px axis 5px longer. This is useful when you don't want the lowest data value to appear on the edge of the plot area. When the axis' min option is set or a min extreme is set using axis.setExtremes(), the minPadding will be ignored.","demo":"Min padding of 0.2"},{"name":"yAxis--minPadding","fullname":"yAxis.minPadding","title":"minPadding","parent":"yAxis","isParent":false,"returnType":"Number","defaults":"0.05","since":"1.2.0","description":"Padding of the min value relative to the length of the axis. A padding of 0.05 will make a 100px axis 5px longer. This is useful when you don't want the lowest data value to appear on the edge of the plot area.","demo":"Min padding of 0.2"},{"name":"plotOptions-waterfall--minPointLength","fullname":"plotOptions.waterfall.minPointLength","title":"minPointLength","parent":"plotOptions-waterfall","isParent":false,"returnType":"Number","defaults":"0","description":"The minimal height for a column or width for a bar. By default, 0 values are not shown. To visualize a 0 (or close to zero) point, set the minimal point length to a pixel value like 3. In stacked column charts, minPointLength might not be respected for tightly packed values.","demo":"Set to three with zero base value,\n\t\t\tpositive and negative close to zero values"},{"name":"plotOptions-column--minPointLength","fullname":"plotOptions.column.minPointLength","title":"minPointLength","parent":"plotOptions-column","isParent":false,"returnType":"Number","defaults":"0","description":"The minimal height for a column or width for a bar. By default, 0 values are not shown. To visualize a 0 (or close to zero) point, set the minimal point length to a pixel value like 3. In stacked column charts, minPointLength might not be respected for tightly packed values.","demo":"Set to three with zero base value,\n\t\t\tpositive and negative close to zero values"},{"name":"series--minPointLength","fullname":"series.minPointLength","title":"minPointLength","parent":"series","isParent":false,"returnType":"Number","defaults":"0","description":"The minimal height for a column or width for a bar. By default, 0 values are not shown. To visualize a 0 (or close to zero) point, set the minimal point length to a pixel value like 3. In stacked column charts, minPointLength might not be respected for tightly packed values.","demo":"Set to three with zero base value,\n\t\t\tpositive and negative close to zero values"},{"name":"plotOptions-columnrange--minPointLength","fullname":"plotOptions.columnrange.minPointLength","title":"minPointLength","parent":"plotOptions-columnrange","isParent":false,"returnType":"Number","defaults":"0","description":"The minimal height for a column or width for a bar. By default, 0 values are not shown. To visualize a 0 (or close to zero) point, set the minimal point length to a pixel value like 3. In stacked column charts, minPointLength might not be respected for tightly packed values.","demo":"Set to three with zero base value,\n\t\t\tpositive and negative close to zero values"},{"name":"series--minPointLength","fullname":"series.minPointLength","title":"minPointLength","parent":"series","isParent":false,"returnType":"Number","defaults":"0","description":"The minimal height for a column or width for a bar. By default, 0 values are not shown. To visualize a 0 (or close to zero) point, set the minimal point length to a pixel value like 3. In stacked column charts, minPointLength might not be respected for tightly packed values.","demo":"Set to three with zero base value,\n\t\t\tpositive and negative close to zero values"},{"name":"series--minPointLength","fullname":"series.minPointLength","title":"minPointLength","parent":"series","isParent":false,"returnType":"Number","defaults":"0","description":"The minimal height for a column or width for a bar. By default, 0 values are not shown. To visualize a 0 (or close to zero) point, set the minimal point length to a pixel value like 3. In stacked column charts, minPointLength might not be respected for tightly packed values.","demo":"Set to three with zero base value,\n\t\t\tpositive and negative close to zero values"},{"name":"series--minPointLength","fullname":"series.minPointLength","title":"minPointLength","parent":"series","isParent":false,"returnType":"Number","defaults":"0","description":"The minimal height for a column or width for a bar. By default, 0 values are not shown. To visualize a 0 (or close to zero) point, set the minimal point length to a pixel value like 3. In stacked column charts, minPointLength might not be respected for tightly packed values.","demo":"Set to three with zero base value,\n\t\t\tpositive and negative close to zero values"},{"name":"plotOptions-bar--minPointLength","fullname":"plotOptions.bar.minPointLength","title":"minPointLength","parent":"plotOptions-bar","isParent":false,"returnType":"Number","defaults":"0","description":"The minimal height for a column or width for a bar. By default, 0 values are not shown. To visualize a 0 (or close to zero) point, set the minimal point length to a pixel value like 3. In stacked column charts, minPointLength might not be respected for tightly packed values.","demo":"Set to three with zero base value,\n\t\t\tpositive and negative close to zero values"},{"name":"xAxis--minRange","fullname":"xAxis.minRange","title":"minRange","parent":"xAxis","isParent":false,"returnType":"Number","description":"

The minimum range to display on this axis. The entire axis will not be allowed to span over a smaller interval than this. For example, for a datetime axis the main unit is milliseconds. If minRange is set to 3600000, you can't zoom in more than to one hour.

The default minRange for the x axis is five times the smallest interval between any of the data points.

On a logarithmic axis, the unit for the minimum range is the power. So a minRange of \t1 means that the axis can be zoomed to 10-100, 100-1000, 1000-10000 etc.

","demo":"Minimum range of 5"},{"name":"yAxis--minRange","fullname":"yAxis.minRange","title":"minRange","parent":"yAxis","isParent":false,"returnType":"Number","description":"

The minimum range to display on this axis. The entire axis will not be allowed to span over a smaller interval than this. For example, for a datetime axis the main unit is milliseconds. If minRange is set to 3600000, you can't zoom in more than to one hour.

The default minRange for the x axis is five times the smallest interval between any of the data points.

On a logarithmic axis, the unit for the minimum range is the power. So a minRange of \t1 means that the axis can be zoomed to 10-100, 100-1000, 1000-10000 etc.

","demo":"Minimum range of 5"},{"name":"series--minSize","fullname":"series.minSize","title":"minSize","parent":"series","isParent":false,"returnType":"Number","defaults":"80","values":"","since":"3.0","description":"The minimum size for a pie in response to auto margins. The pie will try to shrink to make room for data labels in side the plot area, but only to this size.","demo":"","seeAlso":"","deprecated":false},{"name":"series--minSize","fullname":"series.minSize","title":"minSize","parent":"series","isParent":false,"returnType":"String","defaults":"8","values":"","since":"3.0","description":"Minimum bubble size. Bubbles will automatically size between the minSize and maxSize to reflect the z value of each bubble. Can be either pixels (when no unit is given), or a percentage of the smallest one of the plot width and height. ","demo":"Bubble size","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble--minSize","fullname":"plotOptions.bubble.minSize","title":"minSize","parent":"plotOptions-bubble","isParent":false,"returnType":"String","defaults":"8","values":"","since":"3.0","description":"Minimum bubble size. Bubbles will automatically size between the minSize and maxSize to reflect the z value of each bubble. Can be either pixels (when no unit is given), or a percentage of the smallest one of the plot width and height. ","demo":"Bubble size","seeAlso":"","deprecated":false},{"name":"series--minSize","fullname":"series.minSize","title":"minSize","parent":"series","isParent":false,"returnType":"Number","defaults":"80","values":"","since":"3.0","description":"The minimum size for a pie in response to auto margins. The pie will try to shrink to make room for data labels in side the plot area, but only to this size.","demo":"","seeAlso":"","deprecated":false},{"name":"series--minSize","fullname":"series.minSize","title":"minSize","parent":"series","isParent":false,"returnType":"Number","defaults":"80","values":"","since":"3.0","description":"The minimum size for a pie in response to auto margins. The pie will try to shrink to make room for data labels in side the plot area, but only to this size.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid--minSize","fullname":"plotOptions.pyramid.minSize","title":"minSize","parent":"plotOptions-pyramid","isParent":false,"returnType":"Number","defaults":"80","values":"","since":"3.0","description":"The minimum size for a pie in response to auto margins. The pie will try to shrink to make room for data labels in side the plot area, but only to this size.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pie--minSize","fullname":"plotOptions.pie.minSize","title":"minSize","parent":"plotOptions-pie","isParent":false,"returnType":"Number","defaults":"80","values":"","since":"3.0","description":"The minimum size for a pie in response to auto margins. The pie will try to shrink to make room for data labels in side the plot area, but only to this size.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-funnel--minSize","fullname":"plotOptions.funnel.minSize","title":"minSize","parent":"plotOptions-funnel","isParent":false,"returnType":"Number","defaults":"80","values":"","since":"3.0","description":"The minimum size for a pie in response to auto margins. The pie will try to shrink to make room for data labels in side the plot area, but only to this size.","demo":"","seeAlso":"","deprecated":false},{"name":"xAxis--minTickInterval","fullname":"xAxis.minTickInterval","title":"minTickInterval","parent":"xAxis","isParent":false,"returnType":"Number","since":"2.3.0","description":"The minimum tick interval allowed in axis values. For example on zooming in on an axis with daily data, this can be used to prevent the axis from showing hours. Defaults to the closest distance between two points on the axis.","deprecated":false},{"name":"yAxis--minTickInterval","fullname":"yAxis.minTickInterval","title":"minTickInterval","parent":"yAxis","isParent":false,"returnType":"Number","since":"2.3.0","description":"The minimum tick interval allowed in axis values. For example on zooming in on an axis with daily data, this can be used to prevent the axis from showing hours. Defaults to the closest distance between two points on the axis.","deprecated":false},{"name":"xAxis--minorGridLineColor","fullname":"xAxis.minorGridLineColor","title":"minorGridLineColor","parent":"xAxis","isParent":false,"returnType":"Color","defaults":"#E0E0E0","description":"Color of the minor, secondary grid lines.","demo":"Bright grey lines from Y axis"},{"name":"yAxis--minorGridLineColor","fullname":"yAxis.minorGridLineColor","title":"minorGridLineColor","parent":"yAxis","isParent":false,"returnType":"Color","defaults":"#E0E0E0","description":"Color of the minor, secondary grid lines.","demo":"Bright grey lines from Y axis"},{"name":"xAxis--minorGridLineDashStyle","fullname":"xAxis.minorGridLineDashStyle","title":"minorGridLineDashStyle","parent":"xAxis","isParent":false,"returnType":"String","defaults":"Solid","values":"[\"Solid\", \"ShortDash\", \"ShortDot\", \"ShortDashDot\", \"ShortDashDotDot\", \"Dot\", \"Dash\" ,\"LongDash\", \"DashDot\", \"LongDashDot\", \"LongDashDotDot\"]","since":"1.2","description":"The dash or dot style of the minor grid lines. For possible values, see this demonstration.","demo":"Long dashes on minor grid lines","deprecated":false},{"name":"yAxis--minorGridLineDashStyle","fullname":"yAxis.minorGridLineDashStyle","title":"minorGridLineDashStyle","parent":"yAxis","isParent":false,"returnType":"String","defaults":"Solid","values":"[\"Solid\", \"ShortDash\", \"ShortDot\", \"ShortDashDot\", \"ShortDashDotDot\", \"Dot\", \"Dash\" ,\"LongDash\", \"DashDot\", \"LongDashDot\", \"LongDashDotDot\"]","since":"1.2","description":"The dash or dot style of the minor grid lines. For possible values, see this demonstration.","demo":"Long dashes on minor grid lines","deprecated":false},{"name":"xAxis--minorGridLineWidth","fullname":"xAxis.minorGridLineWidth","title":"minorGridLineWidth","parent":"xAxis","isParent":false,"returnType":"Number","defaults":"1","description":"Width of the minor, secondary grid lines.","demo":"2px lines from Y axis "},{"name":"yAxis--minorGridLineWidth","fullname":"yAxis.minorGridLineWidth","title":"minorGridLineWidth","parent":"yAxis","isParent":false,"returnType":"Number","defaults":"1","description":"Width of the minor, secondary grid lines.","demo":"2px lines from Y axis "},{"name":"yAxis--minorTickColor","fullname":"yAxis.minorTickColor","title":"minorTickColor","parent":"yAxis","isParent":false,"returnType":"Color","defaults":"#A0A0A0","description":"Color for the minor tick marks.","demo":"Black tick marks on Y axis"},{"name":"xAxis--minorTickColor","fullname":"xAxis.minorTickColor","title":"minorTickColor","parent":"xAxis","isParent":false,"returnType":"Color","defaults":"#A0A0A0","description":"Color for the minor tick marks.","demo":"Black tick marks on Y axis"},{"name":"yAxis--minorTickInterval","fullname":"yAxis.minorTickInterval","title":"minorTickInterval","parent":"yAxis","isParent":false,"returnType":"String|Number","description":"

Tick interval in scale units for the minor ticks. On a linear axis, if \"auto\", \r\n the minor tick interval is calculated as a fifth of the tickInterval. If\r\n null, minor ticks are not shown.

\r\n

On logarithmic axes, the unit is the power of the value. For example, setting\r\n \tthe minorTickInterval to 1 puts one tick on each of 0.1, 1, 10, 100 etc. Setting\r\n \tthe minorTickInterval to 0.1 produces 9 ticks between 1 and 10, \r\n \t10 and 100 etc. A minorTickInterval of \"auto\" on a log axis results in a best guess,\r\n \tattempting to enter approximately 5 minor ticks between each major tick.

\r\n\r\n

If user settings dictate minor ticks to become too dense, they don't make sense, and will be ignored to prevent performance problems.\r\n\r\n

On axes using categories, minor ticks are not supported.

\r\n\r\n","demo":"Null by default,\r\n\t\t\t\"auto\" on linear Y axis, \r\n\t\t\t5 units on linear Y axis, \r\n\t\t\t\"auto\" on logarithmic Y axis,\r\n\t\t\t0.1 on logarithmic Y axis.","deprecated":false},{"name":"xAxis--minorTickInterval","fullname":"xAxis.minorTickInterval","title":"minorTickInterval","parent":"xAxis","isParent":false,"returnType":"String|Number","description":"

Tick interval in scale units for the minor ticks. On a linear axis, if \"auto\", \r\n the minor tick interval is calculated as a fifth of the tickInterval. If\r\n null, minor ticks are not shown.

\r\n

On logarithmic axes, the unit is the power of the value. For example, setting\r\n \tthe minorTickInterval to 1 puts one tick on each of 0.1, 1, 10, 100 etc. Setting\r\n \tthe minorTickInterval to 0.1 produces 9 ticks between 1 and 10, \r\n \t10 and 100 etc. A minorTickInterval of \"auto\" on a log axis results in a best guess,\r\n \tattempting to enter approximately 5 minor ticks between each major tick.

\r\n\r\n

If user settings dictate minor ticks to become too dense, they don't make sense, and will be ignored to prevent performance problems.\r\n\r\n

On axes using categories, minor ticks are not supported.

\r\n\r\n","demo":"Null by default,\r\n\t\t\t\"auto\" on linear Y axis, \r\n\t\t\t5 units on linear Y axis, \r\n\t\t\t\"auto\" on logarithmic Y axis,\r\n\t\t\t0.1 on logarithmic Y axis.","deprecated":false},{"name":"yAxis--minorTickLength","fullname":"yAxis.minorTickLength","title":"minorTickLength","parent":"yAxis","isParent":false,"returnType":"Number","defaults":"2","description":"The pixel length of the minor tick marks.","demo":"10px on Y axis"},{"name":"xAxis--minorTickLength","fullname":"xAxis.minorTickLength","title":"minorTickLength","parent":"xAxis","isParent":false,"returnType":"Number","defaults":"2","description":"The pixel length of the minor tick marks.","demo":"10px on Y axis"},{"name":"yAxis--minorTickPosition","fullname":"yAxis.minorTickPosition","title":"minorTickPosition","parent":"yAxis","isParent":false,"returnType":"String","defaults":"outside","values":"[\"inside\", \"outside\"]","description":"The position of the minor tick marks relative to the axis line. Can be one of inside and outside.","demo":"Outside by default,\n\t\t\tinside"},{"name":"xAxis--minorTickPosition","fullname":"xAxis.minorTickPosition","title":"minorTickPosition","parent":"xAxis","isParent":false,"returnType":"String","defaults":"outside","values":"[\"inside\", \"outside\"]","description":"The position of the minor tick marks relative to the axis line. Can be one of inside and outside.","demo":"Outside by default,\n\t\t\tinside"},{"name":"xAxis--minorTickWidth","fullname":"xAxis.minorTickWidth","title":"minorTickWidth","parent":"xAxis","isParent":false,"returnType":"Number","defaults":"0","description":"The pixel width of the minor tick mark.","demo":"3px width"},{"name":"yAxis--minorTickWidth","fullname":"yAxis.minorTickWidth","title":"minorTickWidth","parent":"yAxis","isParent":false,"returnType":"Number","defaults":"0","description":"The pixel width of the minor tick mark.","demo":"3px width"},{"name":"lang--months","fullname":"lang.months","title":"months","parent":"lang","isParent":false,"returnType":"Array","defaults":"[ \"January\" , \"February\" , \"March\" , \"April\" , \"May\" , \"June\" , \"July\" , \"August\" , \"September\" , \"October\" , \"November\" , \"December\"]","since":"","description":"An array containing the months names. Corresponds to the \r %B format in Highcharts.dateFormat().","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-scatter-events--mouseOut","fullname":"plotOptions.scatter.events.mouseOut","title":"mouseOut","parent":"plotOptions-scatter-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-waterfall-events--mouseOut","fullname":"plotOptions.waterfall.events.mouseOut","title":"mouseOut","parent":"plotOptions-waterfall-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-events--mouseOut","fullname":"series.events.mouseOut","title":"mouseOut","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-polygon-events--mouseOut","fullname":"plotOptions.polygon.events.mouseOut","title":"mouseOut","parent":"plotOptions-polygon-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-areasplinerange-events--mouseOut","fullname":"plotOptions.areasplinerange.events.mouseOut","title":"mouseOut","parent":"plotOptions-areasplinerange-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-point-events--mouseOut","fullname":"series.point.events.mouseOut","title":"mouseOut","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-events--mouseOut","fullname":"series.events.mouseOut","title":"mouseOut","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-line-point-events--mouseOut","fullname":"plotOptions.line.point.events.mouseOut","title":"mouseOut","parent":"plotOptions-line-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-point-events--mouseOut","fullname":"series.point.events.mouseOut","title":"mouseOut","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-events--mouseOut","fullname":"series.events.mouseOut","title":"mouseOut","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-columnrange-events--mouseOut","fullname":"plotOptions.columnrange.events.mouseOut","title":"mouseOut","parent":"plotOptions-columnrange-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-point-events--mouseOut","fullname":"series.point.events.mouseOut","title":"mouseOut","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-point-events--mouseOut","fullname":"series.point.events.mouseOut","title":"mouseOut","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOut","fullname":"series.data.events.mouseOut","title":"mouseOut","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOut","fullname":"series.data.events.mouseOut","title":"mouseOut","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-point-events--mouseOut","fullname":"series.point.events.mouseOut","title":"mouseOut","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-column-events--mouseOut","fullname":"plotOptions.column.events.mouseOut","title":"mouseOut","parent":"plotOptions-column-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-point-events--mouseOut","fullname":"series.point.events.mouseOut","title":"mouseOut","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-point-events--mouseOut","fullname":"series.point.events.mouseOut","title":"mouseOut","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-events--mouseOut","fullname":"series.events.mouseOut","title":"mouseOut","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-pie-events--mouseOut","fullname":"plotOptions.pie.events.mouseOut","title":"mouseOut","parent":"plotOptions-pie-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-treemap-events--mouseOut","fullname":"plotOptions.treemap.events.mouseOut","title":"mouseOut","parent":"plotOptions-treemap-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-events--mouseOut","fullname":"series.events.mouseOut","title":"mouseOut","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-events--mouseOut","fullname":"series.events.mouseOut","title":"mouseOut","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-events--mouseOut","fullname":"series.events.mouseOut","title":"mouseOut","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-areasplinerange-point-events--mouseOut","fullname":"plotOptions.areasplinerange.point.events.mouseOut","title":"mouseOut","parent":"plotOptions-areasplinerange-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOut","fullname":"series.data.events.mouseOut","title":"mouseOut","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOut","fullname":"series.data.events.mouseOut","title":"mouseOut","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-pyramid-point-events--mouseOut","fullname":"plotOptions.pyramid.point.events.mouseOut","title":"mouseOut","parent":"plotOptions-pyramid-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-bubble-point-events--mouseOut","fullname":"plotOptions.bubble.point.events.mouseOut","title":"mouseOut","parent":"plotOptions-bubble-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-bubble-events--mouseOut","fullname":"plotOptions.bubble.events.mouseOut","title":"mouseOut","parent":"plotOptions-bubble-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-area-events--mouseOut","fullname":"plotOptions.area.events.mouseOut","title":"mouseOut","parent":"plotOptions-area-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-events--mouseOut","fullname":"series.events.mouseOut","title":"mouseOut","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-point-events--mouseOut","fullname":"series.point.events.mouseOut","title":"mouseOut","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-pie-point-events--mouseOut","fullname":"plotOptions.pie.point.events.mouseOut","title":"mouseOut","parent":"plotOptions-pie-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-columnrange-point-events--mouseOut","fullname":"plotOptions.columnrange.point.events.mouseOut","title":"mouseOut","parent":"plotOptions-columnrange-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-errorbar-events--mouseOut","fullname":"plotOptions.errorbar.events.mouseOut","title":"mouseOut","parent":"plotOptions-errorbar-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-area-point-events--mouseOut","fullname":"plotOptions.area.point.events.mouseOut","title":"mouseOut","parent":"plotOptions-area-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-series-events--mouseOut","fullname":"plotOptions.series.events.mouseOut","title":"mouseOut","parent":"plotOptions-series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-events--mouseOut","fullname":"series.events.mouseOut","title":"mouseOut","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-events--mouseOut","fullname":"series.events.mouseOut","title":"mouseOut","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-point-events--mouseOut","fullname":"series.point.events.mouseOut","title":"mouseOut","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-treemap-point-events--mouseOut","fullname":"plotOptions.treemap.point.events.mouseOut","title":"mouseOut","parent":"plotOptions-treemap-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-arearange-events--mouseOut","fullname":"plotOptions.arearange.events.mouseOut","title":"mouseOut","parent":"plotOptions-arearange-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-gauge-events--mouseOut","fullname":"plotOptions.gauge.events.mouseOut","title":"mouseOut","parent":"plotOptions-gauge-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-data-events--mouseOut","fullname":"series.data.events.mouseOut","title":"mouseOut","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-heatmap-events--mouseOut","fullname":"plotOptions.heatmap.events.mouseOut","title":"mouseOut","parent":"plotOptions-heatmap-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-data-events--mouseOut","fullname":"series.data.events.mouseOut","title":"mouseOut","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-line-events--mouseOut","fullname":"plotOptions.line.events.mouseOut","title":"mouseOut","parent":"plotOptions-line-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-data-events--mouseOut","fullname":"series.data.events.mouseOut","title":"mouseOut","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-events--mouseOut","fullname":"series.events.mouseOut","title":"mouseOut","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-data-events--mouseOut","fullname":"series.data.events.mouseOut","title":"mouseOut","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-spline-point-events--mouseOut","fullname":"plotOptions.spline.point.events.mouseOut","title":"mouseOut","parent":"plotOptions-spline-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-events--mouseOut","fullname":"series.events.mouseOut","title":"mouseOut","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-arearange-point-events--mouseOut","fullname":"plotOptions.arearange.point.events.mouseOut","title":"mouseOut","parent":"plotOptions-arearange-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-waterfall-point-events--mouseOut","fullname":"plotOptions.waterfall.point.events.mouseOut","title":"mouseOut","parent":"plotOptions-waterfall-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOut","fullname":"series.data.events.mouseOut","title":"mouseOut","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-events--mouseOut","fullname":"series.events.mouseOut","title":"mouseOut","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-data-events--mouseOut","fullname":"series.data.events.mouseOut","title":"mouseOut","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOut","fullname":"series.data.events.mouseOut","title":"mouseOut","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOut","fullname":"series.data.events.mouseOut","title":"mouseOut","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-events--mouseOut","fullname":"series.events.mouseOut","title":"mouseOut","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-bar-point-events--mouseOut","fullname":"plotOptions.bar.point.events.mouseOut","title":"mouseOut","parent":"plotOptions-bar-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-point-events--mouseOut","fullname":"series.point.events.mouseOut","title":"mouseOut","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-events--mouseOut","fullname":"series.events.mouseOut","title":"mouseOut","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-point-events--mouseOut","fullname":"series.point.events.mouseOut","title":"mouseOut","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-point-events--mouseOut","fullname":"series.point.events.mouseOut","title":"mouseOut","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-errorbar-point-events--mouseOut","fullname":"plotOptions.errorbar.point.events.mouseOut","title":"mouseOut","parent":"plotOptions-errorbar-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOut","fullname":"series.data.events.mouseOut","title":"mouseOut","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-events--mouseOut","fullname":"series.events.mouseOut","title":"mouseOut","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-events--mouseOut","fullname":"series.events.mouseOut","title":"mouseOut","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-boxplot-point-events--mouseOut","fullname":"plotOptions.boxplot.point.events.mouseOut","title":"mouseOut","parent":"plotOptions-boxplot-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-point-events--mouseOut","fullname":"series.point.events.mouseOut","title":"mouseOut","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOut","fullname":"series.data.events.mouseOut","title":"mouseOut","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-events--mouseOut","fullname":"series.events.mouseOut","title":"mouseOut","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-events--mouseOut","fullname":"series.events.mouseOut","title":"mouseOut","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-column-point-events--mouseOut","fullname":"plotOptions.column.point.events.mouseOut","title":"mouseOut","parent":"plotOptions-column-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-areaspline-point-events--mouseOut","fullname":"plotOptions.areaspline.point.events.mouseOut","title":"mouseOut","parent":"plotOptions-areaspline-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-point-events--mouseOut","fullname":"series.point.events.mouseOut","title":"mouseOut","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-point-events--mouseOut","fullname":"series.point.events.mouseOut","title":"mouseOut","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-point-events--mouseOut","fullname":"series.point.events.mouseOut","title":"mouseOut","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOut","fullname":"series.data.events.mouseOut","title":"mouseOut","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-pyramid-events--mouseOut","fullname":"plotOptions.pyramid.events.mouseOut","title":"mouseOut","parent":"plotOptions-pyramid-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-data-events--mouseOut","fullname":"series.data.events.mouseOut","title":"mouseOut","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-series-point-events--mouseOut","fullname":"plotOptions.series.point.events.mouseOut","title":"mouseOut","parent":"plotOptions-series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-polygon-point-events--mouseOut","fullname":"plotOptions.polygon.point.events.mouseOut","title":"mouseOut","parent":"plotOptions-polygon-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-point-events--mouseOut","fullname":"series.point.events.mouseOut","title":"mouseOut","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-scatter-point-events--mouseOut","fullname":"plotOptions.scatter.point.events.mouseOut","title":"mouseOut","parent":"plotOptions-scatter-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOut","fullname":"series.data.events.mouseOut","title":"mouseOut","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOut","fullname":"series.data.events.mouseOut","title":"mouseOut","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOut","fullname":"series.data.events.mouseOut","title":"mouseOut","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-funnel-events--mouseOut","fullname":"plotOptions.funnel.events.mouseOut","title":"mouseOut","parent":"plotOptions-funnel-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-bar-events--mouseOut","fullname":"plotOptions.bar.events.mouseOut","title":"mouseOut","parent":"plotOptions-bar-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-point-events--mouseOut","fullname":"series.point.events.mouseOut","title":"mouseOut","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOut","fullname":"series.data.events.mouseOut","title":"mouseOut","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-point-events--mouseOut","fullname":"series.point.events.mouseOut","title":"mouseOut","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-events--mouseOut","fullname":"series.events.mouseOut","title":"mouseOut","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-events--mouseOut","fullname":"series.events.mouseOut","title":"mouseOut","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-funnel-point-events--mouseOut","fullname":"plotOptions.funnel.point.events.mouseOut","title":"mouseOut","parent":"plotOptions-funnel-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-solidgauge-events--mouseOut","fullname":"plotOptions.solidgauge.events.mouseOut","title":"mouseOut","parent":"plotOptions-solidgauge-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-heatmap-point-events--mouseOut","fullname":"plotOptions.heatmap.point.events.mouseOut","title":"mouseOut","parent":"plotOptions-heatmap-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-areaspline-events--mouseOut","fullname":"plotOptions.areaspline.events.mouseOut","title":"mouseOut","parent":"plotOptions-areaspline-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-data-events--mouseOut","fullname":"series.data.events.mouseOut","title":"mouseOut","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-solidgauge-point-events--mouseOut","fullname":"plotOptions.solidgauge.point.events.mouseOut","title":"mouseOut","parent":"plotOptions-solidgauge-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-boxplot-events--mouseOut","fullname":"plotOptions.boxplot.events.mouseOut","title":"mouseOut","parent":"plotOptions-boxplot-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-events--mouseOut","fullname":"series.events.mouseOut","title":"mouseOut","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-spline-events--mouseOut","fullname":"plotOptions.spline.events.mouseOut","title":"mouseOut","parent":"plotOptions-spline-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse leaves the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. If the stickyTracking option is true, mouseOut doesn't happen before the mouse enters another graph or leaves the plot area.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-point-events--mouseOut","fullname":"series.point.events.mouseOut","title":"mouseOut","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-gauge-point-events--mouseOut","fullname":"plotOptions.gauge.point.events.mouseOut","title":"mouseOut","parent":"plotOptions-gauge-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-point-events--mouseOut","fullname":"series.point.events.mouseOut","title":"mouseOut","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOut","fullname":"series.data.events.mouseOut","title":"mouseOut","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-point-events--mouseOut","fullname":"series.point.events.mouseOut","title":"mouseOut","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse leaves the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-spline-events--mouseOver","fullname":"plotOptions.spline.events.mouseOver","title":"mouseOver","parent":"plotOptions-spline-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-heatmap-point-events--mouseOver","fullname":"plotOptions.heatmap.point.events.mouseOver","title":"mouseOver","parent":"plotOptions-heatmap-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-point-events--mouseOver","fullname":"series.point.events.mouseOver","title":"mouseOver","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-events--mouseOver","fullname":"series.events.mouseOver","title":"mouseOver","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-events--mouseOver","fullname":"series.events.mouseOver","title":"mouseOver","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-point-events--mouseOver","fullname":"series.point.events.mouseOver","title":"mouseOver","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-events--mouseOver","fullname":"series.events.mouseOver","title":"mouseOver","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-pyramid-events--mouseOver","fullname":"plotOptions.pyramid.events.mouseOver","title":"mouseOver","parent":"plotOptions-pyramid-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-arearange-point-events--mouseOver","fullname":"plotOptions.arearange.point.events.mouseOver","title":"mouseOver","parent":"plotOptions-arearange-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-solidgauge-events--mouseOver","fullname":"plotOptions.solidgauge.events.mouseOver","title":"mouseOver","parent":"plotOptions-solidgauge-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-point-events--mouseOver","fullname":"series.point.events.mouseOver","title":"mouseOver","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-columnrange-point-events--mouseOver","fullname":"plotOptions.columnrange.point.events.mouseOver","title":"mouseOver","parent":"plotOptions-columnrange-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-area-point-events--mouseOver","fullname":"plotOptions.area.point.events.mouseOver","title":"mouseOver","parent":"plotOptions-area-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-column-point-events--mouseOver","fullname":"plotOptions.column.point.events.mouseOver","title":"mouseOver","parent":"plotOptions-column-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-point-events--mouseOver","fullname":"series.point.events.mouseOver","title":"mouseOver","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-point-events--mouseOver","fullname":"series.point.events.mouseOver","title":"mouseOver","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOver","fullname":"series.data.events.mouseOver","title":"mouseOver","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-point-events--mouseOver","fullname":"series.point.events.mouseOver","title":"mouseOver","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOver","fullname":"series.data.events.mouseOver","title":"mouseOver","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-series-events--mouseOver","fullname":"plotOptions.series.events.mouseOver","title":"mouseOver","parent":"plotOptions-series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-arearange-events--mouseOver","fullname":"plotOptions.arearange.events.mouseOver","title":"mouseOver","parent":"plotOptions-arearange-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-point-events--mouseOver","fullname":"series.point.events.mouseOver","title":"mouseOver","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-events--mouseOver","fullname":"series.events.mouseOver","title":"mouseOver","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-heatmap-events--mouseOver","fullname":"plotOptions.heatmap.events.mouseOver","title":"mouseOver","parent":"plotOptions-heatmap-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-areasplinerange-point-events--mouseOver","fullname":"plotOptions.areasplinerange.point.events.mouseOver","title":"mouseOver","parent":"plotOptions-areasplinerange-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOver","fullname":"series.data.events.mouseOver","title":"mouseOver","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-bubble-point-events--mouseOver","fullname":"plotOptions.bubble.point.events.mouseOver","title":"mouseOver","parent":"plotOptions-bubble-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOver","fullname":"series.data.events.mouseOver","title":"mouseOver","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-funnel-events--mouseOver","fullname":"plotOptions.funnel.events.mouseOver","title":"mouseOver","parent":"plotOptions-funnel-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-bubble-events--mouseOver","fullname":"plotOptions.bubble.events.mouseOver","title":"mouseOver","parent":"plotOptions-bubble-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-point-events--mouseOver","fullname":"series.point.events.mouseOver","title":"mouseOver","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOver","fullname":"series.data.events.mouseOver","title":"mouseOver","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOver","fullname":"series.data.events.mouseOver","title":"mouseOver","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOver","fullname":"series.data.events.mouseOver","title":"mouseOver","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOver","fullname":"series.data.events.mouseOver","title":"mouseOver","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-point-events--mouseOver","fullname":"series.point.events.mouseOver","title":"mouseOver","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-areasplinerange-events--mouseOver","fullname":"plotOptions.areasplinerange.events.mouseOver","title":"mouseOver","parent":"plotOptions-areasplinerange-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-scatter-events--mouseOver","fullname":"plotOptions.scatter.events.mouseOver","title":"mouseOver","parent":"plotOptions-scatter-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-areaspline-events--mouseOver","fullname":"plotOptions.areaspline.events.mouseOver","title":"mouseOver","parent":"plotOptions-areaspline-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-data-events--mouseOver","fullname":"series.data.events.mouseOver","title":"mouseOver","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-polygon-events--mouseOver","fullname":"plotOptions.polygon.events.mouseOver","title":"mouseOver","parent":"plotOptions-polygon-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-events--mouseOver","fullname":"series.events.mouseOver","title":"mouseOver","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-point-events--mouseOver","fullname":"series.point.events.mouseOver","title":"mouseOver","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOver","fullname":"series.data.events.mouseOver","title":"mouseOver","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-bar-point-events--mouseOver","fullname":"plotOptions.bar.point.events.mouseOver","title":"mouseOver","parent":"plotOptions-bar-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOver","fullname":"series.data.events.mouseOver","title":"mouseOver","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-point-events--mouseOver","fullname":"series.point.events.mouseOver","title":"mouseOver","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-point-events--mouseOver","fullname":"series.point.events.mouseOver","title":"mouseOver","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-point-events--mouseOver","fullname":"series.point.events.mouseOver","title":"mouseOver","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-point-events--mouseOver","fullname":"series.point.events.mouseOver","title":"mouseOver","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-line-point-events--mouseOver","fullname":"plotOptions.line.point.events.mouseOver","title":"mouseOver","parent":"plotOptions-line-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-events--mouseOver","fullname":"series.events.mouseOver","title":"mouseOver","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-columnrange-events--mouseOver","fullname":"plotOptions.columnrange.events.mouseOver","title":"mouseOver","parent":"plotOptions-columnrange-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-waterfall-point-events--mouseOver","fullname":"plotOptions.waterfall.point.events.mouseOver","title":"mouseOver","parent":"plotOptions-waterfall-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-events--mouseOver","fullname":"series.events.mouseOver","title":"mouseOver","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-point-events--mouseOver","fullname":"series.point.events.mouseOver","title":"mouseOver","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-polygon-point-events--mouseOver","fullname":"plotOptions.polygon.point.events.mouseOver","title":"mouseOver","parent":"plotOptions-polygon-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-area-events--mouseOver","fullname":"plotOptions.area.events.mouseOver","title":"mouseOver","parent":"plotOptions-area-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-data-events--mouseOver","fullname":"series.data.events.mouseOver","title":"mouseOver","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-point-events--mouseOver","fullname":"series.point.events.mouseOver","title":"mouseOver","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-pie-events--mouseOver","fullname":"plotOptions.pie.events.mouseOver","title":"mouseOver","parent":"plotOptions-pie-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-areaspline-point-events--mouseOver","fullname":"plotOptions.areaspline.point.events.mouseOver","title":"mouseOver","parent":"plotOptions-areaspline-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-treemap-events--mouseOver","fullname":"plotOptions.treemap.events.mouseOver","title":"mouseOver","parent":"plotOptions-treemap-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-events--mouseOver","fullname":"series.events.mouseOver","title":"mouseOver","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-events--mouseOver","fullname":"series.events.mouseOver","title":"mouseOver","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-point-events--mouseOver","fullname":"series.point.events.mouseOver","title":"mouseOver","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-events--mouseOver","fullname":"series.events.mouseOver","title":"mouseOver","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-series-point-events--mouseOver","fullname":"plotOptions.series.point.events.mouseOver","title":"mouseOver","parent":"plotOptions-series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-events--mouseOver","fullname":"series.events.mouseOver","title":"mouseOver","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-point-events--mouseOver","fullname":"series.point.events.mouseOver","title":"mouseOver","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-boxplot-events--mouseOver","fullname":"plotOptions.boxplot.events.mouseOver","title":"mouseOver","parent":"plotOptions-boxplot-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-treemap-point-events--mouseOver","fullname":"plotOptions.treemap.point.events.mouseOver","title":"mouseOver","parent":"plotOptions-treemap-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-gauge-events--mouseOver","fullname":"plotOptions.gauge.events.mouseOver","title":"mouseOver","parent":"plotOptions-gauge-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-data-events--mouseOver","fullname":"series.data.events.mouseOver","title":"mouseOver","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-bar-events--mouseOver","fullname":"plotOptions.bar.events.mouseOver","title":"mouseOver","parent":"plotOptions-bar-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-events--mouseOver","fullname":"series.events.mouseOver","title":"mouseOver","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-gauge-point-events--mouseOver","fullname":"plotOptions.gauge.point.events.mouseOver","title":"mouseOver","parent":"plotOptions-gauge-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOver","fullname":"series.data.events.mouseOver","title":"mouseOver","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOver","fullname":"series.data.events.mouseOver","title":"mouseOver","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-point-events--mouseOver","fullname":"series.point.events.mouseOver","title":"mouseOver","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-pyramid-point-events--mouseOver","fullname":"plotOptions.pyramid.point.events.mouseOver","title":"mouseOver","parent":"plotOptions-pyramid-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-events--mouseOver","fullname":"series.events.mouseOver","title":"mouseOver","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-waterfall-events--mouseOver","fullname":"plotOptions.waterfall.events.mouseOver","title":"mouseOver","parent":"plotOptions-waterfall-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-point-events--mouseOver","fullname":"series.point.events.mouseOver","title":"mouseOver","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOver","fullname":"series.data.events.mouseOver","title":"mouseOver","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-solidgauge-point-events--mouseOver","fullname":"plotOptions.solidgauge.point.events.mouseOver","title":"mouseOver","parent":"plotOptions-solidgauge-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOver","fullname":"series.data.events.mouseOver","title":"mouseOver","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOver","fullname":"series.data.events.mouseOver","title":"mouseOver","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOver","fullname":"series.data.events.mouseOver","title":"mouseOver","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-column-events--mouseOver","fullname":"plotOptions.column.events.mouseOver","title":"mouseOver","parent":"plotOptions-column-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-events--mouseOver","fullname":"series.events.mouseOver","title":"mouseOver","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-errorbar-events--mouseOver","fullname":"plotOptions.errorbar.events.mouseOver","title":"mouseOver","parent":"plotOptions-errorbar-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-spline-point-events--mouseOver","fullname":"plotOptions.spline.point.events.mouseOver","title":"mouseOver","parent":"plotOptions-spline-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-events--mouseOver","fullname":"series.events.mouseOver","title":"mouseOver","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-data-events--mouseOver","fullname":"series.data.events.mouseOver","title":"mouseOver","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOver","fullname":"series.data.events.mouseOver","title":"mouseOver","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-events--mouseOver","fullname":"series.events.mouseOver","title":"mouseOver","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-boxplot-point-events--mouseOver","fullname":"plotOptions.boxplot.point.events.mouseOver","title":"mouseOver","parent":"plotOptions-boxplot-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-events--mouseOver","fullname":"series.events.mouseOver","title":"mouseOver","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-errorbar-point-events--mouseOver","fullname":"plotOptions.errorbar.point.events.mouseOver","title":"mouseOver","parent":"plotOptions-errorbar-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-scatter-point-events--mouseOver","fullname":"plotOptions.scatter.point.events.mouseOver","title":"mouseOver","parent":"plotOptions-scatter-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-events--mouseOver","fullname":"series.events.mouseOver","title":"mouseOver","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-point-events--mouseOver","fullname":"series.point.events.mouseOver","title":"mouseOver","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-events--mouseOver","fullname":"series.events.mouseOver","title":"mouseOver","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-funnel-point-events--mouseOver","fullname":"plotOptions.funnel.point.events.mouseOver","title":"mouseOver","parent":"plotOptions-funnel-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-data-events--mouseOver","fullname":"series.data.events.mouseOver","title":"mouseOver","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series-events--mouseOver","fullname":"series.events.mouseOver","title":"mouseOver","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-events--mouseOver","fullname":"series.events.mouseOver","title":"mouseOver","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"plotOptions-pie-point-events--mouseOver","fullname":"plotOptions.pie.point.events.mouseOver","title":"mouseOver","parent":"plotOptions-pie-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"plotOptions-line-events--mouseOver","fullname":"plotOptions.line.events.mouseOver","title":"mouseOver","parent":"plotOptions-line-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-events--mouseOver","fullname":"series.events.mouseOver","title":"mouseOver","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","description":"Fires when the mouse enters the graph. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Log mouse over and out with sticky tracking\r\n\t\t\tby default,\r\n\t\t\twithout sticky tracking","deprecated":false},{"name":"series-point-events--mouseOver","fullname":"series.point.events.mouseOver","title":"mouseOver","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","description":"Fires when the mouse enters the area close to the point. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Show values in the chart's corner on mouse over","deprecated":false},{"name":"series--name","fullname":"series.name","title":"name","parent":"series","isParent":false,"returnType":"String","description":"The name of the series as shown in the legend, tooltip etc.","demo":"Series name"},{"name":"series-data--name","fullname":"series.data.name","title":"name","parent":"series-data","isParent":false,"returnType":"String","description":"

The name of the point as shown in the legend, tooltip, dataLabel etc.

\r\n\r\n

If the xAxis.type is set to category, and no categories option exists, the category will be pulled from the point.name of the last series defined. For multiple series, best practice however is to define xAxis.categories.

","demo":"Point names","deprecated":false},{"name":"series-data--name","fullname":"series.data.name","title":"name","parent":"series-data","isParent":false,"returnType":"String","description":"

The name of the point as shown in the legend, tooltip, dataLabel etc.

\r\n\r\n

If the xAxis.type is set to category, and no categories option exists, the category will be pulled from the point.name of the last series defined. For multiple series, best practice however is to define xAxis.categories.

","demo":"Point names","deprecated":false},{"name":"series-data--name","fullname":"series.data.name","title":"name","parent":"series-data","isParent":false,"returnType":"String","description":"

The name of the point as shown in the legend, tooltip, dataLabel etc.

\r\n\r\n

If the xAxis.type is set to category, and no categories option exists, the category will be pulled from the point.name of the last series defined. For multiple series, best practice however is to define xAxis.categories.

","demo":"Point names","deprecated":false},{"name":"series-data--name","fullname":"series.data.name","title":"name","parent":"series-data","isParent":false,"returnType":"String","description":"

The name of the point as shown in the legend, tooltip, dataLabel etc.

\r\n\r\n

If the xAxis.type is set to category, and no categories option exists, the category will be pulled from the point.name of the last series defined. For multiple series, best practice however is to define xAxis.categories.

","demo":"Point names","deprecated":false},{"name":"series-data--name","fullname":"series.data.name","title":"name","parent":"series-data","isParent":false,"returnType":"String","description":"

The name of the point as shown in the legend, tooltip, dataLabel etc.

\r\n\r\n

If the xAxis.type is set to category, and no categories option exists, the category will be pulled from the point.name of the last series defined. For multiple series, best practice however is to define xAxis.categories.

","demo":"Point names","deprecated":false},{"name":"series--name","fullname":"series.name","title":"name","parent":"series","isParent":false,"returnType":"String","description":"The name of the series as shown in the legend, tooltip etc.","demo":"Series name"},{"name":"series-data--name","fullname":"series.data.name","title":"name","parent":"series-data","isParent":false,"returnType":"String","description":"

The name of the point as shown in the legend, tooltip, dataLabel etc.

\r\n\r\n

If the xAxis.type is set to category, and no categories option exists, the category will be pulled from the point.name of the last series defined. For multiple series, best practice however is to define xAxis.categories.

","demo":"Point names","deprecated":false},{"name":"series-data--name","fullname":"series.data.name","title":"name","parent":"series-data","isParent":false,"returnType":"String","description":"

The name of the point as shown in the legend, tooltip, dataLabel etc.

\r\n\r\n

If the xAxis.type is set to category, and no categories option exists, the category will be pulled from the point.name of the last series defined. For multiple series, best practice however is to define xAxis.categories.

","demo":"Point names","deprecated":false},{"name":"series--name","fullname":"series.name","title":"name","parent":"series","isParent":false,"returnType":"String","description":"The name of the series as shown in the legend, tooltip etc.","demo":"Series name"},{"name":"series-data--name","fullname":"series.data.name","title":"name","parent":"series-data","isParent":false,"returnType":"String","description":"

The name of the point as shown in the legend, tooltip, dataLabel etc.

\r\n\r\n

If the xAxis.type is set to category, and no categories option exists, the category will be pulled from the point.name of the last series defined. For multiple series, best practice however is to define xAxis.categories.

","demo":"Point names","deprecated":false},{"name":"series--name","fullname":"series.name","title":"name","parent":"series","isParent":false,"returnType":"String","description":"The name of the series as shown in the legend, tooltip etc.","demo":"Series name"},{"name":"series--name","fullname":"series.name","title":"name","parent":"series","isParent":false,"returnType":"String","description":"The name of the series as shown in the legend, tooltip etc.","demo":"Series name"},{"name":"series--name","fullname":"series.name","title":"name","parent":"series","isParent":false,"returnType":"String","description":"The name of the series as shown in the legend, tooltip etc.","demo":"Series name"},{"name":"series--name","fullname":"series.name","title":"name","parent":"series","isParent":false,"returnType":"String","description":"The name of the series as shown in the legend, tooltip etc.","demo":"Series name"},{"name":"series-data--name","fullname":"series.data.name","title":"name","parent":"series-data","isParent":false,"returnType":"String","description":"

The name of the point as shown in the legend, tooltip, dataLabel etc.

\r\n\r\n

If the xAxis.type is set to category, and no categories option exists, the category will be pulled from the point.name of the last series defined. For multiple series, best practice however is to define xAxis.categories.

","demo":"Point names","deprecated":false},{"name":"series--name","fullname":"series.name","title":"name","parent":"series","isParent":false,"returnType":"String","description":"The name of the series as shown in the legend, tooltip etc.","demo":"Series name"},{"name":"series--name","fullname":"series.name","title":"name","parent":"series","isParent":false,"returnType":"String","description":"The name of the series as shown in the legend, tooltip etc.","demo":"Series name"},{"name":"series--name","fullname":"series.name","title":"name","parent":"series","isParent":false,"returnType":"String","description":"The name of the series as shown in the legend, tooltip etc.","demo":"Series name"},{"name":"series-data--name","fullname":"series.data.name","title":"name","parent":"series-data","isParent":false,"returnType":"String","description":"

The name of the point as shown in the legend, tooltip, dataLabel etc.

\r\n\r\n

If the xAxis.type is set to category, and no categories option exists, the category will be pulled from the point.name of the last series defined. For multiple series, best practice however is to define xAxis.categories.

","demo":"Point names","deprecated":false},{"name":"series--name","fullname":"series.name","title":"name","parent":"series","isParent":false,"returnType":"String","description":"The name of the series as shown in the legend, tooltip etc.","demo":"Series name"},{"name":"series--name","fullname":"series.name","title":"name","parent":"series","isParent":false,"returnType":"String","description":"The name of the series as shown in the legend, tooltip etc.","demo":"Series name"},{"name":"series-data--name","fullname":"series.data.name","title":"name","parent":"series-data","isParent":false,"returnType":"String","description":"

The name of the point as shown in the legend, tooltip, dataLabel etc.

\r\n\r\n

If the xAxis.type is set to category, and no categories option exists, the category will be pulled from the point.name of the last series defined. For multiple series, best practice however is to define xAxis.categories.

","demo":"Point names","deprecated":false},{"name":"series-data--name","fullname":"series.data.name","title":"name","parent":"series-data","isParent":false,"returnType":"String","description":"

The name of the point as shown in the legend, tooltip, dataLabel etc.

\r\n\r\n

If the xAxis.type is set to category, and no categories option exists, the category will be pulled from the point.name of the last series defined. For multiple series, best practice however is to define xAxis.categories.

","demo":"Point names","deprecated":false},{"name":"series-data--name","fullname":"series.data.name","title":"name","parent":"series-data","isParent":false,"returnType":"String","description":"

The name of the point as shown in the legend, tooltip, dataLabel etc.

\r\n\r\n

If the xAxis.type is set to category, and no categories option exists, the category will be pulled from the point.name of the last series defined. For multiple series, best practice however is to define xAxis.categories.

","demo":"Point names","deprecated":false},{"name":"series-data--name","fullname":"series.data.name","title":"name","parent":"series-data","isParent":false,"returnType":"String","description":"

The name of the point as shown in the legend, tooltip, dataLabel etc.

\r\n\r\n

If the xAxis.type is set to category, and no categories option exists, the category will be pulled from the point.name of the last series defined. For multiple series, best practice however is to define xAxis.categories.

","demo":"Point names","deprecated":false},{"name":"series-data--name","fullname":"series.data.name","title":"name","parent":"series-data","isParent":false,"returnType":"String","description":"

The name of the point as shown in the legend, tooltip, dataLabel etc.

\r\n\r\n

If the xAxis.type is set to category, and no categories option exists, the category will be pulled from the point.name of the last series defined. For multiple series, best practice however is to define xAxis.categories.

","demo":"Point names","deprecated":false},{"name":"series-data--name","fullname":"series.data.name","title":"name","parent":"series-data","isParent":false,"returnType":"String","description":"

The name of the point as shown in the legend, tooltip, dataLabel etc.

\r\n\r\n

If the xAxis.type is set to category, and no categories option exists, the category will be pulled from the point.name of the last series defined. For multiple series, best practice however is to define xAxis.categories.

","demo":"Point names","deprecated":false},{"name":"series--name","fullname":"series.name","title":"name","parent":"series","isParent":false,"returnType":"String","description":"The name of the series as shown in the legend, tooltip etc.","demo":"Series name"},{"name":"series--name","fullname":"series.name","title":"name","parent":"series","isParent":false,"returnType":"String","description":"The name of the series as shown in the legend, tooltip etc.","demo":"Series name"},{"name":"series-data--name","fullname":"series.data.name","title":"name","parent":"series-data","isParent":false,"returnType":"String","description":"

The name of the point as shown in the legend, tooltip, dataLabel etc.

\r\n\r\n

If the xAxis.type is set to category, and no categories option exists, the category will be pulled from the point.name of the last series defined. For multiple series, best practice however is to define xAxis.categories.

","demo":"Point names","deprecated":false},{"name":"series-data--name","fullname":"series.data.name","title":"name","parent":"series-data","isParent":false,"returnType":"String","description":"

The name of the point as shown in the legend, tooltip, dataLabel etc.

\r\n\r\n

If the xAxis.type is set to category, and no categories option exists, the category will be pulled from the point.name of the last series defined. For multiple series, best practice however is to define xAxis.categories.

","demo":"Point names","deprecated":false},{"name":"series-data--name","fullname":"series.data.name","title":"name","parent":"series-data","isParent":false,"returnType":"String","description":"

The name of the point as shown in the legend, tooltip, dataLabel etc.

\r\n\r\n

If the xAxis.type is set to category, and no categories option exists, the category will be pulled from the point.name of the last series defined. For multiple series, best practice however is to define xAxis.categories.

","demo":"Point names","deprecated":false},{"name":"series--name","fullname":"series.name","title":"name","parent":"series","isParent":false,"returnType":"String","description":"The name of the series as shown in the legend, tooltip etc.","demo":"Series name"},{"name":"series--name","fullname":"series.name","title":"name","parent":"series","isParent":false,"returnType":"String","description":"The name of the series as shown in the legend, tooltip etc.","demo":"Series name"},{"name":"series--name","fullname":"series.name","title":"name","parent":"series","isParent":false,"returnType":"String","description":"The name of the series as shown in the legend, tooltip etc.","demo":"Series name"},{"name":"series--name","fullname":"series.name","title":"name","parent":"series","isParent":false,"returnType":"String","description":"The name of the series as shown in the legend, tooltip etc.","demo":"Series name"},{"name":"series-data--name","fullname":"series.data.name","title":"name","parent":"series-data","isParent":false,"returnType":"String","description":"

The name of the point as shown in the legend, tooltip, dataLabel etc.

\r\n\r\n

If the xAxis.type is set to category, and no categories option exists, the category will be pulled from the point.name of the last series defined. For multiple series, best practice however is to define xAxis.categories.

","demo":"Point names","deprecated":false},{"name":"series--name","fullname":"series.name","title":"name","parent":"series","isParent":false,"returnType":"String","description":"The name of the series as shown in the legend, tooltip etc.","demo":"Series name"},{"name":"series--name","fullname":"series.name","title":"name","parent":"series","isParent":false,"returnType":"String","description":"The name of the series as shown in the legend, tooltip etc.","demo":"Series name"},{"name":"series-data--name","fullname":"series.data.name","title":"name","parent":"series-data","isParent":false,"returnType":"String","description":"

The name of the point as shown in the legend, tooltip, dataLabel etc.

\r\n\r\n

If the xAxis.type is set to category, and no categories option exists, the category will be pulled from the point.name of the last series defined. For multiple series, best practice however is to define xAxis.categories.

","demo":"Point names","deprecated":false},{"name":"series--name","fullname":"series.name","title":"name","parent":"series","isParent":false,"returnType":"String","description":"The name of the series as shown in the legend, tooltip etc.","demo":"Series name"},{"name":"series--name","fullname":"series.name","title":"name","parent":"series","isParent":false,"returnType":"String","description":"The name of the series as shown in the legend, tooltip etc.","demo":"Series name"},{"name":"series--name","fullname":"series.name","title":"name","parent":"series","isParent":false,"returnType":"String","description":"The name of the series as shown in the legend, tooltip etc.","demo":"Series name"},{"name":"series-data--name","fullname":"series.data.name","title":"name","parent":"series-data","isParent":false,"returnType":"String","description":"

The name of the point as shown in the legend, tooltip, dataLabel etc.

\r\n\r\n

If the xAxis.type is set to category, and no categories option exists, the category will be pulled from the point.name of the last series defined. For multiple series, best practice however is to define xAxis.categories.

","demo":"Point names","deprecated":false},{"name":"legend-navigation","fullname":"legend.navigation","title":"navigation","parent":"legend","isParent":true,"description":"Options for the paging or navigation appearing when the legend is overflown. When legend.useHTML is enabled, navigation is disabled. ","deprecated":false},{"name":"navigation","fullname":"navigation","title":"navigation","isParent":true,"description":"A collection of options for buttons and menus appearing in the exporting module."},{"name":"series--neckHeight","fullname":"series.neckHeight","title":"neckHeight","parent":"series","isParent":false,"returnType":"Number|String","defaults":"25%","values":"","since":"","description":"The height of the neck, the lower part of the funnel. A number defines pixel width, a percentage string defines a percentage of the plot area height.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-funnel--neckHeight","fullname":"plotOptions.funnel.neckHeight","title":"neckHeight","parent":"plotOptions-funnel","isParent":false,"returnType":"Number|String","defaults":"25%","values":"","since":"","description":"The height of the neck, the lower part of the funnel. A number defines pixel width, a percentage string defines a percentage of the plot area height.","demo":"","seeAlso":"","deprecated":false},{"name":"series--neckWidth","fullname":"series.neckWidth","title":"neckWidth","parent":"series","isParent":false,"returnType":"Number|String","defaults":"30%","since":"3.0","description":"The width of the neck, the lower part of the funnel. A number defines pixel width, a percentage string defines a percentage of the plot area width.","demo":"Funnel demo","deprecated":false},{"name":"plotOptions-funnel--neckWidth","fullname":"plotOptions.funnel.neckWidth","title":"neckWidth","parent":"plotOptions-funnel","isParent":false,"returnType":"Number|String","defaults":"30%","since":"3.0","description":"The width of the neck, the lower part of the funnel. A number defines pixel width, a percentage string defines a percentage of the plot area width.","demo":"Funnel demo","deprecated":false},{"name":"series--negativeColor","fullname":"series.negativeColor","title":"negativeColor","parent":"series","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color for the parts of the graph or points that are below the threshold.","demo":"Spline, area and column - arearange.","seeAlso":"","deprecated":false},{"name":"series--negativeColor","fullname":"series.negativeColor","title":"negativeColor","parent":"series","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color for the parts of the graph or points that are below the threshold.","demo":"Spline, area and column - arearange.","seeAlso":"","deprecated":false},{"name":"series--negativeColor","fullname":"series.negativeColor","title":"negativeColor","parent":"series","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color for the parts of the graph or points that are below the threshold.","demo":"Spline, area and column - arearange.","seeAlso":"","deprecated":false},{"name":"plotOptions-line--negativeColor","fullname":"plotOptions.line.negativeColor","title":"negativeColor","parent":"plotOptions-line","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color for the parts of the graph or points that are below the threshold.","demo":"Spline, area and column - arearange.","seeAlso":"","deprecated":false},{"name":"series--negativeColor","fullname":"series.negativeColor","title":"negativeColor","parent":"series","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color for the parts of the graph or points that are below the threshold.","demo":"Spline, area and column - arearange.","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon--negativeColor","fullname":"plotOptions.polygon.negativeColor","title":"negativeColor","parent":"plotOptions-polygon","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color for the parts of the graph or points that are below the threshold.","demo":"Spline, area and column - arearange.","seeAlso":"","deprecated":false},{"name":"series--negativeColor","fullname":"series.negativeColor","title":"negativeColor","parent":"series","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"When a point's Z value is below the zThreshold setting, this color is used.","demo":"Negative bubbles","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline--negativeColor","fullname":"plotOptions.areaspline.negativeColor","title":"negativeColor","parent":"plotOptions-areaspline","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color for the parts of the graph or points that are below the threshold.","demo":"Spline, area and column - arearange.","seeAlso":"","deprecated":false},{"name":"plotOptions-spline--negativeColor","fullname":"plotOptions.spline.negativeColor","title":"negativeColor","parent":"plotOptions-spline","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color for the parts of the graph or points that are below the threshold.","demo":"Spline, area and column - arearange.","seeAlso":"","deprecated":false},{"name":"series--negativeColor","fullname":"series.negativeColor","title":"negativeColor","parent":"series","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color for the parts of the graph or points that are below the threshold.","demo":"Spline, area and column - arearange.","seeAlso":"","deprecated":false},{"name":"series--negativeColor","fullname":"series.negativeColor","title":"negativeColor","parent":"series","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color for the parts of the graph or points that are below the threshold.","demo":"Spline, area and column - arearange.","seeAlso":"","deprecated":false},{"name":"series--negativeColor","fullname":"series.negativeColor","title":"negativeColor","parent":"series","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color for the parts of the graph or points that are below the threshold.","demo":"Spline, area and column - arearange.","seeAlso":"","deprecated":false},{"name":"plotOptions-series--negativeColor","fullname":"plotOptions.series.negativeColor","title":"negativeColor","parent":"plotOptions-series","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color for the parts of the graph or points that are below the threshold.","demo":"Spline, area and column - arearange.","seeAlso":"","deprecated":false},{"name":"plotOptions-errorbar--negativeColor","fullname":"plotOptions.errorbar.negativeColor","title":"negativeColor","parent":"plotOptions-errorbar","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color for the parts of the graph or points that are below the threshold.","demo":"Spline, area and column - arearange.","seeAlso":"","deprecated":false},{"name":"plotOptions-bar--negativeColor","fullname":"plotOptions.bar.negativeColor","title":"negativeColor","parent":"plotOptions-bar","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color for the parts of the graph or points that are below the threshold.","demo":"Spline, area and column - arearange.","seeAlso":"","deprecated":false},{"name":"plotOptions-area--negativeColor","fullname":"plotOptions.area.negativeColor","title":"negativeColor","parent":"plotOptions-area","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color for the parts of the graph or points that are below the threshold.","demo":"Spline, area and column - arearange.","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble--negativeColor","fullname":"plotOptions.bubble.negativeColor","title":"negativeColor","parent":"plotOptions-bubble","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"When a point's Z value is below the zThreshold setting, this color is used.","demo":"Negative bubbles","seeAlso":"","deprecated":false},{"name":"series--negativeColor","fullname":"series.negativeColor","title":"negativeColor","parent":"series","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color for the parts of the graph or points that are below the threshold.","demo":"Spline, area and column - arearange.","seeAlso":"","deprecated":false},{"name":"plotOptions-gauge--negativeColor","fullname":"plotOptions.gauge.negativeColor","title":"negativeColor","parent":"plotOptions-gauge","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color for the parts of the graph or points that are below the threshold.","demo":"Spline, area and column - arearange.","seeAlso":"","deprecated":false},{"name":"plotOptions-scatter--negativeColor","fullname":"plotOptions.scatter.negativeColor","title":"negativeColor","parent":"plotOptions-scatter","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color for the parts of the graph or points that are below the threshold.","demo":"Spline, area and column - arearange.","seeAlso":"","deprecated":false},{"name":"series--negativeColor","fullname":"series.negativeColor","title":"negativeColor","parent":"series","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color for the parts of the graph or points that are below the threshold.","demo":"Spline, area and column - arearange.","seeAlso":"","deprecated":false},{"name":"series--negativeColor","fullname":"series.negativeColor","title":"negativeColor","parent":"series","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color for the parts of the graph or points that are below the threshold.","demo":"Spline, area and column - arearange.","seeAlso":"","deprecated":false},{"name":"plotOptions-areasplinerange--negativeColor","fullname":"plotOptions.areasplinerange.negativeColor","title":"negativeColor","parent":"plotOptions-areasplinerange","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color for the parts of the graph or points that are below the threshold.","demo":"Spline, area and column - arearange.","seeAlso":"","deprecated":false},{"name":"plotOptions-column--negativeColor","fullname":"plotOptions.column.negativeColor","title":"negativeColor","parent":"plotOptions-column","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color for the parts of the graph or points that are below the threshold.","demo":"Spline, area and column - arearange.","seeAlso":"","deprecated":false},{"name":"series--negativeColor","fullname":"series.negativeColor","title":"negativeColor","parent":"series","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color for the parts of the graph or points that are below the threshold.","demo":"Spline, area and column - arearange.","seeAlso":"","deprecated":false},{"name":"series--negativeColor","fullname":"series.negativeColor","title":"negativeColor","parent":"series","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color for the parts of the graph or points that are below the threshold.","demo":"Spline, area and column - arearange.","seeAlso":"","deprecated":false},{"name":"plotOptions-arearange--negativeColor","fullname":"plotOptions.arearange.negativeColor","title":"negativeColor","parent":"plotOptions-arearange","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color for the parts of the graph or points that are below the threshold.","demo":"Spline, area and column - arearange.","seeAlso":"","deprecated":false},{"name":"plotOptions-boxplot--negativeColor","fullname":"plotOptions.boxplot.negativeColor","title":"negativeColor","parent":"plotOptions-boxplot","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color for the parts of the graph or points that are below the threshold.","demo":"Spline, area and column - arearange.","seeAlso":"","deprecated":false},{"name":"series--negativeColor","fullname":"series.negativeColor","title":"negativeColor","parent":"series","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color for the parts of the graph or points that are below the threshold.","demo":"Spline, area and column - arearange.","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline--negativeFillColor","fullname":"plotOptions.areaspline.negativeFillColor","title":"negativeFillColor","parent":"plotOptions-areaspline","isParent":false,"returnType":"Color","defaults":"","values":"","since":"3.0","description":"A separate color for the negative part of the area.","demo":"","seeAlso":"negativeColor","deprecated":false},{"name":"series--negativeFillColor","fullname":"series.negativeFillColor","title":"negativeFillColor","parent":"series","isParent":false,"returnType":"Color","defaults":"","values":"","since":"3.0","description":"A separate color for the negative part of the area.","demo":"","seeAlso":"negativeColor","deprecated":false},{"name":"plotOptions-area--negativeFillColor","fullname":"plotOptions.area.negativeFillColor","title":"negativeFillColor","parent":"plotOptions-area","isParent":false,"returnType":"Color","defaults":"","values":"","since":"3.0","description":"A separate color for the negative part of the area.","demo":"","seeAlso":"negativeColor","deprecated":false},{"name":"plotOptions-areasplinerange--negativeFillColor","fullname":"plotOptions.areasplinerange.negativeFillColor","title":"negativeFillColor","parent":"plotOptions-areasplinerange","isParent":false,"returnType":"Color","defaults":"","values":"","since":"3.0","description":"A separate color for the negative part of the area.","demo":"","seeAlso":"negativeColor","deprecated":false},{"name":"series--negativeFillColor","fullname":"series.negativeFillColor","title":"negativeFillColor","parent":"series","isParent":false,"returnType":"Color","defaults":"","values":"","since":"3.0","description":"A separate color for the negative part of the area.","demo":"","seeAlso":"negativeColor","deprecated":false},{"name":"plotOptions-arearange--negativeFillColor","fullname":"plotOptions.arearange.negativeFillColor","title":"negativeFillColor","parent":"plotOptions-arearange","isParent":false,"returnType":"Color","defaults":"","values":"","since":"3.0","description":"A separate color for the negative part of the area.","demo":"","seeAlso":"negativeColor","deprecated":false},{"name":"series--negativeFillColor","fullname":"series.negativeFillColor","title":"negativeFillColor","parent":"series","isParent":false,"returnType":"Color","defaults":"","values":"","since":"3.0","description":"A separate color for the negative part of the area.","demo":"","seeAlso":"negativeColor","deprecated":false},{"name":"series--negativeFillColor","fullname":"series.negativeFillColor","title":"negativeFillColor","parent":"series","isParent":false,"returnType":"Color","defaults":"","values":"","since":"3.0","description":"A separate color for the negative part of the area.","demo":"","seeAlso":"negativeColor","deprecated":false},{"name":"lang--noData","fullname":"lang.noData","title":"noData","parent":"lang","isParent":false,"returnType":"String","defaults":"No data to display","values":"","since":"3.0.8","description":"The text to display when the chart contains no data. Requires the no-data module, see noData.","demo":"","seeAlso":"","deprecated":false},{"name":"noData","fullname":"noData","title":"noData","isParent":true,"since":"3.0.8","description":"Options for displaying a message like \"No data to display\". This feature requires the file no-data-to-display.js to be loaded in the page. The actual text to display is set in the lang.noData option.","demo":"Line series, pie series.","deprecated":false},{"name":"lang--numericSymbols","fullname":"lang.numericSymbols","title":"numericSymbols","parent":"lang","isParent":false,"returnType":"Array","defaults":"[ \"k\" , \"M\" , \"G\" , \"T\" , \"P\" , \"E\"]","since":"2.3.0","description":"Metric prefixes used to shorten high numbers in axis labels. Replacing any of the positions with null causes the full number to be written. Setting numericSymbols to null disables shortening altogether.","demo":"Replacing the symbols with text","deprecated":false},{"name":"xAxis--offset","fullname":"xAxis.offset","title":"offset","parent":"xAxis","isParent":false,"returnType":"Number","defaults":"0","description":"The distance in pixels from the plot area to the axis line. A positive offset moves the axis with it's line, labels and ticks away from the plot area. This is typically used when two or more axes are displayed on the same side of the plot.","demo":"Y axis offset of 70,\n\t\t\tAxes positioned in the center of the plot"},{"name":"xAxis-title--offset","fullname":"xAxis.title.offset","title":"offset","parent":"xAxis-title","isParent":false,"returnType":"Number","since":"2.2.0","description":"The distance of the axis title from the axis line. By default, this distance is computed from the offset width of the labels, the labels' distance from the axis and the title's margin. However when the offset option is set, it overrides all this.","demo":"Place the axis title on top of the axis","deprecated":false},{"name":"yAxis--offset","fullname":"yAxis.offset","title":"offset","parent":"yAxis","isParent":false,"returnType":"Number","defaults":"0","description":"The distance in pixels from the plot area to the axis line. A positive offset moves the axis with it's line, labels and ticks away from the plot area. This is typically used when two or more axes are displayed on the same side of the plot.","demo":"Y axis offset of 70,\n\t\t\tAxes positioned in the center of the plot"},{"name":"yAxis-title--offset","fullname":"yAxis.title.offset","title":"offset","parent":"yAxis-title","isParent":false,"returnType":"Number","since":"2.2.0","description":"The distance of the axis title from the axis line. By default, this distance is computed from the offset width of the labels, the labels' distance from the axis and the title's margin. However when the offset option is set, it overrides all this.","demo":"Place the axis title on top of the axis","deprecated":false},{"name":"exporting-buttons-contextButton--onclick","fullname":"exporting.buttons.contextButton.onclick","title":"onclick","parent":"exporting-buttons-contextButton","isParent":false,"returnType":"Function","since":"2.0","description":"A click handler callback to use on the button directly instead of the popup menu.","demo":"Skip the menu and export the chart directly","deprecated":false},{"name":"plotOptions-solidgauge-states-hover-halo--opacity","fullname":"plotOptions.solidgauge.states.hover.halo.opacity","title":"opacity","parent":"plotOptions-solidgauge-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"series-states-hover-halo--opacity","fullname":"series.states.hover.halo.opacity","title":"opacity","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"plotOptions-polygon-states-hover-halo--opacity","fullname":"plotOptions.polygon.states.hover.halo.opacity","title":"opacity","parent":"plotOptions-polygon-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"plotOptions-funnel-states-hover-halo--opacity","fullname":"plotOptions.funnel.states.hover.halo.opacity","title":"opacity","parent":"plotOptions-funnel-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"plotOptions-series-states-hover-halo--opacity","fullname":"plotOptions.series.states.hover.halo.opacity","title":"opacity","parent":"plotOptions-series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"series-states-hover-halo--opacity","fullname":"series.states.hover.halo.opacity","title":"opacity","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"series-states-hover-halo--opacity","fullname":"series.states.hover.halo.opacity","title":"opacity","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"plotOptions-bubble-states-hover-halo--opacity","fullname":"plotOptions.bubble.states.hover.halo.opacity","title":"opacity","parent":"plotOptions-bubble-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"plotOptions-spline-states-hover-halo--opacity","fullname":"plotOptions.spline.states.hover.halo.opacity","title":"opacity","parent":"plotOptions-spline-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"plotOptions-gauge-states-hover-halo--opacity","fullname":"plotOptions.gauge.states.hover.halo.opacity","title":"opacity","parent":"plotOptions-gauge-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"series-states-hover-halo--opacity","fullname":"series.states.hover.halo.opacity","title":"opacity","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"series-states-hover-halo--opacity","fullname":"series.states.hover.halo.opacity","title":"opacity","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"plotOptions-columnrange-states-hover-halo--opacity","fullname":"plotOptions.columnrange.states.hover.halo.opacity","title":"opacity","parent":"plotOptions-columnrange-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"plotOptions-treemap-states-hover-halo--opacity","fullname":"plotOptions.treemap.states.hover.halo.opacity","title":"opacity","parent":"plotOptions-treemap-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"plotOptions-errorbar-states-hover-halo--opacity","fullname":"plotOptions.errorbar.states.hover.halo.opacity","title":"opacity","parent":"plotOptions-errorbar-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"plotOptions-column-states-hover-halo--opacity","fullname":"plotOptions.column.states.hover.halo.opacity","title":"opacity","parent":"plotOptions-column-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"series-states-hover-halo--opacity","fullname":"series.states.hover.halo.opacity","title":"opacity","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"plotOptions-arearange-states-hover-halo--opacity","fullname":"plotOptions.arearange.states.hover.halo.opacity","title":"opacity","parent":"plotOptions-arearange-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"series-states-hover-halo--opacity","fullname":"series.states.hover.halo.opacity","title":"opacity","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"plotOptions-bar-states-hover-halo--opacity","fullname":"plotOptions.bar.states.hover.halo.opacity","title":"opacity","parent":"plotOptions-bar-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"series-states-hover-halo--opacity","fullname":"series.states.hover.halo.opacity","title":"opacity","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"series-states-hover-halo--opacity","fullname":"series.states.hover.halo.opacity","title":"opacity","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"plotOptions-pyramid-states-hover-halo--opacity","fullname":"plotOptions.pyramid.states.hover.halo.opacity","title":"opacity","parent":"plotOptions-pyramid-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"series-states-hover-halo--opacity","fullname":"series.states.hover.halo.opacity","title":"opacity","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"plotOptions-scatter-states-hover-halo--opacity","fullname":"plotOptions.scatter.states.hover.halo.opacity","title":"opacity","parent":"plotOptions-scatter-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"plotOptions-pie-states-hover-halo--opacity","fullname":"plotOptions.pie.states.hover.halo.opacity","title":"opacity","parent":"plotOptions-pie-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"series-states-hover-halo--opacity","fullname":"series.states.hover.halo.opacity","title":"opacity","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"plotOptions-waterfall-states-hover-halo--opacity","fullname":"plotOptions.waterfall.states.hover.halo.opacity","title":"opacity","parent":"plotOptions-waterfall-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"series-states-hover-halo--opacity","fullname":"series.states.hover.halo.opacity","title":"opacity","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"plotOptions-area-states-hover-halo--opacity","fullname":"plotOptions.area.states.hover.halo.opacity","title":"opacity","parent":"plotOptions-area-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"plotOptions-heatmap-states-hover-halo--opacity","fullname":"plotOptions.heatmap.states.hover.halo.opacity","title":"opacity","parent":"plotOptions-heatmap-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"series-states-hover-halo--opacity","fullname":"series.states.hover.halo.opacity","title":"opacity","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"series-states-hover-halo--opacity","fullname":"series.states.hover.halo.opacity","title":"opacity","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"series-states-hover-halo--opacity","fullname":"series.states.hover.halo.opacity","title":"opacity","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"series-states-hover-halo--opacity","fullname":"series.states.hover.halo.opacity","title":"opacity","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"plotOptions-areaspline-states-hover-halo--opacity","fullname":"plotOptions.areaspline.states.hover.halo.opacity","title":"opacity","parent":"plotOptions-areaspline-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"series-states-hover-halo--opacity","fullname":"series.states.hover.halo.opacity","title":"opacity","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"series-states-hover-halo--opacity","fullname":"series.states.hover.halo.opacity","title":"opacity","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"plotOptions-boxplot-states-hover-halo--opacity","fullname":"plotOptions.boxplot.states.hover.halo.opacity","title":"opacity","parent":"plotOptions-boxplot-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"series-states-hover-halo--opacity","fullname":"series.states.hover.halo.opacity","title":"opacity","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"plotOptions-line-states-hover-halo--opacity","fullname":"plotOptions.line.states.hover.halo.opacity","title":"opacity","parent":"plotOptions-line-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"plotOptions-areasplinerange-states-hover-halo--opacity","fullname":"plotOptions.areasplinerange.states.hover.halo.opacity","title":"opacity","parent":"plotOptions-areasplinerange-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"series-states-hover-halo--opacity","fullname":"series.states.hover.halo.opacity","title":"opacity","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"series-states-hover-halo--opacity","fullname":"series.states.hover.halo.opacity","title":"opacity","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"series-states-hover-halo--opacity","fullname":"series.states.hover.halo.opacity","title":"opacity","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"0.25","since":"4.0","description":"Opacity for the halo unless a specific fill is overridden using the attributes setting. Note that Highcharts is only able to apply opacity to colors of hex or rgb(a) formats.","deprecated":false},{"name":"yAxis--opposite","fullname":"yAxis.opposite","title":"opposite","parent":"yAxis","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to display the axis on the opposite side of the normal. The normal is on the left side for vertical axes and bottom for horizontal, so the opposite sides will be right and top respectively. This is typically used with dual or multiple axes.","demo":"Secondary Y axis opposite"},{"name":"xAxis--opposite","fullname":"xAxis.opposite","title":"opposite","parent":"xAxis","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to display the axis on the opposite side of the normal. The normal is on the left side for vertical axes and bottom for horizontal, so the opposite sides will be right and top respectively. This is typically used with dual or multiple axes.","demo":"Secondary Y axis opposite"},{"name":"chart-options3d","fullname":"chart.options3d","title":"options3d","parent":"chart","isParent":true,"since":"4.0","description":"Options to render charts in 3 dimensions. This feature requires highcharts-3d.js, found in the download package or online at code.highcharts.com/highcharts-3d.js.","demo":"Basic 3D columns, basic 3D pie, basic 3D scatter chart.","deprecated":false},{"name":"yAxis-plotBands--outerRadius","fullname":"yAxis.plotBands.outerRadius","title":"outerRadius","parent":"yAxis-plotBands","isParent":false,"returnType":"Number|String","defaults":"100%","since":"2.3","description":"In a gauge chart, this option determines the outer radius of the plot band that stretches along the perimeter. It can be given as a percentage string, like \"100%\", or as a pixel number, like 100.","demo":"Gauge plot band","deprecated":false},{"name":"plotOptions-areaspline-dataLabels--overflow","fullname":"plotOptions.areaspline.dataLabels.overflow","title":"overflow","parent":"plotOptions-areaspline-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-areasplinerange-dataLabels--overflow","fullname":"plotOptions.areasplinerange.dataLabels.overflow","title":"overflow","parent":"plotOptions-areasplinerange-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-series-dataLabels--overflow","fullname":"plotOptions.series.dataLabels.overflow","title":"overflow","parent":"plotOptions-series-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-spline-dataLabels--overflow","fullname":"plotOptions.spline.dataLabels.overflow","title":"overflow","parent":"plotOptions-spline-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-arearange-dataLabels--overflow","fullname":"plotOptions.arearange.dataLabels.overflow","title":"overflow","parent":"plotOptions-arearange-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--overflow","fullname":"series.dataLabels.overflow","title":"overflow","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--overflow","fullname":"series.dataLabels.overflow","title":"overflow","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--overflow","fullname":"series.dataLabels.overflow","title":"overflow","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-area-dataLabels--overflow","fullname":"plotOptions.area.dataLabels.overflow","title":"overflow","parent":"plotOptions-area-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--overflow","fullname":"series.dataLabels.overflow","title":"overflow","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-line-dataLabels--overflow","fullname":"plotOptions.line.dataLabels.overflow","title":"overflow","parent":"plotOptions-line-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-solidgauge-dataLabels--overflow","fullname":"plotOptions.solidgauge.dataLabels.overflow","title":"overflow","parent":"plotOptions-solidgauge-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--overflow","fullname":"series.dataLabels.overflow","title":"overflow","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--overflow","fullname":"series.dataLabels.overflow","title":"overflow","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--overflow","fullname":"series.dataLabels.overflow","title":"overflow","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"yAxis-labels--overflow","fullname":"yAxis.labels.overflow","title":"overflow","parent":"yAxis-labels","isParent":false,"returnType":"String","values":"[null, \"justify\"]","since":"2.2.5","description":"How to handle overflowing labels on horizontal axis. Can be undefined, false or \"justify\". By default it aligns inside the chart area. If \"justify\", labels will not render outside the plot area. If false, it will not be aligned at all. If there is room to move it, it will be aligned to the edge, else it will be removed.","deprecated":true},{"name":"plotOptions-funnel-dataLabels--overflow","fullname":"plotOptions.funnel.dataLabels.overflow","title":"overflow","parent":"plotOptions-funnel-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--overflow","fullname":"series.dataLabels.overflow","title":"overflow","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-waterfall-dataLabels--overflow","fullname":"plotOptions.waterfall.dataLabels.overflow","title":"overflow","parent":"plotOptions-waterfall-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange-dataLabels--overflow","fullname":"plotOptions.columnrange.dataLabels.overflow","title":"overflow","parent":"plotOptions-columnrange-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-heatmap-dataLabels--overflow","fullname":"plotOptions.heatmap.dataLabels.overflow","title":"overflow","parent":"plotOptions-heatmap-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid-dataLabels--overflow","fullname":"plotOptions.pyramid.dataLabels.overflow","title":"overflow","parent":"plotOptions-pyramid-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--overflow","fullname":"series.dataLabels.overflow","title":"overflow","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--overflow","fullname":"series.dataLabels.overflow","title":"overflow","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bar-dataLabels--overflow","fullname":"plotOptions.bar.dataLabels.overflow","title":"overflow","parent":"plotOptions-bar-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--overflow","fullname":"series.dataLabels.overflow","title":"overflow","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--overflow","fullname":"series.dataLabels.overflow","title":"overflow","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--overflow","fullname":"series.dataLabels.overflow","title":"overflow","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--overflow","fullname":"series.dataLabels.overflow","title":"overflow","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-scatter-dataLabels--overflow","fullname":"plotOptions.scatter.dataLabels.overflow","title":"overflow","parent":"plotOptions-scatter-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon-dataLabels--overflow","fullname":"plotOptions.polygon.dataLabels.overflow","title":"overflow","parent":"plotOptions-polygon-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--overflow","fullname":"series.dataLabels.overflow","title":"overflow","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pie-dataLabels--overflow","fullname":"plotOptions.pie.dataLabels.overflow","title":"overflow","parent":"plotOptions-pie-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble-dataLabels--overflow","fullname":"plotOptions.bubble.dataLabels.overflow","title":"overflow","parent":"plotOptions-bubble-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"xAxis-labels--overflow","fullname":"xAxis.labels.overflow","title":"overflow","parent":"xAxis-labels","isParent":false,"returnType":"String","values":"[null, \"justify\"]","since":"2.2.5","description":"How to handle overflowing labels on horizontal axis. Can be undefined, false or \"justify\". By default it aligns inside the chart area. If \"justify\", labels will not render outside the plot area. If false, it will not be aligned at all. If there is room to move it, it will be aligned to the edge, else it will be removed.","deprecated":true},{"name":"series-dataLabels--overflow","fullname":"series.dataLabels.overflow","title":"overflow","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--overflow","fullname":"series.dataLabels.overflow","title":"overflow","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--overflow","fullname":"series.dataLabels.overflow","title":"overflow","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--overflow","fullname":"series.dataLabels.overflow","title":"overflow","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-gauge-dataLabels--overflow","fullname":"plotOptions.gauge.dataLabels.overflow","title":"overflow","parent":"plotOptions-gauge-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-treemap-dataLabels--overflow","fullname":"plotOptions.treemap.dataLabels.overflow","title":"overflow","parent":"plotOptions-treemap-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-column-dataLabels--overflow","fullname":"plotOptions.column.dataLabels.overflow","title":"overflow","parent":"plotOptions-column-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--overflow","fullname":"series.dataLabels.overflow","title":"overflow","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"justify","values":"[\"justify\", \"none\"]","since":"3.0.6","description":"How to handle data labels that flow outside the plot area. The default is justify, which aligns them inside the plot area. For columns and bars, this means it will be moved inside the bar. To display data labels outside the plot area, set crop to false and overflow to \"none\".","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-gauge--overshoot","fullname":"plotOptions.gauge.overshoot","title":"overshoot","parent":"plotOptions-gauge","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"3.0.10","description":"Allow the dial to overshoot the end of the perimeter axis by this many degrees. Say if the gauge axis goes from 0 to 60, a value of 100, or 1000, will show 5 degrees beyond the end of the axis.","demo":"Allow 5 degrees overshoot","seeAlso":"wrap","deprecated":false},{"name":"plotOptions-solidgauge--overshoot","fullname":"plotOptions.solidgauge.overshoot","title":"overshoot","parent":"plotOptions-solidgauge","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"3.0.10","description":"Allow the dial to overshoot the end of the perimeter axis by this many degrees. Say if the gauge axis goes from 0 to 60, a value of 100, or 1000, will show 5 degrees beyond the end of the axis.","demo":"Allow 5 degrees overshoot","seeAlso":"wrap","deprecated":false},{"name":"series--overshoot","fullname":"series.overshoot","title":"overshoot","parent":"series","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"3.0.10","description":"Allow the dial to overshoot the end of the perimeter axis by this many degrees. Say if the gauge axis goes from 0 to 60, a value of 100, or 1000, will show 5 degrees beyond the end of the axis.","demo":"Allow 5 degrees overshoot","seeAlso":"wrap","deprecated":false},{"name":"series--overshoot","fullname":"series.overshoot","title":"overshoot","parent":"series","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"3.0.10","description":"Allow the dial to overshoot the end of the perimeter axis by this many degrees. Say if the gauge axis goes from 0 to 60, a value of 100, or 1000, will show 5 degrees beyond the end of the axis.","demo":"Allow 5 degrees overshoot","seeAlso":"wrap","deprecated":false},{"name":"plotOptions-funnel-dataLabels--padding","fullname":"plotOptions.funnel.dataLabels.padding","title":"padding","parent":"plotOptions-funnel-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--padding","fullname":"series.dataLabels.padding","title":"padding","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-polygon-dataLabels--padding","fullname":"plotOptions.polygon.dataLabels.padding","title":"padding","parent":"plotOptions-polygon-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-gauge-dataLabels--padding","fullname":"plotOptions.gauge.dataLabels.padding","title":"padding","parent":"plotOptions-gauge-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-columnrange-dataLabels--padding","fullname":"plotOptions.columnrange.dataLabels.padding","title":"padding","parent":"plotOptions-columnrange-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-scatter-dataLabels--padding","fullname":"plotOptions.scatter.dataLabels.padding","title":"padding","parent":"plotOptions-scatter-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--padding","fullname":"series.dataLabels.padding","title":"padding","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"legend--padding","fullname":"legend.padding","title":"padding","parent":"legend","isParent":false,"returnType":"Number","defaults":"8","since":"2.2.0","description":"The inner padding of the legend box.","demo":"\r\n\t\t\t\tPadding and item margins demonstrated","deprecated":false},{"name":"series-dataLabels--padding","fullname":"series.dataLabels.padding","title":"padding","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-heatmap-dataLabels--padding","fullname":"plotOptions.heatmap.dataLabels.padding","title":"padding","parent":"plotOptions-heatmap-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-treemap-dataLabels--padding","fullname":"plotOptions.treemap.dataLabels.padding","title":"padding","parent":"plotOptions-treemap-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"xAxis-labels--padding","fullname":"xAxis.labels.padding","title":"padding","parent":"xAxis-labels","isParent":false,"returnType":"Number","context":"","defaults":"5","values":"","since":"","description":"The pixel padding for axis labels, to ensure white space between them.","demo":"","seeAlso":"","deprecated":false},{"name":"yAxis-labels--padding","fullname":"yAxis.labels.padding","title":"padding","parent":"yAxis-labels","isParent":false,"returnType":"Number","context":"","defaults":"5","values":"","since":"","description":"The pixel padding for axis labels, to ensure white space between them.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-line-dataLabels--padding","fullname":"plotOptions.line.dataLabels.padding","title":"padding","parent":"plotOptions-line-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-series-dataLabels--padding","fullname":"plotOptions.series.dataLabels.padding","title":"padding","parent":"plotOptions-series-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--padding","fullname":"series.dataLabels.padding","title":"padding","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--padding","fullname":"series.dataLabels.padding","title":"padding","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--padding","fullname":"series.dataLabels.padding","title":"padding","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--padding","fullname":"series.dataLabels.padding","title":"padding","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--padding","fullname":"series.dataLabels.padding","title":"padding","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-area-dataLabels--padding","fullname":"plotOptions.area.dataLabels.padding","title":"padding","parent":"plotOptions-area-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--padding","fullname":"series.dataLabels.padding","title":"padding","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-column-dataLabels--padding","fullname":"plotOptions.column.dataLabels.padding","title":"padding","parent":"plotOptions-column-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--padding","fullname":"series.dataLabels.padding","title":"padding","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-solidgauge-dataLabels--padding","fullname":"plotOptions.solidgauge.dataLabels.padding","title":"padding","parent":"plotOptions-solidgauge-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-areaspline-dataLabels--padding","fullname":"plotOptions.areaspline.dataLabels.padding","title":"padding","parent":"plotOptions-areaspline-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--padding","fullname":"series.dataLabels.padding","title":"padding","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--padding","fullname":"series.dataLabels.padding","title":"padding","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--padding","fullname":"series.dataLabels.padding","title":"padding","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--padding","fullname":"series.dataLabels.padding","title":"padding","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-waterfall-dataLabels--padding","fullname":"plotOptions.waterfall.dataLabels.padding","title":"padding","parent":"plotOptions-waterfall-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-bubble-dataLabels--padding","fullname":"plotOptions.bubble.dataLabels.padding","title":"padding","parent":"plotOptions-bubble-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--padding","fullname":"series.dataLabels.padding","title":"padding","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-arearange-dataLabels--padding","fullname":"plotOptions.arearange.dataLabels.padding","title":"padding","parent":"plotOptions-arearange-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--padding","fullname":"series.dataLabels.padding","title":"padding","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-pie-dataLabels--padding","fullname":"plotOptions.pie.dataLabels.padding","title":"padding","parent":"plotOptions-pie-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-bar-dataLabels--padding","fullname":"plotOptions.bar.dataLabels.padding","title":"padding","parent":"plotOptions-bar-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--padding","fullname":"series.dataLabels.padding","title":"padding","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-pyramid-dataLabels--padding","fullname":"plotOptions.pyramid.dataLabels.padding","title":"padding","parent":"plotOptions-pyramid-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--padding","fullname":"series.dataLabels.padding","title":"padding","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-areasplinerange-dataLabels--padding","fullname":"plotOptions.areasplinerange.dataLabels.padding","title":"padding","parent":"plotOptions-areasplinerange-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"plotOptions-spline-dataLabels--padding","fullname":"plotOptions.spline.dataLabels.padding","title":"padding","parent":"plotOptions-spline-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--padding","fullname":"series.dataLabels.padding","title":"padding","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"series-dataLabels--padding","fullname":"series.dataLabels.padding","title":"padding","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"5","since":"2.2.1","description":"When either the borderWidth or the backgroundColor is set, this\t\tis the padding within the box.","demo":"Data labels box options","deprecated":false},{"name":"chart--panKey","fullname":"chart.panKey","title":"panKey","parent":"chart","isParent":false,"returnType":"String","defaults":"","values":"","since":"4.0.3","description":"Allows setting a key to switch between zooming and panning. ","demo":"Hold down shift to pan","seeAlso":"","deprecated":false},{"name":"pane","fullname":"pane","title":"pane","isParent":true,"returnType":"Object","since":"2.3.0","description":"Applies only to polar charts and angular gauges. This configuration object holds general options for the combined X and Y axes set. Each xAxis or yAxis can reference the pane by index.","demo":"","deprecated":false},{"name":"chart--panning","fullname":"chart.panning","title":"panning","parent":"chart","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"4.0.3","description":"Allow panning in a chart. Best used with panKey to combine zooming and panning.","demo":"Zooming and panning","seeAlso":"","deprecated":false},{"name":"series-data--parent","fullname":"series.data.parent","title":"parent","parent":"series-data","isParent":false,"returnType":"String","defaults":"undefined","since":"4.1.0","description":"Only for treemap. Use this option to build a tree structure. The value should be the id of the point which is the parent. If no points has a matching id, or this option is undefined, then the parent will be set to the root.","demo":"Point parent, Example where parent id is not matching","deprecated":false},{"name":"data--parseDate","fullname":"data.parseDate","title":"parseDate","parent":"data","isParent":false,"returnType":"Function","defaults":"","values":"","since":"4.0","description":"A callback function to parse string representations of dates into JavaScript timestamps. Should return an integer timestamp on success.","demo":"","seeAlso":"dateFormat","deprecated":false},{"name":"data--parsed","fullname":"data.parsed","title":"parsed","parent":"data","isParent":false,"returnType":"Function","defaults":"","values":"","since":"4.0","description":"A callback function to access the parsed columns, the two-dimentional input data array directly, before they are interpreted into series data and categories. Return false to stop completion, or call this.complete() to continue async.","demo":"Modify data after parse","seeAlso":"data.complete","deprecated":false},{"name":"plotOptions-pie","fullname":"plotOptions.pie","title":"pie","parent":"plotOptions","isParent":true,"description":"A pie chart is a circular chart divided into sectors, illustrating numerical proportion.","demo":" Pie chart, \r\n\r\n3D pie","deprecated":false},{"name":"chart--pinchType","fullname":"chart.pinchType","title":"pinchType","parent":"chart","isParent":false,"returnType":"String","defaults":"null","values":"[\"x\", \"y\", \"xy\"]","since":"3.0","description":"Equivalent to zoomType, but for multitouch gestures only. By default, the pinchType is the same as the zoomType setting. However, pinching can be enabled separately in some cases, for example in stock charts where a mouse drag pans the chart, while pinching is enabled.","demo":"","seeAlso":"","deprecated":false},{"name":"series-pivot","fullname":"series.pivot","title":"pivot","parent":"series","isParent":true,"returnType":"Object","defaults":"","since":"2.3.0","description":"Options for the pivot or the center point of the gauge.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-gauge-pivot","fullname":"plotOptions.gauge.pivot","title":"pivot","parent":"plotOptions-gauge","isParent":true,"returnType":"Object","defaults":"","since":"2.3.0","description":"Options for the pivot or the center point of the gauge.","demo":"","seeAlso":"","deprecated":false},{"name":"chart--plotBackgroundColor","fullname":"chart.plotBackgroundColor","title":"plotBackgroundColor","parent":"chart","isParent":false,"returnType":"Color","description":"The background color or gradient for the plot area.","demo":"Color,\n\t\t\tgradient"},{"name":"chart--plotBackgroundImage","fullname":"chart.plotBackgroundImage","title":"plotBackgroundImage","parent":"chart","isParent":false,"returnType":"String","description":"The URL for an image to use as the plot background. To set an image as the background for the entire chart, set a CSS background image to the container element. Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.","demo":"Skies","deprecated":false},{"name":"yAxis-plotBands","fullname":"yAxis.plotBands","title":"plotBands","parent":"yAxis","isParent":true,"returnType":"Array","description":"An array of objects defining plot bands on the Y axis.","deprecated":false},{"name":"xAxis-plotBands","fullname":"xAxis.plotBands","title":"plotBands","parent":"xAxis","isParent":true,"returnType":"Array","description":"

An array of colored bands stretching across the plot area marking an interval on the axis.

\r\n\r\n

In a gauge, a plot band on the Y axis (value axis) will stretch along the perimeter of the gauge.

","deprecated":false},{"name":"chart--plotBorderColor","fullname":"chart.plotBorderColor","title":"plotBorderColor","parent":"chart","isParent":false,"returnType":"Color","defaults":"#C0C0C0","description":"The color of the inner chart or plot area border.","demo":"Blue border"},{"name":"chart--plotBorderWidth","fullname":"chart.plotBorderWidth","title":"plotBorderWidth","parent":"chart","isParent":false,"returnType":"Number","defaults":"0","description":"The pixel width of the plot area border.","demo":"1px border"},{"name":"yAxis-plotLines","fullname":"yAxis.plotLines","title":"plotLines","parent":"yAxis","isParent":true,"returnType":"Array","description":"An array of objects representing plot lines on the X axis","deprecated":false},{"name":"xAxis-plotLines","fullname":"xAxis.plotLines","title":"plotLines","parent":"xAxis","isParent":true,"returnType":"Array","description":"An array of lines stretching across the plot area, marking a specific value on one of the axes.","deprecated":false},{"name":"plotOptions","fullname":"plotOptions","title":"plotOptions","isParent":true,"description":"

The plotOptions is a wrapper object for config objects for each series type.\n\t\tThe config objects for each series can also be overridden for each series \n\t\titem as given in the series array.

\n\t\t

Configuration options for the series are given in three levels. Options\n\t\tfor all series in a chart are given in the plotOptions.series object. Then options for all series\n\t\tof a specific type are given in the plotOptions of that type, for example plotOptions.line.\n\t\tNext, options for one single series are given in the \n\t\tseries array.

"},{"name":"chart--plotShadow","fullname":"chart.plotShadow","title":"plotShadow","parent":"chart","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the plot area. Requires that plotBackgroundColor be set. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Plot shadow","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon-point","fullname":"plotOptions.polygon.point","title":"point","parent":"plotOptions-polygon","isParent":true,"description":"Properties for each single point"},{"name":"series-point","fullname":"series.point","title":"point","parent":"series","isParent":true,"description":"Properties for each single point"},{"name":"plotOptions-funnel-point","fullname":"plotOptions.funnel.point","title":"point","parent":"plotOptions-funnel","isParent":true,"description":"Properties for each single point"},{"name":"series-point","fullname":"series.point","title":"point","parent":"series","isParent":true,"description":"Properties for each single point"},{"name":"plotOptions-heatmap-point","fullname":"plotOptions.heatmap.point","title":"point","parent":"plotOptions-heatmap","isParent":true,"description":"Properties for each single point"},{"name":"series-point","fullname":"series.point","title":"point","parent":"series","isParent":true,"description":"Properties for each single point"},{"name":"plotOptions-boxplot-point","fullname":"plotOptions.boxplot.point","title":"point","parent":"plotOptions-boxplot","isParent":true,"description":"Properties for each single point"},{"name":"plotOptions-area-point","fullname":"plotOptions.area.point","title":"point","parent":"plotOptions-area","isParent":true,"description":"Properties for each single point"},{"name":"plotOptions-treemap-point","fullname":"plotOptions.treemap.point","title":"point","parent":"plotOptions-treemap","isParent":true,"description":"Properties for each single point"},{"name":"series-point","fullname":"series.point","title":"point","parent":"series","isParent":true,"description":"Properties for each single point"},{"name":"plotOptions-arearange-point","fullname":"plotOptions.arearange.point","title":"point","parent":"plotOptions-arearange","isParent":true,"description":"Properties for each single point"},{"name":"plotOptions-pie-point","fullname":"plotOptions.pie.point","title":"point","parent":"plotOptions-pie","isParent":true,"description":"Properties for each single point"},{"name":"series-point","fullname":"series.point","title":"point","parent":"series","isParent":true,"description":"Properties for each single point"},{"name":"series-point","fullname":"series.point","title":"point","parent":"series","isParent":true,"description":"Properties for each single point"},{"name":"plotOptions-line-point","fullname":"plotOptions.line.point","title":"point","parent":"plotOptions-line","isParent":true,"description":"Properties for each single point"},{"name":"plotOptions-bubble-point","fullname":"plotOptions.bubble.point","title":"point","parent":"plotOptions-bubble","isParent":true,"description":"Properties for each single point"},{"name":"plotOptions-waterfall-point","fullname":"plotOptions.waterfall.point","title":"point","parent":"plotOptions-waterfall","isParent":true,"description":"Properties for each single point"},{"name":"plotOptions-column-point","fullname":"plotOptions.column.point","title":"point","parent":"plotOptions-column","isParent":true,"description":"Properties for each single point"},{"name":"series-point","fullname":"series.point","title":"point","parent":"series","isParent":true,"description":"Properties for each single point"},{"name":"series-point","fullname":"series.point","title":"point","parent":"series","isParent":true,"description":"Properties for each single point"},{"name":"series-point","fullname":"series.point","title":"point","parent":"series","isParent":true,"description":"Properties for each single point"},{"name":"plotOptions-gauge-point","fullname":"plotOptions.gauge.point","title":"point","parent":"plotOptions-gauge","isParent":true,"description":"Properties for each single point"},{"name":"series-point","fullname":"series.point","title":"point","parent":"series","isParent":true,"description":"Properties for each single point"},{"name":"series-point","fullname":"series.point","title":"point","parent":"series","isParent":true,"description":"Properties for each single point"},{"name":"plotOptions-errorbar-point","fullname":"plotOptions.errorbar.point","title":"point","parent":"plotOptions-errorbar","isParent":true,"description":"Properties for each single point"},{"name":"plotOptions-bar-point","fullname":"plotOptions.bar.point","title":"point","parent":"plotOptions-bar","isParent":true,"description":"Properties for each single point"},{"name":"series-point","fullname":"series.point","title":"point","parent":"series","isParent":true,"description":"Properties for each single point"},{"name":"series-point","fullname":"series.point","title":"point","parent":"series","isParent":true,"description":"Properties for each single point"},{"name":"series-point","fullname":"series.point","title":"point","parent":"series","isParent":true,"description":"Properties for each single point"},{"name":"plotOptions-solidgauge-point","fullname":"plotOptions.solidgauge.point","title":"point","parent":"plotOptions-solidgauge","isParent":true,"description":"Properties for each single point"},{"name":"plotOptions-pyramid-point","fullname":"plotOptions.pyramid.point","title":"point","parent":"plotOptions-pyramid","isParent":true,"description":"Properties for each single point"},{"name":"plotOptions-columnrange-point","fullname":"plotOptions.columnrange.point","title":"point","parent":"plotOptions-columnrange","isParent":true,"description":"Properties for each single point"},{"name":"series-point","fullname":"series.point","title":"point","parent":"series","isParent":true,"description":"Properties for each single point"},{"name":"plotOptions-scatter-point","fullname":"plotOptions.scatter.point","title":"point","parent":"plotOptions-scatter","isParent":true,"description":"Properties for each single point"},{"name":"series-point","fullname":"series.point","title":"point","parent":"series","isParent":true,"description":"Properties for each single point"},{"name":"plotOptions-areasplinerange-point","fullname":"plotOptions.areasplinerange.point","title":"point","parent":"plotOptions-areasplinerange","isParent":true,"description":"Properties for each single point"},{"name":"series-point","fullname":"series.point","title":"point","parent":"series","isParent":true,"description":"Properties for each single point"},{"name":"plotOptions-spline-point","fullname":"plotOptions.spline.point","title":"point","parent":"plotOptions-spline","isParent":true,"description":"Properties for each single point"},{"name":"series-point","fullname":"series.point","title":"point","parent":"series","isParent":true,"description":"Properties for each single point"},{"name":"series-point","fullname":"series.point","title":"point","parent":"series","isParent":true,"description":"Properties for each single point"},{"name":"series-point","fullname":"series.point","title":"point","parent":"series","isParent":true,"description":"Properties for each single point"},{"name":"series-point","fullname":"series.point","title":"point","parent":"series","isParent":true,"description":"Properties for each single point"},{"name":"plotOptions-areaspline-point","fullname":"plotOptions.areaspline.point","title":"point","parent":"plotOptions-areaspline","isParent":true,"description":"Properties for each single point"},{"name":"plotOptions-series-point","fullname":"plotOptions.series.point","title":"point","parent":"plotOptions-series","isParent":true,"description":"Properties for each single point"},{"name":"series-point","fullname":"series.point","title":"point","parent":"series","isParent":true,"description":"Properties for each single point"},{"name":"xAxis-events--pointBreak","fullname":"xAxis.events.pointBreak","title":"pointBreak","parent":"xAxis-events","isParent":false,"returnType":"Function","context":"Axis","since":"4.1.0","description":"An event fired when a break from this axis occurs on a point.","demo":"Visualization of a Break","seeAlso":"breaks","deprecated":false},{"name":"yAxis-events--pointBreak","fullname":"yAxis.events.pointBreak","title":"pointBreak","parent":"yAxis-events","isParent":false,"returnType":"Function","context":"Axis","since":"4.1.0","description":"An event fired when a break from this axis occurs on a point.","demo":"Visualization of a Break","seeAlso":"breaks","deprecated":false},{"name":"plotOptions-areasplinerange-tooltip--pointFormat","fullname":"plotOptions.areasplinerange.tooltip.pointFormat","title":"pointFormat","parent":"plotOptions-areasplinerange-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"plotOptions-areaspline-tooltip--pointFormat","fullname":"plotOptions.areaspline.tooltip.pointFormat","title":"pointFormat","parent":"plotOptions-areaspline-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"series-tooltip--pointFormat","fullname":"series.tooltip.pointFormat","title":"pointFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"plotOptions-errorbar-tooltip--pointFormat","fullname":"plotOptions.errorbar.tooltip.pointFormat","title":"pointFormat","parent":"plotOptions-errorbar-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"plotOptions-bar-tooltip--pointFormat","fullname":"plotOptions.bar.tooltip.pointFormat","title":"pointFormat","parent":"plotOptions-bar-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"series-tooltip--pointFormat","fullname":"series.tooltip.pointFormat","title":"pointFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"plotOptions-solidgauge-tooltip--pointFormat","fullname":"plotOptions.solidgauge.tooltip.pointFormat","title":"pointFormat","parent":"plotOptions-solidgauge-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"plotOptions-gauge-tooltip--pointFormat","fullname":"plotOptions.gauge.tooltip.pointFormat","title":"pointFormat","parent":"plotOptions-gauge-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"series-tooltip--pointFormat","fullname":"series.tooltip.pointFormat","title":"pointFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"series-tooltip--pointFormat","fullname":"series.tooltip.pointFormat","title":"pointFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"plotOptions-polygon-tooltip--pointFormat","fullname":"plotOptions.polygon.tooltip.pointFormat","title":"pointFormat","parent":"plotOptions-polygon-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"plotOptions-spline-tooltip--pointFormat","fullname":"plotOptions.spline.tooltip.pointFormat","title":"pointFormat","parent":"plotOptions-spline-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"series-tooltip--pointFormat","fullname":"series.tooltip.pointFormat","title":"pointFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"plotOptions-heatmap-tooltip--pointFormat","fullname":"plotOptions.heatmap.tooltip.pointFormat","title":"pointFormat","parent":"plotOptions-heatmap-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"series-tooltip--pointFormat","fullname":"series.tooltip.pointFormat","title":"pointFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"plotOptions-funnel-tooltip--pointFormat","fullname":"plotOptions.funnel.tooltip.pointFormat","title":"pointFormat","parent":"plotOptions-funnel-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"series-tooltip--pointFormat","fullname":"series.tooltip.pointFormat","title":"pointFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"plotOptions-bubble-tooltip--pointFormat","fullname":"plotOptions.bubble.tooltip.pointFormat","title":"pointFormat","parent":"plotOptions-bubble-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"series-tooltip--pointFormat","fullname":"series.tooltip.pointFormat","title":"pointFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"series-tooltip--pointFormat","fullname":"series.tooltip.pointFormat","title":"pointFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"plotOptions-treemap-tooltip--pointFormat","fullname":"plotOptions.treemap.tooltip.pointFormat","title":"pointFormat","parent":"plotOptions-treemap-tooltip","isParent":false,"returnType":"String","defaults":"\"<b>{point.name}</b>: {point.value}</b><br/>\"","since":"4.1.0","description":"The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.yPrefix and tooltip.ySuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.","demo":"A different point format with value suffix","deprecated":false},{"name":"series-tooltip--pointFormat","fullname":"series.tooltip.pointFormat","title":"pointFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"series-tooltip--pointFormat","fullname":"series.tooltip.pointFormat","title":"pointFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"plotOptions-series-tooltip--pointFormat","fullname":"plotOptions.series.tooltip.pointFormat","title":"pointFormat","parent":"plotOptions-series-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"series-tooltip--pointFormat","fullname":"series.tooltip.pointFormat","title":"pointFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"plotOptions-area-tooltip--pointFormat","fullname":"plotOptions.area.tooltip.pointFormat","title":"pointFormat","parent":"plotOptions-area-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"series-tooltip--pointFormat","fullname":"series.tooltip.pointFormat","title":"pointFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"plotOptions-column-tooltip--pointFormat","fullname":"plotOptions.column.tooltip.pointFormat","title":"pointFormat","parent":"plotOptions-column-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"plotOptions-waterfall-tooltip--pointFormat","fullname":"plotOptions.waterfall.tooltip.pointFormat","title":"pointFormat","parent":"plotOptions-waterfall-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"series-tooltip--pointFormat","fullname":"series.tooltip.pointFormat","title":"pointFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"series-tooltip--pointFormat","fullname":"series.tooltip.pointFormat","title":"pointFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"\"<b>{point.name}</b>: {point.value}</b><br/>\"","since":"4.1.0","description":"The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.yPrefix and tooltip.ySuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.","demo":"A different point format with value suffix","deprecated":false},{"name":"series-tooltip--pointFormat","fullname":"series.tooltip.pointFormat","title":"pointFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"series-tooltip--pointFormat","fullname":"series.tooltip.pointFormat","title":"pointFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"plotOptions-line-tooltip--pointFormat","fullname":"plotOptions.line.tooltip.pointFormat","title":"pointFormat","parent":"plotOptions-line-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"plotOptions-columnrange-tooltip--pointFormat","fullname":"plotOptions.columnrange.tooltip.pointFormat","title":"pointFormat","parent":"plotOptions-columnrange-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"tooltip--pointFormat","fullname":"tooltip.pointFormat","title":"pointFormat","parent":"tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"series-tooltip--pointFormat","fullname":"series.tooltip.pointFormat","title":"pointFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"series-tooltip--pointFormat","fullname":"series.tooltip.pointFormat","title":"pointFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"series-tooltip--pointFormat","fullname":"series.tooltip.pointFormat","title":"pointFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"plotOptions-pie-tooltip--pointFormat","fullname":"plotOptions.pie.tooltip.pointFormat","title":"pointFormat","parent":"plotOptions-pie-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"plotOptions-boxplot-tooltip--pointFormat","fullname":"plotOptions.boxplot.tooltip.pointFormat","title":"pointFormat","parent":"plotOptions-boxplot-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"series-tooltip--pointFormat","fullname":"series.tooltip.pointFormat","title":"pointFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"plotOptions-pyramid-tooltip--pointFormat","fullname":"plotOptions.pyramid.tooltip.pointFormat","title":"pointFormat","parent":"plotOptions-pyramid-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"series-tooltip--pointFormat","fullname":"series.tooltip.pointFormat","title":"pointFormat","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"plotOptions-arearange-tooltip--pointFormat","fullname":"plotOptions.arearange.tooltip.pointFormat","title":"pointFormat","parent":"plotOptions-arearange-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"plotOptions-scatter-tooltip--pointFormat","fullname":"plotOptions.scatter.tooltip.pointFormat","title":"pointFormat","parent":"plotOptions-scatter-tooltip","isParent":false,"returnType":"String","defaults":"\\u25CF {series.name}: {point.y}
","since":"2.2","description":"

The HTML of the point's line in the tooltip. Variables are enclosed by curly brackets. Available variables are point.x, point.y, series.name and series.color and other properties on the same form. Furthermore, point.y can be extended by the tooltip.valuePrefix and tooltip.valueSuffix variables. This can also be overridden for each series, which makes it a good hook for displaying units.

","demo":"A different point format with value suffix","deprecated":false},{"name":"plotOptions-areasplinerange-tooltip--pointFormatter","fullname":"plotOptions.areasplinerange.tooltip.pointFormatter","title":"pointFormatter","parent":"plotOptions-areasplinerange-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--pointFormatter","fullname":"series.tooltip.pointFormatter","title":"pointFormatter","parent":"series-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--pointFormatter","fullname":"series.tooltip.pointFormatter","title":"pointFormatter","parent":"series-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"tooltip--pointFormatter","fullname":"tooltip.pointFormatter","title":"pointFormatter","parent":"tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-boxplot-tooltip--pointFormatter","fullname":"plotOptions.boxplot.tooltip.pointFormatter","title":"pointFormatter","parent":"plotOptions-boxplot-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--pointFormatter","fullname":"series.tooltip.pointFormatter","title":"pointFormatter","parent":"series-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--pointFormatter","fullname":"series.tooltip.pointFormatter","title":"pointFormatter","parent":"series-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--pointFormatter","fullname":"series.tooltip.pointFormatter","title":"pointFormatter","parent":"series-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--pointFormatter","fullname":"series.tooltip.pointFormatter","title":"pointFormatter","parent":"series-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--pointFormatter","fullname":"series.tooltip.pointFormatter","title":"pointFormatter","parent":"series-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble-tooltip--pointFormatter","fullname":"plotOptions.bubble.tooltip.pointFormatter","title":"pointFormatter","parent":"plotOptions-bubble-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-waterfall-tooltip--pointFormatter","fullname":"plotOptions.waterfall.tooltip.pointFormatter","title":"pointFormatter","parent":"plotOptions-waterfall-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-column-tooltip--pointFormatter","fullname":"plotOptions.column.tooltip.pointFormatter","title":"pointFormatter","parent":"plotOptions-column-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--pointFormatter","fullname":"series.tooltip.pointFormatter","title":"pointFormatter","parent":"series-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--pointFormatter","fullname":"series.tooltip.pointFormatter","title":"pointFormatter","parent":"series-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-gauge-tooltip--pointFormatter","fullname":"plotOptions.gauge.tooltip.pointFormatter","title":"pointFormatter","parent":"plotOptions-gauge-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-scatter-tooltip--pointFormatter","fullname":"plotOptions.scatter.tooltip.pointFormatter","title":"pointFormatter","parent":"plotOptions-scatter-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-heatmap-tooltip--pointFormatter","fullname":"plotOptions.heatmap.tooltip.pointFormatter","title":"pointFormatter","parent":"plotOptions-heatmap-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--pointFormatter","fullname":"series.tooltip.pointFormatter","title":"pointFormatter","parent":"series-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--pointFormatter","fullname":"series.tooltip.pointFormatter","title":"pointFormatter","parent":"series-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--pointFormatter","fullname":"series.tooltip.pointFormatter","title":"pointFormatter","parent":"series-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-funnel-tooltip--pointFormatter","fullname":"plotOptions.funnel.tooltip.pointFormatter","title":"pointFormatter","parent":"plotOptions-funnel-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-line-tooltip--pointFormatter","fullname":"plotOptions.line.tooltip.pointFormatter","title":"pointFormatter","parent":"plotOptions-line-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--pointFormatter","fullname":"series.tooltip.pointFormatter","title":"pointFormatter","parent":"series-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange-tooltip--pointFormatter","fullname":"plotOptions.columnrange.tooltip.pointFormatter","title":"pointFormatter","parent":"plotOptions-columnrange-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--pointFormatter","fullname":"series.tooltip.pointFormatter","title":"pointFormatter","parent":"series-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bar-tooltip--pointFormatter","fullname":"plotOptions.bar.tooltip.pointFormatter","title":"pointFormatter","parent":"plotOptions-bar-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-treemap-tooltip--pointFormatter","fullname":"plotOptions.treemap.tooltip.pointFormatter","title":"pointFormatter","parent":"plotOptions-treemap-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-area-tooltip--pointFormatter","fullname":"plotOptions.area.tooltip.pointFormatter","title":"pointFormatter","parent":"plotOptions-area-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--pointFormatter","fullname":"series.tooltip.pointFormatter","title":"pointFormatter","parent":"series-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-arearange-tooltip--pointFormatter","fullname":"plotOptions.arearange.tooltip.pointFormatter","title":"pointFormatter","parent":"plotOptions-arearange-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-spline-tooltip--pointFormatter","fullname":"plotOptions.spline.tooltip.pointFormatter","title":"pointFormatter","parent":"plotOptions-spline-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-series-tooltip--pointFormatter","fullname":"plotOptions.series.tooltip.pointFormatter","title":"pointFormatter","parent":"plotOptions-series-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--pointFormatter","fullname":"series.tooltip.pointFormatter","title":"pointFormatter","parent":"series-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--pointFormatter","fullname":"series.tooltip.pointFormatter","title":"pointFormatter","parent":"series-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pie-tooltip--pointFormatter","fullname":"plotOptions.pie.tooltip.pointFormatter","title":"pointFormatter","parent":"plotOptions-pie-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline-tooltip--pointFormatter","fullname":"plotOptions.areaspline.tooltip.pointFormatter","title":"pointFormatter","parent":"plotOptions-areaspline-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--pointFormatter","fullname":"series.tooltip.pointFormatter","title":"pointFormatter","parent":"series-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon-tooltip--pointFormatter","fullname":"plotOptions.polygon.tooltip.pointFormatter","title":"pointFormatter","parent":"plotOptions-polygon-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--pointFormatter","fullname":"series.tooltip.pointFormatter","title":"pointFormatter","parent":"series-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid-tooltip--pointFormatter","fullname":"plotOptions.pyramid.tooltip.pointFormatter","title":"pointFormatter","parent":"plotOptions-pyramid-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-errorbar-tooltip--pointFormatter","fullname":"plotOptions.errorbar.tooltip.pointFormatter","title":"pointFormatter","parent":"plotOptions-errorbar-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--pointFormatter","fullname":"series.tooltip.pointFormatter","title":"pointFormatter","parent":"series-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-solidgauge-tooltip--pointFormatter","fullname":"plotOptions.solidgauge.tooltip.pointFormatter","title":"pointFormatter","parent":"plotOptions-solidgauge-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--pointFormatter","fullname":"series.tooltip.pointFormatter","title":"pointFormatter","parent":"series-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--pointFormatter","fullname":"series.tooltip.pointFormatter","title":"pointFormatter","parent":"series-tooltip","isParent":false,"returnType":"Function","context":"Point","defaults":"","values":"","since":"4.1.0","description":"A callback function for formatting the HTML output for a single point in the tooltip. Like the pointFormat string, but with more flexibility.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-waterfall--pointInterval","fullname":"plotOptions.waterfall.pointInterval","title":"pointInterval","parent":"plotOptions-waterfall","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"plotOptions-areaspline--pointInterval","fullname":"plotOptions.areaspline.pointInterval","title":"pointInterval","parent":"plotOptions-areaspline","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"series--pointInterval","fullname":"series.pointInterval","title":"pointInterval","parent":"series","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"plotOptions-bubble--pointInterval","fullname":"plotOptions.bubble.pointInterval","title":"pointInterval","parent":"plotOptions-bubble","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"series--pointInterval","fullname":"series.pointInterval","title":"pointInterval","parent":"series","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"series--pointInterval","fullname":"series.pointInterval","title":"pointInterval","parent":"series","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"plotOptions-scatter--pointInterval","fullname":"plotOptions.scatter.pointInterval","title":"pointInterval","parent":"plotOptions-scatter","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"plotOptions-columnrange--pointInterval","fullname":"plotOptions.columnrange.pointInterval","title":"pointInterval","parent":"plotOptions-columnrange","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"plotOptions-boxplot--pointInterval","fullname":"plotOptions.boxplot.pointInterval","title":"pointInterval","parent":"plotOptions-boxplot","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"series--pointInterval","fullname":"series.pointInterval","title":"pointInterval","parent":"series","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"series--pointInterval","fullname":"series.pointInterval","title":"pointInterval","parent":"series","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"plotOptions-series--pointInterval","fullname":"plotOptions.series.pointInterval","title":"pointInterval","parent":"plotOptions-series","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"plotOptions-areasplinerange--pointInterval","fullname":"plotOptions.areasplinerange.pointInterval","title":"pointInterval","parent":"plotOptions-areasplinerange","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"plotOptions-column--pointInterval","fullname":"plotOptions.column.pointInterval","title":"pointInterval","parent":"plotOptions-column","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"series--pointInterval","fullname":"series.pointInterval","title":"pointInterval","parent":"series","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"series--pointInterval","fullname":"series.pointInterval","title":"pointInterval","parent":"series","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"plotOptions-arearange--pointInterval","fullname":"plotOptions.arearange.pointInterval","title":"pointInterval","parent":"plotOptions-arearange","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"series--pointInterval","fullname":"series.pointInterval","title":"pointInterval","parent":"series","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"plotOptions-spline--pointInterval","fullname":"plotOptions.spline.pointInterval","title":"pointInterval","parent":"plotOptions-spline","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"series--pointInterval","fullname":"series.pointInterval","title":"pointInterval","parent":"series","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"series--pointInterval","fullname":"series.pointInterval","title":"pointInterval","parent":"series","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"series--pointInterval","fullname":"series.pointInterval","title":"pointInterval","parent":"series","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"series--pointInterval","fullname":"series.pointInterval","title":"pointInterval","parent":"series","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"plotOptions-errorbar--pointInterval","fullname":"plotOptions.errorbar.pointInterval","title":"pointInterval","parent":"plotOptions-errorbar","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"plotOptions-bar--pointInterval","fullname":"plotOptions.bar.pointInterval","title":"pointInterval","parent":"plotOptions-bar","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"plotOptions-area--pointInterval","fullname":"plotOptions.area.pointInterval","title":"pointInterval","parent":"plotOptions-area","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"series--pointInterval","fullname":"series.pointInterval","title":"pointInterval","parent":"series","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"plotOptions-line--pointInterval","fullname":"plotOptions.line.pointInterval","title":"pointInterval","parent":"plotOptions-line","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"plotOptions-polygon--pointInterval","fullname":"plotOptions.polygon.pointInterval","title":"pointInterval","parent":"plotOptions-polygon","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"series--pointInterval","fullname":"series.pointInterval","title":"pointInterval","parent":"series","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"series--pointInterval","fullname":"series.pointInterval","title":"pointInterval","parent":"series","isParent":false,"returnType":"Number","defaults":"1","description":"

If no x values are given for the points in a series, pointInterval defines\r\n the interval of the x values. For example, if a series contains one value\r\n every decade starting from year 0, set pointInterval to 10.

\r\n

Since Highcharts 4.1, it can be combined with pointIntervalUnit to draw irregular intervals.

","demo":"Datetime X axis","deprecated":false},{"name":"plotOptions-bubble--pointIntervalUnit","fullname":"plotOptions.bubble.pointIntervalUnit","title":"pointIntervalUnit","parent":"plotOptions-bubble","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"plotOptions-columnrange--pointIntervalUnit","fullname":"plotOptions.columnrange.pointIntervalUnit","title":"pointIntervalUnit","parent":"plotOptions-columnrange","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"plotOptions-arearange--pointIntervalUnit","fullname":"plotOptions.arearange.pointIntervalUnit","title":"pointIntervalUnit","parent":"plotOptions-arearange","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"plotOptions-series--pointIntervalUnit","fullname":"plotOptions.series.pointIntervalUnit","title":"pointIntervalUnit","parent":"plotOptions-series","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"plotOptions-line--pointIntervalUnit","fullname":"plotOptions.line.pointIntervalUnit","title":"pointIntervalUnit","parent":"plotOptions-line","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"series--pointIntervalUnit","fullname":"series.pointIntervalUnit","title":"pointIntervalUnit","parent":"series","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"plotOptions-areaspline--pointIntervalUnit","fullname":"plotOptions.areaspline.pointIntervalUnit","title":"pointIntervalUnit","parent":"plotOptions-areaspline","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"series--pointIntervalUnit","fullname":"series.pointIntervalUnit","title":"pointIntervalUnit","parent":"series","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"plotOptions-areasplinerange--pointIntervalUnit","fullname":"plotOptions.areasplinerange.pointIntervalUnit","title":"pointIntervalUnit","parent":"plotOptions-areasplinerange","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"series--pointIntervalUnit","fullname":"series.pointIntervalUnit","title":"pointIntervalUnit","parent":"series","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"series--pointIntervalUnit","fullname":"series.pointIntervalUnit","title":"pointIntervalUnit","parent":"series","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"series--pointIntervalUnit","fullname":"series.pointIntervalUnit","title":"pointIntervalUnit","parent":"series","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"series--pointIntervalUnit","fullname":"series.pointIntervalUnit","title":"pointIntervalUnit","parent":"series","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"plotOptions-column--pointIntervalUnit","fullname":"plotOptions.column.pointIntervalUnit","title":"pointIntervalUnit","parent":"plotOptions-column","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"series--pointIntervalUnit","fullname":"series.pointIntervalUnit","title":"pointIntervalUnit","parent":"series","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"plotOptions-waterfall--pointIntervalUnit","fullname":"plotOptions.waterfall.pointIntervalUnit","title":"pointIntervalUnit","parent":"plotOptions-waterfall","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"series--pointIntervalUnit","fullname":"series.pointIntervalUnit","title":"pointIntervalUnit","parent":"series","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"plotOptions-bar--pointIntervalUnit","fullname":"plotOptions.bar.pointIntervalUnit","title":"pointIntervalUnit","parent":"plotOptions-bar","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"plotOptions-scatter--pointIntervalUnit","fullname":"plotOptions.scatter.pointIntervalUnit","title":"pointIntervalUnit","parent":"plotOptions-scatter","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"series--pointIntervalUnit","fullname":"series.pointIntervalUnit","title":"pointIntervalUnit","parent":"series","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"plotOptions-polygon--pointIntervalUnit","fullname":"plotOptions.polygon.pointIntervalUnit","title":"pointIntervalUnit","parent":"plotOptions-polygon","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"series--pointIntervalUnit","fullname":"series.pointIntervalUnit","title":"pointIntervalUnit","parent":"series","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"plotOptions-errorbar--pointIntervalUnit","fullname":"plotOptions.errorbar.pointIntervalUnit","title":"pointIntervalUnit","parent":"plotOptions-errorbar","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"series--pointIntervalUnit","fullname":"series.pointIntervalUnit","title":"pointIntervalUnit","parent":"series","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"plotOptions-area--pointIntervalUnit","fullname":"plotOptions.area.pointIntervalUnit","title":"pointIntervalUnit","parent":"plotOptions-area","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"series--pointIntervalUnit","fullname":"series.pointIntervalUnit","title":"pointIntervalUnit","parent":"series","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"plotOptions-spline--pointIntervalUnit","fullname":"plotOptions.spline.pointIntervalUnit","title":"pointIntervalUnit","parent":"plotOptions-spline","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"series--pointIntervalUnit","fullname":"series.pointIntervalUnit","title":"pointIntervalUnit","parent":"series","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"plotOptions-boxplot--pointIntervalUnit","fullname":"plotOptions.boxplot.pointIntervalUnit","title":"pointIntervalUnit","parent":"plotOptions-boxplot","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"series--pointIntervalUnit","fullname":"series.pointIntervalUnit","title":"pointIntervalUnit","parent":"series","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"series--pointIntervalUnit","fullname":"series.pointIntervalUnit","title":"pointIntervalUnit","parent":"series","isParent":false,"returnType":"String","values":"[null, \"month\", \"year\"]","since":"4.1.0","description":"On datetime series, this allows for setting the pointInterval to the two irregular time units, month and year. Combine it with pointInterval to draw quarters, 6 months, 10 years etc.","demo":"One point a month","deprecated":false},{"name":"plotOptions-errorbar--pointPadding","fullname":"plotOptions.errorbar.pointPadding","title":"pointPadding","parent":"plotOptions-errorbar","isParent":false,"returnType":"Number","defaults":"0.1","description":"Padding between each column or bar, in x axis units.","demo":"0.1 by default, \n\t\t\t0.25, \n\t\t\t0 for tightly packed columns,"},{"name":"series--pointPadding","fullname":"series.pointPadding","title":"pointPadding","parent":"series","isParent":false,"returnType":"Number","defaults":"0.1","description":"Padding between each column or bar, in x axis units.","demo":"0.1 by default, \n\t\t\t0.25, \n\t\t\t0 for tightly packed columns,"},{"name":"series--pointPadding","fullname":"series.pointPadding","title":"pointPadding","parent":"series","isParent":false,"returnType":"Number","defaults":"0.1","description":"Padding between each column or bar, in x axis units.","demo":"0.1 by default, \n\t\t\t0.25, \n\t\t\t0 for tightly packed columns,"},{"name":"series--pointPadding","fullname":"series.pointPadding","title":"pointPadding","parent":"series","isParent":false,"returnType":"Number","defaults":"0.1","description":"Padding between each column or bar, in x axis units.","demo":"0.1 by default, \n\t\t\t0.25, \n\t\t\t0 for tightly packed columns,"},{"name":"series--pointPadding","fullname":"series.pointPadding","title":"pointPadding","parent":"series","isParent":false,"returnType":"Number","defaults":"0.1","description":"Padding between each column or bar, in x axis units.","demo":"0.1 by default, \n\t\t\t0.25, \n\t\t\t0 for tightly packed columns,"},{"name":"series--pointPadding","fullname":"series.pointPadding","title":"pointPadding","parent":"series","isParent":false,"returnType":"Number","defaults":"0.1","description":"Padding between each column or bar, in x axis units.","demo":"0.1 by default, \n\t\t\t0.25, \n\t\t\t0 for tightly packed columns,"},{"name":"plotOptions-waterfall--pointPadding","fullname":"plotOptions.waterfall.pointPadding","title":"pointPadding","parent":"plotOptions-waterfall","isParent":false,"returnType":"Number","defaults":"0.1","description":"Padding between each column or bar, in x axis units.","demo":"0.1 by default, \n\t\t\t0.25, \n\t\t\t0 for tightly packed columns,"},{"name":"plotOptions-boxplot--pointPadding","fullname":"plotOptions.boxplot.pointPadding","title":"pointPadding","parent":"plotOptions-boxplot","isParent":false,"returnType":"Number","defaults":"0.1","description":"Padding between each column or bar, in x axis units.","demo":"0.1 by default, \n\t\t\t0.25, \n\t\t\t0 for tightly packed columns,"},{"name":"plotOptions-bar--pointPadding","fullname":"plotOptions.bar.pointPadding","title":"pointPadding","parent":"plotOptions-bar","isParent":false,"returnType":"Number","defaults":"0.1","description":"Padding between each column or bar, in x axis units.","demo":"0.1 by default, \n\t\t\t0.25, \n\t\t\t0 for tightly packed columns,"},{"name":"series--pointPadding","fullname":"series.pointPadding","title":"pointPadding","parent":"series","isParent":false,"returnType":"Number","defaults":"0.1","description":"Padding between each column or bar, in x axis units.","demo":"0.1 by default, \n\t\t\t0.25, \n\t\t\t0 for tightly packed columns,"},{"name":"plotOptions-columnrange--pointPadding","fullname":"plotOptions.columnrange.pointPadding","title":"pointPadding","parent":"plotOptions-columnrange","isParent":false,"returnType":"Number","defaults":"0.1","description":"Padding between each column or bar, in x axis units.","demo":"0.1 by default, \n\t\t\t0.25, \n\t\t\t0 for tightly packed columns,"},{"name":"plotOptions-column--pointPadding","fullname":"plotOptions.column.pointPadding","title":"pointPadding","parent":"plotOptions-column","isParent":false,"returnType":"Number","defaults":"0.1","description":"Padding between each column or bar, in x axis units.","demo":"0.1 by default, \n\t\t\t0.25, \n\t\t\t0 for tightly packed columns,"},{"name":"plotOptions-arearange--pointPlacement","fullname":"plotOptions.arearange.pointPlacement","title":"pointPlacement","parent":"plotOptions-arearange","isParent":false,"returnType":"String|Number","values":"[null, \"on\", \"between\"]","since":"2.3.0","description":"

Possible values: null, \"on\", \"between\".

\r\n

In a column chart, when pointPlacement is \"on\", the point will not create any padding of the X axis. In a polar column chart this means that the first column points directly north. If the pointPlacement is \"between\", the columns will be laid out between ticks. This is useful for example for visualising an amount between two points in time or in a certain sector of a polar chart.

\r\n

Since Highcharts 3.0.2, the point placement can also be numeric, where 0 is on the axis value, -0.5 is between this value and the previous, and 0.5 is between this value and the next. Unlike the textual options, numeric point placement options won't affect axis padding.

\r\n

Note that pointPlacement needs a pointRange to work. For column series this is computed, but for line-type series it needs to be set.

\r\n

Defaults to null in cartesian charts, \"between\" in polar charts.","demo":"Between in a column chart, numeric placement for custom layout.","seeAlso":"xAxis.tickmarkPlacement","deprecated":false},{"name":"plotOptions-series--pointPlacement","fullname":"plotOptions.series.pointPlacement","title":"pointPlacement","parent":"plotOptions-series","isParent":false,"returnType":"String|Number","values":"[null, \"on\", \"between\"]","since":"2.3.0","description":"

Possible values: null, \"on\", \"between\".

\r\n

In a column chart, when pointPlacement is \"on\", the point will not create any padding of the X axis. In a polar column chart this means that the first column points directly north. If the pointPlacement is \"between\", the columns will be laid out between ticks. This is useful for example for visualising an amount between two points in time or in a certain sector of a polar chart.

\r\n

Since Highcharts 3.0.2, the point placement can also be numeric, where 0 is on the axis value, -0.5 is between this value and the previous, and 0.5 is between this value and the next. Unlike the textual options, numeric point placement options won't affect axis padding.

\r\n

Note that pointPlacement needs a pointRange to work. For column series this is computed, but for line-type series it needs to be set.

\r\n

Defaults to null in cartesian charts, \"between\" in polar charts.","demo":"Between in a column chart, numeric placement for custom layout.","seeAlso":"xAxis.tickmarkPlacement","deprecated":false},{"name":"plotOptions-areaspline--pointPlacement","fullname":"plotOptions.areaspline.pointPlacement","title":"pointPlacement","parent":"plotOptions-areaspline","isParent":false,"returnType":"String|Number","values":"[null, \"on\", \"between\"]","since":"2.3.0","description":"

Possible values: null, \"on\", \"between\".

\r\n

In a column chart, when pointPlacement is \"on\", the point will not create any padding of the X axis. In a polar column chart this means that the first column points directly north. If the pointPlacement is \"between\", the columns will be laid out between ticks. This is useful for example for visualising an amount between two points in time or in a certain sector of a polar chart.

\r\n

Since Highcharts 3.0.2, the point placement can also be numeric, where 0 is on the axis value, -0.5 is between this value and the previous, and 0.5 is between this value and the next. Unlike the textual options, numeric point placement options won't affect axis padding.

\r\n

Note that pointPlacement needs a pointRange to work. For column series this is computed, but for line-type series it needs to be set.

\r\n

Defaults to null in cartesian charts, \"between\" in polar charts.","demo":"Between in a column chart, numeric placement for custom layout.","seeAlso":"xAxis.tickmarkPlacement","deprecated":false},{"name":"series--pointPlacement","fullname":"series.pointPlacement","title":"pointPlacement","parent":"series","isParent":false,"returnType":"String|Number","values":"[null, \"on\", \"between\"]","since":"2.3.0","description":"

Possible values: null, \"on\", \"between\".

\r\n

In a column chart, when pointPlacement is \"on\", the point will not create any padding of the X axis. In a polar column chart this means that the first column points directly north. If the pointPlacement is \"between\", the columns will be laid out between ticks. This is useful for example for visualising an amount between two points in time or in a certain sector of a polar chart.

\r\n

Since Highcharts 3.0.2, the point placement can also be numeric, where 0 is on the axis value, -0.5 is between this value and the previous, and 0.5 is between this value and the next. Unlike the textual options, numeric point placement options won't affect axis padding.

\r\n

Note that pointPlacement needs a pointRange to work. For column series this is computed, but for line-type series it needs to be set.

\r\n

Defaults to null in cartesian charts, \"between\" in polar charts.","demo":"Between in a column chart, numeric placement for custom layout.","seeAlso":"xAxis.tickmarkPlacement","deprecated":false},{"name":"plotOptions-areasplinerange--pointPlacement","fullname":"plotOptions.areasplinerange.pointPlacement","title":"pointPlacement","parent":"plotOptions-areasplinerange","isParent":false,"returnType":"String|Number","values":"[null, \"on\", \"between\"]","since":"2.3.0","description":"

Possible values: null, \"on\", \"between\".

\r\n

In a column chart, when pointPlacement is \"on\", the point will not create any padding of the X axis. In a polar column chart this means that the first column points directly north. If the pointPlacement is \"between\", the columns will be laid out between ticks. This is useful for example for visualising an amount between two points in time or in a certain sector of a polar chart.

\r\n

Since Highcharts 3.0.2, the point placement can also be numeric, where 0 is on the axis value, -0.5 is between this value and the previous, and 0.5 is between this value and the next. Unlike the textual options, numeric point placement options won't affect axis padding.

\r\n

Note that pointPlacement needs a pointRange to work. For column series this is computed, but for line-type series it needs to be set.

\r\n

Defaults to null in cartesian charts, \"between\" in polar charts.","demo":"Between in a column chart, numeric placement for custom layout.","seeAlso":"xAxis.tickmarkPlacement","deprecated":false},{"name":"plotOptions-area--pointPlacement","fullname":"plotOptions.area.pointPlacement","title":"pointPlacement","parent":"plotOptions-area","isParent":false,"returnType":"String|Number","values":"[null, \"on\", \"between\"]","since":"2.3.0","description":"

Possible values: null, \"on\", \"between\".

\r\n

In a column chart, when pointPlacement is \"on\", the point will not create any padding of the X axis. In a polar column chart this means that the first column points directly north. If the pointPlacement is \"between\", the columns will be laid out between ticks. This is useful for example for visualising an amount between two points in time or in a certain sector of a polar chart.

\r\n

Since Highcharts 3.0.2, the point placement can also be numeric, where 0 is on the axis value, -0.5 is between this value and the previous, and 0.5 is between this value and the next. Unlike the textual options, numeric point placement options won't affect axis padding.

\r\n

Note that pointPlacement needs a pointRange to work. For column series this is computed, but for line-type series it needs to be set.

\r\n

Defaults to null in cartesian charts, \"between\" in polar charts.","demo":"Between in a column chart, numeric placement for custom layout.","seeAlso":"xAxis.tickmarkPlacement","deprecated":false},{"name":"plotOptions-boxplot--pointPlacement","fullname":"plotOptions.boxplot.pointPlacement","title":"pointPlacement","parent":"plotOptions-boxplot","isParent":false,"returnType":"String|Number","values":"[null, \"on\", \"between\"]","since":"2.3.0","description":"

Possible values: null, \"on\", \"between\".

\r\n

In a column chart, when pointPlacement is \"on\", the point will not create any padding of the X axis. In a polar column chart this means that the first column points directly north. If the pointPlacement is \"between\", the columns will be laid out between ticks. This is useful for example for visualising an amount between two points in time or in a certain sector of a polar chart.

\r\n

Since Highcharts 3.0.2, the point placement can also be numeric, where 0 is on the axis value, -0.5 is between this value and the previous, and 0.5 is between this value and the next. Unlike the textual options, numeric point placement options won't affect axis padding.

\r\n

Note that pointPlacement needs a pointRange to work. For column series this is computed, but for line-type series it needs to be set.

\r\n

Defaults to null in cartesian charts, \"between\" in polar charts.","demo":"Between in a column chart, numeric placement for custom layout.","seeAlso":"xAxis.tickmarkPlacement","deprecated":false},{"name":"series--pointPlacement","fullname":"series.pointPlacement","title":"pointPlacement","parent":"series","isParent":false,"returnType":"String|Number","values":"[null, \"on\", \"between\"]","since":"2.3.0","description":"

Possible values: null, \"on\", \"between\".

\r\n

In a column chart, when pointPlacement is \"on\", the point will not create any padding of the X axis. In a polar column chart this means that the first column points directly north. If the pointPlacement is \"between\", the columns will be laid out between ticks. This is useful for example for visualising an amount between two points in time or in a certain sector of a polar chart.

\r\n

Since Highcharts 3.0.2, the point placement can also be numeric, where 0 is on the axis value, -0.5 is between this value and the previous, and 0.5 is between this value and the next. Unlike the textual options, numeric point placement options won't affect axis padding.

\r\n

Note that pointPlacement needs a pointRange to work. For column series this is computed, but for line-type series it needs to be set.

\r\n

Defaults to null in cartesian charts, \"between\" in polar charts.","demo":"Between in a column chart, numeric placement for custom layout.","seeAlso":"xAxis.tickmarkPlacement","deprecated":false},{"name":"series--pointPlacement","fullname":"series.pointPlacement","title":"pointPlacement","parent":"series","isParent":false,"returnType":"String|Number","values":"[null, \"on\", \"between\"]","since":"2.3.0","description":"

Possible values: null, \"on\", \"between\".

\r\n

In a column chart, when pointPlacement is \"on\", the point will not create any padding of the X axis. In a polar column chart this means that the first column points directly north. If the pointPlacement is \"between\", the columns will be laid out between ticks. This is useful for example for visualising an amount between two points in time or in a certain sector of a polar chart.

\r\n

Since Highcharts 3.0.2, the point placement can also be numeric, where 0 is on the axis value, -0.5 is between this value and the previous, and 0.5 is between this value and the next. Unlike the textual options, numeric point placement options won't affect axis padding.

\r\n

Note that pointPlacement needs a pointRange to work. For column series this is computed, but for line-type series it needs to be set.

\r\n

Defaults to null in cartesian charts, \"between\" in polar charts.","demo":"Between in a column chart, numeric placement for custom layout.","seeAlso":"xAxis.tickmarkPlacement","deprecated":false},{"name":"series--pointPlacement","fullname":"series.pointPlacement","title":"pointPlacement","parent":"series","isParent":false,"returnType":"String|Number","values":"[null, \"on\", \"between\"]","since":"2.3.0","description":"

Possible values: null, \"on\", \"between\".

\r\n

In a column chart, when pointPlacement is \"on\", the point will not create any padding of the X axis. In a polar column chart this means that the first column points directly north. If the pointPlacement is \"between\", the columns will be laid out between ticks. This is useful for example for visualising an amount between two points in time or in a certain sector of a polar chart.

\r\n

Since Highcharts 3.0.2, the point placement can also be numeric, where 0 is on the axis value, -0.5 is between this value and the previous, and 0.5 is between this value and the next. Unlike the textual options, numeric point placement options won't affect axis padding.

\r\n

Note that pointPlacement needs a pointRange to work. For column series this is computed, but for line-type series it needs to be set.

\r\n

Defaults to null in cartesian charts, \"between\" in polar charts.","demo":"Between in a column chart, numeric placement for custom layout.","seeAlso":"xAxis.tickmarkPlacement","deprecated":false},{"name":"plotOptions-line--pointPlacement","fullname":"plotOptions.line.pointPlacement","title":"pointPlacement","parent":"plotOptions-line","isParent":false,"returnType":"String|Number","values":"[null, \"on\", \"between\"]","since":"2.3.0","description":"

Possible values: null, \"on\", \"between\".

\r\n

In a column chart, when pointPlacement is \"on\", the point will not create any padding of the X axis. In a polar column chart this means that the first column points directly north. If the pointPlacement is \"between\", the columns will be laid out between ticks. This is useful for example for visualising an amount between two points in time or in a certain sector of a polar chart.

\r\n

Since Highcharts 3.0.2, the point placement can also be numeric, where 0 is on the axis value, -0.5 is between this value and the previous, and 0.5 is between this value and the next. Unlike the textual options, numeric point placement options won't affect axis padding.

\r\n

Note that pointPlacement needs a pointRange to work. For column series this is computed, but for line-type series it needs to be set.

\r\n

Defaults to null in cartesian charts, \"between\" in polar charts.","demo":"Between in a column chart, numeric placement for custom layout.","seeAlso":"xAxis.tickmarkPlacement","deprecated":false},{"name":"plotOptions-columnrange--pointPlacement","fullname":"plotOptions.columnrange.pointPlacement","title":"pointPlacement","parent":"plotOptions-columnrange","isParent":false,"returnType":"String|Number","values":"[null, \"on\", \"between\"]","since":"2.3.0","description":"

Possible values: null, \"on\", \"between\".

\r\n

In a column chart, when pointPlacement is \"on\", the point will not create any padding of the X axis. In a polar column chart this means that the first column points directly north. If the pointPlacement is \"between\", the columns will be laid out between ticks. This is useful for example for visualising an amount between two points in time or in a certain sector of a polar chart.

\r\n

Since Highcharts 3.0.2, the point placement can also be numeric, where 0 is on the axis value, -0.5 is between this value and the previous, and 0.5 is between this value and the next. Unlike the textual options, numeric point placement options won't affect axis padding.

\r\n

Note that pointPlacement needs a pointRange to work. For column series this is computed, but for line-type series it needs to be set.

\r\n

Defaults to null in cartesian charts, \"between\" in polar charts.","demo":"Between in a column chart, numeric placement for custom layout.","seeAlso":"xAxis.tickmarkPlacement","deprecated":false},{"name":"plotOptions-waterfall--pointPlacement","fullname":"plotOptions.waterfall.pointPlacement","title":"pointPlacement","parent":"plotOptions-waterfall","isParent":false,"returnType":"String|Number","values":"[null, \"on\", \"between\"]","since":"2.3.0","description":"

Possible values: null, \"on\", \"between\".

\r\n

In a column chart, when pointPlacement is \"on\", the point will not create any padding of the X axis. In a polar column chart this means that the first column points directly north. If the pointPlacement is \"between\", the columns will be laid out between ticks. This is useful for example for visualising an amount between two points in time or in a certain sector of a polar chart.

\r\n

Since Highcharts 3.0.2, the point placement can also be numeric, where 0 is on the axis value, -0.5 is between this value and the previous, and 0.5 is between this value and the next. Unlike the textual options, numeric point placement options won't affect axis padding.

\r\n

Note that pointPlacement needs a pointRange to work. For column series this is computed, but for line-type series it needs to be set.

\r\n

Defaults to null in cartesian charts, \"between\" in polar charts.","demo":"Between in a column chart, numeric placement for custom layout.","seeAlso":"xAxis.tickmarkPlacement","deprecated":false},{"name":"plotOptions-errorbar--pointPlacement","fullname":"plotOptions.errorbar.pointPlacement","title":"pointPlacement","parent":"plotOptions-errorbar","isParent":false,"returnType":"String|Number","values":"[null, \"on\", \"between\"]","since":"2.3.0","description":"

Possible values: null, \"on\", \"between\".

\r\n

In a column chart, when pointPlacement is \"on\", the point will not create any padding of the X axis. In a polar column chart this means that the first column points directly north. If the pointPlacement is \"between\", the columns will be laid out between ticks. This is useful for example for visualising an amount between two points in time or in a certain sector of a polar chart.

\r\n

Since Highcharts 3.0.2, the point placement can also be numeric, where 0 is on the axis value, -0.5 is between this value and the previous, and 0.5 is between this value and the next. Unlike the textual options, numeric point placement options won't affect axis padding.

\r\n

Note that pointPlacement needs a pointRange to work. For column series this is computed, but for line-type series it needs to be set.

\r\n

Defaults to null in cartesian charts, \"between\" in polar charts.","demo":"Between in a column chart, numeric placement for custom layout.","seeAlso":"xAxis.tickmarkPlacement","deprecated":false},{"name":"plotOptions-column--pointPlacement","fullname":"plotOptions.column.pointPlacement","title":"pointPlacement","parent":"plotOptions-column","isParent":false,"returnType":"String|Number","values":"[null, \"on\", \"between\"]","since":"2.3.0","description":"

Possible values: null, \"on\", \"between\".

\r\n

In a column chart, when pointPlacement is \"on\", the point will not create any padding of the X axis. In a polar column chart this means that the first column points directly north. If the pointPlacement is \"between\", the columns will be laid out between ticks. This is useful for example for visualising an amount between two points in time or in a certain sector of a polar chart.

\r\n

Since Highcharts 3.0.2, the point placement can also be numeric, where 0 is on the axis value, -0.5 is between this value and the previous, and 0.5 is between this value and the next. Unlike the textual options, numeric point placement options won't affect axis padding.

\r\n

Note that pointPlacement needs a pointRange to work. For column series this is computed, but for line-type series it needs to be set.

\r\n

Defaults to null in cartesian charts, \"between\" in polar charts.","demo":"Between in a column chart, numeric placement for custom layout.","seeAlso":"xAxis.tickmarkPlacement","deprecated":false},{"name":"series--pointPlacement","fullname":"series.pointPlacement","title":"pointPlacement","parent":"series","isParent":false,"returnType":"String|Number","values":"[null, \"on\", \"between\"]","since":"2.3.0","description":"

Possible values: null, \"on\", \"between\".

\r\n

In a column chart, when pointPlacement is \"on\", the point will not create any padding of the X axis. In a polar column chart this means that the first column points directly north. If the pointPlacement is \"between\", the columns will be laid out between ticks. This is useful for example for visualising an amount between two points in time or in a certain sector of a polar chart.

\r\n

Since Highcharts 3.0.2, the point placement can also be numeric, where 0 is on the axis value, -0.5 is between this value and the previous, and 0.5 is between this value and the next. Unlike the textual options, numeric point placement options won't affect axis padding.

\r\n

Note that pointPlacement needs a pointRange to work. For column series this is computed, but for line-type series it needs to be set.

\r\n

Defaults to null in cartesian charts, \"between\" in polar charts.","demo":"Between in a column chart, numeric placement for custom layout.","seeAlso":"xAxis.tickmarkPlacement","deprecated":false},{"name":"series--pointPlacement","fullname":"series.pointPlacement","title":"pointPlacement","parent":"series","isParent":false,"returnType":"String|Number","values":"[null, \"on\", \"between\"]","since":"2.3.0","description":"

Possible values: null, \"on\", \"between\".

\r\n

In a column chart, when pointPlacement is \"on\", the point will not create any padding of the X axis. In a polar column chart this means that the first column points directly north. If the pointPlacement is \"between\", the columns will be laid out between ticks. This is useful for example for visualising an amount between two points in time or in a certain sector of a polar chart.

\r\n

Since Highcharts 3.0.2, the point placement can also be numeric, where 0 is on the axis value, -0.5 is between this value and the previous, and 0.5 is between this value and the next. Unlike the textual options, numeric point placement options won't affect axis padding.

\r\n

Note that pointPlacement needs a pointRange to work. For column series this is computed, but for line-type series it needs to be set.

\r\n

Defaults to null in cartesian charts, \"between\" in polar charts.","demo":"Between in a column chart, numeric placement for custom layout.","seeAlso":"xAxis.tickmarkPlacement","deprecated":false},{"name":"plotOptions-bar--pointPlacement","fullname":"plotOptions.bar.pointPlacement","title":"pointPlacement","parent":"plotOptions-bar","isParent":false,"returnType":"String|Number","values":"[null, \"on\", \"between\"]","since":"2.3.0","description":"

Possible values: null, \"on\", \"between\".

\r\n

In a column chart, when pointPlacement is \"on\", the point will not create any padding of the X axis. In a polar column chart this means that the first column points directly north. If the pointPlacement is \"between\", the columns will be laid out between ticks. This is useful for example for visualising an amount between two points in time or in a certain sector of a polar chart.

\r\n

Since Highcharts 3.0.2, the point placement can also be numeric, where 0 is on the axis value, -0.5 is between this value and the previous, and 0.5 is between this value and the next. Unlike the textual options, numeric point placement options won't affect axis padding.

\r\n

Note that pointPlacement needs a pointRange to work. For column series this is computed, but for line-type series it needs to be set.

\r\n

Defaults to null in cartesian charts, \"between\" in polar charts.","demo":"Between in a column chart, numeric placement for custom layout.","seeAlso":"xAxis.tickmarkPlacement","deprecated":false},{"name":"plotOptions-spline--pointPlacement","fullname":"plotOptions.spline.pointPlacement","title":"pointPlacement","parent":"plotOptions-spline","isParent":false,"returnType":"String|Number","values":"[null, \"on\", \"between\"]","since":"2.3.0","description":"

Possible values: null, \"on\", \"between\".

\r\n

In a column chart, when pointPlacement is \"on\", the point will not create any padding of the X axis. In a polar column chart this means that the first column points directly north. If the pointPlacement is \"between\", the columns will be laid out between ticks. This is useful for example for visualising an amount between two points in time or in a certain sector of a polar chart.

\r\n

Since Highcharts 3.0.2, the point placement can also be numeric, where 0 is on the axis value, -0.5 is between this value and the previous, and 0.5 is between this value and the next. Unlike the textual options, numeric point placement options won't affect axis padding.

\r\n

Note that pointPlacement needs a pointRange to work. For column series this is computed, but for line-type series it needs to be set.

\r\n

Defaults to null in cartesian charts, \"between\" in polar charts.","demo":"Between in a column chart, numeric placement for custom layout.","seeAlso":"xAxis.tickmarkPlacement","deprecated":false},{"name":"series--pointPlacement","fullname":"series.pointPlacement","title":"pointPlacement","parent":"series","isParent":false,"returnType":"String|Number","values":"[null, \"on\", \"between\"]","since":"2.3.0","description":"

Possible values: null, \"on\", \"between\".

\r\n

In a column chart, when pointPlacement is \"on\", the point will not create any padding of the X axis. In a polar column chart this means that the first column points directly north. If the pointPlacement is \"between\", the columns will be laid out between ticks. This is useful for example for visualising an amount between two points in time or in a certain sector of a polar chart.

\r\n

Since Highcharts 3.0.2, the point placement can also be numeric, where 0 is on the axis value, -0.5 is between this value and the previous, and 0.5 is between this value and the next. Unlike the textual options, numeric point placement options won't affect axis padding.

\r\n

Note that pointPlacement needs a pointRange to work. For column series this is computed, but for line-type series it needs to be set.

\r\n

Defaults to null in cartesian charts, \"between\" in polar charts.","demo":"Between in a column chart, numeric placement for custom layout.","seeAlso":"xAxis.tickmarkPlacement","deprecated":false},{"name":"series--pointPlacement","fullname":"series.pointPlacement","title":"pointPlacement","parent":"series","isParent":false,"returnType":"String|Number","values":"[null, \"on\", \"between\"]","since":"2.3.0","description":"

Possible values: null, \"on\", \"between\".

\r\n

In a column chart, when pointPlacement is \"on\", the point will not create any padding of the X axis. In a polar column chart this means that the first column points directly north. If the pointPlacement is \"between\", the columns will be laid out between ticks. This is useful for example for visualising an amount between two points in time or in a certain sector of a polar chart.

\r\n

Since Highcharts 3.0.2, the point placement can also be numeric, where 0 is on the axis value, -0.5 is between this value and the previous, and 0.5 is between this value and the next. Unlike the textual options, numeric point placement options won't affect axis padding.

\r\n

Note that pointPlacement needs a pointRange to work. For column series this is computed, but for line-type series it needs to be set.

\r\n

Defaults to null in cartesian charts, \"between\" in polar charts.","demo":"Between in a column chart, numeric placement for custom layout.","seeAlso":"xAxis.tickmarkPlacement","deprecated":false},{"name":"series--pointPlacement","fullname":"series.pointPlacement","title":"pointPlacement","parent":"series","isParent":false,"returnType":"String|Number","values":"[null, \"on\", \"between\"]","since":"2.3.0","description":"

Possible values: null, \"on\", \"between\".

\r\n

In a column chart, when pointPlacement is \"on\", the point will not create any padding of the X axis. In a polar column chart this means that the first column points directly north. If the pointPlacement is \"between\", the columns will be laid out between ticks. This is useful for example for visualising an amount between two points in time or in a certain sector of a polar chart.

\r\n

Since Highcharts 3.0.2, the point placement can also be numeric, where 0 is on the axis value, -0.5 is between this value and the previous, and 0.5 is between this value and the next. Unlike the textual options, numeric point placement options won't affect axis padding.

\r\n

Note that pointPlacement needs a pointRange to work. For column series this is computed, but for line-type series it needs to be set.

\r\n

Defaults to null in cartesian charts, \"between\" in polar charts.","demo":"Between in a column chart, numeric placement for custom layout.","seeAlso":"xAxis.tickmarkPlacement","deprecated":false},{"name":"series--pointPlacement","fullname":"series.pointPlacement","title":"pointPlacement","parent":"series","isParent":false,"returnType":"String|Number","values":"[null, \"on\", \"between\"]","since":"2.3.0","description":"

Possible values: null, \"on\", \"between\".

\r\n

In a column chart, when pointPlacement is \"on\", the point will not create any padding of the X axis. In a polar column chart this means that the first column points directly north. If the pointPlacement is \"between\", the columns will be laid out between ticks. This is useful for example for visualising an amount between two points in time or in a certain sector of a polar chart.

\r\n

Since Highcharts 3.0.2, the point placement can also be numeric, where 0 is on the axis value, -0.5 is between this value and the previous, and 0.5 is between this value and the next. Unlike the textual options, numeric point placement options won't affect axis padding.

\r\n

Note that pointPlacement needs a pointRange to work. For column series this is computed, but for line-type series it needs to be set.

\r\n

Defaults to null in cartesian charts, \"between\" in polar charts.","demo":"Between in a column chart, numeric placement for custom layout.","seeAlso":"xAxis.tickmarkPlacement","deprecated":false},{"name":"series--pointPlacement","fullname":"series.pointPlacement","title":"pointPlacement","parent":"series","isParent":false,"returnType":"String|Number","values":"[null, \"on\", \"between\"]","since":"2.3.0","description":"

Possible values: null, \"on\", \"between\".

\r\n

In a column chart, when pointPlacement is \"on\", the point will not create any padding of the X axis. In a polar column chart this means that the first column points directly north. If the pointPlacement is \"between\", the columns will be laid out between ticks. This is useful for example for visualising an amount between two points in time or in a certain sector of a polar chart.

\r\n

Since Highcharts 3.0.2, the point placement can also be numeric, where 0 is on the axis value, -0.5 is between this value and the previous, and 0.5 is between this value and the next. Unlike the textual options, numeric point placement options won't affect axis padding.

\r\n

Note that pointPlacement needs a pointRange to work. For column series this is computed, but for line-type series it needs to be set.

\r\n

Defaults to null in cartesian charts, \"between\" in polar charts.","demo":"Between in a column chart, numeric placement for custom layout.","seeAlso":"xAxis.tickmarkPlacement","deprecated":false},{"name":"series--pointPlacement","fullname":"series.pointPlacement","title":"pointPlacement","parent":"series","isParent":false,"returnType":"String|Number","values":"[null, \"on\", \"between\"]","since":"2.3.0","description":"

Possible values: null, \"on\", \"between\".

\r\n

In a column chart, when pointPlacement is \"on\", the point will not create any padding of the X axis. In a polar column chart this means that the first column points directly north. If the pointPlacement is \"between\", the columns will be laid out between ticks. This is useful for example for visualising an amount between two points in time or in a certain sector of a polar chart.

\r\n

Since Highcharts 3.0.2, the point placement can also be numeric, where 0 is on the axis value, -0.5 is between this value and the previous, and 0.5 is between this value and the next. Unlike the textual options, numeric point placement options won't affect axis padding.

\r\n

Note that pointPlacement needs a pointRange to work. For column series this is computed, but for line-type series it needs to be set.

\r\n

Defaults to null in cartesian charts, \"between\" in polar charts.","demo":"Between in a column chart, numeric placement for custom layout.","seeAlso":"xAxis.tickmarkPlacement","deprecated":false},{"name":"plotOptions-columnrange--pointRange","fullname":"plotOptions.columnrange.pointRange","title":"pointRange","parent":"plotOptions-columnrange","isParent":false,"returnType":"Number","since":"2.3","description":"The X axis range that each point is valid for. This determines the width of the column. On a categorized axis, the range will be 1 by default (one category unit). On linear and datetime axes, the range will be computed as the distance between the two closest data points.","demo":"Set the point range to one day on a data set with one week between the points","seeAlso":"","deprecated":false},{"name":"series--pointRange","fullname":"series.pointRange","title":"pointRange","parent":"series","isParent":false,"returnType":"Number","since":"2.3","description":"The X axis range that each point is valid for. This determines the width of the column. On a categorized axis, the range will be 1 by default (one category unit). On linear and datetime axes, the range will be computed as the distance between the two closest data points.","demo":"Set the point range to one day on a data set with one week between the points","seeAlso":"","deprecated":false},{"name":"series--pointRange","fullname":"series.pointRange","title":"pointRange","parent":"series","isParent":false,"returnType":"Number","since":"2.3","description":"The X axis range that each point is valid for. This determines the width of the column. On a categorized axis, the range will be 1 by default (one category unit). On linear and datetime axes, the range will be computed as the distance between the two closest data points.","demo":"Set the point range to one day on a data set with one week between the points","seeAlso":"","deprecated":false},{"name":"plotOptions-column--pointRange","fullname":"plotOptions.column.pointRange","title":"pointRange","parent":"plotOptions-column","isParent":false,"returnType":"Number","since":"2.3","description":"The X axis range that each point is valid for. This determines the width of the column. On a categorized axis, the range will be 1 by default (one category unit). On linear and datetime axes, the range will be computed as the distance between the two closest data points.","demo":"Set the point range to one day on a data set with one week between the points","seeAlso":"","deprecated":false},{"name":"plotOptions-waterfall--pointRange","fullname":"plotOptions.waterfall.pointRange","title":"pointRange","parent":"plotOptions-waterfall","isParent":false,"returnType":"Number","since":"2.3","description":"The X axis range that each point is valid for. This determines the width of the column. On a categorized axis, the range will be 1 by default (one category unit). On linear and datetime axes, the range will be computed as the distance between the two closest data points.","demo":"Set the point range to one day on a data set with one week between the points","seeAlso":"","deprecated":false},{"name":"series--pointRange","fullname":"series.pointRange","title":"pointRange","parent":"series","isParent":false,"returnType":"Number","since":"2.3","description":"The X axis range that each point is valid for. This determines the width of the column. On a categorized axis, the range will be 1 by default (one category unit). On linear and datetime axes, the range will be computed as the distance between the two closest data points.","demo":"Set the point range to one day on a data set with one week between the points","seeAlso":"","deprecated":false},{"name":"series--pointRange","fullname":"series.pointRange","title":"pointRange","parent":"series","isParent":false,"returnType":"Number","since":"2.3","description":"The X axis range that each point is valid for. This determines the width of the column. On a categorized axis, the range will be 1 by default (one category unit). On linear and datetime axes, the range will be computed as the distance between the two closest data points.","demo":"Set the point range to one day on a data set with one week between the points","seeAlso":"","deprecated":false},{"name":"series--pointRange","fullname":"series.pointRange","title":"pointRange","parent":"series","isParent":false,"returnType":"Number","since":"2.3","description":"The X axis range that each point is valid for. This determines the width of the column. On a categorized axis, the range will be 1 by default (one category unit). On linear and datetime axes, the range will be computed as the distance between the two closest data points.","demo":"Set the point range to one day on a data set with one week between the points","seeAlso":"","deprecated":false},{"name":"plotOptions-boxplot--pointRange","fullname":"plotOptions.boxplot.pointRange","title":"pointRange","parent":"plotOptions-boxplot","isParent":false,"returnType":"Number","since":"2.3","description":"The X axis range that each point is valid for. This determines the width of the column. On a categorized axis, the range will be 1 by default (one category unit). On linear and datetime axes, the range will be computed as the distance between the two closest data points.","demo":"Set the point range to one day on a data set with one week between the points","seeAlso":"","deprecated":false},{"name":"plotOptions-bar--pointRange","fullname":"plotOptions.bar.pointRange","title":"pointRange","parent":"plotOptions-bar","isParent":false,"returnType":"Number","since":"2.3","description":"The X axis range that each point is valid for. This determines the width of the column. On a categorized axis, the range will be 1 by default (one category unit). On linear and datetime axes, the range will be computed as the distance between the two closest data points.","demo":"Set the point range to one day on a data set with one week between the points","seeAlso":"","deprecated":false},{"name":"series--pointRange","fullname":"series.pointRange","title":"pointRange","parent":"series","isParent":false,"returnType":"Number","since":"2.3","description":"The X axis range that each point is valid for. This determines the width of the column. On a categorized axis, the range will be 1 by default (one category unit). On linear and datetime axes, the range will be computed as the distance between the two closest data points.","demo":"Set the point range to one day on a data set with one week between the points","seeAlso":"","deprecated":false},{"name":"plotOptions-errorbar--pointRange","fullname":"plotOptions.errorbar.pointRange","title":"pointRange","parent":"plotOptions-errorbar","isParent":false,"returnType":"Number","since":"2.3","description":"The X axis range that each point is valid for. This determines the width of the column. On a categorized axis, the range will be 1 by default (one category unit). On linear and datetime axes, the range will be computed as the distance between the two closest data points.","demo":"Set the point range to one day on a data set with one week between the points","seeAlso":"","deprecated":false},{"name":"plotOptions-areasplinerange--pointStart","fullname":"plotOptions.areasplinerange.pointStart","title":"pointStart","parent":"plotOptions-areasplinerange","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"series--pointStart","fullname":"series.pointStart","title":"pointStart","parent":"series","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"plotOptions-series--pointStart","fullname":"plotOptions.series.pointStart","title":"pointStart","parent":"plotOptions-series","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"plotOptions-errorbar--pointStart","fullname":"plotOptions.errorbar.pointStart","title":"pointStart","parent":"plotOptions-errorbar","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"plotOptions-bar--pointStart","fullname":"plotOptions.bar.pointStart","title":"pointStart","parent":"plotOptions-bar","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"series--pointStart","fullname":"series.pointStart","title":"pointStart","parent":"series","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"series--pointStart","fullname":"series.pointStart","title":"pointStart","parent":"series","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"series--pointStart","fullname":"series.pointStart","title":"pointStart","parent":"series","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"plotOptions-area--pointStart","fullname":"plotOptions.area.pointStart","title":"pointStart","parent":"plotOptions-area","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"series--pointStart","fullname":"series.pointStart","title":"pointStart","parent":"series","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"series--pointStart","fullname":"series.pointStart","title":"pointStart","parent":"series","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"series--pointStart","fullname":"series.pointStart","title":"pointStart","parent":"series","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"plotOptions-scatter--pointStart","fullname":"plotOptions.scatter.pointStart","title":"pointStart","parent":"plotOptions-scatter","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"series--pointStart","fullname":"series.pointStart","title":"pointStart","parent":"series","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"series--pointStart","fullname":"series.pointStart","title":"pointStart","parent":"series","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"plotOptions-column--pointStart","fullname":"plotOptions.column.pointStart","title":"pointStart","parent":"plotOptions-column","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"series--pointStart","fullname":"series.pointStart","title":"pointStart","parent":"series","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"plotOptions-areaspline--pointStart","fullname":"plotOptions.areaspline.pointStart","title":"pointStart","parent":"plotOptions-areaspline","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"series--pointStart","fullname":"series.pointStart","title":"pointStart","parent":"series","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"series--pointStart","fullname":"series.pointStart","title":"pointStart","parent":"series","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"plotOptions-line--pointStart","fullname":"plotOptions.line.pointStart","title":"pointStart","parent":"plotOptions-line","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"plotOptions-arearange--pointStart","fullname":"plotOptions.arearange.pointStart","title":"pointStart","parent":"plotOptions-arearange","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"plotOptions-columnrange--pointStart","fullname":"plotOptions.columnrange.pointStart","title":"pointStart","parent":"plotOptions-columnrange","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"series--pointStart","fullname":"series.pointStart","title":"pointStart","parent":"series","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"series--pointStart","fullname":"series.pointStart","title":"pointStart","parent":"series","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"plotOptions-bubble--pointStart","fullname":"plotOptions.bubble.pointStart","title":"pointStart","parent":"plotOptions-bubble","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"plotOptions-waterfall--pointStart","fullname":"plotOptions.waterfall.pointStart","title":"pointStart","parent":"plotOptions-waterfall","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"series--pointStart","fullname":"series.pointStart","title":"pointStart","parent":"series","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"plotOptions-boxplot--pointStart","fullname":"plotOptions.boxplot.pointStart","title":"pointStart","parent":"plotOptions-boxplot","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"plotOptions-polygon--pointStart","fullname":"plotOptions.polygon.pointStart","title":"pointStart","parent":"plotOptions-polygon","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"plotOptions-spline--pointStart","fullname":"plotOptions.spline.pointStart","title":"pointStart","parent":"plotOptions-spline","isParent":false,"returnType":"Number","defaults":"0","description":"If no x values are given for the points in a series, pointStart defines on what value to start. For example, if a series contains one yearly value starting from 1945, set pointStart to 1945.","demo":"Linear,\n\t\t\tdatetime X axis"},{"name":"plotOptions-boxplot--pointWidth","fullname":"plotOptions.boxplot.pointWidth","title":"pointWidth","parent":"plotOptions-boxplot","isParent":false,"returnType":"Number","since":"1.2.5","description":"A pixel value specifying a fixed width for each column or bar. When null, the width is calculated from the pointPadding and groupPadding.","demo":"20px wide columns regardless of chart width\n\t\t\tor the amount of data points"},{"name":"plotOptions-column--pointWidth","fullname":"plotOptions.column.pointWidth","title":"pointWidth","parent":"plotOptions-column","isParent":false,"returnType":"Number","since":"1.2.5","description":"A pixel value specifying a fixed width for each column or bar. When null, the width is calculated from the pointPadding and groupPadding.","demo":"20px wide columns regardless of chart width\n\t\t\tor the amount of data points"},{"name":"series--pointWidth","fullname":"series.pointWidth","title":"pointWidth","parent":"series","isParent":false,"returnType":"Number","since":"1.2.5","description":"A pixel value specifying a fixed width for each column or bar. When null, the width is calculated from the pointPadding and groupPadding.","demo":"20px wide columns regardless of chart width\n\t\t\tor the amount of data points"},{"name":"plotOptions-columnrange--pointWidth","fullname":"plotOptions.columnrange.pointWidth","title":"pointWidth","parent":"plotOptions-columnrange","isParent":false,"returnType":"Number","since":"1.2.5","description":"A pixel value specifying a fixed width for each column or bar. When null, the width is calculated from the pointPadding and groupPadding.","demo":"20px wide columns regardless of chart width\n\t\t\tor the amount of data points"},{"name":"series--pointWidth","fullname":"series.pointWidth","title":"pointWidth","parent":"series","isParent":false,"returnType":"Number","since":"1.2.5","description":"A pixel value specifying a fixed width for each column or bar. When null, the width is calculated from the pointPadding and groupPadding.","demo":"20px wide columns regardless of chart width\n\t\t\tor the amount of data points"},{"name":"plotOptions-errorbar--pointWidth","fullname":"plotOptions.errorbar.pointWidth","title":"pointWidth","parent":"plotOptions-errorbar","isParent":false,"returnType":"Number","since":"1.2.5","description":"A pixel value specifying a fixed width for each column or bar. When null, the width is calculated from the pointPadding and groupPadding.","demo":"20px wide columns regardless of chart width\n\t\t\tor the amount of data points"},{"name":"plotOptions-bar--pointWidth","fullname":"plotOptions.bar.pointWidth","title":"pointWidth","parent":"plotOptions-bar","isParent":false,"returnType":"Number","since":"1.2.5","description":"A pixel value specifying a fixed width for each column or bar. When null, the width is calculated from the pointPadding and groupPadding.","demo":"20px wide columns regardless of chart width\n\t\t\tor the amount of data points"},{"name":"series--pointWidth","fullname":"series.pointWidth","title":"pointWidth","parent":"series","isParent":false,"returnType":"Number","since":"1.2.5","description":"A pixel value specifying a fixed width for each column or bar. When null, the width is calculated from the pointPadding and groupPadding.","demo":"20px wide columns regardless of chart width\n\t\t\tor the amount of data points"},{"name":"series--pointWidth","fullname":"series.pointWidth","title":"pointWidth","parent":"series","isParent":false,"returnType":"Number","since":"1.2.5","description":"A pixel value specifying a fixed width for each column or bar. When null, the width is calculated from the pointPadding and groupPadding.","demo":"20px wide columns regardless of chart width\n\t\t\tor the amount of data points"},{"name":"series--pointWidth","fullname":"series.pointWidth","title":"pointWidth","parent":"series","isParent":false,"returnType":"Number","since":"1.2.5","description":"A pixel value specifying a fixed width for each column or bar. When null, the width is calculated from the pointPadding and groupPadding.","demo":"20px wide columns regardless of chart width\n\t\t\tor the amount of data points"},{"name":"series--pointWidth","fullname":"series.pointWidth","title":"pointWidth","parent":"series","isParent":false,"returnType":"Number","since":"1.2.5","description":"A pixel value specifying a fixed width for each column or bar. When null, the width is calculated from the pointPadding and groupPadding.","demo":"20px wide columns regardless of chart width\n\t\t\tor the amount of data points"},{"name":"plotOptions-waterfall--pointWidth","fullname":"plotOptions.waterfall.pointWidth","title":"pointWidth","parent":"plotOptions-waterfall","isParent":false,"returnType":"Number","since":"1.2.5","description":"A pixel value specifying a fixed width for each column or bar. When null, the width is calculated from the pointPadding and groupPadding.","demo":"20px wide columns regardless of chart width\n\t\t\tor the amount of data points"},{"name":"chart--polar","fullname":"chart.polar","title":"polar","parent":"chart","isParent":false,"returnType":"Boolean","defaults":"false","since":"2.3.0","description":"When true, cartesian charts like line, spline, area and column are transformed into the polar coordinate system. Requires highcharts-more.js.","demo":"Polar line, polar area, polar column, combined series types, spider chart, wind rose.","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon","fullname":"plotOptions.polygon","title":"polygon","parent":"plotOptions","isParent":true,"returnType":"Object","since":"4.1.0","description":"A polygon series can be used to draw any freeform shape in the cartesian coordinate system. A fill is applied with the color option, and stroke is applied through lineWidth and lineColor options. Requires the highcharts-more.js file.","demo":"Polygon","deprecated":false},{"name":"noData--position","fullname":"noData.position","title":"position","parent":"noData","isParent":false,"returnType":"Object","defaults":"{ \"x\": 0, \"y\": 0, \"align\": \"center\", \"verticalAlign\": \"middle\" }","values":"","since":"3.0.8","description":"The position of the no-data label, relative to the plot area. ","demo":"","seeAlso":"","deprecated":false},{"name":"credits--position","fullname":"credits.position","title":"position","parent":"credits","isParent":false,"returnType":"Object","since":"2.1","description":"Position configuration for the credits label. Supported properties are align, verticalAlign, x and y. Defaults to \r\n

position: {\r\n\talign: 'right',\r\n\tx: -10,\r\n\tverticalAlign: 'bottom',\r\n\ty: -5\r\n}
","demo":"Left aligned","deprecated":false},{"name":"drilldown-drillUpButton--position","fullname":"drilldown.drillUpButton.position","title":"position","parent":"drilldown-drillUpButton","isParent":false,"returnType":"Object","defaults":"","values":"","since":"3.0.8","description":"Positioning options for the button within the relativeTo box. Available properties are x, y, align and verticalAlign.","demo":"","seeAlso":"","deprecated":false},{"name":"chart-resetZoomButton--position","fullname":"chart.resetZoomButton.position","title":"position","parent":"chart-resetZoomButton","isParent":false,"returnType":"Object","since":"2.2","description":"The position of the button. This is an object that can hold the properties align, verticalAlign, x and y.","demo":"Above the plot area","deprecated":false},{"name":"tooltip--positioner","fullname":"tooltip.positioner","title":"positioner","parent":"tooltip","isParent":false,"returnType":"Function","since":"2.2.4","description":"

A callback function to place the tooltip in a default position. The callback receives three parameters: labelWidth, labelHeight and point, where point contains values for plotX and plotY telling where the reference point is in the plot area. Add chart.plotLeft and chart.plotTop to get the full coordinates.

\r\n\r\n

The return should be an object containing x and y values, for example { x: 100, y: 100 }.

","demo":"\r\n\t\t\t\tA fixed tooltip position","deprecated":false},{"name":"lang--printChart","fullname":"lang.printChart","title":"printChart","parent":"lang","isParent":false,"returnType":"String","defaults":"Print chart","values":"","since":"3.0.1","description":"Exporting module only. The text for the menu item to print the chart.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid","fullname":"plotOptions.pyramid","title":"pyramid","parent":"plotOptions","isParent":true,"returnType":"Object","since":"3.0.10","description":"A pyramid chart consists of a single pyramid with item heights corresponding to each point value. Technically it is the same as a reversed funnel chart without a neck.","demo":"Pyramid chart","deprecated":false},{"name":"series-data--q1","fullname":"series.data.q1","title":"q1","parent":"series-data","isParent":false,"returnType":"Number","description":"The lower quartile for each data point. This is the bottom of the box."},{"name":"series-data--q3","fullname":"series.data.q3","title":"q3","parent":"series-data","isParent":false,"returnType":"Number","description":"The higher quartile for each data point. This is the top of the box."},{"name":"series-data-marker--radius","fullname":"series.data.marker.radius","title":"radius","parent":"series-data-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"plotOptions-line-marker-states-select--radius","fullname":"plotOptions.line.marker.states.select.radius","title":"radius","parent":"plotOptions-line-marker-states-select","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults\n\t\tto the normal state's radius + 2.","demo":"10px radius for selected points"},{"name":"plotOptions-series-marker--radius","fullname":"plotOptions.series.marker.radius","title":"radius","parent":"plotOptions-series-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-data--radius","fullname":"series.data.radius","title":"radius","parent":"series-data","isParent":false,"returnType":"Number|String","context":"","defaults":"","values":"","since":"4.1.6","description":"The outer radius of an individual point in a solid gauge. Can be given as a number (pixels) or percentage string.","demo":"Individual radius and innerRadius","seeAlso":"","deprecated":false},{"name":"series-marker--radius","fullname":"series.marker.radius","title":"radius","parent":"series-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-marker-states-hover--radius","fullname":"series.marker.states.hover.radius","title":"radius","parent":"series-marker-states-hover","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults to the normal state's radius + 2 as per the radiusPlus option.","demo":"10px radius","deprecated":false},{"name":"series-states-hover-marker--radius","fullname":"series.states.hover.marker.radius","title":"radius","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"plotOptions-polygon-marker-states-select--radius","fullname":"plotOptions.polygon.marker.states.select.radius","title":"radius","parent":"plotOptions-polygon-marker-states-select","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults\n\t\tto the normal state's radius + 2.","demo":"10px radius for selected points"},{"name":"series-states-hover-marker--radius","fullname":"series.states.hover.marker.radius","title":"radius","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-data-marker-states-hover--radius","fullname":"series.data.marker.states.hover.radius","title":"radius","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults to the normal state's radius + 2 as per the radiusPlus option.","demo":"10px radius","deprecated":false},{"name":"plotOptions-bar-states-hover-marker--radius","fullname":"plotOptions.bar.states.hover.marker.radius","title":"radius","parent":"plotOptions-bar-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-marker-states-hover--radius","fullname":"series.marker.states.hover.radius","title":"radius","parent":"series-marker-states-hover","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults to the normal state's radius + 2 as per the radiusPlus option.","demo":"10px radius","deprecated":false},{"name":"plotOptions-solidgauge-states-hover-marker--radius","fullname":"plotOptions.solidgauge.states.hover.marker.radius","title":"radius","parent":"plotOptions-solidgauge-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"plotOptions-area-states-hover-marker--radius","fullname":"plotOptions.area.states.hover.marker.radius","title":"radius","parent":"plotOptions-area-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-data-marker--radius","fullname":"series.data.marker.radius","title":"radius","parent":"series-data-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-marker-states-hover--radius","fullname":"series.marker.states.hover.radius","title":"radius","parent":"series-marker-states-hover","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults to the normal state's radius + 2 as per the radiusPlus option.","demo":"10px radius","deprecated":false},{"name":"series-marker-states-select--radius","fullname":"series.marker.states.select.radius","title":"radius","parent":"series-marker-states-select","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults\n\t\tto the normal state's radius + 2.","demo":"10px radius for selected points"},{"name":"series-marker-states-select--radius","fullname":"series.marker.states.select.radius","title":"radius","parent":"series-marker-states-select","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults\n\t\tto the normal state's radius + 2.","demo":"10px radius for selected points"},{"name":"series-states-hover-marker--radius","fullname":"series.states.hover.marker.radius","title":"radius","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-states-hover-marker--radius","fullname":"series.states.hover.marker.radius","title":"radius","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"plotOptions-areaspline-marker-states-hover--radius","fullname":"plotOptions.areaspline.marker.states.hover.radius","title":"radius","parent":"plotOptions-areaspline-marker-states-hover","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults to the normal state's radius + 2 as per the radiusPlus option.","demo":"10px radius","deprecated":false},{"name":"plotOptions-spline-marker-states-hover--radius","fullname":"plotOptions.spline.marker.states.hover.radius","title":"radius","parent":"plotOptions-spline-marker-states-hover","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults to the normal state's radius + 2 as per the radiusPlus option.","demo":"10px radius","deprecated":false},{"name":"plotOptions-spline-states-hover-marker--radius","fullname":"plotOptions.spline.states.hover.marker.radius","title":"radius","parent":"plotOptions-spline-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"plotOptions-series-marker-states-hover--radius","fullname":"plotOptions.series.marker.states.hover.radius","title":"radius","parent":"plotOptions-series-marker-states-hover","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults to the normal state's radius + 2 as per the radiusPlus option.","demo":"10px radius","deprecated":false},{"name":"plotOptions-pyramid-states-hover-marker--radius","fullname":"plotOptions.pyramid.states.hover.marker.radius","title":"radius","parent":"plotOptions-pyramid-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-data-marker--radius","fullname":"series.data.marker.radius","title":"radius","parent":"series-data-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"plotOptions-gauge-states-hover-marker--radius","fullname":"plotOptions.gauge.states.hover.marker.radius","title":"radius","parent":"plotOptions-gauge-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-marker-states-select--radius","fullname":"series.marker.states.select.radius","title":"radius","parent":"series-marker-states-select","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults\n\t\tto the normal state's radius + 2.","demo":"10px radius for selected points"},{"name":"plotOptions-funnel-states-hover-marker--radius","fullname":"plotOptions.funnel.states.hover.marker.radius","title":"radius","parent":"plotOptions-funnel-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-marker-states-select--radius","fullname":"series.marker.states.select.radius","title":"radius","parent":"series-marker-states-select","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults\n\t\tto the normal state's radius + 2.","demo":"10px radius for selected points"},{"name":"series-marker-states-select--radius","fullname":"series.marker.states.select.radius","title":"radius","parent":"series-marker-states-select","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults\n\t\tto the normal state's radius + 2.","demo":"10px radius for selected points"},{"name":"plotOptions-areaspline-states-hover-marker--radius","fullname":"plotOptions.areaspline.states.hover.marker.radius","title":"radius","parent":"plotOptions-areaspline-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-data-marker-states-select--radius","fullname":"series.data.marker.states.select.radius","title":"radius","parent":"series-data-marker-states-select","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults\n\t\tto the normal state's radius + 2.","demo":"10px radius for selected points"},{"name":"plotOptions-arearange-states-hover-marker--radius","fullname":"plotOptions.arearange.states.hover.marker.radius","title":"radius","parent":"plotOptions-arearange-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-states-hover-marker--radius","fullname":"series.states.hover.marker.radius","title":"radius","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-marker-states-hover--radius","fullname":"series.marker.states.hover.radius","title":"radius","parent":"series-marker-states-hover","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults to the normal state's radius + 2 as per the radiusPlus option.","demo":"10px radius","deprecated":false},{"name":"series-states-hover-marker--radius","fullname":"series.states.hover.marker.radius","title":"radius","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-marker--radius","fullname":"series.marker.radius","title":"radius","parent":"series-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-marker-states-hover--radius","fullname":"series.marker.states.hover.radius","title":"radius","parent":"series-marker-states-hover","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults to the normal state's radius + 2 as per the radiusPlus option.","demo":"10px radius","deprecated":false},{"name":"plotOptions-boxplot-states-hover-marker--radius","fullname":"plotOptions.boxplot.states.hover.marker.radius","title":"radius","parent":"plotOptions-boxplot-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-data-marker-states-select--radius","fullname":"series.data.marker.states.select.radius","title":"radius","parent":"series-data-marker-states-select","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults\n\t\tto the normal state's radius + 2.","demo":"10px radius for selected points"},{"name":"plotOptions-waterfall-states-hover-marker--radius","fullname":"plotOptions.waterfall.states.hover.marker.radius","title":"radius","parent":"plotOptions-waterfall-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"plotOptions-columnrange-states-hover-marker--radius","fullname":"plotOptions.columnrange.states.hover.marker.radius","title":"radius","parent":"plotOptions-columnrange-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"plotOptions-areasplinerange-states-hover-marker--radius","fullname":"plotOptions.areasplinerange.states.hover.marker.radius","title":"radius","parent":"plotOptions-areasplinerange-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"plotOptions-line-marker--radius","fullname":"plotOptions.line.marker.radius","title":"radius","parent":"plotOptions-line-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"plotOptions-errorbar-states-hover-marker--radius","fullname":"plotOptions.errorbar.states.hover.marker.radius","title":"radius","parent":"plotOptions-errorbar-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-pivot--radius","fullname":"series.pivot.radius","title":"radius","parent":"series-pivot","isParent":false,"returnType":"Number","defaults":"5","since":"2.3.0","description":"The pixel radius of the pivot.","demo":"Pivot options demonstrated","seeAlso":"","deprecated":false},{"name":"series-marker--radius","fullname":"series.marker.radius","title":"radius","parent":"series-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-data-marker-states-select--radius","fullname":"series.data.marker.states.select.radius","title":"radius","parent":"series-data-marker-states-select","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults\n\t\tto the normal state's radius + 2.","demo":"10px radius for selected points"},{"name":"plotOptions-scatter-marker--radius","fullname":"plotOptions.scatter.marker.radius","title":"radius","parent":"plotOptions-scatter-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-data-marker-states-select--radius","fullname":"series.data.marker.states.select.radius","title":"radius","parent":"series-data-marker-states-select","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults\n\t\tto the normal state's radius + 2.","demo":"10px radius for selected points"},{"name":"series-data-marker-states-hover--radius","fullname":"series.data.marker.states.hover.radius","title":"radius","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults to the normal state's radius + 2 as per the radiusPlus option.","demo":"10px radius","deprecated":false},{"name":"plotOptions-column-states-hover-marker--radius","fullname":"plotOptions.column.states.hover.marker.radius","title":"radius","parent":"plotOptions-column-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-data-marker-states-hover--radius","fullname":"series.data.marker.states.hover.radius","title":"radius","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults to the normal state's radius + 2 as per the radiusPlus option.","demo":"10px radius","deprecated":false},{"name":"series-states-hover-marker--radius","fullname":"series.states.hover.marker.radius","title":"radius","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-marker-states-hover--radius","fullname":"series.marker.states.hover.radius","title":"radius","parent":"series-marker-states-hover","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults to the normal state's radius + 2 as per the radiusPlus option.","demo":"10px radius","deprecated":false},{"name":"series-states-hover-marker--radius","fullname":"series.states.hover.marker.radius","title":"radius","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"plotOptions-scatter-marker-states-select--radius","fullname":"plotOptions.scatter.marker.states.select.radius","title":"radius","parent":"plotOptions-scatter-marker-states-select","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults\n\t\tto the normal state's radius + 2.","demo":"10px radius for selected points"},{"name":"series-states-hover-marker--radius","fullname":"series.states.hover.marker.radius","title":"radius","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-marker--radius","fullname":"series.marker.radius","title":"radius","parent":"series-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-states-hover-marker--radius","fullname":"series.states.hover.marker.radius","title":"radius","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"plotOptions-treemap-states-hover-marker--radius","fullname":"plotOptions.treemap.states.hover.marker.radius","title":"radius","parent":"plotOptions-treemap-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"plotOptions-line-states-hover-marker--radius","fullname":"plotOptions.line.states.hover.marker.radius","title":"radius","parent":"plotOptions-line-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-states-hover-marker--radius","fullname":"series.states.hover.marker.radius","title":"radius","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"plotOptions-polygon-marker-states-hover--radius","fullname":"plotOptions.polygon.marker.states.hover.radius","title":"radius","parent":"plotOptions-polygon-marker-states-hover","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults to the normal state's radius + 2 as per the radiusPlus option.","demo":"10px radius","deprecated":false},{"name":"plotOptions-area-marker--radius","fullname":"plotOptions.area.marker.radius","title":"radius","parent":"plotOptions-area-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"plotOptions-gauge-pivot--radius","fullname":"plotOptions.gauge.pivot.radius","title":"radius","parent":"plotOptions-gauge-pivot","isParent":false,"returnType":"Number","defaults":"5","since":"2.3.0","description":"The pixel radius of the pivot.","demo":"Pivot options demonstrated","seeAlso":"","deprecated":false},{"name":"series-data-marker-states-select--radius","fullname":"series.data.marker.states.select.radius","title":"radius","parent":"series-data-marker-states-select","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults\n\t\tto the normal state's radius + 2.","demo":"10px radius for selected points"},{"name":"series-states-hover-marker--radius","fullname":"series.states.hover.marker.radius","title":"radius","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-data-marker--radius","fullname":"series.data.marker.radius","title":"radius","parent":"series-data-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"plotOptions-bubble-marker-states-select--radius","fullname":"plotOptions.bubble.marker.states.select.radius","title":"radius","parent":"plotOptions-bubble-marker-states-select","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults\n\t\tto the normal state's radius + 2.","demo":"10px radius for selected points"},{"name":"series-dial--radius","fullname":"series.dial.radius","title":"radius","parent":"series-dial","isParent":false,"returnType":"String","defaults":"80%","since":"2.3.0","description":"The radius or length of the dial, in percentages relative to the radius of the gauge itself.","demo":"Dial options demonstrated","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble-states-hover-marker--radius","fullname":"plotOptions.bubble.states.hover.marker.radius","title":"radius","parent":"plotOptions-bubble-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-states-hover-marker--radius","fullname":"series.states.hover.marker.radius","title":"radius","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-states-hover-marker--radius","fullname":"series.states.hover.marker.radius","title":"radius","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"plotOptions-areaspline-marker-states-select--radius","fullname":"plotOptions.areaspline.marker.states.select.radius","title":"radius","parent":"plotOptions-areaspline-marker-states-select","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults\n\t\tto the normal state's radius + 2.","demo":"10px radius for selected points"},{"name":"plotOptions-pie-states-hover-marker--radius","fullname":"plotOptions.pie.states.hover.marker.radius","title":"radius","parent":"plotOptions-pie-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-states-hover-marker--radius","fullname":"series.states.hover.marker.radius","title":"radius","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"plotOptions-area-marker-states-hover--radius","fullname":"plotOptions.area.marker.states.hover.radius","title":"radius","parent":"plotOptions-area-marker-states-hover","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults to the normal state's radius + 2 as per the radiusPlus option.","demo":"10px radius","deprecated":false},{"name":"series-states-hover-marker--radius","fullname":"series.states.hover.marker.radius","title":"radius","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-data-marker-states-hover--radius","fullname":"series.data.marker.states.hover.radius","title":"radius","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults to the normal state's radius + 2 as per the radiusPlus option.","demo":"10px radius","deprecated":false},{"name":"plotOptions-heatmap-states-hover-marker--radius","fullname":"plotOptions.heatmap.states.hover.marker.radius","title":"radius","parent":"plotOptions-heatmap-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"plotOptions-polygon-states-hover-marker--radius","fullname":"plotOptions.polygon.states.hover.marker.radius","title":"radius","parent":"plotOptions-polygon-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"plotOptions-bubble-marker-states-hover--radius","fullname":"plotOptions.bubble.marker.states.hover.radius","title":"radius","parent":"plotOptions-bubble-marker-states-hover","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults to the normal state's radius + 2 as per the radiusPlus option.","demo":"10px radius","deprecated":false},{"name":"series-marker-states-select--radius","fullname":"series.marker.states.select.radius","title":"radius","parent":"series-marker-states-select","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults\n\t\tto the normal state's radius + 2.","demo":"10px radius for selected points"},{"name":"series-states-hover-marker--radius","fullname":"series.states.hover.marker.radius","title":"radius","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-states-hover-marker--radius","fullname":"series.states.hover.marker.radius","title":"radius","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-states-hover-marker--radius","fullname":"series.states.hover.marker.radius","title":"radius","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"plotOptions-bubble-marker--radius","fullname":"plotOptions.bubble.marker.radius","title":"radius","parent":"plotOptions-bubble-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-data-marker--radius","fullname":"series.data.marker.radius","title":"radius","parent":"series-data-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"plotOptions-spline-marker-states-select--radius","fullname":"plotOptions.spline.marker.states.select.radius","title":"radius","parent":"plotOptions-spline-marker-states-select","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults\n\t\tto the normal state's radius + 2.","demo":"10px radius for selected points"},{"name":"series-marker-states-hover--radius","fullname":"series.marker.states.hover.radius","title":"radius","parent":"series-marker-states-hover","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults to the normal state's radius + 2 as per the radiusPlus option.","demo":"10px radius","deprecated":false},{"name":"series-data-marker--radius","fullname":"series.data.marker.radius","title":"radius","parent":"series-data-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"plotOptions-gauge-dial--radius","fullname":"plotOptions.gauge.dial.radius","title":"radius","parent":"plotOptions-gauge-dial","isParent":false,"returnType":"String","defaults":"80%","since":"2.3.0","description":"The radius or length of the dial, in percentages relative to the radius of the gauge itself.","demo":"Dial options demonstrated","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--radius","fullname":"series.states.hover.marker.radius","title":"radius","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"plotOptions-polygon-marker--radius","fullname":"plotOptions.polygon.marker.radius","title":"radius","parent":"plotOptions-polygon-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-marker--radius","fullname":"series.marker.radius","title":"radius","parent":"series-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"plotOptions-series-marker-states-select--radius","fullname":"plotOptions.series.marker.states.select.radius","title":"radius","parent":"plotOptions-series-marker-states-select","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults\n\t\tto the normal state's radius + 2.","demo":"10px radius for selected points"},{"name":"plotOptions-series-states-hover-marker--radius","fullname":"plotOptions.series.states.hover.marker.radius","title":"radius","parent":"plotOptions-series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-marker-states-select--radius","fullname":"series.marker.states.select.radius","title":"radius","parent":"series-marker-states-select","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults\n\t\tto the normal state's radius + 2.","demo":"10px radius for selected points"},{"name":"plotOptions-spline-marker--radius","fullname":"plotOptions.spline.marker.radius","title":"radius","parent":"plotOptions-spline-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"plotOptions-areaspline-marker--radius","fullname":"plotOptions.areaspline.marker.radius","title":"radius","parent":"plotOptions-areaspline-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"plotOptions-scatter-marker-states-hover--radius","fullname":"plotOptions.scatter.marker.states.hover.radius","title":"radius","parent":"plotOptions-scatter-marker-states-hover","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults to the normal state's radius + 2 as per the radiusPlus option.","demo":"10px radius","deprecated":false},{"name":"plotOptions-line-marker-states-hover--radius","fullname":"plotOptions.line.marker.states.hover.radius","title":"radius","parent":"plotOptions-line-marker-states-hover","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults to the normal state's radius + 2 as per the radiusPlus option.","demo":"10px radius","deprecated":false},{"name":"series-marker--radius","fullname":"series.marker.radius","title":"radius","parent":"series-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-states-hover-marker--radius","fullname":"series.states.hover.marker.radius","title":"radius","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-states-hover-marker--radius","fullname":"series.states.hover.marker.radius","title":"radius","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-data-marker-states-select--radius","fullname":"series.data.marker.states.select.radius","title":"radius","parent":"series-data-marker-states-select","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults\n\t\tto the normal state's radius + 2.","demo":"10px radius for selected points"},{"name":"series-data-marker-states-hover--radius","fullname":"series.data.marker.states.hover.radius","title":"radius","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults to the normal state's radius + 2 as per the radiusPlus option.","demo":"10px radius","deprecated":false},{"name":"series-data-marker-states-hover--radius","fullname":"series.data.marker.states.hover.radius","title":"radius","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults to the normal state's radius + 2 as per the radiusPlus option.","demo":"10px radius","deprecated":false},{"name":"plotOptions-scatter-states-hover-marker--radius","fullname":"plotOptions.scatter.states.hover.marker.radius","title":"radius","parent":"plotOptions-scatter-states-hover-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"series-marker--radius","fullname":"series.marker.radius","title":"radius","parent":"series-marker","isParent":false,"returnType":"Number","defaults":"4","description":"The radius of the point marker.","demo":"Bigger markers","deprecated":false},{"name":"plotOptions-area-marker-states-select--radius","fullname":"plotOptions.area.marker.states.select.radius","title":"radius","parent":"plotOptions-area-marker-states-select","isParent":false,"returnType":"Number","description":"The radius of the point marker. In hover state, it defaults\n\t\tto the normal state's radius + 2.","demo":"10px radius for selected points"},{"name":"series-marker-states-hover--radiusPlus","fullname":"series.marker.states.hover.radiusPlus","title":"radiusPlus","parent":"series-marker-states-hover","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"4.0.3","description":"The number of pixels to increase the radius of the hovered point.","demo":"5 pixels greater radius on hover","seeAlso":"","deprecated":false},{"name":"plotOptions-line-marker-states-hover--radiusPlus","fullname":"plotOptions.line.marker.states.hover.radiusPlus","title":"radiusPlus","parent":"plotOptions-line-marker-states-hover","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"4.0.3","description":"The number of pixels to increase the radius of the hovered point.","demo":"5 pixels greater radius on hover","seeAlso":"","deprecated":false},{"name":"series-data-marker-states-hover--radiusPlus","fullname":"series.data.marker.states.hover.radiusPlus","title":"radiusPlus","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"4.0.3","description":"The number of pixels to increase the radius of the hovered point.","demo":"5 pixels greater radius on hover","seeAlso":"","deprecated":false},{"name":"series-marker-states-hover--radiusPlus","fullname":"series.marker.states.hover.radiusPlus","title":"radiusPlus","parent":"series-marker-states-hover","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"4.0.3","description":"The number of pixels to increase the radius of the hovered point.","demo":"5 pixels greater radius on hover","seeAlso":"","deprecated":false},{"name":"series-marker-states-hover--radiusPlus","fullname":"series.marker.states.hover.radiusPlus","title":"radiusPlus","parent":"series-marker-states-hover","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"4.0.3","description":"The number of pixels to increase the radius of the hovered point.","demo":"5 pixels greater radius on hover","seeAlso":"","deprecated":false},{"name":"series-marker-states-hover--radiusPlus","fullname":"series.marker.states.hover.radiusPlus","title":"radiusPlus","parent":"series-marker-states-hover","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"4.0.3","description":"The number of pixels to increase the radius of the hovered point.","demo":"5 pixels greater radius on hover","seeAlso":"","deprecated":false},{"name":"series-data-marker-states-hover--radiusPlus","fullname":"series.data.marker.states.hover.radiusPlus","title":"radiusPlus","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"4.0.3","description":"The number of pixels to increase the radius of the hovered point.","demo":"5 pixels greater radius on hover","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon-marker-states-hover--radiusPlus","fullname":"plotOptions.polygon.marker.states.hover.radiusPlus","title":"radiusPlus","parent":"plotOptions-polygon-marker-states-hover","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"4.0.3","description":"The number of pixels to increase the radius of the hovered point.","demo":"5 pixels greater radius on hover","seeAlso":"","deprecated":false},{"name":"plotOptions-series-marker-states-hover--radiusPlus","fullname":"plotOptions.series.marker.states.hover.radiusPlus","title":"radiusPlus","parent":"plotOptions-series-marker-states-hover","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"4.0.3","description":"The number of pixels to increase the radius of the hovered point.","demo":"5 pixels greater radius on hover","seeAlso":"","deprecated":false},{"name":"plotOptions-area-marker-states-hover--radiusPlus","fullname":"plotOptions.area.marker.states.hover.radiusPlus","title":"radiusPlus","parent":"plotOptions-area-marker-states-hover","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"4.0.3","description":"The number of pixels to increase the radius of the hovered point.","demo":"5 pixels greater radius on hover","seeAlso":"","deprecated":false},{"name":"series-marker-states-hover--radiusPlus","fullname":"series.marker.states.hover.radiusPlus","title":"radiusPlus","parent":"series-marker-states-hover","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"4.0.3","description":"The number of pixels to increase the radius of the hovered point.","demo":"5 pixels greater radius on hover","seeAlso":"","deprecated":false},{"name":"plotOptions-scatter-marker-states-hover--radiusPlus","fullname":"plotOptions.scatter.marker.states.hover.radiusPlus","title":"radiusPlus","parent":"plotOptions-scatter-marker-states-hover","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"4.0.3","description":"The number of pixels to increase the radius of the hovered point.","demo":"5 pixels greater radius on hover","seeAlso":"","deprecated":false},{"name":"series-data-marker-states-hover--radiusPlus","fullname":"series.data.marker.states.hover.radiusPlus","title":"radiusPlus","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"4.0.3","description":"The number of pixels to increase the radius of the hovered point.","demo":"5 pixels greater radius on hover","seeAlso":"","deprecated":false},{"name":"series-data-marker-states-hover--radiusPlus","fullname":"series.data.marker.states.hover.radiusPlus","title":"radiusPlus","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"4.0.3","description":"The number of pixels to increase the radius of the hovered point.","demo":"5 pixels greater radius on hover","seeAlso":"","deprecated":false},{"name":"plotOptions-spline-marker-states-hover--radiusPlus","fullname":"plotOptions.spline.marker.states.hover.radiusPlus","title":"radiusPlus","parent":"plotOptions-spline-marker-states-hover","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"4.0.3","description":"The number of pixels to increase the radius of the hovered point.","demo":"5 pixels greater radius on hover","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline-marker-states-hover--radiusPlus","fullname":"plotOptions.areaspline.marker.states.hover.radiusPlus","title":"radiusPlus","parent":"plotOptions-areaspline-marker-states-hover","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"4.0.3","description":"The number of pixels to increase the radius of the hovered point.","demo":"5 pixels greater radius on hover","seeAlso":"","deprecated":false},{"name":"series-marker-states-hover--radiusPlus","fullname":"series.marker.states.hover.radiusPlus","title":"radiusPlus","parent":"series-marker-states-hover","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"4.0.3","description":"The number of pixels to increase the radius of the hovered point.","demo":"5 pixels greater radius on hover","seeAlso":"","deprecated":false},{"name":"series-marker-states-hover--radiusPlus","fullname":"series.marker.states.hover.radiusPlus","title":"radiusPlus","parent":"series-marker-states-hover","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"4.0.3","description":"The number of pixels to increase the radius of the hovered point.","demo":"5 pixels greater radius on hover","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble-marker-states-hover--radiusPlus","fullname":"plotOptions.bubble.marker.states.hover.radiusPlus","title":"radiusPlus","parent":"plotOptions-bubble-marker-states-hover","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"4.0.3","description":"The number of pixels to increase the radius of the hovered point.","demo":"5 pixels greater radius on hover","seeAlso":"","deprecated":false},{"name":"series-data-marker-states-hover--radiusPlus","fullname":"series.data.marker.states.hover.radiusPlus","title":"radiusPlus","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"4.0.3","description":"The number of pixels to increase the radius of the hovered point.","demo":"5 pixels greater radius on hover","seeAlso":"","deprecated":false},{"name":"series-data-marker-states-hover--radiusPlus","fullname":"series.data.marker.states.hover.radiusPlus","title":"radiusPlus","parent":"series-data-marker-states-hover","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"4.0.3","description":"The number of pixels to increase the radius of the hovered point.","demo":"5 pixels greater radius on hover","seeAlso":"","deprecated":false},{"name":"plotOptions-gauge-dial--rearLength","fullname":"plotOptions.gauge.dial.rearLength","title":"rearLength","parent":"plotOptions-gauge-dial","isParent":false,"returnType":"String","defaults":"10%","since":"2.3.0","description":"The length of the dial's rear end, the part that extends out on the other side of the pivot. Relative to the dial's length. ","demo":"Dial options demonstrated","seeAlso":"","deprecated":false},{"name":"series-dial--rearLength","fullname":"series.dial.rearLength","title":"rearLength","parent":"series-dial","isParent":false,"returnType":"String","defaults":"10%","since":"2.3.0","description":"The length of the dial's rear end, the part that extends out on the other side of the pivot. Relative to the dial's length. ","demo":"Dial options demonstrated","seeAlso":"","deprecated":false},{"name":"chart-events--redraw","fullname":"chart.events.redraw","title":"redraw","parent":"chart-events","isParent":false,"returnType":"Function","context":"Chart","since":"1.2.0","description":"Fires when the chart is redrawn, either after a call to chart.redraw() or after an axis, series or point is modified with the redraw option set to true. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.","demo":"Alert on chart redraw","deprecated":false},{"name":"chart--reflow","fullname":"chart.reflow","title":"reflow","parent":"chart","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.1","description":"Whether to reflow the chart to fit the width of the container div on resizing the window.","demo":"Move the bar between the JavaScript frame and the Preview frame to see the effect: \n\t\t\tTrue by default, \n\t\t\tfalse."},{"name":"chart-resetZoomButton--relativeTo","fullname":"chart.resetZoomButton.relativeTo","title":"relativeTo","parent":"chart-resetZoomButton","isParent":false,"returnType":"String","defaults":"plot","values":"[\"plot\", \"chart\"]","since":"2.2","description":"What frame the button should be placed related to. Can be either \"plot\" or \"chart\".","demo":"Relative to the chart"},{"name":"drilldown-drillUpButton--relativeTo","fullname":"drilldown.drillUpButton.relativeTo","title":"relativeTo","parent":"drilldown-drillUpButton","isParent":false,"returnType":"String","defaults":"plotBox","values":"","since":"3.0.8","description":"What box to align the button to. Can be either \"plotBox\" or \"spacingBox\".","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-column-point-events--remove","fullname":"plotOptions.column.point.events.remove","title":"remove","parent":"plotOptions-column-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-data-events--remove","fullname":"series.data.events.remove","title":"remove","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-point-events--remove","fullname":"series.point.events.remove","title":"remove","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-point-events--remove","fullname":"series.point.events.remove","title":"remove","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-point-events--remove","fullname":"series.point.events.remove","title":"remove","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-point-events--remove","fullname":"series.point.events.remove","title":"remove","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-point-events--remove","fullname":"series.point.events.remove","title":"remove","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"plotOptions-polygon-point-events--remove","fullname":"plotOptions.polygon.point.events.remove","title":"remove","parent":"plotOptions-polygon-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-point-events--remove","fullname":"series.point.events.remove","title":"remove","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-data-events--remove","fullname":"series.data.events.remove","title":"remove","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-data-events--remove","fullname":"series.data.events.remove","title":"remove","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-point-events--remove","fullname":"series.point.events.remove","title":"remove","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"plotOptions-arearange-point-events--remove","fullname":"plotOptions.arearange.point.events.remove","title":"remove","parent":"plotOptions-arearange-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-data-events--remove","fullname":"series.data.events.remove","title":"remove","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-data-events--remove","fullname":"series.data.events.remove","title":"remove","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-data-events--remove","fullname":"series.data.events.remove","title":"remove","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-point-events--remove","fullname":"series.point.events.remove","title":"remove","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-point-events--remove","fullname":"series.point.events.remove","title":"remove","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-data-events--remove","fullname":"series.data.events.remove","title":"remove","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"plotOptions-bar-point-events--remove","fullname":"plotOptions.bar.point.events.remove","title":"remove","parent":"plotOptions-bar-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"plotOptions-line-point-events--remove","fullname":"plotOptions.line.point.events.remove","title":"remove","parent":"plotOptions-line-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"plotOptions-areasplinerange-point-events--remove","fullname":"plotOptions.areasplinerange.point.events.remove","title":"remove","parent":"plotOptions-areasplinerange-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-point-events--remove","fullname":"series.point.events.remove","title":"remove","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"plotOptions-boxplot-point-events--remove","fullname":"plotOptions.boxplot.point.events.remove","title":"remove","parent":"plotOptions-boxplot-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-point-events--remove","fullname":"series.point.events.remove","title":"remove","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-data-events--remove","fullname":"series.data.events.remove","title":"remove","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"plotOptions-area-point-events--remove","fullname":"plotOptions.area.point.events.remove","title":"remove","parent":"plotOptions-area-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-point-events--remove","fullname":"series.point.events.remove","title":"remove","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-point-events--remove","fullname":"series.point.events.remove","title":"remove","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-data-events--remove","fullname":"series.data.events.remove","title":"remove","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-data-events--remove","fullname":"series.data.events.remove","title":"remove","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-data-events--remove","fullname":"series.data.events.remove","title":"remove","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-data-events--remove","fullname":"series.data.events.remove","title":"remove","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-point-events--remove","fullname":"series.point.events.remove","title":"remove","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-data-events--remove","fullname":"series.data.events.remove","title":"remove","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-data-events--remove","fullname":"series.data.events.remove","title":"remove","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"plotOptions-waterfall-point-events--remove","fullname":"plotOptions.waterfall.point.events.remove","title":"remove","parent":"plotOptions-waterfall-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-data-events--remove","fullname":"series.data.events.remove","title":"remove","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"plotOptions-pyramid-point-events--remove","fullname":"plotOptions.pyramid.point.events.remove","title":"remove","parent":"plotOptions-pyramid-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-data-events--remove","fullname":"series.data.events.remove","title":"remove","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"plotOptions-solidgauge-point-events--remove","fullname":"plotOptions.solidgauge.point.events.remove","title":"remove","parent":"plotOptions-solidgauge-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-point-events--remove","fullname":"series.point.events.remove","title":"remove","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-data-events--remove","fullname":"series.data.events.remove","title":"remove","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"plotOptions-treemap-point-events--remove","fullname":"plotOptions.treemap.point.events.remove","title":"remove","parent":"plotOptions-treemap-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-point-events--remove","fullname":"series.point.events.remove","title":"remove","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-data-events--remove","fullname":"series.data.events.remove","title":"remove","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-point-events--remove","fullname":"series.point.events.remove","title":"remove","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-point-events--remove","fullname":"series.point.events.remove","title":"remove","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-point-events--remove","fullname":"series.point.events.remove","title":"remove","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"plotOptions-series-point-events--remove","fullname":"plotOptions.series.point.events.remove","title":"remove","parent":"plotOptions-series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-data-events--remove","fullname":"series.data.events.remove","title":"remove","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"plotOptions-bubble-point-events--remove","fullname":"plotOptions.bubble.point.events.remove","title":"remove","parent":"plotOptions-bubble-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-data-events--remove","fullname":"series.data.events.remove","title":"remove","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"plotOptions-heatmap-point-events--remove","fullname":"plotOptions.heatmap.point.events.remove","title":"remove","parent":"plotOptions-heatmap-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-point-events--remove","fullname":"series.point.events.remove","title":"remove","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"plotOptions-scatter-point-events--remove","fullname":"plotOptions.scatter.point.events.remove","title":"remove","parent":"plotOptions-scatter-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"plotOptions-pie-point-events--remove","fullname":"plotOptions.pie.point.events.remove","title":"remove","parent":"plotOptions-pie-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"plotOptions-areaspline-point-events--remove","fullname":"plotOptions.areaspline.point.events.remove","title":"remove","parent":"plotOptions-areaspline-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"plotOptions-errorbar-point-events--remove","fullname":"plotOptions.errorbar.point.events.remove","title":"remove","parent":"plotOptions-errorbar-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"plotOptions-gauge-point-events--remove","fullname":"plotOptions.gauge.point.events.remove","title":"remove","parent":"plotOptions-gauge-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"plotOptions-columnrange-point-events--remove","fullname":"plotOptions.columnrange.point.events.remove","title":"remove","parent":"plotOptions-columnrange-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"plotOptions-spline-point-events--remove","fullname":"plotOptions.spline.point.events.remove","title":"remove","parent":"plotOptions-spline-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-data-events--remove","fullname":"series.data.events.remove","title":"remove","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-point-events--remove","fullname":"series.point.events.remove","title":"remove","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-point-events--remove","fullname":"series.point.events.remove","title":"remove","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"series-data-events--remove","fullname":"series.data.events.remove","title":"remove","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"plotOptions-funnel-point-events--remove","fullname":"plotOptions.funnel.point.events.remove","title":"remove","parent":"plotOptions-funnel-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is removed using the .remove() method. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Remove point and confirm","deprecated":false},{"name":"chart--renderTo","fullname":"chart.renderTo","title":"renderTo","parent":"chart","isParent":false,"returnType":"String|Object","description":"The HTML element where the chart will be rendered. If it is a string, the element by that id is used. The HTML element can also be passed by direct reference.","demo":"String,\n\t\t\tobject reference,\n\t\t\tobject reference through jQuery,"},{"name":"xAxis-breaks--repeat","fullname":"xAxis.breaks.repeat","title":"repeat","parent":"xAxis-breaks","isParent":false,"returnType":"Number","defaults":"0","since":"4.1.0","description":"Defines an interval after which the break appears again. By default the breaks do not repeat.","demo":"Repeated Break","deprecated":false},{"name":"yAxis-breaks--repeat","fullname":"yAxis.breaks.repeat","title":"repeat","parent":"yAxis-breaks","isParent":false,"returnType":"Number","defaults":"0","since":"4.1.0","description":"Defines an interval after which the break appears again. By default the breaks do not repeat.","demo":"Repeated Break","deprecated":false},{"name":"lang--resetZoom","fullname":"lang.resetZoom","title":"resetZoom","parent":"lang","isParent":false,"returnType":"String","defaults":"Reset zoom","since":"1.2.4","description":"The text for the label appearing when a chart is zoomed."},{"name":"chart-resetZoomButton","fullname":"chart.resetZoomButton","title":"resetZoomButton","parent":"chart","isParent":true,"description":"The button that appears after a selection zoom, allowing the user to reset zoom."},{"name":"lang--resetZoomTitle","fullname":"lang.resetZoomTitle","title":"resetZoomTitle","parent":"lang","isParent":false,"returnType":"String","defaults":"Reset zoom level 1:1","since":"1.2.4","description":"The tooltip title for the label appearing when a chart is zoomed."},{"name":"xAxis--reversed","fullname":"xAxis.reversed","title":"reversed","parent":"xAxis","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to reverse the axis so that the highest number is closest to the origin. If the chart is inverted, the x axis is reversed by default.","demo":"Reversed Y axis","deprecated":false},{"name":"series--reversed","fullname":"series.reversed","title":"reversed","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"3.0.10","description":"The pyramid is reversed by default, as opposed to the funnel, which shares the layout engine, and is not reversed.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-funnel--reversed","fullname":"plotOptions.funnel.reversed","title":"reversed","parent":"plotOptions-funnel","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0.10","description":"A reversed funnel has the widest area down. A reversed funnel with no neck width and neck height is a pyramid.","demo":"","seeAlso":"","deprecated":false},{"name":"yAxis--reversed","fullname":"yAxis.reversed","title":"reversed","parent":"yAxis","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to reverse the axis so that the highest number is closest to the origin. If the chart is inverted, the x axis is reversed by default.","demo":"Reversed Y axis","deprecated":false},{"name":"plotOptions-pyramid--reversed","fullname":"plotOptions.pyramid.reversed","title":"reversed","parent":"plotOptions-pyramid","isParent":false,"returnType":"Boolean","defaults":"true","values":"","since":"3.0.10","description":"The pyramid is reversed by default, as opposed to the funnel, which shares the layout engine, and is not reversed.","demo":"","seeAlso":"","deprecated":false},{"name":"legend--reversed","fullname":"legend.reversed","title":"reversed","parent":"legend","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.5","description":"Whether to reverse the order of the legend items compared to the order of the series or points as defined in the configuration object.","demo":"Stacked bar with reversed legend","seeAlso":"yAxis.reversedStacks, series.legendIndex","deprecated":false},{"name":"series--reversed","fullname":"series.reversed","title":"reversed","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0.10","description":"A reversed funnel has the widest area down. A reversed funnel with no neck width and neck height is a pyramid.","demo":"","seeAlso":"","deprecated":false},{"name":"yAxis--reversedStacks","fullname":"yAxis.reversedStacks","title":"reversedStacks","parent":"yAxis","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0.10","description":"If true, the first series in a stack will be drawn on top in a positive, non-reversed Y axis. If false, the first series is in the base of the stack.","demo":"Non-reversed stacks.","deprecated":false},{"name":"plotOptions-bubble-dataLabels--rotation","fullname":"plotOptions.bubble.dataLabels.rotation","title":"rotation","parent":"plotOptions-bubble-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"series-dataLabels--rotation","fullname":"series.dataLabels.rotation","title":"rotation","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"plotOptions-areasplinerange-dataLabels--rotation","fullname":"plotOptions.areasplinerange.dataLabels.rotation","title":"rotation","parent":"plotOptions-areasplinerange-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"series-dataLabels--rotation","fullname":"series.dataLabels.rotation","title":"rotation","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"plotOptions-scatter-dataLabels--rotation","fullname":"plotOptions.scatter.dataLabels.rotation","title":"rotation","parent":"plotOptions-scatter-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"series-dataLabels--rotation","fullname":"series.dataLabels.rotation","title":"rotation","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"series-dataLabels--rotation","fullname":"series.dataLabels.rotation","title":"rotation","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"yAxis-stackLabels--rotation","fullname":"yAxis.stackLabels.rotation","title":"rotation","parent":"yAxis-stackLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.1.5","description":"Rotation of the labels in degrees.","demo":"Labels rotated 45°"},{"name":"series-dataLabels--rotation","fullname":"series.dataLabels.rotation","title":"rotation","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"plotOptions-polygon-dataLabels--rotation","fullname":"plotOptions.polygon.dataLabels.rotation","title":"rotation","parent":"plotOptions-polygon-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"plotOptions-heatmap-dataLabels--rotation","fullname":"plotOptions.heatmap.dataLabels.rotation","title":"rotation","parent":"plotOptions-heatmap-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"xAxis-title--rotation","fullname":"xAxis.title.rotation","title":"rotation","parent":"xAxis-title","isParent":false,"returnType":"Number","defaults":"0","description":"The rotation of the text in degrees. 0 is horizontal, 270 is vertical reading from bottom to top.","demo":"Horizontal Y axis title","deprecated":false},{"name":"plotOptions-pyramid-dataLabels--rotation","fullname":"plotOptions.pyramid.dataLabels.rotation","title":"rotation","parent":"plotOptions-pyramid-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"plotOptions-waterfall-dataLabels--rotation","fullname":"plotOptions.waterfall.dataLabels.rotation","title":"rotation","parent":"plotOptions-waterfall-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"plotOptions-areaspline-dataLabels--rotation","fullname":"plotOptions.areaspline.dataLabels.rotation","title":"rotation","parent":"plotOptions-areaspline-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"series-dataLabels--rotation","fullname":"series.dataLabels.rotation","title":"rotation","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"plotOptions-arearange-dataLabels--rotation","fullname":"plotOptions.arearange.dataLabels.rotation","title":"rotation","parent":"plotOptions-arearange-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"yAxis-plotLines-label--rotation","fullname":"yAxis.plotLines.label.rotation","title":"rotation","parent":"yAxis-plotLines-label","isParent":false,"returnType":"Number","since":"2.1","description":"Rotation of the text label in degrees. Defaults to 0 for horizontal plot lines and 90 for vertical lines.","demo":"Slanted text"},{"name":"yAxis-plotBands-label--rotation","fullname":"yAxis.plotBands.label.rotation","title":"rotation","parent":"yAxis-plotBands-label","isParent":false,"returnType":"Number","defaults":"0","since":"2.1","description":"Rotation of the text label in degrees .","demo":"Vertical text"},{"name":"plotOptions-solidgauge-dataLabels--rotation","fullname":"plotOptions.solidgauge.dataLabels.rotation","title":"rotation","parent":"plotOptions-solidgauge-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"series-dataLabels--rotation","fullname":"series.dataLabels.rotation","title":"rotation","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"plotOptions-line-dataLabels--rotation","fullname":"plotOptions.line.dataLabels.rotation","title":"rotation","parent":"plotOptions-line-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"plotOptions-area-dataLabels--rotation","fullname":"plotOptions.area.dataLabels.rotation","title":"rotation","parent":"plotOptions-area-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"series-dataLabels--rotation","fullname":"series.dataLabels.rotation","title":"rotation","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"series-dataLabels--rotation","fullname":"series.dataLabels.rotation","title":"rotation","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"plotOptions-funnel-dataLabels--rotation","fullname":"plotOptions.funnel.dataLabels.rotation","title":"rotation","parent":"plotOptions-funnel-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"xAxis-plotLines-label--rotation","fullname":"xAxis.plotLines.label.rotation","title":"rotation","parent":"xAxis-plotLines-label","isParent":false,"returnType":"Number","since":"2.1","description":"Rotation of the text label in degrees. Defaults to 0 for horizontal plot lines and 90 for vertical lines.","demo":"Slanted text"},{"name":"plotOptions-spline-dataLabels--rotation","fullname":"plotOptions.spline.dataLabels.rotation","title":"rotation","parent":"plotOptions-spline-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"yAxis-title--rotation","fullname":"yAxis.title.rotation","title":"rotation","parent":"yAxis-title","isParent":false,"returnType":"Number","defaults":"270","description":"The rotation of the text in degrees. 0 is horizontal, 270 is vertical reading from bottom to top.","demo":"Horizontal Y axis title","deprecated":false},{"name":"series-dataLabels--rotation","fullname":"series.dataLabels.rotation","title":"rotation","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"series-dataLabels--rotation","fullname":"series.dataLabels.rotation","title":"rotation","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"series-dataLabels--rotation","fullname":"series.dataLabels.rotation","title":"rotation","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"xAxis-labels--rotation","fullname":"xAxis.labels.rotation","title":"rotation","parent":"xAxis-labels","isParent":false,"returnType":"Number","defaults":"0","description":"Rotation of the labels in degrees.","demo":"X axis labels rotated 90°"},{"name":"plotOptions-column-dataLabels--rotation","fullname":"plotOptions.column.dataLabels.rotation","title":"rotation","parent":"plotOptions-column-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"plotOptions-pie-dataLabels--rotation","fullname":"plotOptions.pie.dataLabels.rotation","title":"rotation","parent":"plotOptions-pie-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"plotOptions-bar-dataLabels--rotation","fullname":"plotOptions.bar.dataLabels.rotation","title":"rotation","parent":"plotOptions-bar-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"series-dataLabels--rotation","fullname":"series.dataLabels.rotation","title":"rotation","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"xAxis-plotBands-label--rotation","fullname":"xAxis.plotBands.label.rotation","title":"rotation","parent":"xAxis-plotBands-label","isParent":false,"returnType":"Number","defaults":"0","since":"2.1","description":"Rotation of the text label in degrees .","demo":"Vertical text"},{"name":"yAxis-labels--rotation","fullname":"yAxis.labels.rotation","title":"rotation","parent":"yAxis-labels","isParent":false,"returnType":"Number","defaults":"0","description":"Rotation of the labels in degrees.","demo":"X axis labels rotated 90°"},{"name":"plotOptions-gauge-dataLabels--rotation","fullname":"plotOptions.gauge.dataLabels.rotation","title":"rotation","parent":"plotOptions-gauge-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"series-dataLabels--rotation","fullname":"series.dataLabels.rotation","title":"rotation","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"series-dataLabels--rotation","fullname":"series.dataLabels.rotation","title":"rotation","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"plotOptions-columnrange-dataLabels--rotation","fullname":"plotOptions.columnrange.dataLabels.rotation","title":"rotation","parent":"plotOptions-columnrange-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"series-dataLabels--rotation","fullname":"series.dataLabels.rotation","title":"rotation","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"series-dataLabels--rotation","fullname":"series.dataLabels.rotation","title":"rotation","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"plotOptions-series-dataLabels--rotation","fullname":"plotOptions.series.dataLabels.rotation","title":"rotation","parent":"plotOptions-series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"series-dataLabels--rotation","fullname":"series.dataLabels.rotation","title":"rotation","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"series-dataLabels--rotation","fullname":"series.dataLabels.rotation","title":"rotation","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"plotOptions-treemap-dataLabels--rotation","fullname":"plotOptions.treemap.dataLabels.rotation","title":"rotation","parent":"plotOptions-treemap-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"series-dataLabels--rotation","fullname":"series.dataLabels.rotation","title":"rotation","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"Text rotation in degrees. Note that due to a more complex structure, backgrounds, borders and padding will be lost on a rotated data label.","demo":"Vertical labels","deprecated":false},{"name":"data--rows","fullname":"data.rows","title":"rows","parent":"data","isParent":false,"returnType":"Array>","defaults":"","values":"","since":"4.0","description":"The same as the columns input option, but defining rows intead of columns.","demo":"Data in rows","seeAlso":"data.columns","deprecated":false},{"name":"plotOptions-heatmap--rowsize","fullname":"plotOptions.heatmap.rowsize","title":"rowsize","parent":"plotOptions-heatmap","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0","description":"The row size - how many Y axis units each heatmap row should span.","demo":"1 by default","seeAlso":"","deprecated":false},{"name":"series--rowsize","fullname":"series.rowsize","title":"rowsize","parent":"series","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0","description":"The row size - how many Y axis units each heatmap row should span.","demo":"1 by default","seeAlso":"","deprecated":false},{"name":"legend--rtl","fullname":"legend.rtl","title":"rtl","parent":"legend","isParent":false,"returnType":"Boolean","defaults":"false","since":"2.2","description":"Whether to show the symbol on the right side of the text rather than the left side. This is common in Arabic and Hebraic.","demo":"Symbol to the right"},{"name":"exporting--scale","fullname":"exporting.scale","title":"scale","parent":"exporting","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"3.0","description":"Defines the scale or zoom factor for the exported image compared to the on-screen display. While for instance a 600px wide chart may look good on a website, it will look bad in print. The default scale of 2 makes this chart export to a 1200px PNG or JPG. ","demo":"Scale demonstrated","seeAlso":"chart.width, exporting.sourceWidth","deprecated":false},{"name":"plotOptions-scatter","fullname":"plotOptions.scatter","title":"scatter","parent":"plotOptions","isParent":true,"returnType":"","defaults":"","since":"","description":"","demo":"","seeAlso":"","deprecated":false},{"name":"series-data-events--select","fullname":"series.data.events.select","title":"select","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"plotOptions-line-point-events--select","fullname":"plotOptions.line.point.events.select","title":"select","parent":"plotOptions-line-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-point-events--select","fullname":"series.point.events.select","title":"select","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"plotOptions-spline-marker-states-select","fullname":"plotOptions.spline.marker.states.select","title":"select","parent":"plotOptions-spline-marker-states","isParent":true,"description":"The appearance of the point marker when selected. In order to allow a point to be \n\t\tselected, set the series.allowPointSelect option to true."},{"name":"series-data-events--select","fullname":"series.data.events.select","title":"select","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-point-events--select","fullname":"series.point.events.select","title":"select","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"plotOptions-bubble-marker-states-select","fullname":"plotOptions.bubble.marker.states.select","title":"select","parent":"plotOptions-bubble-marker-states","isParent":true,"description":"The appearance of the point marker when selected. In order to allow a point to be \n\t\tselected, set the series.allowPointSelect option to true."},{"name":"series-data-events--select","fullname":"series.data.events.select","title":"select","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-marker-states-select","fullname":"series.marker.states.select","title":"select","parent":"series-marker-states","isParent":true,"description":"The appearance of the point marker when selected. In order to allow a point to be \n\t\tselected, set the series.allowPointSelect option to true."},{"name":"series-data-events--select","fullname":"series.data.events.select","title":"select","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-data-events--select","fullname":"series.data.events.select","title":"select","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-marker-states-select","fullname":"series.marker.states.select","title":"select","parent":"series-marker-states","isParent":true,"description":"The appearance of the point marker when selected. In order to allow a point to be \n\t\tselected, set the series.allowPointSelect option to true."},{"name":"plotOptions-areaspline-point-events--select","fullname":"plotOptions.areaspline.point.events.select","title":"select","parent":"plotOptions-areaspline-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-point-events--select","fullname":"series.point.events.select","title":"select","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"plotOptions-columnrange-point-events--select","fullname":"plotOptions.columnrange.point.events.select","title":"select","parent":"plotOptions-columnrange-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"plotOptions-series-marker-states-select","fullname":"plotOptions.series.marker.states.select","title":"select","parent":"plotOptions-series-marker-states","isParent":true,"description":"The appearance of the point marker when selected. In order to allow a point to be \n\t\tselected, set the series.allowPointSelect option to true."},{"name":"series-data-events--select","fullname":"series.data.events.select","title":"select","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-point-events--select","fullname":"series.point.events.select","title":"select","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-data-events--select","fullname":"series.data.events.select","title":"select","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"plotOptions-gauge-point-events--select","fullname":"plotOptions.gauge.point.events.select","title":"select","parent":"plotOptions-gauge-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-data-events--select","fullname":"series.data.events.select","title":"select","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-data-events--select","fullname":"series.data.events.select","title":"select","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-data-events--select","fullname":"series.data.events.select","title":"select","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-data-marker-states-select","fullname":"series.data.marker.states.select","title":"select","parent":"series-data-marker-states","isParent":true,"description":"The appearance of the point marker when selected. In order to allow a point to be \n\t\tselected, set the series.allowPointSelect option to true."},{"name":"plotOptions-scatter-marker-states-select","fullname":"plotOptions.scatter.marker.states.select","title":"select","parent":"plotOptions-scatter-marker-states","isParent":true,"description":"The appearance of the point marker when selected. In order to allow a point to be \n\t\tselected, set the series.allowPointSelect option to true."},{"name":"plotOptions-arearange-point-events--select","fullname":"plotOptions.arearange.point.events.select","title":"select","parent":"plotOptions-arearange-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-data-events--select","fullname":"series.data.events.select","title":"select","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"plotOptions-column-point-events--select","fullname":"plotOptions.column.point.events.select","title":"select","parent":"plotOptions-column-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-point-events--select","fullname":"series.point.events.select","title":"select","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"plotOptions-bubble-point-events--select","fullname":"plotOptions.bubble.point.events.select","title":"select","parent":"plotOptions-bubble-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-data-marker-states-select","fullname":"series.data.marker.states.select","title":"select","parent":"series-data-marker-states","isParent":true,"description":"The appearance of the point marker when selected. In order to allow a point to be \n\t\tselected, set the series.allowPointSelect option to true."},{"name":"plotOptions-spline-point-events--select","fullname":"plotOptions.spline.point.events.select","title":"select","parent":"plotOptions-spline-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-data-marker-states-select","fullname":"series.data.marker.states.select","title":"select","parent":"series-data-marker-states","isParent":true,"description":"The appearance of the point marker when selected. In order to allow a point to be \n\t\tselected, set the series.allowPointSelect option to true."},{"name":"series-point-events--select","fullname":"series.point.events.select","title":"select","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-data-events--select","fullname":"series.data.events.select","title":"select","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"plotOptions-area-point-events--select","fullname":"plotOptions.area.point.events.select","title":"select","parent":"plotOptions-area-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-marker-states-select","fullname":"series.marker.states.select","title":"select","parent":"series-marker-states","isParent":true,"description":"The appearance of the point marker when selected. In order to allow a point to be \n\t\tselected, set the series.allowPointSelect option to true."},{"name":"series-data-events--select","fullname":"series.data.events.select","title":"select","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"plotOptions-errorbar-point-events--select","fullname":"plotOptions.errorbar.point.events.select","title":"select","parent":"plotOptions-errorbar-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-data-events--select","fullname":"series.data.events.select","title":"select","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-data-marker-states-select","fullname":"series.data.marker.states.select","title":"select","parent":"series-data-marker-states","isParent":true,"description":"The appearance of the point marker when selected. In order to allow a point to be \n\t\tselected, set the series.allowPointSelect option to true."},{"name":"series-data-events--select","fullname":"series.data.events.select","title":"select","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"plotOptions-waterfall-point-events--select","fullname":"plotOptions.waterfall.point.events.select","title":"select","parent":"plotOptions-waterfall-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-point-events--select","fullname":"series.point.events.select","title":"select","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"plotOptions-solidgauge-point-events--select","fullname":"plotOptions.solidgauge.point.events.select","title":"select","parent":"plotOptions-solidgauge-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-data-events--select","fullname":"series.data.events.select","title":"select","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-data-marker-states-select","fullname":"series.data.marker.states.select","title":"select","parent":"series-data-marker-states","isParent":true,"description":"The appearance of the point marker when selected. In order to allow a point to be \n\t\tselected, set the series.allowPointSelect option to true."},{"name":"series-point-events--select","fullname":"series.point.events.select","title":"select","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"plotOptions-areasplinerange-point-events--select","fullname":"plotOptions.areasplinerange.point.events.select","title":"select","parent":"plotOptions-areasplinerange-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"plotOptions-areaspline-marker-states-select","fullname":"plotOptions.areaspline.marker.states.select","title":"select","parent":"plotOptions-areaspline-marker-states","isParent":true,"description":"The appearance of the point marker when selected. In order to allow a point to be \n\t\tselected, set the series.allowPointSelect option to true."},{"name":"series-point-events--select","fullname":"series.point.events.select","title":"select","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-marker-states-select","fullname":"series.marker.states.select","title":"select","parent":"series-marker-states","isParent":true,"description":"The appearance of the point marker when selected. In order to allow a point to be \n\t\tselected, set the series.allowPointSelect option to true."},{"name":"plotOptions-boxplot-point-events--select","fullname":"plotOptions.boxplot.point.events.select","title":"select","parent":"plotOptions-boxplot-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-point-events--select","fullname":"series.point.events.select","title":"select","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-point-events--select","fullname":"series.point.events.select","title":"select","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-data-marker-states-select","fullname":"series.data.marker.states.select","title":"select","parent":"series-data-marker-states","isParent":true,"description":"The appearance of the point marker when selected. In order to allow a point to be \n\t\tselected, set the series.allowPointSelect option to true."},{"name":"plotOptions-scatter-point-events--select","fullname":"plotOptions.scatter.point.events.select","title":"select","parent":"plotOptions-scatter-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-data-events--select","fullname":"series.data.events.select","title":"select","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"plotOptions-bar-point-events--select","fullname":"plotOptions.bar.point.events.select","title":"select","parent":"plotOptions-bar-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-marker-states-select","fullname":"series.marker.states.select","title":"select","parent":"series-marker-states","isParent":true,"description":"The appearance of the point marker when selected. In order to allow a point to be \n\t\tselected, set the series.allowPointSelect option to true."},{"name":"series-marker-states-select","fullname":"series.marker.states.select","title":"select","parent":"series-marker-states","isParent":true,"description":"The appearance of the point marker when selected. In order to allow a point to be \n\t\tselected, set the series.allowPointSelect option to true."},{"name":"series-point-events--select","fullname":"series.point.events.select","title":"select","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"plotOptions-series-point-events--select","fullname":"plotOptions.series.point.events.select","title":"select","parent":"plotOptions-series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-point-events--select","fullname":"series.point.events.select","title":"select","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-point-events--select","fullname":"series.point.events.select","title":"select","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"plotOptions-pie-point-events--select","fullname":"plotOptions.pie.point.events.select","title":"select","parent":"plotOptions-pie-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"plotOptions-heatmap-point-events--select","fullname":"plotOptions.heatmap.point.events.select","title":"select","parent":"plotOptions-heatmap-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"plotOptions-line-marker-states-select","fullname":"plotOptions.line.marker.states.select","title":"select","parent":"plotOptions-line-marker-states","isParent":true,"description":"The appearance of the point marker when selected. In order to allow a point to be \n\t\tselected, set the series.allowPointSelect option to true."},{"name":"series-data-events--select","fullname":"series.data.events.select","title":"select","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-point-events--select","fullname":"series.point.events.select","title":"select","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"plotOptions-area-marker-states-select","fullname":"plotOptions.area.marker.states.select","title":"select","parent":"plotOptions-area-marker-states","isParent":true,"description":"The appearance of the point marker when selected. In order to allow a point to be \n\t\tselected, set the series.allowPointSelect option to true."},{"name":"series-data-events--select","fullname":"series.data.events.select","title":"select","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-point-events--select","fullname":"series.point.events.select","title":"select","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"plotOptions-polygon-point-events--select","fullname":"plotOptions.polygon.point.events.select","title":"select","parent":"plotOptions-polygon-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"plotOptions-pyramid-point-events--select","fullname":"plotOptions.pyramid.point.events.select","title":"select","parent":"plotOptions-pyramid-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"plotOptions-polygon-marker-states-select","fullname":"plotOptions.polygon.marker.states.select","title":"select","parent":"plotOptions-polygon-marker-states","isParent":true,"description":"The appearance of the point marker when selected. In order to allow a point to be \n\t\tselected, set the series.allowPointSelect option to true."},{"name":"series-point-events--select","fullname":"series.point.events.select","title":"select","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-point-events--select","fullname":"series.point.events.select","title":"select","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-data-events--select","fullname":"series.data.events.select","title":"select","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"plotOptions-funnel-point-events--select","fullname":"plotOptions.funnel.point.events.select","title":"select","parent":"plotOptions-funnel-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-marker-states-select","fullname":"series.marker.states.select","title":"select","parent":"series-marker-states","isParent":true,"description":"The appearance of the point marker when selected. In order to allow a point to be \n\t\tselected, set the series.allowPointSelect option to true."},{"name":"series-data-events--select","fullname":"series.data.events.select","title":"select","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-point-events--select","fullname":"series.point.events.select","title":"select","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-point-events--select","fullname":"series.point.events.select","title":"select","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-point-events--select","fullname":"series.point.events.select","title":"select","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"plotOptions-treemap-point-events--select","fullname":"plotOptions.treemap.point.events.select","title":"select","parent":"plotOptions-treemap-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-point-events--select","fullname":"series.point.events.select","title":"select","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series-data-events--select","fullname":"series.data.events.select","title":"select","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is selected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last selected point","deprecated":false},{"name":"series--selected","fullname":"series.selected","title":"selected","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"series--selected","fullname":"series.selected","title":"selected","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"series--selected","fullname":"series.selected","title":"selected","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"series-data--selected","fullname":"series.data.selected","title":"selected","parent":"series-data","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether the data point is selected initially."},{"name":"series-data--selected","fullname":"series.data.selected","title":"selected","parent":"series-data","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether the data point is selected initially."},{"name":"series-data--selected","fullname":"series.data.selected","title":"selected","parent":"series-data","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether the data point is selected initially."},{"name":"series--selected","fullname":"series.selected","title":"selected","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"plotOptions-polygon--selected","fullname":"plotOptions.polygon.selected","title":"selected","parent":"plotOptions-polygon","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"series-data--selected","fullname":"series.data.selected","title":"selected","parent":"series-data","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether the data point is selected initially."},{"name":"series--selected","fullname":"series.selected","title":"selected","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"plotOptions-waterfall--selected","fullname":"plotOptions.waterfall.selected","title":"selected","parent":"plotOptions-waterfall","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"series--selected","fullname":"series.selected","title":"selected","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"series--selected","fullname":"series.selected","title":"selected","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"series-data--selected","fullname":"series.data.selected","title":"selected","parent":"series-data","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether the data point is selected initially."},{"name":"series--selected","fullname":"series.selected","title":"selected","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"series-data--selected","fullname":"series.data.selected","title":"selected","parent":"series-data","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether the data point is selected initially."},{"name":"plotOptions-columnrange--selected","fullname":"plotOptions.columnrange.selected","title":"selected","parent":"plotOptions-columnrange","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"series-data--selected","fullname":"series.data.selected","title":"selected","parent":"series-data","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether the data point is selected initially."},{"name":"series--selected","fullname":"series.selected","title":"selected","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"series-data--selected","fullname":"series.data.selected","title":"selected","parent":"series-data","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether the data point is selected initially."},{"name":"plotOptions-line--selected","fullname":"plotOptions.line.selected","title":"selected","parent":"plotOptions-line","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"series--selected","fullname":"series.selected","title":"selected","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"series--selected","fullname":"series.selected","title":"selected","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"series-data--selected","fullname":"series.data.selected","title":"selected","parent":"series-data","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether the data point is selected initially."},{"name":"plotOptions-bubble--selected","fullname":"plotOptions.bubble.selected","title":"selected","parent":"plotOptions-bubble","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"plotOptions-gauge--selected","fullname":"plotOptions.gauge.selected","title":"selected","parent":"plotOptions-gauge","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"series--selected","fullname":"series.selected","title":"selected","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"series-data--selected","fullname":"series.data.selected","title":"selected","parent":"series-data","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether the data point is selected initially."},{"name":"plotOptions-boxplot--selected","fullname":"plotOptions.boxplot.selected","title":"selected","parent":"plotOptions-boxplot","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"series--selected","fullname":"series.selected","title":"selected","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"series-data--selected","fullname":"series.data.selected","title":"selected","parent":"series-data","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether the data point is selected initially."},{"name":"series-data--selected","fullname":"series.data.selected","title":"selected","parent":"series-data","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether the data point is selected initially."},{"name":"series--selected","fullname":"series.selected","title":"selected","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"plotOptions-heatmap--selected","fullname":"plotOptions.heatmap.selected","title":"selected","parent":"plotOptions-heatmap","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"series-data--selected","fullname":"series.data.selected","title":"selected","parent":"series-data","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether the data point is selected initially."},{"name":"series--selected","fullname":"series.selected","title":"selected","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"series--selected","fullname":"series.selected","title":"selected","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"series--selected","fullname":"series.selected","title":"selected","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"plotOptions-column--selected","fullname":"plotOptions.column.selected","title":"selected","parent":"plotOptions-column","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"series--selected","fullname":"series.selected","title":"selected","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"series-data--selected","fullname":"series.data.selected","title":"selected","parent":"series-data","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether the data point is selected initially."},{"name":"plotOptions-solidgauge--selected","fullname":"plotOptions.solidgauge.selected","title":"selected","parent":"plotOptions-solidgauge","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"plotOptions-errorbar--selected","fullname":"plotOptions.errorbar.selected","title":"selected","parent":"plotOptions-errorbar","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"series--selected","fullname":"series.selected","title":"selected","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"plotOptions-treemap--selected","fullname":"plotOptions.treemap.selected","title":"selected","parent":"plotOptions-treemap","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"series-data--selected","fullname":"series.data.selected","title":"selected","parent":"series-data","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether the data point is selected initially."},{"name":"series-data--selected","fullname":"series.data.selected","title":"selected","parent":"series-data","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether the data point is selected initially."},{"name":"plotOptions-series--selected","fullname":"plotOptions.series.selected","title":"selected","parent":"plotOptions-series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"series--selected","fullname":"series.selected","title":"selected","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"series-data--selected","fullname":"series.data.selected","title":"selected","parent":"series-data","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether the data point is selected initially."},{"name":"plotOptions-areasplinerange--selected","fullname":"plotOptions.areasplinerange.selected","title":"selected","parent":"plotOptions-areasplinerange","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"plotOptions-pyramid--selected","fullname":"plotOptions.pyramid.selected","title":"selected","parent":"plotOptions-pyramid","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"plotOptions-spline--selected","fullname":"plotOptions.spline.selected","title":"selected","parent":"plotOptions-spline","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"series-data--selected","fullname":"series.data.selected","title":"selected","parent":"series-data","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether the data point is selected initially."},{"name":"plotOptions-funnel--selected","fullname":"plotOptions.funnel.selected","title":"selected","parent":"plotOptions-funnel","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"plotOptions-scatter--selected","fullname":"plotOptions.scatter.selected","title":"selected","parent":"plotOptions-scatter","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"plotOptions-arearange--selected","fullname":"plotOptions.arearange.selected","title":"selected","parent":"plotOptions-arearange","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"plotOptions-pie--selected","fullname":"plotOptions.pie.selected","title":"selected","parent":"plotOptions-pie","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"series--selected","fullname":"series.selected","title":"selected","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"plotOptions-bar--selected","fullname":"plotOptions.bar.selected","title":"selected","parent":"plotOptions-bar","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"series-data--selected","fullname":"series.data.selected","title":"selected","parent":"series-data","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether the data point is selected initially."},{"name":"series-data--selected","fullname":"series.data.selected","title":"selected","parent":"series-data","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether the data point is selected initially."},{"name":"series-data--selected","fullname":"series.data.selected","title":"selected","parent":"series-data","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether the data point is selected initially."},{"name":"series--selected","fullname":"series.selected","title":"selected","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"plotOptions-areaspline--selected","fullname":"plotOptions.areaspline.selected","title":"selected","parent":"plotOptions-areaspline","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"series-data--selected","fullname":"series.data.selected","title":"selected","parent":"series-data","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether the data point is selected initially."},{"name":"plotOptions-area--selected","fullname":"plotOptions.area.selected","title":"selected","parent":"plotOptions-area","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to select the series initially. If showCheckbox is true, the checkbox next to the series name will be checked for a selected series.","demo":"One out of two series selected"},{"name":"chart-events--selection","fullname":"chart.events.selection","title":"selection","parent":"chart-events","isParent":false,"returnType":"Function","description":"

Fires when an area of the chart has been selected. Selection is enabled by setting the chart's zoomType. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts. The default action for the selection event is to zoom the chart to the selected area. It can be prevented by calling event.preventDefault().

Information on the selected area can be found through event.xAxis and event.yAxis, which are arrays containing the axes of each dimension and each axis' min and max values. The primary axes are event.xAxis[0] and event.yAxis[0]. Remember the unit of a datetime axis is milliseconds since 1970-01-01 00:00:00.

\r\n
selection: function(event) {\r\n\t// log the min and max of the primary, datetime x-axis\r\n\tconsole.log(\r\n\t\tHighcharts.dateFormat('%Y-%m-%d %H:%M:%S', event.xAxis[0].min),\r\n\t\tHighcharts.dateFormat('%Y-%m-%d %H:%M:%S', event.xAxis[0].max)\r\n\t);\r\n\t// log the min and max of the y axis\r\n\tconsole.log(event.yAxis[0].min, event.yAxis[0].max);\r\n}
","demo":"Report on selection and reset","deprecated":false},{"name":"chart--selectionMarkerFill","fullname":"chart.selectionMarkerFill","title":"selectionMarkerFill","parent":"chart","isParent":false,"returnType":"Color","defaults":"rgba(69,114,167,0.25)","since":"2.1.7","description":"The background color of the marker square when selecting (zooming in on) an area of the chart.","deprecated":false},{"name":"plotOptions-series","fullname":"plotOptions.series","title":"series","parent":"plotOptions","isParent":true,"description":"

General options for all series types.

"},{"name":"drilldown--series","fullname":"drilldown.series","title":"series","parent":"drilldown","isParent":false,"returnType":"Array","since":"3.0.8","description":"An array of series configurations for the drill down. Each series configuration uses the same syntax as the series option set. These drilldown series are hidden by default. The drilldown series is linked to the parent series' point by its id.","deprecated":false},{"name":"series","fullname":"series","title":"series","isParent":true,"returnType":"Array","since":"","description":"The actual series to append to the chart. In addition to \r\n\tthe members listed below, any member of the plotOptions for that specific\r\n\ttype of plot can be added to a series individually. For example, even though a general\r\n\tlineWidth is specified in plotOptions.series, an individual\r\n\tlineWidth can be specified for each series.","demo":"","deprecated":false},{"name":"series","fullname":"series","title":"series","isParent":true,"returnType":"Array","since":"","description":"

A area series. If the .type\">type option is not specified, it is inherited from chart.type.

\r\n\r\n

For options that apply to multiple series, it is recommended to add them to the pointOptions.series options structure. To apply to all series of this specific type, apply it to plotOptions.area.

","demo":"","deprecated":false},{"name":"series","fullname":"series","title":"series","isParent":true,"returnType":"Array","since":"","description":"

A arearange series. If the .type\">type option is not specified, it is inherited from chart.type.

\r\n\r\n

For options that apply to multiple series, it is recommended to add them to the pointOptions.series options structure. To apply to all series of this specific type, apply it to plotOptions.arearange.

","demo":"","deprecated":false},{"name":"series","fullname":"series","title":"series","isParent":true,"returnType":"Array","since":"","description":"

A areaspline series. If the .type\">type option is not specified, it is inherited from chart.type.

\r\n\r\n

For options that apply to multiple series, it is recommended to add them to the pointOptions.series options structure. To apply to all series of this specific type, apply it to plotOptions.areaspline.

","demo":"","deprecated":false},{"name":"series","fullname":"series","title":"series","isParent":true,"returnType":"Array","since":"","description":"

A areasplinerange series. If the .type\">type option is not specified, it is inherited from chart.type.

\r\n\r\n

For options that apply to multiple series, it is recommended to add them to the pointOptions.series options structure. To apply to all series of this specific type, apply it to plotOptions.areasplinerange.

","demo":"","deprecated":false},{"name":"series","fullname":"series","title":"series","isParent":true,"returnType":"Array","since":"","description":"

A bar series. If the .type\">type option is not specified, it is inherited from chart.type.

\r\n\r\n

For options that apply to multiple series, it is recommended to add them to the pointOptions.series options structure. To apply to all series of this specific type, apply it to plotOptions.bar.

","demo":"","deprecated":false},{"name":"series","fullname":"series","title":"series","isParent":true,"returnType":"Array","since":"","description":"

A boxplot series. If the .type\">type option is not specified, it is inherited from chart.type.

\r\n\r\n

For options that apply to multiple series, it is recommended to add them to the pointOptions.series options structure. To apply to all series of this specific type, apply it to plotOptions.boxplot.

","demo":"","deprecated":false},{"name":"series","fullname":"series","title":"series","isParent":true,"returnType":"Array","since":"","description":"

A bubble series. If the .type\">type option is not specified, it is inherited from chart.type.

\r\n\r\n

For options that apply to multiple series, it is recommended to add them to the pointOptions.series options structure. To apply to all series of this specific type, apply it to plotOptions.bubble.

","demo":"","deprecated":false},{"name":"series","fullname":"series","title":"series","isParent":true,"returnType":"Array","since":"","description":"

A column series. If the .type\">type option is not specified, it is inherited from chart.type.

\r\n\r\n

For options that apply to multiple series, it is recommended to add them to the pointOptions.series options structure. To apply to all series of this specific type, apply it to plotOptions.column.

","demo":"","deprecated":false},{"name":"series","fullname":"series","title":"series","isParent":true,"returnType":"Array","since":"","description":"

A columnrange series. If the .type\">type option is not specified, it is inherited from chart.type.

\r\n\r\n

For options that apply to multiple series, it is recommended to add them to the pointOptions.series options structure. To apply to all series of this specific type, apply it to plotOptions.columnrange.

","demo":"","deprecated":false},{"name":"series","fullname":"series","title":"series","isParent":true,"returnType":"Array","since":"","description":"

A errorbar series. If the .type\">type option is not specified, it is inherited from chart.type.

\r\n\r\n

For options that apply to multiple series, it is recommended to add them to the pointOptions.series options structure. To apply to all series of this specific type, apply it to plotOptions.errorbar.

","demo":"","deprecated":false},{"name":"series","fullname":"series","title":"series","isParent":true,"returnType":"Array","since":"","description":"

A funnel series. If the .type\">type option is not specified, it is inherited from chart.type.

\r\n\r\n

For options that apply to multiple series, it is recommended to add them to the pointOptions.series options structure. To apply to all series of this specific type, apply it to plotOptions.funnel.

","demo":"","deprecated":false},{"name":"series","fullname":"series","title":"series","isParent":true,"returnType":"Array","since":"","description":"

A gauge series. If the .type\">type option is not specified, it is inherited from chart.type.

\r\n\r\n

For options that apply to multiple series, it is recommended to add them to the pointOptions.series options structure. To apply to all series of this specific type, apply it to plotOptions.gauge.

","demo":"","deprecated":false},{"name":"series","fullname":"series","title":"series","isParent":true,"returnType":"Array","since":"","description":"

A heatmap series. If the .type\">type option is not specified, it is inherited from chart.type.

\r\n\r\n

For options that apply to multiple series, it is recommended to add them to the pointOptions.series options structure. To apply to all series of this specific type, apply it to plotOptions.heatmap.

","demo":"","deprecated":false},{"name":"series","fullname":"series","title":"series","isParent":true,"returnType":"Array","since":"","description":"

A line series. If the .type\">type option is not specified, it is inherited from chart.type.

\r\n\r\n

For options that apply to multiple series, it is recommended to add them to the pointOptions.series options structure. To apply to all series of this specific type, apply it to plotOptions.line.

","demo":"","deprecated":false},{"name":"series","fullname":"series","title":"series","isParent":true,"returnType":"Array","since":"","description":"

A pie series. If the .type\">type option is not specified, it is inherited from chart.type.

\r\n\r\n

For options that apply to multiple series, it is recommended to add them to the pointOptions.series options structure. To apply to all series of this specific type, apply it to plotOptions.pie.

","demo":"","deprecated":false},{"name":"series","fullname":"series","title":"series","isParent":true,"returnType":"Array","since":"","description":"

A polygon series. If the .type\">type option is not specified, it is inherited from chart.type.

\r\n\r\n

For options that apply to multiple series, it is recommended to add them to the pointOptions.series options structure. To apply to all series of this specific type, apply it to plotOptions.polygon.

","demo":"","deprecated":false},{"name":"series","fullname":"series","title":"series","isParent":true,"returnType":"Array","since":"","description":"

A pyramid series. If the .type\">type option is not specified, it is inherited from chart.type.

\r\n\r\n

For options that apply to multiple series, it is recommended to add them to the pointOptions.series options structure. To apply to all series of this specific type, apply it to plotOptions.pyramid.

","demo":"","deprecated":false},{"name":"series","fullname":"series","title":"series","isParent":true,"returnType":"Array","since":"","description":"

A scatter series. If the .type\">type option is not specified, it is inherited from chart.type.

\r\n\r\n

For options that apply to multiple series, it is recommended to add them to the pointOptions.series options structure. To apply to all series of this specific type, apply it to plotOptions.scatter.

","demo":"","deprecated":false},{"name":"series","fullname":"series","title":"series","isParent":true,"returnType":"Array","since":"","description":"

A solidgauge series. If the .type\">type option is not specified, it is inherited from chart.type.

\r\n\r\n

For options that apply to multiple series, it is recommended to add them to the pointOptions.series options structure. To apply to all series of this specific type, apply it to plotOptions.solidgauge.

","demo":"","deprecated":false},{"name":"series","fullname":"series","title":"series","isParent":true,"returnType":"Array","since":"","description":"

A spline series. If the .type\">type option is not specified, it is inherited from chart.type.

\r\n\r\n

For options that apply to multiple series, it is recommended to add them to the pointOptions.series options structure. To apply to all series of this specific type, apply it to plotOptions.spline.

","demo":"","deprecated":false},{"name":"series","fullname":"series","title":"series","isParent":true,"returnType":"Array","since":"","description":"

A treemap series. If the .type\">type option is not specified, it is inherited from chart.type.

\r\n\r\n

For options that apply to multiple series, it is recommended to add them to the pointOptions.series options structure. To apply to all series of this specific type, apply it to plotOptions.treemap.

","demo":"","deprecated":false},{"name":"series","fullname":"series","title":"series","isParent":true,"returnType":"Array","since":"","description":"

A waterfall series. If the .type\">type option is not specified, it is inherited from chart.type.

\r\n\r\n

For options that apply to multiple series, it is recommended to add them to the pointOptions.series options structure. To apply to all series of this specific type, apply it to plotOptions.waterfall.

","demo":"","deprecated":false},{"name":"data--seriesMapping","fullname":"data.seriesMapping","title":"seriesMapping","parent":"data","isParent":false,"returnType":"Array","since":"4.0.4","description":"An array containing object with Point property names along with what column id the property should be taken from.","demo":"Label from data set","deprecated":false},{"name":"xAxis-events--setExtremes","fullname":"xAxis.events.setExtremes","title":"setExtremes","parent":"xAxis-events","isParent":false,"returnType":"Function","context":"Axis","since":"1.2.0","description":"

Fires when the minimum and maximum is set for the axis, either by calling the .setExtremes() method or by selecting an area in the chart. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

\r\n\r\n

The new user set minimum and maximum values can be found by event.min and event.max. When an axis is zoomed all the way out from the \"Reset zoom\" button, event.min and event.max are null, and the new extremes are set based on this.dataMin and this.dataMax.

","deprecated":false},{"name":"yAxis-events--setExtremes","fullname":"yAxis.events.setExtremes","title":"setExtremes","parent":"yAxis-events","isParent":false,"returnType":"Function","context":"Axis","since":"1.2.0","description":"

Fires when the minimum and maximum is set for the axis, either by calling the .setExtremes() method or by selecting an area in the chart. One parameter, event, is passed to the function. This contains common event information based on jQuery or MooTools depending on which library is used as the base for Highcharts.

\r\n\r\n

The new user set minimum and maximum values can be found by event.min and event.max. When an axis is zoomed all the way out from the \"Reset zoom\" button, event.min and event.max are null, and the new extremes are set based on this.dataMin and this.dataMax.

","deprecated":false},{"name":"series--shadow","fullname":"series.shadow","title":"shadow","parent":"series","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid-dataLabels--shadow","fullname":"plotOptions.pyramid.dataLabels.shadow","title":"shadow","parent":"plotOptions-pyramid-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"series-dataLabels--shadow","fullname":"series.dataLabels.shadow","title":"shadow","parent":"series-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon-dataLabels--shadow","fullname":"plotOptions.polygon.dataLabels.shadow","title":"shadow","parent":"plotOptions-polygon-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"plotOptions-waterfall-dataLabels--shadow","fullname":"plotOptions.waterfall.dataLabels.shadow","title":"shadow","parent":"plotOptions-waterfall-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"series-dataLabels--shadow","fullname":"series.dataLabels.shadow","title":"shadow","parent":"series-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"plotOptions-arearange--shadow","fullname":"plotOptions.arearange.shadow","title":"shadow","parent":"plotOptions-arearange","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--shadow","fullname":"series.dataLabels.shadow","title":"shadow","parent":"series-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"plotOptions-column-dataLabels--shadow","fullname":"plotOptions.column.dataLabels.shadow","title":"shadow","parent":"plotOptions-column-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"plotOptions-spline--shadow","fullname":"plotOptions.spline.shadow","title":"shadow","parent":"plotOptions-spline","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"plotOptions-column--shadow","fullname":"plotOptions.column.shadow","title":"shadow","parent":"plotOptions-column","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"plotOptions-solidgauge-dataLabels--shadow","fullname":"plotOptions.solidgauge.dataLabels.shadow","title":"shadow","parent":"plotOptions-solidgauge-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"plotOptions-arearange-dataLabels--shadow","fullname":"plotOptions.arearange.dataLabels.shadow","title":"shadow","parent":"plotOptions-arearange-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"series-dataLabels--shadow","fullname":"series.dataLabels.shadow","title":"shadow","parent":"series-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange--shadow","fullname":"plotOptions.columnrange.shadow","title":"shadow","parent":"plotOptions-columnrange","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"plotOptions-treemap--shadow","fullname":"plotOptions.treemap.shadow","title":"shadow","parent":"plotOptions-treemap","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"series-dataLabels--shadow","fullname":"series.dataLabels.shadow","title":"shadow","parent":"series-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid--shadow","fullname":"plotOptions.pyramid.shadow","title":"shadow","parent":"plotOptions-pyramid","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"plotOptions-line--shadow","fullname":"plotOptions.line.shadow","title":"shadow","parent":"plotOptions-line","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"series-dataLabels--shadow","fullname":"series.dataLabels.shadow","title":"shadow","parent":"series-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"series--shadow","fullname":"series.shadow","title":"shadow","parent":"series","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-funnel--shadow","fullname":"plotOptions.funnel.shadow","title":"shadow","parent":"plotOptions-funnel","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"series--shadow","fullname":"series.shadow","title":"shadow","parent":"series","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"series-dataLabels--shadow","fullname":"series.dataLabels.shadow","title":"shadow","parent":"series-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"plotOptions-scatter-dataLabels--shadow","fullname":"plotOptions.scatter.dataLabels.shadow","title":"shadow","parent":"plotOptions-scatter-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"series--shadow","fullname":"series.shadow","title":"shadow","parent":"series","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"plotOptions-bar-dataLabels--shadow","fullname":"plotOptions.bar.dataLabels.shadow","title":"shadow","parent":"plotOptions-bar-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"series--shadow","fullname":"series.shadow","title":"shadow","parent":"series","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"plotOptions-heatmap-dataLabels--shadow","fullname":"plotOptions.heatmap.dataLabels.shadow","title":"shadow","parent":"plotOptions-heatmap-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble-dataLabels--shadow","fullname":"plotOptions.bubble.dataLabels.shadow","title":"shadow","parent":"plotOptions-bubble-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"plotOptions-areasplinerange--shadow","fullname":"plotOptions.areasplinerange.shadow","title":"shadow","parent":"plotOptions-areasplinerange","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width. ","demo":"","seeAlso":"","deprecated":false},{"name":"series--shadow","fullname":"series.shadow","title":"shadow","parent":"series","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-area--shadow","fullname":"plotOptions.area.shadow","title":"shadow","parent":"plotOptions-area","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"plotOptions-pie-dataLabels--shadow","fullname":"plotOptions.pie.dataLabels.shadow","title":"shadow","parent":"plotOptions-pie-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"legend--shadow","fullname":"legend.shadow","title":"shadow","parent":"legend","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the legend. A backgroundColor\r also needs to be applied for this to take effect. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"White background and drop shadow","seeAlso":"","deprecated":false},{"name":"series--shadow","fullname":"series.shadow","title":"shadow","parent":"series","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"plotOptions-heatmap--shadow","fullname":"plotOptions.heatmap.shadow","title":"shadow","parent":"plotOptions-heatmap","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"plotOptions-areasplinerange-dataLabels--shadow","fullname":"plotOptions.areasplinerange.dataLabels.shadow","title":"shadow","parent":"plotOptions-areasplinerange-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"series-dataLabels--shadow","fullname":"series.dataLabels.shadow","title":"shadow","parent":"series-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"tooltip--shadow","fullname":"tooltip.shadow","title":"shadow","parent":"tooltip","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to apply a drop shadow to the tooltip.","demo":"True by default,\n\t\t\tfalse"},{"name":"plotOptions-pie--shadow","fullname":"plotOptions.pie.shadow","title":"shadow","parent":"plotOptions-pie","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"series--shadow","fullname":"series.shadow","title":"shadow","parent":"series","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"plotOptions-funnel-dataLabels--shadow","fullname":"plotOptions.funnel.dataLabels.shadow","title":"shadow","parent":"plotOptions-funnel-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"series--shadow","fullname":"series.shadow","title":"shadow","parent":"series","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"series-dataLabels--shadow","fullname":"series.dataLabels.shadow","title":"shadow","parent":"series-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"plotOptions-series-dataLabels--shadow","fullname":"plotOptions.series.dataLabels.shadow","title":"shadow","parent":"plotOptions-series-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"plotOptions-bar--shadow","fullname":"plotOptions.bar.shadow","title":"shadow","parent":"plotOptions-bar","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"plotOptions-gauge-dataLabels--shadow","fullname":"plotOptions.gauge.dataLabels.shadow","title":"shadow","parent":"plotOptions-gauge-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble--shadow","fullname":"plotOptions.bubble.shadow","title":"shadow","parent":"plotOptions-bubble","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"series-dataLabels--shadow","fullname":"series.dataLabels.shadow","title":"shadow","parent":"series-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline--shadow","fullname":"plotOptions.areaspline.shadow","title":"shadow","parent":"plotOptions-areaspline","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"plotOptions-waterfall--shadow","fullname":"plotOptions.waterfall.shadow","title":"shadow","parent":"plotOptions-waterfall","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"series--shadow","fullname":"series.shadow","title":"shadow","parent":"series","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"series--shadow","fullname":"series.shadow","title":"shadow","parent":"series","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"series--shadow","fullname":"series.shadow","title":"shadow","parent":"series","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"series-dataLabels--shadow","fullname":"series.dataLabels.shadow","title":"shadow","parent":"series-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline-dataLabels--shadow","fullname":"plotOptions.areaspline.dataLabels.shadow","title":"shadow","parent":"plotOptions-areaspline-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"series-dataLabels--shadow","fullname":"series.dataLabels.shadow","title":"shadow","parent":"series-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"series-dataLabels--shadow","fullname":"series.dataLabels.shadow","title":"shadow","parent":"series-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"series-dataLabels--shadow","fullname":"series.dataLabels.shadow","title":"shadow","parent":"series-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"series--shadow","fullname":"series.shadow","title":"shadow","parent":"series","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"series--shadow","fullname":"series.shadow","title":"shadow","parent":"series","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"series--shadow","fullname":"series.shadow","title":"shadow","parent":"series","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"plotOptions-area-dataLabels--shadow","fullname":"plotOptions.area.dataLabels.shadow","title":"shadow","parent":"plotOptions-area-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"series-dataLabels--shadow","fullname":"series.dataLabels.shadow","title":"shadow","parent":"series-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"series--shadow","fullname":"series.shadow","title":"shadow","parent":"series","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"series-dataLabels--shadow","fullname":"series.dataLabels.shadow","title":"shadow","parent":"series-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"plotOptions-line-dataLabels--shadow","fullname":"plotOptions.line.dataLabels.shadow","title":"shadow","parent":"plotOptions-line-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon--shadow","fullname":"plotOptions.polygon.shadow","title":"shadow","parent":"plotOptions-polygon","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"plotOptions-series--shadow","fullname":"plotOptions.series.shadow","title":"shadow","parent":"plotOptions-series","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"plotOptions-spline-dataLabels--shadow","fullname":"plotOptions.spline.dataLabels.shadow","title":"shadow","parent":"plotOptions-spline-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"chart--shadow","fullname":"chart.shadow","title":"shadow","parent":"chart","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the outer chart area. Requires that \r backgroundColor be set. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow","seeAlso":"","deprecated":false},{"name":"plotOptions-scatter--shadow","fullname":"plotOptions.scatter.shadow","title":"shadow","parent":"plotOptions-scatter","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"series-dataLabels--shadow","fullname":"series.dataLabels.shadow","title":"shadow","parent":"series-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"series-dataLabels--shadow","fullname":"series.dataLabels.shadow","title":"shadow","parent":"series-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"series-dataLabels--shadow","fullname":"series.dataLabels.shadow","title":"shadow","parent":"series-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"series--shadow","fullname":"series.shadow","title":"shadow","parent":"series","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange-dataLabels--shadow","fullname":"plotOptions.columnrange.dataLabels.shadow","title":"shadow","parent":"plotOptions-columnrange-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"plotOptions-treemap-dataLabels--shadow","fullname":"plotOptions.treemap.dataLabels.shadow","title":"shadow","parent":"plotOptions-treemap-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"series--shadow","fullname":"series.shadow","title":"shadow","parent":"series","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"","description":"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Shadow enabled","seeAlso":"","deprecated":false},{"name":"series-dataLabels--shadow","fullname":"series.dataLabels.shadow","title":"shadow","parent":"series-dataLabels","isParent":false,"returnType":"Boolean|Object","defaults":"false","since":"2.2.1","description":"The shadow of the box. Works best with borderWidth or backgroundColor. Since 2.3 the shadow can be an object configuration containing color, offsetX, offsetY, opacity and width.","demo":"Data labels box options","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline-tooltip--shape","fullname":"plotOptions.areaspline.tooltip.shape","title":"shape","parent":"plotOptions-areaspline-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--shape","fullname":"series.tooltip.shape","title":"shape","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--shape","fullname":"series.dataLabels.shape","title":"shape","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"series-dataLabels--shape","fullname":"series.dataLabels.shape","title":"shape","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"series-dataLabels--shape","fullname":"series.dataLabels.shape","title":"shape","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"plotOptions-column-tooltip--shape","fullname":"plotOptions.column.tooltip.shape","title":"shape","parent":"plotOptions-column-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-heatmap-tooltip--shape","fullname":"plotOptions.heatmap.tooltip.shape","title":"shape","parent":"plotOptions-heatmap-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--shape","fullname":"series.tooltip.shape","title":"shape","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-gauge-tooltip--shape","fullname":"plotOptions.gauge.tooltip.shape","title":"shape","parent":"plotOptions-gauge-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--shape","fullname":"series.tooltip.shape","title":"shape","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-area-dataLabels--shape","fullname":"plotOptions.area.dataLabels.shape","title":"shape","parent":"plotOptions-area-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"plotOptions-pie-dataLabels--shape","fullname":"plotOptions.pie.dataLabels.shape","title":"shape","parent":"plotOptions-pie-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"plotOptions-boxplot-tooltip--shape","fullname":"plotOptions.boxplot.tooltip.shape","title":"shape","parent":"plotOptions-boxplot-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-line-tooltip--shape","fullname":"plotOptions.line.tooltip.shape","title":"shape","parent":"plotOptions-line-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--shape","fullname":"series.dataLabels.shape","title":"shape","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"plotOptions-bubble-tooltip--shape","fullname":"plotOptions.bubble.tooltip.shape","title":"shape","parent":"plotOptions-bubble-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-funnel-tooltip--shape","fullname":"plotOptions.funnel.tooltip.shape","title":"shape","parent":"plotOptions-funnel-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--shape","fullname":"series.dataLabels.shape","title":"shape","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"series-tooltip--shape","fullname":"series.tooltip.shape","title":"shape","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--shape","fullname":"series.tooltip.shape","title":"shape","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--shape","fullname":"series.dataLabels.shape","title":"shape","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"plotOptions-waterfall-dataLabels--shape","fullname":"plotOptions.waterfall.dataLabels.shape","title":"shape","parent":"plotOptions-waterfall-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"plotOptions-funnel-dataLabels--shape","fullname":"plotOptions.funnel.dataLabels.shape","title":"shape","parent":"plotOptions-funnel-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"plotOptions-pyramid-dataLabels--shape","fullname":"plotOptions.pyramid.dataLabels.shape","title":"shape","parent":"plotOptions-pyramid-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"series-dataLabels--shape","fullname":"series.dataLabels.shape","title":"shape","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"series-dataLabels--shape","fullname":"series.dataLabels.shape","title":"shape","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"plotOptions-errorbar-tooltip--shape","fullname":"plotOptions.errorbar.tooltip.shape","title":"shape","parent":"plotOptions-errorbar-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--shape","fullname":"series.dataLabels.shape","title":"shape","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"series-dataLabels--shape","fullname":"series.dataLabels.shape","title":"shape","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"plotOptions-areasplinerange-tooltip--shape","fullname":"plotOptions.areasplinerange.tooltip.shape","title":"shape","parent":"plotOptions-areasplinerange-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange-tooltip--shape","fullname":"plotOptions.columnrange.tooltip.shape","title":"shape","parent":"plotOptions-columnrange-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--shape","fullname":"series.dataLabels.shape","title":"shape","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"plotOptions-polygon-tooltip--shape","fullname":"plotOptions.polygon.tooltip.shape","title":"shape","parent":"plotOptions-polygon-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-treemap-dataLabels--shape","fullname":"plotOptions.treemap.dataLabels.shape","title":"shape","parent":"plotOptions-treemap-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"plotOptions-waterfall-tooltip--shape","fullname":"plotOptions.waterfall.tooltip.shape","title":"shape","parent":"plotOptions-waterfall-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--shape","fullname":"series.dataLabels.shape","title":"shape","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"plotOptions-bubble-dataLabels--shape","fullname":"plotOptions.bubble.dataLabels.shape","title":"shape","parent":"plotOptions-bubble-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"series-tooltip--shape","fullname":"series.tooltip.shape","title":"shape","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--shape","fullname":"series.tooltip.shape","title":"shape","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--shape","fullname":"series.tooltip.shape","title":"shape","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid-tooltip--shape","fullname":"plotOptions.pyramid.tooltip.shape","title":"shape","parent":"plotOptions-pyramid-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon-dataLabels--shape","fullname":"plotOptions.polygon.dataLabels.shape","title":"shape","parent":"plotOptions-polygon-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"plotOptions-columnrange-dataLabels--shape","fullname":"plotOptions.columnrange.dataLabels.shape","title":"shape","parent":"plotOptions-columnrange-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"series-dataLabels--shape","fullname":"series.dataLabels.shape","title":"shape","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"plotOptions-spline-tooltip--shape","fullname":"plotOptions.spline.tooltip.shape","title":"shape","parent":"plotOptions-spline-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-area-tooltip--shape","fullname":"plotOptions.area.tooltip.shape","title":"shape","parent":"plotOptions-area-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-series-tooltip--shape","fullname":"plotOptions.series.tooltip.shape","title":"shape","parent":"plotOptions-series-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--shape","fullname":"series.tooltip.shape","title":"shape","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--shape","fullname":"series.tooltip.shape","title":"shape","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-arearange-tooltip--shape","fullname":"plotOptions.arearange.tooltip.shape","title":"shape","parent":"plotOptions-arearange-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline-dataLabels--shape","fullname":"plotOptions.areaspline.dataLabels.shape","title":"shape","parent":"plotOptions-areaspline-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"series-dataLabels--shape","fullname":"series.dataLabels.shape","title":"shape","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"series-tooltip--shape","fullname":"series.tooltip.shape","title":"shape","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--shape","fullname":"series.dataLabels.shape","title":"shape","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"series-tooltip--shape","fullname":"series.tooltip.shape","title":"shape","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--shape","fullname":"series.dataLabels.shape","title":"shape","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"series-dataLabels--shape","fullname":"series.dataLabels.shape","title":"shape","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"plotOptions-solidgauge-tooltip--shape","fullname":"plotOptions.solidgauge.tooltip.shape","title":"shape","parent":"plotOptions-solidgauge-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--shape","fullname":"series.tooltip.shape","title":"shape","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-solidgauge-dataLabels--shape","fullname":"plotOptions.solidgauge.dataLabels.shape","title":"shape","parent":"plotOptions-solidgauge-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"plotOptions-areasplinerange-dataLabels--shape","fullname":"plotOptions.areasplinerange.dataLabels.shape","title":"shape","parent":"plotOptions-areasplinerange-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"plotOptions-arearange-dataLabels--shape","fullname":"plotOptions.arearange.dataLabels.shape","title":"shape","parent":"plotOptions-arearange-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"plotOptions-gauge-dataLabels--shape","fullname":"plotOptions.gauge.dataLabels.shape","title":"shape","parent":"plotOptions-gauge-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"plotOptions-pie-tooltip--shape","fullname":"plotOptions.pie.tooltip.shape","title":"shape","parent":"plotOptions-pie-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"tooltip--shape","fullname":"tooltip.shape","title":"shape","parent":"tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--shape","fullname":"series.tooltip.shape","title":"shape","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--shape","fullname":"series.tooltip.shape","title":"shape","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bar-tooltip--shape","fullname":"plotOptions.bar.tooltip.shape","title":"shape","parent":"plotOptions-bar-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-column-dataLabels--shape","fullname":"plotOptions.column.dataLabels.shape","title":"shape","parent":"plotOptions-column-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"series-dataLabels--shape","fullname":"series.dataLabels.shape","title":"shape","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"plotOptions-scatter-tooltip--shape","fullname":"plotOptions.scatter.tooltip.shape","title":"shape","parent":"plotOptions-scatter-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--shape","fullname":"series.tooltip.shape","title":"shape","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-heatmap-dataLabels--shape","fullname":"plotOptions.heatmap.dataLabels.shape","title":"shape","parent":"plotOptions-heatmap-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"plotOptions-spline-dataLabels--shape","fullname":"plotOptions.spline.dataLabels.shape","title":"shape","parent":"plotOptions-spline-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"series-dataLabels--shape","fullname":"series.dataLabels.shape","title":"shape","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"plotOptions-bar-dataLabels--shape","fullname":"plotOptions.bar.dataLabels.shape","title":"shape","parent":"plotOptions-bar-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"plotOptions-series-dataLabels--shape","fullname":"plotOptions.series.dataLabels.shape","title":"shape","parent":"plotOptions-series-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"series-tooltip--shape","fullname":"series.tooltip.shape","title":"shape","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--shape","fullname":"series.tooltip.shape","title":"shape","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--shape","fullname":"series.tooltip.shape","title":"shape","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--shape","fullname":"series.dataLabels.shape","title":"shape","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"plotOptions-treemap-tooltip--shape","fullname":"plotOptions.treemap.tooltip.shape","title":"shape","parent":"plotOptions-treemap-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--shape","fullname":"series.tooltip.shape","title":"shape","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-scatter-dataLabels--shape","fullname":"plotOptions.scatter.dataLabels.shape","title":"shape","parent":"plotOptions-scatter-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"plotOptions-line-dataLabels--shape","fullname":"plotOptions.line.dataLabels.shape","title":"shape","parent":"plotOptions-line-dataLabels","isParent":false,"returnType":"String","defaults":"square","since":"4.1.2","description":"The name of a symbol to use for the border around the label. Symbols are predefined functions on the Renderer object.","demo":"A callout for annotations","deprecated":false},{"name":"series-tooltip--shape","fullname":"series.tooltip.shape","title":"shape","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--shape","fullname":"series.tooltip.shape","title":"shape","parent":"series-tooltip","isParent":false,"returnType":"String","defaults":"callout","values":"","since":"4.0","description":"The name of a symbol to use for the border around the tooltip. In Highcharts 3.x and less, the shape was square. ","demo":"","seeAlso":"","deprecated":false},{"name":"tooltip--shared","fullname":"tooltip.shared","title":"shared","parent":"tooltip","isParent":false,"returnType":"Boolean","defaults":"false","since":"2.1","description":"When the tooltip is shared, the entire plot area will capture mouse movement or touch events. Tooltip texts for series types with ordered data (not pie, scatter, flags etc) will be shown in a single bubble. This is recommended for single series charts and for tablet/mobile optimized charts.","demo":"False by default,\r\n\t\t\ttrue, \r\n\t\t\ttrue with x axis crosshair, \r\n\t\t\ttrue with mixed series types.","deprecated":false},{"name":"lang--shortMonths","fullname":"lang.shortMonths","title":"shortMonths","parent":"lang","isParent":false,"returnType":"Array","defaults":"[ \"Jan\" , \"Feb\" , \"Mar\" , \"Apr\" , \"May\" , \"Jun\" , \"Jul\" , \"Aug\" , \"Sep\" , \"Oct\" , \"Nov\" , \"Dec\"]","since":"","description":"An array containing the months names in abbreviated form. Corresponds to the \r %b format in Highcharts.dateFormat(). ","demo":"","seeAlso":"","deprecated":false},{"name":"series-events--show","fullname":"series.events.show","title":"show","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"series-events--show","fullname":"series.events.show","title":"show","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"plotOptions-columnrange-events--show","fullname":"plotOptions.columnrange.events.show","title":"show","parent":"plotOptions-columnrange-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"plotOptions-bubble-events--show","fullname":"plotOptions.bubble.events.show","title":"show","parent":"plotOptions-bubble-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"plotOptions-solidgauge-events--show","fullname":"plotOptions.solidgauge.events.show","title":"show","parent":"plotOptions-solidgauge-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"plotOptions-areasplinerange-events--show","fullname":"plotOptions.areasplinerange.events.show","title":"show","parent":"plotOptions-areasplinerange-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"plotOptions-gauge-events--show","fullname":"plotOptions.gauge.events.show","title":"show","parent":"plotOptions-gauge-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"plotOptions-area-events--show","fullname":"plotOptions.area.events.show","title":"show","parent":"plotOptions-area-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"series-events--show","fullname":"series.events.show","title":"show","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"plotOptions-pyramid-events--show","fullname":"plotOptions.pyramid.events.show","title":"show","parent":"plotOptions-pyramid-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"plotOptions-treemap-events--show","fullname":"plotOptions.treemap.events.show","title":"show","parent":"plotOptions-treemap-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"series-events--show","fullname":"series.events.show","title":"show","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"series-events--show","fullname":"series.events.show","title":"show","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"series-events--show","fullname":"series.events.show","title":"show","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"plotOptions-arearange-events--show","fullname":"plotOptions.arearange.events.show","title":"show","parent":"plotOptions-arearange-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"series-events--show","fullname":"series.events.show","title":"show","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"series-events--show","fullname":"series.events.show","title":"show","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"plotOptions-spline-events--show","fullname":"plotOptions.spline.events.show","title":"show","parent":"plotOptions-spline-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"series-events--show","fullname":"series.events.show","title":"show","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"series-events--show","fullname":"series.events.show","title":"show","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"plotOptions-series-events--show","fullname":"plotOptions.series.events.show","title":"show","parent":"plotOptions-series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"plotOptions-pie-events--show","fullname":"plotOptions.pie.events.show","title":"show","parent":"plotOptions-pie-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"series-events--show","fullname":"series.events.show","title":"show","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"series-events--show","fullname":"series.events.show","title":"show","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"plotOptions-bar-events--show","fullname":"plotOptions.bar.events.show","title":"show","parent":"plotOptions-bar-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"plotOptions-waterfall-events--show","fullname":"plotOptions.waterfall.events.show","title":"show","parent":"plotOptions-waterfall-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"series-events--show","fullname":"series.events.show","title":"show","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"plotOptions-polygon-events--show","fullname":"plotOptions.polygon.events.show","title":"show","parent":"plotOptions-polygon-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"plotOptions-errorbar-events--show","fullname":"plotOptions.errorbar.events.show","title":"show","parent":"plotOptions-errorbar-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"plotOptions-heatmap-events--show","fullname":"plotOptions.heatmap.events.show","title":"show","parent":"plotOptions-heatmap-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"series-events--show","fullname":"series.events.show","title":"show","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"series-events--show","fullname":"series.events.show","title":"show","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"series-events--show","fullname":"series.events.show","title":"show","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"series-events--show","fullname":"series.events.show","title":"show","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"series-events--show","fullname":"series.events.show","title":"show","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"plotOptions-column-events--show","fullname":"plotOptions.column.events.show","title":"show","parent":"plotOptions-column-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"plotOptions-areaspline-events--show","fullname":"plotOptions.areaspline.events.show","title":"show","parent":"plotOptions-areaspline-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"series-events--show","fullname":"series.events.show","title":"show","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"plotOptions-funnel-events--show","fullname":"plotOptions.funnel.events.show","title":"show","parent":"plotOptions-funnel-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"plotOptions-line-events--show","fullname":"plotOptions.line.events.show","title":"show","parent":"plotOptions-line-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"plotOptions-scatter-events--show","fullname":"plotOptions.scatter.events.show","title":"show","parent":"plotOptions-scatter-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"series-events--show","fullname":"series.events.show","title":"show","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"series-events--show","fullname":"series.events.show","title":"show","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"series-events--show","fullname":"series.events.show","title":"show","parent":"series-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"plotOptions-boxplot-events--show","fullname":"plotOptions.boxplot.events.show","title":"show","parent":"plotOptions-boxplot-events","isParent":false,"returnType":"Function","context":"Series","since":"1.2.0","description":"Fires when the series is shown after chart generation time, either by clicking the legend item or by calling .show().","demo":"Alert when the series is shown by clicking \r\n\t\t\tthe legend item.","deprecated":false},{"name":"chart--showAxes","fullname":"chart.showAxes","title":"showAxes","parent":"chart","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.5","description":"Whether to show the axes initially. This only applies to empty charts where series are added dynamically, as axes are automatically added to cartesian series.","demo":"False by default,\n\t\t\ttrue"},{"name":"series--showCheckbox","fullname":"series.showCheckbox","title":"showCheckbox","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"plotOptions-scatter--showCheckbox","fullname":"plotOptions.scatter.showCheckbox","title":"showCheckbox","parent":"plotOptions-scatter","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"plotOptions-waterfall--showCheckbox","fullname":"plotOptions.waterfall.showCheckbox","title":"showCheckbox","parent":"plotOptions-waterfall","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"plotOptions-boxplot--showCheckbox","fullname":"plotOptions.boxplot.showCheckbox","title":"showCheckbox","parent":"plotOptions-boxplot","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"series--showCheckbox","fullname":"series.showCheckbox","title":"showCheckbox","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"series--showCheckbox","fullname":"series.showCheckbox","title":"showCheckbox","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"series--showCheckbox","fullname":"series.showCheckbox","title":"showCheckbox","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"plotOptions-heatmap--showCheckbox","fullname":"plotOptions.heatmap.showCheckbox","title":"showCheckbox","parent":"plotOptions-heatmap","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"series--showCheckbox","fullname":"series.showCheckbox","title":"showCheckbox","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"plotOptions-line--showCheckbox","fullname":"plotOptions.line.showCheckbox","title":"showCheckbox","parent":"plotOptions-line","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"series--showCheckbox","fullname":"series.showCheckbox","title":"showCheckbox","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"plotOptions-spline--showCheckbox","fullname":"plotOptions.spline.showCheckbox","title":"showCheckbox","parent":"plotOptions-spline","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"plotOptions-bubble--showCheckbox","fullname":"plotOptions.bubble.showCheckbox","title":"showCheckbox","parent":"plotOptions-bubble","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"series--showCheckbox","fullname":"series.showCheckbox","title":"showCheckbox","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"series--showCheckbox","fullname":"series.showCheckbox","title":"showCheckbox","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"series--showCheckbox","fullname":"series.showCheckbox","title":"showCheckbox","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"series--showCheckbox","fullname":"series.showCheckbox","title":"showCheckbox","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"series--showCheckbox","fullname":"series.showCheckbox","title":"showCheckbox","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"series--showCheckbox","fullname":"series.showCheckbox","title":"showCheckbox","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"plotOptions-columnrange--showCheckbox","fullname":"plotOptions.columnrange.showCheckbox","title":"showCheckbox","parent":"plotOptions-columnrange","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"plotOptions-treemap--showCheckbox","fullname":"plotOptions.treemap.showCheckbox","title":"showCheckbox","parent":"plotOptions-treemap","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"series--showCheckbox","fullname":"series.showCheckbox","title":"showCheckbox","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"plotOptions-areaspline--showCheckbox","fullname":"plotOptions.areaspline.showCheckbox","title":"showCheckbox","parent":"plotOptions-areaspline","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"series--showCheckbox","fullname":"series.showCheckbox","title":"showCheckbox","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"plotOptions-bar--showCheckbox","fullname":"plotOptions.bar.showCheckbox","title":"showCheckbox","parent":"plotOptions-bar","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"plotOptions-polygon--showCheckbox","fullname":"plotOptions.polygon.showCheckbox","title":"showCheckbox","parent":"plotOptions-polygon","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"plotOptions-column--showCheckbox","fullname":"plotOptions.column.showCheckbox","title":"showCheckbox","parent":"plotOptions-column","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"plotOptions-series--showCheckbox","fullname":"plotOptions.series.showCheckbox","title":"showCheckbox","parent":"plotOptions-series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"series--showCheckbox","fullname":"series.showCheckbox","title":"showCheckbox","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"plotOptions-solidgauge--showCheckbox","fullname":"plotOptions.solidgauge.showCheckbox","title":"showCheckbox","parent":"plotOptions-solidgauge","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"plotOptions-area--showCheckbox","fullname":"plotOptions.area.showCheckbox","title":"showCheckbox","parent":"plotOptions-area","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"series--showCheckbox","fullname":"series.showCheckbox","title":"showCheckbox","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"plotOptions-gauge--showCheckbox","fullname":"plotOptions.gauge.showCheckbox","title":"showCheckbox","parent":"plotOptions-gauge","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"series--showCheckbox","fullname":"series.showCheckbox","title":"showCheckbox","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"plotOptions-areasplinerange--showCheckbox","fullname":"plotOptions.areasplinerange.showCheckbox","title":"showCheckbox","parent":"plotOptions-areasplinerange","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"series--showCheckbox","fullname":"series.showCheckbox","title":"showCheckbox","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"plotOptions-arearange--showCheckbox","fullname":"plotOptions.arearange.showCheckbox","title":"showCheckbox","parent":"plotOptions-arearange","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"If true, a checkbox is displayed next to the legend item to allow selecting the series. The state of the checkbox is determined by the selected option.","demo":"Show select box"},{"name":"loading--showDuration","fullname":"loading.showDuration","title":"showDuration","parent":"loading","isParent":false,"returnType":"Number","defaults":"100","since":"1.2.0","description":"The duration in milliseconds of the fade in effect.","demo":"Fade in and out over a second"},{"name":"xAxis--showEmpty","fullname":"xAxis.showEmpty","title":"showEmpty","parent":"xAxis","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.1","description":"Whether to show the axis line and title when the axis has no data.","demo":"When clicking the legend to hide series, one axis preserves line and title, the other doesn't","deprecated":false},{"name":"yAxis--showEmpty","fullname":"yAxis.showEmpty","title":"showEmpty","parent":"yAxis","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.1","description":"Whether to show the axis line and title when the axis has no data.","demo":"When clicking the legend to hide series, one axis preserves line and title, the other doesn't","deprecated":false},{"name":"yAxis--showFirstLabel","fullname":"yAxis.showFirstLabel","title":"showFirstLabel","parent":"yAxis","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to show the first tick label.","demo":"Set to false on X axis"},{"name":"xAxis--showFirstLabel","fullname":"xAxis.showFirstLabel","title":"showFirstLabel","parent":"xAxis","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to show the first tick label.","demo":"Set to false on X axis"},{"name":"series--showInLegend","fullname":"series.showInLegend","title":"showInLegend","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"series--showInLegend","fullname":"series.showInLegend","title":"showInLegend","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"series--showInLegend","fullname":"series.showInLegend","title":"showInLegend","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"series--showInLegend","fullname":"series.showInLegend","title":"showInLegend","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to display this particular series or series type in the legend. Since 2.1, pies are not shown in the legend by default.","demo":"One series in the legend, one hidden"},{"name":"plotOptions-gauge--showInLegend","fullname":"plotOptions.gauge.showInLegend","title":"showInLegend","parent":"plotOptions-gauge","isParent":false,"returnType":"Boolean","since":"2.3.0","description":"Whether to display this particular series or series type in the legend. Defaults to false for gauge series.","demo":"","deprecated":false},{"name":"plotOptions-series--showInLegend","fullname":"plotOptions.series.showInLegend","title":"showInLegend","parent":"plotOptions-series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"plotOptions-waterfall--showInLegend","fullname":"plotOptions.waterfall.showInLegend","title":"showInLegend","parent":"plotOptions-waterfall","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"series--showInLegend","fullname":"series.showInLegend","title":"showInLegend","parent":"series","isParent":false,"returnType":"Boolean","since":"2.3.0","description":"Whether to display this particular series or series type in the legend. Defaults to false for gauge series.","demo":"","deprecated":false},{"name":"series--showInLegend","fullname":"series.showInLegend","title":"showInLegend","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to display this particular series or series type in the legend. Since 2.1, pies are not shown in the legend by default.","demo":"One series in the legend, one hidden"},{"name":"plotOptions-areasplinerange--showInLegend","fullname":"plotOptions.areasplinerange.showInLegend","title":"showInLegend","parent":"plotOptions-areasplinerange","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"series--showInLegend","fullname":"series.showInLegend","title":"showInLegend","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"plotOptions-arearange--showInLegend","fullname":"plotOptions.arearange.showInLegend","title":"showInLegend","parent":"plotOptions-arearange","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"series--showInLegend","fullname":"series.showInLegend","title":"showInLegend","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"plotOptions-boxplot--showInLegend","fullname":"plotOptions.boxplot.showInLegend","title":"showInLegend","parent":"plotOptions-boxplot","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"plotOptions-polygon--showInLegend","fullname":"plotOptions.polygon.showInLegend","title":"showInLegend","parent":"plotOptions-polygon","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"series--showInLegend","fullname":"series.showInLegend","title":"showInLegend","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to display this particular series or series type in the legend. Since 2.1, pies are not shown in the legend by default.","demo":"One series in the legend, one hidden"},{"name":"plotOptions-bar--showInLegend","fullname":"plotOptions.bar.showInLegend","title":"showInLegend","parent":"plotOptions-bar","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"series--showInLegend","fullname":"series.showInLegend","title":"showInLegend","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"series--showInLegend","fullname":"series.showInLegend","title":"showInLegend","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"plotOptions-bubble--showInLegend","fullname":"plotOptions.bubble.showInLegend","title":"showInLegend","parent":"plotOptions-bubble","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"plotOptions-heatmap--showInLegend","fullname":"plotOptions.heatmap.showInLegend","title":"showInLegend","parent":"plotOptions-heatmap","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"series--showInLegend","fullname":"series.showInLegend","title":"showInLegend","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"plotOptions-funnel--showInLegend","fullname":"plotOptions.funnel.showInLegend","title":"showInLegend","parent":"plotOptions-funnel","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to display this particular series or series type in the legend. Since 2.1, pies are not shown in the legend by default.","demo":"One series in the legend, one hidden"},{"name":"plotOptions-column--showInLegend","fullname":"plotOptions.column.showInLegend","title":"showInLegend","parent":"plotOptions-column","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"plotOptions-scatter--showInLegend","fullname":"plotOptions.scatter.showInLegend","title":"showInLegend","parent":"plotOptions-scatter","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"series--showInLegend","fullname":"series.showInLegend","title":"showInLegend","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"plotOptions-columnrange--showInLegend","fullname":"plotOptions.columnrange.showInLegend","title":"showInLegend","parent":"plotOptions-columnrange","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"plotOptions-pie--showInLegend","fullname":"plotOptions.pie.showInLegend","title":"showInLegend","parent":"plotOptions-pie","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to display this particular series or series type in the legend. Since 2.1, pies are not shown in the legend by default.","demo":"One series in the legend, one hidden"},{"name":"plotOptions-solidgauge--showInLegend","fullname":"plotOptions.solidgauge.showInLegend","title":"showInLegend","parent":"plotOptions-solidgauge","isParent":false,"returnType":"Boolean","since":"2.3.0","description":"Whether to display this particular series or series type in the legend. Defaults to false for gauge series.","demo":"","deprecated":false},{"name":"plotOptions-areaspline--showInLegend","fullname":"plotOptions.areaspline.showInLegend","title":"showInLegend","parent":"plotOptions-areaspline","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"series--showInLegend","fullname":"series.showInLegend","title":"showInLegend","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"series--showInLegend","fullname":"series.showInLegend","title":"showInLegend","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"plotOptions-area--showInLegend","fullname":"plotOptions.area.showInLegend","title":"showInLegend","parent":"plotOptions-area","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"plotOptions-treemap--showInLegend","fullname":"plotOptions.treemap.showInLegend","title":"showInLegend","parent":"plotOptions-treemap","isParent":false,"returnType":"Boolean","context":"","defaults":"false","values":"","since":"","description":"Whether to display this series type or specific series item in the legend.","demo":"","seeAlso":"","deprecated":false},{"name":"series--showInLegend","fullname":"series.showInLegend","title":"showInLegend","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"series--showInLegend","fullname":"series.showInLegend","title":"showInLegend","parent":"series","isParent":false,"returnType":"Boolean","since":"2.3.0","description":"Whether to display this particular series or series type in the legend. Defaults to false for gauge series.","demo":"","deprecated":false},{"name":"series--showInLegend","fullname":"series.showInLegend","title":"showInLegend","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"plotOptions-line--showInLegend","fullname":"plotOptions.line.showInLegend","title":"showInLegend","parent":"plotOptions-line","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"plotOptions-spline--showInLegend","fullname":"plotOptions.spline.showInLegend","title":"showInLegend","parent":"plotOptions-spline","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"series--showInLegend","fullname":"series.showInLegend","title":"showInLegend","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"series--showInLegend","fullname":"series.showInLegend","title":"showInLegend","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to display this particular series or series type in the legend. The default value is true for standalone series, false for linked series.","demo":"One series in the legend, one hidden","deprecated":false},{"name":"series--showInLegend","fullname":"series.showInLegend","title":"showInLegend","parent":"series","isParent":false,"returnType":"Boolean","context":"","defaults":"false","values":"","since":"","description":"Whether to display this series type or specific series item in the legend.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid--showInLegend","fullname":"plotOptions.pyramid.showInLegend","title":"showInLegend","parent":"plotOptions-pyramid","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to display this particular series or series type in the legend. Since 2.1, pies are not shown in the legend by default.","demo":"One series in the legend, one hidden"},{"name":"yAxis--showLastLabel","fullname":"yAxis.showLastLabel","title":"showLastLabel","parent":"yAxis","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to show the last tick label.","demo":"Set to true on X axis"},{"name":"xAxis--showLastLabel","fullname":"xAxis.showLastLabel","title":"showLastLabel","parent":"xAxis","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to show the last tick label.","demo":"Set to true on X axis","deprecated":false},{"name":"chart-options3d-frame-side","fullname":"chart.options3d.frame.side","title":"side","parent":"chart-options3d-frame","isParent":true,"returnType":"","defaults":"","values":"","since":"4.0","description":"The side for the frame around a 3D chart.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--size","fullname":"series.states.hover.halo.size","title":"size","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline-states-hover-halo--size","fullname":"plotOptions.areaspline.states.hover.halo.size","title":"size","parent":"plotOptions-areaspline-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-heatmap-states-hover-halo--size","fullname":"plotOptions.heatmap.states.hover.halo.size","title":"size","parent":"plotOptions-heatmap-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--size","fullname":"series.states.hover.halo.size","title":"size","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--size","fullname":"series.states.hover.halo.size","title":"size","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"pane--size","fullname":"pane.size","title":"size","parent":"pane","isParent":false,"returnType":"Number|String","defaults":"85%","description":"The size of the pane, either as a number defining pixels, or a percentage defining a percentage of the plot are.","demo":"Smaller size","deprecated":false},{"name":"series--size","fullname":"series.size","title":"size","parent":"series","isParent":false,"returnType":"String|Number","defaults":" ","description":"The diameter of the pie relative to the plot area. Can be a percentage or pixel value. Pixel values are given as integers. The default behaviour (as of 3.0) is to scale to the plot area and give room for data labels within the plot area. As a consequence, the size of the pie may vary when points are updated and data labels more around. In that case it is best to set a fixed value, for example \"75%\".","demo":"Smaller pie","deprecated":false},{"name":"chart-options3d-frame-back--size","fullname":"chart.options3d.frame.back.size","title":"size","parent":"chart-options3d-frame-back","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0","description":"Thickness of the panel.","demo":"","seeAlso":"","deprecated":false},{"name":"chart-options3d-frame-bottom--size","fullname":"chart.options3d.frame.bottom.size","title":"size","parent":"chart-options3d-frame-bottom","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0","description":"The thickness of the panel.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-treemap-states-hover-halo--size","fullname":"plotOptions.treemap.states.hover.halo.size","title":"size","parent":"plotOptions-treemap-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--size","fullname":"series.states.hover.halo.size","title":"size","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon-states-hover-halo--size","fullname":"plotOptions.polygon.states.hover.halo.size","title":"size","parent":"plotOptions-polygon-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--size","fullname":"series.states.hover.halo.size","title":"size","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-waterfall-states-hover-halo--size","fullname":"plotOptions.waterfall.states.hover.halo.size","title":"size","parent":"plotOptions-waterfall-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pie-states-hover-halo--size","fullname":"plotOptions.pie.states.hover.halo.size","title":"size","parent":"plotOptions-pie-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--size","fullname":"series.states.hover.halo.size","title":"size","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--size","fullname":"series.states.hover.halo.size","title":"size","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-column-states-hover-halo--size","fullname":"plotOptions.column.states.hover.halo.size","title":"size","parent":"plotOptions-column-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble-states-hover-halo--size","fullname":"plotOptions.bubble.states.hover.halo.size","title":"size","parent":"plotOptions-bubble-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-series-states-hover-halo--size","fullname":"plotOptions.series.states.hover.halo.size","title":"size","parent":"plotOptions-series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-scatter-states-hover-halo--size","fullname":"plotOptions.scatter.states.hover.halo.size","title":"size","parent":"plotOptions-scatter-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange-states-hover-halo--size","fullname":"plotOptions.columnrange.states.hover.halo.size","title":"size","parent":"plotOptions-columnrange-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"chart-options3d-frame-side--size","fullname":"chart.options3d.frame.side.size","title":"size","parent":"chart-options3d-frame-side","isParent":false,"returnType":"Number","defaults":"1","values":"","since":"4.0","description":"The thickness of the panel.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-funnel-states-hover-halo--size","fullname":"plotOptions.funnel.states.hover.halo.size","title":"size","parent":"plotOptions-funnel-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--size","fullname":"series.states.hover.halo.size","title":"size","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--size","fullname":"series.states.hover.halo.size","title":"size","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--size","fullname":"series.states.hover.halo.size","title":"size","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-area-states-hover-halo--size","fullname":"plotOptions.area.states.hover.halo.size","title":"size","parent":"plotOptions-area-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--size","fullname":"series.states.hover.halo.size","title":"size","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--size","fullname":"series.states.hover.halo.size","title":"size","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--size","fullname":"series.states.hover.halo.size","title":"size","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-boxplot-states-hover-halo--size","fullname":"plotOptions.boxplot.states.hover.halo.size","title":"size","parent":"plotOptions-boxplot-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid-states-hover-halo--size","fullname":"plotOptions.pyramid.states.hover.halo.size","title":"size","parent":"plotOptions-pyramid-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--size","fullname":"series.states.hover.halo.size","title":"size","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--size","fullname":"series.states.hover.halo.size","title":"size","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-line-states-hover-halo--size","fullname":"plotOptions.line.states.hover.halo.size","title":"size","parent":"plotOptions-line-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bar-states-hover-halo--size","fullname":"plotOptions.bar.states.hover.halo.size","title":"size","parent":"plotOptions-bar-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--size","fullname":"series.states.hover.halo.size","title":"size","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-errorbar-states-hover-halo--size","fullname":"plotOptions.errorbar.states.hover.halo.size","title":"size","parent":"plotOptions-errorbar-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pie--size","fullname":"plotOptions.pie.size","title":"size","parent":"plotOptions-pie","isParent":false,"returnType":"String|Number","defaults":" ","description":"The diameter of the pie relative to the plot area. Can be a percentage or pixel value. Pixel values are given as integers. The default behaviour (as of 3.0) is to scale to the plot area and give room for data labels within the plot area. As a consequence, the size of the pie may vary when points are updated and data labels more around. In that case it is best to set a fixed value, for example \"75%\".","demo":"Smaller pie","deprecated":false},{"name":"plotOptions-solidgauge-states-hover-halo--size","fullname":"plotOptions.solidgauge.states.hover.halo.size","title":"size","parent":"plotOptions-solidgauge-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-areasplinerange-states-hover-halo--size","fullname":"plotOptions.areasplinerange.states.hover.halo.size","title":"size","parent":"plotOptions-areasplinerange-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--size","fullname":"series.states.hover.halo.size","title":"size","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-spline-states-hover-halo--size","fullname":"plotOptions.spline.states.hover.halo.size","title":"size","parent":"plotOptions-spline-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-gauge-states-hover-halo--size","fullname":"plotOptions.gauge.states.hover.halo.size","title":"size","parent":"plotOptions-gauge-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--size","fullname":"series.states.hover.halo.size","title":"size","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--size","fullname":"series.states.hover.halo.size","title":"size","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--size","fullname":"series.states.hover.halo.size","title":"size","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-arearange-states-hover-halo--size","fullname":"plotOptions.arearange.states.hover.halo.size","title":"size","parent":"plotOptions-arearange-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--size","fullname":"series.states.hover.halo.size","title":"size","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-halo--size","fullname":"series.states.hover.halo.size","title":"size","parent":"series-states-hover-halo","isParent":false,"returnType":"Number","defaults":"10","values":"","since":"4.0","description":"The pixel size of the halo. For point markers this is the radius of the halo. For pie slices it is the width of the halo outside the slice. For bubbles it defaults to 5 and is the width of the halo outside the bubble.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble--sizeBy","fullname":"plotOptions.bubble.sizeBy","title":"sizeBy","parent":"plotOptions-bubble","isParent":false,"returnType":"String","defaults":"area","values":"[\"area\", \"width\"]","since":"3.0.7","description":"Whether the bubble's value should be represented by the area or the width of the bubble. The default, area, corresponds best to the human perception of the size of each bubble. ","demo":" Comparison of area and size","seeAlso":"","deprecated":false},{"name":"series--sizeBy","fullname":"series.sizeBy","title":"sizeBy","parent":"series","isParent":false,"returnType":"String","defaults":"area","values":"[\"area\", \"width\"]","since":"3.0.7","description":"Whether the bubble's value should be represented by the area or the width of the bubble. The default, area, corresponds best to the human perception of the size of each bubble. ","demo":" Comparison of area and size","seeAlso":"","deprecated":false},{"name":"series-data--sliced","fullname":"series.data.sliced","title":"sliced","parent":"series-data","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to display a slice offset from the center.","demo":"One sliced point"},{"name":"plotOptions-funnel--slicedOffset","fullname":"plotOptions.funnel.slicedOffset","title":"slicedOffset","parent":"plotOptions-funnel","isParent":false,"returnType":"Number","defaults":"10","description":"If a point is sliced, moved out from the center, how many pixels should it be moved?.","demo":"20px offset"},{"name":"series--slicedOffset","fullname":"series.slicedOffset","title":"slicedOffset","parent":"series","isParent":false,"returnType":"Number","defaults":"10","description":"If a point is sliced, moved out from the center, how many pixels should it be moved?.","demo":"20px offset"},{"name":"series--slicedOffset","fullname":"series.slicedOffset","title":"slicedOffset","parent":"series","isParent":false,"returnType":"Number","defaults":"10","description":"If a point is sliced, moved out from the center, how many pixels should it be moved?.","demo":"20px offset"},{"name":"plotOptions-pyramid--slicedOffset","fullname":"plotOptions.pyramid.slicedOffset","title":"slicedOffset","parent":"plotOptions-pyramid","isParent":false,"returnType":"Number","defaults":"10","description":"If a point is sliced, moved out from the center, how many pixels should it be moved?.","demo":"20px offset"},{"name":"series--slicedOffset","fullname":"series.slicedOffset","title":"slicedOffset","parent":"series","isParent":false,"returnType":"Number","defaults":"10","description":"If a point is sliced, moved out from the center, how many pixels should it be moved?.","demo":"20px offset"},{"name":"plotOptions-pie--slicedOffset","fullname":"plotOptions.pie.slicedOffset","title":"slicedOffset","parent":"plotOptions-pie","isParent":false,"returnType":"Number","defaults":"10","description":"If a point is sliced, moved out from the center, how many pixels should it be moved?.","demo":"20px offset"},{"name":"tooltip--snap","fullname":"tooltip.snap","title":"snap","parent":"tooltip","isParent":false,"returnType":"Number","since":"1.2.0","description":"Proximity snap for graphs or single points. Does not apply to bars, columns and pie slices. It defaults to 10 for mouse-powered devices and 25 for touch devices. Note that since Highcharts 4.1 the whole plot area by default captures pointer events in order to show the tooltip, so for tooltip.snap to make sense, stickyTracking must be false.","demo":"10 px by default,\r\n\t\t\t50 px on graph","deprecated":false},{"name":"series-dataLabels--softConnector","fullname":"series.dataLabels.softConnector","title":"softConnector","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.1.7","description":"Whether to render the connector as a soft arc or a line with sharp break.","demo":"Soft,\n\t\t\tnon soft connectors."},{"name":"series-dataLabels--softConnector","fullname":"series.dataLabels.softConnector","title":"softConnector","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.1.7","description":"Whether to render the connector as a soft arc or a line with sharp break.","demo":"Soft,\n\t\t\tnon soft connectors."},{"name":"plotOptions-pie-dataLabels--softConnector","fullname":"plotOptions.pie.dataLabels.softConnector","title":"softConnector","parent":"plotOptions-pie-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.1.7","description":"Whether to render the connector as a soft arc or a line with sharp break.","demo":"Soft,\n\t\t\tnon soft connectors."},{"name":"plotOptions-pyramid-dataLabels--softConnector","fullname":"plotOptions.pyramid.dataLabels.softConnector","title":"softConnector","parent":"plotOptions-pyramid-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.1.7","description":"Whether to render the connector as a soft arc or a line with sharp break.","demo":"Soft,\n\t\t\tnon soft connectors."},{"name":"series-dataLabels--softConnector","fullname":"series.dataLabels.softConnector","title":"softConnector","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.1.7","description":"Whether to render the connector as a soft arc or a line with sharp break.","demo":"Soft,\n\t\t\tnon soft connectors."},{"name":"plotOptions-funnel-dataLabels--softConnector","fullname":"plotOptions.funnel.dataLabels.softConnector","title":"softConnector","parent":"plotOptions-funnel-dataLabels","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.1.7","description":"Whether to render the connector as a soft arc or a line with sharp break.","demo":"Soft,\n\t\t\tnon soft connectors."},{"name":"plotOptions-solidgauge","fullname":"plotOptions.solidgauge","title":"solidgauge","parent":"plotOptions","isParent":true,"returnType":"Object","since":"4.0","description":"A gauge showing values using a filled arc with colors indicating the value. The solid gauge plots values against the yAxis, which is extended with some color options, minColor, maxColor and stops, to control the color of the gauge itself.","demo":"Solid gauge","deprecated":false},{"name":"exporting--sourceHeight","fullname":"exporting.sourceHeight","title":"sourceHeight","parent":"exporting","isParent":false,"returnType":"Number","defaults":"","values":"","since":"3.0","description":"Analogous to sourceWidth","demo":"","seeAlso":"","deprecated":false},{"name":"exporting--sourceWidth","fullname":"exporting.sourceWidth","title":"sourceWidth","parent":"exporting","isParent":false,"returnType":"Number","defaults":"","values":"","since":"3.0","description":"The width of the original chart when exported, unless an explicit chart.width is set. The width exported raster image is then multiplied by scale.","demo":"Source size demo","seeAlso":"","deprecated":false},{"name":"chart--spacing","fullname":"chart.spacing","title":"spacing","parent":"chart","isParent":false,"returnType":"Array","defaults":"[10, 10, 15, 10]","values":"","since":"3.0.6","description":"The distance between the outer edge of the chart and the content, like title, legend, axis title or labels. The numbers in the array designate top, right, bottom and left respectively. Use the options spacingTop, spacingRight, spacingBottom and spacingLeft options for shorthand setting of one option.","demo":"","seeAlso":"chart.margin","deprecated":false},{"name":"chart--spacingBottom","fullname":"chart.spacingBottom","title":"spacingBottom","parent":"chart","isParent":false,"returnType":"Number","defaults":"15","since":"2.1","description":"

The space between the bottom edge of the chart and the content (plot area, axis title and labels, title, subtitle or \r legend in top position).

","demo":"Spacing bottom set to 100.","deprecated":false},{"name":"chart--spacingLeft","fullname":"chart.spacingLeft","title":"spacingLeft","parent":"chart","isParent":false,"returnType":"Number","defaults":"10","since":"2.1","description":"

The space between the left edge of the chart and the content (plot area, axis title and labels, title, subtitle or \r legend in top position).

","demo":"Spacing left set to 100","deprecated":false},{"name":"chart--spacingRight","fullname":"chart.spacingRight","title":"spacingRight","parent":"chart","isParent":false,"returnType":"Number","defaults":"10","since":"2.1","description":"

The space between the right edge of the chart and the content (plot area, axis title and labels, title, subtitle or \r legend in top position).

","demo":"Spacing set to 100,\r\n\t\t\tlegend in right position with default spacing","deprecated":false},{"name":"chart--spacingTop","fullname":"chart.spacingTop","title":"spacingTop","parent":"chart","isParent":false,"returnType":"Number","defaults":"10","since":"2.1","description":"

The space between the top edge of the chart and the content (plot area, axis title and labels, title, subtitle or \r\n legend in top position).

","demo":"A top spacing of 100,\r\n\t\t\tfloating chart title makes the plot area align to the \r\n\t\t\tdefault spacingTop of 10..","deprecated":false},{"name":"plotOptions-spline","fullname":"plotOptions.spline","title":"spline","parent":"plotOptions","isParent":true},{"name":"series--stack","fullname":"series.stack","title":"stack","parent":"series","isParent":false,"returnType":"String","since":"2.1","description":"This option allows grouping series in a stacked chart. The stack option can be a string or a number or anything else, as long as the grouped series' stack options match each other.","demo":"Stacked and grouped columns","deprecated":false},{"name":"series--stack","fullname":"series.stack","title":"stack","parent":"series","isParent":false,"returnType":"String","since":"2.1","description":"This option allows grouping series in a stacked chart. The stack option can be a string or a number or anything else, as long as the grouped series' stack options match each other.","demo":"Stacked and grouped columns","deprecated":false},{"name":"series--stack","fullname":"series.stack","title":"stack","parent":"series","isParent":false,"returnType":"String","since":"2.1","description":"This option allows grouping series in a stacked chart. The stack option can be a string or a number or anything else, as long as the grouped series' stack options match each other.","demo":"Stacked and grouped columns","deprecated":false},{"name":"series--stack","fullname":"series.stack","title":"stack","parent":"series","isParent":false,"returnType":"String","since":"2.1","description":"This option allows grouping series in a stacked chart. The stack option can be a string or a number or anything else, as long as the grouped series' stack options match each other.","demo":"Stacked and grouped columns","deprecated":false},{"name":"series--stack","fullname":"series.stack","title":"stack","parent":"series","isParent":false,"returnType":"String","since":"2.1","description":"This option allows grouping series in a stacked chart. The stack option can be a string or a number or anything else, as long as the grouped series' stack options match each other.","demo":"Stacked and grouped columns","deprecated":false},{"name":"series--stack","fullname":"series.stack","title":"stack","parent":"series","isParent":false,"returnType":"String","since":"2.1","description":"This option allows grouping series in a stacked chart. The stack option can be a string or a number or anything else, as long as the grouped series' stack options match each other.","demo":"Stacked and grouped columns","deprecated":false},{"name":"series--stack","fullname":"series.stack","title":"stack","parent":"series","isParent":false,"returnType":"String","since":"2.1","description":"This option allows grouping series in a stacked chart. The stack option can be a string or a number or anything else, as long as the grouped series' stack options match each other.","demo":"Stacked and grouped columns","deprecated":false},{"name":"series--stack","fullname":"series.stack","title":"stack","parent":"series","isParent":false,"returnType":"String","since":"2.1","description":"This option allows grouping series in a stacked chart. The stack option can be a string or a number or anything else, as long as the grouped series' stack options match each other.","demo":"Stacked and grouped columns","deprecated":false},{"name":"yAxis-stackLabels","fullname":"yAxis.stackLabels","title":"stackLabels","parent":"yAxis","isParent":true,"description":"The stack labels show the total value for each bar in a stacked column or bar chart. The label will be placed on top of\n\tpositive columns and below negative columns. In case of an inverted column chart or a bar chart the label is placed to \n\tthe right of positive bars and to the left of negative bars."},{"name":"series--stacking","fullname":"series.stacking","title":"stacking","parent":"series","isParent":false,"returnType":"String","values":"[null, \"normal\", \"percent\"]","description":"Whether to stack the values of each series on top of each other. Possible values are null to disable, \"normal\" to stack by value or \"percent\".","demo":"Line,\r\n\t\t\tcolumn,\r\n\t\t\tbar,\r\n\t\t\tarea with \"normal\" stacking. \r\n\t\t\tLine,\r\n\t\t\tcolumn,\r\n\t\t\tbar,\r\n\t\t\tarea with \"percent\" stacking.","seeAlso":"yAxis.reversedStacks","deprecated":false},{"name":"plotOptions-column--stacking","fullname":"plotOptions.column.stacking","title":"stacking","parent":"plotOptions-column","isParent":false,"returnType":"String","values":"[null, \"normal\", \"percent\"]","description":"Whether to stack the values of each series on top of each other. Possible values are null to disable, \"normal\" to stack by value or \"percent\".","demo":"Line,\r\n\t\t\tcolumn,\r\n\t\t\tbar,\r\n\t\t\tarea with \"normal\" stacking. \r\n\t\t\tLine,\r\n\t\t\tcolumn,\r\n\t\t\tbar,\r\n\t\t\tarea with \"percent\" stacking.","seeAlso":"yAxis.reversedStacks","deprecated":false},{"name":"series--stacking","fullname":"series.stacking","title":"stacking","parent":"series","isParent":false,"returnType":"String","values":"[null, \"normal\", \"percent\"]","description":"Whether to stack the values of each series on top of each other. Possible values are null to disable, \"normal\" to stack by value or \"percent\".","demo":"Line,\r\n\t\t\tcolumn,\r\n\t\t\tbar,\r\n\t\t\tarea with \"normal\" stacking. \r\n\t\t\tLine,\r\n\t\t\tcolumn,\r\n\t\t\tbar,\r\n\t\t\tarea with \"percent\" stacking.","seeAlso":"yAxis.reversedStacks","deprecated":false},{"name":"series--stacking","fullname":"series.stacking","title":"stacking","parent":"series","isParent":false,"returnType":"String","values":"[null, \"normal\", \"percent\"]","description":"Whether to stack the values of each series on top of each other. Possible values are null to disable, \"normal\" to stack by value or \"percent\".","demo":"Line,\r\n\t\t\tcolumn,\r\n\t\t\tbar,\r\n\t\t\tarea with \"normal\" stacking. \r\n\t\t\tLine,\r\n\t\t\tcolumn,\r\n\t\t\tbar,\r\n\t\t\tarea with \"percent\" stacking.","seeAlso":"yAxis.reversedStacks","deprecated":false},{"name":"plotOptions-line--stacking","fullname":"plotOptions.line.stacking","title":"stacking","parent":"plotOptions-line","isParent":false,"returnType":"String","values":"[null, \"normal\", \"percent\"]","description":"Whether to stack the values of each series on top of each other. Possible values are null to disable, \"normal\" to stack by value or \"percent\".","demo":"Line,\r\n\t\t\tcolumn,\r\n\t\t\tbar,\r\n\t\t\tarea with \"normal\" stacking. \r\n\t\t\tLine,\r\n\t\t\tcolumn,\r\n\t\t\tbar,\r\n\t\t\tarea with \"percent\" stacking.","seeAlso":"yAxis.reversedStacks","deprecated":false},{"name":"plotOptions-area--stacking","fullname":"plotOptions.area.stacking","title":"stacking","parent":"plotOptions-area","isParent":false,"returnType":"String","values":"[null, \"normal\", \"percent\"]","description":"Whether to stack the values of each series on top of each other. Possible values are null to disable, \"normal\" to stack by value or \"percent\".","demo":"Line,\r\n\t\t\tcolumn,\r\n\t\t\tbar,\r\n\t\t\tarea with \"normal\" stacking. \r\n\t\t\tLine,\r\n\t\t\tcolumn,\r\n\t\t\tbar,\r\n\t\t\tarea with \"percent\" stacking.","seeAlso":"yAxis.reversedStacks","deprecated":false},{"name":"plotOptions-spline--stacking","fullname":"plotOptions.spline.stacking","title":"stacking","parent":"plotOptions-spline","isParent":false,"returnType":"String","values":"[null, \"normal\", \"percent\"]","description":"Whether to stack the values of each series on top of each other. Possible values are null to disable, \"normal\" to stack by value or \"percent\".","demo":"Line,\r\n\t\t\tcolumn,\r\n\t\t\tbar,\r\n\t\t\tarea with \"normal\" stacking. \r\n\t\t\tLine,\r\n\t\t\tcolumn,\r\n\t\t\tbar,\r\n\t\t\tarea with \"percent\" stacking.","seeAlso":"yAxis.reversedStacks","deprecated":false},{"name":"series--stacking","fullname":"series.stacking","title":"stacking","parent":"series","isParent":false,"returnType":"String","values":"[null, \"normal\", \"percent\"]","description":"Whether to stack the values of each series on top of each other. Possible values are null to disable, \"normal\" to stack by value or \"percent\".","demo":"Line,\r\n\t\t\tcolumn,\r\n\t\t\tbar,\r\n\t\t\tarea with \"normal\" stacking. \r\n\t\t\tLine,\r\n\t\t\tcolumn,\r\n\t\t\tbar,\r\n\t\t\tarea with \"percent\" stacking.","seeAlso":"yAxis.reversedStacks","deprecated":false},{"name":"plotOptions-bar--stacking","fullname":"plotOptions.bar.stacking","title":"stacking","parent":"plotOptions-bar","isParent":false,"returnType":"String","values":"[null, \"normal\", \"percent\"]","description":"Whether to stack the values of each series on top of each other. Possible values are null to disable, \"normal\" to stack by value or \"percent\".","demo":"Line,\r\n\t\t\tcolumn,\r\n\t\t\tbar,\r\n\t\t\tarea with \"normal\" stacking. \r\n\t\t\tLine,\r\n\t\t\tcolumn,\r\n\t\t\tbar,\r\n\t\t\tarea with \"percent\" stacking.","seeAlso":"yAxis.reversedStacks","deprecated":false},{"name":"plotOptions-areaspline--stacking","fullname":"plotOptions.areaspline.stacking","title":"stacking","parent":"plotOptions-areaspline","isParent":false,"returnType":"String","values":"[null, \"normal\", \"percent\"]","description":"Whether to stack the values of each series on top of each other. Possible values are null to disable, \"normal\" to stack by value or \"percent\".","demo":"Line,\r\n\t\t\tcolumn,\r\n\t\t\tbar,\r\n\t\t\tarea with \"normal\" stacking. \r\n\t\t\tLine,\r\n\t\t\tcolumn,\r\n\t\t\tbar,\r\n\t\t\tarea with \"percent\" stacking.","seeAlso":"yAxis.reversedStacks","deprecated":false},{"name":"series--stacking","fullname":"series.stacking","title":"stacking","parent":"series","isParent":false,"returnType":"String","values":"[null, \"normal\", \"percent\"]","description":"Whether to stack the values of each series on top of each other. Possible values are null to disable, \"normal\" to stack by value or \"percent\".","demo":"Line,\r\n\t\t\tcolumn,\r\n\t\t\tbar,\r\n\t\t\tarea with \"normal\" stacking. \r\n\t\t\tLine,\r\n\t\t\tcolumn,\r\n\t\t\tbar,\r\n\t\t\tarea with \"percent\" stacking.","seeAlso":"yAxis.reversedStacks","deprecated":false},{"name":"series--stacking","fullname":"series.stacking","title":"stacking","parent":"series","isParent":false,"returnType":"String","values":"[null, \"normal\", \"percent\"]","description":"Whether to stack the values of each series on top of each other. Possible values are null to disable, \"normal\" to stack by value or \"percent\".","demo":"Line,\r\n\t\t\tcolumn,\r\n\t\t\tbar,\r\n\t\t\tarea with \"normal\" stacking. \r\n\t\t\tLine,\r\n\t\t\tcolumn,\r\n\t\t\tbar,\r\n\t\t\tarea with \"percent\" stacking.","seeAlso":"yAxis.reversedStacks","deprecated":false},{"name":"plotOptions-series--stacking","fullname":"plotOptions.series.stacking","title":"stacking","parent":"plotOptions-series","isParent":false,"returnType":"String","values":"[null, \"normal\", \"percent\"]","description":"Whether to stack the values of each series on top of each other. Possible values are null to disable, \"normal\" to stack by value or \"percent\".","demo":"Line,\r\n\t\t\tcolumn,\r\n\t\t\tbar,\r\n\t\t\tarea with \"normal\" stacking. \r\n\t\t\tLine,\r\n\t\t\tcolumn,\r\n\t\t\tbar,\r\n\t\t\tarea with \"percent\" stacking.","seeAlso":"yAxis.reversedStacks","deprecated":false},{"name":"yAxis-labels--staggerLines","fullname":"yAxis.labels.staggerLines","title":"staggerLines","parent":"yAxis-labels","isParent":false,"returnType":"Number","since":"2.1","description":"Horizontal axes only. The number of lines to spread the labels over to make room or tighter labels. .","demo":"Show labels over two lines"},{"name":"xAxis-labels--staggerLines","fullname":"xAxis.labels.staggerLines","title":"staggerLines","parent":"xAxis-labels","isParent":false,"returnType":"Number","since":"2.1","description":"Horizontal axes only. The number of lines to spread the labels over to make room or tighter labels. .","demo":"Show labels over two lines"},{"name":"plotOptions-pie--startAngle","fullname":"plotOptions.pie.startAngle","title":"startAngle","parent":"plotOptions-pie","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"2.3.4","description":"The start angle of the pie slices in degrees where 0 is top and 90 right. ","demo":"Start from right","seeAlso":"","deprecated":false},{"name":"pane--startAngle","fullname":"pane.startAngle","title":"startAngle","parent":"pane","isParent":false,"returnType":"Number","since":"2.3.0","description":"The start angle of the polar X axis or gauge axis, given in degrees where 0 is north. Defaults to 0.","demo":"VU-meter with custom start and end angle.","deprecated":false},{"name":"series--startAngle","fullname":"series.startAngle","title":"startAngle","parent":"series","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"2.3.4","description":"The start angle of the pie slices in degrees where 0 is top and 90 right. ","demo":"Start from right","seeAlso":"","deprecated":false},{"name":"data--startColumn","fullname":"data.startColumn","title":"startColumn","parent":"data","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"4.0","description":"In tabular input data, the first column (indexed by 0) to use.","demo":"Limited data","seeAlso":"","deprecated":false},{"name":"xAxis--startOfWeek","fullname":"xAxis.startOfWeek","title":"startOfWeek","parent":"xAxis","isParent":false,"returnType":"Number","defaults":"1","description":"For datetime axes, this decides where to put the tick between weeks. 0 = Sunday, 1 = Monday.","demo":"Monday by default,\n\t\t\tSunday"},{"name":"yAxis--startOfWeek","fullname":"yAxis.startOfWeek","title":"startOfWeek","parent":"yAxis","isParent":false,"returnType":"Number","defaults":"1","description":"For datetime axes, this decides where to put the tick between weeks. 0 = Sunday, 1 = Monday.","demo":"Monday by default,\n\t\t\tSunday"},{"name":"yAxis--startOnTick","fullname":"yAxis.startOnTick","title":"startOnTick","parent":"yAxis","isParent":false,"returnType":"Boolean","defaults":"true","since":"1.2.0","description":"Whether to force the axis to start on a tick. Use this option with the maxPadding option to control the axis start.","demo":"False by default,\n\t\t\ttrue on X axis"},{"name":"xAxis--startOnTick","fullname":"xAxis.startOnTick","title":"startOnTick","parent":"xAxis","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.2.0","description":"Whether to force the axis to start on a tick. Use this option with the maxPadding option to control the axis start.","demo":"False by default,\n\t\t\ttrue on X axis"},{"name":"data--startRow","fullname":"data.startRow","title":"startRow","parent":"data","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"4.0","description":"In tabular input data, the first row (indexed by 0) to use.","demo":"Limited data","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--states","fullname":"series.states.hover.marker.states","title":"states","parent":"series-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"series-marker-states","fullname":"series.marker.states","title":"states","parent":"series-marker","isParent":true},{"name":"plotOptions-series-states-hover-marker--states","fullname":"plotOptions.series.states.hover.marker.states","title":"states","parent":"plotOptions-series-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"plotOptions-polygon-marker-states","fullname":"plotOptions.polygon.marker.states","title":"states","parent":"plotOptions-polygon-marker","isParent":true},{"name":"series-states-hover-marker--states","fullname":"series.states.hover.marker.states","title":"states","parent":"series-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"series-states","fullname":"series.states","title":"states","parent":"series","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"plotOptions-columnrange-states-hover-marker--states","fullname":"plotOptions.columnrange.states.hover.marker.states","title":"states","parent":"plotOptions-columnrange-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"plotOptions-funnel-states-hover-marker--states","fullname":"plotOptions.funnel.states.hover.marker.states","title":"states","parent":"plotOptions-funnel-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"series-states","fullname":"series.states","title":"states","parent":"series","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"series-states","fullname":"series.states","title":"states","parent":"series","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"plotOptions-waterfall-states","fullname":"plotOptions.waterfall.states","title":"states","parent":"plotOptions-waterfall","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"plotOptions-arearange-states","fullname":"plotOptions.arearange.states","title":"states","parent":"plotOptions-arearange","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"plotOptions-spline-marker-states","fullname":"plotOptions.spline.marker.states","title":"states","parent":"plotOptions-spline-marker","isParent":true},{"name":"plotOptions-bar-states-hover-marker--states","fullname":"plotOptions.bar.states.hover.marker.states","title":"states","parent":"plotOptions-bar-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"series-data-marker-states","fullname":"series.data.marker.states","title":"states","parent":"series-data-marker","isParent":true},{"name":"series-states","fullname":"series.states","title":"states","parent":"series","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"series-states-hover-marker--states","fullname":"series.states.hover.marker.states","title":"states","parent":"series-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"plotOptions-line-states","fullname":"plotOptions.line.states","title":"states","parent":"plotOptions-line","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"plotOptions-areaspline-states","fullname":"plotOptions.areaspline.states","title":"states","parent":"plotOptions-areaspline","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"plotOptions-heatmap-states","fullname":"plotOptions.heatmap.states","title":"states","parent":"plotOptions-heatmap","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"series-states","fullname":"series.states","title":"states","parent":"series","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"series-states-hover-marker--states","fullname":"series.states.hover.marker.states","title":"states","parent":"series-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"plotOptions-columnrange-states","fullname":"plotOptions.columnrange.states","title":"states","parent":"plotOptions-columnrange","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"plotOptions-column-states-hover-marker--states","fullname":"plotOptions.column.states.hover.marker.states","title":"states","parent":"plotOptions-column-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"series-marker-states","fullname":"series.marker.states","title":"states","parent":"series-marker","isParent":true},{"name":"series-marker-states","fullname":"series.marker.states","title":"states","parent":"series-marker","isParent":true},{"name":"series-states","fullname":"series.states","title":"states","parent":"series","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"plotOptions-arearange-states-hover-marker--states","fullname":"plotOptions.arearange.states.hover.marker.states","title":"states","parent":"plotOptions-arearange-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"plotOptions-series-states","fullname":"plotOptions.series.states","title":"states","parent":"plotOptions-series","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"series-states","fullname":"series.states","title":"states","parent":"series","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"plotOptions-funnel-states","fullname":"plotOptions.funnel.states","title":"states","parent":"plotOptions-funnel","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"series-states","fullname":"series.states","title":"states","parent":"series","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"plotOptions-line-marker-states","fullname":"plotOptions.line.marker.states","title":"states","parent":"plotOptions-line-marker","isParent":true},{"name":"plotOptions-heatmap-states-hover-marker--states","fullname":"plotOptions.heatmap.states.hover.marker.states","title":"states","parent":"plotOptions-heatmap-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"plotOptions-solidgauge-states-hover-marker--states","fullname":"plotOptions.solidgauge.states.hover.marker.states","title":"states","parent":"plotOptions-solidgauge-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"plotOptions-scatter-states","fullname":"plotOptions.scatter.states","title":"states","parent":"plotOptions-scatter","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"plotOptions-pyramid-states","fullname":"plotOptions.pyramid.states","title":"states","parent":"plotOptions-pyramid","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"series-states-hover-marker--states","fullname":"series.states.hover.marker.states","title":"states","parent":"series-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"plotOptions-series-marker-states","fullname":"plotOptions.series.marker.states","title":"states","parent":"plotOptions-series-marker","isParent":true},{"name":"series-states","fullname":"series.states","title":"states","parent":"series","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"series-marker-states","fullname":"series.marker.states","title":"states","parent":"series-marker","isParent":true},{"name":"series-states-hover-marker--states","fullname":"series.states.hover.marker.states","title":"states","parent":"series-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"series-marker-states","fullname":"series.marker.states","title":"states","parent":"series-marker","isParent":true},{"name":"plotOptions-spline-states","fullname":"plotOptions.spline.states","title":"states","parent":"plotOptions-spline","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"series-states-hover-marker--states","fullname":"series.states.hover.marker.states","title":"states","parent":"series-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"series-states","fullname":"series.states","title":"states","parent":"series","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"plotOptions-gauge-states-hover-marker--states","fullname":"plotOptions.gauge.states.hover.marker.states","title":"states","parent":"plotOptions-gauge-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"series-states-hover-marker--states","fullname":"series.states.hover.marker.states","title":"states","parent":"series-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"series-marker-states","fullname":"series.marker.states","title":"states","parent":"series-marker","isParent":true},{"name":"series-states","fullname":"series.states","title":"states","parent":"series","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"series-data-marker-states","fullname":"series.data.marker.states","title":"states","parent":"series-data-marker","isParent":true},{"name":"plotOptions-boxplot-states","fullname":"plotOptions.boxplot.states","title":"states","parent":"plotOptions-boxplot","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"plotOptions-area-states-hover-marker--states","fullname":"plotOptions.area.states.hover.marker.states","title":"states","parent":"plotOptions-area-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"plotOptions-line-states-hover-marker--states","fullname":"plotOptions.line.states.hover.marker.states","title":"states","parent":"plotOptions-line-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"series-data-marker-states","fullname":"series.data.marker.states","title":"states","parent":"series-data-marker","isParent":true},{"name":"series-states","fullname":"series.states","title":"states","parent":"series","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"series-states-hover-marker--states","fullname":"series.states.hover.marker.states","title":"states","parent":"series-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"series-states","fullname":"series.states","title":"states","parent":"series","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"plotOptions-areasplinerange-states","fullname":"plotOptions.areasplinerange.states","title":"states","parent":"plotOptions-areasplinerange","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"plotOptions-polygon-states","fullname":"plotOptions.polygon.states","title":"states","parent":"plotOptions-polygon","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"plotOptions-areasplinerange-states-hover-marker--states","fullname":"plotOptions.areasplinerange.states.hover.marker.states","title":"states","parent":"plotOptions-areasplinerange-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"series-states-hover-marker--states","fullname":"series.states.hover.marker.states","title":"states","parent":"series-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"plotOptions-scatter-marker-states","fullname":"plotOptions.scatter.marker.states","title":"states","parent":"plotOptions-scatter-marker","isParent":true},{"name":"plotOptions-solidgauge-states","fullname":"plotOptions.solidgauge.states","title":"states","parent":"plotOptions-solidgauge","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"series-states","fullname":"series.states","title":"states","parent":"series","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"series-states","fullname":"series.states","title":"states","parent":"series","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"plotOptions-boxplot-states-hover-marker--states","fullname":"plotOptions.boxplot.states.hover.marker.states","title":"states","parent":"plotOptions-boxplot-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"series-states-hover-marker--states","fullname":"series.states.hover.marker.states","title":"states","parent":"series-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"series-data-marker-states","fullname":"series.data.marker.states","title":"states","parent":"series-data-marker","isParent":true},{"name":"series-data-marker-states","fullname":"series.data.marker.states","title":"states","parent":"series-data-marker","isParent":true},{"name":"series-states","fullname":"series.states","title":"states","parent":"series","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"plotOptions-area-states","fullname":"plotOptions.area.states","title":"states","parent":"plotOptions-area","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"series-states-hover-marker--states","fullname":"series.states.hover.marker.states","title":"states","parent":"series-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"series-states-hover-marker--states","fullname":"series.states.hover.marker.states","title":"states","parent":"series-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"series-states-hover-marker--states","fullname":"series.states.hover.marker.states","title":"states","parent":"series-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"plotOptions-treemap-states","fullname":"plotOptions.treemap.states","title":"states","parent":"plotOptions-treemap","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"series-states","fullname":"series.states","title":"states","parent":"series","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"plotOptions-waterfall-states-hover-marker--states","fullname":"plotOptions.waterfall.states.hover.marker.states","title":"states","parent":"plotOptions-waterfall-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"series-states-hover-marker--states","fullname":"series.states.hover.marker.states","title":"states","parent":"series-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"series-states","fullname":"series.states","title":"states","parent":"series","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"plotOptions-column-states","fullname":"plotOptions.column.states","title":"states","parent":"plotOptions-column","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"plotOptions-bubble-states-hover-marker--states","fullname":"plotOptions.bubble.states.hover.marker.states","title":"states","parent":"plotOptions-bubble-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"series-states-hover-marker--states","fullname":"series.states.hover.marker.states","title":"states","parent":"series-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"plotOptions-bubble-states","fullname":"plotOptions.bubble.states","title":"states","parent":"plotOptions-bubble","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"plotOptions-bubble-marker-states","fullname":"plotOptions.bubble.marker.states","title":"states","parent":"plotOptions-bubble-marker","isParent":true},{"name":"series-states","fullname":"series.states","title":"states","parent":"series","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"plotOptions-errorbar-states","fullname":"plotOptions.errorbar.states","title":"states","parent":"plotOptions-errorbar","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"plotOptions-spline-states-hover-marker--states","fullname":"plotOptions.spline.states.hover.marker.states","title":"states","parent":"plotOptions-spline-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"series-states-hover-marker--states","fullname":"series.states.hover.marker.states","title":"states","parent":"series-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"series-marker-states","fullname":"series.marker.states","title":"states","parent":"series-marker","isParent":true},{"name":"series-states","fullname":"series.states","title":"states","parent":"series","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"plotOptions-pie-states","fullname":"plotOptions.pie.states","title":"states","parent":"plotOptions-pie","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"series-states-hover-marker--states","fullname":"series.states.hover.marker.states","title":"states","parent":"series-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"plotOptions-errorbar-states-hover-marker--states","fullname":"plotOptions.errorbar.states.hover.marker.states","title":"states","parent":"plotOptions-errorbar-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"plotOptions-scatter-states-hover-marker--states","fullname":"plotOptions.scatter.states.hover.marker.states","title":"states","parent":"plotOptions-scatter-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"series-states","fullname":"series.states","title":"states","parent":"series","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"series-states-hover-marker--states","fullname":"series.states.hover.marker.states","title":"states","parent":"series-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"plotOptions-bar-states","fullname":"plotOptions.bar.states","title":"states","parent":"plotOptions-bar","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"plotOptions-area-marker-states","fullname":"plotOptions.area.marker.states","title":"states","parent":"plotOptions-area-marker","isParent":true},{"name":"plotOptions-polygon-states-hover-marker--states","fullname":"plotOptions.polygon.states.hover.marker.states","title":"states","parent":"plotOptions-polygon-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"plotOptions-pyramid-states-hover-marker--states","fullname":"plotOptions.pyramid.states.hover.marker.states","title":"states","parent":"plotOptions-pyramid-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"series-states-hover-marker--states","fullname":"series.states.hover.marker.states","title":"states","parent":"series-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"plotOptions-gauge-states","fullname":"plotOptions.gauge.states","title":"states","parent":"plotOptions-gauge","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"plotOptions-areaspline-marker-states","fullname":"plotOptions.areaspline.marker.states","title":"states","parent":"plotOptions-areaspline-marker","isParent":true},{"name":"series-states-hover-marker--states","fullname":"series.states.hover.marker.states","title":"states","parent":"series-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"series-states-hover-marker--states","fullname":"series.states.hover.marker.states","title":"states","parent":"series-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"series-states","fullname":"series.states","title":"states","parent":"series","isParent":true,"returnType":"plotOptions.series.states","since":"","description":"A wrapper object for all the series options in specific states.","demo":"","deprecated":false},{"name":"series-data-marker-states","fullname":"series.data.marker.states","title":"states","parent":"series-data-marker","isParent":true},{"name":"plotOptions-pie-states-hover-marker--states","fullname":"plotOptions.pie.states.hover.marker.states","title":"states","parent":"plotOptions-pie-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"plotOptions-treemap-states-hover-marker--states","fullname":"plotOptions.treemap.states.hover.marker.states","title":"states","parent":"plotOptions-treemap-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"plotOptions-areaspline-states-hover-marker--states","fullname":"plotOptions.areaspline.states.hover.marker.states","title":"states","parent":"plotOptions-areaspline-states-hover-marker","isParent":false,"returnType":"","description":""},{"name":"series--stemColor","fullname":"series.stemColor","title":"stemColor","parent":"series","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color of the stem, the vertical line extending from the box to the whiskers. If null, the series color is used.","demo":"Box plot styling, error bar styling","seeAlso":"","deprecated":false},{"name":"plotOptions-boxplot--stemColor","fullname":"plotOptions.boxplot.stemColor","title":"stemColor","parent":"plotOptions-boxplot","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color of the stem, the vertical line extending from the box to the whiskers. If null, the series color is used.","demo":"Box plot styling, error bar styling","seeAlso":"","deprecated":false},{"name":"series--stemColor","fullname":"series.stemColor","title":"stemColor","parent":"series","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color of the stem, the vertical line extending from the box to the whiskers. If null, the series color is used.","demo":"Box plot styling, error bar styling","seeAlso":"","deprecated":false},{"name":"plotOptions-errorbar--stemColor","fullname":"plotOptions.errorbar.stemColor","title":"stemColor","parent":"plotOptions-errorbar","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color of the stem, the vertical line extending from the box to the whiskers. If null, the series color is used.","demo":"Box plot styling, error bar styling","seeAlso":"","deprecated":false},{"name":"plotOptions-boxplot--stemDashStyle","fullname":"plotOptions.boxplot.stemDashStyle","title":"stemDashStyle","parent":"plotOptions-boxplot","isParent":false,"returnType":"String","defaults":"Solid","values":"[\"Solid\", \"ShortDash\", \"ShortDot\", \"ShortDashDot\", \"ShortDashDotDot\", \"Dot\", \"Dash\" ,\"LongDash\", \"DashDot\", \"LongDashDot\", \"LongDashDotDot\"]","since":"3.0","description":"The dash style of the stem, the vertical line extending from the box to the whiskers.","demo":"Box plot styling, error bar styling","seeAlso":"","deprecated":false},{"name":"series--stemDashStyle","fullname":"series.stemDashStyle","title":"stemDashStyle","parent":"series","isParent":false,"returnType":"String","defaults":"Solid","values":"[\"Solid\", \"ShortDash\", \"ShortDot\", \"ShortDashDot\", \"ShortDashDotDot\", \"Dot\", \"Dash\" ,\"LongDash\", \"DashDot\", \"LongDashDot\", \"LongDashDotDot\"]","since":"3.0","description":"The dash style of the stem, the vertical line extending from the box to the whiskers.","demo":"Box plot styling, error bar styling","seeAlso":"","deprecated":false},{"name":"plotOptions-errorbar--stemDashStyle","fullname":"plotOptions.errorbar.stemDashStyle","title":"stemDashStyle","parent":"plotOptions-errorbar","isParent":false,"returnType":"String","defaults":"Solid","values":"[\"Solid\", \"ShortDash\", \"ShortDot\", \"ShortDashDot\", \"ShortDashDotDot\", \"Dot\", \"Dash\" ,\"LongDash\", \"DashDot\", \"LongDashDot\", \"LongDashDotDot\"]","since":"3.0","description":"The dash style of the stem, the vertical line extending from the box to the whiskers.","demo":"Box plot styling, error bar styling","seeAlso":"","deprecated":false},{"name":"series--stemDashStyle","fullname":"series.stemDashStyle","title":"stemDashStyle","parent":"series","isParent":false,"returnType":"String","defaults":"Solid","values":"[\"Solid\", \"ShortDash\", \"ShortDot\", \"ShortDashDot\", \"ShortDashDotDot\", \"Dot\", \"Dash\" ,\"LongDash\", \"DashDot\", \"LongDashDot\", \"LongDashDotDot\"]","since":"3.0","description":"The dash style of the stem, the vertical line extending from the box to the whiskers.","demo":"Box plot styling, error bar styling","seeAlso":"","deprecated":false},{"name":"plotOptions-errorbar--stemWidth","fullname":"plotOptions.errorbar.stemWidth","title":"stemWidth","parent":"plotOptions-errorbar","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"3.0","description":"The width of the stem, the vertical line extending from the box to the whiskers. If null, the width is inherited from the lineWidth option.","demo":"Box plot styling, error bar styling","seeAlso":"","deprecated":false},{"name":"plotOptions-boxplot--stemWidth","fullname":"plotOptions.boxplot.stemWidth","title":"stemWidth","parent":"plotOptions-boxplot","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"3.0","description":"The width of the stem, the vertical line extending from the box to the whiskers. If null, the width is inherited from the lineWidth option.","demo":"Box plot styling, error bar styling","seeAlso":"","deprecated":false},{"name":"series--stemWidth","fullname":"series.stemWidth","title":"stemWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"3.0","description":"The width of the stem, the vertical line extending from the box to the whiskers. If null, the width is inherited from the lineWidth option.","demo":"Box plot styling, error bar styling","seeAlso":"","deprecated":false},{"name":"series--stemWidth","fullname":"series.stemWidth","title":"stemWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"3.0","description":"The width of the stem, the vertical line extending from the box to the whiskers. If null, the width is inherited from the lineWidth option.","demo":"Box plot styling, error bar styling","seeAlso":"","deprecated":false},{"name":"series--step","fullname":"series.step","title":"step","parent":"series","isParent":false,"returnType":"String","defaults":"false","values":"[\"left\", \"center\", \"right\"]","since":"1.2.5","description":"Whether to apply steps to the line. Possible values are left, center and right. Prior to 2.3.5, only left was supported.","demo":"Different step line options","deprecated":false},{"name":"xAxis-labels--step","fullname":"xAxis.labels.step","title":"step","parent":"xAxis-labels","isParent":false,"returnType":"Number","since":"2.1","description":"

To show only every n'th label on the axis, set the step to n. Setting the step to 2 shows every other label.

\r\n\r\n

By default, the step is calculated automatically to avoid overlap. To prevent this, set it to 1. This usually only happens on a category axis, and is often a sign that you have chosen the wrong axis type. Read more at Axis docs => What axis should I use?

","demo":"Showing only every other axis label on a categorized x axis. Auto steps on a category axis.","deprecated":false},{"name":"series--step","fullname":"series.step","title":"step","parent":"series","isParent":false,"returnType":"String","defaults":"false","values":"[\"left\", \"center\", \"right\"]","since":"1.2.5","description":"Whether to apply steps to the line. Possible values are left, center and right. Prior to 2.3.5, only left was supported.","demo":"Different step line options","deprecated":false},{"name":"plotOptions-area--step","fullname":"plotOptions.area.step","title":"step","parent":"plotOptions-area","isParent":false,"returnType":"String","defaults":"false","values":"[\"left\", \"center\", \"right\"]","since":"1.2.5","description":"Whether to apply steps to the line. Possible values are left, center and right. Prior to 2.3.5, only left was supported.","demo":"Different step line options","deprecated":false},{"name":"series--step","fullname":"series.step","title":"step","parent":"series","isParent":false,"returnType":"String","defaults":"false","values":"[\"left\", \"center\", \"right\"]","since":"1.2.5","description":"Whether to apply steps to the line. Possible values are left, center and right. Prior to 2.3.5, only left was supported.","demo":"Different step line options","deprecated":false},{"name":"series--step","fullname":"series.step","title":"step","parent":"series","isParent":false,"returnType":"String","defaults":"false","values":"[\"left\", \"center\", \"right\"]","since":"1.2.5","description":"Whether to apply steps to the line. Possible values are left, center and right. Prior to 2.3.5, only left was supported.","demo":"Different step line options","deprecated":false},{"name":"plotOptions-line--step","fullname":"plotOptions.line.step","title":"step","parent":"plotOptions-line","isParent":false,"returnType":"String","defaults":"false","values":"[\"left\", \"center\", \"right\"]","since":"1.2.5","description":"Whether to apply steps to the line. Possible values are left, center and right. Prior to 2.3.5, only left was supported.","demo":"Different step line options","deprecated":false},{"name":"series--step","fullname":"series.step","title":"step","parent":"series","isParent":false,"returnType":"String","defaults":"false","values":"[\"left\", \"center\", \"right\"]","since":"1.2.5","description":"Whether to apply steps to the line. Possible values are left, center and right. Prior to 2.3.5, only left was supported.","demo":"Different step line options","deprecated":false},{"name":"plotOptions-areaspline--step","fullname":"plotOptions.areaspline.step","title":"step","parent":"plotOptions-areaspline","isParent":false,"returnType":"String","defaults":"false","values":"[\"left\", \"center\", \"right\"]","since":"1.2.5","description":"Whether to apply steps to the line. Possible values are left, center and right. Prior to 2.3.5, only left was supported.","demo":"Different step line options","deprecated":false},{"name":"plotOptions-arearange--step","fullname":"plotOptions.arearange.step","title":"step","parent":"plotOptions-arearange","isParent":false,"returnType":"String","defaults":"false","values":"[\"left\", \"center\", \"right\"]","since":"1.2.5","description":"Whether to apply steps to the line. Possible values are left, center and right. Prior to 2.3.5, only left was supported.","demo":"Different step line options","deprecated":false},{"name":"yAxis-labels--step","fullname":"yAxis.labels.step","title":"step","parent":"yAxis-labels","isParent":false,"returnType":"Number","since":"2.1","description":"

To show only every n'th label on the axis, set the step to n. Setting the step to 2 shows every other label.

\r\n\r\n

By default, the step is calculated automatically to avoid overlap. To prevent this, set it to 1. This usually only happens on a category axis, and is often a sign that you have chosen the wrong axis type. Read more at Axis docs => What axis should I use?

","demo":"Showing only every other axis label on a categorized x axis. Auto steps on a category axis.","deprecated":false},{"name":"plotOptions-areasplinerange--step","fullname":"plotOptions.areasplinerange.step","title":"step","parent":"plotOptions-areasplinerange","isParent":false,"returnType":"String","defaults":"false","values":"[\"left\", \"center\", \"right\"]","since":"1.2.5","description":"Whether to apply steps to the line. Possible values are left, center and right. Prior to 2.3.5, only left was supported.","demo":"Different step line options","deprecated":false},{"name":"series--stickyTracking","fullname":"series.stickyTracking","title":"stickyTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"plotOptions-bar--stickyTracking","fullname":"plotOptions.bar.stickyTracking","title":"stickyTracking","parent":"plotOptions-bar","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"plotOptions-funnel--stickyTracking","fullname":"plotOptions.funnel.stickyTracking","title":"stickyTracking","parent":"plotOptions-funnel","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series.","demo":"","seeAlso":"","deprecated":false},{"name":"series--stickyTracking","fullname":"series.stickyTracking","title":"stickyTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"plotOptions-errorbar--stickyTracking","fullname":"plotOptions.errorbar.stickyTracking","title":"stickyTracking","parent":"plotOptions-errorbar","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline--stickyTracking","fullname":"plotOptions.areaspline.stickyTracking","title":"stickyTracking","parent":"plotOptions-areaspline","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"series--stickyTracking","fullname":"series.stickyTracking","title":"stickyTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"plotOptions-column--stickyTracking","fullname":"plotOptions.column.stickyTracking","title":"stickyTracking","parent":"plotOptions-column","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"plotOptions-areasplinerange--stickyTracking","fullname":"plotOptions.areasplinerange.stickyTracking","title":"stickyTracking","parent":"plotOptions-areasplinerange","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"plotOptions-scatter--stickyTracking","fullname":"plotOptions.scatter.stickyTracking","title":"stickyTracking","parent":"plotOptions-scatter","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-boxplot--stickyTracking","fullname":"plotOptions.boxplot.stickyTracking","title":"stickyTracking","parent":"plotOptions-boxplot","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"series--stickyTracking","fullname":"series.stickyTracking","title":"stickyTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"plotOptions-gauge--stickyTracking","fullname":"plotOptions.gauge.stickyTracking","title":"stickyTracking","parent":"plotOptions-gauge","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"series--stickyTracking","fullname":"series.stickyTracking","title":"stickyTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series.","demo":"","seeAlso":"","deprecated":false},{"name":"series--stickyTracking","fullname":"series.stickyTracking","title":"stickyTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"series--stickyTracking","fullname":"series.stickyTracking","title":"stickyTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pie--stickyTracking","fullname":"plotOptions.pie.stickyTracking","title":"stickyTracking","parent":"plotOptions-pie","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid--stickyTracking","fullname":"plotOptions.pyramid.stickyTracking","title":"stickyTracking","parent":"plotOptions-pyramid","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series.","demo":"","seeAlso":"","deprecated":false},{"name":"series--stickyTracking","fullname":"series.stickyTracking","title":"stickyTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"series--stickyTracking","fullname":"series.stickyTracking","title":"stickyTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"plotOptions-spline--stickyTracking","fullname":"plotOptions.spline.stickyTracking","title":"stickyTracking","parent":"plotOptions-spline","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"series--stickyTracking","fullname":"series.stickyTracking","title":"stickyTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-treemap--stickyTracking","fullname":"plotOptions.treemap.stickyTracking","title":"stickyTracking","parent":"plotOptions-treemap","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"plotOptions-heatmap--stickyTracking","fullname":"plotOptions.heatmap.stickyTracking","title":"stickyTracking","parent":"plotOptions-heatmap","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange--stickyTracking","fullname":"plotOptions.columnrange.stickyTracking","title":"stickyTracking","parent":"plotOptions-columnrange","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"series--stickyTracking","fullname":"series.stickyTracking","title":"stickyTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"series--stickyTracking","fullname":"series.stickyTracking","title":"stickyTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series.","demo":"","seeAlso":"","deprecated":false},{"name":"series--stickyTracking","fullname":"series.stickyTracking","title":"stickyTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"plotOptions-series--stickyTracking","fullname":"plotOptions.series.stickyTracking","title":"stickyTracking","parent":"plotOptions-series","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"series--stickyTracking","fullname":"series.stickyTracking","title":"stickyTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"plotOptions-solidgauge--stickyTracking","fullname":"plotOptions.solidgauge.stickyTracking","title":"stickyTracking","parent":"plotOptions-solidgauge","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble--stickyTracking","fullname":"plotOptions.bubble.stickyTracking","title":"stickyTracking","parent":"plotOptions-bubble","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series.","demo":"","seeAlso":"","deprecated":false},{"name":"series--stickyTracking","fullname":"series.stickyTracking","title":"stickyTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon--stickyTracking","fullname":"plotOptions.polygon.stickyTracking","title":"stickyTracking","parent":"plotOptions-polygon","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series.","demo":"","seeAlso":"","deprecated":false},{"name":"series--stickyTracking","fullname":"series.stickyTracking","title":"stickyTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"series--stickyTracking","fullname":"series.stickyTracking","title":"stickyTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-line--stickyTracking","fullname":"plotOptions.line.stickyTracking","title":"stickyTracking","parent":"plotOptions-line","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"plotOptions-arearange--stickyTracking","fullname":"plotOptions.arearange.stickyTracking","title":"stickyTracking","parent":"plotOptions-arearange","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"series--stickyTracking","fullname":"series.stickyTracking","title":"stickyTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"plotOptions-waterfall--stickyTracking","fullname":"plotOptions.waterfall.stickyTracking","title":"stickyTracking","parent":"plotOptions-waterfall","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"series--stickyTracking","fullname":"series.stickyTracking","title":"stickyTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"series--stickyTracking","fullname":"series.stickyTracking","title":"stickyTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"plotOptions-area--stickyTracking","fullname":"plotOptions.area.stickyTracking","title":"stickyTracking","parent":"plotOptions-area","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"series--stickyTracking","fullname":"series.stickyTracking","title":"stickyTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.0","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series. Defaults to true for line and area type series, but to false for columns, pies etc.","demo":"True by default,\r\n\t\t\tfalse","seeAlso":"","deprecated":false},{"name":"series--stickyTracking","fullname":"series.stickyTracking","title":"stickyTracking","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"","description":"Sticky tracking of mouse events. When true, the mouseOut event\r on a series isn't triggered until the mouse moves over another series, or out\r of the plot area. When false, the mouseOut event on a series is\r triggered when the mouse leaves the area around the series' graph or markers.\r This also implies the tooltip. When stickyTracking is false and tooltip.shared is false, the \r tooltip will be hidden when moving the mouse between series.","demo":"","seeAlso":"","deprecated":false},{"name":"yAxis--stops","fullname":"yAxis.stops","title":"stops","parent":"yAxis","isParent":false,"returnType":"Array","since":"4.0","description":"

Solid gauge series only. Color stops for the solid gauge. Use this in cases where a linear gradient between a minColor and maxColor is not sufficient. The stops is an array of tuples, where the first item is a float between 0 and 1 assigning the relative position in the gradient, and the second item is the color.

\r\n\r\n

For solid gauges, the Y axis also inherits the concept of data classes from the Highmaps color axis.

\r\n","demo":"True by default","seeAlso":"minColor, maxColor.","deprecated":false},{"name":"xAxis-plotBands-label--style","fullname":"xAxis.plotBands.label.style","title":"style","parent":"xAxis-plotBands-label","isParent":false,"returnType":"Object","since":"2.1","description":"CSS styles for the text label.","demo":"Blue and bold label"},{"name":"series-dataLabels--style","fullname":"series.dataLabels.style","title":"style","parent":"series-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"yAxis-stackLabels--style","fullname":"yAxis.stackLabels.style","title":"style","parent":"yAxis-stackLabels","isParent":false,"returnType":"CSSObject","defaults":"{ \"color\": \"#000000\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 00 3px contrast\" }","since":"2.1.5","description":"CSS styles for the label.","demo":"Red stack total labels","deprecated":false},{"name":"plotOptions-treemap-dataLabels--style","fullname":"plotOptions.treemap.dataLabels.style","title":"style","parent":"plotOptions-treemap-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"yAxis-plotLines-label--style","fullname":"yAxis.plotLines.label.style","title":"style","parent":"yAxis-plotLines-label","isParent":false,"returnType":"Object","since":"2.1","description":"CSS styles for the text label.","demo":"Blue and bold label"},{"name":"plotOptions-spline-dataLabels--style","fullname":"plotOptions.spline.dataLabels.style","title":"style","parent":"plotOptions-spline-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"plotOptions-funnel-dataLabels--style","fullname":"plotOptions.funnel.dataLabels.style","title":"style","parent":"plotOptions-funnel-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"legend-title--style","fullname":"legend.title.style","title":"style","parent":"legend-title","isParent":false,"returnType":"CSSObject","defaults":"{\"fontWeight\":\"bold\"}","values":"","since":"3.0","description":"Generic CSS styles for the legend title. Defaults to:\r\n
style: {\r\n   fontWeight: 'bold'\r\n}
","demo":"","seeAlso":"","deprecated":false},{"name":"chart--style","fullname":"chart.style","title":"style","parent":"chart","isParent":false,"returnType":"CSSObject","defaults":"{\"fontFamily\":\"\\\"Lucida Grande\\\", \\\"Lucida Sans Unicode\\\", Verdana, Arial, Helvetica, sans-serif\",\"fontSize\":\"12px\"}","description":"Additional CSS styles to apply inline to the container div. Note that since the default font styles are applied in the renderer, it is ignorant of the individual chart options and must be set globally. Defaults to:\n
style: {\n\tfontFamily: '\"Lucida Grande\", \"Lucida Sans Unicode\", Verdana, Arial, Helvetica, sans-serif', // default font\n\tfontSize: '12px'\n}
","demo":"Using a serif type font"},{"name":"tooltip--style","fullname":"tooltip.style","title":"style","parent":"tooltip","isParent":false,"returnType":"CSSObject","description":"CSS styles for the tooltip. The tooltip can also be styled through the CSS\r class .highcharts-tooltip.\r Default value:\r\n
style: {\r\n\tcolor: '#333333',\r\n\tfontSize: '12px',\r\n\tpadding: '8px'\r\n}
","demo":"Greater padding, bold text","deprecated":false},{"name":"plotOptions-polygon-dataLabels--style","fullname":"plotOptions.polygon.dataLabels.style","title":"style","parent":"plotOptions-polygon-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"xAxis-title--style","fullname":"xAxis.title.style","title":"style","parent":"xAxis-title","isParent":false,"returnType":"CSSObject","defaults":"{ \"color\": \"#707070\", \"fontWeight\": \"bold\" }","description":"CSS styles for the title. When titles are rotated they are rendered using vector graphic techniques and not all styles are applicable.","demo":"Red Y axis title","deprecated":false},{"name":"subtitle--style","fullname":"subtitle.style","title":"style","parent":"subtitle","isParent":false,"returnType":"CSSObject","defaults":"{ \"color\": \"#555555\" }","description":"CSS styles for the title. Exact positioning of the title can be achieved by changing the margin property, or by adding position: \"absolute\" and left and top properties.","demo":"Custom color and weight","deprecated":false},{"name":"series-dataLabels--style","fullname":"series.dataLabels.style","title":"style","parent":"series-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"plotOptions-bar-dataLabels--style","fullname":"plotOptions.bar.dataLabels.style","title":"style","parent":"plotOptions-bar-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"plotOptions-gauge-dataLabels--style","fullname":"plotOptions.gauge.dataLabels.style","title":"style","parent":"plotOptions-gauge-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"plotOptions-pie-dataLabels--style","fullname":"plotOptions.pie.dataLabels.style","title":"style","parent":"plotOptions-pie-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"plotOptions-areasplinerange-dataLabels--style","fullname":"plotOptions.areasplinerange.dataLabels.style","title":"style","parent":"plotOptions-areasplinerange-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"xAxis-labels--style","fullname":"xAxis.labels.style","title":"style","parent":"xAxis-labels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\":\"#6D869F\",\"fontWeight\":\"bold\"}","description":"CSS styles for the label. Use whiteSpace: 'nowrap' to prevent wrapping of category labels.","demo":"Red X axis labels","deprecated":false},{"name":"series-dataLabels--style","fullname":"series.dataLabels.style","title":"style","parent":"series-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"loading--style","fullname":"loading.style","title":"style","parent":"loading","isParent":false,"returnType":"CSSObject","since":"1.2.0","description":"CSS styles for the loading screen that covers the plot area. Defaults to:\n
style: {\n\tposition: 'absolute',\n\tbackgroundColor: 'white',\n\topacity: 0.5,\n\ttextAlign: 'center'\n}
","demo":"Gray plot area, white text"},{"name":"plotOptions-areaspline-dataLabels--style","fullname":"plotOptions.areaspline.dataLabels.style","title":"style","parent":"plotOptions-areaspline-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"plotOptions-bubble-dataLabels--style","fullname":"plotOptions.bubble.dataLabels.style","title":"style","parent":"plotOptions-bubble-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"plotOptions-series-dataLabels--style","fullname":"plotOptions.series.dataLabels.style","title":"style","parent":"plotOptions-series-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"xAxis-plotLines-label--style","fullname":"xAxis.plotLines.label.style","title":"style","parent":"xAxis-plotLines-label","isParent":false,"returnType":"Object","since":"2.1","description":"CSS styles for the text label.","demo":"Blue and bold label"},{"name":"plotOptions-solidgauge-dataLabels--style","fullname":"plotOptions.solidgauge.dataLabels.style","title":"style","parent":"plotOptions-solidgauge-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"legend--style","fullname":"legend.style","title":"style","parent":"legend","isParent":false,"returnType":"CSSObject","description":"CSS styles for the legend area. In the 1.x versions the position of the legend area was determined by CSS. In 2.x, the position is determined by properties like align, verticalAlign, x and y, but the styles are still parsed for backwards compatibility.","deprecated":true},{"name":"series-dataLabels--style","fullname":"series.dataLabels.style","title":"style","parent":"series-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"series-dataLabels--style","fullname":"series.dataLabels.style","title":"style","parent":"series-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"plotOptions-scatter-dataLabels--style","fullname":"plotOptions.scatter.dataLabels.style","title":"style","parent":"plotOptions-scatter-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"series-dataLabels--style","fullname":"series.dataLabels.style","title":"style","parent":"series-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"plotOptions-column-dataLabels--style","fullname":"plotOptions.column.dataLabels.style","title":"style","parent":"plotOptions-column-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"labels-items--style","fullname":"labels.items.style","title":"style","parent":"labels-items","isParent":false,"returnType":"CSSObject","description":"CSS styles for each label. To position the label, use left and top like this:\n
style: {\n\tleft: '100px',\n\ttop: '100px'\n}
"},{"name":"plotOptions-columnrange-dataLabels--style","fullname":"plotOptions.columnrange.dataLabels.style","title":"style","parent":"plotOptions-columnrange-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"plotOptions-pyramid-dataLabels--style","fullname":"plotOptions.pyramid.dataLabels.style","title":"style","parent":"plotOptions-pyramid-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"series-dataLabels--style","fullname":"series.dataLabels.style","title":"style","parent":"series-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"series-dataLabels--style","fullname":"series.dataLabels.style","title":"style","parent":"series-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"series-dataLabels--style","fullname":"series.dataLabels.style","title":"style","parent":"series-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"series-dataLabels--style","fullname":"series.dataLabels.style","title":"style","parent":"series-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"plotOptions-line-dataLabels--style","fullname":"plotOptions.line.dataLabels.style","title":"style","parent":"plotOptions-line-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"series-dataLabels--style","fullname":"series.dataLabels.style","title":"style","parent":"series-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"series-dataLabels--style","fullname":"series.dataLabels.style","title":"style","parent":"series-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"yAxis-title--style","fullname":"yAxis.title.style","title":"style","parent":"yAxis-title","isParent":false,"returnType":"CSSObject","defaults":"{ \"color\": \"#707070\", \"fontWeight\": \"bold\" }","description":"CSS styles for the title. When titles are rotated they are rendered using vector graphic techniques and not all styles are applicable.","demo":"Red Y axis title","deprecated":false},{"name":"title--style","fullname":"title.style","title":"style","parent":"title","isParent":false,"returnType":"CSSObject","defaults":"{ \"color\": \"#333333\", \"fontSize\": \"18px\" }","description":"CSS styles for the title. Use this for font styling, but use align, x and y for text alignment.","demo":"Custom color and weight","deprecated":false},{"name":"series-dataLabels--style","fullname":"series.dataLabels.style","title":"style","parent":"series-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"noData--style","fullname":"noData.style","title":"style","parent":"noData","isParent":false,"returnType":"CSSObject","defaults":"{ \"fontSize\": \"12px\", \"fontWeight\": \"bold\", \"color\": \"#60606a\" }","values":"","since":"3.0.8","description":"CSS styles for the no-data label. ","demo":"","seeAlso":"","deprecated":false},{"name":"legend-navigation--style","fullname":"legend.navigation.style","title":"style","parent":"legend-navigation","isParent":false,"returnType":"CSSObject","since":"2.2.4","description":"Text styles for the legend page navigation.","demo":"\n\t\t\t\tLegend page navigation demonstrated"},{"name":"series-dataLabels--style","fullname":"series.dataLabels.style","title":"style","parent":"series-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"plotOptions-area-dataLabels--style","fullname":"plotOptions.area.dataLabels.style","title":"style","parent":"plotOptions-area-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"series-dataLabels--style","fullname":"series.dataLabels.style","title":"style","parent":"series-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"plotOptions-waterfall-dataLabels--style","fullname":"plotOptions.waterfall.dataLabels.style","title":"style","parent":"plotOptions-waterfall-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"plotOptions-heatmap-dataLabels--style","fullname":"plotOptions.heatmap.dataLabels.style","title":"style","parent":"plotOptions-heatmap-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"yAxis-plotBands-label--style","fullname":"yAxis.plotBands.label.style","title":"style","parent":"yAxis-plotBands-label","isParent":false,"returnType":"Object","since":"2.1","description":"CSS styles for the text label.","demo":"Blue and bold label"},{"name":"series-dataLabels--style","fullname":"series.dataLabels.style","title":"style","parent":"series-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"series-dataLabels--style","fullname":"series.dataLabels.style","title":"style","parent":"series-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"credits--style","fullname":"credits.style","title":"style","parent":"credits","isParent":false,"returnType":"CSSObject","description":"CSS styles for the credits label. Defaults to:\r\n
style: {\r\n\tcursor: 'pointer',\r\n\tcolor: '#909090',\r\n\tfontSize: '10px'\r\n\r\n}
","deprecated":false},{"name":"series-dataLabels--style","fullname":"series.dataLabels.style","title":"style","parent":"series-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"labels--style","fullname":"labels.style","title":"style","parent":"labels","isParent":false,"returnType":"CSSObject","description":"Shared CSS styles for all labels. Defaults to:\n
style: {\n\tcolor: '#3E576F'\n}
"},{"name":"series-dataLabels--style","fullname":"series.dataLabels.style","title":"style","parent":"series-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"plotOptions-arearange-dataLabels--style","fullname":"plotOptions.arearange.dataLabels.style","title":"style","parent":"plotOptions-arearange-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"series-dataLabels--style","fullname":"series.dataLabels.style","title":"style","parent":"series-dataLabels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\": \"contrast\", \"fontSize\": \"11px\", \"fontWeight\": \"bold\", \"textShadow\": \"0 0 6px contrast, 0 0 3px contrast\" }","since":"4.1.0","description":"Styles for the label.","demo":"Bold labels","deprecated":false},{"name":"yAxis-labels--style","fullname":"yAxis.labels.style","title":"style","parent":"yAxis-labels","isParent":false,"returnType":"CSSObject","defaults":"{\"color\":\"#6D869F\",\"fontWeight\":\"bold\"}","description":"CSS styles for the label. Use whiteSpace: 'nowrap' to prevent wrapping of category labels.","demo":"Red X axis labels","deprecated":false},{"name":"subtitle","fullname":"subtitle","title":"subtitle","isParent":true,"description":"The chart's subtitle"},{"name":"data--switchRowsAndColumns","fullname":"data.switchRowsAndColumns","title":"switchRowsAndColumns","parent":"data","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"4.0","description":"Switch rows and columns of the input data, so that this.columns effectively becomes the rows of the data set, and the rows are interpreted as series.","demo":"Switch rows and columns","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--symbol","fullname":"series.states.hover.marker.symbol","title":"symbol","parent":"series-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-line-states-hover-marker--symbol","fullname":"plotOptions.line.states.hover.marker.symbol","title":"symbol","parent":"plotOptions-line-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-scatter-states-hover-marker--symbol","fullname":"plotOptions.scatter.states.hover.marker.symbol","title":"symbol","parent":"plotOptions-scatter-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-marker--symbol","fullname":"series.marker.symbol","title":"symbol","parent":"series-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-funnel-states-hover-marker--symbol","fullname":"plotOptions.funnel.states.hover.marker.symbol","title":"symbol","parent":"plotOptions-funnel-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-areaspline-marker--symbol","fullname":"plotOptions.areaspline.marker.symbol","title":"symbol","parent":"plotOptions-areaspline-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-errorbar-states-hover-marker--symbol","fullname":"plotOptions.errorbar.states.hover.marker.symbol","title":"symbol","parent":"plotOptions-errorbar-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-scatter-marker--symbol","fullname":"plotOptions.scatter.marker.symbol","title":"symbol","parent":"plotOptions-scatter-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-areasplinerange-states-hover-marker--symbol","fullname":"plotOptions.areasplinerange.states.hover.marker.symbol","title":"symbol","parent":"plotOptions-areasplinerange-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-states-hover-marker--symbol","fullname":"series.states.hover.marker.symbol","title":"symbol","parent":"series-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-states-hover-marker--symbol","fullname":"series.states.hover.marker.symbol","title":"symbol","parent":"series-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-polygon-states-hover-marker--symbol","fullname":"plotOptions.polygon.states.hover.marker.symbol","title":"symbol","parent":"plotOptions-polygon-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-marker--symbol","fullname":"series.marker.symbol","title":"symbol","parent":"series-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-states-hover-marker--symbol","fullname":"series.states.hover.marker.symbol","title":"symbol","parent":"series-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-states-hover-marker--symbol","fullname":"series.states.hover.marker.symbol","title":"symbol","parent":"series-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-bubble-states-hover-marker--symbol","fullname":"plotOptions.bubble.states.hover.marker.symbol","title":"symbol","parent":"plotOptions-bubble-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-states-hover-marker--symbol","fullname":"series.states.hover.marker.symbol","title":"symbol","parent":"series-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-series-states-hover-marker--symbol","fullname":"plotOptions.series.states.hover.marker.symbol","title":"symbol","parent":"plotOptions-series-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-spline-states-hover-marker--symbol","fullname":"plotOptions.spline.states.hover.marker.symbol","title":"symbol","parent":"plotOptions-spline-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-states-hover-marker--symbol","fullname":"series.states.hover.marker.symbol","title":"symbol","parent":"series-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-states-hover-marker--symbol","fullname":"series.states.hover.marker.symbol","title":"symbol","parent":"series-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-marker--symbol","fullname":"series.marker.symbol","title":"symbol","parent":"series-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-area-marker--symbol","fullname":"plotOptions.area.marker.symbol","title":"symbol","parent":"plotOptions-area-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-states-hover-marker--symbol","fullname":"series.states.hover.marker.symbol","title":"symbol","parent":"series-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-arearange-states-hover-marker--symbol","fullname":"plotOptions.arearange.states.hover.marker.symbol","title":"symbol","parent":"plotOptions-arearange-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-states-hover-marker--symbol","fullname":"series.states.hover.marker.symbol","title":"symbol","parent":"series-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-states-hover-marker--symbol","fullname":"series.states.hover.marker.symbol","title":"symbol","parent":"series-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-states-hover-marker--symbol","fullname":"series.states.hover.marker.symbol","title":"symbol","parent":"series-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-data-marker--symbol","fullname":"series.data.marker.symbol","title":"symbol","parent":"series-data-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-states-hover-marker--symbol","fullname":"series.states.hover.marker.symbol","title":"symbol","parent":"series-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-data-marker--symbol","fullname":"series.data.marker.symbol","title":"symbol","parent":"series-data-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-marker--symbol","fullname":"series.marker.symbol","title":"symbol","parent":"series-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-boxplot-states-hover-marker--symbol","fullname":"plotOptions.boxplot.states.hover.marker.symbol","title":"symbol","parent":"plotOptions-boxplot-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-states-hover-marker--symbol","fullname":"series.states.hover.marker.symbol","title":"symbol","parent":"series-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-waterfall-states-hover-marker--symbol","fullname":"plotOptions.waterfall.states.hover.marker.symbol","title":"symbol","parent":"plotOptions-waterfall-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-heatmap-states-hover-marker--symbol","fullname":"plotOptions.heatmap.states.hover.marker.symbol","title":"symbol","parent":"plotOptions-heatmap-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-pyramid-states-hover-marker--symbol","fullname":"plotOptions.pyramid.states.hover.marker.symbol","title":"symbol","parent":"plotOptions-pyramid-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-spline-marker--symbol","fullname":"plotOptions.spline.marker.symbol","title":"symbol","parent":"plotOptions-spline-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-states-hover-marker--symbol","fullname":"series.states.hover.marker.symbol","title":"symbol","parent":"series-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-marker--symbol","fullname":"series.marker.symbol","title":"symbol","parent":"series-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-data-marker--symbol","fullname":"series.data.marker.symbol","title":"symbol","parent":"series-data-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-areaspline-states-hover-marker--symbol","fullname":"plotOptions.areaspline.states.hover.marker.symbol","title":"symbol","parent":"plotOptions-areaspline-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-pie-states-hover-marker--symbol","fullname":"plotOptions.pie.states.hover.marker.symbol","title":"symbol","parent":"plotOptions-pie-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-area-states-hover-marker--symbol","fullname":"plotOptions.area.states.hover.marker.symbol","title":"symbol","parent":"plotOptions-area-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-states-hover-marker--symbol","fullname":"series.states.hover.marker.symbol","title":"symbol","parent":"series-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-line-marker--symbol","fullname":"plotOptions.line.marker.symbol","title":"symbol","parent":"plotOptions-line-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-polygon-marker--symbol","fullname":"plotOptions.polygon.marker.symbol","title":"symbol","parent":"plotOptions-polygon-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-marker--symbol","fullname":"series.marker.symbol","title":"symbol","parent":"series-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-column-states-hover-marker--symbol","fullname":"plotOptions.column.states.hover.marker.symbol","title":"symbol","parent":"plotOptions-column-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"exporting-buttons-contextButton--symbol","fullname":"exporting.buttons.contextButton.symbol","title":"symbol","parent":"exporting-buttons-contextButton","isParent":false,"returnType":"String","defaults":"menu","values":"[\"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\", \"menu\"]","since":"2.0","description":"The symbol for the button. Points to a definition function in the \r Highcharts.Renderer.symbols collection. The default\r exportIcon function is part of the exporting module.","demo":"Use a circle for symbol","deprecated":false},{"name":"series-marker--symbol","fullname":"series.marker.symbol","title":"symbol","parent":"series-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-bubble-marker--symbol","fullname":"plotOptions.bubble.marker.symbol","title":"symbol","parent":"plotOptions-bubble-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-states-hover-marker--symbol","fullname":"series.states.hover.marker.symbol","title":"symbol","parent":"series-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-data-marker--symbol","fullname":"series.data.marker.symbol","title":"symbol","parent":"series-data-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-treemap-states-hover-marker--symbol","fullname":"plotOptions.treemap.states.hover.marker.symbol","title":"symbol","parent":"plotOptions-treemap-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-data-marker--symbol","fullname":"series.data.marker.symbol","title":"symbol","parent":"series-data-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-data-marker--symbol","fullname":"series.data.marker.symbol","title":"symbol","parent":"series-data-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-states-hover-marker--symbol","fullname":"series.states.hover.marker.symbol","title":"symbol","parent":"series-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-gauge-states-hover-marker--symbol","fullname":"plotOptions.gauge.states.hover.marker.symbol","title":"symbol","parent":"plotOptions-gauge-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-states-hover-marker--symbol","fullname":"series.states.hover.marker.symbol","title":"symbol","parent":"series-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-states-hover-marker--symbol","fullname":"series.states.hover.marker.symbol","title":"symbol","parent":"series-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-states-hover-marker--symbol","fullname":"series.states.hover.marker.symbol","title":"symbol","parent":"series-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"series-states-hover-marker--symbol","fullname":"series.states.hover.marker.symbol","title":"symbol","parent":"series-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-columnrange-states-hover-marker--symbol","fullname":"plotOptions.columnrange.states.hover.marker.symbol","title":"symbol","parent":"plotOptions-columnrange-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-solidgauge-states-hover-marker--symbol","fullname":"plotOptions.solidgauge.states.hover.marker.symbol","title":"symbol","parent":"plotOptions-solidgauge-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-bar-states-hover-marker--symbol","fullname":"plotOptions.bar.states.hover.marker.symbol","title":"symbol","parent":"plotOptions-bar-states-hover-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"plotOptions-series-marker--symbol","fullname":"plotOptions.series.marker.symbol","title":"symbol","parent":"plotOptions-series-marker","isParent":false,"returnType":"String","values":"[null, \"circle\", \"square\", \"diamond\", \"triangle\", \"triangle-down\"]","description":"

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are \"circle\", \"square\", \"diamond\", \"triangle\" and \"triangle-down\".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: \"url(graphic.png)\". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

","demo":"Predefined, graphic and custom markers","deprecated":false},{"name":"navigation-buttonOptions--symbolFill","fullname":"navigation.buttonOptions.symbolFill","title":"symbolFill","parent":"navigation-buttonOptions","isParent":false,"returnType":"Color","defaults":"#E0E0E0","since":"2.0","description":"Fill color for the symbol within the button.","demo":"Blue symbol stroke for one of the buttons"},{"name":"exporting-buttons-contextButton--symbolFill","fullname":"exporting.buttons.contextButton.symbolFill","title":"symbolFill","parent":"exporting-buttons-contextButton","isParent":false,"returnType":"Color","defaults":"#A8BF77","since":"2.0","description":"See navigation.buttonOptions => symbolFill.","deprecated":false},{"name":"legend--symbolHeight","fullname":"legend.symbolHeight","title":"symbolHeight","parent":"legend","isParent":false,"returnType":"Number","since":"3.0.8","description":"The pixel height of the symbol for series types that use a rectangle in the legend. Defaults to the font size of legend items.","deprecated":false},{"name":"legend--symbolPadding","fullname":"legend.symbolPadding","title":"symbolPadding","parent":"legend","isParent":false,"returnType":"Number","defaults":"5","description":"The pixel padding between the legend item symbol and the legend item text.","demo":"Greater symbol width and padding"},{"name":"legend--symbolRadius","fullname":"legend.symbolRadius","title":"symbolRadius","parent":"legend","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"3.0.8","description":"The border radius of the symbol for series types that use a rectangle in the legend.","demo":"","seeAlso":"","deprecated":false},{"name":"navigation-buttonOptions--symbolSize","fullname":"navigation.buttonOptions.symbolSize","title":"symbolSize","parent":"navigation-buttonOptions","isParent":false,"returnType":"Number","defaults":"14","since":"2.0","description":"The pixel size of the symbol on the button.","demo":"Bigger buttons","deprecated":false},{"name":"exporting-buttons-contextButton--symbolSize","fullname":"exporting.buttons.contextButton.symbolSize","title":"symbolSize","parent":"exporting-buttons-contextButton","isParent":false,"returnType":"Number","defaults":"14","since":"2.0","description":"The pixel size of the symbol on the button.","demo":"Bigger buttons","deprecated":false},{"name":"exporting-buttons-contextButton--symbolStroke","fullname":"exporting.buttons.contextButton.symbolStroke","title":"symbolStroke","parent":"exporting-buttons-contextButton","isParent":false,"returnType":"Color","defaults":"#666","since":"2.0","description":"The color of the symbol's stroke or line.","demo":"Blue symbol stroke","deprecated":false},{"name":"navigation-buttonOptions--symbolStroke","fullname":"navigation.buttonOptions.symbolStroke","title":"symbolStroke","parent":"navigation-buttonOptions","isParent":false,"returnType":"Color","defaults":"#666","since":"2.0","description":"The color of the symbol's stroke or line.","demo":"Blue symbol stroke","deprecated":false},{"name":"navigation-buttonOptions--symbolStrokeWidth","fullname":"navigation.buttonOptions.symbolStrokeWidth","title":"symbolStrokeWidth","parent":"navigation-buttonOptions","isParent":false,"returnType":"Number","defaults":"1","since":"2.0","description":"The pixel stroke width of the symbol on the button.","demo":"Bigger buttons"},{"name":"exporting-buttons-contextButton--symbolStrokeWidth","fullname":"exporting.buttons.contextButton.symbolStrokeWidth","title":"symbolStrokeWidth","parent":"exporting-buttons-contextButton","isParent":false,"returnType":"Number","defaults":"1","since":"2.0","description":"The pixel stroke width of the symbol on the button.","demo":"Bigger buttons"},{"name":"legend--symbolWidth","fullname":"legend.symbolWidth","title":"symbolWidth","parent":"legend","isParent":false,"returnType":"Number","defaults":"16","description":"The pixel width of the legend item symbol.","demo":"Greater symbol width and padding","deprecated":false},{"name":"exporting-buttons-contextButton--symbolX","fullname":"exporting.buttons.contextButton.symbolX","title":"symbolX","parent":"exporting-buttons-contextButton","isParent":false,"returnType":"Number","defaults":"12.5","since":"2.0","description":"The x position of the center of the symbol inside the button.","demo":"Bigger buttons","deprecated":false},{"name":"navigation-buttonOptions--symbolX","fullname":"navigation.buttonOptions.symbolX","title":"symbolX","parent":"navigation-buttonOptions","isParent":false,"returnType":"Number","defaults":"12.5","since":"2.0","description":"The x position of the center of the symbol inside the button.","demo":"Bigger buttons","deprecated":false},{"name":"exporting-buttons-contextButton--symbolY","fullname":"exporting.buttons.contextButton.symbolY","title":"symbolY","parent":"exporting-buttons-contextButton","isParent":false,"returnType":"Number","defaults":"10.5","since":"2.0","description":"The y position of the center of the symbol inside the button.","demo":"Bigger buttons"},{"name":"navigation-buttonOptions--symbolY","fullname":"navigation.buttonOptions.symbolY","title":"symbolY","parent":"navigation-buttonOptions","isParent":false,"returnType":"Number","defaults":"10.5","since":"2.0","description":"The y position of the center of the symbol inside the button.","demo":"Bigger buttons"},{"name":"data--table","fullname":"data.table","title":"table","parent":"data","isParent":false,"returnType":"String|HTMLElement","defaults":"","values":"","since":"4.0","description":"A HTML table or the id of such to be parsed as input data. Related options are startRow, endRow, startColumn and endColumn to delimit what part of the table is used.","demo":"Parsed table","seeAlso":"","deprecated":false},{"name":"navigation-buttonOptions--text","fullname":"navigation.buttonOptions.text","title":"text","parent":"navigation-buttonOptions","isParent":false,"returnType":"String","defaults":"null","values":"","since":"3.0","description":"A text string to add to the individual button. ","demo":"Full text button, combined symbol and text ","seeAlso":"","deprecated":false},{"name":"yAxis-plotBands-label--text","fullname":"yAxis.plotBands.label.text","title":"text","parent":"yAxis-plotBands-label","isParent":false,"returnType":"String","since":"2.1","description":"The string text itself. A subset of HTML is supported."},{"name":"xAxis-plotLines-label--text","fullname":"xAxis.plotLines.label.text","title":"text","parent":"xAxis-plotLines-label","isParent":false,"returnType":"String","defaults":"","values":"","since":"2.1","description":"The text itself. A subset of HTML is supported.","demo":"","seeAlso":"","deprecated":false},{"name":"xAxis-title--text","fullname":"xAxis.title.text","title":"text","parent":"xAxis-title","isParent":false,"returnType":"String","description":"The actual text of the axis title. It can contain basic HTML text markup like <b>, <i> and spans with style.","demo":"Custom HTML title for X axis"},{"name":"exporting-buttons-contextButton--text","fullname":"exporting.buttons.contextButton.text","title":"text","parent":"exporting-buttons-contextButton","isParent":false,"returnType":"String","defaults":"null","values":"","since":"3.0","description":"A text string to add to the individual button. ","demo":"Full text button, combined symbol and text ","seeAlso":"","deprecated":false},{"name":"xAxis-plotBands-label--text","fullname":"xAxis.plotBands.label.text","title":"text","parent":"xAxis-plotBands-label","isParent":false,"returnType":"String","since":"2.1","description":"The string text itself. A subset of HTML is supported."},{"name":"yAxis-title--text","fullname":"yAxis.title.text","title":"text","parent":"yAxis-title","isParent":false,"returnType":"String","defaults":"Values","description":"The actual text of the axis title. Horizontal texts can contain HTML, \r but rotated texts are painted using vector techniques and must be \r clean text. The Y axis title is disabled by setting the text\r option to null.","demo":"Custom HTML title for X axis","deprecated":false},{"name":"legend-title--text","fullname":"legend.title.text","title":"text","parent":"legend-title","isParent":false,"returnType":"String","defaults":"null","values":"","since":"3.0","description":"A text or HTML string for the title. ","demo":"","seeAlso":"","deprecated":false},{"name":"yAxis-plotLines-label--text","fullname":"yAxis.plotLines.label.text","title":"text","parent":"yAxis-plotLines-label","isParent":false,"returnType":"String","defaults":"","values":"","since":"2.1","description":"The text itself. A subset of HTML is supported.","demo":"","seeAlso":"","deprecated":false},{"name":"subtitle--text","fullname":"subtitle.text","title":"text","parent":"subtitle","isParent":false,"returnType":"String","description":"The subtitle of the chart.","demo":"Custom subtitle,\n\t\t\tformatted and linked text."},{"name":"title--text","fullname":"title.text","title":"text","parent":"title","isParent":false,"returnType":"String","defaults":"Chart title","description":"The title of the chart. To disable the title, set the text to null.","demo":"Custom title"},{"name":"credits--text","fullname":"credits.text","title":"text","parent":"credits","isParent":false,"returnType":"String","defaults":"Highcharts.com","description":"The text for the credits label.","demo":"Custom URL and text"},{"name":"yAxis-plotBands-label--textAlign","fullname":"yAxis.plotBands.label.textAlign","title":"textAlign","parent":"yAxis-plotBands-label","isParent":false,"returnType":"String","since":"2.1","description":"The text alignment for the label. While align determines where the texts anchor point is placed within the plot band, textAlign determines how the text is aligned against its anchor point. Possible values are \"left\", \"center\" and \"right\". Defaults to the same as the align option.","demo":"Vertical text in center position but text-aligned left"},{"name":"yAxis-stackLabels--textAlign","fullname":"yAxis.stackLabels.textAlign","title":"textAlign","parent":"yAxis-stackLabels","isParent":false,"returnType":"String","values":"[\"left\", \"center\", \"right\"]","since":"2.1.5","description":"The text alignment for the label. While align determines where the texts anchor point is placed with regards to the stack, textAlign determines how the text is aligned against its anchor point. Possible values are \"left\", \"center\" and \"right\". The default value is calculated at runtime and depends on orientation and whether the stack is positive or negative.","demo":"Label in center position but text-aligned left"},{"name":"yAxis-plotLines-label--textAlign","fullname":"yAxis.plotLines.label.textAlign","title":"textAlign","parent":"yAxis-plotLines-label","isParent":false,"returnType":"String","since":"2.1","description":"The text alignment for the label. While align determines where the texts anchor point is placed within the plot band, textAlign determines how the text is aligned against its anchor point. Possible values are \"left\", \"center\" and \"right\". Defaults to the same as the align option.","demo":"Text label in bottom position"},{"name":"xAxis-plotBands-label--textAlign","fullname":"xAxis.plotBands.label.textAlign","title":"textAlign","parent":"xAxis-plotBands-label","isParent":false,"returnType":"String","since":"2.1","description":"The text alignment for the label. While align determines where the texts anchor point is placed within the plot band, textAlign determines how the text is aligned against its anchor point. Possible values are \"left\", \"center\" and \"right\". Defaults to the same as the align option.","demo":"Vertical text in center position but text-aligned left"},{"name":"xAxis-plotLines-label--textAlign","fullname":"xAxis.plotLines.label.textAlign","title":"textAlign","parent":"xAxis-plotLines-label","isParent":false,"returnType":"String","since":"2.1","description":"The text alignment for the label. While align determines where the texts anchor point is placed within the plot band, textAlign determines how the text is aligned against its anchor point. Possible values are \"left\", \"center\" and \"right\". Defaults to the same as the align option.","demo":"Text label in bottom position"},{"name":"drilldown-drillUpButton--theme","fullname":"drilldown.drillUpButton.theme","title":"theme","parent":"drilldown-drillUpButton","isParent":false,"returnType":"Object","defaults":"","values":"","since":"3.0.8","description":"A collection of attributes for the button. The object takes SVG attributes like fill, stroke, stroke-width or r, the border radius. The theme also supports style, a collection of CSS properties for the text. Equivalent attributes for the hover state are given in theme.states.hover.","demo":"Button theming","seeAlso":"","deprecated":false},{"name":"navigation-buttonOptions--theme","fullname":"navigation.buttonOptions.theme","title":"theme","parent":"navigation-buttonOptions","isParent":false,"returnType":"Object","defaults":"","values":"","since":"3.0","description":"A configuration object for the button theme. The object accepts SVG properties like stroke-width, stroke and fill. Tri-state button styles are supported by the states.hover and states.select objects.","demo":"Theming the buttons","seeAlso":"","deprecated":false},{"name":"chart-resetZoomButton--theme","fullname":"chart.resetZoomButton.theme","title":"theme","parent":"chart-resetZoomButton","isParent":false,"returnType":"Object","since":"2.2","description":"A collection of attributes for the button. The object takes SVG attributes like fill, stroke, stroke-width or r, the border radius. The theme also supports style, a collection of CSS properties for the text. Equivalent attributes for the hover state are given in theme.states.hover.","demo":"Theming the button"},{"name":"exporting-buttons-contextButton--theme","fullname":"exporting.buttons.contextButton.theme","title":"theme","parent":"exporting-buttons-contextButton","isParent":false,"returnType":"Object","defaults":"","values":"","since":"3.0","description":"A configuration object for the button theme. The object accepts SVG properties like stroke-width, stroke and fill. Tri-state button styles are supported by the states.hover and states.select objects.","demo":"Theming the buttons","seeAlso":"","deprecated":false},{"name":"yAxis-plotBands--thickness","fullname":"yAxis.plotBands.thickness","title":"thickness","parent":"yAxis-plotBands","isParent":false,"returnType":"Number|String","defaults":"10","values":"","since":"2.3","description":"In a gauge chart, this option sets the width of the plot band stretching along the perimeter. It can be given as a percentage string, like \"10%\", or as a pixel number, like 10. The default value 10 is the same as the default tickLength, thus making the plot band act as a background for the tick markers. ","demo":"Gauge plot band","seeAlso":"","deprecated":false},{"name":"lang--thousandsSep","fullname":"lang.thousandsSep","title":"thousandsSep","parent":"lang","isParent":false,"returnType":"String","defaults":" ","since":"1.2.2","description":"The default thousands separator used in the Highcharts.numberFormat method unless otherwise specified in the function arguments. Since Highcharts 4.1 it defaults to a single space character, which is compatible with ISO and works across Anglo-American and continental European languages.","deprecated":false},{"name":"plotOptions-waterfall--threshold","fullname":"plotOptions.waterfall.threshold","title":"threshold","parent":"plotOptions-waterfall","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"2.0","description":"The Y axis value to serve as the base for the columns, for distinguishing between values above and below a threshold. If null, the columns extend from the padding Y axis minimum.","demo":"","seeAlso":"","deprecated":false},{"name":"series--threshold","fullname":"series.threshold","title":"threshold","parent":"series","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"3.0","description":"The threshold, also called zero level or base level. For line type series this is only used in conjunction with negativeColor.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-spline--threshold","fullname":"plotOptions.spline.threshold","title":"threshold","parent":"plotOptions-spline","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"3.0","description":"The threshold, also called zero level or base level. For line type series this is only used in conjunction with negativeColor.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-area--threshold","fullname":"plotOptions.area.threshold","title":"threshold","parent":"plotOptions-area","isParent":false,"returnType":"Number","defaults":"0","since":"2.0","description":"The Y axis value to serve as the base for the area, for distinguishing between values above and below a threshold. If null, the area behaves\r like a line series with fill between the graph and the Y axis minimum.","demo":"A threshold of 100","seeAlso":"","deprecated":false},{"name":"series--threshold","fullname":"series.threshold","title":"threshold","parent":"series","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"2.0","description":"The Y axis value to serve as the base for the columns, for distinguishing between values above and below a threshold. If null, the columns extend from the padding Y axis minimum.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bar--threshold","fullname":"plotOptions.bar.threshold","title":"threshold","parent":"plotOptions-bar","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"2.0","description":"The Y axis value to serve as the base for the columns, for distinguishing between values above and below a threshold. If null, the columns extend from the padding Y axis minimum.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-line--threshold","fullname":"plotOptions.line.threshold","title":"threshold","parent":"plotOptions-line","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"3.0","description":"The threshold, also called zero level or base level. For line type series this is only used in conjunction with negativeColor.","demo":"","seeAlso":"","deprecated":false},{"name":"series--threshold","fullname":"series.threshold","title":"threshold","parent":"series","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"3.0","description":"The threshold, also called zero level or base level. For line type series this is only used in conjunction with negativeColor.","demo":"","seeAlso":"","deprecated":false},{"name":"series--threshold","fullname":"series.threshold","title":"threshold","parent":"series","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"3.0","description":"The threshold, also called zero level or base level. For line type series this is only used in conjunction with negativeColor.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange--threshold","fullname":"plotOptions.columnrange.threshold","title":"threshold","parent":"plotOptions-columnrange","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"2.0","description":"The Y axis value to serve as the base for the columns, for distinguishing between values above and below a threshold. If null, the columns extend from the padding Y axis minimum.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble--threshold","fullname":"plotOptions.bubble.threshold","title":"threshold","parent":"plotOptions-bubble","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"3.0","description":"The threshold, also called zero level or base level. For line type series this is only used in conjunction with negativeColor.","demo":"","seeAlso":"","deprecated":false},{"name":"series--threshold","fullname":"series.threshold","title":"threshold","parent":"series","isParent":false,"returnType":"Number","defaults":"0","since":"2.0","description":"The Y axis value to serve as the base for the area, for distinguishing between values above and below a threshold. If null, the area behaves\r like a line series with fill between the graph and the Y axis minimum.","demo":"A threshold of 100","seeAlso":"","deprecated":false},{"name":"series--threshold","fullname":"series.threshold","title":"threshold","parent":"series","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"3.0","description":"The threshold, also called zero level or base level. For line type series this is only used in conjunction with negativeColor.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-scatter--threshold","fullname":"plotOptions.scatter.threshold","title":"threshold","parent":"plotOptions-scatter","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"3.0","description":"The threshold, also called zero level or base level. For line type series this is only used in conjunction with negativeColor.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon--threshold","fullname":"plotOptions.polygon.threshold","title":"threshold","parent":"plotOptions-polygon","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"3.0","description":"The threshold, also called zero level or base level. For line type series this is only used in conjunction with negativeColor.","demo":"","seeAlso":"","deprecated":false},{"name":"series--threshold","fullname":"series.threshold","title":"threshold","parent":"series","isParent":false,"returnType":"Number","defaults":"0","since":"2.0","description":"The Y axis value to serve as the base for the area, for distinguishing between values above and below a threshold. If null, the area behaves\r like a line series with fill between the graph and the Y axis minimum.","demo":"A threshold of 100","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline--threshold","fullname":"plotOptions.areaspline.threshold","title":"threshold","parent":"plotOptions-areaspline","isParent":false,"returnType":"Number","defaults":"0","since":"2.0","description":"The Y axis value to serve as the base for the area, for distinguishing between values above and below a threshold. If null, the area behaves\r like a line series with fill between the graph and the Y axis minimum.","demo":"A threshold of 100","seeAlso":"","deprecated":false},{"name":"series--threshold","fullname":"series.threshold","title":"threshold","parent":"series","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"2.0","description":"The Y axis value to serve as the base for the columns, for distinguishing between values above and below a threshold. If null, the columns extend from the padding Y axis minimum.","demo":"","seeAlso":"","deprecated":false},{"name":"series--threshold","fullname":"series.threshold","title":"threshold","parent":"series","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"3.0","description":"The threshold, also called zero level or base level. For line type series this is only used in conjunction with negativeColor.","demo":"","seeAlso":"","deprecated":false},{"name":"series--threshold","fullname":"series.threshold","title":"threshold","parent":"series","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"2.0","description":"The Y axis value to serve as the base for the columns, for distinguishing between values above and below a threshold. If null, the columns extend from the padding Y axis minimum.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-series--threshold","fullname":"plotOptions.series.threshold","title":"threshold","parent":"plotOptions-series","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"3.0","description":"The threshold, also called zero level or base level. For line type series this is only used in conjunction with negativeColor.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-gauge--threshold","fullname":"plotOptions.gauge.threshold","title":"threshold","parent":"plotOptions-gauge","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"3.0","description":"The threshold, also called zero level or base level. For line type series this is only used in conjunction with negativeColor.","demo":"","seeAlso":"","deprecated":false},{"name":"series--threshold","fullname":"series.threshold","title":"threshold","parent":"series","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"3.0","description":"The threshold, also called zero level or base level. For line type series this is only used in conjunction with negativeColor.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-column--threshold","fullname":"plotOptions.column.threshold","title":"threshold","parent":"plotOptions-column","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"2.0","description":"The Y axis value to serve as the base for the columns, for distinguishing between values above and below a threshold. If null, the columns extend from the padding Y axis minimum.","demo":"","seeAlso":"","deprecated":false},{"name":"series--threshold","fullname":"series.threshold","title":"threshold","parent":"series","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"2.0","description":"The Y axis value to serve as the base for the columns, for distinguishing between values above and below a threshold. If null, the columns extend from the padding Y axis minimum.","demo":"","seeAlso":"","deprecated":false},{"name":"xAxis--tickAmount","fullname":"xAxis.tickAmount","title":"tickAmount","parent":"xAxis","isParent":false,"returnType":"Number","since":"4.1.0","description":"

The amount of ticks to draw on the axis. This opens up for aligning the ticks of multiple charts or panes within a chart. This option overrides the tickPixelInterval option.

\r\n

This option only has an effect on linear axes. Datetime, logarithmic or category axes are not affected.

","demo":"8 ticks on Y axis","deprecated":false},{"name":"yAxis--tickAmount","fullname":"yAxis.tickAmount","title":"tickAmount","parent":"yAxis","isParent":false,"returnType":"Number","since":"4.1.0","description":"

The amount of ticks to draw on the axis. This opens up for aligning the ticks of multiple charts or panes within a chart. This option overrides the tickPixelInterval option.

\r\n

This option only has an effect on linear axes. Datetime, logarithmic or category axes are not affected.

","demo":"8 ticks on Y axis","deprecated":false},{"name":"xAxis--tickColor","fullname":"xAxis.tickColor","title":"tickColor","parent":"xAxis","isParent":false,"returnType":"Color","defaults":"#C0D0E0","description":"Color for the main tick marks.","demo":"Red ticks on X axis"},{"name":"yAxis--tickColor","fullname":"yAxis.tickColor","title":"tickColor","parent":"yAxis","isParent":false,"returnType":"Color","defaults":"#C0D0E0","description":"Color for the main tick marks.","demo":"Red ticks on X axis"},{"name":"yAxis--tickInterval","fullname":"yAxis.tickInterval","title":"tickInterval","parent":"yAxis","isParent":false,"returnType":"Number","description":"

The interval of the tick marks in axis units. When null, the tick interval\r\n is computed to approximately follow the tickPixelInterval on linear and datetime axes.\r\n On categorized axes, a null tickInterval will default to 1, one category. \r\n Note that datetime axes are based on milliseconds, so for \r\n example an interval of one day is expressed as 24 * 3600 * 1000.

\r\n

On logarithmic axes, the tickInterval is based on powers, so a tickInterval of 1 means\r\n \tone tick on each of 0.1, 1, 10, 100 etc. A tickInterval of 2 means a tick of 0.1, 10, 1000 etc.\r\n \tA tickInterval of 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40 etc.

\r\n

If the tickInterval is too dense for labels to be drawn, Highcharts may remove ticks.

","demo":"Tick interval of 5 on a linear axis","seeAlso":"tickPixelInterval, tickPositions, tickPositioner","deprecated":false},{"name":"xAxis--tickInterval","fullname":"xAxis.tickInterval","title":"tickInterval","parent":"xAxis","isParent":false,"returnType":"Number","description":"

The interval of the tick marks in axis units. When null, the tick interval\r\n is computed to approximately follow the tickPixelInterval on linear and datetime axes.\r\n On categorized axes, a null tickInterval will default to 1, one category. \r\n Note that datetime axes are based on milliseconds, so for \r\n example an interval of one day is expressed as 24 * 3600 * 1000.

\r\n

On logarithmic axes, the tickInterval is based on powers, so a tickInterval of 1 means\r\n \tone tick on each of 0.1, 1, 10, 100 etc. A tickInterval of 2 means a tick of 0.1, 10, 1000 etc.\r\n \tA tickInterval of 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20, 40 etc.

\r\n

If the tickInterval is too dense for labels to be drawn, Highcharts may remove ticks.

","demo":"Tick interval of 5 on a linear axis","seeAlso":"tickPixelInterval, tickPositions, tickPositioner","deprecated":false},{"name":"xAxis--tickLength","fullname":"xAxis.tickLength","title":"tickLength","parent":"xAxis","isParent":false,"returnType":"Number","defaults":"10","description":"The pixel length of the main tick marks.","demo":"20 px tick length on the X axis","deprecated":false},{"name":"yAxis--tickLength","fullname":"yAxis.tickLength","title":"tickLength","parent":"yAxis","isParent":false,"returnType":"Number","defaults":"10","description":"The pixel length of the main tick marks.","demo":"20 px tick length on the X axis","deprecated":false},{"name":"yAxis--tickPixelInterval","fullname":"yAxis.tickPixelInterval","title":"tickPixelInterval","parent":"yAxis","isParent":false,"returnType":"Number","description":"If tickInterval is null this option sets the approximate pixel interval of the\r tick marks. Not applicable to categorized axis. Defaults to 72 \r for the Y axis and 100 for\tthe X axis.","demo":"50 px on X axis","seeAlso":"tickInterval, tickPositioner, tickPositions-","deprecated":false},{"name":"xAxis--tickPixelInterval","fullname":"xAxis.tickPixelInterval","title":"tickPixelInterval","parent":"xAxis","isParent":false,"returnType":"Number","description":"If tickInterval is null this option sets the approximate pixel interval of the\r tick marks. Not applicable to categorized axis. Defaults to 72 \r for the Y axis and 100 for\tthe X axis.","demo":"50 px on X axis","seeAlso":"tickInterval, tickPositioner, tickPositions-","deprecated":false},{"name":"yAxis--tickPosition","fullname":"yAxis.tickPosition","title":"tickPosition","parent":"yAxis","isParent":false,"returnType":"String","defaults":"outside","values":"[\"inside\", \"outside\"]","description":"The position of the major tick marks relative to the axis line. Can be one of inside and outside.","demo":"\"outside\" by default, \n\t\t\t\"inside\" on X axis"},{"name":"xAxis--tickPosition","fullname":"xAxis.tickPosition","title":"tickPosition","parent":"xAxis","isParent":false,"returnType":"String","defaults":"outside","values":"[\"inside\", \"outside\"]","description":"The position of the major tick marks relative to the axis line. Can be one of inside and outside.","demo":"\"outside\" by default, \n\t\t\t\"inside\" on X axis"},{"name":"yAxis--tickPositioner","fullname":"yAxis.tickPositioner","title":"tickPositioner","parent":"yAxis","isParent":false,"returnType":"Function","description":"A callback function returning array defining where the ticks are laid out on the axis. This overrides the default behaviour of tickPixelInterval and tickInterval. The automatic tick positions are accessible through this.tickPositions and can be modified by the callback.","demo":"Demo of tickPositions and tickPositioner","seeAlso":"tickPositions","deprecated":false},{"name":"xAxis--tickPositioner","fullname":"xAxis.tickPositioner","title":"tickPositioner","parent":"xAxis","isParent":false,"returnType":"Function","description":"A callback function returning array defining where the ticks are laid out on the axis. This overrides the default behaviour of tickPixelInterval and tickInterval. The automatic tick positions are accessible through this.tickPositions and can be modified by the callback.","demo":"Demo of tickPositions and tickPositioner","seeAlso":"tickPositions","deprecated":false},{"name":"xAxis--tickPositions","fullname":"xAxis.tickPositions","title":"tickPositions","parent":"xAxis","isParent":false,"returnType":"Array","description":"An array defining where the ticks are laid out on the axis. This overrides the default behaviour of tickPixelInterval and tickInterval.","demo":"Demo of tickPositions and tickPositioner","seeAlso":"tickPositioner","deprecated":false},{"name":"yAxis--tickPositions","fullname":"yAxis.tickPositions","title":"tickPositions","parent":"yAxis","isParent":false,"returnType":"Array","description":"An array defining where the ticks are laid out on the axis. This overrides the default behaviour of tickPixelInterval and tickInterval.","demo":"Demo of tickPositions and tickPositioner","seeAlso":"tickPositioner","deprecated":false},{"name":"xAxis--tickWidth","fullname":"xAxis.tickWidth","title":"tickWidth","parent":"xAxis","isParent":false,"returnType":"Number","defaults":"1","description":"The pixel width of the major tick marks.","demo":"10 px width"},{"name":"yAxis--tickWidth","fullname":"yAxis.tickWidth","title":"tickWidth","parent":"yAxis","isParent":false,"returnType":"Number","defaults":"0","description":"The pixel width of the major tick marks.","demo":"10 px width"},{"name":"yAxis--tickmarkPlacement","fullname":"yAxis.tickmarkPlacement","title":"tickmarkPlacement","parent":"yAxis","isParent":false,"returnType":"String","defaults":"null","values":"[null, \"on\", \"between\"]","description":"For categorized axes only. If on the tick mark is placed in the center of the category, if between the tick mark is placed between categories. The default is between if the tickInterval is 1, else on.","demo":"\"between\" by default, \r\n\t\t\t\"on\"","deprecated":false},{"name":"xAxis--tickmarkPlacement","fullname":"xAxis.tickmarkPlacement","title":"tickmarkPlacement","parent":"xAxis","isParent":false,"returnType":"String","defaults":"null","values":"[null, \"on\", \"between\"]","description":"For categorized axes only. If on the tick mark is placed in the center of the category, if between the tick mark is placed between categories. The default is between if the tickInterval is 1, else on.","demo":"\"between\" by default, \r\n\t\t\t\"on\"","deprecated":false},{"name":"global--timezoneOffset","fullname":"global.timezoneOffset","title":"timezoneOffset","parent":"global","isParent":false,"returnType":"Number","defaults":"0","since":"3.0.8","description":"The timezone offset in minutes. Positive values are west, negative values are east of UTC, as in the ECMAScript getTimezoneOffset method. Use this to display UTC based data in a predefined time zone. ","demo":"Timezone offset","seeAlso":"global.getTimezoneOffset","deprecated":false},{"name":"title","fullname":"title","title":"title","isParent":true,"description":"The chart's main title."},{"name":"legend-title","fullname":"legend.title","title":"title","parent":"legend","isParent":true,"returnType":"","defaults":"","values":"","since":"3.0","description":"A title to be added on top of the legend.","demo":"Legend title","seeAlso":"","deprecated":false},{"name":"xAxis-title","fullname":"xAxis.title","title":"title","parent":"xAxis","isParent":true,"description":"The axis title, showing next to the axis line."},{"name":"yAxis-title","fullname":"yAxis.title","title":"title","parent":"yAxis","isParent":true},{"name":"yAxis-plotBands--to","fullname":"yAxis.plotBands.to","title":"to","parent":"yAxis-plotBands","isParent":false,"returnType":"Number","description":"The end position of the plot band in axis units.","demo":"Datetime axis,\n\t\t\tcategorized axis,"},{"name":"yAxis-breaks--to","fullname":"yAxis.breaks.to","title":"to","parent":"yAxis-breaks","isParent":false,"returnType":"Number","context":"","defaults":"","values":"","since":"4.1.0","description":"The point where the break ends.","demo":"","seeAlso":"","deprecated":false},{"name":"xAxis-breaks--to","fullname":"xAxis.breaks.to","title":"to","parent":"xAxis-breaks","isParent":false,"returnType":"Number","context":"","defaults":"","values":"","since":"4.1.0","description":"The point where the break ends.","demo":"","seeAlso":"","deprecated":false},{"name":"xAxis-plotBands--to","fullname":"xAxis.plotBands.to","title":"to","parent":"xAxis-plotBands","isParent":false,"returnType":"Number","description":"The end position of the plot band in axis units.","demo":"Datetime axis,\n\t\t\tcategorized axis,"},{"name":"series-tooltip","fullname":"series.tooltip","title":"tooltip","parent":"series","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"tooltip","fullname":"tooltip","title":"tooltip","isParent":true,"description":"Options for the tooltip that appears when the user hovers over a series or point."},{"name":"plotOptions-boxplot-tooltip","fullname":"plotOptions.boxplot.tooltip","title":"tooltip","parent":"plotOptions-boxplot","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip","fullname":"series.tooltip","title":"tooltip","parent":"series","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip","fullname":"series.tooltip","title":"tooltip","parent":"series","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-waterfall-tooltip","fullname":"plotOptions.waterfall.tooltip","title":"tooltip","parent":"plotOptions-waterfall","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pie-tooltip","fullname":"plotOptions.pie.tooltip","title":"tooltip","parent":"plotOptions-pie","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bar-tooltip","fullname":"plotOptions.bar.tooltip","title":"tooltip","parent":"plotOptions-bar","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline-tooltip","fullname":"plotOptions.areaspline.tooltip","title":"tooltip","parent":"plotOptions-areaspline","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip","fullname":"series.tooltip","title":"tooltip","parent":"series","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-areasplinerange-tooltip","fullname":"plotOptions.areasplinerange.tooltip","title":"tooltip","parent":"plotOptions-areasplinerange","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-area-tooltip","fullname":"plotOptions.area.tooltip","title":"tooltip","parent":"plotOptions-area","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-spline-tooltip","fullname":"plotOptions.spline.tooltip","title":"tooltip","parent":"plotOptions-spline","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip","fullname":"series.tooltip","title":"tooltip","parent":"series","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-gauge-tooltip","fullname":"plotOptions.gauge.tooltip","title":"tooltip","parent":"plotOptions-gauge","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip","fullname":"series.tooltip","title":"tooltip","parent":"series","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip","fullname":"series.tooltip","title":"tooltip","parent":"series","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-column-tooltip","fullname":"plotOptions.column.tooltip","title":"tooltip","parent":"plotOptions-column","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip","fullname":"series.tooltip","title":"tooltip","parent":"series","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip","fullname":"series.tooltip","title":"tooltip","parent":"series","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip","fullname":"series.tooltip","title":"tooltip","parent":"series","isParent":true,"returnType":"","context":"","defaults":"","values":"","since":"4.1.0","description":"","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-errorbar-tooltip","fullname":"plotOptions.errorbar.tooltip","title":"tooltip","parent":"plotOptions-errorbar","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip","fullname":"series.tooltip","title":"tooltip","parent":"series","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-treemap-tooltip","fullname":"plotOptions.treemap.tooltip","title":"tooltip","parent":"plotOptions-treemap","isParent":true,"returnType":"","context":"","defaults":"","values":"","since":"4.1.0","description":"","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-line-tooltip","fullname":"plotOptions.line.tooltip","title":"tooltip","parent":"plotOptions-line","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-arearange-tooltip","fullname":"plotOptions.arearange.tooltip","title":"tooltip","parent":"plotOptions-arearange","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip","fullname":"series.tooltip","title":"tooltip","parent":"series","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange-tooltip","fullname":"plotOptions.columnrange.tooltip","title":"tooltip","parent":"plotOptions-columnrange","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-heatmap-tooltip","fullname":"plotOptions.heatmap.tooltip","title":"tooltip","parent":"plotOptions-heatmap","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-scatter-tooltip","fullname":"plotOptions.scatter.tooltip","title":"tooltip","parent":"plotOptions-scatter","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip","fullname":"series.tooltip","title":"tooltip","parent":"series","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip","fullname":"series.tooltip","title":"tooltip","parent":"series","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip","fullname":"series.tooltip","title":"tooltip","parent":"series","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid-tooltip","fullname":"plotOptions.pyramid.tooltip","title":"tooltip","parent":"plotOptions-pyramid","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-funnel-tooltip","fullname":"plotOptions.funnel.tooltip","title":"tooltip","parent":"plotOptions-funnel","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon-tooltip","fullname":"plotOptions.polygon.tooltip","title":"tooltip","parent":"plotOptions-polygon","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-series-tooltip","fullname":"plotOptions.series.tooltip","title":"tooltip","parent":"plotOptions-series","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip","fullname":"series.tooltip","title":"tooltip","parent":"series","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip","fullname":"series.tooltip","title":"tooltip","parent":"series","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip","fullname":"series.tooltip","title":"tooltip","parent":"series","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip","fullname":"series.tooltip","title":"tooltip","parent":"series","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip","fullname":"series.tooltip","title":"tooltip","parent":"series","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble-tooltip","fullname":"plotOptions.bubble.tooltip","title":"tooltip","parent":"plotOptions-bubble","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-solidgauge-tooltip","fullname":"plotOptions.solidgauge.tooltip","title":"tooltip","parent":"plotOptions-solidgauge","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip","fullname":"series.tooltip","title":"tooltip","parent":"series","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip","fullname":"series.tooltip","title":"tooltip","parent":"series","isParent":true,"returnType":"Object","defaults":"","values":"","since":"2.3","description":"A configuration object for the tooltip rendering of each single series. Properties are inherited from tooltip, but only the following properties can be defined on a series level.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dial--topWidth","fullname":"series.dial.topWidth","title":"topWidth","parent":"series-dial","isParent":false,"returnType":"Number","defaults":"1","since":"2.3.0","description":"The width of the top of the dial, closest to the perimeter. The pivot narrows in from the base to the top.","demo":"Dial options demonstrated","seeAlso":"","deprecated":false},{"name":"plotOptions-gauge-dial--topWidth","fullname":"plotOptions.gauge.dial.topWidth","title":"topWidth","parent":"plotOptions-gauge-dial","isParent":false,"returnType":"Number","defaults":"1","since":"2.3.0","description":"The width of the top of the dial, closest to the perimeter. The pivot narrows in from the base to the top.","demo":"Dial options demonstrated","seeAlso":"","deprecated":false},{"name":"series--trackByArea","fullname":"series.trackByArea","title":"trackByArea","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.1.6","description":"Whether the whole area or just the line should respond to mouseover tooltips and other mouse or touch events.","demo":"Display the tooltip when the\n\t\t\t\tarea is hovered"},{"name":"series--trackByArea","fullname":"series.trackByArea","title":"trackByArea","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.0","description":"Whether the whole area or just the line should respond to mouseover tooltips and other mouse or touch events.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-area--trackByArea","fullname":"plotOptions.area.trackByArea","title":"trackByArea","parent":"plotOptions-area","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.1.6","description":"Whether the whole area or just the line should respond to mouseover tooltips and other mouse or touch events.","demo":"Display the tooltip when the\n\t\t\t\tarea is hovered"},{"name":"series--trackByArea","fullname":"series.trackByArea","title":"trackByArea","parent":"series","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.1.6","description":"Whether the whole area or just the line should respond to mouseover tooltips and other mouse or touch events.","demo":"Display the tooltip when the\n\t\t\t\tarea is hovered"},{"name":"plotOptions-arearange--trackByArea","fullname":"plotOptions.arearange.trackByArea","title":"trackByArea","parent":"plotOptions-arearange","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.0","description":"Whether the whole area or just the line should respond to mouseover tooltips and other mouse or touch events.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline--trackByArea","fullname":"plotOptions.areaspline.trackByArea","title":"trackByArea","parent":"plotOptions-areaspline","isParent":false,"returnType":"Boolean","defaults":"false","since":"1.1.6","description":"Whether the whole area or just the line should respond to mouseover tooltips and other mouse or touch events.","demo":"Display the tooltip when the\n\t\t\t\tarea is hovered"},{"name":"series--trackByArea","fullname":"series.trackByArea","title":"trackByArea","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.0","description":"Whether the whole area or just the line should respond to mouseover tooltips and other mouse or touch events.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-areasplinerange--trackByArea","fullname":"plotOptions.areasplinerange.trackByArea","title":"trackByArea","parent":"plotOptions-areasplinerange","isParent":false,"returnType":"Boolean","defaults":"true","since":"2.3.0","description":"Whether the whole area or just the line should respond to mouseover tooltips and other mouse or touch events.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-treemap","fullname":"plotOptions.treemap","title":"treemap","parent":"plotOptions","isParent":true,"returnType":"Object","since":"4.1.0","description":"The size of the point shape is determined by its value relative to its siblings values.\r\nRequires the module heatmap.js as well, if functionality such as the colorAxis is to be used.","deprecated":false},{"name":"plotOptions-line--turboThreshold","fullname":"plotOptions.line.turboThreshold","title":"turboThreshold","parent":"plotOptions-line","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"series--turboThreshold","fullname":"series.turboThreshold","title":"turboThreshold","parent":"series","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"series--turboThreshold","fullname":"series.turboThreshold","title":"turboThreshold","parent":"series","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"series--turboThreshold","fullname":"series.turboThreshold","title":"turboThreshold","parent":"series","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"series--turboThreshold","fullname":"series.turboThreshold","title":"turboThreshold","parent":"series","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"series--turboThreshold","fullname":"series.turboThreshold","title":"turboThreshold","parent":"series","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"plotOptions-polygon--turboThreshold","fullname":"plotOptions.polygon.turboThreshold","title":"turboThreshold","parent":"plotOptions-polygon","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"series--turboThreshold","fullname":"series.turboThreshold","title":"turboThreshold","parent":"series","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"plotOptions-bar--turboThreshold","fullname":"plotOptions.bar.turboThreshold","title":"turboThreshold","parent":"plotOptions-bar","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"plotOptions-columnrange--turboThreshold","fullname":"plotOptions.columnrange.turboThreshold","title":"turboThreshold","parent":"plotOptions-columnrange","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"plotOptions-boxplot--turboThreshold","fullname":"plotOptions.boxplot.turboThreshold","title":"turboThreshold","parent":"plotOptions-boxplot","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"plotOptions-spline--turboThreshold","fullname":"plotOptions.spline.turboThreshold","title":"turboThreshold","parent":"plotOptions-spline","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"plotOptions-column--turboThreshold","fullname":"plotOptions.column.turboThreshold","title":"turboThreshold","parent":"plotOptions-column","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"series--turboThreshold","fullname":"series.turboThreshold","title":"turboThreshold","parent":"series","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"plotOptions-areaspline--turboThreshold","fullname":"plotOptions.areaspline.turboThreshold","title":"turboThreshold","parent":"plotOptions-areaspline","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"plotOptions-area--turboThreshold","fullname":"plotOptions.area.turboThreshold","title":"turboThreshold","parent":"plotOptions-area","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"series--turboThreshold","fullname":"series.turboThreshold","title":"turboThreshold","parent":"series","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"plotOptions-scatter--turboThreshold","fullname":"plotOptions.scatter.turboThreshold","title":"turboThreshold","parent":"plotOptions-scatter","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"plotOptions-series--turboThreshold","fullname":"plotOptions.series.turboThreshold","title":"turboThreshold","parent":"plotOptions-series","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"series--turboThreshold","fullname":"series.turboThreshold","title":"turboThreshold","parent":"series","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"plotOptions-heatmap--turboThreshold","fullname":"plotOptions.heatmap.turboThreshold","title":"turboThreshold","parent":"plotOptions-heatmap","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"series--turboThreshold","fullname":"series.turboThreshold","title":"turboThreshold","parent":"series","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"series--turboThreshold","fullname":"series.turboThreshold","title":"turboThreshold","parent":"series","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"series--turboThreshold","fullname":"series.turboThreshold","title":"turboThreshold","parent":"series","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"plotOptions-areasplinerange--turboThreshold","fullname":"plotOptions.areasplinerange.turboThreshold","title":"turboThreshold","parent":"plotOptions-areasplinerange","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"series--turboThreshold","fullname":"series.turboThreshold","title":"turboThreshold","parent":"series","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"series--turboThreshold","fullname":"series.turboThreshold","title":"turboThreshold","parent":"series","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"series--turboThreshold","fullname":"series.turboThreshold","title":"turboThreshold","parent":"series","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"plotOptions-errorbar--turboThreshold","fullname":"plotOptions.errorbar.turboThreshold","title":"turboThreshold","parent":"plotOptions-errorbar","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"plotOptions-treemap--turboThreshold","fullname":"plotOptions.treemap.turboThreshold","title":"turboThreshold","parent":"plotOptions-treemap","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"plotOptions-arearange--turboThreshold","fullname":"plotOptions.arearange.turboThreshold","title":"turboThreshold","parent":"plotOptions-arearange","isParent":false,"returnType":"Number","defaults":"1000","since":"2.2","description":"When a series contains a data array that is longer than this, only one dimensional arrays of numbers,\r or two dimensional arrays with x and y values are allowed. Also, only the first\r point is tested, and the rest are assumed to be the same format. This saves expensive\r data checking and indexing in long series. Set it to 0 disable.","deprecated":false},{"name":"yAxis--type","fullname":"yAxis.type","title":"type","parent":"yAxis","isParent":false,"returnType":"String","defaults":"linear","values":"[\"linear\", \"logarithmic\", \"datetime\", \"category\"]","description":"The type of axis. Can be one of \"linear\", \"logarithmic\", \"datetime\" or \"category\". In a datetime axis, the numbers are given in milliseconds, and tick marks are placed \t\ton appropriate values like full hours or days. In a category axis, the point names of the chart's series are used for categories, if not a categories array is defined.","demo":"\"linear\", \r\n\t\t\t\"datetime\" with regular intervals,\r\n\t\t\t\"datetime\" with irregular intervals,\r\n\t\t\t\"logarithmic\",\r\n\t\t\t\"logarithmic\" with minor grid lines,\r\n\t\t\t\"logarithmic\" on two axes.","deprecated":false},{"name":"series--type","fullname":"series.type","title":"type","parent":"series","isParent":false,"returnType":"String","values":"[null, \"line\", \"spline\", \"column\", \"area\", \"areaspline\", \"pie\", \"arearange\", \"areasplinerange\", \"boxplot\", \"bubble\", \"columnrange\", \"errorbar\", \"funnel\", \"gauge\", \"scatter\", \"waterfall\"]","since":"","description":"The type of series. Can be one of area, areaspline,\r bar, column, line, pie,\r scatter or spline. From version 2.3, arearange, areasplinerange and columnrange are supported with the highcharts-more.js component.","demo":"Line and column in the same chart","seeAlso":"","deprecated":false},{"name":"series--type","fullname":"series.type","title":"type","parent":"series","isParent":false,"returnType":"String","values":"[null, \"line\", \"spline\", \"column\", \"area\", \"areaspline\", \"pie\", \"arearange\", \"areasplinerange\", \"boxplot\", \"bubble\", \"columnrange\", \"errorbar\", \"funnel\", \"gauge\", \"scatter\", \"waterfall\"]","since":"","description":"The type of series. Can be one of area, areaspline,\r bar, column, line, pie,\r scatter or spline. From version 2.3, arearange, areasplinerange and columnrange are supported with the highcharts-more.js component.","demo":"Line and column in the same chart","seeAlso":"","deprecated":false},{"name":"series--type","fullname":"series.type","title":"type","parent":"series","isParent":false,"returnType":"String","values":"[null, \"line\", \"spline\", \"column\", \"area\", \"areaspline\", \"pie\", \"arearange\", \"areasplinerange\", \"boxplot\", \"bubble\", \"columnrange\", \"errorbar\", \"funnel\", \"gauge\", \"scatter\", \"waterfall\"]","since":"","description":"The type of series. Can be one of area, areaspline,\r bar, column, line, pie,\r scatter or spline. From version 2.3, arearange, areasplinerange and columnrange are supported with the highcharts-more.js component.","demo":"Line and column in the same chart","seeAlso":"","deprecated":false},{"name":"series--type","fullname":"series.type","title":"type","parent":"series","isParent":false,"returnType":"String","values":"[null, \"line\", \"spline\", \"column\", \"area\", \"areaspline\", \"pie\", \"arearange\", \"areasplinerange\", \"boxplot\", \"bubble\", \"columnrange\", \"errorbar\", \"funnel\", \"gauge\", \"scatter\", \"waterfall\"]","since":"","description":"The type of series. Can be one of area, areaspline,\r bar, column, line, pie,\r scatter or spline. From version 2.3, arearange, areasplinerange and columnrange are supported with the highcharts-more.js component.","demo":"Line and column in the same chart","seeAlso":"","deprecated":false},{"name":"series--type","fullname":"series.type","title":"type","parent":"series","isParent":false,"returnType":"String","values":"[null, \"line\", \"spline\", \"column\", \"area\", \"areaspline\", \"pie\", \"arearange\", \"areasplinerange\", \"boxplot\", \"bubble\", \"columnrange\", \"errorbar\", \"funnel\", \"gauge\", \"scatter\", \"waterfall\"]","since":"","description":"The type of series. Can be one of area, areaspline,\r bar, column, line, pie,\r scatter or spline. From version 2.3, arearange, areasplinerange and columnrange are supported with the highcharts-more.js component.","demo":"Line and column in the same chart","seeAlso":"","deprecated":false},{"name":"series--type","fullname":"series.type","title":"type","parent":"series","isParent":false,"returnType":"String","values":"[null, \"line\", \"spline\", \"column\", \"area\", \"areaspline\", \"pie\", \"arearange\", \"areasplinerange\", \"boxplot\", \"bubble\", \"columnrange\", \"errorbar\", \"funnel\", \"gauge\", \"scatter\", \"waterfall\"]","since":"","description":"The type of series. Can be one of area, areaspline,\r bar, column, line, pie,\r scatter or spline. From version 2.3, arearange, areasplinerange and columnrange are supported with the highcharts-more.js component.","demo":"Line and column in the same chart","seeAlso":"","deprecated":false},{"name":"series--type","fullname":"series.type","title":"type","parent":"series","isParent":false,"returnType":"String","values":"[null, \"line\", \"spline\", \"column\", \"area\", \"areaspline\", \"pie\", \"arearange\", \"areasplinerange\", \"boxplot\", \"bubble\", \"columnrange\", \"errorbar\", \"funnel\", \"gauge\", \"scatter\", \"waterfall\"]","since":"","description":"The type of series. Can be one of area, areaspline,\r bar, column, line, pie,\r scatter or spline. From version 2.3, arearange, areasplinerange and columnrange are supported with the highcharts-more.js component.","demo":"Line and column in the same chart","seeAlso":"","deprecated":false},{"name":"series--type","fullname":"series.type","title":"type","parent":"series","isParent":false,"returnType":"String","values":"[null, \"line\", \"spline\", \"column\", \"area\", \"areaspline\", \"pie\", \"arearange\", \"areasplinerange\", \"boxplot\", \"bubble\", \"columnrange\", \"errorbar\", \"funnel\", \"gauge\", \"scatter\", \"waterfall\"]","since":"","description":"The type of series. Can be one of area, areaspline,\r bar, column, line, pie,\r scatter or spline. From version 2.3, arearange, areasplinerange and columnrange are supported with the highcharts-more.js component.","demo":"Line and column in the same chart","seeAlso":"","deprecated":false},{"name":"series--type","fullname":"series.type","title":"type","parent":"series","isParent":false,"returnType":"String","values":"[null, \"line\", \"spline\", \"column\", \"area\", \"areaspline\", \"pie\", \"arearange\", \"areasplinerange\", \"boxplot\", \"bubble\", \"columnrange\", \"errorbar\", \"funnel\", \"gauge\", \"scatter\", \"waterfall\"]","since":"","description":"The type of series. Can be one of area, areaspline,\r bar, column, line, pie,\r scatter or spline. From version 2.3, arearange, areasplinerange and columnrange are supported with the highcharts-more.js component.","demo":"Line and column in the same chart","seeAlso":"","deprecated":false},{"name":"series--type","fullname":"series.type","title":"type","parent":"series","isParent":false,"returnType":"String","values":"[null, \"line\", \"spline\", \"column\", \"area\", \"areaspline\", \"pie\", \"arearange\", \"areasplinerange\", \"boxplot\", \"bubble\", \"columnrange\", \"errorbar\", \"funnel\", \"gauge\", \"scatter\", \"waterfall\"]","since":"","description":"The type of series. Can be one of area, areaspline,\r bar, column, line, pie,\r scatter or spline. From version 2.3, arearange, areasplinerange and columnrange are supported with the highcharts-more.js component.","demo":"Line and column in the same chart","seeAlso":"","deprecated":false},{"name":"series--type","fullname":"series.type","title":"type","parent":"series","isParent":false,"returnType":"String","values":"[null, \"line\", \"spline\", \"column\", \"area\", \"areaspline\", \"pie\", \"arearange\", \"areasplinerange\", \"boxplot\", \"bubble\", \"columnrange\", \"errorbar\", \"funnel\", \"gauge\", \"scatter\", \"waterfall\"]","since":"","description":"The type of series. Can be one of area, areaspline,\r bar, column, line, pie,\r scatter or spline. From version 2.3, arearange, areasplinerange and columnrange are supported with the highcharts-more.js component.","demo":"Line and column in the same chart","seeAlso":"","deprecated":false},{"name":"series--type","fullname":"series.type","title":"type","parent":"series","isParent":false,"returnType":"String","values":"[null, \"line\", \"spline\", \"column\", \"area\", \"areaspline\", \"pie\", \"arearange\", \"areasplinerange\", \"boxplot\", \"bubble\", \"columnrange\", \"errorbar\", \"funnel\", \"gauge\", \"scatter\", \"waterfall\"]","since":"","description":"The type of series. Can be one of area, areaspline,\r bar, column, line, pie,\r scatter or spline. From version 2.3, arearange, areasplinerange and columnrange are supported with the highcharts-more.js component.","demo":"Line and column in the same chart","seeAlso":"","deprecated":false},{"name":"series--type","fullname":"series.type","title":"type","parent":"series","isParent":false,"returnType":"String","values":"[null, \"line\", \"spline\", \"column\", \"area\", \"areaspline\", \"pie\", \"arearange\", \"areasplinerange\", \"boxplot\", \"bubble\", \"columnrange\", \"errorbar\", \"funnel\", \"gauge\", \"scatter\", \"waterfall\"]","since":"","description":"The type of series. Can be one of area, areaspline,\r bar, column, line, pie,\r scatter or spline. From version 2.3, arearange, areasplinerange and columnrange are supported with the highcharts-more.js component.","demo":"Line and column in the same chart","seeAlso":"","deprecated":false},{"name":"series--type","fullname":"series.type","title":"type","parent":"series","isParent":false,"returnType":"String","values":"[null, \"line\", \"spline\", \"column\", \"area\", \"areaspline\", \"pie\", \"arearange\", \"areasplinerange\", \"boxplot\", \"bubble\", \"columnrange\", \"errorbar\", \"funnel\", \"gauge\", \"scatter\", \"waterfall\"]","since":"","description":"The type of series. Can be one of area, areaspline,\r bar, column, line, pie,\r scatter or spline. From version 2.3, arearange, areasplinerange and columnrange are supported with the highcharts-more.js component.","demo":"Line and column in the same chart","seeAlso":"","deprecated":false},{"name":"series--type","fullname":"series.type","title":"type","parent":"series","isParent":false,"returnType":"String","values":"[null, \"line\", \"spline\", \"column\", \"area\", \"areaspline\", \"pie\", \"arearange\", \"areasplinerange\", \"boxplot\", \"bubble\", \"columnrange\", \"errorbar\", \"funnel\", \"gauge\", \"scatter\", \"waterfall\"]","since":"","description":"The type of series. Can be one of area, areaspline,\r bar, column, line, pie,\r scatter or spline. From version 2.3, arearange, areasplinerange and columnrange are supported with the highcharts-more.js component.","demo":"Line and column in the same chart","seeAlso":"","deprecated":false},{"name":"series--type","fullname":"series.type","title":"type","parent":"series","isParent":false,"returnType":"String","values":"[null, \"line\", \"spline\", \"column\", \"area\", \"areaspline\", \"pie\", \"arearange\", \"areasplinerange\", \"boxplot\", \"bubble\", \"columnrange\", \"errorbar\", \"funnel\", \"gauge\", \"scatter\", \"waterfall\"]","since":"","description":"The type of series. Can be one of area, areaspline,\r bar, column, line, pie,\r scatter or spline. From version 2.3, arearange, areasplinerange and columnrange are supported with the highcharts-more.js component.","demo":"Line and column in the same chart","seeAlso":"","deprecated":false},{"name":"series--type","fullname":"series.type","title":"type","parent":"series","isParent":false,"returnType":"String","values":"[null, \"line\", \"spline\", \"column\", \"area\", \"areaspline\", \"pie\", \"arearange\", \"areasplinerange\", \"boxplot\", \"bubble\", \"columnrange\", \"errorbar\", \"funnel\", \"gauge\", \"scatter\", \"waterfall\"]","since":"","description":"The type of series. Can be one of area, areaspline,\r bar, column, line, pie,\r scatter or spline. From version 2.3, arearange, areasplinerange and columnrange are supported with the highcharts-more.js component.","demo":"Line and column in the same chart","seeAlso":"","deprecated":false},{"name":"series--type","fullname":"series.type","title":"type","parent":"series","isParent":false,"returnType":"String","values":"[null, \"line\", \"spline\", \"column\", \"area\", \"areaspline\", \"pie\", \"arearange\", \"areasplinerange\", \"boxplot\", \"bubble\", \"columnrange\", \"errorbar\", \"funnel\", \"gauge\", \"scatter\", \"waterfall\"]","since":"","description":"The type of series. Can be one of area, areaspline,\r bar, column, line, pie,\r scatter or spline. From version 2.3, arearange, areasplinerange and columnrange are supported with the highcharts-more.js component.","demo":"Line and column in the same chart","seeAlso":"","deprecated":false},{"name":"series--type","fullname":"series.type","title":"type","parent":"series","isParent":false,"returnType":"String","values":"[null, \"line\", \"spline\", \"column\", \"area\", \"areaspline\", \"pie\", \"arearange\", \"areasplinerange\", \"boxplot\", \"bubble\", \"columnrange\", \"errorbar\", \"funnel\", \"gauge\", \"scatter\", \"waterfall\"]","since":"","description":"The type of series. Can be one of area, areaspline,\r bar, column, line, pie,\r scatter or spline. From version 2.3, arearange, areasplinerange and columnrange are supported with the highcharts-more.js component.","demo":"Line and column in the same chart","seeAlso":"","deprecated":false},{"name":"chart--type","fullname":"chart.type","title":"type","parent":"chart","isParent":false,"returnType":"String","defaults":"line","values":"[\"line\", \"spline\", \"column\", \"area\", \"areaspline\", \"pie\", \"arearange\", \"areasplinerange\", \"boxplot\", \"bubble\", \"columnrange\", \"errorbar\", \"funnel\", \"gauge\", \"scatter\", \"waterfall\"]","since":"2.1.0","description":"The default series type for the chart. Can be any of the chart types listed under plotOptions.","demo":"Bar","deprecated":false},{"name":"series--type","fullname":"series.type","title":"type","parent":"series","isParent":false,"returnType":"String","values":"[null, \"line\", \"spline\", \"column\", \"area\", \"areaspline\", \"pie\", \"arearange\", \"areasplinerange\", \"boxplot\", \"bubble\", \"columnrange\", \"errorbar\", \"funnel\", \"gauge\", \"scatter\", \"waterfall\"]","since":"","description":"The type of series. Can be one of area, areaspline,\r bar, column, line, pie,\r scatter or spline. From version 2.3, arearange, areasplinerange and columnrange are supported with the highcharts-more.js component.","demo":"Line and column in the same chart","seeAlso":"","deprecated":false},{"name":"exporting--type","fullname":"exporting.type","title":"type","parent":"exporting","isParent":false,"returnType":"String","defaults":"image/png","values":"[\"image/png\", \"image/jpeg\", \"application/pdf\", \"image/svg+xml\"]","since":"2.0","description":"Default MIME type for exporting if chart.exportChart() is called without specifying a type option. Possible values are image/png, image/jpeg, application/pdf and image/svg+xml.","demo":"Default type set to image/jpeg"},{"name":"xAxis--type","fullname":"xAxis.type","title":"type","parent":"xAxis","isParent":false,"returnType":"String","defaults":"linear","values":"[\"linear\", \"logarithmic\", \"datetime\", \"category\"]","description":"The type of axis. Can be one of \"linear\", \"logarithmic\", \"datetime\" or \"category\". In a datetime axis, the numbers are given in milliseconds, and tick marks are placed \t\ton appropriate values like full hours or days. In a category axis, the point names of the chart's series are used for categories, if not a categories array is defined.","demo":"\"linear\", \r\n\t\t\t\"datetime\" with regular intervals,\r\n\t\t\t\"datetime\" with irregular intervals,\r\n\t\t\t\"logarithmic\",\r\n\t\t\t\"logarithmic\" with minor grid lines,\r\n\t\t\t\"logarithmic\" on two axes.","deprecated":false},{"name":"series--type","fullname":"series.type","title":"type","parent":"series","isParent":false,"returnType":"String","values":"[null, \"line\", \"spline\", \"column\", \"area\", \"areaspline\", \"pie\", \"arearange\", \"areasplinerange\", \"boxplot\", \"bubble\", \"columnrange\", \"errorbar\", \"funnel\", \"gauge\", \"scatter\", \"waterfall\"]","since":"","description":"The type of series. Can be one of area, areaspline,\r bar, column, line, pie,\r scatter or spline. From version 2.3, arearange, areasplinerange and columnrange are supported with the highcharts-more.js component.","demo":"Line and column in the same chart","seeAlso":"","deprecated":false},{"name":"series--type","fullname":"series.type","title":"type","parent":"series","isParent":false,"returnType":"String","values":"[null, \"line\", \"spline\", \"column\", \"area\", \"areaspline\", \"pie\", \"arearange\", \"areasplinerange\", \"boxplot\", \"bubble\", \"columnrange\", \"errorbar\", \"funnel\", \"gauge\", \"scatter\", \"waterfall\"]","since":"","description":"The type of series. Can be one of area, areaspline,\r bar, column, line, pie,\r scatter or spline. From version 2.3, arearange, areasplinerange and columnrange are supported with the highcharts-more.js component.","demo":"Line and column in the same chart","seeAlso":"","deprecated":false},{"name":"series--type","fullname":"series.type","title":"type","parent":"series","isParent":false,"returnType":"String","values":"[null, \"line\", \"spline\", \"column\", \"area\", \"areaspline\", \"pie\", \"arearange\", \"areasplinerange\", \"boxplot\", \"bubble\", \"columnrange\", \"errorbar\", \"funnel\", \"gauge\", \"scatter\", \"waterfall\"]","since":"","description":"The type of series. Can be one of area, areaspline,\r bar, column, line, pie,\r scatter or spline. From version 2.3, arearange, areasplinerange and columnrange are supported with the highcharts-more.js component.","demo":"Line and column in the same chart","seeAlso":"","deprecated":false},{"name":"yAxis--units","fullname":"yAxis.units","title":"units","parent":"yAxis","isParent":false,"returnType":"Array","defaults":"","values":"","since":"","description":"Datetime axis only. An array determining what time intervals the ticks are allowed to fall on. Each array item is an array where the first value is the time unit and the second value another array of allowed multiples. Defaults to:\r\n
units: [[\r\n\t'millisecond', // unit name\r\n\t[1, 2, 5, 10, 20, 25, 50, 100, 200, 500] // allowed multiples\r\n], [\r\n\t'second',\r\n\t[1, 2, 5, 10, 15, 30]\r\n], [\r\n\t'minute',\r\n\t[1, 2, 5, 10, 15, 30]\r\n], [\r\n\t'hour',\r\n\t[1, 2, 3, 4, 6, 8, 12]\r\n], [\r\n\t'day',\r\n\t[1]\r\n], [\r\n\t'week',\r\n\t[1]\r\n], [\r\n\t'month',\r\n\t[1, 3, 6]\r\n], [\r\n\t'year',\r\n\tnull\r\n]]
","demo":"","seeAlso":"","deprecated":false},{"name":"xAxis--units","fullname":"xAxis.units","title":"units","parent":"xAxis","isParent":false,"returnType":"Array","defaults":"","values":"","since":"","description":"Datetime axis only. An array determining what time intervals the ticks are allowed to fall on. Each array item is an array where the first value is the time unit and the second value another array of allowed multiples. Defaults to:\r\n
units: [[\r\n\t'millisecond', // unit name\r\n\t[1, 2, 5, 10, 20, 25, 50, 100, 200, 500] // allowed multiples\r\n], [\r\n\t'second',\r\n\t[1, 2, 5, 10, 15, 30]\r\n], [\r\n\t'minute',\r\n\t[1, 2, 5, 10, 15, 30]\r\n], [\r\n\t'hour',\r\n\t[1, 2, 3, 4, 6, 8, 12]\r\n], [\r\n\t'day',\r\n\t[1]\r\n], [\r\n\t'week',\r\n\t[1]\r\n], [\r\n\t'month',\r\n\t[1, 3, 6]\r\n], [\r\n\t'year',\r\n\tnull\r\n]]
","demo":"","seeAlso":"","deprecated":false},{"name":"series-data-events--unselect","fullname":"series.data.events.unselect","title":"unselect","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"plotOptions-spline-point-events--unselect","fullname":"plotOptions.spline.point.events.unselect","title":"unselect","parent":"plotOptions-spline-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"plotOptions-bar-point-events--unselect","fullname":"plotOptions.bar.point.events.unselect","title":"unselect","parent":"plotOptions-bar-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-point-events--unselect","fullname":"series.point.events.unselect","title":"unselect","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-point-events--unselect","fullname":"series.point.events.unselect","title":"unselect","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"plotOptions-treemap-point-events--unselect","fullname":"plotOptions.treemap.point.events.unselect","title":"unselect","parent":"plotOptions-treemap-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-point-events--unselect","fullname":"series.point.events.unselect","title":"unselect","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-point-events--unselect","fullname":"series.point.events.unselect","title":"unselect","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"plotOptions-gauge-point-events--unselect","fullname":"plotOptions.gauge.point.events.unselect","title":"unselect","parent":"plotOptions-gauge-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-data-events--unselect","fullname":"series.data.events.unselect","title":"unselect","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"plotOptions-areasplinerange-point-events--unselect","fullname":"plotOptions.areasplinerange.point.events.unselect","title":"unselect","parent":"plotOptions-areasplinerange-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-point-events--unselect","fullname":"series.point.events.unselect","title":"unselect","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"plotOptions-bubble-point-events--unselect","fullname":"plotOptions.bubble.point.events.unselect","title":"unselect","parent":"plotOptions-bubble-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"plotOptions-polygon-point-events--unselect","fullname":"plotOptions.polygon.point.events.unselect","title":"unselect","parent":"plotOptions-polygon-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-data-events--unselect","fullname":"series.data.events.unselect","title":"unselect","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-data-events--unselect","fullname":"series.data.events.unselect","title":"unselect","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-point-events--unselect","fullname":"series.point.events.unselect","title":"unselect","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-data-events--unselect","fullname":"series.data.events.unselect","title":"unselect","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"plotOptions-areaspline-point-events--unselect","fullname":"plotOptions.areaspline.point.events.unselect","title":"unselect","parent":"plotOptions-areaspline-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-point-events--unselect","fullname":"series.point.events.unselect","title":"unselect","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-point-events--unselect","fullname":"series.point.events.unselect","title":"unselect","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-point-events--unselect","fullname":"series.point.events.unselect","title":"unselect","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-point-events--unselect","fullname":"series.point.events.unselect","title":"unselect","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-point-events--unselect","fullname":"series.point.events.unselect","title":"unselect","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"plotOptions-series-point-events--unselect","fullname":"plotOptions.series.point.events.unselect","title":"unselect","parent":"plotOptions-series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-data-events--unselect","fullname":"series.data.events.unselect","title":"unselect","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"plotOptions-boxplot-point-events--unselect","fullname":"plotOptions.boxplot.point.events.unselect","title":"unselect","parent":"plotOptions-boxplot-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-data-events--unselect","fullname":"series.data.events.unselect","title":"unselect","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-data-events--unselect","fullname":"series.data.events.unselect","title":"unselect","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-data-events--unselect","fullname":"series.data.events.unselect","title":"unselect","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-point-events--unselect","fullname":"series.point.events.unselect","title":"unselect","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"plotOptions-area-point-events--unselect","fullname":"plotOptions.area.point.events.unselect","title":"unselect","parent":"plotOptions-area-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"plotOptions-errorbar-point-events--unselect","fullname":"plotOptions.errorbar.point.events.unselect","title":"unselect","parent":"plotOptions-errorbar-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"plotOptions-heatmap-point-events--unselect","fullname":"plotOptions.heatmap.point.events.unselect","title":"unselect","parent":"plotOptions-heatmap-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-point-events--unselect","fullname":"series.point.events.unselect","title":"unselect","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-data-events--unselect","fullname":"series.data.events.unselect","title":"unselect","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-point-events--unselect","fullname":"series.point.events.unselect","title":"unselect","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-point-events--unselect","fullname":"series.point.events.unselect","title":"unselect","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-point-events--unselect","fullname":"series.point.events.unselect","title":"unselect","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"plotOptions-columnrange-point-events--unselect","fullname":"plotOptions.columnrange.point.events.unselect","title":"unselect","parent":"plotOptions-columnrange-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"plotOptions-line-point-events--unselect","fullname":"plotOptions.line.point.events.unselect","title":"unselect","parent":"plotOptions-line-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"plotOptions-arearange-point-events--unselect","fullname":"plotOptions.arearange.point.events.unselect","title":"unselect","parent":"plotOptions-arearange-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-data-events--unselect","fullname":"series.data.events.unselect","title":"unselect","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-data-events--unselect","fullname":"series.data.events.unselect","title":"unselect","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-data-events--unselect","fullname":"series.data.events.unselect","title":"unselect","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-data-events--unselect","fullname":"series.data.events.unselect","title":"unselect","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-point-events--unselect","fullname":"series.point.events.unselect","title":"unselect","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-point-events--unselect","fullname":"series.point.events.unselect","title":"unselect","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"plotOptions-solidgauge-point-events--unselect","fullname":"plotOptions.solidgauge.point.events.unselect","title":"unselect","parent":"plotOptions-solidgauge-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-data-events--unselect","fullname":"series.data.events.unselect","title":"unselect","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"plotOptions-column-point-events--unselect","fullname":"plotOptions.column.point.events.unselect","title":"unselect","parent":"plotOptions-column-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-data-events--unselect","fullname":"series.data.events.unselect","title":"unselect","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-point-events--unselect","fullname":"series.point.events.unselect","title":"unselect","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"plotOptions-pyramid-point-events--unselect","fullname":"plotOptions.pyramid.point.events.unselect","title":"unselect","parent":"plotOptions-pyramid-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-data-events--unselect","fullname":"series.data.events.unselect","title":"unselect","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"plotOptions-waterfall-point-events--unselect","fullname":"plotOptions.waterfall.point.events.unselect","title":"unselect","parent":"plotOptions-waterfall-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-point-events--unselect","fullname":"series.point.events.unselect","title":"unselect","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"plotOptions-funnel-point-events--unselect","fullname":"plotOptions.funnel.point.events.unselect","title":"unselect","parent":"plotOptions-funnel-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"plotOptions-scatter-point-events--unselect","fullname":"plotOptions.scatter.point.events.unselect","title":"unselect","parent":"plotOptions-scatter-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-data-events--unselect","fullname":"series.data.events.unselect","title":"unselect","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-data-events--unselect","fullname":"series.data.events.unselect","title":"unselect","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-data-events--unselect","fullname":"series.data.events.unselect","title":"unselect","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-data-events--unselect","fullname":"series.data.events.unselect","title":"unselect","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"plotOptions-pie-point-events--unselect","fullname":"plotOptions.pie.point.events.unselect","title":"unselect","parent":"plotOptions-pie-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-point-events--unselect","fullname":"series.point.events.unselect","title":"unselect","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-data-events--unselect","fullname":"series.data.events.unselect","title":"unselect","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"series-point-events--unselect","fullname":"series.point.events.unselect","title":"unselect","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is unselected either programmatically or following a click on the point. One parameter, event, is passed to the function. Returning false cancels the operation.","demo":"Report the last unselected point","deprecated":false},{"name":"plotOptions-waterfall--upColor","fullname":"plotOptions.waterfall.upColor","title":"upColor","parent":"plotOptions-waterfall","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"The color used specifically for positive point columns. When not specified, the general series color is used.","demo":"Waterfall","seeAlso":"","deprecated":false},{"name":"series--upColor","fullname":"series.upColor","title":"upColor","parent":"series","isParent":false,"returnType":"Color","defaults":"","values":"","since":"","description":"The color used specifically for positive point columns. When not specified, the general series color is used.","demo":"Waterfall","seeAlso":"","deprecated":false},{"name":"plotOptions-errorbar-point-events--update","fullname":"plotOptions.errorbar.point.events.update","title":"update","parent":"plotOptions-errorbar-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"plotOptions-polygon-point-events--update","fullname":"plotOptions.polygon.point.events.update","title":"update","parent":"plotOptions-polygon-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"plotOptions-waterfall-point-events--update","fullname":"plotOptions.waterfall.point.events.update","title":"update","parent":"plotOptions-waterfall-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"plotOptions-funnel-point-events--update","fullname":"plotOptions.funnel.point.events.update","title":"update","parent":"plotOptions-funnel-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-data-events--update","fullname":"series.data.events.update","title":"update","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"plotOptions-area-point-events--update","fullname":"plotOptions.area.point.events.update","title":"update","parent":"plotOptions-area-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"plotOptions-series-point-events--update","fullname":"plotOptions.series.point.events.update","title":"update","parent":"plotOptions-series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-data-events--update","fullname":"series.data.events.update","title":"update","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"plotOptions-bubble-point-events--update","fullname":"plotOptions.bubble.point.events.update","title":"update","parent":"plotOptions-bubble-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-data-events--update","fullname":"series.data.events.update","title":"update","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-point-events--update","fullname":"series.point.events.update","title":"update","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-point-events--update","fullname":"series.point.events.update","title":"update","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"plotOptions-spline-point-events--update","fullname":"plotOptions.spline.point.events.update","title":"update","parent":"plotOptions-spline-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-point-events--update","fullname":"series.point.events.update","title":"update","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-point-events--update","fullname":"series.point.events.update","title":"update","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-data-events--update","fullname":"series.data.events.update","title":"update","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-point-events--update","fullname":"series.point.events.update","title":"update","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-data-events--update","fullname":"series.data.events.update","title":"update","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-point-events--update","fullname":"series.point.events.update","title":"update","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-point-events--update","fullname":"series.point.events.update","title":"update","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"plotOptions-column-point-events--update","fullname":"plotOptions.column.point.events.update","title":"update","parent":"plotOptions-column-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-point-events--update","fullname":"series.point.events.update","title":"update","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-point-events--update","fullname":"series.point.events.update","title":"update","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"plotOptions-bar-point-events--update","fullname":"plotOptions.bar.point.events.update","title":"update","parent":"plotOptions-bar-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-data-events--update","fullname":"series.data.events.update","title":"update","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-point-events--update","fullname":"series.point.events.update","title":"update","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-point-events--update","fullname":"series.point.events.update","title":"update","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-data-events--update","fullname":"series.data.events.update","title":"update","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-data-events--update","fullname":"series.data.events.update","title":"update","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-point-events--update","fullname":"series.point.events.update","title":"update","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"plotOptions-pie-point-events--update","fullname":"plotOptions.pie.point.events.update","title":"update","parent":"plotOptions-pie-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-data-events--update","fullname":"series.data.events.update","title":"update","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"plotOptions-scatter-point-events--update","fullname":"plotOptions.scatter.point.events.update","title":"update","parent":"plotOptions-scatter-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-data-events--update","fullname":"series.data.events.update","title":"update","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-data-events--update","fullname":"series.data.events.update","title":"update","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"plotOptions-gauge-point-events--update","fullname":"plotOptions.gauge.point.events.update","title":"update","parent":"plotOptions-gauge-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-point-events--update","fullname":"series.point.events.update","title":"update","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-point-events--update","fullname":"series.point.events.update","title":"update","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"plotOptions-areasplinerange-point-events--update","fullname":"plotOptions.areasplinerange.point.events.update","title":"update","parent":"plotOptions-areasplinerange-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-data-events--update","fullname":"series.data.events.update","title":"update","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-data-events--update","fullname":"series.data.events.update","title":"update","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-point-events--update","fullname":"series.point.events.update","title":"update","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"plotOptions-columnrange-point-events--update","fullname":"plotOptions.columnrange.point.events.update","title":"update","parent":"plotOptions-columnrange-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"plotOptions-pyramid-point-events--update","fullname":"plotOptions.pyramid.point.events.update","title":"update","parent":"plotOptions-pyramid-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"plotOptions-areaspline-point-events--update","fullname":"plotOptions.areaspline.point.events.update","title":"update","parent":"plotOptions-areaspline-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-point-events--update","fullname":"series.point.events.update","title":"update","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-data-events--update","fullname":"series.data.events.update","title":"update","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"plotOptions-solidgauge-point-events--update","fullname":"plotOptions.solidgauge.point.events.update","title":"update","parent":"plotOptions-solidgauge-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-data-events--update","fullname":"series.data.events.update","title":"update","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-point-events--update","fullname":"series.point.events.update","title":"update","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-point-events--update","fullname":"series.point.events.update","title":"update","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-data-events--update","fullname":"series.data.events.update","title":"update","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-data-events--update","fullname":"series.data.events.update","title":"update","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"plotOptions-treemap-point-events--update","fullname":"plotOptions.treemap.point.events.update","title":"update","parent":"plotOptions-treemap-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"plotOptions-arearange-point-events--update","fullname":"plotOptions.arearange.point.events.update","title":"update","parent":"plotOptions-arearange-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"plotOptions-boxplot-point-events--update","fullname":"plotOptions.boxplot.point.events.update","title":"update","parent":"plotOptions-boxplot-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-data-events--update","fullname":"series.data.events.update","title":"update","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"plotOptions-line-point-events--update","fullname":"plotOptions.line.point.events.update","title":"update","parent":"plotOptions-line-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"plotOptions-heatmap-point-events--update","fullname":"plotOptions.heatmap.point.events.update","title":"update","parent":"plotOptions-heatmap-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-point-events--update","fullname":"series.point.events.update","title":"update","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-data-events--update","fullname":"series.data.events.update","title":"update","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-point-events--update","fullname":"series.point.events.update","title":"update","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-point-events--update","fullname":"series.point.events.update","title":"update","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-data-events--update","fullname":"series.data.events.update","title":"update","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-data-events--update","fullname":"series.data.events.update","title":"update","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-point-events--update","fullname":"series.point.events.update","title":"update","parent":"series-point-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"series-data-events--update","fullname":"series.data.events.update","title":"update","parent":"series-data-events","isParent":false,"returnType":"Function","context":"Point","since":"1.2.0","description":"Fires when the point is updated programmatically through the .update() method. One parameter, event, is passed to the function. The new point options can be accessed through event.options. Returning false cancels the operation.","demo":"Confirm point updating","deprecated":false},{"name":"exporting--url","fullname":"exporting.url","title":"url","parent":"exporting","isParent":false,"returnType":"String","defaults":"http://export.highcharts.com","since":"2.0","description":"The URL for the server module converting the SVG string to an image format. By default this points to Highslide Software's free web service."},{"name":"plotOptions-series-dataLabels--useHTML","fullname":"plotOptions.series.dataLabels.useHTML","title":"useHTML","parent":"plotOptions-series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"series-dataLabels--useHTML","fullname":"series.dataLabels.useHTML","title":"useHTML","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"title--useHTML","fullname":"title.useHTML","title":"useHTML","parent":"title","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the text.","deprecated":false},{"name":"series-dataLabels--useHTML","fullname":"series.dataLabels.useHTML","title":"useHTML","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"series-dataLabels--useHTML","fullname":"series.dataLabels.useHTML","title":"useHTML","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"series-dataLabels--useHTML","fullname":"series.dataLabels.useHTML","title":"useHTML","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"series-dataLabels--useHTML","fullname":"series.dataLabels.useHTML","title":"useHTML","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"plotOptions-columnrange-dataLabels--useHTML","fullname":"plotOptions.columnrange.dataLabels.useHTML","title":"useHTML","parent":"plotOptions-columnrange-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"plotOptions-areaspline-dataLabels--useHTML","fullname":"plotOptions.areaspline.dataLabels.useHTML","title":"useHTML","parent":"plotOptions-areaspline-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"series-dataLabels--useHTML","fullname":"series.dataLabels.useHTML","title":"useHTML","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"tooltip--useHTML","fullname":"tooltip.useHTML","title":"useHTML","parent":"tooltip","isParent":false,"returnType":"Boolean","defaults":"false","since":"2.2","description":"Use HTML to render the contents of the tooltip instead of SVG. Using HTML allows advanced formatting like tables and images in the tooltip. It is also recommended for rtl languages as it works around rtl bugs in early Firefox.","demo":"A table for value alignment. Full HTML tooltip.","deprecated":false},{"name":"series-dataLabels--useHTML","fullname":"series.dataLabels.useHTML","title":"useHTML","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"xAxis-labels--useHTML","fullname":"xAxis.labels.useHTML","title":"useHTML","parent":"xAxis-labels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"series-dataLabels--useHTML","fullname":"series.dataLabels.useHTML","title":"useHTML","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"series-dataLabels--useHTML","fullname":"series.dataLabels.useHTML","title":"useHTML","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"series-dataLabels--useHTML","fullname":"series.dataLabels.useHTML","title":"useHTML","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"plotOptions-polygon-dataLabels--useHTML","fullname":"plotOptions.polygon.dataLabels.useHTML","title":"useHTML","parent":"plotOptions-polygon-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"plotOptions-bar-dataLabels--useHTML","fullname":"plotOptions.bar.dataLabels.useHTML","title":"useHTML","parent":"plotOptions-bar-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"series-dataLabels--useHTML","fullname":"series.dataLabels.useHTML","title":"useHTML","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"series-dataLabels--useHTML","fullname":"series.dataLabels.useHTML","title":"useHTML","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"series-dataLabels--useHTML","fullname":"series.dataLabels.useHTML","title":"useHTML","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"plotOptions-gauge-dataLabels--useHTML","fullname":"plotOptions.gauge.dataLabels.useHTML","title":"useHTML","parent":"plotOptions-gauge-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"xAxis-plotLines-label--useHTML","fullname":"xAxis.plotLines.label.useHTML","title":"useHTML","parent":"xAxis-plotLines-label","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0.3","description":"

Whether to use HTML to render the labels.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--useHTML","fullname":"series.dataLabels.useHTML","title":"useHTML","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"series-dataLabels--useHTML","fullname":"series.dataLabels.useHTML","title":"useHTML","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"series-dataLabels--useHTML","fullname":"series.dataLabels.useHTML","title":"useHTML","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"yAxis-stackLabels--useHTML","fullname":"yAxis.stackLabels.useHTML","title":"useHTML","parent":"yAxis-stackLabels","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0","description":"Whether to use HTML to render the labels.","demo":"","seeAlso":"","deprecated":false},{"name":"legend--useHTML","fullname":"legend.useHTML","title":"useHTML","parent":"legend","isParent":false,"returnType":"Boolean","defaults":"false","description":"

Whether to use HTML to render the legend item texts. When using HTML, legend.navigation is disabled.

","deprecated":false},{"name":"plotOptions-column-dataLabels--useHTML","fullname":"plotOptions.column.dataLabels.useHTML","title":"useHTML","parent":"plotOptions-column-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"xAxis-plotBands-label--useHTML","fullname":"xAxis.plotBands.label.useHTML","title":"useHTML","parent":"xAxis-plotBands-label","isParent":false,"returnType":"Boolean","defaults":"false","since":"3.0.3","description":"

Whether to use HTML to render the labels.","deprecated":false},{"name":"plotOptions-line-dataLabels--useHTML","fullname":"plotOptions.line.dataLabels.useHTML","title":"useHTML","parent":"plotOptions-line-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"plotOptions-scatter-dataLabels--useHTML","fullname":"plotOptions.scatter.dataLabels.useHTML","title":"useHTML","parent":"plotOptions-scatter-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"plotOptions-treemap-dataLabels--useHTML","fullname":"plotOptions.treemap.dataLabels.useHTML","title":"useHTML","parent":"plotOptions-treemap-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"series-dataLabels--useHTML","fullname":"series.dataLabels.useHTML","title":"useHTML","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"plotOptions-bubble-dataLabels--useHTML","fullname":"plotOptions.bubble.dataLabels.useHTML","title":"useHTML","parent":"plotOptions-bubble-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"plotOptions-pyramid-dataLabels--useHTML","fullname":"plotOptions.pyramid.dataLabels.useHTML","title":"useHTML","parent":"plotOptions-pyramid-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"plotOptions-spline-dataLabels--useHTML","fullname":"plotOptions.spline.dataLabels.useHTML","title":"useHTML","parent":"plotOptions-spline-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"plotOptions-pie-dataLabels--useHTML","fullname":"plotOptions.pie.dataLabels.useHTML","title":"useHTML","parent":"plotOptions-pie-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"series-dataLabels--useHTML","fullname":"series.dataLabels.useHTML","title":"useHTML","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"plotOptions-heatmap-dataLabels--useHTML","fullname":"plotOptions.heatmap.dataLabels.useHTML","title":"useHTML","parent":"plotOptions-heatmap-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"plotOptions-waterfall-dataLabels--useHTML","fullname":"plotOptions.waterfall.dataLabels.useHTML","title":"useHTML","parent":"plotOptions-waterfall-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"plotOptions-funnel-dataLabels--useHTML","fullname":"plotOptions.funnel.dataLabels.useHTML","title":"useHTML","parent":"plotOptions-funnel-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"plotOptions-area-dataLabels--useHTML","fullname":"plotOptions.area.dataLabels.useHTML","title":"useHTML","parent":"plotOptions-area-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"yAxis-plotBands-label--useHTML","fullname":"yAxis.plotBands.label.useHTML","title":"useHTML","parent":"yAxis-plotBands-label","isParent":false,"returnType":"Boolean","defaults":"false","since":"3.0.3","description":"

Whether to use HTML to render the labels.","deprecated":false},{"name":"plotOptions-arearange-dataLabels--useHTML","fullname":"plotOptions.arearange.dataLabels.useHTML","title":"useHTML","parent":"plotOptions-arearange-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"plotOptions-solidgauge-dataLabels--useHTML","fullname":"plotOptions.solidgauge.dataLabels.useHTML","title":"useHTML","parent":"plotOptions-solidgauge-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"subtitle--useHTML","fullname":"subtitle.useHTML","title":"useHTML","parent":"subtitle","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the text.","deprecated":false},{"name":"yAxis-labels--useHTML","fullname":"yAxis.labels.useHTML","title":"useHTML","parent":"yAxis-labels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"yAxis-plotLines-label--useHTML","fullname":"yAxis.plotLines.label.useHTML","title":"useHTML","parent":"yAxis-plotLines-label","isParent":false,"returnType":"Boolean","defaults":"false","values":"","since":"3.0.3","description":"

Whether to use HTML to render the labels.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--useHTML","fullname":"series.dataLabels.useHTML","title":"useHTML","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"series-dataLabels--useHTML","fullname":"series.dataLabels.useHTML","title":"useHTML","parent":"series-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"plotOptions-areasplinerange-dataLabels--useHTML","fullname":"plotOptions.areasplinerange.dataLabels.useHTML","title":"useHTML","parent":"plotOptions-areasplinerange-dataLabels","isParent":false,"returnType":"Boolean","defaults":"false","description":"Whether to use HTML to render the labels.","deprecated":false},{"name":"global--useUTC","fullname":"global.useUTC","title":"useUTC","parent":"global","isParent":false,"returnType":"Boolean","defaults":"true","description":"Whether to use UTC time for axis scaling, tickmark placement and time display in Highcharts.dateFormat. Advantages of using UTC is that the time displays equally regardless of the user agent's time zone settings. Local time can be used when the data is loaded in real time or when correct Daylight Saving Time transitions are required.","demo":"True by default - the starting point which is \n\t\t\tat 00:00 UTC, is displayed as 00:00 in the axis labels and in the tooltip. \n\t\t\tFalse - the starting point which is \n\t\t\tat 00:00 UTC, is displayed as your local browser time in the axis labels and in \n\t\t\tthe tooltip."},{"name":"series-zones--value","fullname":"series.zones.value","title":"value","parent":"series-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-zones--value","fullname":"series.zones.value","title":"value","parent":"series-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-zones--value","fullname":"series.zones.value","title":"value","parent":"series-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-arearange-zones--value","fullname":"plotOptions.arearange.zones.value","title":"value","parent":"plotOptions-arearange-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-zones--value","fullname":"series.zones.value","title":"value","parent":"series-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bar-zones--value","fullname":"plotOptions.bar.zones.value","title":"value","parent":"plotOptions-bar-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon-zones--value","fullname":"plotOptions.polygon.zones.value","title":"value","parent":"plotOptions-polygon-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-zones--value","fullname":"series.zones.value","title":"value","parent":"series-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-zones--value","fullname":"series.zones.value","title":"value","parent":"series-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-zones--value","fullname":"series.zones.value","title":"value","parent":"series-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-zones--value","fullname":"series.zones.value","title":"value","parent":"series-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-zones--value","fullname":"series.zones.value","title":"value","parent":"series-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline-zones--value","fullname":"plotOptions.areaspline.zones.value","title":"value","parent":"plotOptions-areaspline-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-boxplot-zones--value","fullname":"plotOptions.boxplot.zones.value","title":"value","parent":"plotOptions-boxplot-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-zones--value","fullname":"series.zones.value","title":"value","parent":"series-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-zones--value","fullname":"series.zones.value","title":"value","parent":"series-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-zones--value","fullname":"series.zones.value","title":"value","parent":"series-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-zones--value","fullname":"series.zones.value","title":"value","parent":"series-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-zones--value","fullname":"series.zones.value","title":"value","parent":"series-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-zones--value","fullname":"series.zones.value","title":"value","parent":"series-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-zones--value","fullname":"series.zones.value","title":"value","parent":"series-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-scatter-zones--value","fullname":"plotOptions.scatter.zones.value","title":"value","parent":"plotOptions-scatter-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange-zones--value","fullname":"plotOptions.columnrange.zones.value","title":"value","parent":"plotOptions-columnrange-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-zones--value","fullname":"series.zones.value","title":"value","parent":"series-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-areasplinerange-zones--value","fullname":"plotOptions.areasplinerange.zones.value","title":"value","parent":"plotOptions-areasplinerange-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-heatmap-zones--value","fullname":"plotOptions.heatmap.zones.value","title":"value","parent":"plotOptions-heatmap-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid-zones--value","fullname":"plotOptions.pyramid.zones.value","title":"value","parent":"plotOptions-pyramid-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-data--value","fullname":"series.data.value","title":"value","parent":"series-data","isParent":false,"returnType":"Number","description":"The value of the point, resulting in a color controled by options as set in the colorAxis configuration."},{"name":"plotOptions-funnel-zones--value","fullname":"plotOptions.funnel.zones.value","title":"value","parent":"plotOptions-funnel-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-errorbar-zones--value","fullname":"plotOptions.errorbar.zones.value","title":"value","parent":"plotOptions-errorbar-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-solidgauge-zones--value","fullname":"plotOptions.solidgauge.zones.value","title":"value","parent":"plotOptions-solidgauge-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-spline-zones--value","fullname":"plotOptions.spline.zones.value","title":"value","parent":"plotOptions-spline-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-area-zones--value","fullname":"plotOptions.area.zones.value","title":"value","parent":"plotOptions-area-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-zones--value","fullname":"series.zones.value","title":"value","parent":"series-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-line-zones--value","fullname":"plotOptions.line.zones.value","title":"value","parent":"plotOptions-line-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-zones--value","fullname":"series.zones.value","title":"value","parent":"series-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-series-zones--value","fullname":"plotOptions.series.zones.value","title":"value","parent":"plotOptions-series-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"xAxis-plotLines--value","fullname":"xAxis.plotLines.value","title":"value","parent":"xAxis-plotLines","isParent":false,"returnType":"Number","description":"The position of the line in axis units.","demo":"Between two categories on X axis"},{"name":"yAxis-plotLines--value","fullname":"yAxis.plotLines.value","title":"value","parent":"yAxis-plotLines","isParent":false,"returnType":"Number","description":"The position of the line in axis units.","demo":"Between two categories on X axis"},{"name":"series-zones--value","fullname":"series.zones.value","title":"value","parent":"series-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-waterfall-zones--value","fullname":"plotOptions.waterfall.zones.value","title":"value","parent":"plotOptions-waterfall-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pie-zones--value","fullname":"plotOptions.pie.zones.value","title":"value","parent":"plotOptions-pie-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-column-zones--value","fullname":"plotOptions.column.zones.value","title":"value","parent":"plotOptions-column-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-zones--value","fullname":"series.zones.value","title":"value","parent":"series-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble-zones--value","fullname":"plotOptions.bubble.zones.value","title":"value","parent":"plotOptions-bubble-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-gauge-zones--value","fullname":"plotOptions.gauge.zones.value","title":"value","parent":"plotOptions-gauge-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-data--value","fullname":"series.data.value","title":"value","parent":"series-data","isParent":false,"returnType":"Number","description":"The value of the point, resulting in a relative area of the point in the treemap."},{"name":"series-zones--value","fullname":"series.zones.value","title":"value","parent":"series-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-treemap-zones--value","fullname":"plotOptions.treemap.zones.value","title":"value","parent":"plotOptions-treemap-zones","isParent":false,"returnType":"Number","context":"","defaults":"undefined","values":"","since":"4.1.0","description":"The value up to where the zone extends, if undefined the zones stretches to the last value in the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-tooltip--valueDecimals","fullname":"series.tooltip.valueDecimals","title":"valueDecimals","parent":"series-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueDecimals","fullname":"series.tooltip.valueDecimals","title":"valueDecimals","parent":"series-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-columnrange-tooltip--valueDecimals","fullname":"plotOptions.columnrange.tooltip.valueDecimals","title":"valueDecimals","parent":"plotOptions-columnrange-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueDecimals","fullname":"series.tooltip.valueDecimals","title":"valueDecimals","parent":"series-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-treemap-tooltip--valueDecimals","fullname":"plotOptions.treemap.tooltip.valueDecimals","title":"valueDecimals","parent":"plotOptions-treemap-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueDecimals","fullname":"series.tooltip.valueDecimals","title":"valueDecimals","parent":"series-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-funnel-tooltip--valueDecimals","fullname":"plotOptions.funnel.tooltip.valueDecimals","title":"valueDecimals","parent":"plotOptions-funnel-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-bar-tooltip--valueDecimals","fullname":"plotOptions.bar.tooltip.valueDecimals","title":"valueDecimals","parent":"plotOptions-bar-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueDecimals","fullname":"series.tooltip.valueDecimals","title":"valueDecimals","parent":"series-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-solidgauge-tooltip--valueDecimals","fullname":"plotOptions.solidgauge.tooltip.valueDecimals","title":"valueDecimals","parent":"plotOptions-solidgauge-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueDecimals","fullname":"series.tooltip.valueDecimals","title":"valueDecimals","parent":"series-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueDecimals","fullname":"series.tooltip.valueDecimals","title":"valueDecimals","parent":"series-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-area-tooltip--valueDecimals","fullname":"plotOptions.area.tooltip.valueDecimals","title":"valueDecimals","parent":"plotOptions-area-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueDecimals","fullname":"series.tooltip.valueDecimals","title":"valueDecimals","parent":"series-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-polygon-tooltip--valueDecimals","fullname":"plotOptions.polygon.tooltip.valueDecimals","title":"valueDecimals","parent":"plotOptions-polygon-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-column-tooltip--valueDecimals","fullname":"plotOptions.column.tooltip.valueDecimals","title":"valueDecimals","parent":"plotOptions-column-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueDecimals","fullname":"series.tooltip.valueDecimals","title":"valueDecimals","parent":"series-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueDecimals","fullname":"series.tooltip.valueDecimals","title":"valueDecimals","parent":"series-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-scatter-tooltip--valueDecimals","fullname":"plotOptions.scatter.tooltip.valueDecimals","title":"valueDecimals","parent":"plotOptions-scatter-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-arearange-tooltip--valueDecimals","fullname":"plotOptions.arearange.tooltip.valueDecimals","title":"valueDecimals","parent":"plotOptions-arearange-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-series-tooltip--valueDecimals","fullname":"plotOptions.series.tooltip.valueDecimals","title":"valueDecimals","parent":"plotOptions-series-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-boxplot-tooltip--valueDecimals","fullname":"plotOptions.boxplot.tooltip.valueDecimals","title":"valueDecimals","parent":"plotOptions-boxplot-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-waterfall-tooltip--valueDecimals","fullname":"plotOptions.waterfall.tooltip.valueDecimals","title":"valueDecimals","parent":"plotOptions-waterfall-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueDecimals","fullname":"series.tooltip.valueDecimals","title":"valueDecimals","parent":"series-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueDecimals","fullname":"series.tooltip.valueDecimals","title":"valueDecimals","parent":"series-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueDecimals","fullname":"series.tooltip.valueDecimals","title":"valueDecimals","parent":"series-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-areaspline-tooltip--valueDecimals","fullname":"plotOptions.areaspline.tooltip.valueDecimals","title":"valueDecimals","parent":"plotOptions-areaspline-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueDecimals","fullname":"series.tooltip.valueDecimals","title":"valueDecimals","parent":"series-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueDecimals","fullname":"series.tooltip.valueDecimals","title":"valueDecimals","parent":"series-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueDecimals","fullname":"series.tooltip.valueDecimals","title":"valueDecimals","parent":"series-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-spline-tooltip--valueDecimals","fullname":"plotOptions.spline.tooltip.valueDecimals","title":"valueDecimals","parent":"plotOptions-spline-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueDecimals","fullname":"series.tooltip.valueDecimals","title":"valueDecimals","parent":"series-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueDecimals","fullname":"series.tooltip.valueDecimals","title":"valueDecimals","parent":"series-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"tooltip--valueDecimals","fullname":"tooltip.valueDecimals","title":"valueDecimals","parent":"tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueDecimals","fullname":"series.tooltip.valueDecimals","title":"valueDecimals","parent":"series-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueDecimals","fullname":"series.tooltip.valueDecimals","title":"valueDecimals","parent":"series-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-bubble-tooltip--valueDecimals","fullname":"plotOptions.bubble.tooltip.valueDecimals","title":"valueDecimals","parent":"plotOptions-bubble-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueDecimals","fullname":"series.tooltip.valueDecimals","title":"valueDecimals","parent":"series-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueDecimals","fullname":"series.tooltip.valueDecimals","title":"valueDecimals","parent":"series-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-line-tooltip--valueDecimals","fullname":"plotOptions.line.tooltip.valueDecimals","title":"valueDecimals","parent":"plotOptions-line-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-pyramid-tooltip--valueDecimals","fullname":"plotOptions.pyramid.tooltip.valueDecimals","title":"valueDecimals","parent":"plotOptions-pyramid-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-areasplinerange-tooltip--valueDecimals","fullname":"plotOptions.areasplinerange.tooltip.valueDecimals","title":"valueDecimals","parent":"plotOptions-areasplinerange-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-gauge-tooltip--valueDecimals","fullname":"plotOptions.gauge.tooltip.valueDecimals","title":"valueDecimals","parent":"plotOptions-gauge-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-pie-tooltip--valueDecimals","fullname":"plotOptions.pie.tooltip.valueDecimals","title":"valueDecimals","parent":"plotOptions-pie-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-heatmap-tooltip--valueDecimals","fullname":"plotOptions.heatmap.tooltip.valueDecimals","title":"valueDecimals","parent":"plotOptions-heatmap-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-errorbar-tooltip--valueDecimals","fullname":"plotOptions.errorbar.tooltip.valueDecimals","title":"valueDecimals","parent":"plotOptions-errorbar-tooltip","isParent":false,"returnType":"Number","since":"2.2","description":"How many decimals to show in each series' y value. This is overridable in each series' tooltip options object. The default is to preserve all decimals.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valuePrefix","fullname":"series.tooltip.valuePrefix","title":"valuePrefix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valuePrefix","fullname":"series.tooltip.valuePrefix","title":"valuePrefix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valuePrefix","fullname":"series.tooltip.valuePrefix","title":"valuePrefix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-line-tooltip--valuePrefix","fullname":"plotOptions.line.tooltip.valuePrefix","title":"valuePrefix","parent":"plotOptions-line-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-bubble-tooltip--valuePrefix","fullname":"plotOptions.bubble.tooltip.valuePrefix","title":"valuePrefix","parent":"plotOptions-bubble-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-gauge-tooltip--valuePrefix","fullname":"plotOptions.gauge.tooltip.valuePrefix","title":"valuePrefix","parent":"plotOptions-gauge-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valuePrefix","fullname":"series.tooltip.valuePrefix","title":"valuePrefix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valuePrefix","fullname":"series.tooltip.valuePrefix","title":"valuePrefix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-series-tooltip--valuePrefix","fullname":"plotOptions.series.tooltip.valuePrefix","title":"valuePrefix","parent":"plotOptions-series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"tooltip--valuePrefix","fullname":"tooltip.valuePrefix","title":"valuePrefix","parent":"tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valuePrefix","fullname":"series.tooltip.valuePrefix","title":"valuePrefix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valuePrefix","fullname":"series.tooltip.valuePrefix","title":"valuePrefix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valuePrefix","fullname":"series.tooltip.valuePrefix","title":"valuePrefix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valuePrefix","fullname":"series.tooltip.valuePrefix","title":"valuePrefix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-area-tooltip--valuePrefix","fullname":"plotOptions.area.tooltip.valuePrefix","title":"valuePrefix","parent":"plotOptions-area-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-bar-tooltip--valuePrefix","fullname":"plotOptions.bar.tooltip.valuePrefix","title":"valuePrefix","parent":"plotOptions-bar-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-spline-tooltip--valuePrefix","fullname":"plotOptions.spline.tooltip.valuePrefix","title":"valuePrefix","parent":"plotOptions-spline-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valuePrefix","fullname":"series.tooltip.valuePrefix","title":"valuePrefix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valuePrefix","fullname":"series.tooltip.valuePrefix","title":"valuePrefix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-errorbar-tooltip--valuePrefix","fullname":"plotOptions.errorbar.tooltip.valuePrefix","title":"valuePrefix","parent":"plotOptions-errorbar-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valuePrefix","fullname":"series.tooltip.valuePrefix","title":"valuePrefix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valuePrefix","fullname":"series.tooltip.valuePrefix","title":"valuePrefix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-arearange-tooltip--valuePrefix","fullname":"plotOptions.arearange.tooltip.valuePrefix","title":"valuePrefix","parent":"plotOptions-arearange-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-columnrange-tooltip--valuePrefix","fullname":"plotOptions.columnrange.tooltip.valuePrefix","title":"valuePrefix","parent":"plotOptions-columnrange-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-waterfall-tooltip--valuePrefix","fullname":"plotOptions.waterfall.tooltip.valuePrefix","title":"valuePrefix","parent":"plotOptions-waterfall-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-column-tooltip--valuePrefix","fullname":"plotOptions.column.tooltip.valuePrefix","title":"valuePrefix","parent":"plotOptions-column-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-funnel-tooltip--valuePrefix","fullname":"plotOptions.funnel.tooltip.valuePrefix","title":"valuePrefix","parent":"plotOptions-funnel-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-treemap-tooltip--valuePrefix","fullname":"plotOptions.treemap.tooltip.valuePrefix","title":"valuePrefix","parent":"plotOptions-treemap-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valuePrefix","fullname":"series.tooltip.valuePrefix","title":"valuePrefix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valuePrefix","fullname":"series.tooltip.valuePrefix","title":"valuePrefix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-boxplot-tooltip--valuePrefix","fullname":"plotOptions.boxplot.tooltip.valuePrefix","title":"valuePrefix","parent":"plotOptions-boxplot-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valuePrefix","fullname":"series.tooltip.valuePrefix","title":"valuePrefix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-areasplinerange-tooltip--valuePrefix","fullname":"plotOptions.areasplinerange.tooltip.valuePrefix","title":"valuePrefix","parent":"plotOptions-areasplinerange-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-pie-tooltip--valuePrefix","fullname":"plotOptions.pie.tooltip.valuePrefix","title":"valuePrefix","parent":"plotOptions-pie-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valuePrefix","fullname":"series.tooltip.valuePrefix","title":"valuePrefix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valuePrefix","fullname":"series.tooltip.valuePrefix","title":"valuePrefix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-areaspline-tooltip--valuePrefix","fullname":"plotOptions.areaspline.tooltip.valuePrefix","title":"valuePrefix","parent":"plotOptions-areaspline-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valuePrefix","fullname":"series.tooltip.valuePrefix","title":"valuePrefix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valuePrefix","fullname":"series.tooltip.valuePrefix","title":"valuePrefix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valuePrefix","fullname":"series.tooltip.valuePrefix","title":"valuePrefix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-polygon-tooltip--valuePrefix","fullname":"plotOptions.polygon.tooltip.valuePrefix","title":"valuePrefix","parent":"plotOptions-polygon-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-solidgauge-tooltip--valuePrefix","fullname":"plotOptions.solidgauge.tooltip.valuePrefix","title":"valuePrefix","parent":"plotOptions-solidgauge-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-scatter-tooltip--valuePrefix","fullname":"plotOptions.scatter.tooltip.valuePrefix","title":"valuePrefix","parent":"plotOptions-scatter-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-heatmap-tooltip--valuePrefix","fullname":"plotOptions.heatmap.tooltip.valuePrefix","title":"valuePrefix","parent":"plotOptions-heatmap-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valuePrefix","fullname":"series.tooltip.valuePrefix","title":"valuePrefix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-pyramid-tooltip--valuePrefix","fullname":"plotOptions.pyramid.tooltip.valuePrefix","title":"valuePrefix","parent":"plotOptions-pyramid-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to prepend to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-area-tooltip--valueSuffix","fullname":"plotOptions.area.tooltip.valueSuffix","title":"valueSuffix","parent":"plotOptions-area-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-columnrange-tooltip--valueSuffix","fullname":"plotOptions.columnrange.tooltip.valueSuffix","title":"valueSuffix","parent":"plotOptions-columnrange-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-funnel-tooltip--valueSuffix","fullname":"plotOptions.funnel.tooltip.valueSuffix","title":"valueSuffix","parent":"plotOptions-funnel-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-errorbar-tooltip--valueSuffix","fullname":"plotOptions.errorbar.tooltip.valueSuffix","title":"valueSuffix","parent":"plotOptions-errorbar-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueSuffix","fullname":"series.tooltip.valueSuffix","title":"valueSuffix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-boxplot-tooltip--valueSuffix","fullname":"plotOptions.boxplot.tooltip.valueSuffix","title":"valueSuffix","parent":"plotOptions-boxplot-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-scatter-tooltip--valueSuffix","fullname":"plotOptions.scatter.tooltip.valueSuffix","title":"valueSuffix","parent":"plotOptions-scatter-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueSuffix","fullname":"series.tooltip.valueSuffix","title":"valueSuffix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-solidgauge-tooltip--valueSuffix","fullname":"plotOptions.solidgauge.tooltip.valueSuffix","title":"valueSuffix","parent":"plotOptions-solidgauge-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueSuffix","fullname":"series.tooltip.valueSuffix","title":"valueSuffix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueSuffix","fullname":"series.tooltip.valueSuffix","title":"valueSuffix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueSuffix","fullname":"series.tooltip.valueSuffix","title":"valueSuffix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-treemap-tooltip--valueSuffix","fullname":"plotOptions.treemap.tooltip.valueSuffix","title":"valueSuffix","parent":"plotOptions-treemap-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueSuffix","fullname":"series.tooltip.valueSuffix","title":"valueSuffix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueSuffix","fullname":"series.tooltip.valueSuffix","title":"valueSuffix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-areasplinerange-tooltip--valueSuffix","fullname":"plotOptions.areasplinerange.tooltip.valueSuffix","title":"valueSuffix","parent":"plotOptions-areasplinerange-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueSuffix","fullname":"series.tooltip.valueSuffix","title":"valueSuffix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueSuffix","fullname":"series.tooltip.valueSuffix","title":"valueSuffix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-polygon-tooltip--valueSuffix","fullname":"plotOptions.polygon.tooltip.valueSuffix","title":"valueSuffix","parent":"plotOptions-polygon-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueSuffix","fullname":"series.tooltip.valueSuffix","title":"valueSuffix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueSuffix","fullname":"series.tooltip.valueSuffix","title":"valueSuffix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueSuffix","fullname":"series.tooltip.valueSuffix","title":"valueSuffix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-bar-tooltip--valueSuffix","fullname":"plotOptions.bar.tooltip.valueSuffix","title":"valueSuffix","parent":"plotOptions-bar-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-arearange-tooltip--valueSuffix","fullname":"plotOptions.arearange.tooltip.valueSuffix","title":"valueSuffix","parent":"plotOptions-arearange-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-heatmap-tooltip--valueSuffix","fullname":"plotOptions.heatmap.tooltip.valueSuffix","title":"valueSuffix","parent":"plotOptions-heatmap-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueSuffix","fullname":"series.tooltip.valueSuffix","title":"valueSuffix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-spline-tooltip--valueSuffix","fullname":"plotOptions.spline.tooltip.valueSuffix","title":"valueSuffix","parent":"plotOptions-spline-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-pie-tooltip--valueSuffix","fullname":"plotOptions.pie.tooltip.valueSuffix","title":"valueSuffix","parent":"plotOptions-pie-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueSuffix","fullname":"series.tooltip.valueSuffix","title":"valueSuffix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueSuffix","fullname":"series.tooltip.valueSuffix","title":"valueSuffix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueSuffix","fullname":"series.tooltip.valueSuffix","title":"valueSuffix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueSuffix","fullname":"series.tooltip.valueSuffix","title":"valueSuffix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueSuffix","fullname":"series.tooltip.valueSuffix","title":"valueSuffix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-gauge-tooltip--valueSuffix","fullname":"plotOptions.gauge.tooltip.valueSuffix","title":"valueSuffix","parent":"plotOptions-gauge-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueSuffix","fullname":"series.tooltip.valueSuffix","title":"valueSuffix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-line-tooltip--valueSuffix","fullname":"plotOptions.line.tooltip.valueSuffix","title":"valueSuffix","parent":"plotOptions-line-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-bubble-tooltip--valueSuffix","fullname":"plotOptions.bubble.tooltip.valueSuffix","title":"valueSuffix","parent":"plotOptions-bubble-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-waterfall-tooltip--valueSuffix","fullname":"plotOptions.waterfall.tooltip.valueSuffix","title":"valueSuffix","parent":"plotOptions-waterfall-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"tooltip--valueSuffix","fullname":"tooltip.valueSuffix","title":"valueSuffix","parent":"tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueSuffix","fullname":"series.tooltip.valueSuffix","title":"valueSuffix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-pyramid-tooltip--valueSuffix","fullname":"plotOptions.pyramid.tooltip.valueSuffix","title":"valueSuffix","parent":"plotOptions-pyramid-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-series-tooltip--valueSuffix","fullname":"plotOptions.series.tooltip.valueSuffix","title":"valueSuffix","parent":"plotOptions-series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-areaspline-tooltip--valueSuffix","fullname":"plotOptions.areaspline.tooltip.valueSuffix","title":"valueSuffix","parent":"plotOptions-areaspline-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-column-tooltip--valueSuffix","fullname":"plotOptions.column.tooltip.valueSuffix","title":"valueSuffix","parent":"plotOptions-column-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueSuffix","fullname":"series.tooltip.valueSuffix","title":"valueSuffix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"series-tooltip--valueSuffix","fullname":"series.tooltip.valueSuffix","title":"valueSuffix","parent":"series-tooltip","isParent":false,"returnType":"String","since":"2.2","description":"A string to append to each series' y value. Overridable in each series' tooltip options object.","demo":"Set decimals, prefix and suffix for the value"},{"name":"plotOptions-columnrange-dataLabels--verticalAlign","fullname":"plotOptions.columnrange.dataLabels.verticalAlign","title":"verticalAlign","parent":"plotOptions-columnrange-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"legend--verticalAlign","fullname":"legend.verticalAlign","title":"verticalAlign","parent":"legend","isParent":false,"returnType":"String","defaults":"bottom","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.0","description":"The vertical alignment of the legend box. Can be one of \"top\", \"middle\" or \"bottom\". Vertical position can be further determined by the y option.","demo":"Legend 100px from the top of the chart"},{"name":"series-dataLabels--verticalAlign","fullname":"series.dataLabels.verticalAlign","title":"verticalAlign","parent":"series-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"title--verticalAlign","fullname":"title.verticalAlign","title":"verticalAlign","parent":"title","isParent":false,"returnType":"String","defaults":" ","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.1","description":"The vertical alignment of the title. Can be one of \"top\", \"middle\" and \"bottom\". When a value is given, the title behaves as floating.","demo":"Chart title in bottom right corner","deprecated":false},{"name":"exporting-buttons-contextButton--verticalAlign","fullname":"exporting.buttons.contextButton.verticalAlign","title":"verticalAlign","parent":"exporting-buttons-contextButton","isParent":false,"returnType":"String","defaults":"top","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.0","description":"The vertical alignment of the buttons. Can be one of \"top\", \"middle\" or \"bottom\".","demo":"Buttons at lower right"},{"name":"series-dataLabels--verticalAlign","fullname":"series.dataLabels.verticalAlign","title":"verticalAlign","parent":"series-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"yAxis-plotBands-label--verticalAlign","fullname":"yAxis.plotBands.label.verticalAlign","title":"verticalAlign","parent":"yAxis-plotBands-label","isParent":false,"returnType":"String","defaults":"top","since":"2.1","description":"Vertical alignment of the label relative to the plot band. Can be one of \"top\", \"middle\" or \"bottom\".","demo":"Vertically centered label"},{"name":"series-dataLabels--verticalAlign","fullname":"series.dataLabels.verticalAlign","title":"verticalAlign","parent":"series-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--verticalAlign","fullname":"series.dataLabels.verticalAlign","title":"verticalAlign","parent":"series-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--verticalAlign","fullname":"series.dataLabels.verticalAlign","title":"verticalAlign","parent":"series-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-column-dataLabels--verticalAlign","fullname":"plotOptions.column.dataLabels.verticalAlign","title":"verticalAlign","parent":"plotOptions-column-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--verticalAlign","fullname":"series.dataLabels.verticalAlign","title":"verticalAlign","parent":"series-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"subtitle--verticalAlign","fullname":"subtitle.verticalAlign","title":"verticalAlign","parent":"subtitle","isParent":false,"returnType":"String","defaults":" ","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.1","description":"The vertical alignment of the title. Can be one of \"top\", \"middle\" and \"bottom\". When a value is given, the title behaves as floating.","demo":"Footnote at the bottom right of plot area","deprecated":false},{"name":"series-dataLabels--verticalAlign","fullname":"series.dataLabels.verticalAlign","title":"verticalAlign","parent":"series-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid-dataLabels--verticalAlign","fullname":"plotOptions.pyramid.dataLabels.verticalAlign","title":"verticalAlign","parent":"plotOptions-pyramid-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-waterfall-dataLabels--verticalAlign","fullname":"plotOptions.waterfall.dataLabels.verticalAlign","title":"verticalAlign","parent":"plotOptions-waterfall-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"xAxis-plotBands-label--verticalAlign","fullname":"xAxis.plotBands.label.verticalAlign","title":"verticalAlign","parent":"xAxis-plotBands-label","isParent":false,"returnType":"String","defaults":"top","since":"2.1","description":"Vertical alignment of the label relative to the plot band. Can be one of \"top\", \"middle\" or \"bottom\".","demo":"Vertically centered label"},{"name":"plotOptions-line-dataLabels--verticalAlign","fullname":"plotOptions.line.dataLabels.verticalAlign","title":"verticalAlign","parent":"plotOptions-line-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon-dataLabels--verticalAlign","fullname":"plotOptions.polygon.dataLabels.verticalAlign","title":"verticalAlign","parent":"plotOptions-polygon-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--verticalAlign","fullname":"series.dataLabels.verticalAlign","title":"verticalAlign","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"top","since":"","description":"The vertical alignment of the data label.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--verticalAlign","fullname":"series.dataLabels.verticalAlign","title":"verticalAlign","parent":"series-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--verticalAlign","fullname":"series.dataLabels.verticalAlign","title":"verticalAlign","parent":"series-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--verticalAlign","fullname":"series.dataLabels.verticalAlign","title":"verticalAlign","parent":"series-dataLabels","isParent":false,"returnType":"String","context":"","defaults":"middle","values":"","since":"4.1.0","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"navigation-buttonOptions--verticalAlign","fullname":"navigation.buttonOptions.verticalAlign","title":"verticalAlign","parent":"navigation-buttonOptions","isParent":false,"returnType":"String","defaults":"top","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.0","description":"The vertical alignment of the buttons. Can be one of \"top\", \"middle\" or \"bottom\".","demo":"Buttons at lower right"},{"name":"xAxis-plotLines-label--verticalAlign","fullname":"xAxis.plotLines.label.verticalAlign","title":"verticalAlign","parent":"xAxis-plotLines-label","isParent":false,"returnType":"String","defaults":"top","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.1","description":"Vertical alignment of the label relative to the plot band. Can be one of \"top\", \"middle\" or \"bottom\".","demo":"Vertically centered label","deprecated":false},{"name":"yAxis-stackLabels--verticalAlign","fullname":"yAxis.stackLabels.verticalAlign","title":"verticalAlign","parent":"yAxis-stackLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.1.5","description":"Defines the vertical alignment of the stack total label. Can be one of \"top\", \"middle\" or \"bottom\". The default value is calculated at runtime and depends on orientation and whether the stack is positive or negative.","demo":"\"Vertically aligned top\",\n\t\t\t\"Vertically aligned middle\",\n\t\t\t\"Vertically aligned bottom\""},{"name":"plotOptions-pie-dataLabels--verticalAlign","fullname":"plotOptions.pie.dataLabels.verticalAlign","title":"verticalAlign","parent":"plotOptions-pie-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--verticalAlign","fullname":"series.dataLabels.verticalAlign","title":"verticalAlign","parent":"series-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--verticalAlign","fullname":"series.dataLabels.verticalAlign","title":"verticalAlign","parent":"series-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"yAxis-plotLines-label--verticalAlign","fullname":"yAxis.plotLines.label.verticalAlign","title":"verticalAlign","parent":"yAxis-plotLines-label","isParent":false,"returnType":"String","defaults":"top","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.1","description":"Vertical alignment of the label relative to the plot band. Can be one of \"top\", \"middle\" or \"bottom\".","demo":"Vertically centered label","deprecated":false},{"name":"plotOptions-bubble-dataLabels--verticalAlign","fullname":"plotOptions.bubble.dataLabels.verticalAlign","title":"verticalAlign","parent":"plotOptions-bubble-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-treemap-dataLabels--verticalAlign","fullname":"plotOptions.treemap.dataLabels.verticalAlign","title":"verticalAlign","parent":"plotOptions-treemap-dataLabels","isParent":false,"returnType":"String","context":"","defaults":"middle","values":"","since":"4.1.0","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--verticalAlign","fullname":"series.dataLabels.verticalAlign","title":"verticalAlign","parent":"series-dataLabels","isParent":false,"returnType":"String","defaults":"top","since":"","description":"The vertical alignment of the data label.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--verticalAlign","fullname":"series.dataLabels.verticalAlign","title":"verticalAlign","parent":"series-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-areasplinerange-dataLabels--verticalAlign","fullname":"plotOptions.areasplinerange.dataLabels.verticalAlign","title":"verticalAlign","parent":"plotOptions-areasplinerange-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-arearange-dataLabels--verticalAlign","fullname":"plotOptions.arearange.dataLabels.verticalAlign","title":"verticalAlign","parent":"plotOptions-arearange-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline-dataLabels--verticalAlign","fullname":"plotOptions.areaspline.dataLabels.verticalAlign","title":"verticalAlign","parent":"plotOptions-areaspline-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--verticalAlign","fullname":"series.dataLabels.verticalAlign","title":"verticalAlign","parent":"series-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-funnel-dataLabels--verticalAlign","fullname":"plotOptions.funnel.dataLabels.verticalAlign","title":"verticalAlign","parent":"plotOptions-funnel-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bar-dataLabels--verticalAlign","fullname":"plotOptions.bar.dataLabels.verticalAlign","title":"verticalAlign","parent":"plotOptions-bar-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-spline-dataLabels--verticalAlign","fullname":"plotOptions.spline.dataLabels.verticalAlign","title":"verticalAlign","parent":"plotOptions-spline-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--verticalAlign","fullname":"series.dataLabels.verticalAlign","title":"verticalAlign","parent":"series-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-scatter-dataLabels--verticalAlign","fullname":"plotOptions.scatter.dataLabels.verticalAlign","title":"verticalAlign","parent":"plotOptions-scatter-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--verticalAlign","fullname":"series.dataLabels.verticalAlign","title":"verticalAlign","parent":"series-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--verticalAlign","fullname":"series.dataLabels.verticalAlign","title":"verticalAlign","parent":"series-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-series-dataLabels--verticalAlign","fullname":"plotOptions.series.dataLabels.verticalAlign","title":"verticalAlign","parent":"plotOptions-series-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--verticalAlign","fullname":"series.dataLabels.verticalAlign","title":"verticalAlign","parent":"series-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-area-dataLabels--verticalAlign","fullname":"plotOptions.area.dataLabels.verticalAlign","title":"verticalAlign","parent":"plotOptions-area-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-heatmap-dataLabels--verticalAlign","fullname":"plotOptions.heatmap.dataLabels.verticalAlign","title":"verticalAlign","parent":"plotOptions-heatmap-dataLabels","isParent":false,"returnType":"String","values":"[\"top\", \"middle\", \"bottom\"]","since":"2.3.3","description":"The vertical alignment of a data label. Can be one of top, middle or bottom. The default value depends on the data, for instance in a column chart, the label is above positive values and below negative values.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-solidgauge-dataLabels--verticalAlign","fullname":"plotOptions.solidgauge.dataLabels.verticalAlign","title":"verticalAlign","parent":"plotOptions-solidgauge-dataLabels","isParent":false,"returnType":"String","defaults":"top","since":"","description":"The vertical alignment of the data label.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-gauge-dataLabels--verticalAlign","fullname":"plotOptions.gauge.dataLabels.verticalAlign","title":"verticalAlign","parent":"plotOptions-gauge-dataLabels","isParent":false,"returnType":"String","defaults":"top","since":"","description":"The vertical alignment of the data label.","demo":"","seeAlso":"","deprecated":false},{"name":"chart-options3d--viewDistance","fullname":"chart.options3d.viewDistance","title":"viewDistance","parent":"chart-options3d","isParent":false,"returnType":"Number","defaults":"100","values":"","since":"4.0","description":"Defines the distance the viewer is standing in front of the chart, this setting is important to calculate the perspective effect in column and scatter charts.\r\nIt is not used for 3D pie charts.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bar--visible","fullname":"plotOptions.bar.visible","title":"visible","parent":"plotOptions-bar","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"plotOptions-areasplinerange--visible","fullname":"plotOptions.areasplinerange.visible","title":"visible","parent":"plotOptions-areasplinerange","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"series--visible","fullname":"series.visible","title":"visible","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"series--visible","fullname":"series.visible","title":"visible","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"plotOptions-solidgauge--visible","fullname":"plotOptions.solidgauge.visible","title":"visible","parent":"plotOptions-solidgauge","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"series--visible","fullname":"series.visible","title":"visible","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"plotOptions-spline--visible","fullname":"plotOptions.spline.visible","title":"visible","parent":"plotOptions-spline","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"series--visible","fullname":"series.visible","title":"visible","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"plotOptions-heatmap--visible","fullname":"plotOptions.heatmap.visible","title":"visible","parent":"plotOptions-heatmap","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"plotOptions-pie--visible","fullname":"plotOptions.pie.visible","title":"visible","parent":"plotOptions-pie","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"plotOptions-pyramid--visible","fullname":"plotOptions.pyramid.visible","title":"visible","parent":"plotOptions-pyramid","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"series--visible","fullname":"series.visible","title":"visible","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"plotOptions-columnrange--visible","fullname":"plotOptions.columnrange.visible","title":"visible","parent":"plotOptions-columnrange","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"series--visible","fullname":"series.visible","title":"visible","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"series--visible","fullname":"series.visible","title":"visible","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"plotOptions-boxplot--visible","fullname":"plotOptions.boxplot.visible","title":"visible","parent":"plotOptions-boxplot","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"plotOptions-line--visible","fullname":"plotOptions.line.visible","title":"visible","parent":"plotOptions-line","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"plotOptions-bubble--visible","fullname":"plotOptions.bubble.visible","title":"visible","parent":"plotOptions-bubble","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"series--visible","fullname":"series.visible","title":"visible","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"series--visible","fullname":"series.visible","title":"visible","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"plotOptions-treemap--visible","fullname":"plotOptions.treemap.visible","title":"visible","parent":"plotOptions-treemap","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"plotOptions-column--visible","fullname":"plotOptions.column.visible","title":"visible","parent":"plotOptions-column","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"plotOptions-waterfall--visible","fullname":"plotOptions.waterfall.visible","title":"visible","parent":"plotOptions-waterfall","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"plotOptions-gauge--visible","fullname":"plotOptions.gauge.visible","title":"visible","parent":"plotOptions-gauge","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"plotOptions-area--visible","fullname":"plotOptions.area.visible","title":"visible","parent":"plotOptions-area","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"series--visible","fullname":"series.visible","title":"visible","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"plotOptions-funnel--visible","fullname":"plotOptions.funnel.visible","title":"visible","parent":"plotOptions-funnel","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"series--visible","fullname":"series.visible","title":"visible","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"series--visible","fullname":"series.visible","title":"visible","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"series--visible","fullname":"series.visible","title":"visible","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"plotOptions-series--visible","fullname":"plotOptions.series.visible","title":"visible","parent":"plotOptions-series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"series--visible","fullname":"series.visible","title":"visible","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"series--visible","fullname":"series.visible","title":"visible","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"series--visible","fullname":"series.visible","title":"visible","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"plotOptions-areaspline--visible","fullname":"plotOptions.areaspline.visible","title":"visible","parent":"plotOptions-areaspline","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"series--visible","fullname":"series.visible","title":"visible","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"plotOptions-scatter--visible","fullname":"plotOptions.scatter.visible","title":"visible","parent":"plotOptions-scatter","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"series--visible","fullname":"series.visible","title":"visible","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"series--visible","fullname":"series.visible","title":"visible","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"plotOptions-errorbar--visible","fullname":"plotOptions.errorbar.visible","title":"visible","parent":"plotOptions-errorbar","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"plotOptions-arearange--visible","fullname":"plotOptions.arearange.visible","title":"visible","parent":"plotOptions-arearange","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"series--visible","fullname":"series.visible","title":"visible","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"plotOptions-polygon--visible","fullname":"plotOptions.polygon.visible","title":"visible","parent":"plotOptions-polygon","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"series--visible","fullname":"series.visible","title":"visible","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"series--visible","fullname":"series.visible","title":"visible","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","description":"Set the initial visibility of the series.","demo":"Two series, one hidden and one visible"},{"name":"plotOptions-waterfall","fullname":"plotOptions.waterfall","title":"waterfall","parent":"plotOptions","isParent":true,"returnType":"Object","defaults":"","values":"","since":"3.0","description":"Options for the waterfall series type.","demo":"Waterfall chart","seeAlso":"","deprecated":false},{"name":"lang--weekdays","fullname":"lang.weekdays","title":"weekdays","parent":"lang","isParent":false,"returnType":"Array","defaults":"[\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"]","since":"","description":"An array containing the weekday names.\t\t ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-errorbar--whiskerColor","fullname":"plotOptions.errorbar.whiskerColor","title":"whiskerColor","parent":"plotOptions-errorbar","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color of the whiskers, the horizontal lines marking low and high values. When null, the general series color is used.","demo":"Box plot styling","seeAlso":"","deprecated":false},{"name":"series--whiskerColor","fullname":"series.whiskerColor","title":"whiskerColor","parent":"series","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color of the whiskers, the horizontal lines marking low and high values. When null, the general series color is used.","demo":"Box plot styling","seeAlso":"","deprecated":false},{"name":"plotOptions-boxplot--whiskerColor","fullname":"plotOptions.boxplot.whiskerColor","title":"whiskerColor","parent":"plotOptions-boxplot","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color of the whiskers, the horizontal lines marking low and high values. When null, the general series color is used.","demo":"Box plot styling","seeAlso":"","deprecated":false},{"name":"series--whiskerColor","fullname":"series.whiskerColor","title":"whiskerColor","parent":"series","isParent":false,"returnType":"Color","defaults":"null","values":"","since":"3.0","description":"The color of the whiskers, the horizontal lines marking low and high values. When null, the general series color is used.","demo":"Box plot styling","seeAlso":"","deprecated":false},{"name":"series--whiskerLength","fullname":"series.whiskerLength","title":"whiskerLength","parent":"series","isParent":false,"returnType":"Number|String","defaults":"50%","values":"","since":"3.0","description":"The length of the whiskers, the horizontal lines marking low and high values. It can be a numerical pixel value, or a percentage value of the box width. Set 0 to disable whiskers.","demo":"True by default","seeAlso":"","deprecated":false},{"name":"plotOptions-errorbar--whiskerLength","fullname":"plotOptions.errorbar.whiskerLength","title":"whiskerLength","parent":"plotOptions-errorbar","isParent":false,"returnType":"Number|String","defaults":"50%","values":"","since":"3.0","description":"The length of the whiskers, the horizontal lines marking low and high values. It can be a numerical pixel value, or a percentage value of the box width. Set 0 to disable whiskers.","demo":"True by default","seeAlso":"","deprecated":false},{"name":"series--whiskerLength","fullname":"series.whiskerLength","title":"whiskerLength","parent":"series","isParent":false,"returnType":"Number|String","defaults":"50%","values":"","since":"3.0","description":"The length of the whiskers, the horizontal lines marking low and high values. It can be a numerical pixel value, or a percentage value of the box width. Set 0 to disable whiskers.","demo":"True by default","seeAlso":"","deprecated":false},{"name":"plotOptions-boxplot--whiskerLength","fullname":"plotOptions.boxplot.whiskerLength","title":"whiskerLength","parent":"plotOptions-boxplot","isParent":false,"returnType":"Number|String","defaults":"50%","values":"","since":"3.0","description":"The length of the whiskers, the horizontal lines marking low and high values. It can be a numerical pixel value, or a percentage value of the box width. Set 0 to disable whiskers.","demo":"True by default","seeAlso":"","deprecated":false},{"name":"plotOptions-boxplot--whiskerWidth","fullname":"plotOptions.boxplot.whiskerWidth","title":"whiskerWidth","parent":"plotOptions-boxplot","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"3.0","description":"The line width of the whiskers, the horizontal lines marking low and high values. When null, the general lineWidth applies.","demo":"Box plot styling","seeAlso":"","deprecated":false},{"name":"series--whiskerWidth","fullname":"series.whiskerWidth","title":"whiskerWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"3.0","description":"The line width of the whiskers, the horizontal lines marking low and high values. When null, the general lineWidth applies.","demo":" Error bar styling","seeAlso":"","deprecated":false},{"name":"series--whiskerWidth","fullname":"series.whiskerWidth","title":"whiskerWidth","parent":"series","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"3.0","description":"The line width of the whiskers, the horizontal lines marking low and high values. When null, the general lineWidth applies.","demo":"Box plot styling","seeAlso":"","deprecated":false},{"name":"plotOptions-errorbar--whiskerWidth","fullname":"plotOptions.errorbar.whiskerWidth","title":"whiskerWidth","parent":"plotOptions-errorbar","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"3.0","description":"The line width of the whiskers, the horizontal lines marking low and high values. When null, the general lineWidth applies.","demo":" Error bar styling","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange-states-hover-marker--width","fullname":"plotOptions.columnrange.states.hover.marker.width","title":"width","parent":"plotOptions-columnrange-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-heatmap-states-hover-marker--width","fullname":"plotOptions.heatmap.states.hover.marker.width","title":"width","parent":"plotOptions-heatmap-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-area-marker--width","fullname":"plotOptions.area.marker.width","title":"width","parent":"plotOptions-area-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-scatter-states-hover-marker--width","fullname":"plotOptions.scatter.states.hover.marker.width","title":"width","parent":"plotOptions-scatter-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-series-states-hover-marker--width","fullname":"plotOptions.series.states.hover.marker.width","title":"width","parent":"plotOptions-series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--width","fullname":"series.states.hover.marker.width","title":"width","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--width","fullname":"series.states.hover.marker.width","title":"width","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"xAxis-plotLines--width","fullname":"xAxis.plotLines.width","title":"width","parent":"xAxis-plotLines","isParent":false,"returnType":"Number","description":"The width or thickness of the plot line.","demo":"2px wide line from X axis"},{"name":"plotOptions-arearange-states-hover-marker--width","fullname":"plotOptions.arearange.states.hover.marker.width","title":"width","parent":"plotOptions-arearange-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--width","fullname":"series.states.hover.marker.width","title":"width","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--width","fullname":"series.states.hover.marker.width","title":"width","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--width","fullname":"series.states.hover.marker.width","title":"width","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-spline-states-hover-marker--width","fullname":"plotOptions.spline.states.hover.marker.width","title":"width","parent":"plotOptions-spline-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-marker--width","fullname":"series.marker.width","title":"width","parent":"series-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-spline-marker--width","fullname":"plotOptions.spline.marker.width","title":"width","parent":"plotOptions-spline-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-marker--width","fullname":"series.marker.width","title":"width","parent":"series-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-area-states-hover-marker--width","fullname":"plotOptions.area.states.hover.marker.width","title":"width","parent":"plotOptions-area-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-series-marker--width","fullname":"plotOptions.series.marker.width","title":"width","parent":"plotOptions-series-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"exporting-buttons-contextButton--width","fullname":"exporting.buttons.contextButton.width","title":"width","parent":"exporting-buttons-contextButton","isParent":false,"returnType":"Number","defaults":"24","since":"2.0","description":"The pixel width of the button.","demo":"Bigger buttons"},{"name":"series-states-hover-marker--width","fullname":"series.states.hover.marker.width","title":"width","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series--width","fullname":"series.width","title":"width","parent":"series","isParent":false,"returnType":"Number|String","defaults":"90%","values":"","since":"3.0","description":"The width of the funnel compared to the width of the plot area, or the pixel width if it is a number.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--width","fullname":"series.states.hover.marker.width","title":"width","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--width","fullname":"series.states.hover.marker.width","title":"width","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--width","fullname":"series.states.hover.marker.width","title":"width","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble-states-hover-marker--width","fullname":"plotOptions.bubble.states.hover.marker.width","title":"width","parent":"plotOptions-bubble-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble-marker--width","fullname":"plotOptions.bubble.marker.width","title":"width","parent":"plotOptions-bubble-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-data-marker--width","fullname":"series.data.marker.width","title":"width","parent":"series-data-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--width","fullname":"series.states.hover.marker.width","title":"width","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--width","fullname":"series.states.hover.marker.width","title":"width","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-marker--width","fullname":"series.marker.width","title":"width","parent":"series-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-pie-states-hover-marker--width","fullname":"plotOptions.pie.states.hover.marker.width","title":"width","parent":"plotOptions-pie-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid-states-hover-marker--width","fullname":"plotOptions.pyramid.states.hover.marker.width","title":"width","parent":"plotOptions-pyramid-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-boxplot-states-hover-marker--width","fullname":"plotOptions.boxplot.states.hover.marker.width","title":"width","parent":"plotOptions-boxplot-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--width","fullname":"series.states.hover.marker.width","title":"width","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"yAxis-plotLines--width","fullname":"yAxis.plotLines.width","title":"width","parent":"yAxis-plotLines","isParent":false,"returnType":"Number","description":"The width or thickness of the plot line.","demo":"2px wide line from X axis"},{"name":"exporting--width","fullname":"exporting.width","title":"width","parent":"exporting","isParent":false,"returnType":"Number","defaults":"undefined","since":"2.0","description":"The pixel width of charts exported to PNG or JPG. As of Highcharts 3.0, the default pixel width is a function of the chart.width or exporting.sourceWidth and the exporting.scale.","demo":"Export to 200px wide images","deprecated":false},{"name":"plotOptions-treemap-states-hover-marker--width","fullname":"plotOptions.treemap.states.hover.marker.width","title":"width","parent":"plotOptions-treemap-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-funnel--width","fullname":"plotOptions.funnel.width","title":"width","parent":"plotOptions-funnel","isParent":false,"returnType":"Number|String","defaults":"90%","values":"","since":"3.0","description":"The width of the funnel compared to the width of the plot area, or the pixel width if it is a number.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline-marker--width","fullname":"plotOptions.areaspline.marker.width","title":"width","parent":"plotOptions-areaspline-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-waterfall-states-hover-marker--width","fullname":"plotOptions.waterfall.states.hover.marker.width","title":"width","parent":"plotOptions-waterfall-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-marker--width","fullname":"series.marker.width","title":"width","parent":"series-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-scatter-marker--width","fullname":"plotOptions.scatter.marker.width","title":"width","parent":"plotOptions-scatter-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-marker--width","fullname":"series.marker.width","title":"width","parent":"series-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline-states-hover-marker--width","fullname":"plotOptions.areaspline.states.hover.marker.width","title":"width","parent":"plotOptions-areaspline-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-marker--width","fullname":"series.marker.width","title":"width","parent":"series-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--width","fullname":"series.states.hover.marker.width","title":"width","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-data-marker--width","fullname":"series.data.marker.width","title":"width","parent":"series-data-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid--width","fullname":"plotOptions.pyramid.width","title":"width","parent":"plotOptions-pyramid","isParent":false,"returnType":"Number|String","defaults":"90%","values":"","since":"3.0","description":"The width of the funnel compared to the width of the plot area, or the pixel width if it is a number.","demo":"","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--width","fullname":"series.states.hover.marker.width","title":"width","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--width","fullname":"series.states.hover.marker.width","title":"width","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"chart--width","fullname":"chart.width","title":"width","parent":"chart","isParent":false,"returnType":"Number","description":"An explicit width for the chart. By default the width is calculated from the offset width of the containing element.","demo":"800px wide"},{"name":"plotOptions-solidgauge-states-hover-marker--width","fullname":"plotOptions.solidgauge.states.hover.marker.width","title":"width","parent":"plotOptions-solidgauge-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-marker--width","fullname":"series.marker.width","title":"width","parent":"series-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-column-states-hover-marker--width","fullname":"plotOptions.column.states.hover.marker.width","title":"width","parent":"plotOptions-column-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--width","fullname":"series.states.hover.marker.width","title":"width","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-areasplinerange-states-hover-marker--width","fullname":"plotOptions.areasplinerange.states.hover.marker.width","title":"width","parent":"plotOptions-areasplinerange-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--width","fullname":"series.states.hover.marker.width","title":"width","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-data-marker--width","fullname":"series.data.marker.width","title":"width","parent":"series-data-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--width","fullname":"series.states.hover.marker.width","title":"width","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon-states-hover-marker--width","fullname":"plotOptions.polygon.states.hover.marker.width","title":"width","parent":"plotOptions-polygon-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-line-marker--width","fullname":"plotOptions.line.marker.width","title":"width","parent":"plotOptions-line-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-data-marker--width","fullname":"series.data.marker.width","title":"width","parent":"series-data-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon-marker--width","fullname":"plotOptions.polygon.marker.width","title":"width","parent":"plotOptions-polygon-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"navigation-buttonOptions--width","fullname":"navigation.buttonOptions.width","title":"width","parent":"navigation-buttonOptions","isParent":false,"returnType":"Number","defaults":"24","since":"2.0","description":"The pixel width of the button.","demo":"Bigger buttons"},{"name":"series-states-hover-marker--width","fullname":"series.states.hover.marker.width","title":"width","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-errorbar-states-hover-marker--width","fullname":"plotOptions.errorbar.states.hover.marker.width","title":"width","parent":"plotOptions-errorbar-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series--width","fullname":"series.width","title":"width","parent":"series","isParent":false,"returnType":"Number|String","defaults":"90%","values":"","since":"3.0","description":"The width of the funnel compared to the width of the plot area, or the pixel width if it is a number.","demo":"","seeAlso":"","deprecated":false},{"name":"series-data-marker--width","fullname":"series.data.marker.width","title":"width","parent":"series-data-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--width","fullname":"series.states.hover.marker.width","title":"width","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--width","fullname":"series.states.hover.marker.width","title":"width","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-bar-states-hover-marker--width","fullname":"plotOptions.bar.states.hover.marker.width","title":"width","parent":"plotOptions-bar-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-funnel-states-hover-marker--width","fullname":"plotOptions.funnel.states.hover.marker.width","title":"width","parent":"plotOptions-funnel-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"plotOptions-gauge-states-hover-marker--width","fullname":"plotOptions.gauge.states.hover.marker.width","title":"width","parent":"plotOptions-gauge-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"legend--width","fullname":"legend.width","title":"width","parent":"legend","isParent":false,"returnType":"Number","since":"2.0","description":"The width of the legend box.","demo":"Aligned to the plot area","deprecated":false},{"name":"plotOptions-line-states-hover-marker--width","fullname":"plotOptions.line.states.hover.marker.width","title":"width","parent":"plotOptions-line-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-states-hover-marker--width","fullname":"series.states.hover.marker.width","title":"width","parent":"series-states-hover-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series-data-marker--width","fullname":"series.data.marker.width","title":"width","parent":"series-data-marker","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.4","description":"Image markers only. Set the image width explicitly. When using this option, a height must also be set.","demo":"Fixed width and height","seeAlso":"","deprecated":false},{"name":"series--wrap","fullname":"series.wrap","title":"wrap","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0","description":"When this option is true, the dial will wrap around the axes. For instance, in a full-range gauge going from 0 to 360, a value of 400 will point to 40. When wrap is false, the dial stops at 360.","seeAlso":"overshoot","deprecated":false},{"name":"plotOptions-gauge--wrap","fullname":"plotOptions.gauge.wrap","title":"wrap","parent":"plotOptions-gauge","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0","description":"When this option is true, the dial will wrap around the axes. For instance, in a full-range gauge going from 0 to 360, a value of 400 will point to 40. When wrap is false, the dial stops at 360.","seeAlso":"overshoot","deprecated":false},{"name":"plotOptions-solidgauge--wrap","fullname":"plotOptions.solidgauge.wrap","title":"wrap","parent":"plotOptions-solidgauge","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0","description":"When this option is true, the dial will wrap around the axes. For instance, in a full-range gauge going from 0 to 360, a value of 400 will point to 40. When wrap is false, the dial stops at 360.","seeAlso":"overshoot","deprecated":false},{"name":"series--wrap","fullname":"series.wrap","title":"wrap","parent":"series","isParent":false,"returnType":"Boolean","defaults":"true","since":"3.0","description":"When this option is true, the dial will wrap around the axes. For instance, in a full-range gauge going from 0 to 360, a value of 400 will point to 40. When wrap is false, the dial stops at 360.","seeAlso":"overshoot","deprecated":false},{"name":"series-dataLabels--x","fullname":"series.dataLabels.x","title":"x","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"plotOptions-line-dataLabels--x","fullname":"plotOptions.line.dataLabels.x","title":"x","parent":"plotOptions-line-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"plotOptions-gauge-dataLabels--x","fullname":"plotOptions.gauge.dataLabels.x","title":"x","parent":"plotOptions-gauge-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"series-data--x","fullname":"series.data.x","title":"x","parent":"series-data","isParent":false,"returnType":"Number","description":"The x value of the point. For datetime axes, the X value is the timestamp in milliseconds since 1970.","deprecated":false},{"name":"series-data--x","fullname":"series.data.x","title":"x","parent":"series-data","isParent":false,"returnType":"Number","description":"The x value of the point. For datetime axes, the X value is the timestamp in milliseconds since 1970.","deprecated":false},{"name":"series-dataLabels--x","fullname":"series.dataLabels.x","title":"x","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"plotOptions-area-dataLabels--x","fullname":"plotOptions.area.dataLabels.x","title":"x","parent":"plotOptions-area-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"series-data--x","fullname":"series.data.x","title":"x","parent":"series-data","isParent":false,"returnType":"Number","description":"The x value of the point. For datetime axes, the X value is the timestamp in milliseconds since 1970.","deprecated":false},{"name":"series-dataLabels--x","fullname":"series.dataLabels.x","title":"x","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"series-dataLabels--x","fullname":"series.dataLabels.x","title":"x","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"series-data--x","fullname":"series.data.x","title":"x","parent":"series-data","isParent":false,"returnType":"Number","description":"The x value of the point. For datetime axes, the X value is the timestamp in milliseconds since 1970.","deprecated":false},{"name":"series-data--x","fullname":"series.data.x","title":"x","parent":"series-data","isParent":false,"returnType":"Number","description":"The x value of the point. For datetime axes, the X value is the timestamp in milliseconds since 1970.","deprecated":false},{"name":"plotOptions-spline-dataLabels--x","fullname":"plotOptions.spline.dataLabels.x","title":"x","parent":"plotOptions-spline-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"series-dataLabels--x","fullname":"series.dataLabels.x","title":"x","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"series-dataLabels--x","fullname":"series.dataLabels.x","title":"x","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"series-data--x","fullname":"series.data.x","title":"x","parent":"series-data","isParent":false,"returnType":"Number","description":"The x value of the point. For datetime axes, the X value is the timestamp in milliseconds since 1970.","deprecated":false},{"name":"plotOptions-polygon-dataLabels--x","fullname":"plotOptions.polygon.dataLabels.x","title":"x","parent":"plotOptions-polygon-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"series-data--x","fullname":"series.data.x","title":"x","parent":"series-data","isParent":false,"returnType":"Number","description":"The x value of the point. For datetime axes, the X value is the timestamp in milliseconds since 1970.","deprecated":false},{"name":"legend--x","fullname":"legend.x","title":"x","parent":"legend","isParent":false,"returnType":"Number","defaults":"0","since":"2.0","description":"The x offset of the legend relative to its horizontal alignment align within chart.spacingLeft and chart.spacingRight. Negative x moves it to the left, positive x moves it to the right. ","demo":"Aligned to the plot area","deprecated":false},{"name":"series-data--x","fullname":"series.data.x","title":"x","parent":"series-data","isParent":false,"returnType":"Number","description":"The x value of the point. For datetime axes, the X value is the timestamp in milliseconds since 1970.","deprecated":false},{"name":"series-dataLabels--x","fullname":"series.dataLabels.x","title":"x","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"yAxis-labels--x","fullname":"yAxis.labels.x","title":"x","parent":"yAxis-labels","isParent":false,"returnType":"Number","description":"The x position offset of the label relative to the tick position on the axis. Defaults to -15 for left axis, 15 for right axis.","demo":"Y axis labels placed on grid lines","deprecated":false},{"name":"plotOptions-bar-dataLabels--x","fullname":"plotOptions.bar.dataLabels.x","title":"x","parent":"plotOptions-bar-dataLabels","isParent":false,"returnType":"Number","defaults":"5","description":"The x position of the data label relative to the data point.","demo":"Data labels inside the bar"},{"name":"plotOptions-treemap-dataLabels--x","fullname":"plotOptions.treemap.dataLabels.x","title":"x","parent":"plotOptions-treemap-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"plotOptions-column-dataLabels--x","fullname":"plotOptions.column.dataLabels.x","title":"x","parent":"plotOptions-column-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"series-dataLabels--x","fullname":"series.dataLabels.x","title":"x","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"plotOptions-waterfall-dataLabels--x","fullname":"plotOptions.waterfall.dataLabels.x","title":"x","parent":"plotOptions-waterfall-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"xAxis-labels--x","fullname":"xAxis.labels.x","title":"x","parent":"xAxis-labels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the tick position on the axis.","demo":"Y axis labels placed on grid lines"},{"name":"series-dataLabels--x","fullname":"series.dataLabels.x","title":"x","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"series-data--x","fullname":"series.data.x","title":"x","parent":"series-data","isParent":false,"returnType":"Number","description":"The x value of the point. For datetime axes, the X value is the timestamp in milliseconds since 1970.","deprecated":false},{"name":"plotOptions-series-dataLabels--x","fullname":"plotOptions.series.dataLabels.x","title":"x","parent":"plotOptions-series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"series-data--x","fullname":"series.data.x","title":"x","parent":"series-data","isParent":false,"returnType":"Number","description":"The x value of the point. For datetime axes, the X value is the timestamp in milliseconds since 1970.","deprecated":false},{"name":"series-dataLabels--x","fullname":"series.dataLabels.x","title":"x","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"xAxis-plotLines-label--x","fullname":"xAxis.plotLines.label.x","title":"x","parent":"xAxis-plotLines-label","isParent":false,"returnType":"Number","since":"2.1","description":"Horizontal position relative the alignment. Default varies by orientation.","demo":"Aligned 10px from the right edge"},{"name":"series-data--x","fullname":"series.data.x","title":"x","parent":"series-data","isParent":false,"returnType":"Number","description":"The x value of the point. For datetime axes, the X value is the timestamp in milliseconds since 1970.","deprecated":false},{"name":"title--x","fullname":"title.x","title":"x","parent":"title","isParent":false,"returnType":"Number","defaults":"0","since":"2.0","description":"The x position of the title relative to the alignment within chart.spacingLeft and chart.spacingRight.","demo":"Aligned to the plot area (x = 70px \n\t\t\t= margin left - spacing left)"},{"name":"plotOptions-funnel-dataLabels--x","fullname":"plotOptions.funnel.dataLabels.x","title":"x","parent":"plotOptions-funnel-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"plotOptions-solidgauge-dataLabels--x","fullname":"plotOptions.solidgauge.dataLabels.x","title":"x","parent":"plotOptions-solidgauge-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"plotOptions-scatter-dataLabels--x","fullname":"plotOptions.scatter.dataLabels.x","title":"x","parent":"plotOptions-scatter-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"xAxis-title--x","fullname":"xAxis.title.x","title":"x","parent":"xAxis-title","isParent":false,"returnType":"Number","defaults":"0","since":"4.1.6","description":"Horizontal pixel offset of the title position.","deprecated":false},{"name":"series-data--x","fullname":"series.data.x","title":"x","parent":"series-data","isParent":false,"returnType":"Number","description":"The x value of the point. For datetime axes, the X value is the timestamp in milliseconds since 1970.","deprecated":false},{"name":"series-data--x","fullname":"series.data.x","title":"x","parent":"series-data","isParent":false,"returnType":"Number","description":"The x value of the point. For datetime axes, the X value is the timestamp in milliseconds since 1970.","deprecated":false},{"name":"plotOptions-pie-dataLabels--x","fullname":"plotOptions.pie.dataLabels.x","title":"x","parent":"plotOptions-pie-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"series-dataLabels--x","fullname":"series.dataLabels.x","title":"x","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"series-dataLabels--x","fullname":"series.dataLabels.x","title":"x","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"yAxis-title--x","fullname":"yAxis.title.x","title":"x","parent":"yAxis-title","isParent":false,"returnType":"Number","defaults":"0","since":"4.1.6","description":"Horizontal pixel offset of the title position.","deprecated":false},{"name":"series-data--x","fullname":"series.data.x","title":"x","parent":"series-data","isParent":false,"returnType":"Number","description":"The x value of the point. For datetime axes, the X value is the timestamp in milliseconds since 1970.","deprecated":false},{"name":"series-dataLabels--x","fullname":"series.dataLabels.x","title":"x","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"yAxis-plotBands-label--x","fullname":"yAxis.plotBands.label.x","title":"x","parent":"yAxis-plotBands-label","isParent":false,"returnType":"Number","since":"2.1","description":"Horizontal position relative the alignment. Default varies by orientation.","demo":"Aligned 10px from the right edge"},{"name":"series-dataLabels--x","fullname":"series.dataLabels.x","title":"x","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"yAxis-plotLines-label--x","fullname":"yAxis.plotLines.label.x","title":"x","parent":"yAxis-plotLines-label","isParent":false,"returnType":"Number","since":"2.1","description":"Horizontal position relative the alignment. Default varies by orientation.","demo":"Aligned 10px from the right edge"},{"name":"subtitle--x","fullname":"subtitle.x","title":"x","parent":"subtitle","isParent":false,"returnType":"Number","defaults":"0","since":"2.0","description":"The x position of the subtitle relative to the alignment within chart.spacingLeft and chart.spacingRight.","demo":"Footnote at right of plot area"},{"name":"series-data--x","fullname":"series.data.x","title":"x","parent":"series-data","isParent":false,"returnType":"Number","description":"The x value of the point. For datetime axes, the X value is the timestamp in milliseconds since 1970.","deprecated":false},{"name":"series-dataLabels--x","fullname":"series.dataLabels.x","title":"x","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"5","description":"The x position of the data label relative to the data point.","demo":"Data labels inside the bar"},{"name":"yAxis-stackLabels--x","fullname":"yAxis.stackLabels.x","title":"x","parent":"yAxis-stackLabels","isParent":false,"returnType":"Number","since":"2.1.5","description":"The x position offset of the label relative to the left of the stacked bar. The default value is calculated at runtime and depends on orientation and whether the stack is positive or negative.","demo":"Stack total labels with x offset"},{"name":"series-dataLabels--x","fullname":"series.dataLabels.x","title":"x","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"plotOptions-pyramid-dataLabels--x","fullname":"plotOptions.pyramid.dataLabels.x","title":"x","parent":"plotOptions-pyramid-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"xAxis-plotBands-label--x","fullname":"xAxis.plotBands.label.x","title":"x","parent":"xAxis-plotBands-label","isParent":false,"returnType":"Number","since":"2.1","description":"Horizontal position relative the alignment. Default varies by orientation.","demo":"Aligned 10px from the right edge"},{"name":"series-dataLabels--x","fullname":"series.dataLabels.x","title":"x","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"plotOptions-heatmap-dataLabels--x","fullname":"plotOptions.heatmap.dataLabels.x","title":"x","parent":"plotOptions-heatmap-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"plotOptions-areaspline-dataLabels--x","fullname":"plotOptions.areaspline.dataLabels.x","title":"x","parent":"plotOptions-areaspline-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"series-data--x","fullname":"series.data.x","title":"x","parent":"series-data","isParent":false,"returnType":"Number","description":"The x value of the point. For datetime axes, the X value is the timestamp in milliseconds since 1970.","deprecated":false},{"name":"exporting-buttons-contextButton--x","fullname":"exporting.buttons.contextButton.x","title":"x","parent":"exporting-buttons-contextButton","isParent":false,"returnType":"Number","defaults":"-10","since":"2.0","description":"The horizontal position of the button relative to the align\r\n option.","demo":" ","deprecated":false},{"name":"plotOptions-bubble-dataLabels--x","fullname":"plotOptions.bubble.dataLabels.x","title":"x","parent":"plotOptions-bubble-dataLabels","isParent":false,"returnType":"Number","defaults":"0","description":"The x position offset of the label relative to the point. ","demo":"Vertical and positioned","deprecated":false},{"name":"series--xAxis","fullname":"series.xAxis","title":"xAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple x axes, this number defines which xAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the xAxis array, with 0 being the first.","deprecated":false},{"name":"series--xAxis","fullname":"series.xAxis","title":"xAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple x axes, this number defines which xAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the xAxis array, with 0 being the first.","deprecated":false},{"name":"series--xAxis","fullname":"series.xAxis","title":"xAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple x axes, this number defines which xAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the xAxis array, with 0 being the first.","deprecated":false},{"name":"series--xAxis","fullname":"series.xAxis","title":"xAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple x axes, this number defines which xAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the xAxis array, with 0 being the first.","deprecated":false},{"name":"series--xAxis","fullname":"series.xAxis","title":"xAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple x axes, this number defines which xAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the xAxis array, with 0 being the first.","deprecated":false},{"name":"series--xAxis","fullname":"series.xAxis","title":"xAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple x axes, this number defines which xAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the xAxis array, with 0 being the first.","deprecated":false},{"name":"series--xAxis","fullname":"series.xAxis","title":"xAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple x axes, this number defines which xAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the xAxis array, with 0 being the first.","deprecated":false},{"name":"series--xAxis","fullname":"series.xAxis","title":"xAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple x axes, this number defines which xAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the xAxis array, with 0 being the first.","deprecated":false},{"name":"series--xAxis","fullname":"series.xAxis","title":"xAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple x axes, this number defines which xAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the xAxis array, with 0 being the first.","deprecated":false},{"name":"xAxis","fullname":"xAxis","title":"xAxis","isParent":true,"description":"

The X axis or category axis. Normally this is the horizontal axis, though if the \r\n\tchart is inverted this is the vertical axis. In case of multiple axes, the xAxis\r\n\tnode is an array of configuration objects.

\r\n\t

See the Axis object for programmatic\r\n\taccess to the axis.

","deprecated":false},{"name":"series--xAxis","fullname":"series.xAxis","title":"xAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple x axes, this number defines which xAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the xAxis array, with 0 being the first.","deprecated":false},{"name":"series--xAxis","fullname":"series.xAxis","title":"xAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple x axes, this number defines which xAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the xAxis array, with 0 being the first.","deprecated":false},{"name":"series--xAxis","fullname":"series.xAxis","title":"xAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple x axes, this number defines which xAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the xAxis array, with 0 being the first.","deprecated":false},{"name":"series--xAxis","fullname":"series.xAxis","title":"xAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple x axes, this number defines which xAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the xAxis array, with 0 being the first.","deprecated":false},{"name":"series--xAxis","fullname":"series.xAxis","title":"xAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple x axes, this number defines which xAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the xAxis array, with 0 being the first.","deprecated":false},{"name":"series--xAxis","fullname":"series.xAxis","title":"xAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple x axes, this number defines which xAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the xAxis array, with 0 being the first.","deprecated":false},{"name":"series--xAxis","fullname":"series.xAxis","title":"xAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple x axes, this number defines which xAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the xAxis array, with 0 being the first.","deprecated":false},{"name":"series--xAxis","fullname":"series.xAxis","title":"xAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple x axes, this number defines which xAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the xAxis array, with 0 being the first.","deprecated":false},{"name":"series--xAxis","fullname":"series.xAxis","title":"xAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple x axes, this number defines which xAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the xAxis array, with 0 being the first.","deprecated":false},{"name":"series--xAxis","fullname":"series.xAxis","title":"xAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple x axes, this number defines which xAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the xAxis array, with 0 being the first.","deprecated":false},{"name":"series--xAxis","fullname":"series.xAxis","title":"xAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple x axes, this number defines which xAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the xAxis array, with 0 being the first.","deprecated":false},{"name":"series-tooltip--xDateFormat","fullname":"series.tooltip.xDateFormat","title":"xDateFormat","parent":"series-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"plotOptions-pyramid-tooltip--xDateFormat","fullname":"plotOptions.pyramid.tooltip.xDateFormat","title":"xDateFormat","parent":"plotOptions-pyramid-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"plotOptions-heatmap-tooltip--xDateFormat","fullname":"plotOptions.heatmap.tooltip.xDateFormat","title":"xDateFormat","parent":"plotOptions-heatmap-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"plotOptions-spline-tooltip--xDateFormat","fullname":"plotOptions.spline.tooltip.xDateFormat","title":"xDateFormat","parent":"plotOptions-spline-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"series-tooltip--xDateFormat","fullname":"series.tooltip.xDateFormat","title":"xDateFormat","parent":"series-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"plotOptions-boxplot-tooltip--xDateFormat","fullname":"plotOptions.boxplot.tooltip.xDateFormat","title":"xDateFormat","parent":"plotOptions-boxplot-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"plotOptions-pie-tooltip--xDateFormat","fullname":"plotOptions.pie.tooltip.xDateFormat","title":"xDateFormat","parent":"plotOptions-pie-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"series-tooltip--xDateFormat","fullname":"series.tooltip.xDateFormat","title":"xDateFormat","parent":"series-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"plotOptions-gauge-tooltip--xDateFormat","fullname":"plotOptions.gauge.tooltip.xDateFormat","title":"xDateFormat","parent":"plotOptions-gauge-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"plotOptions-arearange-tooltip--xDateFormat","fullname":"plotOptions.arearange.tooltip.xDateFormat","title":"xDateFormat","parent":"plotOptions-arearange-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"series-tooltip--xDateFormat","fullname":"series.tooltip.xDateFormat","title":"xDateFormat","parent":"series-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"plotOptions-area-tooltip--xDateFormat","fullname":"plotOptions.area.tooltip.xDateFormat","title":"xDateFormat","parent":"plotOptions-area-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"tooltip--xDateFormat","fullname":"tooltip.xDateFormat","title":"xDateFormat","parent":"tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"plotOptions-areasplinerange-tooltip--xDateFormat","fullname":"plotOptions.areasplinerange.tooltip.xDateFormat","title":"xDateFormat","parent":"plotOptions-areasplinerange-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"series-tooltip--xDateFormat","fullname":"series.tooltip.xDateFormat","title":"xDateFormat","parent":"series-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"series-tooltip--xDateFormat","fullname":"series.tooltip.xDateFormat","title":"xDateFormat","parent":"series-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"plotOptions-areaspline-tooltip--xDateFormat","fullname":"plotOptions.areaspline.tooltip.xDateFormat","title":"xDateFormat","parent":"plotOptions-areaspline-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"series-tooltip--xDateFormat","fullname":"series.tooltip.xDateFormat","title":"xDateFormat","parent":"series-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"series-tooltip--xDateFormat","fullname":"series.tooltip.xDateFormat","title":"xDateFormat","parent":"series-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"plotOptions-treemap-tooltip--xDateFormat","fullname":"plotOptions.treemap.tooltip.xDateFormat","title":"xDateFormat","parent":"plotOptions-treemap-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"series-tooltip--xDateFormat","fullname":"series.tooltip.xDateFormat","title":"xDateFormat","parent":"series-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"series-tooltip--xDateFormat","fullname":"series.tooltip.xDateFormat","title":"xDateFormat","parent":"series-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"series-tooltip--xDateFormat","fullname":"series.tooltip.xDateFormat","title":"xDateFormat","parent":"series-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"plotOptions-polygon-tooltip--xDateFormat","fullname":"plotOptions.polygon.tooltip.xDateFormat","title":"xDateFormat","parent":"plotOptions-polygon-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"series-tooltip--xDateFormat","fullname":"series.tooltip.xDateFormat","title":"xDateFormat","parent":"series-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"plotOptions-line-tooltip--xDateFormat","fullname":"plotOptions.line.tooltip.xDateFormat","title":"xDateFormat","parent":"plotOptions-line-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"series-tooltip--xDateFormat","fullname":"series.tooltip.xDateFormat","title":"xDateFormat","parent":"series-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"plotOptions-funnel-tooltip--xDateFormat","fullname":"plotOptions.funnel.tooltip.xDateFormat","title":"xDateFormat","parent":"plotOptions-funnel-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"series-tooltip--xDateFormat","fullname":"series.tooltip.xDateFormat","title":"xDateFormat","parent":"series-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"series-tooltip--xDateFormat","fullname":"series.tooltip.xDateFormat","title":"xDateFormat","parent":"series-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"series-tooltip--xDateFormat","fullname":"series.tooltip.xDateFormat","title":"xDateFormat","parent":"series-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"plotOptions-series-tooltip--xDateFormat","fullname":"plotOptions.series.tooltip.xDateFormat","title":"xDateFormat","parent":"plotOptions-series-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"series-tooltip--xDateFormat","fullname":"series.tooltip.xDateFormat","title":"xDateFormat","parent":"series-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"series-tooltip--xDateFormat","fullname":"series.tooltip.xDateFormat","title":"xDateFormat","parent":"series-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"plotOptions-columnrange-tooltip--xDateFormat","fullname":"plotOptions.columnrange.tooltip.xDateFormat","title":"xDateFormat","parent":"plotOptions-columnrange-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"series-tooltip--xDateFormat","fullname":"series.tooltip.xDateFormat","title":"xDateFormat","parent":"series-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"series-tooltip--xDateFormat","fullname":"series.tooltip.xDateFormat","title":"xDateFormat","parent":"series-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"series-tooltip--xDateFormat","fullname":"series.tooltip.xDateFormat","title":"xDateFormat","parent":"series-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"plotOptions-waterfall-tooltip--xDateFormat","fullname":"plotOptions.waterfall.tooltip.xDateFormat","title":"xDateFormat","parent":"plotOptions-waterfall-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"plotOptions-column-tooltip--xDateFormat","fullname":"plotOptions.column.tooltip.xDateFormat","title":"xDateFormat","parent":"plotOptions-column-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"plotOptions-bar-tooltip--xDateFormat","fullname":"plotOptions.bar.tooltip.xDateFormat","title":"xDateFormat","parent":"plotOptions-bar-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"series-tooltip--xDateFormat","fullname":"series.tooltip.xDateFormat","title":"xDateFormat","parent":"series-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"plotOptions-solidgauge-tooltip--xDateFormat","fullname":"plotOptions.solidgauge.tooltip.xDateFormat","title":"xDateFormat","parent":"plotOptions-solidgauge-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"plotOptions-scatter-tooltip--xDateFormat","fullname":"plotOptions.scatter.tooltip.xDateFormat","title":"xDateFormat","parent":"plotOptions-scatter-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"plotOptions-errorbar-tooltip--xDateFormat","fullname":"plotOptions.errorbar.tooltip.xDateFormat","title":"xDateFormat","parent":"plotOptions-errorbar-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"plotOptions-bubble-tooltip--xDateFormat","fullname":"plotOptions.bubble.tooltip.xDateFormat","title":"xDateFormat","parent":"plotOptions-bubble-tooltip","isParent":false,"returnType":"String","description":"The format for the date in the tooltip header if the X axis is a datetime axis. The default is a best guess based on the smallest distance between points in the chart.","demo":"A different format"},{"name":"plotOptions-areasplinerange-dataLabels--xHigh","fullname":"plotOptions.areasplinerange.dataLabels.xHigh","title":"xHigh","parent":"plotOptions-areasplinerange-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.3.0","description":"X offset of the higher data labels relative to the point value.","demo":"Data labels on range series","seeAlso":"","deprecated":false},{"name":"series-dataLabels--xHigh","fullname":"series.dataLabels.xHigh","title":"xHigh","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.3.0","description":"X offset of the higher data labels relative to the point value.","demo":"Data labels on range series","seeAlso":"","deprecated":false},{"name":"series-dataLabels--xHigh","fullname":"series.dataLabels.xHigh","title":"xHigh","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.3.0","description":"X offset of the higher data labels relative to the point value.","demo":"Data labels on range series","seeAlso":"","deprecated":false},{"name":"plotOptions-arearange-dataLabels--xHigh","fullname":"plotOptions.arearange.dataLabels.xHigh","title":"xHigh","parent":"plotOptions-arearange-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.3.0","description":"X offset of the higher data labels relative to the point value.","demo":"Data labels on range series","seeAlso":"","deprecated":false},{"name":"series-dataLabels--xHigh","fullname":"series.dataLabels.xHigh","title":"xHigh","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.3.0","description":"X offset of the higher data labels relative to the point value.","demo":"Data labels on range series","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange-dataLabels--xHigh","fullname":"plotOptions.columnrange.dataLabels.xHigh","title":"xHigh","parent":"plotOptions-columnrange-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.3.0","description":"X offset of the higher data labels relative to the point value.","demo":"Data labels on range series","seeAlso":"","deprecated":false},{"name":"plotOptions-arearange-dataLabels--xLow","fullname":"plotOptions.arearange.dataLabels.xLow","title":"xLow","parent":"plotOptions-arearange-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.3.0","description":"X offset of the lower data labels relative to the point value.","demo":"Data labels on range series","seeAlso":"","deprecated":false},{"name":"series-dataLabels--xLow","fullname":"series.dataLabels.xLow","title":"xLow","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.3.0","description":"X offset of the lower data labels relative to the point value.","demo":"Data labels on range series","seeAlso":"","deprecated":false},{"name":"series-dataLabels--xLow","fullname":"series.dataLabels.xLow","title":"xLow","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.3.0","description":"X offset of the lower data labels relative to the point value.","demo":"Data labels on range series","seeAlso":"","deprecated":false},{"name":"plotOptions-areasplinerange-dataLabels--xLow","fullname":"plotOptions.areasplinerange.dataLabels.xLow","title":"xLow","parent":"plotOptions-areasplinerange-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.3.0","description":"X offset of the lower data labels relative to the point value.","demo":"Data labels on range series","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange-dataLabels--xLow","fullname":"plotOptions.columnrange.dataLabels.xLow","title":"xLow","parent":"plotOptions-columnrange-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.3.0","description":"X offset of the lower data labels relative to the point value.","demo":"Data labels on range series","seeAlso":"","deprecated":false},{"name":"series-dataLabels--xLow","fullname":"series.dataLabels.xLow","title":"xLow","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"0","since":"2.3.0","description":"X offset of the lower data labels relative to the point value.","demo":"Data labels on range series","seeAlso":"","deprecated":false},{"name":"legend--y","fullname":"legend.y","title":"y","parent":"legend","isParent":false,"returnType":"Number","defaults":"0","since":"2.0","description":"The vertical offset of the legend relative to it's vertical alignment verticalAlign within chart.spacingTop and chart.spacingBottom. Negative y moves it up, positive y moves it down.","demo":"Legend 100px from the top of the chart"},{"name":"series-dataLabels--y","fullname":"series.dataLabels.y","title":"y","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"15","since":"2.3.0","description":"The y position offset of the label relative to the center of the gauge. ","demo":"","seeAlso":"","deprecated":false},{"name":"series-data--y","fullname":"series.data.y","title":"y","parent":"series-data","isParent":false,"returnType":"Number","description":"The y value of the point."},{"name":"subtitle--y","fullname":"subtitle.y","title":"y","parent":"subtitle","isParent":false,"returnType":"Number","defaults":" null","since":"2.0","description":"The y position of the subtitle relative to the alignment within chart.spacingTop and chart.spacingBottom. By default the subtitle is laid out below the title unless the title is floating.","demo":"Footnote at the bottom right of plot area","deprecated":false},{"name":"series-dataLabels--y","fullname":"series.dataLabels.y","title":"y","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"plotOptions-solidgauge-dataLabels--y","fullname":"plotOptions.solidgauge.dataLabels.y","title":"y","parent":"plotOptions-solidgauge-dataLabels","isParent":false,"returnType":"Number","defaults":"15","since":"2.3.0","description":"The y position offset of the label relative to the center of the gauge. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid-dataLabels--y","fullname":"plotOptions.pyramid.dataLabels.y","title":"y","parent":"plotOptions-pyramid-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"navigation-buttonOptions--y","fullname":"navigation.buttonOptions.y","title":"y","parent":"navigation-buttonOptions","isParent":false,"returnType":"Number","defaults":"0","since":"2.0","description":"The vertical offset of the button's position relative to its verticalAlign.\t\t\t .","demo":"Buttons at lower right","deprecated":false},{"name":"series-dataLabels--y","fullname":"series.dataLabels.y","title":"y","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"series-data--y","fullname":"series.data.y","title":"y","parent":"series-data","isParent":false,"returnType":"Number","description":"The y value of the point."},{"name":"series-data--y","fullname":"series.data.y","title":"y","parent":"series-data","isParent":false,"returnType":"Number","description":"The y value of the point."},{"name":"title--y","fullname":"title.y","title":"y","parent":"title","isParent":false,"returnType":"Number","since":"2.0","description":"The y position of the title relative to the alignment within chart.spacingTop and chart.spacingBottom. By default it depends on the font size.","demo":"Title inside the plot area","deprecated":false},{"name":"yAxis-plotBands-label--y","fullname":"yAxis.plotBands.label.y","title":"y","parent":"yAxis-plotBands-label","isParent":false,"returnType":"Number","since":"2.1","description":"Vertical position of the text baseline relative to the alignment. Default varies by orientation.","demo":"Label on x axis"},{"name":"series-data--y","fullname":"series.data.y","title":"y","parent":"series-data","isParent":false,"returnType":"Number","description":"The y value of the point."},{"name":"series-dataLabels--y","fullname":"series.dataLabels.y","title":"y","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"15","since":"2.3.0","description":"The y position offset of the label relative to the center of the gauge. ","demo":"","seeAlso":"","deprecated":false},{"name":"yAxis-title--y","fullname":"yAxis.title.y","title":"y","parent":"yAxis-title","isParent":false,"returnType":"Number","context":"","defaults":"","values":"","since":"","description":"Vertical pixel offset of the title position.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-series-dataLabels--y","fullname":"plotOptions.series.dataLabels.y","title":"y","parent":"plotOptions-series-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"series-dataLabels--y","fullname":"series.dataLabels.y","title":"y","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"series-data--y","fullname":"series.data.y","title":"y","parent":"series-data","isParent":false,"returnType":"Number","description":"The y value of the point."},{"name":"series-data--y","fullname":"series.data.y","title":"y","parent":"series-data","isParent":false,"returnType":"Number","description":"The y value of the point."},{"name":"xAxis-plotBands-label--y","fullname":"xAxis.plotBands.label.y","title":"y","parent":"xAxis-plotBands-label","isParent":false,"returnType":"Number","since":"2.1","description":"Vertical position of the text baseline relative to the alignment. Default varies by orientation.","demo":"Label on x axis"},{"name":"series-dataLabels--y","fullname":"series.dataLabels.y","title":"y","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"series-dataLabels--y","fullname":"series.dataLabels.y","title":"y","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"yAxis-plotLines-label--y","fullname":"yAxis.plotLines.label.y","title":"y","parent":"yAxis-plotLines-label","isParent":false,"returnType":"Number","since":"2.1","description":"Vertical position of the text baseline relative to the alignment. Default varies by orientation.","demo":"Label below the plot line"},{"name":"plotOptions-heatmap-dataLabels--y","fullname":"plotOptions.heatmap.dataLabels.y","title":"y","parent":"plotOptions-heatmap-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"plotOptions-pie-dataLabels--y","fullname":"plotOptions.pie.dataLabels.y","title":"y","parent":"plotOptions-pie-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"series-data--y","fullname":"series.data.y","title":"y","parent":"series-data","isParent":false,"returnType":"Number","description":"The y value of the point."},{"name":"series-data--y","fullname":"series.data.y","title":"y","parent":"series-data","isParent":false,"returnType":"Number","description":"The y value of the point."},{"name":"plotOptions-bar-dataLabels--y","fullname":"plotOptions.bar.dataLabels.y","title":"y","parent":"plotOptions-bar-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"series-dataLabels--y","fullname":"series.dataLabels.y","title":"y","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline-dataLabels--y","fullname":"plotOptions.areaspline.dataLabels.y","title":"y","parent":"plotOptions-areaspline-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"series-data--y","fullname":"series.data.y","title":"y","parent":"series-data","isParent":false,"returnType":"Number","description":"The y value of the point."},{"name":"yAxis-labels--y","fullname":"yAxis.labels.y","title":"y","parent":"yAxis-labels","isParent":false,"returnType":"Number","defaults":"3","description":"The y position offset of the label relative to the tick position on the axis.","demo":"Y axis labels placed on grid lines"},{"name":"yAxis-stackLabels--y","fullname":"yAxis.stackLabels.y","title":"y","parent":"yAxis-stackLabels","isParent":false,"returnType":"Number","since":"2.1.5","description":"The y position offset of the label relative to the tick position on the axis. The default value is calculated at runtime and depends on orientation and whether the stack is positive or negative.","demo":"Stack total labels with y offset"},{"name":"plotOptions-column-dataLabels--y","fullname":"plotOptions.column.dataLabels.y","title":"y","parent":"plotOptions-column-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"plotOptions-funnel-dataLabels--y","fullname":"plotOptions.funnel.dataLabels.y","title":"y","parent":"plotOptions-funnel-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"xAxis-title--y","fullname":"xAxis.title.y","title":"y","parent":"xAxis-title","isParent":false,"returnType":"Number","context":"","defaults":"","values":"","since":"","description":"Vertical pixel offset of the title position.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--y","fullname":"series.dataLabels.y","title":"y","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"plotOptions-scatter-dataLabels--y","fullname":"plotOptions.scatter.dataLabels.y","title":"y","parent":"plotOptions-scatter-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"series-dataLabels--y","fullname":"series.dataLabels.y","title":"y","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"series-data--y","fullname":"series.data.y","title":"y","parent":"series-data","isParent":false,"returnType":"Number","description":"The y value of the point."},{"name":"xAxis-plotLines-label--y","fullname":"xAxis.plotLines.label.y","title":"y","parent":"xAxis-plotLines-label","isParent":false,"returnType":"Number","since":"2.1","description":"Vertical position of the text baseline relative to the alignment. Default varies by orientation.","demo":"Label below the plot line"},{"name":"series-data--y","fullname":"series.data.y","title":"y","parent":"series-data","isParent":false,"returnType":"Number","description":"The y value of the point."},{"name":"plotOptions-waterfall-dataLabels--y","fullname":"plotOptions.waterfall.dataLabels.y","title":"y","parent":"plotOptions-waterfall-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"series-dataLabels--y","fullname":"series.dataLabels.y","title":"y","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"series-data--y","fullname":"series.data.y","title":"y","parent":"series-data","isParent":false,"returnType":"Number","description":"The y value of the point."},{"name":"plotOptions-spline-dataLabels--y","fullname":"plotOptions.spline.dataLabels.y","title":"y","parent":"plotOptions-spline-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"plotOptions-treemap-dataLabels--y","fullname":"plotOptions.treemap.dataLabels.y","title":"y","parent":"plotOptions-treemap-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"series-dataLabels--y","fullname":"series.dataLabels.y","title":"y","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"xAxis-labels--y","fullname":"xAxis.labels.y","title":"y","parent":"xAxis-labels","isParent":false,"returnType":"Number","defaults":"null","description":"The y position offset of the label relative to the tick position on the axis. The default makes it adapt to the font size on bottom axis.","demo":"Y axis labels placed on grid lines","deprecated":false},{"name":"series-data--y","fullname":"series.data.y","title":"y","parent":"series-data","isParent":false,"returnType":"Number","description":"The y value of the point."},{"name":"series-dataLabels--y","fullname":"series.dataLabels.y","title":"y","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"series-dataLabels--y","fullname":"series.dataLabels.y","title":"y","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble-dataLabels--y","fullname":"plotOptions.bubble.dataLabels.y","title":"y","parent":"plotOptions-bubble-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"series-dataLabels--y","fullname":"series.dataLabels.y","title":"y","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"exporting-buttons-contextButton--y","fullname":"exporting.buttons.contextButton.y","title":"y","parent":"exporting-buttons-contextButton","isParent":false,"returnType":"Number","defaults":"0","since":"2.0","description":"The vertical offset of the button's position relative to its verticalAlign.\t\t\t .","demo":"Buttons at lower right","deprecated":false},{"name":"series-data--y","fullname":"series.data.y","title":"y","parent":"series-data","isParent":false,"returnType":"Number","description":"The y value of the point."},{"name":"series-data--y","fullname":"series.data.y","title":"y","parent":"series-data","isParent":false,"returnType":"Number","description":"The y value of the point."},{"name":"plotOptions-gauge-dataLabels--y","fullname":"plotOptions.gauge.dataLabels.y","title":"y","parent":"plotOptions-gauge-dataLabels","isParent":false,"returnType":"Number","defaults":"15","since":"2.3.0","description":"The y position offset of the label relative to the center of the gauge. ","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-line-dataLabels--y","fullname":"plotOptions.line.dataLabels.y","title":"y","parent":"plotOptions-line-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"series-dataLabels--y","fullname":"series.dataLabels.y","title":"y","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"series-dataLabels--y","fullname":"series.dataLabels.y","title":"y","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"series-data--y","fullname":"series.data.y","title":"y","parent":"series-data","isParent":false,"returnType":"Number","description":"The y value of the point."},{"name":"plotOptions-area-dataLabels--y","fullname":"plotOptions.area.dataLabels.y","title":"y","parent":"plotOptions-area-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon-dataLabels--y","fullname":"plotOptions.polygon.dataLabels.y","title":"y","parent":"plotOptions-polygon-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"","description":"The y position offset of the label relative to the point. ","demo":"Vertical and positioned","seeAlso":"","deprecated":false},{"name":"series-data--y","fullname":"series.data.y","title":"y","parent":"series-data","isParent":false,"returnType":"Number","description":"The y value of the point."},{"name":"series--yAxis","fullname":"series.yAxis","title":"yAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple y axes, this number defines which yAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the yAxis array, with 0 being the first.","demo":"Apply the column series to the secondary Y axis","deprecated":false},{"name":"series--yAxis","fullname":"series.yAxis","title":"yAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple y axes, this number defines which yAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the yAxis array, with 0 being the first.","demo":"Apply the column series to the secondary Y axis","deprecated":false},{"name":"series--yAxis","fullname":"series.yAxis","title":"yAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple y axes, this number defines which yAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the yAxis array, with 0 being the first.","demo":"Apply the column series to the secondary Y axis","deprecated":false},{"name":"series--yAxis","fullname":"series.yAxis","title":"yAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple y axes, this number defines which yAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the yAxis array, with 0 being the first.","demo":"Apply the column series to the secondary Y axis","deprecated":false},{"name":"series--yAxis","fullname":"series.yAxis","title":"yAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple y axes, this number defines which yAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the yAxis array, with 0 being the first.","demo":"Apply the column series to the secondary Y axis","deprecated":false},{"name":"series--yAxis","fullname":"series.yAxis","title":"yAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple y axes, this number defines which yAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the yAxis array, with 0 being the first.","demo":"Apply the column series to the secondary Y axis","deprecated":false},{"name":"series--yAxis","fullname":"series.yAxis","title":"yAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple y axes, this number defines which yAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the yAxis array, with 0 being the first.","demo":"Apply the column series to the secondary Y axis","deprecated":false},{"name":"series--yAxis","fullname":"series.yAxis","title":"yAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple y axes, this number defines which yAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the yAxis array, with 0 being the first.","demo":"Apply the column series to the secondary Y axis","deprecated":false},{"name":"series--yAxis","fullname":"series.yAxis","title":"yAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple y axes, this number defines which yAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the yAxis array, with 0 being the first.","demo":"Apply the column series to the secondary Y axis","deprecated":false},{"name":"series--yAxis","fullname":"series.yAxis","title":"yAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple y axes, this number defines which yAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the yAxis array, with 0 being the first.","demo":"Apply the column series to the secondary Y axis","deprecated":false},{"name":"series--yAxis","fullname":"series.yAxis","title":"yAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple y axes, this number defines which yAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the yAxis array, with 0 being the first.","demo":"Apply the column series to the secondary Y axis","deprecated":false},{"name":"series--yAxis","fullname":"series.yAxis","title":"yAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple y axes, this number defines which yAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the yAxis array, with 0 being the first.","demo":"Apply the column series to the secondary Y axis","deprecated":false},{"name":"series--yAxis","fullname":"series.yAxis","title":"yAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple y axes, this number defines which yAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the yAxis array, with 0 being the first.","demo":"Apply the column series to the secondary Y axis","deprecated":false},{"name":"series--yAxis","fullname":"series.yAxis","title":"yAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple y axes, this number defines which yAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the yAxis array, with 0 being the first.","demo":"Apply the column series to the secondary Y axis","deprecated":false},{"name":"series--yAxis","fullname":"series.yAxis","title":"yAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple y axes, this number defines which yAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the yAxis array, with 0 being the first.","demo":"Apply the column series to the secondary Y axis","deprecated":false},{"name":"series--yAxis","fullname":"series.yAxis","title":"yAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple y axes, this number defines which yAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the yAxis array, with 0 being the first.","demo":"Apply the column series to the secondary Y axis","deprecated":false},{"name":"series--yAxis","fullname":"series.yAxis","title":"yAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple y axes, this number defines which yAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the yAxis array, with 0 being the first.","demo":"Apply the column series to the secondary Y axis","deprecated":false},{"name":"series--yAxis","fullname":"series.yAxis","title":"yAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple y axes, this number defines which yAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the yAxis array, with 0 being the first.","demo":"Apply the column series to the secondary Y axis","deprecated":false},{"name":"series--yAxis","fullname":"series.yAxis","title":"yAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple y axes, this number defines which yAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the yAxis array, with 0 being the first.","demo":"Apply the column series to the secondary Y axis","deprecated":false},{"name":"yAxis","fullname":"yAxis","title":"yAxis","isParent":true,"description":"

The Y axis or value axis. Normally this is the vertical axis, though if the \r\n\tchart is inverted this is the horizontal axis. In case of multiple axes, the yAxis\r\n\tnode is an array of configuration objects.

\r\n\t

See the Axis object for programmatic\r\n\taccess to the axis.

","deprecated":false},{"name":"series--yAxis","fullname":"series.yAxis","title":"yAxis","parent":"series","isParent":false,"returnType":"Number|String","defaults":"0","description":"When using dual or multiple y axes, this number defines which yAxis the particular series is connected to. It refers to either the axis id or the index of the axis in the yAxis array, with 0 being the first.","demo":"Apply the column series to the secondary Y axis","deprecated":false},{"name":"plotOptions-columnrange-dataLabels--yHigh","fullname":"plotOptions.columnrange.dataLabels.yHigh","title":"yHigh","parent":"plotOptions-columnrange-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"2.3.0","description":"Y offset of the higher data labels relative to the point value.","demo":"Data labels on range series","seeAlso":"","deprecated":false},{"name":"series-dataLabels--yHigh","fullname":"series.dataLabels.yHigh","title":"yHigh","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"2.3.0","description":"Y offset of the higher data labels relative to the point value.","demo":"Data labels on range series","seeAlso":"","deprecated":false},{"name":"series-dataLabels--yHigh","fullname":"series.dataLabels.yHigh","title":"yHigh","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"2.3.0","description":"Y offset of the higher data labels relative to the point value.","demo":"Data labels on range series","seeAlso":"","deprecated":false},{"name":"plotOptions-areasplinerange-dataLabels--yHigh","fullname":"plotOptions.areasplinerange.dataLabels.yHigh","title":"yHigh","parent":"plotOptions-areasplinerange-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"2.3.0","description":"Y offset of the higher data labels relative to the point value.","demo":"Data labels on range series","seeAlso":"","deprecated":false},{"name":"plotOptions-arearange-dataLabels--yHigh","fullname":"plotOptions.arearange.dataLabels.yHigh","title":"yHigh","parent":"plotOptions-arearange-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"2.3.0","description":"Y offset of the higher data labels relative to the point value.","demo":"Data labels on range series","seeAlso":"","deprecated":false},{"name":"series-dataLabels--yHigh","fullname":"series.dataLabels.yHigh","title":"yHigh","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"-6","since":"2.3.0","description":"Y offset of the higher data labels relative to the point value.","demo":"Data labels on range series","seeAlso":"","deprecated":false},{"name":"series-dataLabels--yLow","fullname":"series.dataLabels.yLow","title":"yLow","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"16","since":"2.3.0","description":"Y offset of the lower data labels relative to the point value.","demo":"Data labels on range series","seeAlso":"","deprecated":false},{"name":"plotOptions-areasplinerange-dataLabels--yLow","fullname":"plotOptions.areasplinerange.dataLabels.yLow","title":"yLow","parent":"plotOptions-areasplinerange-dataLabels","isParent":false,"returnType":"Number","defaults":"16","since":"2.3.0","description":"Y offset of the lower data labels relative to the point value.","demo":"Data labels on range series","seeAlso":"","deprecated":false},{"name":"series-dataLabels--yLow","fullname":"series.dataLabels.yLow","title":"yLow","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"16","since":"2.3.0","description":"Y offset of the lower data labels relative to the point value.","demo":"Data labels on range series","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange-dataLabels--yLow","fullname":"plotOptions.columnrange.dataLabels.yLow","title":"yLow","parent":"plotOptions-columnrange-dataLabels","isParent":false,"returnType":"Number","defaults":"16","since":"2.3.0","description":"Y offset of the lower data labels relative to the point value.","demo":"Data labels on range series","seeAlso":"","deprecated":false},{"name":"plotOptions-arearange-dataLabels--yLow","fullname":"plotOptions.arearange.dataLabels.yLow","title":"yLow","parent":"plotOptions-arearange-dataLabels","isParent":false,"returnType":"Number","defaults":"16","since":"2.3.0","description":"Y offset of the lower data labels relative to the point value.","demo":"Data labels on range series","seeAlso":"","deprecated":false},{"name":"series-dataLabels--yLow","fullname":"series.dataLabels.yLow","title":"yLow","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"16","since":"2.3.0","description":"Y offset of the lower data labels relative to the point value.","demo":"Data labels on range series","seeAlso":"","deprecated":false},{"name":"series-data--z","fullname":"series.data.z","title":"z","parent":"series-data","isParent":false,"returnType":"Number","description":"The size value for each bubble. The bubbles' diameters are computed based on the z, and controlled by series options like minSize, maxSize, sizeBy, zMin and zMax."},{"name":"plotOptions-line-dataLabels--zIndex","fullname":"plotOptions.line.dataLabels.zIndex","title":"zIndex","parent":"plotOptions-line-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--zIndex","fullname":"series.dataLabels.zIndex","title":"zIndex","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"2.1.5","description":"The Z index of the data labels. A value of 2 display them behind the dial.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-heatmap-dataLabels--zIndex","fullname":"plotOptions.heatmap.dataLabels.zIndex","title":"zIndex","parent":"plotOptions-heatmap-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series--zIndex","fullname":"series.zIndex","title":"zIndex","parent":"series","isParent":false,"returnType":"Number","defaults":"","values":"","since":"","description":"Define the visual z index of the series.","demo":"With no z index, the series defined last are on top,\r\n\t\t\twith a z index, the series with the highest z index is on top.","seeAlso":"","deprecated":false},{"name":"series--zIndex","fullname":"series.zIndex","title":"zIndex","parent":"series","isParent":false,"returnType":"Number","defaults":"","values":"","since":"","description":"Define the visual z index of the series.","demo":"With no z index, the series defined last are on top,\r\n\t\t\twith a z index, the series with the highest z index is on top.","seeAlso":"","deprecated":false},{"name":"series-dataLabels--zIndex","fullname":"series.dataLabels.zIndex","title":"zIndex","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-scatter-dataLabels--zIndex","fullname":"plotOptions.scatter.dataLabels.zIndex","title":"zIndex","parent":"plotOptions-scatter-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series--zIndex","fullname":"series.zIndex","title":"zIndex","parent":"series","isParent":false,"returnType":"Number","defaults":"","values":"","since":"","description":"Define the visual z index of the series.","demo":"With no z index, the series defined last are on top,\r\n\t\t\twith a z index, the series with the highest z index is on top.","seeAlso":"","deprecated":false},{"name":"plotOptions-areasplinerange-dataLabels--zIndex","fullname":"plotOptions.areasplinerange.dataLabels.zIndex","title":"zIndex","parent":"plotOptions-areasplinerange-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series--zIndex","fullname":"series.zIndex","title":"zIndex","parent":"series","isParent":false,"returnType":"Number","defaults":"","values":"","since":"","description":"Define the visual z index of the series.","demo":"With no z index, the series defined last are on top,\r\n\t\t\twith a z index, the series with the highest z index is on top.","seeAlso":"","deprecated":false},{"name":"series--zIndex","fullname":"series.zIndex","title":"zIndex","parent":"series","isParent":false,"returnType":"Number","defaults":"","values":"","since":"","description":"Define the visual z index of the series.","demo":"With no z index, the series defined last are on top,\r\n\t\t\twith a z index, the series with the highest z index is on top.","seeAlso":"","deprecated":false},{"name":"yAxis-plotBands--zIndex","fullname":"yAxis.plotBands.zIndex","title":"zIndex","parent":"yAxis-plotBands","isParent":false,"returnType":"Number","since":"1.2","description":"The z index of the plot band within the chart, relative to other elements. Using the same z index as another element may give unpredictable results, as the last rendered element will be on top. Values from 0 to 20 make sense.","demo":"Behind plot lines by default,\r\n\t\t\tabove plot lines,\r\n\t\t\tabove plot lines and series.","deprecated":false},{"name":"series--zIndex","fullname":"series.zIndex","title":"zIndex","parent":"series","isParent":false,"returnType":"Number","defaults":"","values":"","since":"","description":"Define the visual z index of the series.","demo":"With no z index, the series defined last are on top,\r\n\t\t\twith a z index, the series with the highest z index is on top.","seeAlso":"","deprecated":false},{"name":"series--zIndex","fullname":"series.zIndex","title":"zIndex","parent":"series","isParent":false,"returnType":"Number","defaults":"","values":"","since":"","description":"Define the visual z index of the series.","demo":"With no z index, the series defined last are on top,\r\n\t\t\twith a z index, the series with the highest z index is on top.","seeAlso":"","deprecated":false},{"name":"plotOptions-polygon-dataLabels--zIndex","fullname":"plotOptions.polygon.dataLabels.zIndex","title":"zIndex","parent":"plotOptions-polygon-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-areaspline-dataLabels--zIndex","fullname":"plotOptions.areaspline.dataLabels.zIndex","title":"zIndex","parent":"plotOptions-areaspline-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-gauge-dataLabels--zIndex","fullname":"plotOptions.gauge.dataLabels.zIndex","title":"zIndex","parent":"plotOptions-gauge-dataLabels","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"2.1.5","description":"The Z index of the data labels. A value of 2 display them behind the dial.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--zIndex","fullname":"series.dataLabels.zIndex","title":"zIndex","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--zIndex","fullname":"series.dataLabels.zIndex","title":"zIndex","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--zIndex","fullname":"series.dataLabels.zIndex","title":"zIndex","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series--zIndex","fullname":"series.zIndex","title":"zIndex","parent":"series","isParent":false,"returnType":"Number","defaults":"","values":"","since":"","description":"Define the visual z index of the series.","demo":"With no z index, the series defined last are on top,\r\n\t\t\twith a z index, the series with the highest z index is on top.","seeAlso":"","deprecated":false},{"name":"series-dataLabels--zIndex","fullname":"series.dataLabels.zIndex","title":"zIndex","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-treemap-dataLabels--zIndex","fullname":"plotOptions.treemap.dataLabels.zIndex","title":"zIndex","parent":"plotOptions-treemap-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"xAxis-labels--zIndex","fullname":"xAxis.labels.zIndex","title":"zIndex","parent":"xAxis-labels","isParent":false,"returnType":"Number","defaults":"7","values":"","since":"","description":"The Z index for the axis labels.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--zIndex","fullname":"series.dataLabels.zIndex","title":"zIndex","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--zIndex","fullname":"series.dataLabels.zIndex","title":"zIndex","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-series-dataLabels--zIndex","fullname":"plotOptions.series.dataLabels.zIndex","title":"zIndex","parent":"plotOptions-series-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pyramid-dataLabels--zIndex","fullname":"plotOptions.pyramid.dataLabels.zIndex","title":"zIndex","parent":"plotOptions-pyramid-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series--zIndex","fullname":"series.zIndex","title":"zIndex","parent":"series","isParent":false,"returnType":"Number","defaults":"","values":"","since":"","description":"Define the visual z index of the series.","demo":"With no z index, the series defined last are on top,\r\n\t\t\twith a z index, the series with the highest z index is on top.","seeAlso":"","deprecated":false},{"name":"plotOptions-bar-dataLabels--zIndex","fullname":"plotOptions.bar.dataLabels.zIndex","title":"zIndex","parent":"plotOptions-bar-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--zIndex","fullname":"series.dataLabels.zIndex","title":"zIndex","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--zIndex","fullname":"series.dataLabels.zIndex","title":"zIndex","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--zIndex","fullname":"series.dataLabels.zIndex","title":"zIndex","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series--zIndex","fullname":"series.zIndex","title":"zIndex","parent":"series","isParent":false,"returnType":"Number","defaults":"","values":"","since":"","description":"Define the visual z index of the series.","demo":"With no z index, the series defined last are on top,\r\n\t\t\twith a z index, the series with the highest z index is on top.","seeAlso":"","deprecated":false},{"name":"plotOptions-spline-dataLabels--zIndex","fullname":"plotOptions.spline.dataLabels.zIndex","title":"zIndex","parent":"plotOptions-spline-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series--zIndex","fullname":"series.zIndex","title":"zIndex","parent":"series","isParent":false,"returnType":"Number","defaults":"","values":"","since":"","description":"Define the visual z index of the series.","demo":"With no z index, the series defined last are on top,\r\n\t\t\twith a z index, the series with the highest z index is on top.","seeAlso":"","deprecated":false},{"name":"series-dataLabels--zIndex","fullname":"series.dataLabels.zIndex","title":"zIndex","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series--zIndex","fullname":"series.zIndex","title":"zIndex","parent":"series","isParent":false,"returnType":"Number","defaults":"","values":"","since":"","description":"Define the visual z index of the series.","demo":"With no z index, the series defined last are on top,\r\n\t\t\twith a z index, the series with the highest z index is on top.","seeAlso":"","deprecated":false},{"name":"plotOptions-solidgauge-dataLabels--zIndex","fullname":"plotOptions.solidgauge.dataLabels.zIndex","title":"zIndex","parent":"plotOptions-solidgauge-dataLabels","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"2.1.5","description":"The Z index of the data labels. A value of 2 display them behind the dial.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--zIndex","fullname":"series.dataLabels.zIndex","title":"zIndex","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"2","values":"","since":"2.1.5","description":"The Z index of the data labels. A value of 2 display them behind the dial.","demo":"","seeAlso":"","deprecated":false},{"name":"yAxis-labels--zIndex","fullname":"yAxis.labels.zIndex","title":"zIndex","parent":"yAxis-labels","isParent":false,"returnType":"Number","defaults":"7","values":"","since":"","description":"The Z index for the axis labels.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-area-dataLabels--zIndex","fullname":"plotOptions.area.dataLabels.zIndex","title":"zIndex","parent":"plotOptions-area-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"xAxis-plotBands--zIndex","fullname":"xAxis.plotBands.zIndex","title":"zIndex","parent":"xAxis-plotBands","isParent":false,"returnType":"Number","since":"1.2","description":"The z index of the plot band within the chart, relative to other elements. Using the same z index as another element may give unpredictable results, as the last rendered element will be on top. Values from 0 to 20 make sense.","demo":"Behind plot lines by default,\r\n\t\t\tabove plot lines,\r\n\t\t\tabove plot lines and series.","deprecated":false},{"name":"plotOptions-waterfall-dataLabels--zIndex","fullname":"plotOptions.waterfall.dataLabels.zIndex","title":"zIndex","parent":"plotOptions-waterfall-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--zIndex","fullname":"series.dataLabels.zIndex","title":"zIndex","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-pie-dataLabels--zIndex","fullname":"plotOptions.pie.dataLabels.zIndex","title":"zIndex","parent":"plotOptions-pie-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--zIndex","fullname":"series.dataLabels.zIndex","title":"zIndex","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-arearange-dataLabels--zIndex","fullname":"plotOptions.arearange.dataLabels.zIndex","title":"zIndex","parent":"plotOptions-arearange-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--zIndex","fullname":"series.dataLabels.zIndex","title":"zIndex","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble-dataLabels--zIndex","fullname":"plotOptions.bubble.dataLabels.zIndex","title":"zIndex","parent":"plotOptions-bubble-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-column-dataLabels--zIndex","fullname":"plotOptions.column.dataLabels.zIndex","title":"zIndex","parent":"plotOptions-column-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"plotOptions-funnel-dataLabels--zIndex","fullname":"plotOptions.funnel.dataLabels.zIndex","title":"zIndex","parent":"plotOptions-funnel-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series--zIndex","fullname":"series.zIndex","title":"zIndex","parent":"series","isParent":false,"returnType":"Number","defaults":"","values":"","since":"","description":"Define the visual z index of the series.","demo":"With no z index, the series defined last are on top,\r\n\t\t\twith a z index, the series with the highest z index is on top.","seeAlso":"","deprecated":false},{"name":"yAxis-plotLines--zIndex","fullname":"yAxis.plotLines.zIndex","title":"zIndex","parent":"yAxis-plotLines","isParent":false,"returnType":"Number","since":"1.2","description":"The z index of the plot line within the chart.","demo":"Behind plot lines by default,\n\t\t\tabove plot lines,\n\t\t\tabove plot lines and series."},{"name":"series--zIndex","fullname":"series.zIndex","title":"zIndex","parent":"series","isParent":false,"returnType":"Number","defaults":"","values":"","since":"","description":"Define the visual z index of the series.","demo":"With no z index, the series defined last are on top,\r\n\t\t\twith a z index, the series with the highest z index is on top.","seeAlso":"","deprecated":false},{"name":"series--zIndex","fullname":"series.zIndex","title":"zIndex","parent":"series","isParent":false,"returnType":"Number","defaults":"","values":"","since":"","description":"Define the visual z index of the series.","demo":"With no z index, the series defined last are on top,\r\n\t\t\twith a z index, the series with the highest z index is on top.","seeAlso":"","deprecated":false},{"name":"series-dataLabels--zIndex","fullname":"series.dataLabels.zIndex","title":"zIndex","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series--zIndex","fullname":"series.zIndex","title":"zIndex","parent":"series","isParent":false,"returnType":"Number","defaults":"","values":"","since":"","description":"Define the visual z index of the series.","demo":"With no z index, the series defined last are on top,\r\n\t\t\twith a z index, the series with the highest z index is on top.","seeAlso":"","deprecated":false},{"name":"series--zIndex","fullname":"series.zIndex","title":"zIndex","parent":"series","isParent":false,"returnType":"Number","defaults":"","values":"","since":"","description":"Define the visual z index of the series.","demo":"With no z index, the series defined last are on top,\r\n\t\t\twith a z index, the series with the highest z index is on top.","seeAlso":"","deprecated":false},{"name":"plotOptions-columnrange-dataLabels--zIndex","fullname":"plotOptions.columnrange.dataLabels.zIndex","title":"zIndex","parent":"plotOptions-columnrange-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series--zIndex","fullname":"series.zIndex","title":"zIndex","parent":"series","isParent":false,"returnType":"Number","defaults":"","values":"","since":"","description":"Define the visual z index of the series.","demo":"With no z index, the series defined last are on top,\r\n\t\t\twith a z index, the series with the highest z index is on top.","seeAlso":"","deprecated":false},{"name":"series-dataLabels--zIndex","fullname":"series.dataLabels.zIndex","title":"zIndex","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series-dataLabels--zIndex","fullname":"series.dataLabels.zIndex","title":"zIndex","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"xAxis-plotLines--zIndex","fullname":"xAxis.plotLines.zIndex","title":"zIndex","parent":"xAxis-plotLines","isParent":false,"returnType":"Number","since":"1.2","description":"The z index of the plot line within the chart.","demo":"Behind plot lines by default,\n\t\t\tabove plot lines,\n\t\t\tabove plot lines and series."},{"name":"series--zIndex","fullname":"series.zIndex","title":"zIndex","parent":"series","isParent":false,"returnType":"Number","defaults":"","values":"","since":"","description":"Define the visual z index of the series.","demo":"With no z index, the series defined last are on top,\r\n\t\t\twith a z index, the series with the highest z index is on top.","seeAlso":"","deprecated":false},{"name":"series--zIndex","fullname":"series.zIndex","title":"zIndex","parent":"series","isParent":false,"returnType":"Number","defaults":"","values":"","since":"","description":"Define the visual z index of the series.","demo":"With no z index, the series defined last are on top,\r\n\t\t\twith a z index, the series with the highest z index is on top.","seeAlso":"","deprecated":false},{"name":"series-dataLabels--zIndex","fullname":"series.dataLabels.zIndex","title":"zIndex","parent":"series-dataLabels","isParent":false,"returnType":"Number","defaults":"6","values":"","since":"2.3.5","description":"The Z index of the data labels. The default Z index puts it above the series. Use a Z index of 2 to display it behind the series.","demo":"","seeAlso":"","deprecated":false},{"name":"series--zIndex","fullname":"series.zIndex","title":"zIndex","parent":"series","isParent":false,"returnType":"Number","defaults":"","values":"","since":"","description":"Define the visual z index of the series.","demo":"With no z index, the series defined last are on top,\r\n\t\t\twith a z index, the series with the highest z index is on top.","seeAlso":"","deprecated":false},{"name":"series--zIndex","fullname":"series.zIndex","title":"zIndex","parent":"series","isParent":false,"returnType":"Number","defaults":"","values":"","since":"","description":"Define the visual z index of the series.","demo":"With no z index, the series defined last are on top,\r\n\t\t\twith a z index, the series with the highest z index is on top.","seeAlso":"","deprecated":false},{"name":"series--zIndex","fullname":"series.zIndex","title":"zIndex","parent":"series","isParent":false,"returnType":"Number","defaults":"","values":"","since":"","description":"Define the visual z index of the series.","demo":"With no z index, the series defined last are on top,\r\n\t\t\twith a z index, the series with the highest z index is on top.","seeAlso":"","deprecated":false},{"name":"plotOptions-bubble--zMax","fullname":"plotOptions.bubble.zMax","title":"zMax","parent":"plotOptions-bubble","isParent":false,"returnType":"Number","defaults":"null","since":"4.0.3","description":"The minimum for the Z value range. Defaults to the highest Z value in the data.","demo":"Z has a possible range of 0-100","seeAlso":"zMax","deprecated":false},{"name":"series--zMax","fullname":"series.zMax","title":"zMax","parent":"series","isParent":false,"returnType":"Number","defaults":"null","since":"4.0.3","description":"The minimum for the Z value range. Defaults to the highest Z value in the data.","demo":"Z has a possible range of 0-100","seeAlso":"zMax","deprecated":false},{"name":"series--zMin","fullname":"series.zMin","title":"zMin","parent":"series","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.3","description":"The minimum for the Z value range. Defaults to the lowest Z value in the data.","demo":"Z has a possible range of 0-100","seeAlso":"zMax","deprecated":false},{"name":"plotOptions-bubble--zMin","fullname":"plotOptions.bubble.zMin","title":"zMin","parent":"plotOptions-bubble","isParent":false,"returnType":"Number","defaults":"null","values":"","since":"4.0.3","description":"The minimum for the Z value range. Defaults to the lowest Z value in the data.","demo":"Z has a possible range of 0-100","seeAlso":"zMax","deprecated":false},{"name":"plotOptions-bubble--zThreshold","fullname":"plotOptions.bubble.zThreshold","title":"zThreshold","parent":"plotOptions-bubble","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"3.0","description":"When displayNegative is false, bubbles with lower Z values are skipped. When displayNegative is true and a negativeColor is given, points with lower Z is colored.","demo":"Negative bubbles","seeAlso":"","deprecated":false},{"name":"series--zThreshold","fullname":"series.zThreshold","title":"zThreshold","parent":"series","isParent":false,"returnType":"Number","defaults":"0","values":"","since":"3.0","description":"When displayNegative is false, bubbles with lower Z values are skipped. When displayNegative is true and a negativeColor is given, points with lower Z is colored.","demo":"Negative bubbles","seeAlso":"","deprecated":false},{"name":"series--zoneAxis","fullname":"series.zoneAxis","title":"zoneAxis","parent":"series","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"plotOptions-areasplinerange--zoneAxis","fullname":"plotOptions.areasplinerange.zoneAxis","title":"zoneAxis","parent":"plotOptions-areasplinerange","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"series--zoneAxis","fullname":"series.zoneAxis","title":"zoneAxis","parent":"series","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"series--zoneAxis","fullname":"series.zoneAxis","title":"zoneAxis","parent":"series","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"series--zoneAxis","fullname":"series.zoneAxis","title":"zoneAxis","parent":"series","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"series--zoneAxis","fullname":"series.zoneAxis","title":"zoneAxis","parent":"series","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"plotOptions-area--zoneAxis","fullname":"plotOptions.area.zoneAxis","title":"zoneAxis","parent":"plotOptions-area","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"plotOptions-waterfall--zoneAxis","fullname":"plotOptions.waterfall.zoneAxis","title":"zoneAxis","parent":"plotOptions-waterfall","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"plotOptions-column--zoneAxis","fullname":"plotOptions.column.zoneAxis","title":"zoneAxis","parent":"plotOptions-column","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"plotOptions-columnrange--zoneAxis","fullname":"plotOptions.columnrange.zoneAxis","title":"zoneAxis","parent":"plotOptions-columnrange","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"series--zoneAxis","fullname":"series.zoneAxis","title":"zoneAxis","parent":"series","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"series--zoneAxis","fullname":"series.zoneAxis","title":"zoneAxis","parent":"series","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"series--zoneAxis","fullname":"series.zoneAxis","title":"zoneAxis","parent":"series","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"series--zoneAxis","fullname":"series.zoneAxis","title":"zoneAxis","parent":"series","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"series--zoneAxis","fullname":"series.zoneAxis","title":"zoneAxis","parent":"series","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"series--zoneAxis","fullname":"series.zoneAxis","title":"zoneAxis","parent":"series","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"plotOptions-boxplot--zoneAxis","fullname":"plotOptions.boxplot.zoneAxis","title":"zoneAxis","parent":"plotOptions-boxplot","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"series--zoneAxis","fullname":"series.zoneAxis","title":"zoneAxis","parent":"series","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"plotOptions-areaspline--zoneAxis","fullname":"plotOptions.areaspline.zoneAxis","title":"zoneAxis","parent":"plotOptions-areaspline","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"plotOptions-gauge--zoneAxis","fullname":"plotOptions.gauge.zoneAxis","title":"zoneAxis","parent":"plotOptions-gauge","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"plotOptions-spline--zoneAxis","fullname":"plotOptions.spline.zoneAxis","title":"zoneAxis","parent":"plotOptions-spline","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"series--zoneAxis","fullname":"series.zoneAxis","title":"zoneAxis","parent":"series","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"series--zoneAxis","fullname":"series.zoneAxis","title":"zoneAxis","parent":"series","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"series--zoneAxis","fullname":"series.zoneAxis","title":"zoneAxis","parent":"series","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"plotOptions-arearange--zoneAxis","fullname":"plotOptions.arearange.zoneAxis","title":"zoneAxis","parent":"plotOptions-arearange","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"plotOptions-series--zoneAxis","fullname":"plotOptions.series.zoneAxis","title":"zoneAxis","parent":"plotOptions-series","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"series--zoneAxis","fullname":"series.zoneAxis","title":"zoneAxis","parent":"series","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"series--zoneAxis","fullname":"series.zoneAxis","title":"zoneAxis","parent":"series","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"plotOptions-line--zoneAxis","fullname":"plotOptions.line.zoneAxis","title":"zoneAxis","parent":"plotOptions-line","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"plotOptions-funnel--zoneAxis","fullname":"plotOptions.funnel.zoneAxis","title":"zoneAxis","parent":"plotOptions-funnel","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"plotOptions-pie--zoneAxis","fullname":"plotOptions.pie.zoneAxis","title":"zoneAxis","parent":"plotOptions-pie","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"plotOptions-pyramid--zoneAxis","fullname":"plotOptions.pyramid.zoneAxis","title":"zoneAxis","parent":"plotOptions-pyramid","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"plotOptions-heatmap--zoneAxis","fullname":"plotOptions.heatmap.zoneAxis","title":"zoneAxis","parent":"plotOptions-heatmap","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"plotOptions-bubble--zoneAxis","fullname":"plotOptions.bubble.zoneAxis","title":"zoneAxis","parent":"plotOptions-bubble","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"series--zoneAxis","fullname":"series.zoneAxis","title":"zoneAxis","parent":"series","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"plotOptions-errorbar--zoneAxis","fullname":"plotOptions.errorbar.zoneAxis","title":"zoneAxis","parent":"plotOptions-errorbar","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"series--zoneAxis","fullname":"series.zoneAxis","title":"zoneAxis","parent":"series","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"series--zoneAxis","fullname":"series.zoneAxis","title":"zoneAxis","parent":"series","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"plotOptions-treemap--zoneAxis","fullname":"plotOptions.treemap.zoneAxis","title":"zoneAxis","parent":"plotOptions-treemap","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"plotOptions-bar--zoneAxis","fullname":"plotOptions.bar.zoneAxis","title":"zoneAxis","parent":"plotOptions-bar","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"series--zoneAxis","fullname":"series.zoneAxis","title":"zoneAxis","parent":"series","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"plotOptions-solidgauge--zoneAxis","fullname":"plotOptions.solidgauge.zoneAxis","title":"zoneAxis","parent":"plotOptions-solidgauge","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"plotOptions-polygon--zoneAxis","fullname":"plotOptions.polygon.zoneAxis","title":"zoneAxis","parent":"plotOptions-polygon","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"plotOptions-scatter--zoneAxis","fullname":"plotOptions.scatter.zoneAxis","title":"zoneAxis","parent":"plotOptions-scatter","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"series--zoneAxis","fullname":"series.zoneAxis","title":"zoneAxis","parent":"series","isParent":false,"returnType":"String","defaults":"y","since":"4.1.0","description":"Defines the Axis on which the zones are applied.","demo":"Zones on the X-Axis","seeAlso":"zones","deprecated":false},{"name":"plotOptions-errorbar-zones","fullname":"plotOptions.errorbar.zones","title":"zones","parent":"plotOptions-errorbar","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"plotOptions-area-zones","fullname":"plotOptions.area.zones","title":"zones","parent":"plotOptions-area","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"series-zones","fullname":"series.zones","title":"zones","parent":"series","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"series-zones","fullname":"series.zones","title":"zones","parent":"series","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"plotOptions-pyramid-zones","fullname":"plotOptions.pyramid.zones","title":"zones","parent":"plotOptions-pyramid","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"plotOptions-column-zones","fullname":"plotOptions.column.zones","title":"zones","parent":"plotOptions-column","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"series-zones","fullname":"series.zones","title":"zones","parent":"series","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"plotOptions-heatmap-zones","fullname":"plotOptions.heatmap.zones","title":"zones","parent":"plotOptions-heatmap","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"series-zones","fullname":"series.zones","title":"zones","parent":"series","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"plotOptions-funnel-zones","fullname":"plotOptions.funnel.zones","title":"zones","parent":"plotOptions-funnel","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"series-zones","fullname":"series.zones","title":"zones","parent":"series","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"series-zones","fullname":"series.zones","title":"zones","parent":"series","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"plotOptions-areaspline-zones","fullname":"plotOptions.areaspline.zones","title":"zones","parent":"plotOptions-areaspline","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"plotOptions-columnrange-zones","fullname":"plotOptions.columnrange.zones","title":"zones","parent":"plotOptions-columnrange","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"series-zones","fullname":"series.zones","title":"zones","parent":"series","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"series-zones","fullname":"series.zones","title":"zones","parent":"series","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"series-zones","fullname":"series.zones","title":"zones","parent":"series","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"plotOptions-bar-zones","fullname":"plotOptions.bar.zones","title":"zones","parent":"plotOptions-bar","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"series-zones","fullname":"series.zones","title":"zones","parent":"series","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"series-zones","fullname":"series.zones","title":"zones","parent":"series","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"series-zones","fullname":"series.zones","title":"zones","parent":"series","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"series-zones","fullname":"series.zones","title":"zones","parent":"series","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"series-zones","fullname":"series.zones","title":"zones","parent":"series","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"series-zones","fullname":"series.zones","title":"zones","parent":"series","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"series-zones","fullname":"series.zones","title":"zones","parent":"series","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"series-zones","fullname":"series.zones","title":"zones","parent":"series","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"plotOptions-areasplinerange-zones","fullname":"plotOptions.areasplinerange.zones","title":"zones","parent":"plotOptions-areasplinerange","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"plotOptions-polygon-zones","fullname":"plotOptions.polygon.zones","title":"zones","parent":"plotOptions-polygon","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"series-zones","fullname":"series.zones","title":"zones","parent":"series","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"plotOptions-treemap-zones","fullname":"plotOptions.treemap.zones","title":"zones","parent":"plotOptions-treemap","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"plotOptions-scatter-zones","fullname":"plotOptions.scatter.zones","title":"zones","parent":"plotOptions-scatter","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"series-zones","fullname":"series.zones","title":"zones","parent":"series","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"plotOptions-series-zones","fullname":"plotOptions.series.zones","title":"zones","parent":"plotOptions-series","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"plotOptions-gauge-zones","fullname":"plotOptions.gauge.zones","title":"zones","parent":"plotOptions-gauge","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"series-zones","fullname":"series.zones","title":"zones","parent":"series","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"plotOptions-spline-zones","fullname":"plotOptions.spline.zones","title":"zones","parent":"plotOptions-spline","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"plotOptions-pie-zones","fullname":"plotOptions.pie.zones","title":"zones","parent":"plotOptions-pie","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"plotOptions-bubble-zones","fullname":"plotOptions.bubble.zones","title":"zones","parent":"plotOptions-bubble","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"plotOptions-solidgauge-zones","fullname":"plotOptions.solidgauge.zones","title":"zones","parent":"plotOptions-solidgauge","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"plotOptions-waterfall-zones","fullname":"plotOptions.waterfall.zones","title":"zones","parent":"plotOptions-waterfall","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"plotOptions-line-zones","fullname":"plotOptions.line.zones","title":"zones","parent":"plotOptions-line","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"plotOptions-arearange-zones","fullname":"plotOptions.arearange.zones","title":"zones","parent":"plotOptions-arearange","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"series-zones","fullname":"series.zones","title":"zones","parent":"series","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"plotOptions-boxplot-zones","fullname":"plotOptions.boxplot.zones","title":"zones","parent":"plotOptions-boxplot","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"series-zones","fullname":"series.zones","title":"zones","parent":"series","isParent":true,"returnType":"Array","since":"4.1.0","description":"An array defining zones within a series.","demo":"Color zones","seeAlso":"zoneAxis","deprecated":false},{"name":"chart--zoomType","fullname":"chart.zoomType","title":"zoomType","parent":"chart","isParent":false,"returnType":"String","values":"[null, \"x\", \"y\", \"xy\"]","description":"Decides in what dimensions the user can zoom by dragging the mouse. Can be one of x, y or xy.","demo":"None by default,\r\n\t\t\tx,\r\n\t\t\ty,\r\n\t\t\txy","seeAlso":"panKey","deprecated":false}]; diff --git a/data/interfaces/default/js/highcharts/api/js/jquery-ui.min.js b/data/interfaces/default/js/highcharts/api/js/jquery-ui.min.js new file mode 100644 index 00000000..4b4a5fa4 --- /dev/null +++ b/data/interfaces/default/js/highcharts/api/js/jquery-ui.min.js @@ -0,0 +1,12 @@ +/*! jQuery UI - v1.10.3 - 2013-05-03 +* http://jqueryui.com +* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.resizable.js, jquery.ui.selectable.js, jquery.ui.sortable.js, jquery.ui.effect.js, jquery.ui.accordion.js, jquery.ui.autocomplete.js, jquery.ui.button.js, jquery.ui.datepicker.js, jquery.ui.dialog.js, jquery.ui.effect-blind.js, jquery.ui.effect-bounce.js, jquery.ui.effect-clip.js, jquery.ui.effect-drop.js, jquery.ui.effect-explode.js, jquery.ui.effect-fade.js, jquery.ui.effect-fold.js, jquery.ui.effect-highlight.js, jquery.ui.effect-pulsate.js, jquery.ui.effect-scale.js, jquery.ui.effect-shake.js, jquery.ui.effect-slide.js, jquery.ui.effect-transfer.js, jquery.ui.menu.js, jquery.ui.position.js, jquery.ui.progressbar.js, jquery.ui.slider.js, jquery.ui.spinner.js, jquery.ui.tabs.js, jquery.ui.tooltip.js +* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */ +(function(t,e){function i(e,i){var n,o,a,r=e.nodeName.toLowerCase();return"area"===r?(n=e.parentNode,o=n.name,e.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap=#"+o+"]")[0],!!a&&s(a)):!1):(/input|select|textarea|button|object/.test(r)?!e.disabled:"a"===r?e.href||i:i)&&s(e)}function s(e){return t.expr.filters.visible(e)&&!t(e).parents().addBack().filter(function(){return"hidden"===t.css(this,"visibility")}).length}var n=0,o=/^ui-id-\d+$/;t.ui=t.ui||{},t.extend(t.ui,{version:"1.10.3",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),t.fn.extend({focus:function(e){return function(i,s){return"number"==typeof i?this.each(function(){var e=this;setTimeout(function(){t(e).focus(),s&&s.call(e)},i)}):e.apply(this,arguments)}}(t.fn.focus),scrollParent:function(){var e;return e=t.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(t.css(this,"position"))&&/(auto|scroll)/.test(t.css(this,"overflow")+t.css(this,"overflow-y")+t.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(t.css(this,"overflow")+t.css(this,"overflow-y")+t.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!e.length?t(document):e},zIndex:function(i){if(i!==e)return this.css("zIndex",i);if(this.length)for(var s,n,o=t(this[0]);o.length&&o[0]!==document;){if(s=o.css("position"),("absolute"===s||"relative"===s||"fixed"===s)&&(n=parseInt(o.css("zIndex"),10),!isNaN(n)&&0!==n))return n;o=o.parent()}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++n)})},removeUniqueId:function(){return this.each(function(){o.test(this.id)&&t(this).removeAttr("id")})}}),t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])},focusable:function(e){return i(e,!isNaN(t.attr(e,"tabindex")))},tabbable:function(e){var s=t.attr(e,"tabindex"),n=isNaN(s);return(n||s>=0)&&i(e,!n)}}),t("").outerWidth(1).jquery||t.each(["Width","Height"],function(i,s){function n(e,i,s,n){return t.each(o,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),n&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var o="Width"===s?["Left","Right"]:["Top","Bottom"],a=s.toLowerCase(),r={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+s]=function(i){return i===e?r["inner"+s].call(this):this.each(function(){t(this).css(a,n(this,i)+"px")})},t.fn["outer"+s]=function(e,i){return"number"!=typeof e?r["outer"+s].call(this,e):this.each(function(){t(this).css(a,n(this,e,!0,i)+"px")})}}),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t("").data("a-b","a").removeData("a-b").data("a-b")&&(t.fn.removeData=function(e){return function(i){return arguments.length?e.call(this,t.camelCase(i)):e.call(this)}}(t.fn.removeData)),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),t.support.selectstart="onselectstart"in document.createElement("div"),t.fn.extend({disableSelection:function(){return this.bind((t.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(t){t.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),t.extend(t.ui,{plugin:{add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i){var s,n=t.plugins[e];if(n&&t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType)for(s=0;n.length>s;s++)t.options[n[s][0]]&&n[s][1].apply(t.element,i)}},hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)}})})(jQuery),function(t,e){var i=0,s=Array.prototype.slice,n=t.cleanData;t.cleanData=function(e){for(var i,s=0;null!=(i=e[s]);s++)try{t(i).triggerHandler("remove")}catch(o){}n(e)},t.widget=function(i,s,n){var o,a,r,h,l={},c=i.split(".")[0];i=i.split(".")[1],o=c+"-"+i,n||(n=s,s=t.Widget),t.expr[":"][o.toLowerCase()]=function(e){return!!t.data(e,o)},t[c]=t[c]||{},a=t[c][i],r=t[c][i]=function(t,i){return this._createWidget?(arguments.length&&this._createWidget(t,i),e):new r(t,i)},t.extend(r,a,{version:n.version,_proto:t.extend({},n),_childConstructors:[]}),h=new s,h.options=t.widget.extend({},h.options),t.each(n,function(i,n){return t.isFunction(n)?(l[i]=function(){var t=function(){return s.prototype[i].apply(this,arguments)},e=function(t){return s.prototype[i].apply(this,t)};return function(){var i,s=this._super,o=this._superApply;return this._super=t,this._superApply=e,i=n.apply(this,arguments),this._super=s,this._superApply=o,i}}(),e):(l[i]=n,e)}),r.prototype=t.widget.extend(h,{widgetEventPrefix:a?h.widgetEventPrefix:i},l,{constructor:r,namespace:c,widgetName:i,widgetFullName:o}),a?(t.each(a._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,r,i._proto)}),delete a._childConstructors):s._childConstructors.push(r),t.widget.bridge(i,r)},t.widget.extend=function(i){for(var n,o,a=s.call(arguments,1),r=0,h=a.length;h>r;r++)for(n in a[r])o=a[r][n],a[r].hasOwnProperty(n)&&o!==e&&(i[n]=t.isPlainObject(o)?t.isPlainObject(i[n])?t.widget.extend({},i[n],o):t.widget.extend({},o):o);return i},t.widget.bridge=function(i,n){var o=n.prototype.widgetFullName||i;t.fn[i]=function(a){var r="string"==typeof a,h=s.call(arguments,1),l=this;return a=!r&&h.length?t.widget.extend.apply(null,[a].concat(h)):a,r?this.each(function(){var s,n=t.data(this,o);return n?t.isFunction(n[a])&&"_"!==a.charAt(0)?(s=n[a].apply(n,h),s!==n&&s!==e?(l=s&&s.jquery?l.pushStack(s.get()):s,!1):e):t.error("no such method '"+a+"' for "+i+" widget instance"):t.error("cannot call methods on "+i+" prior to initialization; "+"attempted to call method '"+a+"'")}):this.each(function(){var e=t.data(this,o);e?e.option(a||{})._init():t.data(this,o,new n(a,this))}),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
",options:{disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this.bindings=t(),this.hoverable=t(),this.focusable=t(),s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:t.noop,_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(t.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:t.noop,widget:function(){return this.element},option:function(i,s){var n,o,a,r=i;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof i)if(r={},n=i.split("."),i=n.shift(),n.length){for(o=r[i]=t.widget.extend({},this.options[i]),a=0;n.length-1>a;a++)o[n[a]]=o[n[a]]||{},o=o[n[a]];if(i=n.pop(),s===e)return o[i]===e?null:o[i];o[i]=s}else{if(s===e)return this.options[i]===e?null:this.options[i];r[i]=s}return this._setOptions(r),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return this.options[t]=e,"disabled"===t&&(this.widget().toggleClass(this.widgetFullName+"-disabled ui-state-disabled",!!e).attr("aria-disabled",e),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_on:function(i,s,n){var o,a=this;"boolean"!=typeof i&&(n=s,s=i,i=!1),n?(s=o=t(s),this.bindings=this.bindings.add(s)):(n=s,s=this.element,o=this.widget()),t.each(n,function(n,r){function h(){return i||a.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof r?a[r]:r).apply(a,arguments):e}"string"!=typeof r&&(h.guid=r.guid=r.guid||h.guid||t.guid++);var l=n.match(/^(\w+)\s*(.*)$/),c=l[1]+a.eventNamespace,u=l[2];u?o.delegate(u,c,h):s.bind(c,h)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.unbind(e).undelegate(e)},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){t(e.currentTarget).addClass("ui-state-hover")},mouseleave:function(e){t(e.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){t(e.currentTarget).addClass("ui-state-focus")},focusout:function(e){t(e.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}})}(jQuery),function(t){var e=!1;t(document).mouseup(function(){e=!1}),t.widget("ui.mouse",{version:"1.10.3",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.bind("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).bind("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):undefined}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&t(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(i){if(!e){this._mouseStarted&&this._mouseUp(i),this._mouseDownEvent=i;var s=this,n=1===i.which,o="string"==typeof this.options.cancel&&i.target.nodeName?t(i.target).closest(this.options.cancel).length:!1;return n&&!o&&this._mouseCapture(i)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){s.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(i)&&this._mouseDelayMet(i)&&(this._mouseStarted=this._mouseStart(i)!==!1,!this._mouseStarted)?(i.preventDefault(),!0):(!0===t.data(i.target,this.widgetName+".preventClickEvent")&&t.removeData(i.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return s._mouseMove(t)},this._mouseUpDelegate=function(t){return s._mouseUp(t)},t(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),i.preventDefault(),e=!0,!0)):!0}},_mouseMove:function(e){return t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button?this._mouseUp(e):this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){return t(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),!1},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})}(jQuery),function(t){t.widget("ui.draggable",t.ui.mouse,{version:"1.10.3",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"!==this.options.helper||/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},_destroy:function(){this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy()},_mouseCapture:function(e){var i=this.options;return this.helper||i.disabled||t(e.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(e),this.handle?(t(i.iframeFix===!0?"iframe":i.iframeFix).each(function(){t("
").css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(t(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(e){var i=this.options;return this.helper=this._createHelper(e),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),t.ui.ddmanager&&(t.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offsetParent=this.helper.offsetParent(),this.offsetParentCssPosition=this.offsetParent.css("position"),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},this.offset.scroll=!1,t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",e)===!1?(this._clear(),!1):(this._cacheHelperProportions(),t.ui.ddmanager&&!i.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this._mouseDrag(e,!0),t.ui.ddmanager&&t.ui.ddmanager.dragStart(this,e),!0)},_mouseDrag:function(e,i){if("fixed"===this.offsetParentCssPosition&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",e,s)===!1)return this._mouseUp({}),!1;this.position=s.position}return this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),!1},_mouseStop:function(e){var i=this,s=!1;return t.ui.ddmanager&&!this.options.dropBehaviour&&(s=t.ui.ddmanager.drop(this,e)),this.dropped&&(s=this.dropped,this.dropped=!1),"original"!==this.options.helper||t.contains(this.element[0].ownerDocument,this.element[0])?("invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||t.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?t(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",e)!==!1&&i._clear()}):this._trigger("stop",e)!==!1&&this._clear(),!1):!1},_mouseUp:function(e){return t("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),t.ui.ddmanager&&t.ui.ddmanager.dragStop(this,e),t.ui.mouse.prototype._mouseUp.call(this,e)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(e){return this.options.handle?!!t(e.target).closest(this.element.find(this.options.handle)).length:!0},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper)?t(i.helper.apply(this.element[0],[e])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return s.parents("body").length||s.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s[0]===this.element[0]||/(fixed|absolute)/.test(s.css("position"))||s.css("position","absolute"),s},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_getParentOffset:function(){var e=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&t.ui.ie)&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var t=this.element.position();return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options;return n.containment?"window"===n.containment?(this.containment=[t(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,t(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,t(window).scrollLeft()+t(window).width()-this.helperProportions.width-this.margins.left,t(window).scrollTop()+(t(window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],undefined):"document"===n.containment?(this.containment=[0,0,t(document).width()-this.helperProportions.width-this.margins.left,(t(document).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],undefined):n.containment.constructor===Array?(this.containment=n.containment,undefined):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=t(n.containment),s=i[0],s&&(e="hidden"!==i.css("overflow"),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(e?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(e?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=i),undefined):(this.containment=null,undefined)},_convertPositionTo:function(e,i){i||(i=this.position);var s="absolute"===e?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent;return this.offset.scroll||(this.offset.scroll={top:n.scrollTop(),left:n.scrollLeft()}),{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top)*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)*s}},_generatePosition:function(e){var i,s,n,o,a=this.options,r="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=e.pageX,l=e.pageY;return this.offset.scroll||(this.offset.scroll={top:r.scrollTop(),left:r.scrollLeft()}),this.originalPosition&&(this.containment&&(this.relative_container?(s=this.relative_container.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,e.pageX-this.offset.click.lefti[2]&&(h=i[2]+this.offset.click.left),e.pageY-this.offset.click.top>i[3]&&(l=i[3]+this.offset.click.top)),a.grid&&(n=a.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/a.grid[1])*a.grid[1]:this.originalPageY,l=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-a.grid[1]:n+a.grid[1]:n,o=a.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/a.grid[0])*a.grid[0]:this.originalPageX,h=i?o-this.offset.click.left>=i[0]||o-this.offset.click.left>i[2]?o:o-this.offset.click.left>=i[0]?o-a.grid[0]:o+a.grid[0]:o)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():this.offset.scroll.top),left:h-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(e,i,s){return s=s||this._uiHash(),t.ui.plugin.call(this,e,[i,s]),"drag"===e&&(this.positionAbs=this._convertPositionTo("absolute")),t.Widget.prototype._trigger.call(this,e,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),t.ui.plugin.add("draggable","connectToSortable",{start:function(e,i){var s=t(this).data("ui-draggable"),n=s.options,o=t.extend({},i,{item:s.element});s.sortables=[],t(n.connectToSortable).each(function(){var i=t.data(this,"ui-sortable");i&&!i.options.disabled&&(s.sortables.push({instance:i,shouldRevert:i.options.revert}),i.refreshPositions(),i._trigger("activate",e,o))})},stop:function(e,i){var s=t(this).data("ui-draggable"),n=t.extend({},i,{item:s.element});t.each(s.sortables,function(){this.instance.isOver?(this.instance.isOver=0,s.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=this.shouldRevert),this.instance._mouseStop(e),this.instance.options.helper=this.instance.options._helper,"original"===s.options.helper&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",e,n))})},drag:function(e,i){var s=t(this).data("ui-draggable"),n=this;t.each(s.sortables,function(){var o=!1,a=this;this.instance.positionAbs=s.positionAbs,this.instance.helperProportions=s.helperProportions,this.instance.offset.click=s.offset.click,this.instance._intersectsWith(this.instance.containerCache)&&(o=!0,t.each(s.sortables,function(){return this.instance.positionAbs=s.positionAbs,this.instance.helperProportions=s.helperProportions,this.instance.offset.click=s.offset.click,this!==a&&this.instance._intersectsWith(this.instance.containerCache)&&t.contains(a.instance.element[0],this.instance.element[0])&&(o=!1),o})),o?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=t(n).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return i.helper[0]},e.target=this.instance.currentItem[0],this.instance._mouseCapture(e,!0),this.instance._mouseStart(e,!0,!0),this.instance.offset.click.top=s.offset.click.top,this.instance.offset.click.left=s.offset.click.left,this.instance.offset.parent.left-=s.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=s.offset.parent.top-this.instance.offset.parent.top,s._trigger("toSortable",e),s.dropped=this.instance.element,s.currentItem=s.element,this.instance.fromOutside=s),this.instance.currentItem&&this.instance._mouseDrag(e)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",e,this.instance._uiHash(this.instance)),this.instance._mouseStop(e,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),s._trigger("fromSortable",e),s.dropped=!1)})}}),t.ui.plugin.add("draggable","cursor",{start:function(){var e=t("body"),i=t(this).data("ui-draggable").options;e.css("cursor")&&(i._cursor=e.css("cursor")),e.css("cursor",i.cursor)},stop:function(){var e=t(this).data("ui-draggable").options;e._cursor&&t("body").css("cursor",e._cursor)}}),t.ui.plugin.add("draggable","opacity",{start:function(e,i){var s=t(i.helper),n=t(this).data("ui-draggable").options;s.css("opacity")&&(n._opacity=s.css("opacity")),s.css("opacity",n.opacity)},stop:function(e,i){var s=t(this).data("ui-draggable").options;s._opacity&&t(i.helper).css("opacity",s._opacity)}}),t.ui.plugin.add("draggable","scroll",{start:function(){var e=t(this).data("ui-draggable");e.scrollParent[0]!==document&&"HTML"!==e.scrollParent[0].tagName&&(e.overflowOffset=e.scrollParent.offset())},drag:function(e){var i=t(this).data("ui-draggable"),s=i.options,n=!1;i.scrollParent[0]!==document&&"HTML"!==i.scrollParent[0].tagName?(s.axis&&"x"===s.axis||(i.overflowOffset.top+i.scrollParent[0].offsetHeight-e.pageY=0;u--)r=p.snapElements[u].left,h=r+p.snapElements[u].width,l=p.snapElements[u].top,c=l+p.snapElements[u].height,r-g>v||m>h+g||l-g>b||_>c+g||!t.contains(p.snapElements[u].item.ownerDocument,p.snapElements[u].item)?(p.snapElements[u].snapping&&p.options.snap.release&&p.options.snap.release.call(p.element,e,t.extend(p._uiHash(),{snapItem:p.snapElements[u].item})),p.snapElements[u].snapping=!1):("inner"!==f.snapMode&&(s=g>=Math.abs(l-b),n=g>=Math.abs(c-_),o=g>=Math.abs(r-v),a=g>=Math.abs(h-m),s&&(i.position.top=p._convertPositionTo("relative",{top:l-p.helperProportions.height,left:0}).top-p.margins.top),n&&(i.position.top=p._convertPositionTo("relative",{top:c,left:0}).top-p.margins.top),o&&(i.position.left=p._convertPositionTo("relative",{top:0,left:r-p.helperProportions.width}).left-p.margins.left),a&&(i.position.left=p._convertPositionTo("relative",{top:0,left:h}).left-p.margins.left)),d=s||n||o||a,"outer"!==f.snapMode&&(s=g>=Math.abs(l-_),n=g>=Math.abs(c-b),o=g>=Math.abs(r-m),a=g>=Math.abs(h-v),s&&(i.position.top=p._convertPositionTo("relative",{top:l,left:0}).top-p.margins.top),n&&(i.position.top=p._convertPositionTo("relative",{top:c-p.helperProportions.height,left:0}).top-p.margins.top),o&&(i.position.left=p._convertPositionTo("relative",{top:0,left:r}).left-p.margins.left),a&&(i.position.left=p._convertPositionTo("relative",{top:0,left:h-p.helperProportions.width}).left-p.margins.left)),!p.snapElements[u].snapping&&(s||n||o||a||d)&&p.options.snap.snap&&p.options.snap.snap.call(p.element,e,t.extend(p._uiHash(),{snapItem:p.snapElements[u].item})),p.snapElements[u].snapping=s||n||o||a||d)}}),t.ui.plugin.add("draggable","stack",{start:function(){var e,i=this.data("ui-draggable").options,s=t.makeArray(t(i.stack)).sort(function(e,i){return(parseInt(t(e).css("zIndex"),10)||0)-(parseInt(t(i).css("zIndex"),10)||0)});s.length&&(e=parseInt(t(s[0]).css("zIndex"),10)||0,t(s).each(function(i){t(this).css("zIndex",e+i)}),this.css("zIndex",e+s.length))}}),t.ui.plugin.add("draggable","zIndex",{start:function(e,i){var s=t(i.helper),n=t(this).data("ui-draggable").options;s.css("zIndex")&&(n._zIndex=s.css("zIndex")),s.css("zIndex",n.zIndex)},stop:function(e,i){var s=t(this).data("ui-draggable").options;s._zIndex&&t(i.helper).css("zIndex",s._zIndex)}})}(jQuery),function(t){function e(t,e,i){return t>e&&e+i>t}t.widget("ui.droppable",{version:"1.10.3",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var e=this.options,i=e.accept;this.isover=!1,this.isout=!0,this.accept=t.isFunction(i)?i:function(t){return t.is(i) +},this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight},t.ui.ddmanager.droppables[e.scope]=t.ui.ddmanager.droppables[e.scope]||[],t.ui.ddmanager.droppables[e.scope].push(this),e.addClasses&&this.element.addClass("ui-droppable")},_destroy:function(){for(var e=0,i=t.ui.ddmanager.droppables[this.options.scope];i.length>e;e++)i[e]===this&&i.splice(e,1);this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(e,i){"accept"===e&&(this.accept=t.isFunction(i)?i:function(t){return t.is(i)}),t.Widget.prototype._setOption.apply(this,arguments)},_activate:function(e){var i=t.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),i&&this._trigger("activate",e,this.ui(i))},_deactivate:function(e){var i=t.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),i&&this._trigger("deactivate",e,this.ui(i))},_over:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",e,this.ui(i)))},_out:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",e,this.ui(i)))},_drop:function(e,i){var s=i||t.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var e=t.data(this,"ui-droppable");return e.options.greedy&&!e.options.disabled&&e.options.scope===s.options.scope&&e.accept.call(e.element[0],s.currentItem||s.element)&&t.ui.intersect(s,t.extend(e,{offset:e.element.offset()}),e.options.tolerance)?(n=!0,!1):undefined}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",e,this.ui(s)),this.element):!1):!1},ui:function(t){return{draggable:t.currentItem||t.element,helper:t.helper,position:t.position,offset:t.positionAbs}}}),t.ui.intersect=function(t,i,s){if(!i.offset)return!1;var n,o,a=(t.positionAbs||t.position.absolute).left,r=a+t.helperProportions.width,h=(t.positionAbs||t.position.absolute).top,l=h+t.helperProportions.height,c=i.offset.left,u=c+i.proportions.width,d=i.offset.top,p=d+i.proportions.height;switch(s){case"fit":return a>=c&&u>=r&&h>=d&&p>=l;case"intersect":return a+t.helperProportions.width/2>c&&u>r-t.helperProportions.width/2&&h+t.helperProportions.height/2>d&&p>l-t.helperProportions.height/2;case"pointer":return n=(t.positionAbs||t.position.absolute).left+(t.clickOffset||t.offset.click).left,o=(t.positionAbs||t.position.absolute).top+(t.clickOffset||t.offset.click).top,e(o,d,i.proportions.height)&&e(n,c,i.proportions.width);case"touch":return(h>=d&&p>=h||l>=d&&p>=l||d>h&&l>p)&&(a>=c&&u>=a||r>=c&&u>=r||c>a&&r>u);default:return!1}},t.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(e,i){var s,n,o=t.ui.ddmanager.droppables[e.options.scope]||[],a=i?i.type:null,r=(e.currentItem||e.element).find(":data(ui-droppable)").addBack();t:for(s=0;o.length>s;s++)if(!(o[s].options.disabled||e&&!o[s].accept.call(o[s].element[0],e.currentItem||e.element))){for(n=0;r.length>n;n++)if(r[n]===o[s].element[0]){o[s].proportions.height=0;continue t}o[s].visible="none"!==o[s].element.css("display"),o[s].visible&&("mousedown"===a&&o[s]._activate.call(o[s],i),o[s].offset=o[s].element.offset(),o[s].proportions={width:o[s].element[0].offsetWidth,height:o[s].element[0].offsetHeight})}},drop:function(e,i){var s=!1;return t.each((t.ui.ddmanager.droppables[e.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&t.ui.intersect(e,this,this.options.tolerance)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],e.currentItem||e.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(e,i){e.element.parentsUntil("body").bind("scroll.droppable",function(){e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)})},drag:function(e,i){e.options.refreshPositions&&t.ui.ddmanager.prepareOffsets(e,i),t.each(t.ui.ddmanager.droppables[e.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,o,a=t.ui.intersect(e,this,this.options.tolerance),r=!a&&this.isover?"isout":a&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,o=this.element.parents(":data(ui-droppable)").filter(function(){return t.data(this,"ui-droppable").options.scope===n}),o.length&&(s=t.data(o[0],"ui-droppable"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(e,i){e.element.parentsUntil("body").unbind("scroll.droppable"),e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)}}}(jQuery),function(t){function e(t){return parseInt(t,10)||0}function i(t){return!isNaN(parseInt(t,10))}t.widget("ui.resizable",t.ui.mouse,{version:"1.10.3",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_create:function(){var e,i,s,n,o,a=this,r=this.options;if(this.element.addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!r.aspectRatio,aspectRatio:r.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:r.helper||r.ghost||r.animate?r.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(t("
").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.data("ui-resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=r.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),e=this.handles.split(","),this.handles={},i=0;e.length>i;i++)s=t.trim(e[i]),o="ui-resizable-"+s,n=t("
"),n.css({zIndex:r.zIndex}),"se"===s&&n.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[s]=".ui-resizable-"+s,this.element.append(n);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String&&(this.handles[i]=t(this.handles[i],this.element).show()),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),t(this.handles[i]).length},this._renderAxis(this.element),this._handles=t(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){a.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),a.axis=n&&n[1]?n[1]:"se")}),r.autoHide&&(this._handles.hide(),t(this.element).addClass("ui-resizable-autohide").mouseenter(function(){r.disabled||(t(this).removeClass("ui-resizable-autohide"),a._handles.show())}).mouseleave(function(){r.disabled||a.resizing||(t(this).addClass("ui-resizable-autohide"),a._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(i){var s,n,o,a=this.options,r=this.element.position(),h=this.element;return this.resizing=!0,/absolute/.test(h.css("position"))?h.css({position:"absolute",top:h.css("top"),left:h.css("left")}):h.is(".ui-draggable")&&h.css({position:"absolute",top:r.top,left:r.left}),this._renderProxy(),s=e(this.helper.css("left")),n=e(this.helper.css("top")),a.containment&&(s+=t(a.containment).scrollLeft()||0,n+=t(a.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:s,top:n},this.size=this._helper?{width:h.outerWidth(),height:h.outerHeight()}:{width:h.width(),height:h.height()},this.originalSize=this._helper?{width:h.outerWidth(),height:h.outerHeight()}:{width:h.width(),height:h.height()},this.originalPosition={left:s,top:n},this.sizeDiff={width:h.outerWidth()-h.width(),height:h.outerHeight()-h.height()},this.originalMousePosition={left:i.pageX,top:i.pageY},this.aspectRatio="number"==typeof a.aspectRatio?a.aspectRatio:this.originalSize.width/this.originalSize.height||1,o=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===o?this.axis+"-resize":o),h.addClass("ui-resizable-resizing"),this._propagate("start",i),!0},_mouseDrag:function(e){var i,s=this.helper,n={},o=this.originalMousePosition,a=this.axis,r=this.position.top,h=this.position.left,l=this.size.width,c=this.size.height,u=e.pageX-o.left||0,d=e.pageY-o.top||0,p=this._change[a];return p?(i=p.apply(this,[e,u,d]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),this.position.top!==r&&(n.top=this.position.top+"px"),this.position.left!==h&&(n.left=this.position.left+"px"),this.size.width!==l&&(n.width=this.size.width+"px"),this.size.height!==c&&(n.height=this.size.height+"px"),s.css(n),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(n)||this._trigger("resize",e,this.ui()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&t.ui.hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null,h=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(t){var e,s,n,o,a,r=this.options;a={minWidth:i(r.minWidth)?r.minWidth:0,maxWidth:i(r.maxWidth)?r.maxWidth:1/0,minHeight:i(r.minHeight)?r.minHeight:0,maxHeight:i(r.maxHeight)?r.maxHeight:1/0},(this._aspectRatio||t)&&(e=a.minHeight*this.aspectRatio,n=a.minWidth/this.aspectRatio,s=a.maxHeight*this.aspectRatio,o=a.maxWidth/this.aspectRatio,e>a.minWidth&&(a.minWidth=e),n>a.minHeight&&(a.minHeight=n),a.maxWidth>s&&(a.maxWidth=s),a.maxHeight>o&&(a.maxHeight=o)),this._vBoundaries=a},_updateCache:function(t){this.offset=this.helper.offset(),i(t.left)&&(this.position.left=t.left),i(t.top)&&(this.position.top=t.top),i(t.height)&&(this.size.height=t.height),i(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,s=this.size,n=this.axis;return i(t.height)?t.width=t.height*this.aspectRatio:i(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===n&&(t.left=e.left+(s.width-t.width),t.top=null),"nw"===n&&(t.top=e.top+(s.height-t.height),t.left=e.left+(s.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,s=this.axis,n=i(t.width)&&e.maxWidth&&e.maxWidtht.width,r=i(t.height)&&e.minHeight&&e.minHeight>t.height,h=this.originalPosition.left+this.originalSize.width,l=this.position.top+this.size.height,c=/sw|nw|w/.test(s),u=/nw|ne|n/.test(s);return a&&(t.width=e.minWidth),r&&(t.height=e.minHeight),n&&(t.width=e.maxWidth),o&&(t.height=e.maxHeight),a&&c&&(t.left=h-e.minWidth),n&&c&&(t.left=h-e.maxWidth),r&&u&&(t.top=l-e.minHeight),o&&u&&(t.top=l-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_proportionallyResize:function(){if(this._proportionallyResizeElements.length){var t,e,i,s,n,o=this.helper||this.element;for(t=0;this._proportionallyResizeElements.length>t;t++){if(n=this._proportionallyResizeElements[t],!this.borderDif)for(this.borderDif=[],i=[n.css("borderTopWidth"),n.css("borderRightWidth"),n.css("borderBottomWidth"),n.css("borderLeftWidth")],s=[n.css("paddingTop"),n.css("paddingRight"),n.css("paddingBottom"),n.css("paddingLeft")],e=0;i.length>e;e++)this.borderDif[e]=(parseInt(i[e],10)||0)+(parseInt(s[e],10)||0);n.css({height:o.height()-this.borderDif[0]-this.borderDif[2]||0,width:o.width()-this.borderDif[1]-this.borderDif[3]||0})}}},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("
"),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).data("ui-resizable"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&t.ui.hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseInt(i.element.css("left"),10)+(i.position.left-i.originalPosition.left)||null,c=parseInt(i.element.css("top"),10)+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseInt(i.element.css("width"),10),height:parseInt(i.element.css("height"),10),top:parseInt(i.element.css("top"),10),left:parseInt(i.element.css("left"),10)};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var i,s,n,o,a,r,h,l=t(this).data("ui-resizable"),c=l.options,u=l.element,d=c.containment,p=d instanceof t?d.get(0):/parent/.test(d)?u.parent().get(0):d;p&&(l.containerElement=t(p),/document/.test(d)||d===document?(l.containerOffset={left:0,top:0},l.containerPosition={left:0,top:0},l.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(i=t(p),s=[],t(["Top","Right","Left","Bottom"]).each(function(t,n){s[t]=e(i.css("padding"+n))}),l.containerOffset=i.offset(),l.containerPosition=i.position(),l.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},n=l.containerOffset,o=l.containerSize.height,a=l.containerSize.width,r=t.ui.hasScroll(p,"left")?p.scrollWidth:a,h=t.ui.hasScroll(p)?p.scrollHeight:o,l.parentData={element:p,left:n.left,top:n.top,width:r,height:h}))},resize:function(e){var i,s,n,o,a=t(this).data("ui-resizable"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio),a.position.top=a._helper?h.top:0),a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top,i=Math.abs((a._helper?a.offset.left-u.left:a.offset.left-u.left)+a.sizeDiff.width),s=Math.abs((a._helper?a.offset.top-u.top:a.offset.top-h.top)+a.sizeDiff.height),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o&&(i-=a.parentData.left),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio))},stop:function(){var e=t(this).data("ui-resizable"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).data("ui-resizable"),i=e.options,s=function(e){t(e).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseInt(e.width(),10),height:parseInt(e.height(),10),left:parseInt(e.css("left"),10),top:parseInt(e.css("top"),10)})})};"object"!=typeof i.alsoResize||i.alsoResize.parentNode?s(i.alsoResize):i.alsoResize.length?(i.alsoResize=i.alsoResize[0],s(i.alsoResize)):t.each(i.alsoResize,function(t){s(t)})},resize:function(e,i){var s=t(this).data("ui-resizable"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0},h=function(e,s){t(e).each(function(){var e=t(this),n=t(this).data("ui-resizable-alsoresize"),o={},a=s&&s.length?s:e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(a,function(t,e){var i=(n[e]||0)+(r[e]||0);i&&i>=0&&(o[e]=i||null)}),e.css(o)})};"object"!=typeof n.alsoResize||n.alsoResize.nodeType?h(n.alsoResize):t.each(n.alsoResize,function(t,e){h(t,e)})},stop:function(){t(this).removeData("resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).data("ui-resizable"),i=e.options,s=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:s.height,width:s.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof i.ghost?i.ghost:""),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).data("ui-resizable");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).data("ui-resizable");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e=t(this).data("ui-resizable"),i=e.options,s=e.size,n=e.originalSize,o=e.originalPosition,a=e.axis,r="number"==typeof i.grid?[i.grid,i.grid]:i.grid,h=r[0]||1,l=r[1]||1,c=Math.round((s.width-n.width)/h)*h,u=Math.round((s.height-n.height)/l)*l,d=n.width+c,p=n.height+u,f=i.maxWidth&&d>i.maxWidth,g=i.maxHeight&&p>i.maxHeight,m=i.minWidth&&i.minWidth>d,v=i.minHeight&&i.minHeight>p;i.grid=r,m&&(d+=h),v&&(p+=l),f&&(d-=h),g&&(p-=l),/^(se|s|e)$/.test(a)?(e.size.width=d,e.size.height=p):/^(ne)$/.test(a)?(e.size.width=d,e.size.height=p,e.position.top=o.top-u):/^(sw)$/.test(a)?(e.size.width=d,e.size.height=p,e.position.left=o.left-c):(e.size.width=d,e.size.height=p,e.position.top=o.top-u,e.position.left=o.left-c)}})}(jQuery),function(t){t.widget("ui.selectable",t.ui.mouse,{version:"1.10.3",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var e,i=this;this.element.addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){e=t(i.options.filter,i.element[0]),e.addClass("ui-selectee"),e.each(function(){var e=t(this),i=e.offset();t.data(this,"selectable-item",{element:this,$element:e,left:i.left,top:i.top,right:i.left+e.outerWidth(),bottom:i.top+e.outerHeight(),startselected:!1,selected:e.hasClass("ui-selected"),selecting:e.hasClass("ui-selecting"),unselecting:e.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=e.addClass("ui-selectee"),this._mouseInit(),this.helper=t("
")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(e){var i=this,s=this.options;this.opos=[e.pageX,e.pageY],this.options.disabled||(this.selectees=t(s.filter,this.element[0]),this._trigger("start",e),t(s.appendTo).append(this.helper),this.helper.css({left:e.pageX,top:e.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=t.data(this,"selectable-item");s.startselected=!0,e.metaKey||e.ctrlKey||(s.$element.removeClass("ui-selected"),s.selected=!1,s.$element.addClass("ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",e,{unselecting:s.element}))}),t(e.target).parents().addBack().each(function(){var s,n=t.data(this,"selectable-item");return n?(s=!e.metaKey&&!e.ctrlKey||!n.$element.hasClass("ui-selected"),n.$element.removeClass(s?"ui-unselecting":"ui-selected").addClass(s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",e,{selecting:n.element}):i._trigger("unselecting",e,{unselecting:n.element}),!1):undefined}))},_mouseDrag:function(e){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,o=this.opos[0],a=this.opos[1],r=e.pageX,h=e.pageY;return o>r&&(i=r,r=o,o=i),a>h&&(i=h,h=a,a=i),this.helper.css({left:o,top:a,width:r-o,height:h-a}),this.selectees.each(function(){var i=t.data(this,"selectable-item"),l=!1;i&&i.element!==s.element[0]&&("touch"===n.tolerance?l=!(i.left>r||o>i.right||i.top>h||a>i.bottom):"fit"===n.tolerance&&(l=i.left>o&&r>i.right&&i.top>a&&h>i.bottom),l?(i.selected&&(i.$element.removeClass("ui-selected"),i.selected=!1),i.unselecting&&(i.$element.removeClass("ui-unselecting"),i.unselecting=!1),i.selecting||(i.$element.addClass("ui-selecting"),i.selecting=!0,s._trigger("selecting",e,{selecting:i.element}))):(i.selecting&&((e.metaKey||e.ctrlKey)&&i.startselected?(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.$element.addClass("ui-selected"),i.selected=!0):(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.startselected&&(i.$element.addClass("ui-unselecting"),i.unselecting=!0),s._trigger("unselecting",e,{unselecting:i.element}))),i.selected&&(e.metaKey||e.ctrlKey||i.startselected||(i.$element.removeClass("ui-selected"),i.selected=!1,i.$element.addClass("ui-unselecting"),i.unselecting=!0,s._trigger("unselecting",e,{unselecting:i.element})))))}),!1}},_mouseStop:function(e){var i=this;return this.dragged=!1,t(".ui-unselecting",this.element[0]).each(function(){var s=t.data(this,"selectable-item");s.$element.removeClass("ui-unselecting"),s.unselecting=!1,s.startselected=!1,i._trigger("unselected",e,{unselected:s.element})}),t(".ui-selecting",this.element[0]).each(function(){var s=t.data(this,"selectable-item");s.$element.removeClass("ui-selecting").addClass("ui-selected"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger("selected",e,{selected:s.element})}),this._trigger("stop",e),this.helper.remove(),!1}})}(jQuery),function(t){function e(t,e,i){return t>e&&e+i>t}function i(t){return/left|right/.test(t.css("float"))||/inline|table-cell/.test(t.css("display"))}t.widget("ui.sortable",t.ui.mouse,{version:"1.10.3",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_create:function(){var t=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?"x"===t.axis||i(this.items[0].item):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var t=this.items.length-1;t>=0;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_setOption:function(e,i){"disabled"===e?(this.options[e]=i,this.widget().toggleClass("ui-sortable-disabled",!!i)):t.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(e,i){var s=null,n=!1,o=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(e),t(e.target).parents().each(function(){return t.data(this,o.widgetName+"-item")===o?(s=t(this),!1):undefined}),t.data(e.target,o.widgetName+"-item")===o&&(s=t(e.target)),s?!this.options.handle||i||(t(this.options.handle,s).find("*").addBack().each(function(){this===e.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(e,i,s){var n,o,a=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(e),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,a.cursorAt&&this._adjustOffsetFromHelper(a.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),a.containment&&this._setContainment(),a.cursor&&"auto"!==a.cursor&&(o=this.document.find("body"),this.storedCursor=o.css("cursor"),o.css("cursor",a.cursor),this.storedStylesheet=t("").appendTo(o)),a.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",a.opacity)),a.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",a.zIndex)),this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",e,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",e,this._uiHash(this));return t.ui.ddmanager&&(t.ui.ddmanager.current=this),t.ui.ddmanager&&!a.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(e),!0},_mouseDrag:function(e){var i,s,n,o,a=this.options,r=!1;for(this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-e.pageY=0;i--)if(s=this.items[i],n=s.item[0],o=this._intersectsWithPointer(s),o&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===o?"next":"prev"]()[0]!==n&&!t.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!t.contains(this.element[0],n):!0)){if(this.direction=1===o?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break; +this._rearrange(e,s),this._trigger("change",e,this._uiHash());break}return this._contactContainers(e),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),this._trigger("sort",e,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(e,i){if(e){if(t.ui.ddmanager&&!this.options.dropBehaviour&&t.ui.ddmanager.drop(this,e),this.options.revert){var s=this,n=this.placeholder.offset(),o=this.options.axis,a={};o&&"x"!==o||(a.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollLeft)),o&&"y"!==o||(a.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,t(this.helper).animate(a,parseInt(this.options.revert,10)||500,function(){s._clear(e)})}else this._clear(e,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("deactivate",null,this._uiHash(this)),this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",null,this._uiHash(this)),this.containers[e].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),t.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?t(this.domPosition.prev).after(this.currentItem):t(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},t(i).each(function(){var i=(t(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);i&&s.push((e.key||i[1]+"[]")+"="+(e.key&&e.expression?i[1]:i[2]))}),!s.length&&e.key&&s.push(e.key+"="),s.join("&")},toArray:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},i.each(function(){s.push(t(e.item||this).attr(e.attribute||"id")||"")}),s},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,o=t.left,a=o+t.width,r=t.top,h=r+t.height,l=this.offset.click.top,c=this.offset.click.left,u="x"===this.options.axis||s+l>r&&h>s+l,d="y"===this.options.axis||e+c>o&&a>e+c,p=u&&d;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>t[this.floating?"width":"height"]?p:e+this.helperProportions.width/2>o&&a>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&h>n-this.helperProportions.height/2},_intersectsWithPointer:function(t){var i="x"===this.options.axis||e(this.positionAbs.top+this.offset.click.top,t.top,t.height),s="y"===this.options.axis||e(this.positionAbs.left+this.offset.click.left,t.left,t.width),n=i&&s,o=this._getDragVerticalDirection(),a=this._getDragHorizontalDirection();return n?this.floating?a&&"right"===a||"down"===o?2:1:o&&("down"===o?2:1):!1},_intersectsWithSides:function(t){var i=e(this.positionAbs.top+this.offset.click.top,t.top+t.height/2,t.height),s=e(this.positionAbs.left+this.offset.click.left,t.left+t.width/2,t.width),n=this._getDragVerticalDirection(),o=this._getDragHorizontalDirection();return this.floating&&o?"right"===o&&s||"left"===o&&!s:n&&("down"===n&&i||"up"===n&&!i)},_getDragVerticalDirection:function(){var t=this.positionAbs.top-this.lastPositionAbs.top;return 0!==t&&(t>0?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!==t&&(t>0?"right":"left")},refresh:function(t){return this._refreshItems(t),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(e){var i,s,n,o,a=[],r=[],h=this._connectWith();if(h&&e)for(i=h.length-1;i>=0;i--)for(n=t(h[i]),s=n.length-1;s>=0;s--)o=t.data(n[s],this.widgetFullName),o&&o!==this&&!o.options.disabled&&r.push([t.isFunction(o.options.items)?o.options.items.call(o.element):t(o.options.items,o.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),o]);for(r.push([t.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):t(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),i=r.length-1;i>=0;i--)r[i][0].each(function(){a.push(this)});return t(a)},_removeCurrentsFromItems:function(){var e=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=t.grep(this.items,function(t){for(var i=0;e.length>i;i++)if(e[i]===t.item[0])return!1;return!0})},_refreshItems:function(e){this.items=[],this.containers=[this];var i,s,n,o,a,r,h,l,c=this.items,u=[[t.isFunction(this.options.items)?this.options.items.call(this.element[0],e,{item:this.currentItem}):t(this.options.items,this.element),this]],d=this._connectWith();if(d&&this.ready)for(i=d.length-1;i>=0;i--)for(n=t(d[i]),s=n.length-1;s>=0;s--)o=t.data(n[s],this.widgetFullName),o&&o!==this&&!o.options.disabled&&(u.push([t.isFunction(o.options.items)?o.options.items.call(o.element[0],e,{item:this.currentItem}):t(o.options.items,o.element),o]),this.containers.push(o));for(i=u.length-1;i>=0;i--)for(a=u[i][1],r=u[i][0],s=0,l=r.length;l>s;s++)h=t(r[s]),h.data(this.widgetName+"-item",a),c.push({item:h,instance:a,width:0,height:0,left:0,top:0})},refreshPositions:function(e){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,o;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?t(this.options.toleranceElement,s.item):s.item,e||(s.width=n.outerWidth(),s.height=n.outerHeight()),o=n.offset(),s.left=o.left,s.top=o.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)o=this.containers[i].element.offset(),this.containers[i].containerCache.left=o.left,this.containers[i].containerCache.top=o.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(e){e=e||this;var i,s=e.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=e.currentItem[0].nodeName.toLowerCase(),n=t("<"+s+">",e.document[0]).addClass(i||e.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tr"===s?e.currentItem.children().each(function(){t(" ",e.document[0]).attr("colspan",t(this).attr("colspan")||1).appendTo(n)}):"img"===s&&n.attr("src",e.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(t,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10)))}}),e.placeholder=t(s.placeholder.element.call(e.element,e.currentItem)),e.currentItem.after(e.placeholder),s.placeholder.update(e,e.placeholder)},_contactContainers:function(s){var n,o,a,r,h,l,c,u,d,p,f=null,g=null;for(n=this.containers.length-1;n>=0;n--)if(!t.contains(this.currentItem[0],this.containers[n].element[0]))if(this._intersectsWith(this.containers[n].containerCache)){if(f&&t.contains(this.containers[n].element[0],f.element[0]))continue;f=this.containers[n],g=n}else this.containers[n].containerCache.over&&(this.containers[n]._trigger("out",s,this._uiHash(this)),this.containers[n].containerCache.over=0);if(f)if(1===this.containers.length)this.containers[g].containerCache.over||(this.containers[g]._trigger("over",s,this._uiHash(this)),this.containers[g].containerCache.over=1);else{for(a=1e4,r=null,p=f.floating||i(this.currentItem),h=p?"left":"top",l=p?"width":"height",c=this.positionAbs[h]+this.offset.click[h],o=this.items.length-1;o>=0;o--)t.contains(this.containers[g].element[0],this.items[o].item[0])&&this.items[o].item[0]!==this.currentItem[0]&&(!p||e(this.positionAbs.top+this.offset.click.top,this.items[o].top,this.items[o].height))&&(u=this.items[o].item.offset()[h],d=!1,Math.abs(u-c)>Math.abs(u+this.items[o][l]-c)&&(d=!0,u+=this.items[o][l]),a>Math.abs(u-c)&&(a=Math.abs(u-c),r=this.items[o],this.direction=d?"up":"down"));if(!r&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[g])return;r?this._rearrange(s,r,null,!0):this._rearrange(s,null,this.containers[g].element,!0),this._trigger("change",s,this._uiHash()),this.containers[g]._trigger("change",s,this._uiHash(this)),this.currentContainer=this.containers[g],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[g]._trigger("over",s,this._uiHash(this)),this.containers[g].containerCache.over=1}},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper)?t(i.helper.apply(this.element[0],[e,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||t("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var e=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&t.ui.ie)&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var t=this.currentItem.position();return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options;"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,t("document"===n.containment?document:window).width()-this.helperProportions.width-this.margins.left,(t("document"===n.containment?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(e=t(n.containment)[0],i=t(n.containment).offset(),s="hidden"!==t(e).css("overflow"),this.containment=[i.left+(parseInt(t(e).css("borderLeftWidth"),10)||0)+(parseInt(t(e).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(t(e).css("borderTopWidth"),10)||0)+(parseInt(t(e).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(e.scrollWidth,e.offsetWidth):e.offsetWidth)-(parseInt(t(e).css("borderLeftWidth"),10)||0)-(parseInt(t(e).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(e.scrollHeight,e.offsetHeight):e.offsetHeight)-(parseInt(t(e).css("borderTopWidth"),10)||0)-(parseInt(t(e).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(e,i){i||(i=this.position);var s="absolute"===e?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,o=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():o?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():o?0:n.scrollLeft())*s}},_generatePosition:function(e){var i,s,n=this.options,o=e.pageX,a=e.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==document&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(e.pageX-this.offset.click.leftthis.containment[2]&&(o=this.containment[2]+this.offset.click.left),e.pageY-this.offset.click.top>this.containment[3]&&(a=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((a-this.originalPageY)/n.grid[1])*n.grid[1],a=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((o-this.originalPageX)/n.grid[0])*n.grid[0],o=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:a-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:o-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(t,e,i,s){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(t,e){this.reverting=!1;var i,s=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(i in this._storedCSS)("auto"===this._storedCSS[i]||"static"===this._storedCSS[i])&&(this._storedCSS[i]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!e&&s.push(function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||s.push(function(t){this._trigger("update",t,this._uiHash())}),this!==this.currentContainer&&(e||(s.push(function(t){this._trigger("remove",t,this._uiHash())}),s.push(function(t){return function(e){t._trigger("receive",e,this._uiHash(this))}}.call(this,this.currentContainer)),s.push(function(t){return function(e){t._trigger("update",e,this._uiHash(this))}}.call(this,this.currentContainer)))),i=this.containers.length-1;i>=0;i--)e||s.push(function(t){return function(e){t._trigger("deactivate",e,this._uiHash(this))}}.call(this,this.containers[i])),this.containers[i].containerCache.over&&(s.push(function(t){return function(e){t._trigger("out",e,this._uiHash(this))}}.call(this,this.containers[i])),this.containers[i].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,this.cancelHelperRemoval){if(!e){for(this._trigger("beforeStop",t,this._uiHash()),i=0;s.length>i;i++)s[i].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!1}if(e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null,!e){for(i=0;s.length>i;i++)s[i].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!0},_trigger:function(){t.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(e){var i=e||this;return{helper:i.helper,placeholder:i.placeholder||t([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:e?e.element:null}}})}(jQuery),function(t,e){var i="ui-effects-";t.effects={effect:{}},function(t,e){function i(t,e,i){var s=u[e.type]||{};return null==t?i||!e.def?null:e.def:(t=s.floor?~~t:parseFloat(t),isNaN(t)?e.def:s.mod?(t+s.mod)%s.mod:0>t?0:t>s.max?s.max:t)}function s(i){var s=l(),n=s._rgba=[];return i=i.toLowerCase(),f(h,function(t,o){var a,r=o.re.exec(i),h=r&&o.parse(r),l=o.space||"rgba";return h?(a=s[l](h),s[c[l].cache]=a[c[l].cache],n=s._rgba=a._rgba,!1):e}),n.length?("0,0,0,0"===n.join()&&t.extend(n,o.transparent),s):o[i]}function n(t,e,i){return i=(i+1)%1,1>6*i?t+6*(e-t)*i:1>2*i?e:2>3*i?t+6*(e-t)*(2/3-i):t}var o,a="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",r=/^([\-+])=\s*(\d+\.?\d*)/,h=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[t[1],t[2],t[3],t[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[2.55*t[1],2.55*t[2],2.55*t[3],t[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(t){return[t[1],t[2]/100,t[3]/100,t[4]]}}],l=t.Color=function(e,i,s,n){return new t.Color.fn.parse(e,i,s,n)},c={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},u={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},d=l.support={},p=t("

")[0],f=t.each;p.style.cssText="background-color:rgba(1,1,1,.5)",d.rgba=p.style.backgroundColor.indexOf("rgba")>-1,f(c,function(t,e){e.cache="_"+t,e.props.alpha={idx:3,type:"percent",def:1}}),l.fn=t.extend(l.prototype,{parse:function(n,a,r,h){if(n===e)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=t(n).css(a),a=e);var u=this,d=t.type(n),p=this._rgba=[];return a!==e&&(n=[n,a,r,h],d="array"),"string"===d?this.parse(s(n)||o._default):"array"===d?(f(c.rgba.props,function(t,e){p[e.idx]=i(n[e.idx],e)}),this):"object"===d?(n instanceof l?f(c,function(t,e){n[e.cache]&&(u[e.cache]=n[e.cache].slice())}):f(c,function(e,s){var o=s.cache;f(s.props,function(t,e){if(!u[o]&&s.to){if("alpha"===t||null==n[t])return;u[o]=s.to(u._rgba)}u[o][e.idx]=i(n[t],e,!0)}),u[o]&&0>t.inArray(null,u[o].slice(0,3))&&(u[o][3]=1,s.from&&(u._rgba=s.from(u[o])))}),this):e},is:function(t){var i=l(t),s=!0,n=this;return f(c,function(t,o){var a,r=i[o.cache];return r&&(a=n[o.cache]||o.to&&o.to(n._rgba)||[],f(o.props,function(t,i){return null!=r[i.idx]?s=r[i.idx]===a[i.idx]:e})),s}),s},_space:function(){var t=[],e=this;return f(c,function(i,s){e[s.cache]&&t.push(i)}),t.pop()},transition:function(t,e){var s=l(t),n=s._space(),o=c[n],a=0===this.alpha()?l("transparent"):this,r=a[o.cache]||o.to(a._rgba),h=r.slice();return s=s[o.cache],f(o.props,function(t,n){var o=n.idx,a=r[o],l=s[o],c=u[n.type]||{};null!==l&&(null===a?h[o]=l:(c.mod&&(l-a>c.mod/2?a+=c.mod:a-l>c.mod/2&&(a-=c.mod)),h[o]=i((l-a)*e+a,n)))}),this[n](h)},blend:function(e){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=l(e)._rgba;return l(t.map(i,function(t,e){return(1-s)*n[e]+s*t}))},toRgbaString:function(){var e="rgba(",i=t.map(this._rgba,function(t,e){return null==t?e>2?1:0:t});return 1===i[3]&&(i.pop(),e="rgb("),e+i.join()+")"},toHslaString:function(){var e="hsla(",i=t.map(this.hsla(),function(t,e){return null==t&&(t=e>2?1:0),e&&3>e&&(t=Math.round(100*t)+"%"),t});return 1===i[3]&&(i.pop(),e="hsl("),e+i.join()+")"},toHexString:function(e){var i=this._rgba.slice(),s=i.pop();return e&&i.push(~~(255*s)),"#"+t.map(i,function(t){return t=(t||0).toString(16),1===t.length?"0"+t:t}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),l.fn.parse.prototype=l.fn,c.hsla.to=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e,i,s=t[0]/255,n=t[1]/255,o=t[2]/255,a=t[3],r=Math.max(s,n,o),h=Math.min(s,n,o),l=r-h,c=r+h,u=.5*c;return e=h===r?0:s===r?60*(n-o)/l+360:n===r?60*(o-s)/l+120:60*(s-n)/l+240,i=0===l?0:.5>=u?l/c:l/(2-c),[Math.round(e)%360,i,u,null==a?1:a]},c.hsla.from=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/360,i=t[1],s=t[2],o=t[3],a=.5>=s?s*(1+i):s+i-s*i,r=2*s-a;return[Math.round(255*n(r,a,e+1/3)),Math.round(255*n(r,a,e)),Math.round(255*n(r,a,e-1/3)),o]},f(c,function(s,n){var o=n.props,a=n.cache,h=n.to,c=n.from;l.fn[s]=function(s){if(h&&!this[a]&&(this[a]=h(this._rgba)),s===e)return this[a].slice();var n,r=t.type(s),u="array"===r||"object"===r?s:arguments,d=this[a].slice();return f(o,function(t,e){var s=u["object"===r?t:e.idx];null==s&&(s=d[e.idx]),d[e.idx]=i(s,e)}),c?(n=l(c(d)),n[a]=d,n):l(d)},f(o,function(e,i){l.fn[e]||(l.fn[e]=function(n){var o,a=t.type(n),h="alpha"===e?this._hsla?"hsla":"rgba":s,l=this[h](),c=l[i.idx];return"undefined"===a?c:("function"===a&&(n=n.call(this,c),a=t.type(n)),null==n&&i.empty?this:("string"===a&&(o=r.exec(n),o&&(n=c+parseFloat(o[2])*("+"===o[1]?1:-1))),l[i.idx]=n,this[h](l)))})})}),l.hook=function(e){var i=e.split(" ");f(i,function(e,i){t.cssHooks[i]={set:function(e,n){var o,a,r="";if("transparent"!==n&&("string"!==t.type(n)||(o=s(n)))){if(n=l(o||n),!d.rgba&&1!==n._rgba[3]){for(a="backgroundColor"===i?e.parentNode:e;(""===r||"transparent"===r)&&a&&a.style;)try{r=t.css(a,"backgroundColor"),a=a.parentNode}catch(h){}n=n.blend(r&&"transparent"!==r?r:"_default")}n=n.toRgbaString()}try{e.style[i]=n}catch(h){}}},t.fx.step[i]=function(e){e.colorInit||(e.start=l(e.elem,i),e.end=l(e.end),e.colorInit=!0),t.cssHooks[i].set(e.elem,e.start.transition(e.end,e.pos))}})},l.hook(a),t.cssHooks.borderColor={expand:function(t){var e={};return f(["Top","Right","Bottom","Left"],function(i,s){e["border"+s+"Color"]=t}),e}},o=t.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(jQuery),function(){function i(e){var i,s,n=e.ownerDocument.defaultView?e.ownerDocument.defaultView.getComputedStyle(e,null):e.currentStyle,o={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],"string"==typeof n[i]&&(o[t.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(o[i]=n[i]);return o}function s(e,i){var s,n,a={};for(s in i)n=i[s],e[s]!==n&&(o[s]||(t.fx.step[s]||!isNaN(parseFloat(n)))&&(a[s]=n));return a}var n=["add","remove","toggle"],o={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};t.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(e,i){t.fx.step[i]=function(t){("none"!==t.end&&!t.setAttr||1===t.pos&&!t.setAttr)&&(jQuery.style(t.elem,i,t.end),t.setAttr=!0)}}),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.effects.animateClass=function(e,o,a,r){var h=t.speed(o,a,r);return this.queue(function(){var o,a=t(this),r=a.attr("class")||"",l=h.children?a.find("*").addBack():a;l=l.map(function(){var e=t(this);return{el:e,start:i(this)}}),o=function(){t.each(n,function(t,i){e[i]&&a[i+"Class"](e[i])})},o(),l=l.map(function(){return this.end=i(this.el[0]),this.diff=s(this.start,this.end),this}),a.attr("class",r),l=l.map(function(){var e=this,i=t.Deferred(),s=t.extend({},h,{queue:!1,complete:function(){i.resolve(e)}});return this.el.animate(this.diff,s),i.promise()}),t.when.apply(t,l.get()).done(function(){o(),t.each(arguments,function(){var e=this.el;t.each(this.diff,function(t){e.css(t,"")})}),h.complete.call(a[0])})})},t.fn.extend({addClass:function(e){return function(i,s,n,o){return s?t.effects.animateClass.call(this,{add:i},s,n,o):e.apply(this,arguments)}}(t.fn.addClass),removeClass:function(e){return function(i,s,n,o){return arguments.length>1?t.effects.animateClass.call(this,{remove:i},s,n,o):e.apply(this,arguments)}}(t.fn.removeClass),toggleClass:function(i){return function(s,n,o,a,r){return"boolean"==typeof n||n===e?o?t.effects.animateClass.call(this,n?{add:s}:{remove:s},o,a,r):i.apply(this,arguments):t.effects.animateClass.call(this,{toggle:s},n,o,a)}}(t.fn.toggleClass),switchClass:function(e,i,s,n,o){return t.effects.animateClass.call(this,{add:i,remove:e},s,n,o)}})}(),function(){function s(e,i,s,n){return t.isPlainObject(e)&&(i=e,e=e.effect),e={effect:e},null==i&&(i={}),t.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||t.fx.speeds[i])&&(n=s,s=i,i={}),t.isFunction(s)&&(n=s,s=null),i&&t.extend(e,i),s=s||i.duration,e.duration=t.fx.off?0:"number"==typeof s?s:s in t.fx.speeds?t.fx.speeds[s]:t.fx.speeds._default,e.complete=n||i.complete,e}function n(e){return!e||"number"==typeof e||t.fx.speeds[e]?!0:"string"!=typeof e||t.effects.effect[e]?t.isFunction(e)?!0:"object"!=typeof e||e.effect?!1:!0:!0}t.extend(t.effects,{version:"1.10.3",save:function(t,e){for(var s=0;e.length>s;s++)null!==e[s]&&t.data(i+e[s],t[0].style[e[s]])},restore:function(t,s){var n,o;for(o=0;s.length>o;o++)null!==s[o]&&(n=t.data(i+s[o]),n===e&&(n=""),t.css(s[o],n))},setMode:function(t,e){return"toggle"===e&&(e=t.is(":hidden")?"show":"hide"),e},getBaseline:function(t,e){var i,s;switch(t[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=t[0]/e.height}switch(t[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=t[1]/e.width}return{x:s,y:i}},createWrapper:function(e){if(e.parent().is(".ui-effects-wrapper"))return e.parent();var i={width:e.outerWidth(!0),height:e.outerHeight(!0),"float":e.css("float")},s=t("

").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:e.width(),height:e.height()},o=document.activeElement;try{o.id}catch(a){o=document.body}return e.wrap(s),(e[0]===o||t.contains(e[0],o))&&t(o).focus(),s=e.parent(),"static"===e.css("position")?(s.css({position:"relative"}),e.css({position:"relative"})):(t.extend(i,{position:e.css("position"),zIndex:e.css("z-index")}),t.each(["top","left","bottom","right"],function(t,s){i[s]=e.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),e.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),e.css(n),s.css(i).show()},removeWrapper:function(e){var i=document.activeElement;return e.parent().is(".ui-effects-wrapper")&&(e.parent().replaceWith(e),(e[0]===i||t.contains(e[0],i))&&t(i).focus()),e},setTransition:function(e,i,s,n){return n=n||{},t.each(i,function(t,i){var o=e.cssUnit(i);o[0]>0&&(n[i]=o[0]*s+o[1])}),n}}),t.fn.extend({effect:function(){function e(e){function s(){t.isFunction(o)&&o.call(n[0]),t.isFunction(e)&&e()}var n=t(this),o=i.complete,r=i.mode;(n.is(":hidden")?"hide"===r:"show"===r)?(n[r](),s()):a.call(n[0],i,s)}var i=s.apply(this,arguments),n=i.mode,o=i.queue,a=t.effects.effect[i.effect];return t.fx.off||!a?n?this[n](i.duration,i.complete):this.each(function(){i.complete&&i.complete.call(this)}):o===!1?this.each(e):this.queue(o||"fx",e)},show:function(t){return function(e){if(n(e))return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="show",this.effect.call(this,i)}}(t.fn.show),hide:function(t){return function(e){if(n(e))return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="hide",this.effect.call(this,i)}}(t.fn.hide),toggle:function(t){return function(e){if(n(e)||"boolean"==typeof e)return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="toggle",this.effect.call(this,i)}}(t.fn.toggle),cssUnit:function(e){var i=this.css(e),s=[];return t.each(["em","px","%","pt"],function(t,e){i.indexOf(e)>0&&(s=[parseFloat(i),e])}),s}})}(),function(){var e={};t.each(["Quad","Cubic","Quart","Quint","Expo"],function(t,i){e[i]=function(e){return Math.pow(e,t+2)}}),t.extend(e,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;((e=Math.pow(2,--i))-1)/11>t;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),t.each(e,function(e,i){t.easing["easeIn"+e]=i,t.easing["easeOut"+e]=function(t){return 1-i(1-t)},t.easing["easeInOut"+e]=function(t){return.5>t?i(2*t)/2:1-i(-2*t+2)/2}})}()}(jQuery),function(t){var e=0,i={},s={};i.height=i.paddingTop=i.paddingBottom=i.borderTopWidth=i.borderBottomWidth="hide",s.height=s.paddingTop=s.paddingBottom=s.borderTopWidth=s.borderBottomWidth="show",t.widget("ui.accordion",{version:"1.10.3",options:{active:0,animate:{},collapsible:!1,event:"click",header:"> li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},_create:function(){var e=this.options;this.prevShow=this.prevHide=t(),this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist"),e.collapsible||e.active!==!1&&null!=e.active||(e.active=0),this._processPanels(),0>e.active&&(e.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():t(),content:this.active.length?this.active.next():t()}},_createIcons:function(){var e=this.options.icons;e&&(t("").addClass("ui-accordion-header-icon ui-icon "+e.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(e.header).addClass(e.activeHeader),this.headers.addClass("ui-accordion-icons")) +},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){return"active"===t?(this._activate(e),undefined):("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||this.options.active!==!1||this._activate(0),"icons"===t&&(this._destroyIcons(),e&&this._createIcons()),"disabled"===t&&this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!e),undefined)},_keydown:function(e){if(!e.altKey&&!e.ctrlKey){var i=t.ui.keyCode,s=this.headers.length,n=this.headers.index(e.target),o=!1;switch(e.keyCode){case i.RIGHT:case i.DOWN:o=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:o=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(e);break;case i.HOME:o=this.headers[0];break;case i.END:o=this.headers[s-1]}o&&(t(e.target).attr("tabIndex",-1),t(o).attr("tabIndex",0),o.focus(),e.preventDefault())}},_panelKeyDown:function(e){e.keyCode===t.ui.keyCode.UP&&e.ctrlKey&&t(e.currentTarget).prev().focus()},refresh:function(){var e=this.options;this._processPanels(),e.active===!1&&e.collapsible===!0||!this.headers.length?(e.active=!1,this.active=t()):e.active===!1?this._activate(0):this.active.length&&!t.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(e.active=!1,this.active=t()):this._activate(Math.max(0,e.active-1)):e.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all"),this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide()},_refresh:function(){var i,s=this.options,n=s.heightStyle,o=this.element.parent(),a=this.accordionId="ui-accordion-"+(this.element.attr("id")||++e);this.active=this._findActive(s.active).addClass("ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all"),this.active.next().addClass("ui-accordion-content-active").show(),this.headers.attr("role","tab").each(function(e){var i=t(this),s=i.attr("id"),n=i.next(),o=n.attr("id");s||(s=a+"-header-"+e,i.attr("id",s)),o||(o=a+"-panel-"+e,n.attr("id",o)),i.attr("aria-controls",o),n.attr("aria-labelledby",s)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false",tabIndex:-1}).next().attr({"aria-expanded":"false","aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true",tabIndex:0}).next().attr({"aria-expanded":"true","aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(s.event),"fill"===n?(i=o.height(),this.element.siblings(":visible").each(function(){var e=t(this),s=e.css("position");"absolute"!==s&&"fixed"!==s&&(i-=e.outerHeight(!0))}),this.headers.each(function(){i-=t(this).outerHeight(!0)}),this.headers.next().each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===n&&(i=0,this.headers.next().each(function(){i=Math.max(i,t(this).css("height","").height())}).height(i))},_activate:function(e){var i=this._findActive(e)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return"number"==typeof e?this.headers.eq(e):t()},_setupEvents:function(e){var i={keydown:"_keydown"};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget),o=n[0]===s[0],a=o&&i.collapsible,r=a?t():n.next(),h=s.next(),l={oldHeader:s,oldPanel:h,newHeader:a?t():n,newPanel:r};e.preventDefault(),o&&!i.collapsible||this._trigger("beforeActivate",e,l)===!1||(i.active=a?!1:this.headers.index(n),this.active=o?t():n,this._toggle(l),s.removeClass("ui-accordion-header-active ui-state-active"),i.icons&&s.children(".ui-accordion-header-icon").removeClass(i.icons.activeHeader).addClass(i.icons.header),o||(n.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),i.icons&&n.children(".ui-accordion-header-icon").removeClass(i.icons.header).addClass(i.icons.activeHeader),n.next().addClass("ui-accordion-content-active")))},_toggle:function(e){var i=e.newPanel,s=this.prevShow.length?this.prevShow:e.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,e):(s.hide(),i.show(),this._toggleComplete(e)),s.attr({"aria-expanded":"false","aria-hidden":"true"}),s.prev().attr("aria-selected","false"),i.length&&s.length?s.prev().attr("tabIndex",-1):i.length&&this.headers.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),i.attr({"aria-expanded":"true","aria-hidden":"false"}).prev().attr({"aria-selected":"true",tabIndex:0})},_animate:function(t,e,n){var o,a,r,h=this,l=0,c=t.length&&(!e.length||t.index()",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},pending:0,_create:function(){var e,i,s,n=this.element[0].nodeName.toLowerCase(),o="textarea"===n,a="input"===n;this.isMultiLine=o?!0:a?!1:this.element.prop("isContentEditable"),this.valueMethod=this.element[o||a?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return e=!0,s=!0,i=!0,undefined;e=!1,s=!1,i=!1;var o=t.ui.keyCode;switch(n.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",n);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case o.UP:e=!0,this._keyEvent("previous",n);break;case o.DOWN:e=!0,this._keyEvent("next",n);break;case o.ENTER:case o.NUMPAD_ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case o.TAB:this.menu.active&&this.menu.select(n);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(e)return e=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),undefined;if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(t){return s?(s=!1,t.preventDefault(),undefined):(this._searchTimeout(t),undefined)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,undefined):(clearTimeout(this.searching),this.close(t),this._change(t),undefined)}}),this._initSource(),this.menu=t("
    ").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({role:null}).hide().data("ui-menu"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var i=this.menu.element[0];t(e.target).closest(".ui-menu-item").length||this._delay(function(){var e=this;this.document.one("mousedown",function(s){s.target===e.element[0]||s.target===i||t.contains(i,s.target)||e.close()})})},menufocus:function(e,i){if(this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type)))return this.menu.blur(),this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)}),undefined;var s=i.item.data("ui-autocomplete-item");!1!==this._trigger("focus",e,{item:s})?e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(s.value):this.liveRegion.text(s.value)},menuselect:function(t,e){var i=e.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",t,{item:i})&&this._value(i.value),this.term=this._value(),this.close(t),this.selectedItem=i}}),this.liveRegion=t("",{role:"status","aria-live":"polite"}).addClass("ui-helper-hidden-accessible").insertBefore(this.element),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e||(e=this.element.closest(".ui-front")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,s=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,s){s(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,n){s.xhr&&s.xhr.abort(),s.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){n(t)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){this.term!==this._value()&&(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length").append(t("").text(i.label)).appendTo(e)},_move:function(t,e){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this._value(this.term),this.menu.blur(),undefined):(this.menu[t](e),undefined):(this.search(null,e),undefined)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(t,e),e.preventDefault())}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var s=RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return s.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(t){var e;this._superApply(arguments),this.options.disabled||this.cancelSearch||(e=t&&t.length?this.options.messages.results(t.length):this.options.messages.noResults,this.liveRegion.text(e))}})}(jQuery),function(t){var e,i,s,n,o="ui-button ui-widget ui-state-default ui-corner-all",a="ui-state-hover ui-state-active ",r="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",h=function(){var e=t(this);setTimeout(function(){e.find(":ui-button").button("refresh")},1)},l=function(e){var i=e.name,s=e.form,n=t([]);return i&&(i=i.replace(/'/g,"\\'"),n=s?t(s).find("[name='"+i+"']"):t("[name='"+i+"']",e.ownerDocument).filter(function(){return!this.form})),n};t.widget("ui.button",{version:"1.10.3",defaultElement:"").addClass(this._triggerClass).html(o?t("").attr({src:o,alt:n,title:n}):n)),e[r?"before":"after"](i.trigger),i.trigger.click(function(){return t.datepicker._datepickerShowing&&t.datepicker._lastInput===e[0]?t.datepicker._hideDatepicker():t.datepicker._datepickerShowing&&t.datepicker._lastInput!==e[0]?(t.datepicker._hideDatepicker(),t.datepicker._showDatepicker(e[0])):t.datepicker._showDatepicker(e[0]),!1}))},_autoSize:function(t){if(this._get(t,"autoSize")&&!t.inline){var e,i,s,n,o=new Date(2009,11,20),a=this._get(t,"dateFormat");a.match(/[DM]/)&&(e=function(t){for(i=0,s=0,n=0;t.length>n;n++)t[n].length>i&&(i=t[n].length,s=n);return s},o.setMonth(e(this._get(t,a.match(/MM/)?"monthNames":"monthNamesShort"))),o.setDate(e(this._get(t,a.match(/DD/)?"dayNames":"dayNamesShort"))+20-o.getDay())),t.input.attr("size",this._formatDate(t,o).length)}},_inlineDatepicker:function(e,i){var s=t(e);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),t.data(e,a,i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(e),i.dpDiv.css("display","block"))},_dialogDatepicker:function(e,i,s,o,r){var h,l,c,u,d,p=this._dialogInst;return p||(this.uuid+=1,h="dp"+this.uuid,this._dialogInput=t(""),this._dialogInput.keydown(this._doKeyDown),t("body").append(this._dialogInput),p=this._dialogInst=this._newInst(this._dialogInput,!1),p.settings={},t.data(this._dialogInput[0],a,p)),n(p.settings,o||{}),i=i&&i.constructor===Date?this._formatDate(p,i):i,this._dialogInput.val(i),this._pos=r?r.length?r:[r.pageX,r.pageY]:null,this._pos||(l=document.documentElement.clientWidth,c=document.documentElement.clientHeight,u=document.documentElement.scrollLeft||document.body.scrollLeft,d=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[l/2-100+u,c/2-150+d]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),p.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),t.blockUI&&t.blockUI(this.dpDiv),t.data(this._dialogInput[0],a,p),this},_destroyDatepicker:function(e){var i,s=t(e),n=t.data(e,a);s.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),t.removeData(e,a),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):("div"===i||"span"===i)&&s.removeClass(this.markerClassName).empty())},_enableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,a);n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!1,o.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}))},_disableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,a);n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!0,o.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}),this._disabledInputs[this._disabledInputs.length]=e)},_isDisabledDatepicker:function(t){if(!t)return!1;for(var e=0;this._disabledInputs.length>e;e++)if(this._disabledInputs[e]===t)return!0;return!1},_getInst:function(e){try{return t.data(e,a)}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(i,s,o){var a,r,h,l,c=this._getInst(i);return 2===arguments.length&&"string"==typeof s?"defaults"===s?t.extend({},t.datepicker._defaults):c?"all"===s?t.extend({},c.settings):this._get(c,s):null:(a=s||{},"string"==typeof s&&(a={},a[s]=o),c&&(this._curInst===c&&this._hideDatepicker(),r=this._getDateDatepicker(i,!0),h=this._getMinMaxDate(c,"min"),l=this._getMinMaxDate(c,"max"),n(c.settings,a),null!==h&&a.dateFormat!==e&&a.minDate===e&&(c.settings.minDate=this._formatDate(c,h)),null!==l&&a.dateFormat!==e&&a.maxDate===e&&(c.settings.maxDate=this._formatDate(c,l)),"disabled"in a&&(a.disabled?this._disableDatepicker(i):this._enableDatepicker(i)),this._attachments(t(i),c),this._autoSize(c),this._setDate(c,r),this._updateAlternate(c),this._updateDatepicker(c)),e)},_changeDatepicker:function(t,e,i){this._optionDatepicker(t,e,i)},_refreshDatepicker:function(t){var e=this._getInst(t);e&&this._updateDatepicker(e)},_setDateDatepicker:function(t,e){var i=this._getInst(t);i&&(this._setDate(i,e),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(t,e){var i=this._getInst(t);return i&&!i.inline&&this._setDateFromField(i,e),i?this._getDate(i):null},_doKeyDown:function(e){var i,s,n,o=t.datepicker._getInst(e.target),a=!0,r=o.dpDiv.is(".ui-datepicker-rtl");if(o._keyEvent=!0,t.datepicker._datepickerShowing)switch(e.keyCode){case 9:t.datepicker._hideDatepicker(),a=!1;break;case 13:return n=t("td."+t.datepicker._dayOverClass+":not(."+t.datepicker._currentClass+")",o.dpDiv),n[0]&&t.datepicker._selectDay(e.target,o.selectedMonth,o.selectedYear,n[0]),i=t.datepicker._get(o,"onSelect"),i?(s=t.datepicker._formatDate(o),i.apply(o.input?o.input[0]:null,[s,o])):t.datepicker._hideDatepicker(),!1; +case 27:t.datepicker._hideDatepicker();break;case 33:t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(o,"stepBigMonths"):-t.datepicker._get(o,"stepMonths"),"M");break;case 34:t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(o,"stepBigMonths"):+t.datepicker._get(o,"stepMonths"),"M");break;case 35:(e.ctrlKey||e.metaKey)&&t.datepicker._clearDate(e.target),a=e.ctrlKey||e.metaKey;break;case 36:(e.ctrlKey||e.metaKey)&&t.datepicker._gotoToday(e.target),a=e.ctrlKey||e.metaKey;break;case 37:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,r?1:-1,"D"),a=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(o,"stepBigMonths"):-t.datepicker._get(o,"stepMonths"),"M");break;case 38:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,-7,"D"),a=e.ctrlKey||e.metaKey;break;case 39:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,r?-1:1,"D"),a=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(o,"stepBigMonths"):+t.datepicker._get(o,"stepMonths"),"M");break;case 40:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,7,"D"),a=e.ctrlKey||e.metaKey;break;default:a=!1}else 36===e.keyCode&&e.ctrlKey?t.datepicker._showDatepicker(this):a=!1;a&&(e.preventDefault(),e.stopPropagation())},_doKeyPress:function(i){var s,n,o=t.datepicker._getInst(i.target);return t.datepicker._get(o,"constrainInput")?(s=t.datepicker._possibleChars(t.datepicker._get(o,"dateFormat")),n=String.fromCharCode(null==i.charCode?i.keyCode:i.charCode),i.ctrlKey||i.metaKey||" ">n||!s||s.indexOf(n)>-1):e},_doKeyUp:function(e){var i,s=t.datepicker._getInst(e.target);if(s.input.val()!==s.lastVal)try{i=t.datepicker.parseDate(t.datepicker._get(s,"dateFormat"),s.input?s.input.val():null,t.datepicker._getFormatConfig(s)),i&&(t.datepicker._setDateFromField(s),t.datepicker._updateAlternate(s),t.datepicker._updateDatepicker(s))}catch(n){}return!0},_showDatepicker:function(e){if(e=e.target||e,"input"!==e.nodeName.toLowerCase()&&(e=t("input",e.parentNode)[0]),!t.datepicker._isDisabledDatepicker(e)&&t.datepicker._lastInput!==e){var i,s,o,a,r,h,l;i=t.datepicker._getInst(e),t.datepicker._curInst&&t.datepicker._curInst!==i&&(t.datepicker._curInst.dpDiv.stop(!0,!0),i&&t.datepicker._datepickerShowing&&t.datepicker._hideDatepicker(t.datepicker._curInst.input[0])),s=t.datepicker._get(i,"beforeShow"),o=s?s.apply(e,[e,i]):{},o!==!1&&(n(i.settings,o),i.lastVal=null,t.datepicker._lastInput=e,t.datepicker._setDateFromField(i),t.datepicker._inDialog&&(e.value=""),t.datepicker._pos||(t.datepicker._pos=t.datepicker._findPos(e),t.datepicker._pos[1]+=e.offsetHeight),a=!1,t(e).parents().each(function(){return a|="fixed"===t(this).css("position"),!a}),r={left:t.datepicker._pos[0],top:t.datepicker._pos[1]},t.datepicker._pos=null,i.dpDiv.empty(),i.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),t.datepicker._updateDatepicker(i),r=t.datepicker._checkOffset(i,r,a),i.dpDiv.css({position:t.datepicker._inDialog&&t.blockUI?"static":a?"fixed":"absolute",display:"none",left:r.left+"px",top:r.top+"px"}),i.inline||(h=t.datepicker._get(i,"showAnim"),l=t.datepicker._get(i,"duration"),i.dpDiv.zIndex(t(e).zIndex()+1),t.datepicker._datepickerShowing=!0,t.effects&&t.effects.effect[h]?i.dpDiv.show(h,t.datepicker._get(i,"showOptions"),l):i.dpDiv[h||"show"](h?l:null),t.datepicker._shouldFocusInput(i)&&i.input.focus(),t.datepicker._curInst=i))}},_updateDatepicker:function(e){this.maxRows=4,o=e,e.dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e),e.dpDiv.find("."+this._dayOverClass+" a").mouseover();var i,s=this._getNumberOfMonths(e),n=s[1],a=17;e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),n>1&&e.dpDiv.addClass("ui-datepicker-multi-"+n).css("width",a*n+"em"),e.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),e.dpDiv[(this._get(e,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),e===t.datepicker._curInst&&t.datepicker._datepickerShowing&&t.datepicker._shouldFocusInput(e)&&e.input.focus(),e.yearshtml&&(i=e.yearshtml,setTimeout(function(){i===e.yearshtml&&e.yearshtml&&e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),i=e.yearshtml=null},0))},_shouldFocusInput:function(t){return t.input&&t.input.is(":visible")&&!t.input.is(":disabled")&&!t.input.is(":focus")},_checkOffset:function(e,i,s){var n=e.dpDiv.outerWidth(),o=e.dpDiv.outerHeight(),a=e.input?e.input.outerWidth():0,r=e.input?e.input.outerHeight():0,h=document.documentElement.clientWidth+(s?0:t(document).scrollLeft()),l=document.documentElement.clientHeight+(s?0:t(document).scrollTop());return i.left-=this._get(e,"isRTL")?n-a:0,i.left-=s&&i.left===e.input.offset().left?t(document).scrollLeft():0,i.top-=s&&i.top===e.input.offset().top+r?t(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>h&&h>n?Math.abs(i.left+n-h):0),i.top-=Math.min(i.top,i.top+o>l&&l>o?Math.abs(o+r):0),i},_findPos:function(e){for(var i,s=this._getInst(e),n=this._get(s,"isRTL");e&&("hidden"===e.type||1!==e.nodeType||t.expr.filters.hidden(e));)e=e[n?"previousSibling":"nextSibling"];return i=t(e).offset(),[i.left,i.top]},_hideDatepicker:function(e){var i,s,n,o,r=this._curInst;!r||e&&r!==t.data(e,a)||this._datepickerShowing&&(i=this._get(r,"showAnim"),s=this._get(r,"duration"),n=function(){t.datepicker._tidyDialog(r)},t.effects&&(t.effects.effect[i]||t.effects[i])?r.dpDiv.hide(i,t.datepicker._get(r,"showOptions"),s,n):r.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,o=this._get(r,"onClose"),o&&o.apply(r.input?r.input[0]:null,[r.input?r.input.val():"",r]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),t.blockUI&&(t.unblockUI(),t("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(t){t.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(e){if(t.datepicker._curInst){var i=t(e.target),s=t.datepicker._getInst(i[0]);(i[0].id!==t.datepicker._mainDivId&&0===i.parents("#"+t.datepicker._mainDivId).length&&!i.hasClass(t.datepicker.markerClassName)&&!i.closest("."+t.datepicker._triggerClass).length&&t.datepicker._datepickerShowing&&(!t.datepicker._inDialog||!t.blockUI)||i.hasClass(t.datepicker.markerClassName)&&t.datepicker._curInst!==s)&&t.datepicker._hideDatepicker()}},_adjustDate:function(e,i,s){var n=t(e),o=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(o,i+("M"===s?this._get(o,"showCurrentAtPos"):0),s),this._updateDatepicker(o))},_gotoToday:function(e){var i,s=t(e),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(e,i,s){var n=t(e),o=this._getInst(n[0]);o["selected"+("M"===s?"Month":"Year")]=o["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(o),this._adjustDate(n)},_selectDay:function(e,i,s,n){var o,a=t(e);t(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(a[0])||(o=this._getInst(a[0]),o.selectedDay=o.currentDay=t("a",n).html(),o.selectedMonth=o.currentMonth=i,o.selectedYear=o.currentYear=s,this._selectDate(e,this._formatDate(o,o.currentDay,o.currentMonth,o.currentYear)))},_clearDate:function(e){var i=t(e);this._selectDate(i,"")},_selectDate:function(e,i){var s,n=t(e),o=this._getInst(n[0]);i=null!=i?i:this._formatDate(o),o.input&&o.input.val(i),this._updateAlternate(o),s=this._get(o,"onSelect"),s?s.apply(o.input?o.input[0]:null,[i,o]):o.input&&o.input.trigger("change"),o.inline?this._updateDatepicker(o):(this._hideDatepicker(),this._lastInput=o.input[0],"object"!=typeof o.input[0]&&o.input.focus(),this._lastInput=null)},_updateAlternate:function(e){var i,s,n,o=this._get(e,"altField");o&&(i=this._get(e,"altFormat")||this._get(e,"dateFormat"),s=this._getDate(e),n=this.formatDate(i,s,this._getFormatConfig(e)),t(o).each(function(){t(this).val(n)}))},noWeekends:function(t){var e=t.getDay();return[e>0&&6>e,""]},iso8601Week:function(t){var e,i=new Date(t.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),e=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((e-i)/864e5)/7)+1},parseDate:function(i,s,n){if(null==i||null==s)throw"Invalid arguments";if(s="object"==typeof s?""+s:s+"",""===s)return null;var o,a,r,h,l=0,c=(n?n.shortYearCutoff:null)||this._defaults.shortYearCutoff,u="string"!=typeof c?c:(new Date).getFullYear()%100+parseInt(c,10),d=(n?n.dayNamesShort:null)||this._defaults.dayNamesShort,p=(n?n.dayNames:null)||this._defaults.dayNames,f=(n?n.monthNamesShort:null)||this._defaults.monthNamesShort,g=(n?n.monthNames:null)||this._defaults.monthNames,m=-1,v=-1,_=-1,b=-1,y=!1,w=function(t){var e=i.length>o+1&&i.charAt(o+1)===t;return e&&o++,e},k=function(t){var e=w(t),i="@"===t?14:"!"===t?20:"y"===t&&e?4:"o"===t?3:2,n=RegExp("^\\d{1,"+i+"}"),o=s.substring(l).match(n);if(!o)throw"Missing number at position "+l;return l+=o[0].length,parseInt(o[0],10)},x=function(i,n,o){var a=-1,r=t.map(w(i)?o:n,function(t,e){return[[e,t]]}).sort(function(t,e){return-(t[1].length-e[1].length)});if(t.each(r,function(t,i){var n=i[1];return s.substr(l,n.length).toLowerCase()===n.toLowerCase()?(a=i[0],l+=n.length,!1):e}),-1!==a)return a+1;throw"Unknown name at position "+l},D=function(){if(s.charAt(l)!==i.charAt(o))throw"Unexpected literal at position "+l;l++};for(o=0;i.length>o;o++)if(y)"'"!==i.charAt(o)||w("'")?D():y=!1;else switch(i.charAt(o)){case"d":_=k("d");break;case"D":x("D",d,p);break;case"o":b=k("o");break;case"m":v=k("m");break;case"M":v=x("M",f,g);break;case"y":m=k("y");break;case"@":h=new Date(k("@")),m=h.getFullYear(),v=h.getMonth()+1,_=h.getDate();break;case"!":h=new Date((k("!")-this._ticksTo1970)/1e4),m=h.getFullYear(),v=h.getMonth()+1,_=h.getDate();break;case"'":w("'")?D():y=!0;break;default:D()}if(s.length>l&&(r=s.substr(l),!/^\s+/.test(r)))throw"Extra/unparsed characters found in date: "+r;if(-1===m?m=(new Date).getFullYear():100>m&&(m+=(new Date).getFullYear()-(new Date).getFullYear()%100+(u>=m?0:-100)),b>-1)for(v=1,_=b;;){if(a=this._getDaysInMonth(m,v-1),a>=_)break;v++,_-=a}if(h=this._daylightSavingAdjust(new Date(m,v-1,_)),h.getFullYear()!==m||h.getMonth()+1!==v||h.getDate()!==_)throw"Invalid date";return h},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(t,e,i){if(!e)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,o=(i?i.dayNames:null)||this._defaults.dayNames,a=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,r=(i?i.monthNames:null)||this._defaults.monthNames,h=function(e){var i=t.length>s+1&&t.charAt(s+1)===e;return i&&s++,i},l=function(t,e,i){var s=""+e;if(h(t))for(;i>s.length;)s="0"+s;return s},c=function(t,e,i,s){return h(t)?s[e]:i[e]},u="",d=!1;if(e)for(s=0;t.length>s;s++)if(d)"'"!==t.charAt(s)||h("'")?u+=t.charAt(s):d=!1;else switch(t.charAt(s)){case"d":u+=l("d",e.getDate(),2);break;case"D":u+=c("D",e.getDay(),n,o);break;case"o":u+=l("o",Math.round((new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()-new Date(e.getFullYear(),0,0).getTime())/864e5),3);break;case"m":u+=l("m",e.getMonth()+1,2);break;case"M":u+=c("M",e.getMonth(),a,r);break;case"y":u+=h("y")?e.getFullYear():(10>e.getYear()%100?"0":"")+e.getYear()%100;break;case"@":u+=e.getTime();break;case"!":u+=1e4*e.getTime()+this._ticksTo1970;break;case"'":h("'")?u+="'":d=!0;break;default:u+=t.charAt(s)}return u},_possibleChars:function(t){var e,i="",s=!1,n=function(i){var s=t.length>e+1&&t.charAt(e+1)===i;return s&&e++,s};for(e=0;t.length>e;e++)if(s)"'"!==t.charAt(e)||n("'")?i+=t.charAt(e):s=!1;else switch(t.charAt(e)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":n("'")?i+="'":s=!0;break;default:i+=t.charAt(e)}return i},_get:function(t,i){return t.settings[i]!==e?t.settings[i]:this._defaults[i]},_setDateFromField:function(t,e){if(t.input.val()!==t.lastVal){var i=this._get(t,"dateFormat"),s=t.lastVal=t.input?t.input.val():null,n=this._getDefaultDate(t),o=n,a=this._getFormatConfig(t);try{o=this.parseDate(i,s,a)||n}catch(r){s=e?"":s}t.selectedDay=o.getDate(),t.drawMonth=t.selectedMonth=o.getMonth(),t.drawYear=t.selectedYear=o.getFullYear(),t.currentDay=s?o.getDate():0,t.currentMonth=s?o.getMonth():0,t.currentYear=s?o.getFullYear():0,this._adjustInstDate(t)}},_getDefaultDate:function(t){return this._restrictMinMax(t,this._determineDate(t,this._get(t,"defaultDate"),new Date))},_determineDate:function(e,i,s){var n=function(t){var e=new Date;return e.setDate(e.getDate()+t),e},o=function(i){try{return t.datepicker.parseDate(t.datepicker._get(e,"dateFormat"),i,t.datepicker._getFormatConfig(e))}catch(s){}for(var n=(i.toLowerCase().match(/^c/)?t.datepicker._getDate(e):null)||new Date,o=n.getFullYear(),a=n.getMonth(),r=n.getDate(),h=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,l=h.exec(i);l;){switch(l[2]||"d"){case"d":case"D":r+=parseInt(l[1],10);break;case"w":case"W":r+=7*parseInt(l[1],10);break;case"m":case"M":a+=parseInt(l[1],10),r=Math.min(r,t.datepicker._getDaysInMonth(o,a));break;case"y":case"Y":o+=parseInt(l[1],10),r=Math.min(r,t.datepicker._getDaysInMonth(o,a))}l=h.exec(i)}return new Date(o,a,r)},a=null==i||""===i?s:"string"==typeof i?o(i):"number"==typeof i?isNaN(i)?s:n(i):new Date(i.getTime());return a=a&&"Invalid Date"==""+a?s:a,a&&(a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)),this._daylightSavingAdjust(a)},_daylightSavingAdjust:function(t){return t?(t.setHours(t.getHours()>12?t.getHours()+2:0),t):null},_setDate:function(t,e,i){var s=!e,n=t.selectedMonth,o=t.selectedYear,a=this._restrictMinMax(t,this._determineDate(t,e,new Date));t.selectedDay=t.currentDay=a.getDate(),t.drawMonth=t.selectedMonth=t.currentMonth=a.getMonth(),t.drawYear=t.selectedYear=t.currentYear=a.getFullYear(),n===t.selectedMonth&&o===t.selectedYear||i||this._notifyChange(t),this._adjustInstDate(t),t.input&&t.input.val(s?"":this._formatDate(t))},_getDate:function(t){var e=!t.currentYear||t.input&&""===t.input.val()?null:this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return e},_attachHandlers:function(e){var i=this._get(e,"stepMonths"),s="#"+e.id.replace(/\\\\/g,"\\");e.dpDiv.find("[data-handler]").map(function(){var e={prev:function(){t.datepicker._adjustDate(s,-i,"M")},next:function(){t.datepicker._adjustDate(s,+i,"M")},hide:function(){t.datepicker._hideDatepicker()},today:function(){t.datepicker._gotoToday(s)},selectDay:function(){return t.datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return t.datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return t.datepicker._selectMonthYear(s,this,"Y"),!1}};t(this).bind(this.getAttribute("data-event"),e[this.getAttribute("data-handler")])})},_generateHTML:function(t){var e,i,s,n,o,a,r,h,l,c,u,d,p,f,g,m,v,_,b,y,w,k,x,D,C,I,P,T,M,S,z,A,H,E,N,W,O,F,R,L=new Date,j=this._daylightSavingAdjust(new Date(L.getFullYear(),L.getMonth(),L.getDate())),Y=this._get(t,"isRTL"),B=this._get(t,"showButtonPanel"),V=this._get(t,"hideIfNoPrevNext"),K=this._get(t,"navigationAsDateFormat"),U=this._getNumberOfMonths(t),q=this._get(t,"showCurrentAtPos"),Q=this._get(t,"stepMonths"),X=1!==U[0]||1!==U[1],$=this._daylightSavingAdjust(t.currentDay?new Date(t.currentYear,t.currentMonth,t.currentDay):new Date(9999,9,9)),G=this._getMinMaxDate(t,"min"),J=this._getMinMaxDate(t,"max"),Z=t.drawMonth-q,te=t.drawYear;if(0>Z&&(Z+=12,te--),J)for(e=this._daylightSavingAdjust(new Date(J.getFullYear(),J.getMonth()-U[0]*U[1]+1,J.getDate())),e=G&&G>e?G:e;this._daylightSavingAdjust(new Date(te,Z,1))>e;)Z--,0>Z&&(Z=11,te--);for(t.drawMonth=Z,t.drawYear=te,i=this._get(t,"prevText"),i=K?this.formatDate(i,this._daylightSavingAdjust(new Date(te,Z-Q,1)),this._getFormatConfig(t)):i,s=this._canAdjustMonth(t,-1,te,Z)?""+i+"":V?"":""+i+"",n=this._get(t,"nextText"),n=K?this.formatDate(n,this._daylightSavingAdjust(new Date(te,Z+Q,1)),this._getFormatConfig(t)):n,o=this._canAdjustMonth(t,1,te,Z)?""+n+"":V?"":""+n+"",a=this._get(t,"currentText"),r=this._get(t,"gotoCurrent")&&t.currentDay?$:j,a=K?this.formatDate(a,r,this._getFormatConfig(t)):a,h=t.inline?"":"",l=B?"
    "+(Y?h:"")+(this._isInRange(t,r)?"":"")+(Y?"":h)+"
    ":"",c=parseInt(this._get(t,"firstDay"),10),c=isNaN(c)?0:c,u=this._get(t,"showWeek"),d=this._get(t,"dayNames"),p=this._get(t,"dayNamesMin"),f=this._get(t,"monthNames"),g=this._get(t,"monthNamesShort"),m=this._get(t,"beforeShowDay"),v=this._get(t,"showOtherMonths"),_=this._get(t,"selectOtherMonths"),b=this._getDefaultDate(t),y="",k=0;U[0]>k;k++){for(x="",this.maxRows=4,D=0;U[1]>D;D++){if(C=this._daylightSavingAdjust(new Date(te,Z,t.selectedDay)),I=" ui-corner-all",P="",X){if(P+="
    "}for(P+="
    "+(/all|left/.test(I)&&0===k?Y?o:s:"")+(/all|right/.test(I)&&0===k?Y?s:o:"")+this._generateMonthYearHeader(t,Z,te,G,J,k>0||D>0,f,g)+"
    "+"",T=u?"":"",w=0;7>w;w++)M=(w+c)%7,T+="=5?" class='ui-datepicker-week-end'":"")+">"+""+p[M]+"";for(P+=T+"",S=this._getDaysInMonth(te,Z),te===t.selectedYear&&Z===t.selectedMonth&&(t.selectedDay=Math.min(t.selectedDay,S)),z=(this._getFirstDayOfMonth(te,Z)-c+7)%7,A=Math.ceil((z+S)/7),H=X?this.maxRows>A?this.maxRows:A:A,this.maxRows=H,E=this._daylightSavingAdjust(new Date(te,Z,1-z)),N=0;H>N;N++){for(P+="",W=u?"":"",w=0;7>w;w++)O=m?m.apply(t.input?t.input[0]:null,[E]):[!0,""],F=E.getMonth()!==Z,R=F&&!_||!O[0]||G&&G>E||J&&E>J,W+="",E.setDate(E.getDate()+1),E=this._daylightSavingAdjust(E);P+=W+""}Z++,Z>11&&(Z=0,te++),P+="
    "+this._get(t,"weekHeader")+"
    "+this._get(t,"calculateWeek")(E)+""+(F&&!v?" ":R?""+E.getDate()+"":""+E.getDate()+"")+"
    "+(X?"
    "+(U[0]>0&&D===U[1]-1?"
    ":""):""),x+=P}y+=x}return y+=l,t._keyEvent=!1,y},_generateMonthYearHeader:function(t,e,i,s,n,o,a,r){var h,l,c,u,d,p,f,g,m=this._get(t,"changeMonth"),v=this._get(t,"changeYear"),_=this._get(t,"showMonthAfterYear"),b="
    ",y="";if(o||!m)y+=""+a[e]+"";else{for(h=s&&s.getFullYear()===i,l=n&&n.getFullYear()===i,y+=""}if(_||(b+=y+(!o&&m&&v?"":" ")),!t.yearshtml)if(t.yearshtml="",o||!v)b+=""+i+"";else{for(u=this._get(t,"yearRange").split(":"),d=(new Date).getFullYear(),p=function(t){var e=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?d+parseInt(t,10):parseInt(t,10);return isNaN(e)?d:e},f=p(u[0]),g=Math.max(f,p(u[1]||"")),f=s?Math.max(f,s.getFullYear()):f,g=n?Math.min(g,n.getFullYear()):g,t.yearshtml+="",b+=t.yearshtml,t.yearshtml=null}return b+=this._get(t,"yearSuffix"),_&&(b+=(!o&&m&&v?"":" ")+y),b+="
    "},_adjustInstDate:function(t,e,i){var s=t.drawYear+("Y"===i?e:0),n=t.drawMonth+("M"===i?e:0),o=Math.min(t.selectedDay,this._getDaysInMonth(s,n))+("D"===i?e:0),a=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(s,n,o)));t.selectedDay=a.getDate(),t.drawMonth=t.selectedMonth=a.getMonth(),t.drawYear=t.selectedYear=a.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),s=this._getMinMaxDate(t,"max"),n=i&&i>e?i:e;return s&&n>s?s:n},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){var e=this._get(t,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,s){var n=this._getNumberOfMonths(t),o=this._daylightSavingAdjust(new Date(i,s+(0>e?e:n[0]*n[1]),1));return 0>e&&o.setDate(this._getDaysInMonth(o.getFullYear(),o.getMonth())),this._isInRange(t,o)},_isInRange:function(t,e){var i,s,n=this._getMinMaxDate(t,"min"),o=this._getMinMaxDate(t,"max"),a=null,r=null,h=this._get(t,"yearRange");return h&&(i=h.split(":"),s=(new Date).getFullYear(),a=parseInt(i[0],10),r=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(a+=s),i[1].match(/[+\-].*/)&&(r+=s)),(!n||e.getTime()>=n.getTime())&&(!o||e.getTime()<=o.getTime())&&(!a||e.getFullYear()>=a)&&(!r||r>=e.getFullYear())},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),{shortYearCutoff:e,dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,s){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);var n=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(s,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),n,this._getFormatConfig(t))}}),t.fn.datepicker=function(e){if(!this.length)return this;t.datepicker.initialized||(t(document).mousedown(t.datepicker._checkExternalClick),t.datepicker.initialized=!0),0===t("#"+t.datepicker._mainDivId).length&&t("body").append(t.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof e?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this].concat(i)):t.datepicker._attachDatepicker(this,e)}):t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i))},t.datepicker=new i,t.datepicker.initialized=!1,t.datepicker.uuid=(new Date).getTime(),t.datepicker.version="1.10.3"}(jQuery),function(t){var e={buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},i={maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0};t.widget("ui.dialog",{version:"1.10.3",options:{appendTo:"body",autoOpen:!0,buttons:[],closeOnEscape:!0,closeText:"close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(e){var i=t(this).css(e).offset().top;0>i&&t(this).css("top",e.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),this.options.title=this.options.title||this.originalTitle,this._createWrapper(),this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(this.uiDialog),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&t.fn.draggable&&this._makeDraggable(),this.options.resizable&&t.fn.resizable&&this._makeResizable(),this._isOpen=!1},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var e=this.options.appendTo;return e&&(e.jquery||e.nodeType)?t(e):this.document.find(e||"body").eq(0)},_destroy:function(){var t,e=this.originalPosition;this._destroyOverlay(),this.element.removeUniqueId().removeClass("ui-dialog-content ui-widget-content").css(this.originalCss).detach(),this.uiDialog.stop(!0,!0).remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),t=e.parent.children().eq(e.index),t.length&&t[0]!==this.element[0]?t.before(this.element):e.parent.append(this.element)},widget:function(){return this.uiDialog},disable:t.noop,enable:t.noop,close:function(e){var i=this;this._isOpen&&this._trigger("beforeClose",e)!==!1&&(this._isOpen=!1,this._destroyOverlay(),this.opener.filter(":focusable").focus().length||t(this.document[0].activeElement).blur(),this._hide(this.uiDialog,this.options.hide,function(){i._trigger("close",e)}))},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(t,e){var i=!!this.uiDialog.nextAll(":visible").insertBefore(this.uiDialog).length;return i&&!e&&this._trigger("focus",t),i},open:function(){var e=this;return this._isOpen?(this._moveToTop()&&this._focusTabbable(),undefined):(this._isOpen=!0,this.opener=t(this.document[0].activeElement),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this._show(this.uiDialog,this.options.show,function(){e._focusTabbable(),e._trigger("focus")}),this._trigger("open"),undefined)},_focusTabbable:function(){var t=this.element.find("[autofocus]");t.length||(t=this.element.find(":tabbable")),t.length||(t=this.uiDialogButtonPane.find(":tabbable")),t.length||(t=this.uiDialogTitlebarClose.filter(":tabbable")),t.length||(t=this.uiDialog),t.eq(0).focus()},_keepFocus:function(e){function i(){var e=this.document[0].activeElement,i=this.uiDialog[0]===e||t.contains(this.uiDialog[0],e);i||this._focusTabbable()}e.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=t("
    ").addClass("ui-dialog ui-widget ui-widget-content ui-corner-all ui-front "+this.options.dialogClass).hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._on(this.uiDialog,{keydown:function(e){if(this.options.closeOnEscape&&!e.isDefaultPrevented()&&e.keyCode&&e.keyCode===t.ui.keyCode.ESCAPE)return e.preventDefault(),this.close(e),undefined;if(e.keyCode===t.ui.keyCode.TAB){var i=this.uiDialog.find(":tabbable"),s=i.filter(":first"),n=i.filter(":last");e.target!==n[0]&&e.target!==this.uiDialog[0]||e.shiftKey?e.target!==s[0]&&e.target!==this.uiDialog[0]||!e.shiftKey||(n.focus(1),e.preventDefault()):(s.focus(1),e.preventDefault())}},mousedown:function(t){this._moveToTop(t)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var e;this.uiDialogTitlebar=t("
    ").addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(this.uiDialog),this._on(this.uiDialogTitlebar,{mousedown:function(e){t(e.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.focus()}}),this.uiDialogTitlebarClose=t("").button({label:this.options.closeText,icons:{primary:"ui-icon-closethick"},text:!1}).addClass("ui-dialog-titlebar-close").appendTo(this.uiDialogTitlebar),this._on(this.uiDialogTitlebarClose,{click:function(t){t.preventDefault(),this.close(t)}}),e=t("").uniqueId().addClass("ui-dialog-title").prependTo(this.uiDialogTitlebar),this._title(e),this.uiDialog.attr({"aria-labelledby":e.attr("id")})},_title:function(t){this.options.title||t.html(" "),t.text(this.options.title)},_createButtonPane:function(){this.uiDialogButtonPane=t("
    ").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),this.uiButtonSet=t("
    ").addClass("ui-dialog-buttonset").appendTo(this.uiDialogButtonPane),this._createButtons()},_createButtons:function(){var e=this,i=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),t.isEmptyObject(i)||t.isArray(i)&&!i.length?(this.uiDialog.removeClass("ui-dialog-buttons"),undefined):(t.each(i,function(i,s){var n,o;s=t.isFunction(s)?{click:s,text:i}:s,s=t.extend({type:"button"},s),n=s.click,s.click=function(){n.apply(e.element[0],arguments)},o={icons:s.icons,text:s.showText},delete s.icons,delete s.showText,t("",s).button(o).appendTo(e.uiButtonSet)}),this.uiDialog.addClass("ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog),undefined)},_makeDraggable:function(){function e(t){return{position:t.position,offset:t.offset}}var i=this,s=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(s,n){t(this).addClass("ui-dialog-dragging"),i._blockFrames(),i._trigger("dragStart",s,e(n))},drag:function(t,s){i._trigger("drag",t,e(s))},stop:function(n,o){s.position=[o.position.left-i.document.scrollLeft(),o.position.top-i.document.scrollTop()],t(this).removeClass("ui-dialog-dragging"),i._unblockFrames(),i._trigger("dragStop",n,e(o))}})},_makeResizable:function(){function e(t){return{originalPosition:t.originalPosition,originalSize:t.originalSize,position:t.position,size:t.size} +}var i=this,s=this.options,n=s.resizable,o=this.uiDialog.css("position"),a="string"==typeof n?n:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:s.maxWidth,maxHeight:s.maxHeight,minWidth:s.minWidth,minHeight:this._minHeight(),handles:a,start:function(s,n){t(this).addClass("ui-dialog-resizing"),i._blockFrames(),i._trigger("resizeStart",s,e(n))},resize:function(t,s){i._trigger("resize",t,e(s))},stop:function(n,o){s.height=t(this).height(),s.width=t(this).width(),t(this).removeClass("ui-dialog-resizing"),i._unblockFrames(),i._trigger("resizeStop",n,e(o))}}).css("position",o)},_minHeight:function(){var t=this.options;return"auto"===t.height?t.minHeight:Math.min(t.minHeight,t.height)},_position:function(){var t=this.uiDialog.is(":visible");t||this.uiDialog.show(),this.uiDialog.position(this.options.position),t||this.uiDialog.hide()},_setOptions:function(s){var n=this,o=!1,a={};t.each(s,function(t,s){n._setOption(t,s),t in e&&(o=!0),t in i&&(a[t]=s)}),o&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",a)},_setOption:function(t,e){var i,s,n=this.uiDialog;"dialogClass"===t&&n.removeClass(this.options.dialogClass).addClass(e),"disabled"!==t&&(this._super(t,e),"appendTo"===t&&this.uiDialog.appendTo(this._appendTo()),"buttons"===t&&this._createButtons(),"closeText"===t&&this.uiDialogTitlebarClose.button({label:""+e}),"draggable"===t&&(i=n.is(":data(ui-draggable)"),i&&!e&&n.draggable("destroy"),!i&&e&&this._makeDraggable()),"position"===t&&this._position(),"resizable"===t&&(s=n.is(":data(ui-resizable)"),s&&!e&&n.resizable("destroy"),s&&"string"==typeof e&&n.resizable("option","handles",e),s||e===!1||this._makeResizable()),"title"===t&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var t,e,i,s=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),s.minWidth>s.width&&(s.width=s.minWidth),t=this.uiDialog.css({height:"auto",width:s.width}).outerHeight(),e=Math.max(0,s.minHeight-t),i="number"==typeof s.maxHeight?Math.max(0,s.maxHeight-t):"none","auto"===s.height?this.element.css({minHeight:e,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,s.height-t)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var e=t(this);return t("
    ").css({position:"absolute",width:e.outerWidth(),height:e.outerHeight()}).appendTo(e.parent()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(e){return t(e.target).closest(".ui-dialog").length?!0:!!t(e.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var e=this,i=this.widgetFullName;t.ui.dialog.overlayInstances||this._delay(function(){t.ui.dialog.overlayInstances&&this.document.bind("focusin.dialog",function(s){e._allowInteraction(s)||(s.preventDefault(),t(".ui-dialog:visible:last .ui-dialog-content").data(i)._focusTabbable())})}),this.overlay=t("
    ").addClass("ui-widget-overlay ui-front").appendTo(this._appendTo()),this._on(this.overlay,{mousedown:"_keepFocus"}),t.ui.dialog.overlayInstances++}},_destroyOverlay:function(){this.options.modal&&this.overlay&&(t.ui.dialog.overlayInstances--,t.ui.dialog.overlayInstances||this.document.unbind("focusin.dialog"),this.overlay.remove(),this.overlay=null)}}),t.ui.dialog.overlayInstances=0,t.uiBackCompat!==!1&&t.widget("ui.dialog",t.ui.dialog,{_position:function(){var e,i=this.options.position,s=[],n=[0,0];i?(("string"==typeof i||"object"==typeof i&&"0"in i)&&(s=i.split?i.split(" "):[i[0],i[1]],1===s.length&&(s[1]=s[0]),t.each(["left","top"],function(t,e){+s[t]===s[t]&&(n[t]=s[t],s[t]=e)}),i={my:s[0]+(0>n[0]?n[0]:"+"+n[0])+" "+s[1]+(0>n[1]?n[1]:"+"+n[1]),at:s.join(" ")}),i=t.extend({},t.ui.dialog.prototype.options.position,i)):i=t.ui.dialog.prototype.options.position,e=this.uiDialog.is(":visible"),e||this.uiDialog.show(),this.uiDialog.position(i),e||this.uiDialog.hide()}})}(jQuery),function(t){var e=/up|down|vertical/,i=/up|left|vertical|horizontal/;t.effects.effect.blind=function(s,n){var o,a,r,h=t(this),l=["position","top","bottom","left","right","height","width"],c=t.effects.setMode(h,s.mode||"hide"),u=s.direction||"up",d=e.test(u),p=d?"height":"width",f=d?"top":"left",g=i.test(u),m={},v="show"===c;h.parent().is(".ui-effects-wrapper")?t.effects.save(h.parent(),l):t.effects.save(h,l),h.show(),o=t.effects.createWrapper(h).css({overflow:"hidden"}),a=o[p](),r=parseFloat(o.css(f))||0,m[p]=v?a:0,g||(h.css(d?"bottom":"right",0).css(d?"top":"left","auto").css({position:"absolute"}),m[f]=v?r:a+r),v&&(o.css(p,0),g||o.css(f,r+a)),o.animate(m,{duration:s.duration,easing:s.easing,queue:!1,complete:function(){"hide"===c&&h.hide(),t.effects.restore(h,l),t.effects.removeWrapper(h),n()}})}}(jQuery),function(t){t.effects.effect.bounce=function(e,i){var s,n,o,a=t(this),r=["position","top","bottom","left","right","height","width"],h=t.effects.setMode(a,e.mode||"effect"),l="hide"===h,c="show"===h,u=e.direction||"up",d=e.distance,p=e.times||5,f=2*p+(c||l?1:0),g=e.duration/f,m=e.easing,v="up"===u||"down"===u?"top":"left",_="up"===u||"left"===u,b=a.queue(),y=b.length;for((c||l)&&r.push("opacity"),t.effects.save(a,r),a.show(),t.effects.createWrapper(a),d||(d=a["top"===v?"outerHeight":"outerWidth"]()/3),c&&(o={opacity:1},o[v]=0,a.css("opacity",0).css(v,_?2*-d:2*d).animate(o,g,m)),l&&(d/=Math.pow(2,p-1)),o={},o[v]=0,s=0;p>s;s++)n={},n[v]=(_?"-=":"+=")+d,a.animate(n,g,m).animate(o,g,m),d=l?2*d:d/2;l&&(n={opacity:0},n[v]=(_?"-=":"+=")+d,a.animate(n,g,m)),a.queue(function(){l&&a.hide(),t.effects.restore(a,r),t.effects.removeWrapper(a),i()}),y>1&&b.splice.apply(b,[1,0].concat(b.splice(y,f+1))),a.dequeue()}}(jQuery),function(t){t.effects.effect.clip=function(e,i){var s,n,o,a=t(this),r=["position","top","bottom","left","right","height","width"],h=t.effects.setMode(a,e.mode||"hide"),l="show"===h,c=e.direction||"vertical",u="vertical"===c,d=u?"height":"width",p=u?"top":"left",f={};t.effects.save(a,r),a.show(),s=t.effects.createWrapper(a).css({overflow:"hidden"}),n="IMG"===a[0].tagName?s:a,o=n[d](),l&&(n.css(d,0),n.css(p,o/2)),f[d]=l?o:0,f[p]=l?0:o/2,n.animate(f,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){l||a.hide(),t.effects.restore(a,r),t.effects.removeWrapper(a),i()}})}}(jQuery),function(t){t.effects.effect.drop=function(e,i){var s,n=t(this),o=["position","top","bottom","left","right","opacity","height","width"],a=t.effects.setMode(n,e.mode||"hide"),r="show"===a,h=e.direction||"left",l="up"===h||"down"===h?"top":"left",c="up"===h||"left"===h?"pos":"neg",u={opacity:r?1:0};t.effects.save(n,o),n.show(),t.effects.createWrapper(n),s=e.distance||n["top"===l?"outerHeight":"outerWidth"](!0)/2,r&&n.css("opacity",0).css(l,"pos"===c?-s:s),u[l]=(r?"pos"===c?"+=":"-=":"pos"===c?"-=":"+=")+s,n.animate(u,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){"hide"===a&&n.hide(),t.effects.restore(n,o),t.effects.removeWrapper(n),i()}})}}(jQuery),function(t){t.effects.effect.explode=function(e,i){function s(){b.push(this),b.length===u*d&&n()}function n(){p.css({visibility:"visible"}),t(b).remove(),g||p.hide(),i()}var o,a,r,h,l,c,u=e.pieces?Math.round(Math.sqrt(e.pieces)):3,d=u,p=t(this),f=t.effects.setMode(p,e.mode||"hide"),g="show"===f,m=p.show().css("visibility","hidden").offset(),v=Math.ceil(p.outerWidth()/d),_=Math.ceil(p.outerHeight()/u),b=[];for(o=0;u>o;o++)for(h=m.top+o*_,c=o-(u-1)/2,a=0;d>a;a++)r=m.left+a*v,l=a-(d-1)/2,p.clone().appendTo("body").wrap("
    ").css({position:"absolute",visibility:"visible",left:-a*v,top:-o*_}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:v,height:_,left:r+(g?l*v:0),top:h+(g?c*_:0),opacity:g?0:1}).animate({left:r+(g?0:l*v),top:h+(g?0:c*_),opacity:g?1:0},e.duration||500,e.easing,s)}}(jQuery),function(t){t.effects.effect.fade=function(e,i){var s=t(this),n=t.effects.setMode(s,e.mode||"toggle");s.animate({opacity:n},{queue:!1,duration:e.duration,easing:e.easing,complete:i})}}(jQuery),function(t){t.effects.effect.fold=function(e,i){var s,n,o=t(this),a=["position","top","bottom","left","right","height","width"],r=t.effects.setMode(o,e.mode||"hide"),h="show"===r,l="hide"===r,c=e.size||15,u=/([0-9]+)%/.exec(c),d=!!e.horizFirst,p=h!==d,f=p?["width","height"]:["height","width"],g=e.duration/2,m={},v={};t.effects.save(o,a),o.show(),s=t.effects.createWrapper(o).css({overflow:"hidden"}),n=p?[s.width(),s.height()]:[s.height(),s.width()],u&&(c=parseInt(u[1],10)/100*n[l?0:1]),h&&s.css(d?{height:0,width:c}:{height:c,width:0}),m[f[0]]=h?n[0]:c,v[f[1]]=h?n[1]:0,s.animate(m,g,e.easing).animate(v,g,e.easing,function(){l&&o.hide(),t.effects.restore(o,a),t.effects.removeWrapper(o),i()})}}(jQuery),function(t){t.effects.effect.highlight=function(e,i){var s=t(this),n=["backgroundImage","backgroundColor","opacity"],o=t.effects.setMode(s,e.mode||"show"),a={backgroundColor:s.css("backgroundColor")};"hide"===o&&(a.opacity=0),t.effects.save(s,n),s.show().css({backgroundImage:"none",backgroundColor:e.color||"#ffff99"}).animate(a,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){"hide"===o&&s.hide(),t.effects.restore(s,n),i()}})}}(jQuery),function(t){t.effects.effect.pulsate=function(e,i){var s,n=t(this),o=t.effects.setMode(n,e.mode||"show"),a="show"===o,r="hide"===o,h=a||"hide"===o,l=2*(e.times||5)+(h?1:0),c=e.duration/l,u=0,d=n.queue(),p=d.length;for((a||!n.is(":visible"))&&(n.css("opacity",0).show(),u=1),s=1;l>s;s++)n.animate({opacity:u},c,e.easing),u=1-u;n.animate({opacity:u},c,e.easing),n.queue(function(){r&&n.hide(),i()}),p>1&&d.splice.apply(d,[1,0].concat(d.splice(p,l+1))),n.dequeue()}}(jQuery),function(t){t.effects.effect.puff=function(e,i){var s=t(this),n=t.effects.setMode(s,e.mode||"hide"),o="hide"===n,a=parseInt(e.percent,10)||150,r=a/100,h={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()};t.extend(e,{effect:"scale",queue:!1,fade:!0,mode:n,complete:i,percent:o?a:100,from:o?h:{height:h.height*r,width:h.width*r,outerHeight:h.outerHeight*r,outerWidth:h.outerWidth*r}}),s.effect(e)},t.effects.effect.scale=function(e,i){var s=t(this),n=t.extend(!0,{},e),o=t.effects.setMode(s,e.mode||"effect"),a=parseInt(e.percent,10)||(0===parseInt(e.percent,10)?0:"hide"===o?0:100),r=e.direction||"both",h=e.origin,l={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()},c={y:"horizontal"!==r?a/100:1,x:"vertical"!==r?a/100:1};n.effect="size",n.queue=!1,n.complete=i,"effect"!==o&&(n.origin=h||["middle","center"],n.restore=!0),n.from=e.from||("show"===o?{height:0,width:0,outerHeight:0,outerWidth:0}:l),n.to={height:l.height*c.y,width:l.width*c.x,outerHeight:l.outerHeight*c.y,outerWidth:l.outerWidth*c.x},n.fade&&("show"===o&&(n.from.opacity=0,n.to.opacity=1),"hide"===o&&(n.from.opacity=1,n.to.opacity=0)),s.effect(n)},t.effects.effect.size=function(e,i){var s,n,o,a=t(this),r=["position","top","bottom","left","right","width","height","overflow","opacity"],h=["position","top","bottom","left","right","overflow","opacity"],l=["width","height","overflow"],c=["fontSize"],u=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],d=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],p=t.effects.setMode(a,e.mode||"effect"),f=e.restore||"effect"!==p,g=e.scale||"both",m=e.origin||["middle","center"],v=a.css("position"),_=f?r:h,b={height:0,width:0,outerHeight:0,outerWidth:0};"show"===p&&a.show(),s={height:a.height(),width:a.width(),outerHeight:a.outerHeight(),outerWidth:a.outerWidth()},"toggle"===e.mode&&"show"===p?(a.from=e.to||b,a.to=e.from||s):(a.from=e.from||("show"===p?b:s),a.to=e.to||("hide"===p?b:s)),o={from:{y:a.from.height/s.height,x:a.from.width/s.width},to:{y:a.to.height/s.height,x:a.to.width/s.width}},("box"===g||"both"===g)&&(o.from.y!==o.to.y&&(_=_.concat(u),a.from=t.effects.setTransition(a,u,o.from.y,a.from),a.to=t.effects.setTransition(a,u,o.to.y,a.to)),o.from.x!==o.to.x&&(_=_.concat(d),a.from=t.effects.setTransition(a,d,o.from.x,a.from),a.to=t.effects.setTransition(a,d,o.to.x,a.to))),("content"===g||"both"===g)&&o.from.y!==o.to.y&&(_=_.concat(c).concat(l),a.from=t.effects.setTransition(a,c,o.from.y,a.from),a.to=t.effects.setTransition(a,c,o.to.y,a.to)),t.effects.save(a,_),a.show(),t.effects.createWrapper(a),a.css("overflow","hidden").css(a.from),m&&(n=t.effects.getBaseline(m,s),a.from.top=(s.outerHeight-a.outerHeight())*n.y,a.from.left=(s.outerWidth-a.outerWidth())*n.x,a.to.top=(s.outerHeight-a.to.outerHeight)*n.y,a.to.left=(s.outerWidth-a.to.outerWidth)*n.x),a.css(a.from),("content"===g||"both"===g)&&(u=u.concat(["marginTop","marginBottom"]).concat(c),d=d.concat(["marginLeft","marginRight"]),l=r.concat(u).concat(d),a.find("*[width]").each(function(){var i=t(this),s={height:i.height(),width:i.width(),outerHeight:i.outerHeight(),outerWidth:i.outerWidth()};f&&t.effects.save(i,l),i.from={height:s.height*o.from.y,width:s.width*o.from.x,outerHeight:s.outerHeight*o.from.y,outerWidth:s.outerWidth*o.from.x},i.to={height:s.height*o.to.y,width:s.width*o.to.x,outerHeight:s.height*o.to.y,outerWidth:s.width*o.to.x},o.from.y!==o.to.y&&(i.from=t.effects.setTransition(i,u,o.from.y,i.from),i.to=t.effects.setTransition(i,u,o.to.y,i.to)),o.from.x!==o.to.x&&(i.from=t.effects.setTransition(i,d,o.from.x,i.from),i.to=t.effects.setTransition(i,d,o.to.x,i.to)),i.css(i.from),i.animate(i.to,e.duration,e.easing,function(){f&&t.effects.restore(i,l)})})),a.animate(a.to,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){0===a.to.opacity&&a.css("opacity",a.from.opacity),"hide"===p&&a.hide(),t.effects.restore(a,_),f||("static"===v?a.css({position:"relative",top:a.to.top,left:a.to.left}):t.each(["top","left"],function(t,e){a.css(e,function(e,i){var s=parseInt(i,10),n=t?a.to.left:a.to.top;return"auto"===i?n+"px":s+n+"px"})})),t.effects.removeWrapper(a),i()}})}}(jQuery),function(t){t.effects.effect.shake=function(e,i){var s,n=t(this),o=["position","top","bottom","left","right","height","width"],a=t.effects.setMode(n,e.mode||"effect"),r=e.direction||"left",h=e.distance||20,l=e.times||3,c=2*l+1,u=Math.round(e.duration/c),d="up"===r||"down"===r?"top":"left",p="up"===r||"left"===r,f={},g={},m={},v=n.queue(),_=v.length;for(t.effects.save(n,o),n.show(),t.effects.createWrapper(n),f[d]=(p?"-=":"+=")+h,g[d]=(p?"+=":"-=")+2*h,m[d]=(p?"-=":"+=")+2*h,n.animate(f,u,e.easing),s=1;l>s;s++)n.animate(g,u,e.easing).animate(m,u,e.easing);n.animate(g,u,e.easing).animate(f,u/2,e.easing).queue(function(){"hide"===a&&n.hide(),t.effects.restore(n,o),t.effects.removeWrapper(n),i()}),_>1&&v.splice.apply(v,[1,0].concat(v.splice(_,c+1))),n.dequeue()}}(jQuery),function(t){t.effects.effect.slide=function(e,i){var s,n=t(this),o=["position","top","bottom","left","right","width","height"],a=t.effects.setMode(n,e.mode||"show"),r="show"===a,h=e.direction||"left",l="up"===h||"down"===h?"top":"left",c="up"===h||"left"===h,u={};t.effects.save(n,o),n.show(),s=e.distance||n["top"===l?"outerHeight":"outerWidth"](!0),t.effects.createWrapper(n).css({overflow:"hidden"}),r&&n.css(l,c?isNaN(s)?"-"+s:-s:s),u[l]=(r?c?"+=":"-=":c?"-=":"+=")+s,n.animate(u,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){"hide"===a&&n.hide(),t.effects.restore(n,o),t.effects.removeWrapper(n),i()}})}}(jQuery),function(t){t.effects.effect.transfer=function(e,i){var s=t(this),n=t(e.to),o="fixed"===n.css("position"),a=t("body"),r=o?a.scrollTop():0,h=o?a.scrollLeft():0,l=n.offset(),c={top:l.top-r,left:l.left-h,height:n.innerHeight(),width:n.innerWidth()},u=s.offset(),d=t("
    ").appendTo(document.body).addClass(e.className).css({top:u.top-r,left:u.left-h,height:s.innerHeight(),width:s.innerWidth(),position:o?"fixed":"absolute"}).animate(c,e.duration,e.easing,function(){d.remove(),i()})}}(jQuery),function(t){t.widget("ui.menu",{version:"1.10.3",defaultElement:"
      ",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content ui-corner-all").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}).bind("click"+this.eventNamespace,t.proxy(function(t){this.options.disabled&&t.preventDefault()},this)),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item > a":function(t){t.preventDefault()},"click .ui-state-disabled > a":function(t){t.preventDefault()},"click .ui-menu-item:has(a)":function(e){var i=t(e.target).closest(".ui-menu-item");!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.mouseHandled=!0,this.select(e),i.has(".ui-menu").length?this.expand(e):this.element.is(":focus")||(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){var i=t(e.currentTarget);i.siblings().children(".ui-state-active").removeClass("ui-state-active"),this.focus(e,i)},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.children(".ui-menu-item").eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){t.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(e){t(e.target).closest(".ui-menu").length||this.collapseAll(e),this.mouseHandled=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").children("a").removeUniqueId().removeClass("ui-corner-all ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var e=t(this);e.data("ui-menu-submenu-carat")&&e.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(e){function i(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}var s,n,o,a,r,h=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:h=!1,n=this.previousFilter||"",o=String.fromCharCode(e.keyCode),a=!1,clearTimeout(this.filterTimer),o===n?a=!0:o=n+o,r=RegExp("^"+i(o),"i"),s=this.activeMenu.children(".ui-menu-item").filter(function(){return r.test(t(this).children("a").text())}),s=a&&-1!==s.index(this.active.next())?this.active.nextAll(".ui-menu-item"):s,s.length||(o=String.fromCharCode(e.keyCode),r=RegExp("^"+i(o),"i"),s=this.activeMenu.children(".ui-menu-item").filter(function(){return r.test(t(this).children("a").text())})),s.length?(this.focus(e,s),s.length>1?(this.previousFilter=o,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter):delete this.previousFilter}h&&e.preventDefault()},_activate:function(t){this.active.is(".ui-state-disabled")||(this.active.children("a[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i=this.options.icons.submenu,s=this.element.find(this.options.menus);s.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-corner-all").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),s=e.prev("a"),n=t("").addClass("ui-menu-icon ui-icon "+i).data("ui-menu-submenu-carat",!0);s.attr("aria-haspopup","true").prepend(n),e.attr("aria-labelledby",s.attr("id"))}),e=s.add(this.element),e.children(":not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","presentation").children("a").uniqueId().addClass("ui-corner-all").attr({tabIndex:-1,role:this._itemRole()}),e.children(":not(.ui-menu-item)").each(function(){var e=t(this);/[^\-\u2014\u2013\s]/.test(e.text())||e.addClass("ui-widget-content ui-menu-divider")}),e.children(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){"icons"===t&&this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(e.submenu),this._super(t,e)},focus:function(t,e){var i,s;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children("a").addClass("ui-state-focus"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),this.active.parent().closest(".ui-menu-item").children("a:first").addClass("ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,o,a,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,o=this.activeMenu.scrollTop(),a=this.activeMenu.height(),r=e.height(),0>n?this.activeMenu.scrollTop(o+n):n+r>a&&this.activeMenu.scrollTop(o+n-a+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this.active.children("a").removeClass("ui-state-focus"),this.active=null,this._trigger("blur",t,{item:this.active}))},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find("a.ui-state-active").removeClass("ui-state-active")},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").children(".ui-menu-item").first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.children(".ui-menu-item")[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.children(".ui-menu-item")[this.active?"last":"first"]())),undefined):(this.next(e),undefined)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.children(".ui-menu-item").first())),undefined):(this.next(e),undefined)},_hasScroll:function(){return this.element.outerHeight()
    "),a=n.children()[0];return t("body").append(n),i=a.offsetWidth,n.css("overflow","scroll"),s=a.offsetWidth,i===s&&(s=n[0].clientWidth),n.remove(),o=i-s},getScrollInfo:function(e){var i=e.isWindow?"":e.element.css("overflow-x"),s=e.isWindow?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widths?"left":i>0?"right":"center",vertical:0>o?"top":n>0?"bottom":"middle"};u>p&&p>r(i+s)&&(h.horizontal="center"),d>g&&g>r(n+o)&&(h.vertical="middle"),h.important=a(r(i),r(s))>a(r(n),r(o))?"horizontal":"vertical",e.using.call(this,t,h)}),c.offset(t.extend(I,{using:l}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,o=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-o-n;e.collisionWidth>o?h>0&&0>=l?(i=t.left+h+e.collisionWidth-o-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+o-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=a(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,o=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-o-n;e.collisionHeight>o?h>0&&0>=l?(i=t.top+h+e.collisionHeight-o-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+o-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=a(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,a=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-a-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-a-o,(0>i||r(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>r(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,a=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-a-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-a-o,t.top+p+f+g>c&&(0>s||r(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-h,t.top+p+f+g>u&&(i>0||u>r(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}},function(){var e,i,s,n,o,a=document.getElementsByTagName("body")[0],r=document.createElement("div");e=document.createElement(a?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},a&&t.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(o in s)e.style[o]=s[o];e.appendChild(r),i=a||document.documentElement,i.insertBefore(e,i.firstChild),r.style.cssText="position: absolute; left: 10.7432222px;",n=t(r).offset().left,t.support.offsetFractions=n>10&&11>n,e.innerHTML="",i.removeChild(e)}()}(jQuery),function(t,e){t.widget("ui.progressbar",{version:"1.10.3",options:{max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min}),this.valueDiv=t("
    ").appendTo(this.element),this._refreshValue()},_destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove() +},value:function(t){return t===e?this.options.value:(this.options.value=this._constrainedValue(t),this._refreshValue(),e)},_constrainedValue:function(t){return t===e&&(t=this.options.value),this.indeterminate=t===!1,"number"!=typeof t&&(t=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,t))},_setOptions:function(t){var e=t.value;delete t.value,this._super(t),this.options.value=this._constrainedValue(e),this._refreshValue()},_setOption:function(t,e){"max"===t&&(e=Math.max(this.min,e)),this._super(t,e)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var e=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||e>this.min).toggleClass("ui-corner-right",e===this.options.max).width(i.toFixed(0)+"%"),this.element.toggleClass("ui-progressbar-indeterminate",this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=t("
    ").appendTo(this.valueDiv))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":e}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),e===this.options.max&&this._trigger("complete")}})}(jQuery),function(t){var e=5;t.widget("ui.slider",t.ui.mouse,{version:"1.10.3",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"),this._refresh(),this._setOption("disabled",this.options.disabled),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,i,s=this.options,n=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),o="",a=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),e=n.length;i>e;e++)a.push(o);this.handles=n.add(t(a.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.each(function(e){t(this).data("ui-slider-handle-index",e)})},_createRange:function(){var e=this.options,i="";e.range?(e.range===!0&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:t.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({left:"",bottom:""}):(this.range=t("
    ").appendTo(this.element),i="ui-slider-range ui-widget-header ui-corner-all"),this.range.addClass(i+("min"===e.range||"max"===e.range?" ui-slider-range-"+e.range:""))):this.range=t([])},_setupEvents:function(){var t=this.handles.add(this.range).filter("a");this._off(t),this._on(t,this._handleEvents),this._hoverable(t),this._focusable(t)},_destroy:function(){this.handles.remove(),this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"),this._mouseDestroy()},_mouseCapture:function(e){var i,s,n,o,a,r,h,l,c=this,u=this.options;return u.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:e.pageX,y:e.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var i=Math.abs(s-c.values(e));(n>i||n===i&&(e===c._lastChangedValue||c.values(e)===u.min))&&(n=i,o=t(this),a=e)}),r=this._start(e,a),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=a,o.addClass("ui-state-active").focus(),h=o.offset(),l=!t(e.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:e.pageX-h.left-o.width()/2,top:e.pageY-h.top-o.height()/2-(parseInt(o.css("borderTopWidth"),10)||0)-(parseInt(o.css("borderBottomWidth"),10)||0)+(parseInt(o.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(e,a,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(t){var e={x:t.pageX,y:t.pageY},i=this._normValueFromMouse(e);return this._slide(t,this._handleIndex,i),!1},_mouseStop:function(t){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(t,this._handleIndex),this._change(t,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(t){var e,i,s,n,o;return"horizontal"===this.orientation?(e=this.elementSize.width,i=t.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(e=this.elementSize.height,i=t.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/e,s>1&&(s=1),0>s&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),o=this._valueMin()+s*n,this._trimAlignValue(o)},_start:function(t,e){var i={handle:this.handles[e],value:this.value()};return this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._trigger("start",t,i)},_slide:function(t,e,i){var s,n,o;this.options.values&&this.options.values.length?(s=this.values(e?0:1),2===this.options.values.length&&this.options.range===!0&&(0===e&&i>s||1===e&&s>i)&&(i=s),i!==this.values(e)&&(n=this.values(),n[e]=i,o=this._trigger("slide",t,{handle:this.handles[e],value:i,values:n}),s=this.values(e?0:1),o!==!1&&this.values(e,i,!0))):i!==this.value()&&(o=this._trigger("slide",t,{handle:this.handles[e],value:i}),o!==!1&&this.value(i))},_stop:function(t,e){var i={handle:this.handles[e],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._trigger("stop",t,i)},_change:function(t,e){if(!this._keySliding&&!this._mouseSliding){var i={handle:this.handles[e],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._lastChangedValue=e,this._trigger("change",t,i)}},value:function(t){return arguments.length?(this.options.value=this._trimAlignValue(t),this._refreshValue(),this._change(null,0),undefined):this._value()},values:function(e,i){var s,n,o;if(arguments.length>1)return this.options.values[e]=this._trimAlignValue(i),this._refreshValue(),this._change(null,e),undefined;if(!arguments.length)return this._values();if(!t.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(e):this.value();for(s=this.options.values,n=arguments[0],o=0;s.length>o;o+=1)s[o]=this._trimAlignValue(n[o]),this._change(null,o);this._refreshValue()},_setOption:function(e,i){var s,n=0;switch("range"===e&&this.options.range===!0&&("min"===i?(this.options.value=this._values(0),this.options.values=null):"max"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),t.isArray(this.options.values)&&(n=this.options.values.length),t.Widget.prototype._setOption.apply(this,arguments),e){case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue();break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),s=0;n>s;s+=1)this._change(null,s);this._animateOff=!1;break;case"min":case"max":this._animateOff=!0,this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_value:function(){var t=this.options.value;return t=this._trimAlignValue(t)},_values:function(t){var e,i,s;if(arguments.length)return e=this.options.values[t],e=this._trimAlignValue(e);if(this.options.values&&this.options.values.length){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(t){if(this._valueMin()>=t)return this._valueMin();if(t>=this._valueMax())return this._valueMax();var e=this.options.step>0?this.options.step:1,i=(t-this._valueMin())%e,s=t-i;return 2*Math.abs(i)>=e&&(s+=i>0?e:-e),parseFloat(s.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var e,i,s,n,o,a=this.options.range,r=this.options,h=this,l=this._animateOff?!1:r.animate,c={};this.options.values&&this.options.values.length?this.handles.each(function(s){i=100*((h.values(s)-h._valueMin())/(h._valueMax()-h._valueMin())),c["horizontal"===h.orientation?"left":"bottom"]=i+"%",t(this).stop(1,1)[l?"animate":"css"](c,r.animate),h.options.range===!0&&("horizontal"===h.orientation?(0===s&&h.range.stop(1,1)[l?"animate":"css"]({left:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({width:i-e+"%"},{queue:!1,duration:r.animate})):(0===s&&h.range.stop(1,1)[l?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({height:i-e+"%"},{queue:!1,duration:r.animate}))),e=i}):(s=this.value(),n=this._valueMin(),o=this._valueMax(),i=o!==n?100*((s-n)/(o-n)):0,c["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[l?"animate":"css"](c,r.animate),"min"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:i+"%"},r.animate),"max"===a&&"horizontal"===this.orientation&&this.range[l?"animate":"css"]({width:100-i+"%"},{queue:!1,duration:r.animate}),"min"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:i+"%"},r.animate),"max"===a&&"vertical"===this.orientation&&this.range[l?"animate":"css"]({height:100-i+"%"},{queue:!1,duration:r.animate}))},_handleEvents:{keydown:function(i){var s,n,o,a,r=t(i.target).data("ui-slider-handle-index");switch(i.keyCode){case t.ui.keyCode.HOME:case t.ui.keyCode.END:case t.ui.keyCode.PAGE_UP:case t.ui.keyCode.PAGE_DOWN:case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(i.preventDefault(),!this._keySliding&&(this._keySliding=!0,t(i.target).addClass("ui-state-active"),s=this._start(i,r),s===!1))return}switch(a=this.options.step,n=o=this.options.values&&this.options.values.length?this.values(r):this.value(),i.keyCode){case t.ui.keyCode.HOME:o=this._valueMin();break;case t.ui.keyCode.END:o=this._valueMax();break;case t.ui.keyCode.PAGE_UP:o=this._trimAlignValue(n+(this._valueMax()-this._valueMin())/e);break;case t.ui.keyCode.PAGE_DOWN:o=this._trimAlignValue(n-(this._valueMax()-this._valueMin())/e);break;case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:if(n===this._valueMax())return;o=this._trimAlignValue(n+a);break;case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(n===this._valueMin())return;o=this._trimAlignValue(n-a)}this._slide(i,r,o)},click:function(t){t.preventDefault()},keyup:function(e){var i=t(e.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(e,i),this._change(e,i),t(e.target).removeClass("ui-state-active"))}}})}(jQuery),function(t){function e(t){return function(){var e=this.element.val();t.apply(this,arguments),this._refresh(),e!==this.element.val()&&this._trigger("change")}}t.widget("ui.spinner",{version:"1.10.3",defaultElement:"",widgetEventPrefix:"spin",options:{culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var e={},i=this.element;return t.each(["min","max","step"],function(t,s){var n=i.attr(s);void 0!==n&&n.length&&(e[s]=n)}),e},_events:{keydown:function(t){this._start(t)&&this._keydown(t)&&t.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",t),void 0)},mousewheel:function(t,e){if(e){if(!this.spinning&&!this._start(t))return!1;this._spin((e>0?1:-1)*this.options.step,t),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(t)},100),t.preventDefault()}},"mousedown .ui-spinner-button":function(e){function i(){var t=this.element[0]===this.document[0].activeElement;t||(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s}))}var s;s=this.element[0]===this.document[0].activeElement?this.previous:this.element.val(),e.preventDefault(),i.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,i.call(this)}),this._start(e)!==!1&&this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(e){return t(e.currentTarget).hasClass("ui-state-active")?this._start(e)===!1?!1:(this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e),void 0):void 0},"mouseleave .ui-spinner-button":"_stop"},_draw:function(){var t=this.uiSpinner=this.element.addClass("ui-spinner-input").attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());this.element.attr("role","spinbutton"),this.buttons=t.find(".ui-spinner-button").attr("tabIndex",-1).button().removeClass("ui-corner-all"),this.buttons.height()>Math.ceil(.5*t.height())&&t.height()>0&&t.height(t.height()),this.options.disabled&&this.disable()},_keydown:function(e){var i=this.options,s=t.ui.keyCode;switch(e.keyCode){case s.UP:return this._repeat(null,1,e),!0;case s.DOWN:return this._repeat(null,-1,e),!0;case s.PAGE_UP:return this._repeat(null,i.page,e),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,e),!0}return!1},_uiSpinnerHtml:function(){return""},_buttonHtml:function(){return""+""+""+""+""},_start:function(t){return this.spinning||this._trigger("start",t)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(t,e,i){t=t||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,e,i)},t),this._spin(e*this.options.step,i)},_spin:function(t,e){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+t*this._increment(this.counter)),this.spinning&&this._trigger("spin",e,{value:i})===!1||(this._value(i),this.counter++)},_increment:function(e){var i=this.options.incremental;return i?t.isFunction(i)?i(e):Math.floor(e*e*e/5e4-e*e/500+17*e/200+1):1},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=""+t,i=e.indexOf(".");return-1===i?0:e.length-i-1},_adjustValue:function(t){var e,i,s=this.options;return e=null!==s.min?s.min:0,i=t-e,i=Math.round(i/s.step)*s.step,t=e+i,t=parseFloat(t.toFixed(this._precision())),null!==s.max&&t>s.max?s.max:null!==s.min&&s.min>t?s.min:t},_stop:function(t){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",t))},_setOption:function(t,e){if("culture"===t||"numberFormat"===t){var i=this._parse(this.element.val());return this.options[t]=e,this.element.val(this._format(i)),void 0}("max"===t||"min"===t||"step"===t)&&"string"==typeof e&&(e=this._parse(e)),"icons"===t&&(this.buttons.first().find(".ui-icon").removeClass(this.options.icons.up).addClass(e.up),this.buttons.last().find(".ui-icon").removeClass(this.options.icons.down).addClass(e.down)),this._super(t,e),"disabled"===t&&(e?(this.element.prop("disabled",!0),this.buttons.button("disable")):(this.element.prop("disabled",!1),this.buttons.button("enable")))},_setOptions:e(function(t){this._super(t),this._value(this.element.val())}),_parse:function(t){return"string"==typeof t&&""!==t&&(t=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(t,10,this.options.culture):+t),""===t||isNaN(t)?null:t},_format:function(t){return""===t?"":window.Globalize&&this.options.numberFormat?Globalize.format(t,this.options.numberFormat,this.options.culture):t},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},_value:function(t,e){var i;""!==t&&(i=this._parse(t),null!==i&&(e||(i=this._adjustValue(i)),t=this._format(i))),this.element.val(t),this._refresh()},_destroy:function(){this.element.removeClass("ui-spinner-input").prop("disabled",!1).removeAttr("autocomplete").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:e(function(t){this._stepUp(t)}),_stepUp:function(t){this._start()&&(this._spin((t||1)*this.options.step),this._stop())},stepDown:e(function(t){this._stepDown(t)}),_stepDown:function(t){this._start()&&(this._spin((t||1)*-this.options.step),this._stop())},pageUp:e(function(t){this._stepUp((t||1)*this.options.page)}),pageDown:e(function(t){this._stepDown((t||1)*this.options.page)}),value:function(t){return arguments.length?(e(this._value).call(this,t),void 0):this._parse(this.element.val())},widget:function(){return this.uiSpinner}})}(jQuery),function(t,e){function i(){return++n}function s(t){return t.hash.length>1&&decodeURIComponent(t.href.replace(o,""))===decodeURIComponent(location.href.replace(o,""))}var n=0,o=/#.*$/;t.widget("ui.tabs",{version:"1.10.3",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_create:function(){var e=this,i=this.options;this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",i.collapsible).delegate(".ui-tabs-nav > li","mousedown"+this.eventNamespace,function(e){t(this).is(".ui-state-disabled")&&e.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){t(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this._processTabs(),i.active=this._initialActive(),t.isArray(i.disabled)&&(i.disabled=t.unique(i.disabled.concat(t.map(this.tabs.filter(".ui-state-disabled"),function(t){return e.tabs.index(t)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(i.active):t(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var i=this.options.active,s=this.options.collapsible,n=location.hash.substring(1);return null===i&&(n&&this.tabs.each(function(s,o){return t(o).attr("aria-controls")===n?(i=s,!1):e}),null===i&&(i=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===i||-1===i)&&(i=this.tabs.length?0:!1)),i!==!1&&(i=this.tabs.index(this.tabs.eq(i)),-1===i&&(i=s?!1:0)),!s&&i===!1&&this.anchors.length&&(i=0),i},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):t()}},_tabKeydown:function(i){var s=t(this.document[0].activeElement).closest("li"),n=this.tabs.index(s),o=!0;if(!this._handlePageNav(i)){switch(i.keyCode){case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:n++;break;case t.ui.keyCode.UP:case t.ui.keyCode.LEFT:o=!1,n--;break;case t.ui.keyCode.END:n=this.anchors.length-1;break;case t.ui.keyCode.HOME:n=0;break;case t.ui.keyCode.SPACE:return i.preventDefault(),clearTimeout(this.activating),this._activate(n),e;case t.ui.keyCode.ENTER:return i.preventDefault(),clearTimeout(this.activating),this._activate(n===this.options.active?!1:n),e;default:return}i.preventDefault(),clearTimeout(this.activating),n=this._focusNextTab(n,o),i.ctrlKey||(s.attr("aria-selected","false"),this.tabs.eq(n).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",n)},this.delay))}},_panelKeydown:function(e){this._handlePageNav(e)||e.ctrlKey&&e.keyCode===t.ui.keyCode.UP&&(e.preventDefault(),this.active.focus())},_handlePageNav:function(i){return i.altKey&&i.keyCode===t.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):i.altKey&&i.keyCode===t.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):e},_findNextTab:function(e,i){function s(){return e>n&&(e=0),0>e&&(e=n),e}for(var n=this.tabs.length-1;-1!==t.inArray(s(),this.options.disabled);)e=i?e+1:e-1;return e},_focusNextTab:function(t,e){return t=this._findNextTab(t,e),this.tabs.eq(t).focus(),t},_setOption:function(t,i){return"active"===t?(this._activate(i),e):"disabled"===t?(this._setupDisabled(i),e):(this._super(t,i),"collapsible"===t&&(this.element.toggleClass("ui-tabs-collapsible",i),i||this.options.active!==!1||this._activate(0)),"event"===t&&this._setupEvents(i),"heightStyle"===t&&this._setupHeightStyle(i),e)},_tabId:function(t){return t.attr("aria-controls")||"ui-tabs-"+i()},_sanitizeSelector:function(t){return t?t.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var e=this.options,i=this.tablist.children(":has(a[href])");e.disabled=t.map(i.filter(".ui-state-disabled"),function(t){return i.index(t)}),this._processTabs(),e.active!==!1&&this.anchors.length?this.active.length&&!t.contains(this.tablist[0],this.active[0])?this.tabs.length===e.disabled.length?(e.active=!1,this.active=t()):this._activate(this._findNextTab(Math.max(0,e.active-1),!1)):e.active=this.tabs.index(this.active):(e.active=!1,this.active=t()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-expanded":"false","aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-expanded":"true","aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var e=this;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist"),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return t("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=t(),this.anchors.each(function(i,n){var o,a,r,h=t(n).uniqueId().attr("id"),l=t(n).closest("li"),c=l.attr("aria-controls");s(n)?(o=n.hash,a=e.element.find(e._sanitizeSelector(o))):(r=e._tabId(l),o="#"+r,a=e.element.find(o),a.length||(a=e._createPanel(r),a.insertAfter(e.panels[i-1]||e.tablist)),a.attr("aria-live","polite")),a.length&&(e.panels=e.panels.add(a)),c&&l.data("ui-tabs-aria-controls",c),l.attr({"aria-controls":o.substring(1),"aria-labelledby":h}),a.attr("aria-labelledby",h)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel")},_getList:function(){return this.element.find("ol,ul").eq(0)},_createPanel:function(e){return t("
    ").attr("id",e).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(e){t.isArray(e)&&(e.length?e.length===this.anchors.length&&(e=!0):e=!1);for(var i,s=0;i=this.tabs[s];s++)e===!0||-1!==t.inArray(s,e)?t(i).addClass("ui-state-disabled").attr("aria-disabled","true"):t(i).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=e},_setupEvents:function(e){var i={click:function(t){t.preventDefault()}};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(e){var i,s=this.element.parent();"fill"===e?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var e=t(this),s=e.css("position");"absolute"!==s&&"fixed"!==s&&(i-=e.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=t(this).outerHeight(!0)}),this.panels.each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===e&&(i=0,this.panels.each(function(){i=Math.max(i,t(this).height("").height())}).height(i))},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget),o=n.closest("li"),a=o[0]===s[0],r=a&&i.collapsible,h=r?t():this._getPanelForTab(o),l=s.length?this._getPanelForTab(s):t(),c={oldTab:s,oldPanel:l,newTab:r?t():o,newPanel:h};e.preventDefault(),o.hasClass("ui-state-disabled")||o.hasClass("ui-tabs-loading")||this.running||a&&!i.collapsible||this._trigger("beforeActivate",e,c)===!1||(i.active=r?!1:this.tabs.index(o),this.active=a?t():o,this.xhr&&this.xhr.abort(),l.length||h.length||t.error("jQuery UI Tabs: Mismatching fragment identifier."),h.length&&this.load(this.tabs.index(o),e),this._toggle(e,c))},_toggle:function(e,i){function s(){o.running=!1,o._trigger("activate",e,i)}function n(){i.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),a.length&&o.options.show?o._show(a,o.options.show,s):(a.show(),s())}var o=this,a=i.newPanel,r=i.oldPanel;this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),n()}):(i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),r.hide(),n()),r.attr({"aria-expanded":"false","aria-hidden":"true"}),i.oldTab.attr("aria-selected","false"),a.length&&r.length?i.oldTab.attr("tabIndex",-1):a.length&&this.tabs.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),a.attr({"aria-expanded":"true","aria-hidden":"false"}),i.newTab.attr({"aria-selected":"true",tabIndex:0})},_activate:function(e){var i,s=this._findActive(e);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return e===!1?t():this.tabs.eq(e)},_getIndex:function(t){return"string"==typeof t&&(t=this.anchors.index(this.anchors.filter("[href$='"+t+"']"))),t},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){t.data(this,"ui-tabs-destroy")?t(this).remove():t(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var e=t(this),i=e.data("ui-tabs-aria-controls");i?e.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):e.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(i){var s=this.options.disabled;s!==!1&&(i===e?s=!1:(i=this._getIndex(i),s=t.isArray(s)?t.map(s,function(t){return t!==i?t:null}):t.map(this.tabs,function(t,e){return e!==i?e:null})),this._setupDisabled(s))},disable:function(i){var s=this.options.disabled;if(s!==!0){if(i===e)s=!0;else{if(i=this._getIndex(i),-1!==t.inArray(i,s))return;s=t.isArray(s)?t.merge([i],s).sort():[i]}this._setupDisabled(s)}},load:function(e,i){e=this._getIndex(e);var n=this,o=this.tabs.eq(e),a=o.find(".ui-tabs-anchor"),r=this._getPanelForTab(o),h={tab:o,panel:r};s(a[0])||(this.xhr=t.ajax(this._ajaxSettings(a,i,h)),this.xhr&&"canceled"!==this.xhr.statusText&&(o.addClass("ui-tabs-loading"),r.attr("aria-busy","true"),this.xhr.success(function(t){setTimeout(function(){r.html(t),n._trigger("load",i,h)},1)}).complete(function(t,e){setTimeout(function(){"abort"===e&&n.panels.stop(!1,!0),o.removeClass("ui-tabs-loading"),r.removeAttr("aria-busy"),t===n.xhr&&delete n.xhr},1)})))},_ajaxSettings:function(e,i,s){var n=this;return{url:e.attr("href"),beforeSend:function(e,o){return n._trigger("beforeLoad",i,t.extend({jqXHR:e,ajaxSettings:o},s))}}},_getPanelForTab:function(e){var i=t(e).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}})}(jQuery),function(t){function e(e,i){var s=(e.attr("aria-describedby")||"").split(/\s+/);s.push(i),e.data("ui-tooltip-id",i).attr("aria-describedby",t.trim(s.join(" ")))}function i(e){var i=e.data("ui-tooltip-id"),s=(e.attr("aria-describedby")||"").split(/\s+/),n=t.inArray(i,s);-1!==n&&s.splice(n,1),e.removeData("ui-tooltip-id"),s=t.trim(s.join(" ")),s?e.attr("aria-describedby",s):e.removeAttr("aria-describedby")}var s=0;t.widget("ui.tooltip",{version:"1.10.3",options:{content:function(){var e=t(this).attr("title")||"";return t("").text(e).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable()},_setOption:function(e,i){var s=this;return"disabled"===e?(this[i?"_disable":"_enable"](),this.options[e]=i,void 0):(this._super(e,i),"content"===e&&t.each(this.tooltips,function(t,e){s._updateContent(e)}),void 0)},_disable:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s[0],e.close(n,!0)}),this.element.find(this.options.items).addBack().each(function(){var e=t(this);e.is("[title]")&&e.data("ui-tooltip-title",e.attr("title")).attr("title","")})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var e=t(this);e.data("ui-tooltip-title")&&e.attr("title",e.data("ui-tooltip-title"))})},open:function(e){var i=this,s=t(e?e.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),e&&"mouseover"===e.type&&s.parents().each(function(){var e,s=t(this);s.data("ui-tooltip-open")&&(e=t.Event("blur"),e.target=e.currentTarget=this,i.close(e,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._updateContent(s,e))},_updateContent:function(t,e){var i,s=this.options.content,n=this,o=e?e.type:null;return"string"==typeof s?this._open(e,t,s):(i=s.call(t[0],function(i){t.data("ui-tooltip-open")&&n._delay(function(){e&&(e.type=o),this._open(e,t,i)})}),i&&this._open(e,t,i),void 0)},_open:function(i,s,n){function o(t){l.of=t,a.is(":hidden")||a.position(l)}var a,r,h,l=t.extend({},this.options.position); +if(n){if(a=this._find(s),a.length)return a.find(".ui-tooltip-content").html(n),void 0;s.is("[title]")&&(i&&"mouseover"===i.type?s.attr("title",""):s.removeAttr("title")),a=this._tooltip(s),e(s,a.attr("id")),a.find(".ui-tooltip-content").html(n),this.options.track&&i&&/^mouse/.test(i.type)?(this._on(this.document,{mousemove:o}),o(i)):a.position(t.extend({of:s},this.options.position)),a.hide(),this._show(a,this.options.show),this.options.show&&this.options.show.delay&&(h=this.delayedShow=setInterval(function(){a.is(":visible")&&(o(l.of),clearInterval(h))},t.fx.interval)),this._trigger("open",i,{tooltip:a}),r={keyup:function(e){if(e.keyCode===t.ui.keyCode.ESCAPE){var i=t.Event(e);i.currentTarget=s[0],this.close(i,!0)}},remove:function(){this._removeTooltip(a)}},i&&"mouseover"!==i.type||(r.mouseleave="close"),i&&"focusin"!==i.type||(r.focusout="close"),this._on(!0,s,r)}},close:function(e){var s=this,n=t(e?e.currentTarget:this.element),o=this._find(n);this.closing||(clearInterval(this.delayedShow),n.data("ui-tooltip-title")&&n.attr("title",n.data("ui-tooltip-title")),i(n),o.stop(!0),this._hide(o,this.options.hide,function(){s._removeTooltip(t(this))}),n.removeData("ui-tooltip-open"),this._off(n,"mouseleave focusout keyup"),n[0]!==this.element[0]&&this._off(n,"remove"),this._off(this.document,"mousemove"),e&&"mouseleave"===e.type&&t.each(this.parents,function(e,i){t(i.element).attr("title",i.title),delete s.parents[e]}),this.closing=!0,this._trigger("close",e,{tooltip:o}),this.closing=!1)},_tooltip:function(e){var i="ui-tooltip-"+s++,n=t("
    ").attr({id:i,role:"tooltip"}).addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||""));return t("
    ").addClass("ui-tooltip-content").appendTo(n),n.appendTo(this.document[0].body),this.tooltips[i]=e,n},_find:function(e){var i=e.data("ui-tooltip-id");return i?t("#"+i):t()},_removeTooltip:function(t){t.remove(),delete this.tooltips[t.attr("id")]},_destroy:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s[0],e.close(n,!0),t("#"+i).remove(),s.data("ui-tooltip-title")&&(s.attr("title",s.data("ui-tooltip-title")),s.removeData("ui-tooltip-title"))})}})}(jQuery); diff --git a/data/interfaces/default/js/highcharts/api/js/jquery.min.js b/data/interfaces/default/js/highcharts/api/js/jquery.min.js new file mode 100644 index 00000000..32d50cb0 --- /dev/null +++ b/data/interfaces/default/js/highcharts/api/js/jquery.min.js @@ -0,0 +1,5 @@ +/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license +//@ sourceMappingURL=jquery.min.map +*/(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="1.9.1",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:function(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:v&&!v.call("\ufeff\u00a0")?function(e){return null==e?"":v.call(e)}:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?b.merge(n,"string"==typeof e?[e]:e):d.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(g)return g.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return f.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),b.isFunction(e)?(r=h.call(arguments,2),i=function(){return e.apply(n||this,r.concat(h.call(arguments)))},i.guid=e.guid=e.guid||b.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===b.type(r)){o=!0;for(u in r)b.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,b.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(b(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),b.ready.promise=function(t){if(!n)if(n=b.Deferred(),"complete"===o.readyState)setTimeout(b.ready);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",H,!1),e.addEventListener("load",H,!1);else{o.attachEvent("onreadystatechange",H),e.attachEvent("onload",H);var r=!1;try{r=null==e.frameElement&&o.documentElement}catch(i){}r&&r.doScroll&&function a(){if(!b.isReady){try{r.doScroll("left")}catch(e){return setTimeout(a,50)}q(),b.ready()}}()}return n.promise(t)},b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=b.type(e);return b.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=b(o);var _={};function F(e){var t=_[e]={};return b.each(e.match(w)||[],function(e,n){t[n]=!0}),t}b.Callbacks=function(e){e="string"==typeof e?_[e]||F(e):b.extend({},e);var n,r,i,o,a,s,u=[],l=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=u.length,n=!0;u&&o>a;a++)if(u[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:p.disable())},p={add:function(){if(u){var t=u.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);"function"===r?e.unique&&p.has(n)||u.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=u.length:r&&(s=t,c(r))}return this},remove:function(){return u&&b.each(arguments,function(e,t){var r;while((r=b.inArray(t,u,r))>-1)u.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?b.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],this},disable:function(){return u=l=r=t,this},disabled:function(){return!u},lock:function(){return l=t,r||p.disable(),this},locked:function(){return!l},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!l||(n?l.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},b.extend({Deferred:function(e){var t=[["resolve","done",b.Callbacks("once memory"),"resolved"],["reject","fail",b.Callbacks("once memory"),"rejected"],["notify","progress",b.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,o){var a=o[0],s=b.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?b.extend(e,r):r}},i={};return r.pipe=r.then,b.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=h.call(arguments),r=n.length,i=1!==r||e&&b.isFunction(e.promise)?r:0,o=1===i?e:b.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?h.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,u,l;if(r>1)for(s=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&b.isFunction(n[t].promise)?n[t].promise().done(a(t,l,n)).fail(o.reject).progress(a(t,u,s)):--i;return i||o.resolveWith(l,n),o.promise()}}),b.support=function(){var t,n,r,a,s,u,l,c,p,f,d=o.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="
    a",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{};s=o.createElement("select"),l=s.appendChild(o.createElement("option")),a=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:!!a.value,optSelected:l.selected,enctype:!!o.createElement("form").enctype,html5Clone:"<:nav>"!==o.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===o.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!l.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}a=o.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),u=o.createDocumentFragment(),u.appendChild(a),t.appendChecked=a.checked,t.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,b(function(){var n,r,a,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",u=o.getElementsByTagName("body")[0];u&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",u.appendChild(n).appendChild(d),d.innerHTML="
    t
    ",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=p&&0===a[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==u.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(o.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="
    ",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(u.style.zoom=1)),u.removeChild(n),n=d=a=r=null)}),n=s=u=l=r=a=null,t}();var O=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,B=/([A-Z])/g;function P(e,n,r,i){if(b.acceptData(e)){var o,a,s=b.expando,u="string"==typeof n,l=e.nodeType,p=l?b.cache:e,f=l?e[s]:e[s]&&s;if(f&&p[f]&&(i||p[f].data)||!u||r!==t)return f||(l?e[s]=f=c.pop()||b.guid++:f=s),p[f]||(p[f]={},l||(p[f].toJSON=b.noop)),("object"==typeof n||"function"==typeof n)&&(i?p[f]=b.extend(p[f],n):p[f].data=b.extend(p[f].data,n)),o=p[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[b.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[b.camelCase(n)])):a=o,a}}function R(e,t,n){if(b.acceptData(e)){var r,i,o,a=e.nodeType,s=a?b.cache:e,u=a?e[b.expando]:b.expando;if(s[u]){if(t&&(o=n?s[u]:s[u].data)){b.isArray(t)?t=t.concat(b.map(t,b.camelCase)):t in o?t=[t]:(t=b.camelCase(t),t=t in o?[t]:t.split(" "));for(r=0,i=t.length;i>r;r++)delete o[t[r]];if(!(n?$:b.isEmptyObject)(o))return}(n||(delete s[u].data,$(s[u])))&&(a?b.cleanData([e],!0):b.support.deleteExpando||s!=s.window?delete s[u]:s[u]=null)}}}b.extend({cache:{},expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?b.cache[e[b.expando]]:e[b.expando],!!e&&!$(e)},data:function(e,t,n){return P(e,t,n)},removeData:function(e,t){return R(e,t)},_data:function(e,t,n){return P(e,t,n,!0)},_removeData:function(e,t){return R(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&b.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),b.fn.extend({data:function(e,n){var r,i,o=this[0],a=0,s=null;if(e===t){if(this.length&&(s=b.data(o),1===o.nodeType&&!b._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>a;a++)i=r[a].name,i.indexOf("data-")||(i=b.camelCase(i.slice(5)),W(o,i,s[i]));b._data(o,"parsedAttrs",!0)}return s}return"object"==typeof e?this.each(function(){b.data(this,e)}):b.access(this,function(n){return n===t?o?W(o,e,b.data(o,e)):null:(this.each(function(){b.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function W(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(B,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:O.test(r)?b.parseJSON(r):r}catch(o){}b.data(e,n,r)}else r=t}return r}function $(e){var t;for(t in e)if(("data"!==t||!b.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}b.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=b._data(e,n),r&&(!i||b.isArray(r)?i=b._data(e,n,b.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t),a=function(){b.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return b._data(e,n)||b._data(e,n,{empty:b.Callbacks("once memory").add(function(){b._removeData(e,t+"queue"),b._removeData(e,n)})})}}),b.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?b.queue(this[0],e):n===t?this:this.each(function(){var t=b.queue(this,e,n);b._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(e,t){return e=b.fx?b.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=b.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=b._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var I,z,X=/[\t\r\n]/g,U=/\r/g,V=/^(?:input|select|textarea|button|object)$/i,Y=/^(?:a|area)$/i,J=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,G=/^(?:checked|selected)$/i,Q=b.support.getSetAttribute,K=b.support.input;b.fn.extend({attr:function(e,t){return b.access(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,t){return b.access(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return e=b.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=b.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?b.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return b.isFunction(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=b(this),u=t,l=e.match(w)||[];while(o=l[a++])u=r?u:!s.hasClass(o),s[u?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&b._data(this,"__className__",this.className),this.className=this.className||e===!1?"":b._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(X," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=b.isFunction(e),this.each(function(n){var o,a=b(this);1===this.nodeType&&(o=i?e.call(this,n,a.val()):e,null==o?o="":"number"==typeof o?o+="":b.isArray(o)&&(o=b.map(o,function(e){return null==e?"":e+""})),r=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=b.valHooks[o.type]||b.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(U,""):null==n?"":n)}}}),b.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;for(;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(b.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&b.nodeName(n.parentNode,"optgroup"))){if(t=b(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=b.makeArray(t);return b(e).find("option").each(function(){this.selected=b.inArray(b(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attr:function(e,n,r){var o,a,s,u=e.nodeType;if(e&&3!==u&&8!==u&&2!==u)return typeof e.getAttribute===i?b.prop(e,n,r):(a=1!==u||!b.isXMLDoc(e),a&&(n=n.toLowerCase(),o=b.attrHooks[n]||(J.test(n)?z:I)),r===t?o&&a&&"get"in o&&null!==(s=o.get(e,n))?s:(typeof e.getAttribute!==i&&(s=e.getAttribute(n)),null==s?t:s):null!==r?o&&a&&"set"in o&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r):(b.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=b.propFix[n]||n,J.test(n)?!Q&&G.test(n)?e[b.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:b.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!b.support.radioValue&&"radio"===t&&b.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!b.isXMLDoc(e),a&&(n=b.propFix[n]||n,o=b.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):V.test(e.nodeName)||Y.test(e.nodeName)&&e.href?0:t}}}}),z={get:function(e,n){var r=b.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?K&&Q?null!=i:G.test(n)?e[b.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?b.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&b.propFix[n]||n,n):e[b.camelCase("default-"+n)]=e[n]=!0,n}},K&&Q||(b.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return b.nodeName(e,"input")?e.defaultValue:r&&r.specified?r.value:t},set:function(e,n,r){return b.nodeName(e,"input")?(e.defaultValue=n,t):I&&I.set(e,n,r)}}),Q||(I=b.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},b.attrHooks.contenteditable={get:I.get,set:function(e,t,n){I.set(e,""===t?!1:t,n)}},b.each(["width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),b.support.hrefNormalized||(b.each(["href","src","width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),b.each(["href","src"],function(e,t){b.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),b.support.style||(b.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),b.support.optSelected||(b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),b.support.enctype||(b.propFix.enctype="encoding"),b.support.checkOn||b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,n){return b.isArray(n)?e.checked=b.inArray(b(e).val(),n)>=0:t}})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}b.event={global:{},add:function(e,n,r,o,a){var s,u,l,c,p,f,d,h,g,m,y,v=b._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=b.guid++),(u=v.events)||(u=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof b===i||e&&b.event.triggered===e.type?t:b.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(w)||[""],l=n.length;while(l--)s=rt.exec(n[l])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),p=b.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=b.event.special[g]||{},d=b.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&b.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=u[g])||(h=u[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),b.event.global[g]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,p,f,d,h,g,m=b.hasData(e)&&b._data(e);if(m&&(c=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(s=rt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=b.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));u&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||b.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(c)&&(delete m.handle,b._removeData(e,"events"))}},trigger:function(n,r,i,a){var s,u,l,c,p,f,d,h=[i||o],g=y.call(n,"type")?n.type:n,m=y.call(n,"namespace")?n.namespace.split("."):[];if(l=f=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+b.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),u=0>g.indexOf(":")&&"on"+g,n=n[b.expando]?n:new b.Event(g,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:b.makeArray(r,[n]),p=b.event.special[g]||{},a||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!a&&!p.noBubble&&!b.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(l=l.parentNode);l;l=l.parentNode)h.push(l),f=l;f===(i.ownerDocument||o)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((l=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(b._data(l,"events")||{})[n.type]&&b._data(l,"handle"),s&&s.apply(l,r),s=u&&l[u],s&&b.acceptData(l)&&s.apply&&s.apply(l,r)===!1&&n.preventDefault();if(n.type=g,!(a||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===g&&b.nodeName(i,"a")||!b.acceptData(i)||!u||!i[g]||b.isWindow(i))){f=i[u],f&&(i[u]=null),b.event.triggered=g;try{i[g]()}catch(v){}b.event.triggered=t,f&&(i[u]=f)}return n.result}},dispatch:function(e){e=b.event.fix(e);var n,r,i,o,a,s=[],u=h.call(arguments),l=(b._data(this,"events")||{})[e.type]||[],c=b.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=b.event.handlers.call(this,e,l),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((b.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?b(r,this).index(l)>=0:b.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,handlers:n.slice(u)}),s},fix:function(e){if(e[b.expando])return e;var t,n,r,i=e.type,a=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new b.Event(a),t=r.length;while(t--)n=r[t],e[n]=a[n];return e.target||(e.target=a.srcElement||o),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,a,s=n.button,u=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||o,a=i.documentElement,r=i.body,e.pageX=n.clientX+(a&&a.scrollLeft||r&&r.scrollLeft||0)-(a&&a.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||r&&r.scrollTop||0)-(a&&a.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return b.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==o.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===o.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=b.extend(new b.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?b.event.trigger(i,null,t):b.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},b.removeEvent=o.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},b.Event=function(e,n){return this instanceof b.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&b.extend(this,n),this.timeStamp=e&&e.timeStamp||b.now(),this[b.expando]=!0,t):new b.Event(e,n)},b.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj; +return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,b(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){b.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>i.cacheLength&&delete e[t.shift()],e[n]=r}}function ot(e){return e[x]=!0,e}function at(e){var t=p.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function st(e,t,n,r){var i,o,a,s,u,l,f,g,m,v;if((t?t.ownerDocument||t:w)!==p&&c(t),t=t||p,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!d&&!r){if(i=J.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&y(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return H.apply(n,q.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&T.getByClassName&&t.getElementsByClassName)return H.apply(n,q.call(t.getElementsByClassName(a),0)),n}if(T.qsa&&!h.test(e)){if(f=!0,g=x,m=t,v=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){l=ft(e),(f=t.getAttribute("id"))?g=f.replace(K,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=l.length;while(u--)l[u]=g+dt(l[u]);m=V.test(e)&&t.parentNode||t,v=l.join(",")}if(v)try{return H.apply(n,q.call(m.querySelectorAll(v),0)),n}catch(b){}finally{f||t.removeAttribute("id")}}}return wt(e.replace(W,"$1"),t,n,r)}a=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},c=st.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==p&&9===n.nodeType&&n.documentElement?(p=n,f=n.documentElement,d=a(n),T.tagNameNoComments=at(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),T.attributes=at(function(e){e.innerHTML="";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),T.getByClassName=at(function(e){return e.innerHTML="",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),T.getByName=at(function(e){e.id=x+0,e.innerHTML="
    ",f.insertBefore(e,f.firstChild);var t=n.getElementsByName&&n.getElementsByName(x).length===2+n.getElementsByName(x+0).length;return T.getIdNotName=!n.getElementById(x),f.removeChild(e),t}),i.attrHandle=at(function(e){return e.innerHTML="",e.firstChild&&typeof e.firstChild.getAttribute!==A&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},T.getIdNotName?(i.find.ID=function(e,t){if(typeof t.getElementById!==A&&!d){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(i.find.ID=function(e,n){if(typeof n.getElementById!==A&&!d){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==A&&r.getAttributeNode("id").value===e?[r]:t:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!==A&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=T.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==A?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.NAME=T.getByName&&function(e,n){return typeof n.getElementsByName!==A?n.getElementsByName(name):t},i.find.CLASS=T.getByClassName&&function(e,n){return typeof n.getElementsByClassName===A||d?t:n.getElementsByClassName(e)},g=[],h=[":focus"],(T.qsa=rt(n.querySelectorAll))&&(at(function(e){e.innerHTML="",e.querySelectorAll("[selected]").length||h.push("\\["+_+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){e.innerHTML="",e.querySelectorAll("[i^='']").length&&h.push("[*^$]="+_+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(T.matchesSelector=rt(m=f.matchesSelector||f.mozMatchesSelector||f.webkitMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){T.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",R)}),h=RegExp(h.join("|")),g=RegExp(g.join("|")),y=rt(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},v=f.compareDocumentPosition?function(e,t){var r;return e===t?(u=!0,0):(r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&r||e.parentNode&&11===e.parentNode.nodeType?e===n||y(w,e)?-1:t===n||y(w,t)?1:0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return u=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:0;if(o===a)return ut(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?ut(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},u=!1,[0,0].sort(v),T.detectDuplicates=u,p):p},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Z,"='$1']"),!(!T.matchesSelector||d||g&&g.test(t)||h.test(t)))try{var n=m.call(e,t);if(n||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},st.attr=function(e,t){var n;return(e.ownerDocument||e)!==p&&c(e),d||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):d||T.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},st.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},st.uniqueSort=function(e){var t,n=[],r=1,i=0;if(u=!T.detectDuplicates,e.sort(v),u){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e};function ut(e,t){var n=t&&e,r=n&&(~t.sourceIndex||j)-(~e.sourceIndex||j);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pt(e){return ot(function(t){return t=+t,ot(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}o=st.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=st.selectors={cacheLength:50,createPseudo:ot,match:U,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||st.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return U.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&z.test(n)&&(t=ft(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(et,tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[e+" "];return t||(t=RegExp("(^|"+_+")"+e+"("+_+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==A&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=st.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[x]||(m[x]={}),l=c[e]||[],d=l[0]===N&&l[1],f=l[0]===N&&l[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[N,d,f];break}}else if(v&&(l=(t[x]||(t[x]={}))[e])&&l[0]===N)f=l[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[x]||(p[x]={}))[e]=[N,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||st.error("unsupported pseudo: "+e);return r[x]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ot(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=M.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ot(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[x]?ot(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ot(function(e){return function(t){return st(e,t).length>0}}),contains:ot(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ot(function(e){return X.test(e||"")||st.error("unsupported lang: "+e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=d?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[0>n?n+t:n]}),even:pt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[n]=lt(n);for(n in{submit:!0,reset:!0})i.pseudos[n]=ct(n);function ft(e,t){var n,r,o,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=i.preFilter;while(s){(!n||(r=$.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(o=[])),n=!1,(r=I.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W," ")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||l[a]&&!(r=l[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?st.error(e):E(e,u).slice(0)}function dt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function ht(e,t,n){var i=t.dir,o=n&&"parentNode"===i,a=C++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var u,l,c,p=N+" "+a;if(s){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[x]||(t[x]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,s)||r,l[1]===!0)return!0}}function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function mt(e,t,n,r,i){var o,a=[],s=0,u=e.length,l=null!=t;for(;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function yt(e,t,n,r,i,o){return r&&!r[x]&&(r=yt(r)),i&&!i[x]&&(i=yt(i,o)),ot(function(o,a,s,u){var l,c,p,f=[],d=[],h=a.length,g=o||xt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:mt(g,f,e,s,u),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r){l=mt(y,d),r(l,[],s,u),c=l.length;while(c--)(p=l[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?M.call(o,p):f[c])>-1&&(o[l]=!(a[l]=p))}}else y=mt(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function vt(e){var t,n,r,o=e.length,a=i.relative[e[0].type],s=a||i.relative[" "],u=a?1:0,c=ht(function(e){return e===t},s,!0),p=ht(function(e){return M.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>u;u++)if(n=i.relative[e[u].type])f=[ht(gt(f),n)];else{if(n=i.filter[e[u].type].apply(null,e[u].matches),n[x]){for(r=++u;o>r;r++)if(i.relative[e[r].type])break;return yt(u>1&>(f),u>1&&dt(e.slice(0,u-1)).replace(W,"$1"),n,r>u&&vt(e.slice(u,r)),o>r&&vt(e=e.slice(r)),o>r&&dt(e))}f.push(n)}return gt(f)}function bt(e,t){var n=0,o=t.length>0,a=e.length>0,s=function(s,u,c,f,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,T=l,C=s||a&&i.find.TAG("*",d&&u.parentNode||u),k=N+=null==T?1:Math.random()||.1;for(w&&(l=u!==p&&u,r=n);null!=(h=C[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,u,c)){f.push(h);break}w&&(N=k,r=++n)}o&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,o&&b!==v){g=0;while(m=t[g++])m(x,y,u,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=L.call(f));y=mt(y)}H.apply(f,y),w&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(f)}return w&&(N=k,l=T),x};return o?ot(s):s}s=st.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=ft(e)),n=t.length;while(n--)o=vt(t[n]),o[x]?r.push(o):i.push(o);o=S(e,bt(i,r))}return o};function xt(e,t,n){var r=0,i=t.length;for(;i>r;r++)st(e,t[r],n);return n}function wt(e,t,n,r){var o,a,u,l,c,p=ft(e);if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&!d&&i.relative[a[1].type]){if(t=i.find.ID(u.matches[0].replace(et,tt),t)[0],!t)return n;e=e.slice(a.shift().value.length)}o=U.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],i.relative[l=u.type])break;if((c=i.find[l])&&(r=c(u.matches[0].replace(et,tt),V.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=r.length&&dt(a),!e)return H.apply(n,q.call(r,0)),n;break}}}return s(e,p)(r,t,d,n,V.test(e)),n}i.pseudos.nth=i.pseudos.eq;function Tt(){}i.filters=Tt.prototype=i.pseudos,i.setFilters=new Tt,c(),st.attr=b.attr,b.find=st,b.expr=st.selectors,b.expr[":"]=b.expr.pseudos,b.unique=st.uniqueSort,b.text=st.getText,b.isXMLDoc=st.isXML,b.contains=st.contains}(e);var at=/Until$/,st=/^(?:parents|prev(?:Until|All))/,ut=/^.[^:#\[\.,]*$/,lt=b.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};b.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return r=this,this.pushStack(b(e).filter(function(){for(t=0;i>t;t++)if(b.contains(r[t],this))return!0}));for(n=[],t=0;i>t;t++)b.find(e,this[t],n);return n=this.pushStack(i>1?b.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=b(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(b.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1))},filter:function(e){return this.pushStack(ft(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?lt.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],a=lt.test(e)||"string"!=typeof e?b(e,t||this.context):0;for(;i>r;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&11!==n.nodeType){if(a?a.index(n)>-1:b.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}}return this.pushStack(o.length>1?b.unique(o):o)},index:function(e){return e?"string"==typeof e?b.inArray(this[0],b(e)):b.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?b(e,t):b.makeArray(e&&e.nodeType?[e]:e),r=b.merge(this.get(),n);return this.pushStack(b.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.fn.andSelf=b.fn.addBack;function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(e,t,n){return b.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(e,t,n){return b.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return b.dir(e,"previousSibling",n)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.merge([],e.childNodes)}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return at.test(e)||(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),i=this.length>1&&!ct[e]?b.unique(i):i,this.length>1&&st.test(e)&&(i=i.reverse()),this.pushStack(i)}}),b.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?b.find.matchesSelector(t[0],e)?[t[0]]:[]:b.find.matches(e,t)},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!b(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(t=t||0,b.isFunction(t))return b.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return b.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=b.grep(e,function(e){return 1===e.nodeType});if(ut.test(t))return b.filter(t,r,!n);t=b.filter(t,r)}return b.grep(e,function(e){return b.inArray(e,t)>=0===n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/\s*$/g,At={option:[1,""],legend:[1,"
    ","
    "],area:[1,"",""],param:[1,"",""],thead:[1,"","
    "],tr:[2,"","
    "],col:[2,"","
    "],td:[3,"","
    "],_default:b.support.htmlSerialize?[0,"",""]:[1,"X
    ","
    "]},jt=dt(o),Dt=jt.appendChild(o.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,b.fn.extend({text:function(e){return b.access(this,function(e){return e===t?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e))return this.each(function(t){b(this).wrapAll(e.call(this,t))});if(this[0]){var t=b(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return b.isFunction(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b.isFunction(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){b.nodeName(this,"body")||b(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=0;for(;null!=(n=this[r]);r++)(!e||b.filter(e,[n]).length>0)&&(t||1!==n.nodeType||b.cleanData(Ot(n)),n.parentNode&&(t&&b.contains(n.ownerDocument,n)&&Mt(Ot(n,"script")),n.parentNode.removeChild(n)));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&b.cleanData(Ot(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&b.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return b.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!b.support.htmlSerialize&&mt.test(e)||!b.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(b.cleanData(Ot(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=b.isFunction(e);return t||"string"==typeof e||(e=b(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;n&&(b(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=f.apply([],e);var i,o,a,s,u,l,c=0,p=this.length,d=this,h=p-1,g=e[0],m=b.isFunction(g);if(m||!(1>=p||"string"!=typeof g||b.support.checkClone)&&Ct.test(g))return this.each(function(i){var o=d.eq(i);m&&(e[0]=g.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(p&&(l=b.buildFragment(e,this[0].ownerDocument,!1,this),i=l.firstChild,1===l.childNodes.length&&(l=i),i)){for(n=n&&b.nodeName(i,"tr"),s=b.map(Ot(l,"script"),Ht),a=s.length;p>c;c++)o=l,c!==h&&(o=b.clone(o,!0,!0),a&&b.merge(s,Ot(o,"script"))),r.call(n&&b.nodeName(this[c],"table")?Lt(this[c],"tbody"):this[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,b.map(s,qt),c=0;a>c;c++)o=s[c],kt.test(o.type||"")&&!b._data(o,"globalEval")&&b.contains(u,o)&&(o.src?b.ajax({url:o.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):b.globalEval((o.text||o.textContent||o.innerHTML||"").replace(St,"")));l=i=null}return this}});function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function Ht(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Mt(e,t){var n,r=0;for(;null!=(n=e[r]);r++)b._data(n,"globalEval",!t||b._data(t[r],"globalEval"))}function _t(e,t){if(1===t.nodeType&&b.hasData(e)){var n,r,i,o=b._data(e),a=b._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)b.event.add(t,n,s[n][r])}a.data&&(a.data=b.extend({},a.data))}}function Ft(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!b.support.noCloneEvent&&t[b.expando]){i=b._data(t);for(r in i.events)b.removeEvent(t,r,i.handle);t.removeAttribute(b.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),b.support.html5Clone&&e.innerHTML&&!b.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Nt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){var n,r=0,i=[],o=b(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),b(o[r])[t](n),d.apply(i,n.get());return this.pushStack(i)}});function Ot(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||b.nodeName(o,n)?s.push(o):b.merge(s,Ot(o,n));return n===t||n&&b.nodeName(e,n)?b.merge([e],s):s}function Bt(e){Nt.test(e.type)&&(e.defaultChecked=e.checked)}b.extend({clone:function(e,t,n){var r,i,o,a,s,u=b.contains(e.ownerDocument,e);if(b.support.html5Clone||b.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(b.support.noCloneEvent&&b.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(r=Ot(o),s=Ot(e),a=0;null!=(i=s[a]);++a)r[a]&&Ft(i,r[a]);if(t)if(n)for(s=s||Ot(e),r=r||Ot(o),a=0;null!=(i=s[a]);a++)_t(i,r[a]);else _t(e,o);return r=Ot(o,"script"),r.length>0&&Mt(r,!u&&Ot(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,u,l,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===b.type(o))b.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),u=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[u]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!b.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!b.support.tbody){o="table"!==u||xt.test(o)?""!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)b.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l) +}b.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===b.css(e,"display")||!b.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||b.isNumeric(o)?o||0:a):a},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(b.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function un(e){var t=o,n=Gt[e];return n||(n=ln(e,t),"none"!==n&&n||(Pt=(Pt||b("', { diff --git a/data/interfaces/default/newsletters_table.html b/data/interfaces/default/newsletters_table.html index b2c4cb04..5ceaf0a0 100644 --- a/data/interfaces/default/newsletters_table.html +++ b/data/interfaces/default/newsletters_table.html @@ -20,28 +20,13 @@ DOCUMENTATION :: END % else: ${newsletter['agent_label']}  (${newsletter['id']}) % endif - + + % if newsletter_handler.NEWSLETTER_SCHED.get_job('newsletter-{}'.format(newsletter['id'])): <% job = newsletter_handler.NEWSLETTER_SCHED.get_job('newsletter-{}'.format(newsletter['id'])) %> - - - - % endif - % if newsletter['last_triggered']: - <% icon, icon_tooltip = ('fa-check', 'Success') if newsletter['last_success'] else ('fa-times', 'Failed') %> - - - - % else: - Last: never - + % endif diff --git a/data/interfaces/default/notifier_config.html b/data/interfaces/default/notifier_config.html index febace9a..03dde272 100644 --- a/data/interfaces/default/notifier_config.html +++ b/data/interfaces/default/notifier_config.html @@ -12,7 +12,7 @@ @@ -83,7 +83,7 @@
    - +

    ${item['description'] | n}

    @@ -101,7 +101,7 @@ % elif item['input_type'] == 'checkbox':

    ${item['description'] | n}

    @@ -111,16 +111,12 @@
    - % for key, value in sorted(item['select_options'].items()): - % if isinstance(value, list): - - % for option in sorted(value, key=lambda x: x['text'].lower()): - - % endfor - + % if key == item['value']: + % else: - + % endif % endfor @@ -133,11 +129,9 @@
    - - % endif % if isinstance(item['select_options'], dict): % for section, options in item['select_options'].items(): @@ -147,9 +141,7 @@ % endfor % else: - % if item['select_all']: - % endif % for option in sorted(item['select_options'], key=lambda x: x['text'].lower()): % endfor @@ -167,7 +159,7 @@
    - +

    Optional: Enter a description to help identify this agent in the notification agents list.

    @@ -185,7 +177,7 @@ % for action in available_notification_actions:

    ${action['description'] | n}

    @@ -200,15 +192,12 @@ Add custom conditions to only allow certain notifications. By default, all notifications will be sent if there are no conditions. Click here for a description of all the parameters.

    -

    - A tilde (~) can be entered as a value to indicate an empty string. -

    - +

    Optional: Enter custom logic to use when evaluating the conditions (e.g. {1} and ({2} or {3})). @@ -254,7 +243,7 @@

  • - +

    Set custom arguments passed to the script.

    @@ -280,12 +269,12 @@
  • - +

    Set custom JSON headers.

    - +

    Set custom JSON data.

    @@ -311,12 +300,12 @@
  • - +

    Set a custom subject line.

    - +

    Set a custom body.

    @@ -347,7 +336,7 @@
    - % for key, value in sorted(notifier['config_options'][2]['select_options'].items()): % endfor @@ -360,7 +349,7 @@
    - +

    Set custom arguments passed to the script.

    @@ -370,7 +359,7 @@
    - +

    Set custom JSON headers sent to the webhook.

    @@ -379,7 +368,7 @@
    - +

    Set custom JSON data sent to the webhook.

    @@ -389,7 +378,7 @@
    - +

    Set a custom subject line.

    @@ -398,7 +387,7 @@
    - +

    Set a custom body.

    @@ -507,9 +496,6 @@ $('#duplicate-notifier-item').click(function() { var msg = 'Are you sure you want to duplicate this ${notifier["agent_label"]} notification agent?'; - if ($('#set_notifier_config .form-control[id$=_password]').val()) { - msg += '

    Note: Saved passwords will not be copied over and must be re-entered.'; - } var url = 'add_notifier_config'; confirmAjaxCall(url, msg, { agent_id: '${notifier["agent_id"]}' }, null, duplicateCallback); }); @@ -722,12 +708,6 @@ $('#pushover_priority').change( function () { pushoverPriority(); }); - - var $pushover_sound = $('#pushover_sound').selectize({ - create: true - }); - var pushover_sound = $pushover_sound[0].selectize; - pushover_sound.setValue(${json.dumps(next((c['value'] for c in notifier['config_options'] if c['name'] == 'pushover_sound'), [])) | n}); % elif notifier['agent_name'] == 'plexmobileapp': var $plexmobileapp_user_ids = $('#plexmobileapp_user_ids').selectize({ diff --git a/data/interfaces/default/notifiers_table.html b/data/interfaces/default/notifiers_table.html index 1017f7f4..d2bfa55e 100644 --- a/data/interfaces/default/notifiers_table.html +++ b/data/interfaces/default/notifiers_table.html @@ -19,20 +19,7 @@ DOCUMENTATION :: END % else: ${notifier['agent_label']}  (${notifier['id']}) % endif - - % if notifier['last_triggered']: - <% icon, icon_tooltip = ('fa-check', 'Success') if notifier['last_success'] else ('fa-times', 'Failed') %> - - - - % else: - never - - % endif +
  • % endfor diff --git a/data/interfaces/default/recently_added.html b/data/interfaces/default/recently_added.html index 74d5e561..52920817 100644 --- a/data/interfaces/default/recently_added.html +++ b/data/interfaces/default/recently_added.html @@ -36,7 +36,7 @@ DOCUMENTATION :: END %> % if data:
    -
    +
      % for item in data:
      diff --git a/data/interfaces/default/scheduler_table.html b/data/interfaces/default/scheduler_table.html index c4087f17..8d264aa9 100644 --- a/data/interfaces/default/scheduler_table.html +++ b/data/interfaces/default/scheduler_table.html @@ -13,6 +13,8 @@ DOCUMENTATION :: END import datetime import plexpy from plexpy import common, helpers + + scheduled_jobs = [j.id for j in plexpy.SCHED.get_jobs()] %>
    @@ -27,15 +29,16 @@ DOCUMENTATION :: END % for job, job_type in common.SCHEDULER_LIST.items(): + % if job in scheduled_jobs: <% sched_job = plexpy.SCHED.get_job(job) + now = datetime.datetime.now(sched_job.next_run_time.tzinfo) %> - % if sched_job: - + % elif job_type == 'websocket' and plexpy.WS_CONNECTED: diff --git a/data/interfaces/default/search.html b/data/interfaces/default/search.html index 14fff968..023dd9ee 100644 --- a/data/interfaces/default/search.html +++ b/data/interfaces/default/search.html @@ -30,11 +30,8 @@ + + @@ -283,7 +293,7 @@ var valid_pms_token = el.val(); var retValue = {}; - if (valid_pms_token !== "1") { + if (valid_pms_token === "") { retValue.status = false; retValue.msg = "Please authenticate."; $("#pms-token-status").html(' Please authenticate.'); @@ -382,6 +392,7 @@ $(document).ready(function() { return '
    ' + @@ -395,6 +406,7 @@ $(document).ready(function() { return '
    ' + @@ -417,6 +429,7 @@ $(document).ready(function() { var identifier = $(pms_ip_selected).data('identifier'); var ip = $(pms_ip_selected).data('ip'); var port = $(pms_ip_selected).data('port'); + var local = $(pms_ip_selected).data('local'); var ssl = $(pms_ip_selected).data('ssl'); var is_cloud = $(pms_ip_selected).data('is_cloud'); var value = $(pms_ip_selected).data('value'); @@ -427,15 +440,19 @@ $(document).ready(function() { $("#pms_identifier").val(identifier !== 'undefined' ? identifier : ''); $('#pms_ip').val(ip !== 'undefined' ? ip : value); $('#pms_port').val(port !== 'undefined' ? port : 32400); + $('#pms_is_remote_checkbox').prop('checked', (local !== 'undefined' && local === 0)); + $('#pms_is_remote').val(local !== 'undefined' && local === 0 ? 1 : 0); $('#pms_ssl_checkbox').prop('checked', (ssl !== 'undefined' && ssl === 1)); $('#pms_ssl').val(ssl !== 'undefined' && ssl === 1 ? 1 : 0); $('#pms_is_cloud').val(is_cloud !== 'undefined' && is_cloud === true ? 1 : 0); if (is_cloud === true) { $('#pms_port').prop('readonly', true); + $('#pms_is_remote_checkbox').prop('disabled', true); $('#pms_ssl_checkbox').prop('disabled', true); } else { $('#pms_port').prop('readonly', false); + $('#pms_is_remote_checkbox').prop('disabled', false); $('#pms_ssl_checkbox').prop('disabled', false); } }, @@ -445,9 +462,13 @@ $(document).ready(function() { }); var select_pms = $select_pms[0].selectize; - function getServerOptions() { + function getServerOptions(token) { + /* Set token and returns server options */ $.ajax({ url: 'discover', + data: { + token: token + }, success: function (result) { if (result) { var existing_ip = $('#pms_ip').val(); @@ -472,6 +493,7 @@ $(document).ready(function() { var pms_port = $("#pms_port").val().trim(); var pms_identifier = $("#pms_identifier").val(); var pms_ssl = $("#pms_ssl").val(); + var pms_is_remote = $("#pms_is_remote").val(); if ((pms_ip !== '') || (pms_port !== '')) { $("#pms-verify-status").html('  Verifying server...'); $('#pms-verify-status').fadeIn('fast'); @@ -481,7 +503,8 @@ $(document).ready(function() { hostname: pms_ip, port: pms_port, identifier: pms_identifier, - ssl: pms_ssl + ssl: pms_ssl, + remote: pms_is_remote }, cache: true, async: true, @@ -519,22 +542,21 @@ $(document).ready(function() { }); function OAuthPreFunction() { + $("#pms_token").val(''); $("#pms-token-status").html('  Waiting for authentication...').fadeIn('fast'); } function OAuthSuccessCallback(authToken) { - $.post('save_pms_token', { token: authToken, client_id: $('#pms_client_id').val() }, function () { - $("#pms_token_validated").val(1); - getServerOptions(); - }); + $("#pms_token").val(authToken); $("#pms-token-status").html('  Authentication successful.').fadeIn('fast'); authenticated = true; + getServerOptions(authToken); } function OAuthErrorCallback() { $("#pms-token-status").html('  Error communicating with Plex.tv.').fadeIn('fast'); } $('#sign-in-plex').click(function() { - PlexOAuth(OAuthSuccessCallback, OAuthErrorCallback, OAuthPreFunction, $('#pms_client_id').val(uuidv4()).val()); + PlexOAuth(OAuthSuccessCallback, OAuthErrorCallback, OAuthPreFunction); }); }); diff --git a/data/interfaces/default/xml_shortcut.html b/data/interfaces/default/xml_shortcut.html deleted file mode 100644 index f1fd46a4..00000000 --- a/data/interfaces/default/xml_shortcut.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - Tautulli - ${title} - - - - - - - - - - - - - - - - - - - - - - diff --git a/data/interfaces/newsletters/recently_added.html b/data/interfaces/newsletters/recently_added.html index e74d8463..1a78d059 100644 --- a/data/interfaces/newsletters/recently_added.html +++ b/data/interfaces/newsletters/recently_added.html @@ -24,7 +24,6 @@ - Tautulli Newsletter - ${subject} @@ -648,9 +647,9 @@
    ${sched_job.id} Active ${helpers.format_timedelta_Hms(sched_job.trigger.interval)}${helpers.format_timedelta_Hms(sched_job.next_run_time - datetime.datetime.now(sched_job.next_run_time.tzinfo))}${helpers.format_timedelta_Hms(sched_job.next_run_time - now)} ${sched_job.next_run_time.astimezone(plexpy.SYS_TIMEZONE).strftime('%Y-%m-%d %H:%M:%S')}
    - % if movie['rating'] or movie['audience_rating']: - <% rating = int(round(float(movie['rating'] or movie['audience_rating']) / 2)) %> - + % if movie['rating']: + <% rating = int(round(float(movie['rating']) / 2)) %> + % for _ in range(rating): @@ -801,9 +800,9 @@
    - % if show['rating'] or show['audience_rating']: - <% rating = int(round(float(show['rating'] or show['audience_rating']) / 2)) %> - + % if show['rating']: + <% rating = int(round(float(show['rating']) / 2)) %> + % for _ in range(rating): @@ -917,9 +916,9 @@
    - % if album['rating'] or album['audience_rating']: - <% rating = int(round(float(album['rating'] or album['audience_rating']) / 2)) %> - + % if album['rating']: + <% rating = int(round(float(album['rating']) / 2)) %> + % for _ in range(rating): @@ -1035,9 +1034,9 @@
    - % if video['rating'] or video['audience_rating']: - <% rating = int(round(float(video['rating'] or video['audience_rating']) / 2)) %> - + % if video['rating']: + <% rating = int(round(float(video['rating']) / 2)) %> + % for _ in range(rating): diff --git a/data/interfaces/newsletters/recently_added.internal.html b/data/interfaces/newsletters/recently_added.internal.html index edf7edc6..4a9a1729 100644 --- a/data/interfaces/newsletters/recently_added.internal.html +++ b/data/interfaces/newsletters/recently_added.internal.html @@ -24,7 +24,6 @@ - Tautulli Newsletter - ${subject} @@ -648,9 +647,9 @@
    - % if movie['rating'] or movie['audience_rating']: - <% rating = int(round(float(movie['rating'] or movie['audience_rating']) / 2)) %> - + % if movie['rating']: + <% rating = int(round(float(movie['rating']) / 2)) %> + % for _ in range(rating): @@ -801,9 +800,9 @@
    - % if show['rating'] or show['audience_rating']: - <% rating = int(round(float(show['rating'] or show['audience_rating']) / 2)) %> - + % if show['rating']: + <% rating = int(round(float(show['rating']) / 2)) %> + % for _ in range(rating): @@ -917,9 +916,9 @@
    - % if album['rating'] or album['audience_rating']: - <% rating = int(round(float(album['rating'] or album['audience_rating']) / 2)) %> - + % if album['rating']: + <% rating = int(round(float(album['rating']) / 2)) %> + % for _ in range(rating): @@ -1035,9 +1034,9 @@
    - % if video['rating'] or video['audience_rating']: - <% rating = int(round(float(video['rating'] or video['audience_rating']) / 2)) %> - + % if video['rating']: + <% rating = int(round(float(video['rating']) / 2)) %> + % for _ in range(rating): diff --git a/lib/IPy.py b/lib/IPy.py index 3cddf291..d1ea8457 100644 --- a/lib/IPy.py +++ b/lib/IPy.py @@ -6,14 +6,12 @@ Further Information might be available at: https://github.com/haypo/python-ipy """ -__version__ = '1.01' +__version__ = '0.83' import bisect +import collections +import sys import types -try: - import collections.abc as collections_abc -except ImportError: - import collections as collections_abc # Definition of the Ranges for IPv4 IPs # this should include www.iana.org/assignments/ipv4-address-space @@ -23,7 +21,7 @@ IPv4ranges = { '00000000': 'PRIVATE', # 0/8 '00001010': 'PRIVATE', # 10/8 '0110010001': 'CARRIER_GRADE_NAT', #100.64/10 - '01111111': 'LOOPBACK', # 127.0/8 + '01111111': 'PRIVATE', # 127.0/8 '1': 'PUBLIC', # fall back '1010100111111110': 'PRIVATE', # 169.254/16 '101011000001': 'PRIVATE', # 172.16/12 @@ -123,14 +121,13 @@ MAX_IPV6_ADDRESS = 0xffffffffffffffffffffffffffffffff IPV6_TEST_MAP = 0xffffffffffffffffffffffff00000000 IPV6_MAP_MASK = 0x00000000000000000000ffff00000000 -try: - INT_TYPES = (int, long) - STR_TYPES = (str, unicode) - xrange -except NameError: +if sys.version_info >= (3,): INT_TYPES = (int,) STR_TYPES = (str,) xrange = range +else: + INT_TYPES = (int, long) + STR_TYPES = (str, unicode) class IPint(object): @@ -246,7 +243,7 @@ class IPint(object): else: raise ValueError("can't parse") - (self.ip, parsedVersion) = parseAddress(ip, ipversion) + (self.ip, parsedVersion) = parseAddress(ip) if ipversion == 0: ipversion = parsedVersion if prefixlen == -1: @@ -478,7 +475,7 @@ class IPint(object): """Return a description of the IP type ('PRIVATE', 'RESERVED', etc). >>> print(IP('127.0.0.1').iptype()) - LOOPBACK + PRIVATE >>> print(IP('192.168.1.1').iptype()) PRIVATE >>> print(IP('195.185.1.2').iptype()) @@ -561,8 +558,6 @@ class IPint(object): """ return True - def __bool__(self): - return self.__nonzero__() def __len__(self): """ @@ -774,9 +769,6 @@ class IPint(object): def __lt__(self, other): return self.__cmp__(other) < 0 - def __le__(self, other): - return self.__cmp__(other) <= 0 - def __hash__(self): """Called for the key object for dictionary operations, and by the built-in function hash(). Should return a 32-bit integer @@ -1025,10 +1017,10 @@ class IP(IPint): raise ValueError("%s cannot be converted to an IPv4 address." % repr(self)) -class IPSet(collections_abc.MutableSet): +class IPSet(collections.MutableSet): def __init__(self, iterable=[]): # Make sure it's iterable, otherwise wrap - if not isinstance(iterable, collections_abc.Iterable): + if not isinstance(iterable, collections.Iterable): raise TypeError("'%s' object is not iterable" % type(iterable).__name__) # Make sure we only accept IP objects @@ -1102,7 +1094,7 @@ class IPSet(collections_abc.MutableSet): def add(self, value): # Make sure it's iterable, otherwise wrap - if not isinstance(value, collections_abc.Iterable): + if not isinstance(value, collections.Iterable): value = [value] # Check type @@ -1116,7 +1108,7 @@ class IPSet(collections_abc.MutableSet): def discard(self, value): # Make sure it's iterable, otherwise wrap - if not isinstance(value, collections_abc.Iterable): + if not isinstance(value, collections.Iterable): value = [value] # This is much faster than iterating over the addresses @@ -1344,7 +1336,7 @@ def _parseAddressIPv6(ipstr): index += 1 return value -def parseAddress(ipstr, ipversion=0): +def parseAddress(ipstr): """ Parse a string and return the corresponding IP address (as integer) and a guess of the IP version. @@ -1413,7 +1405,7 @@ def parseAddress(ipstr, ipversion=0): # assume IPv6 in pure hexadecimal notation return (hexval, 6) - elif ipstr.find('.') != -1 or (intval is not None and intval < 256 and ipversion != 6): + elif ipstr.find('.') != -1 or (intval is not None and intval < 256): # assume IPv4 ('127' gets interpreted as '127.0.0.0') bytes = ipstr.split('.') if len(bytes) > 4: @@ -1431,7 +1423,7 @@ def parseAddress(ipstr, ipversion=0): # will be interpreted as IPv4 first byte if intval > MAX_IPV6_ADDRESS: raise ValueError("IP Address can't be larger than %x: %x" % (MAX_IPV6_ADDRESS, intval)) - if intval <= MAX_IPV4_ADDRESS and ipversion != 6: + if intval <= MAX_IPV4_ADDRESS: return (intval, 4) else: return (intval, 6) diff --git a/lib/UniversalAnalytics/HTTPLog.py b/lib/UniversalAnalytics/HTTPLog.py new file mode 100644 index 00000000..a8fc906d --- /dev/null +++ b/lib/UniversalAnalytics/HTTPLog.py @@ -0,0 +1,121 @@ +#!/usr/bin/python +############################################################################### +# Formatting filter for urllib2's HTTPHandler(debuglevel=1) output +# Copyright (c) 2013, Analytics Pros +# +# This project is free software, distributed under the BSD license. +# Analytics Pros offers consulting and integration services if your firm needs +# assistance in strategy, implementation, or auditing existing work. +############################################################################### + + +import sys, re, os +from io import StringIO + + + +class BufferTranslator(object): + """ Provides a buffer-compatible interface for filtering buffer content. + """ + parsers = [] + + def __init__(self, output): + self.output = output + self.encoding = getattr(output, 'encoding', None) + + def write(self, content): + content = self.translate(content) + self.output.write(content) + + + @staticmethod + def stripslashes(content): + return content.decode('string_escape') + + @staticmethod + def addslashes(content): + return content.encode('string_escape') + + def translate(self, line): + for pattern, method in self.parsers: + match = pattern.match(line) + if match: + return method(match) + + return line + + + +class LineBufferTranslator(BufferTranslator): + """ Line buffer implementation supports translation of line-format input + even when input is not already line-buffered. Caches input until newlines + occur, and then dispatches translated input to output buffer. + """ + def __init__(self, *a, **kw): + self._linepending = [] + super(LineBufferTranslator, self).__init__(*a, **kw) + + def write(self, _input): + lines = _input.splitlines(True) + for i in range(0, len(lines)): + last = i + if lines[i].endswith('\n'): + prefix = len(self._linepending) and ''.join(self._linepending) or '' + self.output.write(self.translate(prefix + lines[i])) + del self._linepending[0:] + last = -1 + + if last >= 0: + self._linepending.append(lines[ last ]) + + + def __del__(self): + if len(self._linepending): + self.output.write(self.translate(''.join(self._linepending))) + + +class HTTPTranslator(LineBufferTranslator): + """ Translates output from |urllib2| HTTPHandler(debuglevel = 1) into + HTTP-compatible, readible text structures for human analysis. + """ + + RE_LINE_PARSER = re.compile(r'^(?:([a-z]+):)\s*(\'?)([^\r\n]*)\2(?:[\r\n]*)$') + RE_LINE_BREAK = re.compile(r'(\r?\n|(?:\\r)?\\n)') + RE_HTTP_METHOD = re.compile(r'^(POST|GET|HEAD|DELETE|PUT|TRACE|OPTIONS)') + RE_PARAMETER_SPACER = re.compile(r'&([a-z0-9]+)=') + + @classmethod + def spacer(cls, line): + return cls.RE_PARAMETER_SPACER.sub(r' &\1= ', line) + + def translate(self, line): + + parsed = self.RE_LINE_PARSER.match(line) + + if parsed: + value = parsed.group(3) + stage = parsed.group(1) + + if stage == 'send': # query string is rendered here + return '\n# HTTP Request:\n' + self.stripslashes(value) + elif stage == 'reply': + return '\n\n# HTTP Response:\n' + self.stripslashes(value) + elif stage == 'header': + return value + '\n' + else: + return value + + + return line + + +def consume(outbuffer = None): # Capture standard output + sys.stdout = HTTPTranslator(outbuffer or sys.stdout) + return sys.stdout + + +if __name__ == '__main__': + consume(sys.stdout).write(sys.stdin.read()) + print('\n') + +# vim: set nowrap tabstop=4 shiftwidth=4 softtabstop=0 expandtab textwidth=0 filetype=python foldmethod=indent foldcolumn=4 diff --git a/lib/UniversalAnalytics/Tracker.py b/lib/UniversalAnalytics/Tracker.py new file mode 100644 index 00000000..b7d9476e --- /dev/null +++ b/lib/UniversalAnalytics/Tracker.py @@ -0,0 +1,424 @@ +from future.moves.urllib.request import urlopen, build_opener, install_opener +from future.moves.urllib.request import Request, HTTPSHandler +from future.moves.urllib.error import URLError, HTTPError +from future.moves.urllib.parse import urlencode + +import random +import datetime +import time +import uuid +import hashlib +import socket + + +def generate_uuid(basedata=None): + """ Provides a _random_ UUID with no input, or a UUID4-format MD5 checksum of any input data provided """ + if basedata is None: + return str(uuid.uuid4()) + elif isinstance(basedata, str): + checksum = hashlib.md5(str(basedata).encode('utf-8')).hexdigest() + return '%8s-%4s-%4s-%4s-%12s' % ( + checksum[0:8], checksum[8:12], checksum[12:16], checksum[16:20], checksum[20:32]) + + +class Time(datetime.datetime): + """ Wrappers and convenience methods for processing various time representations """ + + @classmethod + def from_unix(cls, seconds, milliseconds=0): + """ Produce a full |datetime.datetime| object from a Unix timestamp """ + base = list(time.gmtime(seconds))[0:6] + base.append(milliseconds * 1000) # microseconds + return cls(*base) + + @classmethod + def to_unix(cls, timestamp): + """ Wrapper over time module to produce Unix epoch time as a float """ + if not isinstance(timestamp, datetime.datetime): + raise TypeError('Time.milliseconds expects a datetime object') + base = time.mktime(timestamp.timetuple()) + return base + + @classmethod + def milliseconds_offset(cls, timestamp, now=None): + """ Offset time (in milliseconds) from a |datetime.datetime| object to now """ + if isinstance(timestamp, (int, float)): + base = timestamp + else: + base = cls.to_unix(timestamp) + base = base + (timestamp.microsecond / 1000000) + if now is None: + now = time.time() + return (now - base) * 1000 + + +class HTTPRequest(object): + """ URL Construction and request handling abstraction. + This is not intended to be used outside this module. + + Automates mapping of persistent state (i.e. query parameters) + onto transcient datasets for each query. + """ + + endpoint = 'https://www.google-analytics.com/collect' + + @staticmethod + def debug(): + """ Activate debugging on urllib2 """ + handler = HTTPSHandler(debuglevel=1) + opener = build_opener(handler) + install_opener(opener) + + # Store properties for all requests + def __init__(self, user_agent=None, *args, **opts): + self.user_agent = user_agent or 'Analytics Pros - Universal Analytics (Python)' + + @classmethod + def fixUTF8(cls, data): # Ensure proper encoding for UA's servers... + """ Convert all strings to UTF-8 """ + for key in data: + if isinstance(data[key], str): + data[key] = data[key].encode('utf-8') + return data + + # Apply stored properties to the given dataset & POST to the configured endpoint + def send(self, data): + request = Request( + self.endpoint + '?' + urlencode(self.fixUTF8(data)).encode('utf-8'), + headers={ + 'User-Agent': self.user_agent + } + ) + self.open(request) + + def open(self, request): + try: + return urlopen(request) + except HTTPError as e: + return False + except URLError as e: + self.cache_request(request) + return False + + def cache_request(self, request): + # TODO: implement a proper caching mechanism here for re-transmitting hits + # record = (Time.now(), request.get_full_url(), request.get_data(), request.headers) + pass + + +class HTTPPost(HTTPRequest): + + # Apply stored properties to the given dataset & POST to the configured endpoint + def send(self, data): + request = Request( + self.endpoint, + data=urlencode(self.fixUTF8(data)).encode('utf-8'), + headers={ + 'User-Agent': self.user_agent + } + ) + self.open(request) + + +class Tracker(object): + """ Primary tracking interface for Universal Analytics """ + params = None + parameter_alias = {} + valid_hittypes = ('pageview', 'event', 'social', 'screenview', 'transaction', 'item', 'exception', 'timing') + + @classmethod + def alias(cls, typemap, base, *names): + """ Declare an alternate (humane) name for a measurement protocol parameter """ + cls.parameter_alias[base] = (typemap, base) + for i in names: + cls.parameter_alias[i] = (typemap, base) + + @classmethod + def coerceParameter(cls, name, value=None): + if isinstance(name, str) and name[0] == '&': + return name[1:], str(value) + elif name in cls.parameter_alias: + typecast, param_name = cls.parameter_alias.get(name) + return param_name, typecast(value) + else: + raise KeyError('Parameter "{0}" is not recognized'.format(name)) + + def payload(self, data): + for key, value in data.items(): + try: + yield self.coerceParameter(key, value) + except KeyError: + continue + + option_sequence = { + 'pageview': [(str, 'dp')], + 'event': [(str, 'ec'), (str, 'ea'), (str, 'el'), (int, 'ev')], + 'social': [(str, 'sn'), (str, 'sa'), (str, 'st')], + 'timing': [(str, 'utc'), (str, 'utv'), (str, 'utt'), (str, 'utl')] + } + + @classmethod + def consume_options(cls, data, hittype, args): + """ Interpret sequential arguments related to known hittypes based on declared structures """ + opt_position = 0 + data['t'] = hittype # integrate hit type parameter + if hittype in cls.option_sequence: + for expected_type, optname in cls.option_sequence[hittype]: + if opt_position < len(args) and isinstance(args[opt_position], expected_type): + data[optname] = args[opt_position] + opt_position += 1 + + @classmethod + def hittime(cls, timestamp=None, age=None, milliseconds=None): + """ Returns an integer represeting the milliseconds offset for a given hit (relative to now) """ + if isinstance(timestamp, (int, float)): + return int(Time.milliseconds_offset(Time.from_unix(timestamp, milliseconds=milliseconds))) + if isinstance(timestamp, datetime.datetime): + return int(Time.milliseconds_offset(timestamp)) + if isinstance(age, (int, float)): + return int(age * 1000) + (milliseconds or 0) + + @property + def account(self): + return self.params.get('tid', None) + + def __init__(self, account, name=None, client_id=None, hash_client_id=False, user_id=None, user_agent=None, + use_post=True): + + if use_post is False: + self.http = HTTPRequest(user_agent=user_agent) + else: + self.http = HTTPPost(user_agent=user_agent) + + self.params = {'v': 1, 'tid': account} + + if client_id is None: + client_id = generate_uuid() + + self.params['cid'] = client_id + + self.hash_client_id = hash_client_id + + if user_id is not None: + self.params['uid'] = user_id + + def set_timestamp(self, data): + """ Interpret time-related options, apply queue-time parameter as needed """ + if 'hittime' in data: # an absolute timestamp + data['qt'] = self.hittime(timestamp=data.pop('hittime', None)) + if 'hitage' in data: # a relative age (in seconds) + data['qt'] = self.hittime(age=data.pop('hitage', None)) + + def send(self, hittype, *args, **data): + """ Transmit HTTP requests to Google Analytics using the measurement protocol """ + + if hittype not in self.valid_hittypes: + raise KeyError('Unsupported Universal Analytics Hit Type: {0}'.format(repr(hittype))) + + self.set_timestamp(data) + self.consume_options(data, hittype, args) + + for item in args: # process dictionary-object arguments of transcient data + if isinstance(item, dict): + for key, val in self.payload(item): + data[key] = val + + for k, v in self.params.items(): # update only absent parameters + if k not in data: + data[k] = v + + data = dict(self.payload(data)) + + if self.hash_client_id: + data['cid'] = generate_uuid(data['cid']) + + # Transmit the hit to Google... + self.http.send(data) + + # Setting persistent attibutes of the session/hit/etc (inc. custom dimensions/metrics) + def set(self, name, value=None): + if isinstance(name, dict): + for key, value in name.items(): + try: + param, value = self.coerceParameter(key, value) + self.params[param] = value + except KeyError: + pass + elif isinstance(name, str): + try: + param, value = self.coerceParameter(name, value) + self.params[param] = value + except KeyError: + pass + + def __getitem__(self, name): + param, value = self.coerceParameter(name, None) + return self.params.get(param, None) + + def __setitem__(self, name, value): + param, value = self.coerceParameter(name, value) + self.params[param] = value + + def __delitem__(self, name): + param, value = self.coerceParameter(name, None) + if param in self.params: + del self.params[param] + + +def safe_unicode(obj): + """ Safe convertion to the Unicode string version of the object """ + try: + return str(obj) + except UnicodeDecodeError: + return obj.decode('utf-8') + + +# Declaring name mappings for Measurement Protocol parameters +MAX_CUSTOM_DEFINITIONS = 200 +MAX_EC_LISTS = 11 # 1-based index +MAX_EC_PRODUCTS = 11 # 1-based index +MAX_EC_PROMOTIONS = 11 # 1-based index + +Tracker.alias(int, 'v', 'protocol-version') +Tracker.alias(safe_unicode, 'cid', 'client-id', 'clientId', 'clientid') +Tracker.alias(safe_unicode, 'tid', 'trackingId', 'account') +Tracker.alias(safe_unicode, 'uid', 'user-id', 'userId', 'userid') +Tracker.alias(safe_unicode, 'uip', 'user-ip', 'userIp', 'ipaddr') +Tracker.alias(safe_unicode, 'ua', 'userAgent', 'userAgentOverride', 'user-agent') +Tracker.alias(safe_unicode, 'dp', 'page', 'path') +Tracker.alias(safe_unicode, 'dt', 'title', 'pagetitle', 'pageTitle' 'page-title') +Tracker.alias(safe_unicode, 'dl', 'location') +Tracker.alias(safe_unicode, 'dh', 'hostname') +Tracker.alias(safe_unicode, 'sc', 'sessioncontrol', 'session-control', 'sessionControl') +Tracker.alias(safe_unicode, 'dr', 'referrer', 'referer') +Tracker.alias(int, 'qt', 'queueTime', 'queue-time') +Tracker.alias(safe_unicode, 't', 'hitType', 'hittype') +Tracker.alias(int, 'aip', 'anonymizeIp', 'anonIp', 'anonymize-ip') +Tracker.alias(safe_unicode, 'ds', 'dataSource', 'data-source') + +# Campaign attribution +Tracker.alias(safe_unicode, 'cn', 'campaign', 'campaignName', 'campaign-name') +Tracker.alias(safe_unicode, 'cs', 'source', 'campaignSource', 'campaign-source') +Tracker.alias(safe_unicode, 'cm', 'medium', 'campaignMedium', 'campaign-medium') +Tracker.alias(safe_unicode, 'ck', 'keyword', 'campaignKeyword', 'campaign-keyword') +Tracker.alias(safe_unicode, 'cc', 'content', 'campaignContent', 'campaign-content') +Tracker.alias(safe_unicode, 'ci', 'campaignId', 'campaignID', 'campaign-id') + +# Technical specs +Tracker.alias(safe_unicode, 'sr', 'screenResolution', 'screen-resolution', 'resolution') +Tracker.alias(safe_unicode, 'vp', 'viewport', 'viewportSize', 'viewport-size') +Tracker.alias(safe_unicode, 'de', 'encoding', 'documentEncoding', 'document-encoding') +Tracker.alias(int, 'sd', 'colors', 'screenColors', 'screen-colors') +Tracker.alias(safe_unicode, 'ul', 'language', 'user-language', 'userLanguage') + +# Mobile app +Tracker.alias(safe_unicode, 'an', 'appName', 'app-name', 'app') +Tracker.alias(safe_unicode, 'cd', 'contentDescription', 'screenName', 'screen-name', 'content-description') +Tracker.alias(safe_unicode, 'av', 'appVersion', 'app-version', 'version') +Tracker.alias(safe_unicode, 'aid', 'appID', 'appId', 'application-id', 'app-id', 'applicationId') +Tracker.alias(safe_unicode, 'aiid', 'appInstallerId', 'app-installer-id') + +# Ecommerce +Tracker.alias(safe_unicode, 'ta', 'affiliation', 'transactionAffiliation', 'transaction-affiliation') +Tracker.alias(safe_unicode, 'ti', 'transaction', 'transactionId', 'transaction-id') +Tracker.alias(float, 'tr', 'revenue', 'transactionRevenue', 'transaction-revenue') +Tracker.alias(float, 'ts', 'shipping', 'transactionShipping', 'transaction-shipping') +Tracker.alias(float, 'tt', 'tax', 'transactionTax', 'transaction-tax') +Tracker.alias(safe_unicode, 'cu', 'currency', 'transactionCurrency', + 'transaction-currency') # Currency code, e.g. USD, EUR +Tracker.alias(safe_unicode, 'in', 'item-name', 'itemName') +Tracker.alias(float, 'ip', 'item-price', 'itemPrice') +Tracker.alias(float, 'iq', 'item-quantity', 'itemQuantity') +Tracker.alias(safe_unicode, 'ic', 'item-code', 'sku', 'itemCode') +Tracker.alias(safe_unicode, 'iv', 'item-variation', 'item-category', 'itemCategory', 'itemVariation') + +# Events +Tracker.alias(safe_unicode, 'ec', 'event-category', 'eventCategory', 'category') +Tracker.alias(safe_unicode, 'ea', 'event-action', 'eventAction', 'action') +Tracker.alias(safe_unicode, 'el', 'event-label', 'eventLabel', 'label') +Tracker.alias(int, 'ev', 'event-value', 'eventValue', 'value') +Tracker.alias(int, 'ni', 'noninteractive', 'nonInteractive', 'noninteraction', 'nonInteraction') + +# Social +Tracker.alias(safe_unicode, 'sa', 'social-action', 'socialAction') +Tracker.alias(safe_unicode, 'sn', 'social-network', 'socialNetwork') +Tracker.alias(safe_unicode, 'st', 'social-target', 'socialTarget') + +# Exceptions +Tracker.alias(safe_unicode, 'exd', 'exception-description', 'exceptionDescription', 'exDescription') +Tracker.alias(int, 'exf', 'exception-fatal', 'exceptionFatal', 'exFatal') + +# User Timing +Tracker.alias(safe_unicode, 'utc', 'timingCategory', 'timing-category') +Tracker.alias(safe_unicode, 'utv', 'timingVariable', 'timing-variable') +Tracker.alias(float, 'utt', 'time', 'timingTime', 'timing-time') +Tracker.alias(safe_unicode, 'utl', 'timingLabel', 'timing-label') +Tracker.alias(float, 'dns', 'timingDNS', 'timing-dns') +Tracker.alias(float, 'pdt', 'timingPageLoad', 'timing-page-load') +Tracker.alias(float, 'rrt', 'timingRedirect', 'timing-redirect') +Tracker.alias(safe_unicode, 'tcp', 'timingTCPConnect', 'timing-tcp-connect') +Tracker.alias(safe_unicode, 'srt', 'timingServerResponse', 'timing-server-response') + +# Custom dimensions and metrics +for i in range(0, 200): + Tracker.alias(safe_unicode, 'cd{0}'.format(i), 'dimension{0}'.format(i)) + Tracker.alias(int, 'cm{0}'.format(i), 'metric{0}'.format(i)) + +# Content groups +for i in range(0, 5): + Tracker.alias(safe_unicode, 'cg{0}'.format(i), 'contentGroup{0}'.format(i)) + +# Enhanced Ecommerce +Tracker.alias(str, 'pa') # Product action +Tracker.alias(str, 'tcc') # Coupon code +Tracker.alias(str, 'pal') # Product action list +Tracker.alias(int, 'cos') # Checkout step +Tracker.alias(str, 'col') # Checkout step option + +Tracker.alias(str, 'promoa') # Promotion action + +for product_index in range(1, MAX_EC_PRODUCTS): + Tracker.alias(str, 'pr{0}id'.format(product_index)) # Product SKU + Tracker.alias(str, 'pr{0}nm'.format(product_index)) # Product name + Tracker.alias(str, 'pr{0}br'.format(product_index)) # Product brand + Tracker.alias(str, 'pr{0}ca'.format(product_index)) # Product category + Tracker.alias(str, 'pr{0}va'.format(product_index)) # Product variant + Tracker.alias(str, 'pr{0}pr'.format(product_index)) # Product price + Tracker.alias(int, 'pr{0}qt'.format(product_index)) # Product quantity + Tracker.alias(str, 'pr{0}cc'.format(product_index)) # Product coupon code + Tracker.alias(int, 'pr{0}ps'.format(product_index)) # Product position + + for custom_index in range(MAX_CUSTOM_DEFINITIONS): + Tracker.alias(str, 'pr{0}cd{1}'.format(product_index, custom_index)) # Product custom dimension + Tracker.alias(int, 'pr{0}cm{1}'.format(product_index, custom_index)) # Product custom metric + + for list_index in range(1, MAX_EC_LISTS): + Tracker.alias(str, 'il{0}pi{1}id'.format(list_index, product_index)) # Product impression SKU + Tracker.alias(str, 'il{0}pi{1}nm'.format(list_index, product_index)) # Product impression name + Tracker.alias(str, 'il{0}pi{1}br'.format(list_index, product_index)) # Product impression brand + Tracker.alias(str, 'il{0}pi{1}ca'.format(list_index, product_index)) # Product impression category + Tracker.alias(str, 'il{0}pi{1}va'.format(list_index, product_index)) # Product impression variant + Tracker.alias(int, 'il{0}pi{1}ps'.format(list_index, product_index)) # Product impression position + Tracker.alias(int, 'il{0}pi{1}pr'.format(list_index, product_index)) # Product impression price + + for custom_index in range(MAX_CUSTOM_DEFINITIONS): + Tracker.alias(str, 'il{0}pi{1}cd{2}'.format(list_index, product_index, + custom_index)) # Product impression custom dimension + Tracker.alias(int, 'il{0}pi{1}cm{2}'.format(list_index, product_index, + custom_index)) # Product impression custom metric + +for list_index in range(1, MAX_EC_LISTS): + Tracker.alias(str, 'il{0}nm'.format(list_index)) # Product impression list name + +for promotion_index in range(1, MAX_EC_PROMOTIONS): + Tracker.alias(str, 'promo{0}id'.format(promotion_index)) # Promotion ID + Tracker.alias(str, 'promo{0}nm'.format(promotion_index)) # Promotion name + Tracker.alias(str, 'promo{0}cr'.format(promotion_index)) # Promotion creative + Tracker.alias(str, 'promo{0}ps'.format(promotion_index)) # Promotion position + + +# Shortcut for creating trackers +def create(account, *args, **kwargs): + return Tracker(account, *args, **kwargs) + +# vim: set nowrap tabstop=4 shiftwidth=4 softtabstop=0 expandtab textwidth=0 filetype=python foldmethod=indent foldcolumn=4 diff --git a/lib/UniversalAnalytics/__init__.py b/lib/UniversalAnalytics/__init__.py new file mode 100644 index 00000000..0d8817d6 --- /dev/null +++ b/lib/UniversalAnalytics/__init__.py @@ -0,0 +1 @@ +from . import Tracker \ No newline at end of file diff --git a/lib/annotated_types/__init__.py b/lib/annotated_types/__init__.py deleted file mode 100644 index 2f989504..00000000 --- a/lib/annotated_types/__init__.py +++ /dev/null @@ -1,396 +0,0 @@ -import math -import sys -from dataclasses import dataclass -from datetime import timezone -from typing import TYPE_CHECKING, Any, Callable, Iterator, Optional, SupportsFloat, SupportsIndex, TypeVar, Union - -if sys.version_info < (3, 8): - from typing_extensions import Protocol, runtime_checkable -else: - from typing import Protocol, runtime_checkable - -if sys.version_info < (3, 9): - from typing_extensions import Annotated, Literal -else: - from typing import Annotated, Literal - -if sys.version_info < (3, 10): - EllipsisType = type(Ellipsis) - KW_ONLY = {} - SLOTS = {} -else: - from types import EllipsisType - - KW_ONLY = {"kw_only": True} - SLOTS = {"slots": True} - - -__all__ = ( - 'BaseMetadata', - 'GroupedMetadata', - 'Gt', - 'Ge', - 'Lt', - 'Le', - 'Interval', - 'MultipleOf', - 'MinLen', - 'MaxLen', - 'Len', - 'Timezone', - 'Predicate', - 'LowerCase', - 'UpperCase', - 'IsDigits', - 'IsFinite', - 'IsNotFinite', - 'IsNan', - 'IsNotNan', - 'IsInfinite', - 'IsNotInfinite', - 'doc', - 'DocInfo', - '__version__', -) - -__version__ = '0.6.0' - - -T = TypeVar('T') - - -# arguments that start with __ are considered -# positional only -# see https://peps.python.org/pep-0484/#positional-only-arguments - - -class SupportsGt(Protocol): - def __gt__(self: T, __other: T) -> bool: - ... - - -class SupportsGe(Protocol): - def __ge__(self: T, __other: T) -> bool: - ... - - -class SupportsLt(Protocol): - def __lt__(self: T, __other: T) -> bool: - ... - - -class SupportsLe(Protocol): - def __le__(self: T, __other: T) -> bool: - ... - - -class SupportsMod(Protocol): - def __mod__(self: T, __other: T) -> T: - ... - - -class SupportsDiv(Protocol): - def __div__(self: T, __other: T) -> T: - ... - - -class BaseMetadata: - """Base class for all metadata. - - This exists mainly so that implementers - can do `isinstance(..., BaseMetadata)` while traversing field annotations. - """ - - __slots__ = () - - -@dataclass(frozen=True, **SLOTS) -class Gt(BaseMetadata): - """Gt(gt=x) implies that the value must be greater than x. - - It can be used with any type that supports the ``>`` operator, - including numbers, dates and times, strings, sets, and so on. - """ - - gt: SupportsGt - - -@dataclass(frozen=True, **SLOTS) -class Ge(BaseMetadata): - """Ge(ge=x) implies that the value must be greater than or equal to x. - - It can be used with any type that supports the ``>=`` operator, - including numbers, dates and times, strings, sets, and so on. - """ - - ge: SupportsGe - - -@dataclass(frozen=True, **SLOTS) -class Lt(BaseMetadata): - """Lt(lt=x) implies that the value must be less than x. - - It can be used with any type that supports the ``<`` operator, - including numbers, dates and times, strings, sets, and so on. - """ - - lt: SupportsLt - - -@dataclass(frozen=True, **SLOTS) -class Le(BaseMetadata): - """Le(le=x) implies that the value must be less than or equal to x. - - It can be used with any type that supports the ``<=`` operator, - including numbers, dates and times, strings, sets, and so on. - """ - - le: SupportsLe - - -@runtime_checkable -class GroupedMetadata(Protocol): - """A grouping of multiple BaseMetadata objects. - - `GroupedMetadata` on its own is not metadata and has no meaning. - All it the the constraint and metadata should be fully expressable - in terms of the `BaseMetadata`'s returned by `GroupedMetadata.__iter__()`. - - Concrete implementations should override `GroupedMetadata.__iter__()` - to add their own metadata. - For example: - - >>> @dataclass - >>> class Field(GroupedMetadata): - >>> gt: float | None = None - >>> description: str | None = None - ... - >>> def __iter__(self) -> Iterable[BaseMetadata]: - >>> if self.gt is not None: - >>> yield Gt(self.gt) - >>> if self.description is not None: - >>> yield Description(self.gt) - - Also see the implementation of `Interval` below for an example. - - Parsers should recognize this and unpack it so that it can be used - both with and without unpacking: - - - `Annotated[int, Field(...)]` (parser must unpack Field) - - `Annotated[int, *Field(...)]` (PEP-646) - """ # noqa: trailing-whitespace - - @property - def __is_annotated_types_grouped_metadata__(self) -> Literal[True]: - return True - - def __iter__(self) -> Iterator[BaseMetadata]: - ... - - if not TYPE_CHECKING: - __slots__ = () # allow subclasses to use slots - - def __init_subclass__(cls, *args: Any, **kwargs: Any) -> None: - # Basic ABC like functionality without the complexity of an ABC - super().__init_subclass__(*args, **kwargs) - if cls.__iter__ is GroupedMetadata.__iter__: - raise TypeError("Can't subclass GroupedMetadata without implementing __iter__") - - def __iter__(self) -> Iterator[BaseMetadata]: # noqa: F811 - raise NotImplementedError # more helpful than "None has no attribute..." type errors - - -@dataclass(frozen=True, **KW_ONLY, **SLOTS) -class Interval(GroupedMetadata): - """Interval can express inclusive or exclusive bounds with a single object. - - It accepts keyword arguments ``gt``, ``ge``, ``lt``, and/or ``le``, which - are interpreted the same way as the single-bound constraints. - """ - - gt: Union[SupportsGt, None] = None - ge: Union[SupportsGe, None] = None - lt: Union[SupportsLt, None] = None - le: Union[SupportsLe, None] = None - - def __iter__(self) -> Iterator[BaseMetadata]: - """Unpack an Interval into zero or more single-bounds.""" - if self.gt is not None: - yield Gt(self.gt) - if self.ge is not None: - yield Ge(self.ge) - if self.lt is not None: - yield Lt(self.lt) - if self.le is not None: - yield Le(self.le) - - -@dataclass(frozen=True, **SLOTS) -class MultipleOf(BaseMetadata): - """MultipleOf(multiple_of=x) might be interpreted in two ways: - - 1. Python semantics, implying ``value % multiple_of == 0``, or - 2. JSONschema semantics, where ``int(value / multiple_of) == value / multiple_of`` - - We encourage users to be aware of these two common interpretations, - and libraries to carefully document which they implement. - """ - - multiple_of: Union[SupportsDiv, SupportsMod] - - -@dataclass(frozen=True, **SLOTS) -class MinLen(BaseMetadata): - """ - MinLen() implies minimum inclusive length, - e.g. ``len(value) >= min_length``. - """ - - min_length: Annotated[int, Ge(0)] - - -@dataclass(frozen=True, **SLOTS) -class MaxLen(BaseMetadata): - """ - MaxLen() implies maximum inclusive length, - e.g. ``len(value) <= max_length``. - """ - - max_length: Annotated[int, Ge(0)] - - -@dataclass(frozen=True, **SLOTS) -class Len(GroupedMetadata): - """ - Len() implies that ``min_length <= len(value) <= max_length``. - - Upper bound may be omitted or ``None`` to indicate no upper length bound. - """ - - min_length: Annotated[int, Ge(0)] = 0 - max_length: Optional[Annotated[int, Ge(0)]] = None - - def __iter__(self) -> Iterator[BaseMetadata]: - """Unpack a Len into zone or more single-bounds.""" - if self.min_length > 0: - yield MinLen(self.min_length) - if self.max_length is not None: - yield MaxLen(self.max_length) - - -@dataclass(frozen=True, **SLOTS) -class Timezone(BaseMetadata): - """Timezone(tz=...) requires a datetime to be aware (or ``tz=None``, naive). - - ``Annotated[datetime, Timezone(None)]`` must be a naive datetime. - ``Timezone[...]`` (the ellipsis literal) expresses that the datetime must be - tz-aware but any timezone is allowed. - - You may also pass a specific timezone string or timezone object such as - ``Timezone(timezone.utc)`` or ``Timezone("Africa/Abidjan")`` to express that - you only allow a specific timezone, though we note that this is often - a symptom of poor design. - """ - - tz: Union[str, timezone, EllipsisType, None] - - -@dataclass(frozen=True, **SLOTS) -class Predicate(BaseMetadata): - """``Predicate(func: Callable)`` implies `func(value)` is truthy for valid values. - - Users should prefer statically inspectable metadata, but if you need the full - power and flexibility of arbitrary runtime predicates... here it is. - - We provide a few predefined predicates for common string constraints: - ``IsLower = Predicate(str.islower)``, ``IsUpper = Predicate(str.isupper)``, and - ``IsDigit = Predicate(str.isdigit)``. Users are encouraged to use methods which - can be given special handling, and avoid indirection like ``lambda s: s.lower()``. - - Some libraries might have special logic to handle certain predicates, e.g. by - checking for `str.isdigit` and using its presence to both call custom logic to - enforce digit-only strings, and customise some generated external schema. - - We do not specify what behaviour should be expected for predicates that raise - an exception. For example `Annotated[int, Predicate(str.isdigit)]` might silently - skip invalid constraints, or statically raise an error; or it might try calling it - and then propogate or discard the resulting exception. - """ - - func: Callable[[Any], bool] - - -@dataclass -class Not: - func: Callable[[Any], bool] - - def __call__(self, __v: Any) -> bool: - return not self.func(__v) - - -_StrType = TypeVar("_StrType", bound=str) - -LowerCase = Annotated[_StrType, Predicate(str.islower)] -""" -Return True if the string is a lowercase string, False otherwise. - -A string is lowercase if all cased characters in the string are lowercase and there is at least one cased character in the string. -""" # noqa: E501 -UpperCase = Annotated[_StrType, Predicate(str.isupper)] -""" -Return True if the string is an uppercase string, False otherwise. - -A string is uppercase if all cased characters in the string are uppercase and there is at least one cased character in the string. -""" # noqa: E501 -IsDigits = Annotated[_StrType, Predicate(str.isdigit)] -""" -Return True if the string is a digit string, False otherwise. - -A string is a digit string if all characters in the string are digits and there is at least one character in the string. -""" # noqa: E501 -IsAscii = Annotated[_StrType, Predicate(str.isascii)] -""" -Return True if all characters in the string are ASCII, False otherwise. - -ASCII characters have code points in the range U+0000-U+007F. Empty string is ASCII too. -""" - -_NumericType = TypeVar('_NumericType', bound=Union[SupportsFloat, SupportsIndex]) -IsFinite = Annotated[_NumericType, Predicate(math.isfinite)] -"""Return True if x is neither an infinity nor a NaN, and False otherwise.""" -IsNotFinite = Annotated[_NumericType, Predicate(Not(math.isfinite))] -"""Return True if x is one of infinity or NaN, and False otherwise""" -IsNan = Annotated[_NumericType, Predicate(math.isnan)] -"""Return True if x is a NaN (not a number), and False otherwise.""" -IsNotNan = Annotated[_NumericType, Predicate(Not(math.isnan))] -"""Return True if x is anything but NaN (not a number), and False otherwise.""" -IsInfinite = Annotated[_NumericType, Predicate(math.isinf)] -"""Return True if x is a positive or negative infinity, and False otherwise.""" -IsNotInfinite = Annotated[_NumericType, Predicate(Not(math.isinf))] -"""Return True if x is neither a positive or negative infinity, and False otherwise.""" - -try: - from typing_extensions import DocInfo, doc # type: ignore [attr-defined] -except ImportError: - - @dataclass(frozen=True, **SLOTS) - class DocInfo: # type: ignore [no-redef] - """ " - The return value of doc(), mainly to be used by tools that want to extract the - Annotated documentation at runtime. - """ - - documentation: str - """The documentation string passed to doc().""" - - def doc( - documentation: str, - ) -> DocInfo: - """ - Add documentation to a type annotation inside of Annotated. - - For example: - - >>> def hi(name: Annotated[int, doc("The name of the user")]) -> None: ... - """ - return DocInfo(documentation) diff --git a/lib/annotated_types/py.typed b/lib/annotated_types/py.typed deleted file mode 100644 index e69de29b..00000000 diff --git a/lib/annotated_types/test_cases.py b/lib/annotated_types/test_cases.py deleted file mode 100644 index f54df700..00000000 --- a/lib/annotated_types/test_cases.py +++ /dev/null @@ -1,147 +0,0 @@ -import math -import sys -from datetime import date, datetime, timedelta, timezone -from decimal import Decimal -from typing import Any, Dict, Iterable, Iterator, List, NamedTuple, Set, Tuple - -if sys.version_info < (3, 9): - from typing_extensions import Annotated -else: - from typing import Annotated - -import annotated_types as at - - -class Case(NamedTuple): - """ - A test case for `annotated_types`. - """ - - annotation: Any - valid_cases: Iterable[Any] - invalid_cases: Iterable[Any] - - -def cases() -> Iterable[Case]: - # Gt, Ge, Lt, Le - yield Case(Annotated[int, at.Gt(4)], (5, 6, 1000), (4, 0, -1)) - yield Case(Annotated[float, at.Gt(0.5)], (0.6, 0.7, 0.8, 0.9), (0.5, 0.0, -0.1)) - yield Case( - Annotated[datetime, at.Gt(datetime(2000, 1, 1))], - [datetime(2000, 1, 2), datetime(2000, 1, 3)], - [datetime(2000, 1, 1), datetime(1999, 12, 31)], - ) - yield Case( - Annotated[datetime, at.Gt(date(2000, 1, 1))], - [date(2000, 1, 2), date(2000, 1, 3)], - [date(2000, 1, 1), date(1999, 12, 31)], - ) - yield Case( - Annotated[datetime, at.Gt(Decimal('1.123'))], - [Decimal('1.1231'), Decimal('123')], - [Decimal('1.123'), Decimal('0')], - ) - - yield Case(Annotated[int, at.Ge(4)], (4, 5, 6, 1000, 4), (0, -1)) - yield Case(Annotated[float, at.Ge(0.5)], (0.5, 0.6, 0.7, 0.8, 0.9), (0.4, 0.0, -0.1)) - yield Case( - Annotated[datetime, at.Ge(datetime(2000, 1, 1))], - [datetime(2000, 1, 2), datetime(2000, 1, 3)], - [datetime(1998, 1, 1), datetime(1999, 12, 31)], - ) - - yield Case(Annotated[int, at.Lt(4)], (0, -1), (4, 5, 6, 1000, 4)) - yield Case(Annotated[float, at.Lt(0.5)], (0.4, 0.0, -0.1), (0.5, 0.6, 0.7, 0.8, 0.9)) - yield Case( - Annotated[datetime, at.Lt(datetime(2000, 1, 1))], - [datetime(1999, 12, 31), datetime(1999, 12, 31)], - [datetime(2000, 1, 2), datetime(2000, 1, 3)], - ) - - yield Case(Annotated[int, at.Le(4)], (4, 0, -1), (5, 6, 1000)) - yield Case(Annotated[float, at.Le(0.5)], (0.5, 0.0, -0.1), (0.6, 0.7, 0.8, 0.9)) - yield Case( - Annotated[datetime, at.Le(datetime(2000, 1, 1))], - [datetime(2000, 1, 1), datetime(1999, 12, 31)], - [datetime(2000, 1, 2), datetime(2000, 1, 3)], - ) - - # Interval - yield Case(Annotated[int, at.Interval(gt=4)], (5, 6, 1000), (4, 0, -1)) - yield Case(Annotated[int, at.Interval(gt=4, lt=10)], (5, 6), (4, 10, 1000, 0, -1)) - yield Case(Annotated[float, at.Interval(ge=0.5, le=1)], (0.5, 0.9, 1), (0.49, 1.1)) - yield Case( - Annotated[datetime, at.Interval(gt=datetime(2000, 1, 1), le=datetime(2000, 1, 3))], - [datetime(2000, 1, 2), datetime(2000, 1, 3)], - [datetime(2000, 1, 1), datetime(2000, 1, 4)], - ) - - yield Case(Annotated[int, at.MultipleOf(multiple_of=3)], (0, 3, 9), (1, 2, 4)) - yield Case(Annotated[float, at.MultipleOf(multiple_of=0.5)], (0, 0.5, 1, 1.5), (0.4, 1.1)) - - # lengths - - yield Case(Annotated[str, at.MinLen(3)], ('123', '1234', 'x' * 10), ('', '1', '12')) - yield Case(Annotated[str, at.Len(3)], ('123', '1234', 'x' * 10), ('', '1', '12')) - yield Case(Annotated[List[int], at.MinLen(3)], ([1, 2, 3], [1, 2, 3, 4], [1] * 10), ([], [1], [1, 2])) - yield Case(Annotated[List[int], at.Len(3)], ([1, 2, 3], [1, 2, 3, 4], [1] * 10), ([], [1], [1, 2])) - - yield Case(Annotated[str, at.MaxLen(4)], ('', '1234'), ('12345', 'x' * 10)) - yield Case(Annotated[str, at.Len(0, 4)], ('', '1234'), ('12345', 'x' * 10)) - yield Case(Annotated[List[str], at.MaxLen(4)], ([], ['a', 'bcdef'], ['a', 'b', 'c']), (['a'] * 5, ['b'] * 10)) - yield Case(Annotated[List[str], at.Len(0, 4)], ([], ['a', 'bcdef'], ['a', 'b', 'c']), (['a'] * 5, ['b'] * 10)) - - yield Case(Annotated[str, at.Len(3, 5)], ('123', '12345'), ('', '1', '12', '123456', 'x' * 10)) - yield Case(Annotated[str, at.Len(3, 3)], ('123',), ('12', '1234')) - - yield Case(Annotated[Dict[int, int], at.Len(2, 3)], [{1: 1, 2: 2}], [{}, {1: 1}, {1: 1, 2: 2, 3: 3, 4: 4}]) - yield Case(Annotated[Set[int], at.Len(2, 3)], ({1, 2}, {1, 2, 3}), (set(), {1}, {1, 2, 3, 4})) - yield Case(Annotated[Tuple[int, ...], at.Len(2, 3)], ((1, 2), (1, 2, 3)), ((), (1,), (1, 2, 3, 4))) - - # Timezone - - yield Case( - Annotated[datetime, at.Timezone(None)], [datetime(2000, 1, 1)], [datetime(2000, 1, 1, tzinfo=timezone.utc)] - ) - yield Case( - Annotated[datetime, at.Timezone(...)], [datetime(2000, 1, 1, tzinfo=timezone.utc)], [datetime(2000, 1, 1)] - ) - yield Case( - Annotated[datetime, at.Timezone(timezone.utc)], - [datetime(2000, 1, 1, tzinfo=timezone.utc)], - [datetime(2000, 1, 1), datetime(2000, 1, 1, tzinfo=timezone(timedelta(hours=6)))], - ) - yield Case( - Annotated[datetime, at.Timezone('Europe/London')], - [datetime(2000, 1, 1, tzinfo=timezone(timedelta(0), name='Europe/London'))], - [datetime(2000, 1, 1), datetime(2000, 1, 1, tzinfo=timezone(timedelta(hours=6)))], - ) - - # predicate types - - yield Case(at.LowerCase[str], ['abc', 'foobar'], ['', 'A', 'Boom']) - yield Case(at.UpperCase[str], ['ABC', 'DEFO'], ['', 'a', 'abc', 'AbC']) - yield Case(at.IsDigits[str], ['123'], ['', 'ab', 'a1b2']) - yield Case(at.IsAscii[str], ['123', 'foo bar'], ['£100', '😊', 'whatever 👀']) - - yield Case(Annotated[int, at.Predicate(lambda x: x % 2 == 0)], [0, 2, 4], [1, 3, 5]) - - yield Case(at.IsFinite[float], [1.23], [math.nan, math.inf, -math.inf]) - yield Case(at.IsNotFinite[float], [math.nan, math.inf], [1.23]) - yield Case(at.IsNan[float], [math.nan], [1.23, math.inf]) - yield Case(at.IsNotNan[float], [1.23, math.inf], [math.nan]) - yield Case(at.IsInfinite[float], [math.inf], [math.nan, 1.23]) - yield Case(at.IsNotInfinite[float], [math.nan, 1.23], [math.inf]) - - # check stacked predicates - yield Case(at.IsInfinite[Annotated[float, at.Predicate(lambda x: x > 0)]], [math.inf], [-math.inf, 1.23, math.nan]) - - # doc - yield Case(Annotated[int, at.doc("A number")], [1, 2], []) - - # custom GroupedMetadata - class MyCustomGroupedMetadata(at.GroupedMetadata): - def __iter__(self) -> Iterator[at.Predicate]: - yield at.Predicate(lambda x: float(x).is_integer()) - - yield Case(Annotated[float, MyCustomGroupedMetadata()], [0, 2.0], [0.01, 1.5]) diff --git a/lib/appdirs.py b/lib/appdirs.py new file mode 100644 index 00000000..ae67001a --- /dev/null +++ b/lib/appdirs.py @@ -0,0 +1,608 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# Copyright (c) 2005-2010 ActiveState Software Inc. +# Copyright (c) 2013 Eddy PetriÈ™or + +"""Utilities for determining application-specific dirs. + +See for details and usage. +""" +# Dev Notes: +# - MSDN on where to store app data files: +# http://support.microsoft.com/default.aspx?scid=kb;en-us;310294#XSLTH3194121123120121120120 +# - Mac OS X: http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/index.html +# - XDG spec for Un*x: http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html + +__version_info__ = (1, 4, 3) +__version__ = '.'.join(map(str, __version_info__)) + + +import sys +import os + +PY3 = sys.version_info[0] == 3 + +if PY3: + unicode = str + +if sys.platform.startswith('java'): + import platform + os_name = platform.java_ver()[3][0] + if os_name.startswith('Windows'): # "Windows XP", "Windows 7", etc. + system = 'win32' + elif os_name.startswith('Mac'): # "Mac OS X", etc. + system = 'darwin' + else: # "Linux", "SunOS", "FreeBSD", etc. + # Setting this to "linux2" is not ideal, but only Windows or Mac + # are actually checked for and the rest of the module expects + # *sys.platform* style strings. + system = 'linux2' +else: + system = sys.platform + + + +def user_data_dir(appname=None, appauthor=None, version=None, roaming=False): + r"""Return full path to the user-specific data dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "appauthor" (only used on Windows) is the name of the + appauthor or distributing body for this application. Typically + it is the owning company name. This falls back to appname. You may + pass False to disable it. + "version" is an optional version path element to append to the + path. You might want to use this if you want multiple versions + of your app to be able to run independently. If used, this + would typically be ".". + Only applied when appname is present. + "roaming" (boolean, default False) can be set True to use the Windows + roaming appdata directory. That means that for users on a Windows + network setup for roaming profiles, this user data will be + sync'd on login. See + + for a discussion of issues. + + Typical user data directories are: + Mac OS X: ~/Library/Application Support/ + Unix: ~/.local/share/ # or in $XDG_DATA_HOME, if defined + Win XP (not roaming): C:\Documents and Settings\\Application Data\\ + Win XP (roaming): C:\Documents and Settings\\Local Settings\Application Data\\ + Win 7 (not roaming): C:\Users\\AppData\Local\\ + Win 7 (roaming): C:\Users\\AppData\Roaming\\ + + For Unix, we follow the XDG spec and support $XDG_DATA_HOME. + That means, by default "~/.local/share/". + """ + if system == "win32": + if appauthor is None: + appauthor = appname + const = roaming and "CSIDL_APPDATA" or "CSIDL_LOCAL_APPDATA" + path = os.path.normpath(_get_win_folder(const)) + if appname: + if appauthor is not False: + path = os.path.join(path, appauthor, appname) + else: + path = os.path.join(path, appname) + elif system == 'darwin': + path = os.path.expanduser('~/Library/Application Support/') + if appname: + path = os.path.join(path, appname) + else: + path = os.getenv('XDG_DATA_HOME', os.path.expanduser("~/.local/share")) + if appname: + path = os.path.join(path, appname) + if appname and version: + path = os.path.join(path, version) + return path + + +def site_data_dir(appname=None, appauthor=None, version=None, multipath=False): + r"""Return full path to the user-shared data dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "appauthor" (only used on Windows) is the name of the + appauthor or distributing body for this application. Typically + it is the owning company name. This falls back to appname. You may + pass False to disable it. + "version" is an optional version path element to append to the + path. You might want to use this if you want multiple versions + of your app to be able to run independently. If used, this + would typically be ".". + Only applied when appname is present. + "multipath" is an optional parameter only applicable to *nix + which indicates that the entire list of data dirs should be + returned. By default, the first item from XDG_DATA_DIRS is + returned, or '/usr/local/share/', + if XDG_DATA_DIRS is not set + + Typical site data directories are: + Mac OS X: /Library/Application Support/ + Unix: /usr/local/share/ or /usr/share/ + Win XP: C:\Documents and Settings\All Users\Application Data\\ + Vista: (Fail! "C:\ProgramData" is a hidden *system* directory on Vista.) + Win 7: C:\ProgramData\\ # Hidden, but writeable on Win 7. + + For Unix, this is using the $XDG_DATA_DIRS[0] default. + + WARNING: Do not use this on Windows. See the Vista-Fail note above for why. + """ + if system == "win32": + if appauthor is None: + appauthor = appname + path = os.path.normpath(_get_win_folder("CSIDL_COMMON_APPDATA")) + if appname: + if appauthor is not False: + path = os.path.join(path, appauthor, appname) + else: + path = os.path.join(path, appname) + elif system == 'darwin': + path = os.path.expanduser('/Library/Application Support') + if appname: + path = os.path.join(path, appname) + else: + # XDG default for $XDG_DATA_DIRS + # only first, if multipath is False + path = os.getenv('XDG_DATA_DIRS', + os.pathsep.join(['/usr/local/share', '/usr/share'])) + pathlist = [os.path.expanduser(x.rstrip(os.sep)) for x in path.split(os.pathsep)] + if appname: + if version: + appname = os.path.join(appname, version) + pathlist = [os.sep.join([x, appname]) for x in pathlist] + + if multipath: + path = os.pathsep.join(pathlist) + else: + path = pathlist[0] + return path + + if appname and version: + path = os.path.join(path, version) + return path + + +def user_config_dir(appname=None, appauthor=None, version=None, roaming=False): + r"""Return full path to the user-specific config dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "appauthor" (only used on Windows) is the name of the + appauthor or distributing body for this application. Typically + it is the owning company name. This falls back to appname. You may + pass False to disable it. + "version" is an optional version path element to append to the + path. You might want to use this if you want multiple versions + of your app to be able to run independently. If used, this + would typically be ".". + Only applied when appname is present. + "roaming" (boolean, default False) can be set True to use the Windows + roaming appdata directory. That means that for users on a Windows + network setup for roaming profiles, this user data will be + sync'd on login. See + + for a discussion of issues. + + Typical user config directories are: + Mac OS X: same as user_data_dir + Unix: ~/.config/ # or in $XDG_CONFIG_HOME, if defined + Win *: same as user_data_dir + + For Unix, we follow the XDG spec and support $XDG_CONFIG_HOME. + That means, by default "~/.config/". + """ + if system in ["win32", "darwin"]: + path = user_data_dir(appname, appauthor, None, roaming) + else: + path = os.getenv('XDG_CONFIG_HOME', os.path.expanduser("~/.config")) + if appname: + path = os.path.join(path, appname) + if appname and version: + path = os.path.join(path, version) + return path + + +def site_config_dir(appname=None, appauthor=None, version=None, multipath=False): + r"""Return full path to the user-shared data dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "appauthor" (only used on Windows) is the name of the + appauthor or distributing body for this application. Typically + it is the owning company name. This falls back to appname. You may + pass False to disable it. + "version" is an optional version path element to append to the + path. You might want to use this if you want multiple versions + of your app to be able to run independently. If used, this + would typically be ".". + Only applied when appname is present. + "multipath" is an optional parameter only applicable to *nix + which indicates that the entire list of config dirs should be + returned. By default, the first item from XDG_CONFIG_DIRS is + returned, or '/etc/xdg/', if XDG_CONFIG_DIRS is not set + + Typical site config directories are: + Mac OS X: same as site_data_dir + Unix: /etc/xdg/ or $XDG_CONFIG_DIRS[i]/ for each value in + $XDG_CONFIG_DIRS + Win *: same as site_data_dir + Vista: (Fail! "C:\ProgramData" is a hidden *system* directory on Vista.) + + For Unix, this is using the $XDG_CONFIG_DIRS[0] default, if multipath=False + + WARNING: Do not use this on Windows. See the Vista-Fail note above for why. + """ + if system in ["win32", "darwin"]: + path = site_data_dir(appname, appauthor) + if appname and version: + path = os.path.join(path, version) + else: + # XDG default for $XDG_CONFIG_DIRS + # only first, if multipath is False + path = os.getenv('XDG_CONFIG_DIRS', '/etc/xdg') + pathlist = [os.path.expanduser(x.rstrip(os.sep)) for x in path.split(os.pathsep)] + if appname: + if version: + appname = os.path.join(appname, version) + pathlist = [os.sep.join([x, appname]) for x in pathlist] + + if multipath: + path = os.pathsep.join(pathlist) + else: + path = pathlist[0] + return path + + +def user_cache_dir(appname=None, appauthor=None, version=None, opinion=True): + r"""Return full path to the user-specific cache dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "appauthor" (only used on Windows) is the name of the + appauthor or distributing body for this application. Typically + it is the owning company name. This falls back to appname. You may + pass False to disable it. + "version" is an optional version path element to append to the + path. You might want to use this if you want multiple versions + of your app to be able to run independently. If used, this + would typically be ".". + Only applied when appname is present. + "opinion" (boolean) can be False to disable the appending of + "Cache" to the base app data dir for Windows. See + discussion below. + + Typical user cache directories are: + Mac OS X: ~/Library/Caches/ + Unix: ~/.cache/ (XDG default) + Win XP: C:\Documents and Settings\\Local Settings\Application Data\\\Cache + Vista: C:\Users\\AppData\Local\\\Cache + + On Windows the only suggestion in the MSDN docs is that local settings go in + the `CSIDL_LOCAL_APPDATA` directory. This is identical to the non-roaming + app data dir (the default returned by `user_data_dir` above). Apps typically + put cache data somewhere *under* the given dir here. Some examples: + ...\Mozilla\Firefox\Profiles\\Cache + ...\Acme\SuperApp\Cache\1.0 + OPINION: This function appends "Cache" to the `CSIDL_LOCAL_APPDATA` value. + This can be disabled with the `opinion=False` option. + """ + if system == "win32": + if appauthor is None: + appauthor = appname + path = os.path.normpath(_get_win_folder("CSIDL_LOCAL_APPDATA")) + if appname: + if appauthor is not False: + path = os.path.join(path, appauthor, appname) + else: + path = os.path.join(path, appname) + if opinion: + path = os.path.join(path, "Cache") + elif system == 'darwin': + path = os.path.expanduser('~/Library/Caches') + if appname: + path = os.path.join(path, appname) + else: + path = os.getenv('XDG_CACHE_HOME', os.path.expanduser('~/.cache')) + if appname: + path = os.path.join(path, appname) + if appname and version: + path = os.path.join(path, version) + return path + + +def user_state_dir(appname=None, appauthor=None, version=None, roaming=False): + r"""Return full path to the user-specific state dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "appauthor" (only used on Windows) is the name of the + appauthor or distributing body for this application. Typically + it is the owning company name. This falls back to appname. You may + pass False to disable it. + "version" is an optional version path element to append to the + path. You might want to use this if you want multiple versions + of your app to be able to run independently. If used, this + would typically be ".". + Only applied when appname is present. + "roaming" (boolean, default False) can be set True to use the Windows + roaming appdata directory. That means that for users on a Windows + network setup for roaming profiles, this user data will be + sync'd on login. See + + for a discussion of issues. + + Typical user state directories are: + Mac OS X: same as user_data_dir + Unix: ~/.local/state/ # or in $XDG_STATE_HOME, if defined + Win *: same as user_data_dir + + For Unix, we follow this Debian proposal + to extend the XDG spec and support $XDG_STATE_HOME. + + That means, by default "~/.local/state/". + """ + if system in ["win32", "darwin"]: + path = user_data_dir(appname, appauthor, None, roaming) + else: + path = os.getenv('XDG_STATE_HOME', os.path.expanduser("~/.local/state")) + if appname: + path = os.path.join(path, appname) + if appname and version: + path = os.path.join(path, version) + return path + + +def user_log_dir(appname=None, appauthor=None, version=None, opinion=True): + r"""Return full path to the user-specific log dir for this application. + + "appname" is the name of application. + If None, just the system directory is returned. + "appauthor" (only used on Windows) is the name of the + appauthor or distributing body for this application. Typically + it is the owning company name. This falls back to appname. You may + pass False to disable it. + "version" is an optional version path element to append to the + path. You might want to use this if you want multiple versions + of your app to be able to run independently. If used, this + would typically be ".". + Only applied when appname is present. + "opinion" (boolean) can be False to disable the appending of + "Logs" to the base app data dir for Windows, and "log" to the + base cache dir for Unix. See discussion below. + + Typical user log directories are: + Mac OS X: ~/Library/Logs/ + Unix: ~/.cache//log # or under $XDG_CACHE_HOME if defined + Win XP: C:\Documents and Settings\\Local Settings\Application Data\\\Logs + Vista: C:\Users\\AppData\Local\\\Logs + + On Windows the only suggestion in the MSDN docs is that local settings + go in the `CSIDL_LOCAL_APPDATA` directory. (Note: I'm interested in + examples of what some windows apps use for a logs dir.) + + OPINION: This function appends "Logs" to the `CSIDL_LOCAL_APPDATA` + value for Windows and appends "log" to the user cache dir for Unix. + This can be disabled with the `opinion=False` option. + """ + if system == "darwin": + path = os.path.join( + os.path.expanduser('~/Library/Logs'), + appname) + elif system == "win32": + path = user_data_dir(appname, appauthor, version) + version = False + if opinion: + path = os.path.join(path, "Logs") + else: + path = user_cache_dir(appname, appauthor, version) + version = False + if opinion: + path = os.path.join(path, "log") + if appname and version: + path = os.path.join(path, version) + return path + + +class AppDirs(object): + """Convenience wrapper for getting application dirs.""" + def __init__(self, appname=None, appauthor=None, version=None, + roaming=False, multipath=False): + self.appname = appname + self.appauthor = appauthor + self.version = version + self.roaming = roaming + self.multipath = multipath + + @property + def user_data_dir(self): + return user_data_dir(self.appname, self.appauthor, + version=self.version, roaming=self.roaming) + + @property + def site_data_dir(self): + return site_data_dir(self.appname, self.appauthor, + version=self.version, multipath=self.multipath) + + @property + def user_config_dir(self): + return user_config_dir(self.appname, self.appauthor, + version=self.version, roaming=self.roaming) + + @property + def site_config_dir(self): + return site_config_dir(self.appname, self.appauthor, + version=self.version, multipath=self.multipath) + + @property + def user_cache_dir(self): + return user_cache_dir(self.appname, self.appauthor, + version=self.version) + + @property + def user_state_dir(self): + return user_state_dir(self.appname, self.appauthor, + version=self.version) + + @property + def user_log_dir(self): + return user_log_dir(self.appname, self.appauthor, + version=self.version) + + +#---- internal support stuff + +def _get_win_folder_from_registry(csidl_name): + """This is a fallback technique at best. I'm not sure if using the + registry for this guarantees us the correct answer for all CSIDL_* + names. + """ + if PY3: + import winreg as _winreg + else: + import _winreg + + shell_folder_name = { + "CSIDL_APPDATA": "AppData", + "CSIDL_COMMON_APPDATA": "Common AppData", + "CSIDL_LOCAL_APPDATA": "Local AppData", + }[csidl_name] + + key = _winreg.OpenKey( + _winreg.HKEY_CURRENT_USER, + r"Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" + ) + dir, type = _winreg.QueryValueEx(key, shell_folder_name) + return dir + + +def _get_win_folder_with_pywin32(csidl_name): + from win32com.shell import shellcon, shell + dir = shell.SHGetFolderPath(0, getattr(shellcon, csidl_name), 0, 0) + # Try to make this a unicode path because SHGetFolderPath does + # not return unicode strings when there is unicode data in the + # path. + try: + dir = unicode(dir) + + # Downgrade to short path name if have highbit chars. See + # . + has_high_char = False + for c in dir: + if ord(c) > 255: + has_high_char = True + break + if has_high_char: + try: + import win32api + dir = win32api.GetShortPathName(dir) + except ImportError: + pass + except UnicodeError: + pass + return dir + + +def _get_win_folder_with_ctypes(csidl_name): + import ctypes + + csidl_const = { + "CSIDL_APPDATA": 26, + "CSIDL_COMMON_APPDATA": 35, + "CSIDL_LOCAL_APPDATA": 28, + }[csidl_name] + + buf = ctypes.create_unicode_buffer(1024) + ctypes.windll.shell32.SHGetFolderPathW(None, csidl_const, None, 0, buf) + + # Downgrade to short path name if have highbit chars. See + # . + has_high_char = False + for c in buf: + if ord(c) > 255: + has_high_char = True + break + if has_high_char: + buf2 = ctypes.create_unicode_buffer(1024) + if ctypes.windll.kernel32.GetShortPathNameW(buf.value, buf2, 1024): + buf = buf2 + + return buf.value + +def _get_win_folder_with_jna(csidl_name): + import array + from com.sun import jna + from com.sun.jna.platform import win32 + + buf_size = win32.WinDef.MAX_PATH * 2 + buf = array.zeros('c', buf_size) + shell = win32.Shell32.INSTANCE + shell.SHGetFolderPath(None, getattr(win32.ShlObj, csidl_name), None, win32.ShlObj.SHGFP_TYPE_CURRENT, buf) + dir = jna.Native.toString(buf.tostring()).rstrip("\0") + + # Downgrade to short path name if have highbit chars. See + # . + has_high_char = False + for c in dir: + if ord(c) > 255: + has_high_char = True + break + if has_high_char: + buf = array.zeros('c', buf_size) + kernel = win32.Kernel32.INSTANCE + if kernel.GetShortPathName(dir, buf, buf_size): + dir = jna.Native.toString(buf.tostring()).rstrip("\0") + + return dir + +if system == "win32": + try: + import win32com.shell + _get_win_folder = _get_win_folder_with_pywin32 + except ImportError: + try: + from ctypes import windll + _get_win_folder = _get_win_folder_with_ctypes + except ImportError: + try: + import com.sun.jna + _get_win_folder = _get_win_folder_with_jna + except ImportError: + _get_win_folder = _get_win_folder_from_registry + + +#---- self test code + +if __name__ == "__main__": + appname = "MyApp" + appauthor = "MyCompany" + + props = ("user_data_dir", + "user_config_dir", + "user_cache_dir", + "user_state_dir", + "user_log_dir", + "site_data_dir", + "site_config_dir") + + print("-- app dirs %s --" % __version__) + + print("-- app dirs (with optional 'version')") + dirs = AppDirs(appname, appauthor, version="1.0") + for prop in props: + print("%s: %s" % (prop, getattr(dirs, prop))) + + print("\n-- app dirs (without optional 'version')") + dirs = AppDirs(appname, appauthor) + for prop in props: + print("%s: %s" % (prop, getattr(dirs, prop))) + + print("\n-- app dirs (without optional 'appauthor')") + dirs = AppDirs(appname) + for prop in props: + print("%s: %s" % (prop, getattr(dirs, prop))) + + print("\n-- app dirs (with disabled 'appauthor')") + dirs = AppDirs(appname, appauthor=False) + for prop in props: + print("%s: %s" % (prop, getattr(dirs, prop))) diff --git a/lib/apscheduler/executors/asyncio.py b/lib/apscheduler/executors/asyncio.py index 7d45d6c1..06fc7f96 100644 --- a/lib/apscheduler/executors/asyncio.py +++ b/lib/apscheduler/executors/asyncio.py @@ -3,9 +3,13 @@ from __future__ import absolute_import import sys from apscheduler.executors.base import BaseExecutor, run_job -from apscheduler.executors.base_py3 import run_coroutine_job from apscheduler.util import iscoroutinefunction_partial +try: + from apscheduler.executors.base_py3 import run_coroutine_job +except ImportError: + run_coroutine_job = None + class AsyncIOExecutor(BaseExecutor): """ @@ -42,8 +46,11 @@ class AsyncIOExecutor(BaseExecutor): self._run_job_success(job.id, events) if iscoroutinefunction_partial(job.func): - coro = run_coroutine_job(job, job._jobstore_alias, run_times, self._logger.name) - f = self._eventloop.create_task(coro) + if run_coroutine_job is not None: + coro = run_coroutine_job(job, job._jobstore_alias, run_times, self._logger.name) + f = self._eventloop.create_task(coro) + else: + raise Exception('Executing coroutine based jobs is not supported with Trollius') else: f = self._eventloop.run_in_executor(None, run_job, job, job._jobstore_alias, run_times, self._logger.name) diff --git a/lib/apscheduler/executors/base_py3.py b/lib/apscheduler/executors/base_py3.py index 7111d2ae..61abd842 100644 --- a/lib/apscheduler/executors/base_py3.py +++ b/lib/apscheduler/executors/base_py3.py @@ -1,6 +1,5 @@ import logging import sys -import traceback from datetime import datetime, timedelta from traceback import format_tb @@ -34,7 +33,6 @@ async def run_coroutine_job(job, jobstore_alias, run_times, logger_name): events.append(JobExecutionEvent(EVENT_JOB_ERROR, job.id, jobstore_alias, run_time, exception=exc, traceback=formatted_tb)) logger.exception('Job "%s" raised an exception', job) - traceback.clear_frames(tb) else: events.append(JobExecutionEvent(EVENT_JOB_EXECUTED, job.id, jobstore_alias, run_time, retval=retval)) diff --git a/lib/apscheduler/executors/pool.py b/lib/apscheduler/executors/pool.py index c85896ec..2f4ef455 100644 --- a/lib/apscheduler/executors/pool.py +++ b/lib/apscheduler/executors/pool.py @@ -3,11 +3,6 @@ import concurrent.futures from apscheduler.executors.base import BaseExecutor, run_job -try: - from concurrent.futures.process import BrokenProcessPool -except ImportError: - BrokenProcessPool = None - class BasePoolExecutor(BaseExecutor): @abstractmethod @@ -24,13 +19,7 @@ class BasePoolExecutor(BaseExecutor): else: self._run_job_success(job.id, f.result()) - try: - f = self._pool.submit(run_job, job, job._jobstore_alias, run_times, self._logger.name) - except BrokenProcessPool: - self._logger.warning('Process pool is broken; replacing pool with a fresh instance') - self._pool = self._pool.__class__(self._pool._max_workers) - f = self._pool.submit(run_job, job, job._jobstore_alias, run_times, self._logger.name) - + f = self._pool.submit(run_job, job, job._jobstore_alias, run_times, self._logger.name) f.add_done_callback(callback) def shutdown(self, wait=True): @@ -44,13 +33,10 @@ class ThreadPoolExecutor(BasePoolExecutor): Plugin alias: ``threadpool`` :param max_workers: the maximum number of spawned threads. - :param pool_kwargs: dict of keyword arguments to pass to the underlying - ThreadPoolExecutor constructor """ - def __init__(self, max_workers=10, pool_kwargs=None): - pool_kwargs = pool_kwargs or {} - pool = concurrent.futures.ThreadPoolExecutor(int(max_workers), **pool_kwargs) + def __init__(self, max_workers=10): + pool = concurrent.futures.ThreadPoolExecutor(int(max_workers)) super(ThreadPoolExecutor, self).__init__(pool) @@ -61,11 +47,8 @@ class ProcessPoolExecutor(BasePoolExecutor): Plugin alias: ``processpool`` :param max_workers: the maximum number of spawned processes. - :param pool_kwargs: dict of keyword arguments to pass to the underlying - ProcessPoolExecutor constructor """ - def __init__(self, max_workers=10, pool_kwargs=None): - pool_kwargs = pool_kwargs or {} - pool = concurrent.futures.ProcessPoolExecutor(int(max_workers), **pool_kwargs) + def __init__(self, max_workers=10): + pool = concurrent.futures.ProcessPoolExecutor(int(max_workers)) super(ProcessPoolExecutor, self).__init__(pool) diff --git a/lib/apscheduler/job.py b/lib/apscheduler/job.py index 445d9a86..d676ca89 100644 --- a/lib/apscheduler/job.py +++ b/lib/apscheduler/job.py @@ -28,7 +28,7 @@ class Job(object): :var trigger: the trigger object that controls the schedule of this job :var str executor: the name of the executor that will run this job :var int misfire_grace_time: the time (in seconds) how much this job's execution is allowed to - be late (``None`` means "allow the job to run no matter how late it is") + be late :var int max_instances: the maximum number of concurrently executing instances allowed for this job :var datetime.datetime next_run_time: the next scheduled run time of this job @@ -40,7 +40,7 @@ class Job(object): __slots__ = ('_scheduler', '_jobstore_alias', 'id', 'trigger', 'executor', 'func', 'func_ref', 'args', 'kwargs', 'name', 'misfire_grace_time', 'coalesce', 'max_instances', - 'next_run_time', '__weakref__') + 'next_run_time') def __init__(self, scheduler, id=None, **kwargs): super(Job, self).__init__() @@ -242,9 +242,8 @@ class Job(object): # Instance methods cannot survive serialization as-is, so store the "self" argument # explicitly - func = self.func - if ismethod(func) and not isclass(func.__self__) and obj_to_ref(func) == self.func_ref: - args = (func.__self__,) + tuple(self.args) + if ismethod(self.func) and not isclass(self.func.__self__): + args = (self.func.__self__,) + tuple(self.args) else: args = self.args diff --git a/lib/apscheduler/jobstores/mongodb.py b/lib/apscheduler/jobstores/mongodb.py index 5a00f941..7dbc3b12 100644 --- a/lib/apscheduler/jobstores/mongodb.py +++ b/lib/apscheduler/jobstores/mongodb.py @@ -54,7 +54,7 @@ class MongoDBJobStore(BaseJobStore): def start(self, scheduler, alias): super(MongoDBJobStore, self).start(scheduler, alias) - self.collection.create_index('next_run_time', sparse=True) + self.collection.ensure_index('next_run_time', sparse=True) @property def connection(self): @@ -83,7 +83,7 @@ class MongoDBJobStore(BaseJobStore): def add_job(self, job): try: - self.collection.insert_one({ + self.collection.insert({ '_id': job.id, 'next_run_time': datetime_to_utc_timestamp(job.next_run_time), 'job_state': Binary(pickle.dumps(job.__getstate__(), self.pickle_protocol)) @@ -96,17 +96,17 @@ class MongoDBJobStore(BaseJobStore): 'next_run_time': datetime_to_utc_timestamp(job.next_run_time), 'job_state': Binary(pickle.dumps(job.__getstate__(), self.pickle_protocol)) } - result = self.collection.update_one({'_id': job.id}, {'$set': changes}) - if result and result.matched_count == 0: + result = self.collection.update({'_id': job.id}, {'$set': changes}) + if result and result['n'] == 0: raise JobLookupError(job.id) def remove_job(self, job_id): - result = self.collection.delete_one({'_id': job_id}) - if result and result.deleted_count == 0: + result = self.collection.remove(job_id) + if result and result['n'] == 0: raise JobLookupError(job_id) def remove_all_jobs(self): - self.collection.delete_many({}) + self.collection.remove() def shutdown(self): self.client.close() @@ -133,7 +133,7 @@ class MongoDBJobStore(BaseJobStore): # Remove all the jobs we failed to restore if failed_job_ids: - self.collection.delete_many({'_id': {'$in': failed_job_ids}}) + self.collection.remove({'_id': {'$in': failed_job_ids}}) return jobs diff --git a/lib/apscheduler/jobstores/sqlalchemy.py b/lib/apscheduler/jobstores/sqlalchemy.py index 716549bc..fecbd834 100644 --- a/lib/apscheduler/jobstores/sqlalchemy.py +++ b/lib/apscheduler/jobstores/sqlalchemy.py @@ -11,7 +11,7 @@ except ImportError: # pragma: nocover try: from sqlalchemy import ( - create_engine, Table, Column, MetaData, Unicode, Float, LargeBinary, select, and_) + create_engine, Table, Column, MetaData, Unicode, Float, LargeBinary, select) from sqlalchemy.exc import IntegrityError from sqlalchemy.sql.expression import null except ImportError: # pragma: nocover @@ -57,7 +57,7 @@ class SQLAlchemyJobStore(BaseJobStore): # 25 = precision that translates to an 8-byte float self.jobs_t = Table( tablename, metadata, - Column('id', Unicode(191), primary_key=True), + Column('id', Unicode(191, _warn_on_bytestring=False), primary_key=True), Column('next_run_time', Float(25), index=True), Column('job_state', LargeBinary, nullable=False), schema=tableschema @@ -68,22 +68,20 @@ class SQLAlchemyJobStore(BaseJobStore): self.jobs_t.create(self.engine, True) def lookup_job(self, job_id): - selectable = select(self.jobs_t.c.job_state).where(self.jobs_t.c.id == job_id) - with self.engine.begin() as connection: - job_state = connection.execute(selectable).scalar() - return self._reconstitute_job(job_state) if job_state else None + selectable = select([self.jobs_t.c.job_state]).where(self.jobs_t.c.id == job_id) + job_state = self.engine.execute(selectable).scalar() + return self._reconstitute_job(job_state) if job_state else None def get_due_jobs(self, now): timestamp = datetime_to_utc_timestamp(now) return self._get_jobs(self.jobs_t.c.next_run_time <= timestamp) def get_next_run_time(self): - selectable = select(self.jobs_t.c.next_run_time).\ + selectable = select([self.jobs_t.c.next_run_time]).\ where(self.jobs_t.c.next_run_time != null()).\ order_by(self.jobs_t.c.next_run_time).limit(1) - with self.engine.begin() as connection: - next_run_time = connection.execute(selectable).scalar() - return utc_timestamp_to_datetime(next_run_time) + next_run_time = self.engine.execute(selectable).scalar() + return utc_timestamp_to_datetime(next_run_time) def get_all_jobs(self): jobs = self._get_jobs() @@ -96,33 +94,29 @@ class SQLAlchemyJobStore(BaseJobStore): 'next_run_time': datetime_to_utc_timestamp(job.next_run_time), 'job_state': pickle.dumps(job.__getstate__(), self.pickle_protocol) }) - with self.engine.begin() as connection: - try: - connection.execute(insert) - except IntegrityError: - raise ConflictingIdError(job.id) + try: + self.engine.execute(insert) + except IntegrityError: + raise ConflictingIdError(job.id) def update_job(self, job): update = self.jobs_t.update().values(**{ 'next_run_time': datetime_to_utc_timestamp(job.next_run_time), 'job_state': pickle.dumps(job.__getstate__(), self.pickle_protocol) }).where(self.jobs_t.c.id == job.id) - with self.engine.begin() as connection: - result = connection.execute(update) - if result.rowcount == 0: - raise JobLookupError(job.id) + result = self.engine.execute(update) + if result.rowcount == 0: + raise JobLookupError(job.id) def remove_job(self, job_id): delete = self.jobs_t.delete().where(self.jobs_t.c.id == job_id) - with self.engine.begin() as connection: - result = connection.execute(delete) - if result.rowcount == 0: - raise JobLookupError(job_id) + result = self.engine.execute(delete) + if result.rowcount == 0: + raise JobLookupError(job_id) def remove_all_jobs(self): delete = self.jobs_t.delete() - with self.engine.begin() as connection: - connection.execute(delete) + self.engine.execute(delete) def shutdown(self): self.engine.dispose() @@ -138,22 +132,21 @@ class SQLAlchemyJobStore(BaseJobStore): def _get_jobs(self, *conditions): jobs = [] - selectable = select(self.jobs_t.c.id, self.jobs_t.c.job_state).\ + selectable = select([self.jobs_t.c.id, self.jobs_t.c.job_state]).\ order_by(self.jobs_t.c.next_run_time) - selectable = selectable.where(and_(*conditions)) if conditions else selectable + selectable = selectable.where(*conditions) if conditions else selectable failed_job_ids = set() - with self.engine.begin() as connection: - for row in connection.execute(selectable): - try: - jobs.append(self._reconstitute_job(row.job_state)) - except BaseException: - self._logger.exception('Unable to restore job "%s" -- removing it', row.id) - failed_job_ids.add(row.id) + for row in self.engine.execute(selectable): + try: + jobs.append(self._reconstitute_job(row.job_state)) + except BaseException: + self._logger.exception('Unable to restore job "%s" -- removing it', row.id) + failed_job_ids.add(row.id) - # Remove all the jobs we failed to restore - if failed_job_ids: - delete = self.jobs_t.delete().where(self.jobs_t.c.id.in_(failed_job_ids)) - connection.execute(delete) + # Remove all the jobs we failed to restore + if failed_job_ids: + delete = self.jobs_t.delete().where(self.jobs_t.c.id.in_(failed_job_ids)) + self.engine.execute(delete) return jobs diff --git a/lib/apscheduler/jobstores/zookeeper.py b/lib/apscheduler/jobstores/zookeeper.py index 52530693..2cca83e8 100644 --- a/lib/apscheduler/jobstores/zookeeper.py +++ b/lib/apscheduler/jobstores/zookeeper.py @@ -1,5 +1,6 @@ from __future__ import absolute_import +import os from datetime import datetime from pytz import utc @@ -64,7 +65,7 @@ class ZooKeeperJobStore(BaseJobStore): def lookup_job(self, job_id): self._ensure_paths() - node_path = self.path + "/" + str(job_id) + node_path = os.path.join(self.path, job_id) try: content, _ = self.client.get(node_path) doc = pickle.loads(content) @@ -91,7 +92,7 @@ class ZooKeeperJobStore(BaseJobStore): def add_job(self, job): self._ensure_paths() - node_path = self.path + "/" + str(job.id) + node_path = os.path.join(self.path, str(job.id)) value = { 'next_run_time': datetime_to_utc_timestamp(job.next_run_time), 'job_state': job.__getstate__() @@ -104,7 +105,7 @@ class ZooKeeperJobStore(BaseJobStore): def update_job(self, job): self._ensure_paths() - node_path = self.path + "/" + str(job.id) + node_path = os.path.join(self.path, str(job.id)) changes = { 'next_run_time': datetime_to_utc_timestamp(job.next_run_time), 'job_state': job.__getstate__() @@ -117,7 +118,7 @@ class ZooKeeperJobStore(BaseJobStore): def remove_job(self, job_id): self._ensure_paths() - node_path = self.path + "/" + str(job_id) + node_path = os.path.join(self.path, str(job_id)) try: self.client.delete(node_path) except NoNodeError: @@ -150,7 +151,7 @@ class ZooKeeperJobStore(BaseJobStore): all_ids = self.client.get_children(self.path) for node_name in all_ids: try: - node_path = self.path + "/" + node_name + node_path = os.path.join(self.path, node_name) content, _ = self.client.get(node_path) doc = pickle.loads(content) job_def = { diff --git a/lib/apscheduler/schedulers/asyncio.py b/lib/apscheduler/schedulers/asyncio.py index 8bcdfdaf..289ef13f 100644 --- a/lib/apscheduler/schedulers/asyncio.py +++ b/lib/apscheduler/schedulers/asyncio.py @@ -1,10 +1,18 @@ from __future__ import absolute_import -import asyncio from functools import wraps, partial from apscheduler.schedulers.base import BaseScheduler from apscheduler.util import maybe_ref +try: + import asyncio +except ImportError: # pragma: nocover + try: + import trollius as asyncio + except ImportError: + raise ImportError( + 'AsyncIOScheduler requires either Python 3.4 or the asyncio package installed') + def run_in_event_loop(func): @wraps(func) @@ -30,19 +38,13 @@ class AsyncIOScheduler(BaseScheduler): _eventloop = None _timeout = None - def start(self, paused=False): - if not self._eventloop: - self._eventloop = asyncio.get_event_loop() - - super(AsyncIOScheduler, self).start(paused) - @run_in_event_loop def shutdown(self, wait=True): super(AsyncIOScheduler, self).shutdown(wait) self._stop_timer() def _configure(self, config): - self._eventloop = maybe_ref(config.pop('event_loop', None)) + self._eventloop = maybe_ref(config.pop('event_loop', None)) or asyncio.get_event_loop() super(AsyncIOScheduler, self)._configure(config) def _start_timer(self, wait_seconds): diff --git a/lib/apscheduler/schedulers/background.py b/lib/apscheduler/schedulers/background.py index bb8f77da..03f29822 100644 --- a/lib/apscheduler/schedulers/background.py +++ b/lib/apscheduler/schedulers/background.py @@ -29,9 +29,7 @@ class BackgroundScheduler(BlockingScheduler): super(BackgroundScheduler, self)._configure(config) def start(self, *args, **kwargs): - if self._event is None or self._event.is_set(): - self._event = Event() - + self._event = Event() BaseScheduler.start(self, *args, **kwargs) self._thread = Thread(target=self._main_loop, name='APScheduler') self._thread.daemon = self._daemon diff --git a/lib/apscheduler/schedulers/base.py b/lib/apscheduler/schedulers/base.py index 444de8ef..8e711549 100644 --- a/lib/apscheduler/schedulers/base.py +++ b/lib/apscheduler/schedulers/base.py @@ -86,11 +86,6 @@ class BaseScheduler(six.with_metaclass(ABCMeta)): self.state = STATE_STOPPED self.configure(gconfig, **options) - def __getstate__(self): - raise TypeError("Schedulers cannot be serialized. Ensure that you are not passing a " - "scheduler instance as an argument to a job, or scheduling an instance " - "method where the instance contains a scheduler as an attribute.") - def configure(self, gconfig={}, prefix='apscheduler.', **options): """ Reconfigures the scheduler with the given options. @@ -191,11 +186,12 @@ class BaseScheduler(six.with_metaclass(ABCMeta)): self.state = STATE_STOPPED # Shut down all executors - with self._executors_lock, self._jobstores_lock: + with self._executors_lock: for executor in six.itervalues(self._executors): executor.shutdown(wait) - # Shut down all job stores + # Shut down all job stores + with self._jobstores_lock: for jobstore in six.itervalues(self._jobstores): jobstore.shutdown() @@ -406,7 +402,7 @@ class BaseScheduler(six.with_metaclass(ABCMeta)): :param str|unicode id: explicit identifier for the job (for modifying it later) :param str|unicode name: textual description of the job :param int misfire_grace_time: seconds after the designated runtime that the job is still - allowed to be run (or ``None`` to allow the job to run no matter how late it is) + allowed to be run :param bool coalesce: run once instead of many times if the scheduler determines that the job should be run more than once in succession :param int max_instances: maximum number of concurrently running instances allowed for this diff --git a/lib/apscheduler/schedulers/blocking.py b/lib/apscheduler/schedulers/blocking.py index 4ecc9f6f..e6171575 100644 --- a/lib/apscheduler/schedulers/blocking.py +++ b/lib/apscheduler/schedulers/blocking.py @@ -14,9 +14,7 @@ class BlockingScheduler(BaseScheduler): _event = None def start(self, *args, **kwargs): - if self._event is None or self._event.is_set(): - self._event = Event() - + self._event = Event() super(BlockingScheduler, self).start(*args, **kwargs) self._main_loop() diff --git a/lib/apscheduler/schedulers/qt.py b/lib/apscheduler/schedulers/qt.py index 890a44a8..0329a000 100644 --- a/lib/apscheduler/schedulers/qt.py +++ b/lib/apscheduler/schedulers/qt.py @@ -9,16 +9,9 @@ except (ImportError, RuntimeError): # pragma: nocover from PyQt4.QtCore import QObject, QTimer except ImportError: try: - from PySide6.QtCore import QObject, QTimer # noqa + from PySide.QtCore import QObject, QTimer # noqa except ImportError: - try: - from PySide2.QtCore import QObject, QTimer # noqa - except ImportError: - try: - from PySide.QtCore import QObject, QTimer # noqa - except ImportError: - raise ImportError('QtScheduler requires either PyQt5, PyQt4, PySide6, PySide2 ' - 'or PySide installed') + raise ImportError('QtScheduler requires either PyQt5, PyQt4 or PySide installed') class QtScheduler(BaseScheduler): @@ -33,7 +26,7 @@ class QtScheduler(BaseScheduler): def _start_timer(self, wait_seconds): self._stop_timer() if wait_seconds is not None: - wait_time = min(int(wait_seconds * 1000), 2147483647) + wait_time = min(wait_seconds * 1000, 2147483647) self._timer = QTimer.singleShot(wait_time, self._process_jobs) def _stop_timer(self): diff --git a/lib/apscheduler/triggers/base.py b/lib/apscheduler/triggers/base.py index 55d010db..ce2526a8 100644 --- a/lib/apscheduler/triggers/base.py +++ b/lib/apscheduler/triggers/base.py @@ -22,16 +22,27 @@ class BaseTrigger(six.with_metaclass(ABCMeta)): def _apply_jitter(self, next_fire_time, jitter, now): """ - Randomize ``next_fire_time`` by adding a random value (the jitter). + Randomize ``next_fire_time`` by adding or subtracting a random value (the jitter). If the + resulting datetime is in the past, returns the initial ``next_fire_time`` without jitter. + + ``next_fire_time - jitter <= result <= next_fire_time + jitter`` :param datetime.datetime|None next_fire_time: next fire time without jitter applied. If ``None``, returns ``None``. - :param int|None jitter: maximum number of seconds to add to ``next_fire_time`` - (if ``None`` or ``0``, returns ``next_fire_time``) + :param int|None jitter: maximum number of seconds to add or subtract to + ``next_fire_time``. If ``None`` or ``0``, returns ``next_fire_time`` :param datetime.datetime now: current datetime :return datetime.datetime|None: next fire time with a jitter. """ if next_fire_time is None or not jitter: return next_fire_time - return next_fire_time + timedelta(seconds=random.uniform(0, jitter)) + next_fire_time_with_jitter = next_fire_time + timedelta( + seconds=random.uniform(-jitter, jitter)) + + if next_fire_time_with_jitter < now: + # Next fire time with jitter is in the past. + # Ignore jitter to avoid false misfire. + return next_fire_time + + return next_fire_time_with_jitter diff --git a/lib/apscheduler/triggers/combining.py b/lib/apscheduler/triggers/combining.py index bb900061..64f83011 100644 --- a/lib/apscheduler/triggers/combining.py +++ b/lib/apscheduler/triggers/combining.py @@ -45,7 +45,7 @@ class AndTrigger(BaseCombiningTrigger): Trigger alias: ``and`` :param list triggers: triggers to combine - :param int|None jitter: delay the job execution by ``jitter`` seconds at most + :param int|None jitter: advance or delay the job execution by ``jitter`` seconds at most. """ __slots__ = () @@ -73,7 +73,7 @@ class OrTrigger(BaseCombiningTrigger): Trigger alias: ``or`` :param list triggers: triggers to combine - :param int|None jitter: delay the job execution by ``jitter`` seconds at most + :param int|None jitter: advance or delay the job execution by ``jitter`` seconds at most. .. note:: Triggers that depends on the previous fire time, such as the interval trigger, may seem to behave strangely since they are always passed the previous fire time produced by diff --git a/lib/apscheduler/triggers/cron/__init__.py b/lib/apscheduler/triggers/cron/__init__.py index b5389dd2..ce675dd9 100644 --- a/lib/apscheduler/triggers/cron/__init__.py +++ b/lib/apscheduler/triggers/cron/__init__.py @@ -6,8 +6,7 @@ import six from apscheduler.triggers.base import BaseTrigger from apscheduler.triggers.cron.fields import ( BaseField, MonthField, WeekField, DayOfMonthField, DayOfWeekField, DEFAULT_VALUES) -from apscheduler.util import ( - datetime_ceil, convert_to_datetime, datetime_repr, astimezone, localize, normalize) +from apscheduler.util import datetime_ceil, convert_to_datetime, datetime_repr, astimezone class CronTrigger(BaseTrigger): @@ -17,7 +16,7 @@ class CronTrigger(BaseTrigger): :param int|str year: 4-digit year :param int|str month: month (1-12) - :param int|str day: day of month (1-31) + :param int|str day: day of the (1-31) :param int|str week: ISO week (1-53) :param int|str day_of_week: number or name of weekday (0-6 or mon,tue,wed,thu,fri,sat,sun) :param int|str hour: hour (0-23) @@ -27,7 +26,7 @@ class CronTrigger(BaseTrigger): :param datetime|str end_date: latest possible date/time to trigger on (inclusive) :param datetime.tzinfo|str timezone: time zone to use for the date/time calculations (defaults to scheduler timezone) - :param int|None jitter: delay the job execution by ``jitter`` seconds at most + :param int|None jitter: advance or delay the job execution by ``jitter`` seconds at most. .. note:: The first weekday is always **monday**. """ @@ -144,7 +143,7 @@ class CronTrigger(BaseTrigger): i += 1 difference = datetime(**values) - dateval.replace(tzinfo=None) - return normalize(dateval + difference), fieldnum + return self.timezone.normalize(dateval + difference), fieldnum def _set_field_value(self, dateval, fieldnum, new_value): values = {} @@ -157,7 +156,7 @@ class CronTrigger(BaseTrigger): else: values[field.name] = new_value - return localize(datetime(**values), self.timezone) + return self.timezone.localize(datetime(**values)) def get_next_fire_time(self, previous_fire_time, now): if previous_fire_time: diff --git a/lib/apscheduler/triggers/interval.py b/lib/apscheduler/triggers/interval.py index b0e2dbdd..831ba383 100644 --- a/lib/apscheduler/triggers/interval.py +++ b/lib/apscheduler/triggers/interval.py @@ -4,9 +4,7 @@ from math import ceil from tzlocal import get_localzone from apscheduler.triggers.base import BaseTrigger -from apscheduler.util import ( - convert_to_datetime, normalize, timedelta_seconds, datetime_repr, - astimezone) +from apscheduler.util import convert_to_datetime, timedelta_seconds, datetime_repr, astimezone class IntervalTrigger(BaseTrigger): @@ -22,7 +20,7 @@ class IntervalTrigger(BaseTrigger): :param datetime|str start_date: starting point for the interval calculation :param datetime|str end_date: latest possible date/time to trigger on :param datetime.tzinfo|str timezone: time zone to use for the date/time calculations - :param int|None jitter: delay the job execution by ``jitter`` seconds at most + :param int|None jitter: advance or delay the job execution by ``jitter`` seconds at most. """ __slots__ = 'timezone', 'start_date', 'end_date', 'interval', 'interval_length', 'jitter' @@ -65,7 +63,7 @@ class IntervalTrigger(BaseTrigger): next_fire_time = self._apply_jitter(next_fire_time, self.jitter, now) if not self.end_date or next_fire_time <= self.end_date: - return normalize(next_fire_time) + return self.timezone.normalize(next_fire_time) def __getstate__(self): return { diff --git a/lib/apscheduler/util.py b/lib/apscheduler/util.py index 64b27d7b..8b7b3f5e 100644 --- a/lib/apscheduler/util.py +++ b/lib/apscheduler/util.py @@ -2,13 +2,11 @@ from __future__ import division -from asyncio import iscoroutinefunction from datetime import date, datetime, time, timedelta, tzinfo from calendar import timegm from functools import partial from inspect import isclass, ismethod import re -import sys from pytz import timezone, utc, FixedOffset import six @@ -23,10 +21,19 @@ try: except ImportError: TIMEOUT_MAX = 4294967 # Maximum value accepted by Event.wait() on Windows +try: + from asyncio import iscoroutinefunction +except ImportError: + try: + from trollius import iscoroutinefunction + except ImportError: + def iscoroutinefunction(func): + return False + __all__ = ('asint', 'asbool', 'astimezone', 'convert_to_datetime', 'datetime_to_utc_timestamp', 'utc_timestamp_to_datetime', 'timedelta_seconds', 'datetime_ceil', 'get_callable_name', 'obj_to_ref', 'ref_to_obj', 'maybe_ref', 'repr_escape', 'check_callable_args', - 'normalize', 'localize', 'TIMEOUT_MAX') + 'TIMEOUT_MAX') class _Undefined(object): @@ -82,7 +89,9 @@ def astimezone(obj): if isinstance(obj, six.string_types): return timezone(obj) if isinstance(obj, tzinfo): - if obj.tzname(None) == 'local': + if not hasattr(obj, 'localize') or not hasattr(obj, 'normalize'): + raise TypeError('Only timezones from the pytz library are supported') + if obj.zone == 'local': raise ValueError( 'Unable to determine the name of the local timezone -- you must explicitly ' 'specify the name of the local timezone. Please refrain from using timezones like ' @@ -152,7 +161,11 @@ def convert_to_datetime(input, tz, arg_name): if isinstance(tz, six.string_types): tz = timezone(tz) - return localize(datetime_, tz) + try: + return tz.localize(datetime_, is_dst=None) + except AttributeError: + raise TypeError( + 'Only pytz timezones are supported (need the localize() and normalize() methods)') def datetime_to_utc_timestamp(timeval): @@ -339,10 +352,7 @@ def check_callable_args(func, args, kwargs): has_varargs = has_var_kwargs = False try: - if sys.version_info >= (3, 5): - sig = signature(func, follow_wrapped=False) - else: - sig = signature(func) + sig = signature(func) except ValueError: # signature() doesn't work against every kind of callable return @@ -417,14 +427,3 @@ def iscoroutinefunction_partial(f): # The asyncio version of iscoroutinefunction includes testing for @coroutine # decorations vs. the inspect version which does not. return iscoroutinefunction(f) - - -def normalize(dt): - return datetime.fromtimestamp(dt.timestamp(), dt.tzinfo) - - -def localize(dt, tzinfo): - if hasattr(tzinfo, 'localize'): - return tzinfo.localize(dt) - - return normalize(dt.replace(tzinfo=tzinfo)) diff --git a/lib/argparse.py b/lib/argparse.py new file mode 100644 index 00000000..70a77cc0 --- /dev/null +++ b/lib/argparse.py @@ -0,0 +1,2392 @@ +# Author: Steven J. Bethard . +# Maintainer: Thomas Waldmann + +"""Command-line parsing library + +This module is an optparse-inspired command-line parsing library that: + + - handles both optional and positional arguments + - produces highly informative usage messages + - supports parsers that dispatch to sub-parsers + +The following is a simple usage example that sums integers from the +command-line and writes the result to a file:: + + parser = argparse.ArgumentParser( + description='sum the integers at the command line') + parser.add_argument( + 'integers', metavar='int', nargs='+', type=int, + help='an integer to be summed') + parser.add_argument( + '--log', default=sys.stdout, type=argparse.FileType('w'), + help='the file where the sum should be written') + args = parser.parse_args() + args.log.write('%s' % sum(args.integers)) + args.log.close() + +The module contains the following public classes: + + - ArgumentParser -- The main entry point for command-line parsing. As the + example above shows, the add_argument() method is used to populate + the parser with actions for optional and positional arguments. Then + the parse_args() method is invoked to convert the args at the + command-line into an object with attributes. + + - ArgumentError -- The exception raised by ArgumentParser objects when + there are errors with the parser's actions. Errors raised while + parsing the command-line are caught by ArgumentParser and emitted + as command-line messages. + + - FileType -- A factory for defining types of files to be created. As the + example above shows, instances of FileType are typically passed as + the type= argument of add_argument() calls. + + - Action -- The base class for parser actions. Typically actions are + selected by passing strings like 'store_true' or 'append_const' to + the action= argument of add_argument(). However, for greater + customization of ArgumentParser actions, subclasses of Action may + be defined and passed as the action= argument. + + - HelpFormatter, RawDescriptionHelpFormatter, RawTextHelpFormatter, + ArgumentDefaultsHelpFormatter -- Formatter classes which + may be passed as the formatter_class= argument to the + ArgumentParser constructor. HelpFormatter is the default, + RawDescriptionHelpFormatter and RawTextHelpFormatter tell the parser + not to change the formatting for help text, and + ArgumentDefaultsHelpFormatter adds information about argument defaults + to the help. + +All other classes in this module are considered implementation details. +(Also note that HelpFormatter and RawDescriptionHelpFormatter are only +considered public as object names -- the API of the formatter objects is +still considered an implementation detail.) +""" + +__version__ = '1.4.0' # we use our own version number independant of the + # one in stdlib and we release this on pypi. + +__external_lib__ = True # to make sure the tests really test THIS lib, + # not the builtin one in Python stdlib + +__all__ = [ + 'ArgumentParser', + 'ArgumentError', + 'ArgumentTypeError', + 'FileType', + 'HelpFormatter', + 'ArgumentDefaultsHelpFormatter', + 'RawDescriptionHelpFormatter', + 'RawTextHelpFormatter', + 'Namespace', + 'Action', + 'ONE_OR_MORE', + 'OPTIONAL', + 'PARSER', + 'REMAINDER', + 'SUPPRESS', + 'ZERO_OR_MORE', +] + + +import copy as _copy +import os as _os +import re as _re +import sys as _sys +import textwrap as _textwrap + +from gettext import gettext as _ + +try: + set +except NameError: + # for python < 2.4 compatibility (sets module is there since 2.3): + from sets import Set as set + +try: + basestring +except NameError: + basestring = str + +try: + sorted +except NameError: + # for python < 2.4 compatibility: + def sorted(iterable, reverse=False): + result = list(iterable) + result.sort() + if reverse: + result.reverse() + return result + + +def _callable(obj): + return hasattr(obj, '__call__') or hasattr(obj, '__bases__') + + +SUPPRESS = '==SUPPRESS==' + +OPTIONAL = '?' +ZERO_OR_MORE = '*' +ONE_OR_MORE = '+' +PARSER = 'A...' +REMAINDER = '...' +_UNRECOGNIZED_ARGS_ATTR = '_unrecognized_args' + +# ============================= +# Utility functions and classes +# ============================= + +class _AttributeHolder(object): + """Abstract base class that provides __repr__. + + The __repr__ method returns a string in the format:: + ClassName(attr=name, attr=name, ...) + The attributes are determined either by a class-level attribute, + '_kwarg_names', or by inspecting the instance __dict__. + """ + + def __repr__(self): + type_name = type(self).__name__ + arg_strings = [] + for arg in self._get_args(): + arg_strings.append(repr(arg)) + for name, value in self._get_kwargs(): + arg_strings.append('%s=%r' % (name, value)) + return '%s(%s)' % (type_name, ', '.join(arg_strings)) + + def _get_kwargs(self): + return sorted(self.__dict__.items()) + + def _get_args(self): + return [] + + +def _ensure_value(namespace, name, value): + if getattr(namespace, name, None) is None: + setattr(namespace, name, value) + return getattr(namespace, name) + + +# =============== +# Formatting Help +# =============== + +class HelpFormatter(object): + """Formatter for generating usage messages and argument help strings. + + Only the name of this class is considered a public API. All the methods + provided by the class are considered an implementation detail. + """ + + def __init__(self, + prog, + indent_increment=2, + max_help_position=24, + width=None): + + # default setting for width + if width is None: + try: + width = int(_os.environ['COLUMNS']) + except (KeyError, ValueError): + width = 80 + width -= 2 + + self._prog = prog + self._indent_increment = indent_increment + self._max_help_position = max_help_position + self._width = width + + self._current_indent = 0 + self._level = 0 + self._action_max_length = 0 + + self._root_section = self._Section(self, None) + self._current_section = self._root_section + + self._whitespace_matcher = _re.compile(r'\s+') + self._long_break_matcher = _re.compile(r'\n\n\n+') + + # =============================== + # Section and indentation methods + # =============================== + def _indent(self): + self._current_indent += self._indent_increment + self._level += 1 + + def _dedent(self): + self._current_indent -= self._indent_increment + assert self._current_indent >= 0, 'Indent decreased below 0.' + self._level -= 1 + + class _Section(object): + + def __init__(self, formatter, parent, heading=None): + self.formatter = formatter + self.parent = parent + self.heading = heading + self.items = [] + + def format_help(self): + # format the indented section + if self.parent is not None: + self.formatter._indent() + join = self.formatter._join_parts + for func, args in self.items: + func(*args) + item_help = join([func(*args) for func, args in self.items]) + if self.parent is not None: + self.formatter._dedent() + + # return nothing if the section was empty + if not item_help: + return '' + + # add the heading if the section was non-empty + if self.heading is not SUPPRESS and self.heading is not None: + current_indent = self.formatter._current_indent + heading = '%*s%s:\n' % (current_indent, '', self.heading) + else: + heading = '' + + # join the section-initial newline, the heading and the help + return join(['\n', heading, item_help, '\n']) + + def _add_item(self, func, args): + self._current_section.items.append((func, args)) + + # ======================== + # Message building methods + # ======================== + def start_section(self, heading): + self._indent() + section = self._Section(self, self._current_section, heading) + self._add_item(section.format_help, []) + self._current_section = section + + def end_section(self): + self._current_section = self._current_section.parent + self._dedent() + + def add_text(self, text): + if text is not SUPPRESS and text is not None: + self._add_item(self._format_text, [text]) + + def add_usage(self, usage, actions, groups, prefix=None): + if usage is not SUPPRESS: + args = usage, actions, groups, prefix + self._add_item(self._format_usage, args) + + def add_argument(self, action): + if action.help is not SUPPRESS: + + # find all invocations + get_invocation = self._format_action_invocation + invocations = [get_invocation(action)] + for subaction in self._iter_indented_subactions(action): + invocations.append(get_invocation(subaction)) + + # update the maximum item length + invocation_length = max([len(s) for s in invocations]) + action_length = invocation_length + self._current_indent + self._action_max_length = max(self._action_max_length, + action_length) + + # add the item to the list + self._add_item(self._format_action, [action]) + + def add_arguments(self, actions): + for action in actions: + self.add_argument(action) + + # ======================= + # Help-formatting methods + # ======================= + def format_help(self): + help = self._root_section.format_help() + if help: + help = self._long_break_matcher.sub('\n\n', help) + help = help.strip('\n') + '\n' + return help + + def _join_parts(self, part_strings): + return ''.join([part + for part in part_strings + if part and part is not SUPPRESS]) + + def _format_usage(self, usage, actions, groups, prefix): + if prefix is None: + prefix = _('usage: ') + + # if usage is specified, use that + if usage is not None: + usage = usage % dict(prog=self._prog) + + # if no optionals or positionals are available, usage is just prog + elif usage is None and not actions: + usage = '%(prog)s' % dict(prog=self._prog) + + # if optionals and positionals are available, calculate usage + elif usage is None: + prog = '%(prog)s' % dict(prog=self._prog) + + # split optionals from positionals + optionals = [] + positionals = [] + for action in actions: + if action.option_strings: + optionals.append(action) + else: + positionals.append(action) + + # build full usage string + format = self._format_actions_usage + action_usage = format(optionals + positionals, groups) + usage = ' '.join([s for s in [prog, action_usage] if s]) + + # wrap the usage parts if it's too long + text_width = self._width - self._current_indent + if len(prefix) + len(usage) > text_width: + + # break usage into wrappable parts + part_regexp = r'\(.*?\)+|\[.*?\]+|\S+' + opt_usage = format(optionals, groups) + pos_usage = format(positionals, groups) + opt_parts = _re.findall(part_regexp, opt_usage) + pos_parts = _re.findall(part_regexp, pos_usage) + assert ' '.join(opt_parts) == opt_usage + assert ' '.join(pos_parts) == pos_usage + + # helper for wrapping lines + def get_lines(parts, indent, prefix=None): + lines = [] + line = [] + if prefix is not None: + line_len = len(prefix) - 1 + else: + line_len = len(indent) - 1 + for part in parts: + if line_len + 1 + len(part) > text_width: + lines.append(indent + ' '.join(line)) + line = [] + line_len = len(indent) - 1 + line.append(part) + line_len += len(part) + 1 + if line: + lines.append(indent + ' '.join(line)) + if prefix is not None: + lines[0] = lines[0][len(indent):] + return lines + + # if prog is short, follow it with optionals or positionals + if len(prefix) + len(prog) <= 0.75 * text_width: + indent = ' ' * (len(prefix) + len(prog) + 1) + if opt_parts: + lines = get_lines([prog] + opt_parts, indent, prefix) + lines.extend(get_lines(pos_parts, indent)) + elif pos_parts: + lines = get_lines([prog] + pos_parts, indent, prefix) + else: + lines = [prog] + + # if prog is long, put it on its own line + else: + indent = ' ' * len(prefix) + parts = opt_parts + pos_parts + lines = get_lines(parts, indent) + if len(lines) > 1: + lines = [] + lines.extend(get_lines(opt_parts, indent)) + lines.extend(get_lines(pos_parts, indent)) + lines = [prog] + lines + + # join lines into usage + usage = '\n'.join(lines) + + # prefix with 'usage:' + return '%s%s\n\n' % (prefix, usage) + + def _format_actions_usage(self, actions, groups): + # find group indices and identify actions in groups + group_actions = set() + inserts = {} + for group in groups: + try: + start = actions.index(group._group_actions[0]) + except ValueError: + continue + else: + end = start + len(group._group_actions) + if actions[start:end] == group._group_actions: + for action in group._group_actions: + group_actions.add(action) + if not group.required: + if start in inserts: + inserts[start] += ' [' + else: + inserts[start] = '[' + inserts[end] = ']' + else: + if start in inserts: + inserts[start] += ' (' + else: + inserts[start] = '(' + inserts[end] = ')' + for i in range(start + 1, end): + inserts[i] = '|' + + # collect all actions format strings + parts = [] + for i, action in enumerate(actions): + + # suppressed arguments are marked with None + # remove | separators for suppressed arguments + if action.help is SUPPRESS: + parts.append(None) + if inserts.get(i) == '|': + inserts.pop(i) + elif inserts.get(i + 1) == '|': + inserts.pop(i + 1) + + # produce all arg strings + elif not action.option_strings: + part = self._format_args(action, action.dest) + + # if it's in a group, strip the outer [] + if action in group_actions: + if part[0] == '[' and part[-1] == ']': + part = part[1:-1] + + # add the action string to the list + parts.append(part) + + # produce the first way to invoke the option in brackets + else: + option_string = action.option_strings[0] + + # if the Optional doesn't take a value, format is: + # -s or --long + if action.nargs == 0: + part = '%s' % option_string + + # if the Optional takes a value, format is: + # -s ARGS or --long ARGS + else: + default = action.dest.upper() + args_string = self._format_args(action, default) + part = '%s %s' % (option_string, args_string) + + # make it look optional if it's not required or in a group + if not action.required and action not in group_actions: + part = '[%s]' % part + + # add the action string to the list + parts.append(part) + + # insert things at the necessary indices + for i in sorted(inserts, reverse=True): + parts[i:i] = [inserts[i]] + + # join all the action items with spaces + text = ' '.join([item for item in parts if item is not None]) + + # clean up separators for mutually exclusive groups + open = r'[\[(]' + close = r'[\])]' + text = _re.sub(r'(%s) ' % open, r'\1', text) + text = _re.sub(r' (%s)' % close, r'\1', text) + text = _re.sub(r'%s *%s' % (open, close), r'', text) + text = _re.sub(r'\(([^|]*)\)', r'\1', text) + text = text.strip() + + # return the text + return text + + def _format_text(self, text): + if '%(prog)' in text: + text = text % dict(prog=self._prog) + text_width = self._width - self._current_indent + indent = ' ' * self._current_indent + return self._fill_text(text, text_width, indent) + '\n\n' + + def _format_action(self, action): + # determine the required width and the entry label + help_position = min(self._action_max_length + 2, + self._max_help_position) + help_width = self._width - help_position + action_width = help_position - self._current_indent - 2 + action_header = self._format_action_invocation(action) + + # ho nelp; start on same line and add a final newline + if not action.help: + tup = self._current_indent, '', action_header + action_header = '%*s%s\n' % tup + + # short action name; start on the same line and pad two spaces + elif len(action_header) <= action_width: + tup = self._current_indent, '', action_width, action_header + action_header = '%*s%-*s ' % tup + indent_first = 0 + + # long action name; start on the next line + else: + tup = self._current_indent, '', action_header + action_header = '%*s%s\n' % tup + indent_first = help_position + + # collect the pieces of the action help + parts = [action_header] + + # if there was help for the action, add lines of help text + if action.help: + help_text = self._expand_help(action) + help_lines = self._split_lines(help_text, help_width) + parts.append('%*s%s\n' % (indent_first, '', help_lines[0])) + for line in help_lines[1:]: + parts.append('%*s%s\n' % (help_position, '', line)) + + # or add a newline if the description doesn't end with one + elif not action_header.endswith('\n'): + parts.append('\n') + + # if there are any sub-actions, add their help as well + for subaction in self._iter_indented_subactions(action): + parts.append(self._format_action(subaction)) + + # return a single string + return self._join_parts(parts) + + def _format_action_invocation(self, action): + if not action.option_strings: + metavar, = self._metavar_formatter(action, action.dest)(1) + return metavar + + else: + parts = [] + + # if the Optional doesn't take a value, format is: + # -s, --long + if action.nargs == 0: + parts.extend(action.option_strings) + + # if the Optional takes a value, format is: + # -s ARGS, --long ARGS + else: + default = action.dest.upper() + args_string = self._format_args(action, default) + for option_string in action.option_strings: + parts.append('%s %s' % (option_string, args_string)) + + return ', '.join(parts) + + def _metavar_formatter(self, action, default_metavar): + if action.metavar is not None: + result = action.metavar + elif action.choices is not None: + choice_strs = [str(choice) for choice in action.choices] + result = '{%s}' % ','.join(choice_strs) + else: + result = default_metavar + + def format(tuple_size): + if isinstance(result, tuple): + return result + else: + return (result, ) * tuple_size + return format + + def _format_args(self, action, default_metavar): + get_metavar = self._metavar_formatter(action, default_metavar) + if action.nargs is None: + result = '%s' % get_metavar(1) + elif action.nargs == OPTIONAL: + result = '[%s]' % get_metavar(1) + elif action.nargs == ZERO_OR_MORE: + result = '[%s [%s ...]]' % get_metavar(2) + elif action.nargs == ONE_OR_MORE: + result = '%s [%s ...]' % get_metavar(2) + elif action.nargs == REMAINDER: + result = '...' + elif action.nargs == PARSER: + result = '%s ...' % get_metavar(1) + else: + formats = ['%s' for _ in range(action.nargs)] + result = ' '.join(formats) % get_metavar(action.nargs) + return result + + def _expand_help(self, action): + params = dict(vars(action), prog=self._prog) + for name in list(params): + if params[name] is SUPPRESS: + del params[name] + for name in list(params): + if hasattr(params[name], '__name__'): + params[name] = params[name].__name__ + if params.get('choices') is not None: + choices_str = ', '.join([str(c) for c in params['choices']]) + params['choices'] = choices_str + return self._get_help_string(action) % params + + def _iter_indented_subactions(self, action): + try: + get_subactions = action._get_subactions + except AttributeError: + pass + else: + self._indent() + for subaction in get_subactions(): + yield subaction + self._dedent() + + def _split_lines(self, text, width): + text = self._whitespace_matcher.sub(' ', text).strip() + return _textwrap.wrap(text, width) + + def _fill_text(self, text, width, indent): + text = self._whitespace_matcher.sub(' ', text).strip() + return _textwrap.fill(text, width, initial_indent=indent, + subsequent_indent=indent) + + def _get_help_string(self, action): + return action.help + + +class RawDescriptionHelpFormatter(HelpFormatter): + """Help message formatter which retains any formatting in descriptions. + + Only the name of this class is considered a public API. All the methods + provided by the class are considered an implementation detail. + """ + + def _fill_text(self, text, width, indent): + return ''.join([indent + line for line in text.splitlines(True)]) + + +class RawTextHelpFormatter(RawDescriptionHelpFormatter): + """Help message formatter which retains formatting of all help text. + + Only the name of this class is considered a public API. All the methods + provided by the class are considered an implementation detail. + """ + + def _split_lines(self, text, width): + return text.splitlines() + + +class ArgumentDefaultsHelpFormatter(HelpFormatter): + """Help message formatter which adds default values to argument help. + + Only the name of this class is considered a public API. All the methods + provided by the class are considered an implementation detail. + """ + + def _get_help_string(self, action): + help = action.help + if '%(default)' not in action.help: + if action.default is not SUPPRESS: + defaulting_nargs = [OPTIONAL, ZERO_OR_MORE] + if action.option_strings or action.nargs in defaulting_nargs: + help += ' (default: %(default)s)' + return help + + +# ===================== +# Options and Arguments +# ===================== + +def _get_action_name(argument): + if argument is None: + return None + elif argument.option_strings: + return '/'.join(argument.option_strings) + elif argument.metavar not in (None, SUPPRESS): + return argument.metavar + elif argument.dest not in (None, SUPPRESS): + return argument.dest + else: + return None + + +class ArgumentError(Exception): + """An error from creating or using an argument (optional or positional). + + The string value of this exception is the message, augmented with + information about the argument that caused it. + """ + + def __init__(self, argument, message): + self.argument_name = _get_action_name(argument) + self.message = message + + def __str__(self): + if self.argument_name is None: + format = '%(message)s' + else: + format = 'argument %(argument_name)s: %(message)s' + return format % dict(message=self.message, + argument_name=self.argument_name) + + +class ArgumentTypeError(Exception): + """An error from trying to convert a command line string to a type.""" + pass + + +# ============== +# Action classes +# ============== + +class Action(_AttributeHolder): + """Information about how to convert command line strings to Python objects. + + Action objects are used by an ArgumentParser to represent the information + needed to parse a single argument from one or more strings from the + command line. The keyword arguments to the Action constructor are also + all attributes of Action instances. + + Keyword Arguments: + + - option_strings -- A list of command-line option strings which + should be associated with this action. + + - dest -- The name of the attribute to hold the created object(s) + + - nargs -- The number of command-line arguments that should be + consumed. By default, one argument will be consumed and a single + value will be produced. Other values include: + - N (an integer) consumes N arguments (and produces a list) + - '?' consumes zero or one arguments + - '*' consumes zero or more arguments (and produces a list) + - '+' consumes one or more arguments (and produces a list) + Note that the difference between the default and nargs=1 is that + with the default, a single value will be produced, while with + nargs=1, a list containing a single value will be produced. + + - const -- The value to be produced if the option is specified and the + option uses an action that takes no values. + + - default -- The value to be produced if the option is not specified. + + - type -- The type which the command-line arguments should be converted + to, should be one of 'string', 'int', 'float', 'complex' or a + callable object that accepts a single string argument. If None, + 'string' is assumed. + + - choices -- A container of values that should be allowed. If not None, + after a command-line argument has been converted to the appropriate + type, an exception will be raised if it is not a member of this + collection. + + - required -- True if the action must always be specified at the + command line. This is only meaningful for optional command-line + arguments. + + - help -- The help string describing the argument. + + - metavar -- The name to be used for the option's argument with the + help string. If None, the 'dest' value will be used as the name. + """ + + def __init__(self, + option_strings, + dest, + nargs=None, + const=None, + default=None, + type=None, + choices=None, + required=False, + help=None, + metavar=None): + self.option_strings = option_strings + self.dest = dest + self.nargs = nargs + self.const = const + self.default = default + self.type = type + self.choices = choices + self.required = required + self.help = help + self.metavar = metavar + + def _get_kwargs(self): + names = [ + 'option_strings', + 'dest', + 'nargs', + 'const', + 'default', + 'type', + 'choices', + 'help', + 'metavar', + ] + return [(name, getattr(self, name)) for name in names] + + def __call__(self, parser, namespace, values, option_string=None): + raise NotImplementedError(_('.__call__() not defined')) + + +class _StoreAction(Action): + + def __init__(self, + option_strings, + dest, + nargs=None, + const=None, + default=None, + type=None, + choices=None, + required=False, + help=None, + metavar=None): + if nargs == 0: + raise ValueError('nargs for store actions must be > 0; if you ' + 'have nothing to store, actions such as store ' + 'true or store const may be more appropriate') + if const is not None and nargs != OPTIONAL: + raise ValueError('nargs must be %r to supply const' % OPTIONAL) + super(_StoreAction, self).__init__( + option_strings=option_strings, + dest=dest, + nargs=nargs, + const=const, + default=default, + type=type, + choices=choices, + required=required, + help=help, + metavar=metavar) + + def __call__(self, parser, namespace, values, option_string=None): + setattr(namespace, self.dest, values) + + +class _StoreConstAction(Action): + + def __init__(self, + option_strings, + dest, + const, + default=None, + required=False, + help=None, + metavar=None): + super(_StoreConstAction, self).__init__( + option_strings=option_strings, + dest=dest, + nargs=0, + const=const, + default=default, + required=required, + help=help) + + def __call__(self, parser, namespace, values, option_string=None): + setattr(namespace, self.dest, self.const) + + +class _StoreTrueAction(_StoreConstAction): + + def __init__(self, + option_strings, + dest, + default=False, + required=False, + help=None): + super(_StoreTrueAction, self).__init__( + option_strings=option_strings, + dest=dest, + const=True, + default=default, + required=required, + help=help) + + +class _StoreFalseAction(_StoreConstAction): + + def __init__(self, + option_strings, + dest, + default=True, + required=False, + help=None): + super(_StoreFalseAction, self).__init__( + option_strings=option_strings, + dest=dest, + const=False, + default=default, + required=required, + help=help) + + +class _AppendAction(Action): + + def __init__(self, + option_strings, + dest, + nargs=None, + const=None, + default=None, + type=None, + choices=None, + required=False, + help=None, + metavar=None): + if nargs == 0: + raise ValueError('nargs for append actions must be > 0; if arg ' + 'strings are not supplying the value to append, ' + 'the append const action may be more appropriate') + if const is not None and nargs != OPTIONAL: + raise ValueError('nargs must be %r to supply const' % OPTIONAL) + super(_AppendAction, self).__init__( + option_strings=option_strings, + dest=dest, + nargs=nargs, + const=const, + default=default, + type=type, + choices=choices, + required=required, + help=help, + metavar=metavar) + + def __call__(self, parser, namespace, values, option_string=None): + items = _copy.copy(_ensure_value(namespace, self.dest, [])) + items.append(values) + setattr(namespace, self.dest, items) + + +class _AppendConstAction(Action): + + def __init__(self, + option_strings, + dest, + const, + default=None, + required=False, + help=None, + metavar=None): + super(_AppendConstAction, self).__init__( + option_strings=option_strings, + dest=dest, + nargs=0, + const=const, + default=default, + required=required, + help=help, + metavar=metavar) + + def __call__(self, parser, namespace, values, option_string=None): + items = _copy.copy(_ensure_value(namespace, self.dest, [])) + items.append(self.const) + setattr(namespace, self.dest, items) + + +class _CountAction(Action): + + def __init__(self, + option_strings, + dest, + default=None, + required=False, + help=None): + super(_CountAction, self).__init__( + option_strings=option_strings, + dest=dest, + nargs=0, + default=default, + required=required, + help=help) + + def __call__(self, parser, namespace, values, option_string=None): + new_count = _ensure_value(namespace, self.dest, 0) + 1 + setattr(namespace, self.dest, new_count) + + +class _HelpAction(Action): + + def __init__(self, + option_strings, + dest=SUPPRESS, + default=SUPPRESS, + help=None): + super(_HelpAction, self).__init__( + option_strings=option_strings, + dest=dest, + default=default, + nargs=0, + help=help) + + def __call__(self, parser, namespace, values, option_string=None): + parser.print_help() + parser.exit() + + +class _VersionAction(Action): + + def __init__(self, + option_strings, + version=None, + dest=SUPPRESS, + default=SUPPRESS, + help="show program's version number and exit"): + super(_VersionAction, self).__init__( + option_strings=option_strings, + dest=dest, + default=default, + nargs=0, + help=help) + self.version = version + + def __call__(self, parser, namespace, values, option_string=None): + version = self.version + if version is None: + version = parser.version + formatter = parser._get_formatter() + formatter.add_text(version) + parser.exit(message=formatter.format_help()) + + +class _SubParsersAction(Action): + + class _ChoicesPseudoAction(Action): + + def __init__(self, name, aliases, help): + metavar = dest = name + if aliases: + metavar += ' (%s)' % ', '.join(aliases) + sup = super(_SubParsersAction._ChoicesPseudoAction, self) + sup.__init__(option_strings=[], dest=dest, help=help, + metavar=metavar) + + def __init__(self, + option_strings, + prog, + parser_class, + dest=SUPPRESS, + help=None, + metavar=None): + + self._prog_prefix = prog + self._parser_class = parser_class + self._name_parser_map = {} + self._choices_actions = [] + + super(_SubParsersAction, self).__init__( + option_strings=option_strings, + dest=dest, + nargs=PARSER, + choices=self._name_parser_map, + help=help, + metavar=metavar) + + def add_parser(self, name, **kwargs): + # set prog from the existing prefix + if kwargs.get('prog') is None: + kwargs['prog'] = '%s %s' % (self._prog_prefix, name) + + aliases = kwargs.pop('aliases', ()) + + # create a pseudo-action to hold the choice help + if 'help' in kwargs: + help = kwargs.pop('help') + choice_action = self._ChoicesPseudoAction(name, aliases, help) + self._choices_actions.append(choice_action) + + # create the parser and add it to the map + parser = self._parser_class(**kwargs) + self._name_parser_map[name] = parser + + # make parser available under aliases also + for alias in aliases: + self._name_parser_map[alias] = parser + + return parser + + def _get_subactions(self): + return self._choices_actions + + def __call__(self, parser, namespace, values, option_string=None): + parser_name = values[0] + arg_strings = values[1:] + + # set the parser name if requested + if self.dest is not SUPPRESS: + setattr(namespace, self.dest, parser_name) + + # select the parser + try: + parser = self._name_parser_map[parser_name] + except KeyError: + tup = parser_name, ', '.join(self._name_parser_map) + msg = _('unknown parser %r (choices: %s)' % tup) + raise ArgumentError(self, msg) + + # parse all the remaining options into the namespace + # store any unrecognized options on the object, so that the top + # level parser can decide what to do with them + namespace, arg_strings = parser.parse_known_args(arg_strings, namespace) + if arg_strings: + vars(namespace).setdefault(_UNRECOGNIZED_ARGS_ATTR, []) + getattr(namespace, _UNRECOGNIZED_ARGS_ATTR).extend(arg_strings) + + +# ============== +# Type classes +# ============== + +class FileType(object): + """Factory for creating file object types + + Instances of FileType are typically passed as type= arguments to the + ArgumentParser add_argument() method. + + Keyword Arguments: + - mode -- A string indicating how the file is to be opened. Accepts the + same values as the builtin open() function. + - bufsize -- The file's desired buffer size. Accepts the same values as + the builtin open() function. + """ + + def __init__(self, mode='r', bufsize=None): + self._mode = mode + self._bufsize = bufsize + + def __call__(self, string): + # the special argument "-" means sys.std{in,out} + if string == '-': + if 'r' in self._mode: + return _sys.stdin + elif 'w' in self._mode: + return _sys.stdout + else: + msg = _('argument "-" with mode %r' % self._mode) + raise ValueError(msg) + + try: + # all other arguments are used as file names + if self._bufsize: + return open(string, self._mode, self._bufsize) + else: + return open(string, self._mode) + except IOError: + err = _sys.exc_info()[1] + message = _("can't open '%s': %s") + raise ArgumentTypeError(message % (string, err)) + + def __repr__(self): + args = [self._mode, self._bufsize] + args_str = ', '.join([repr(arg) for arg in args if arg is not None]) + return '%s(%s)' % (type(self).__name__, args_str) + +# =========================== +# Optional and Positional Parsing +# =========================== + +class Namespace(_AttributeHolder): + """Simple object for storing attributes. + + Implements equality by attribute names and values, and provides a simple + string representation. + """ + + def __init__(self, **kwargs): + for name in kwargs: + setattr(self, name, kwargs[name]) + + __hash__ = None + + def __eq__(self, other): + return vars(self) == vars(other) + + def __ne__(self, other): + return not (self == other) + + def __contains__(self, key): + return key in self.__dict__ + + +class _ActionsContainer(object): + + def __init__(self, + description, + prefix_chars, + argument_default, + conflict_handler): + super(_ActionsContainer, self).__init__() + + self.description = description + self.argument_default = argument_default + self.prefix_chars = prefix_chars + self.conflict_handler = conflict_handler + + # set up registries + self._registries = {} + + # register actions + self.register('action', None, _StoreAction) + self.register('action', 'store', _StoreAction) + self.register('action', 'store_const', _StoreConstAction) + self.register('action', 'store_true', _StoreTrueAction) + self.register('action', 'store_false', _StoreFalseAction) + self.register('action', 'append', _AppendAction) + self.register('action', 'append_const', _AppendConstAction) + self.register('action', 'count', _CountAction) + self.register('action', 'help', _HelpAction) + self.register('action', 'version', _VersionAction) + self.register('action', 'parsers', _SubParsersAction) + + # raise an exception if the conflict handler is invalid + self._get_handler() + + # action storage + self._actions = [] + self._option_string_actions = {} + + # groups + self._action_groups = [] + self._mutually_exclusive_groups = [] + + # defaults storage + self._defaults = {} + + # determines whether an "option" looks like a negative number + self._negative_number_matcher = _re.compile(r'^-\d+$|^-\d*\.\d+$') + + # whether or not there are any optionals that look like negative + # numbers -- uses a list so it can be shared and edited + self._has_negative_number_optionals = [] + + # ==================== + # Registration methods + # ==================== + def register(self, registry_name, value, object): + registry = self._registries.setdefault(registry_name, {}) + registry[value] = object + + def _registry_get(self, registry_name, value, default=None): + return self._registries[registry_name].get(value, default) + + # ================================== + # Namespace default accessor methods + # ================================== + def set_defaults(self, **kwargs): + self._defaults.update(kwargs) + + # if these defaults match any existing arguments, replace + # the previous default on the object with the new one + for action in self._actions: + if action.dest in kwargs: + action.default = kwargs[action.dest] + + def get_default(self, dest): + for action in self._actions: + if action.dest == dest and action.default is not None: + return action.default + return self._defaults.get(dest, None) + + + # ======================= + # Adding argument actions + # ======================= + def add_argument(self, *args, **kwargs): + """ + add_argument(dest, ..., name=value, ...) + add_argument(option_string, option_string, ..., name=value, ...) + """ + + # if no positional args are supplied or only one is supplied and + # it doesn't look like an option string, parse a positional + # argument + chars = self.prefix_chars + if not args or len(args) == 1 and args[0][0] not in chars: + if args and 'dest' in kwargs: + raise ValueError('dest supplied twice for positional argument') + kwargs = self._get_positional_kwargs(*args, **kwargs) + + # otherwise, we're adding an optional argument + else: + kwargs = self._get_optional_kwargs(*args, **kwargs) + + # if no default was supplied, use the parser-level default + if 'default' not in kwargs: + dest = kwargs['dest'] + if dest in self._defaults: + kwargs['default'] = self._defaults[dest] + elif self.argument_default is not None: + kwargs['default'] = self.argument_default + + # create the action object, and add it to the parser + action_class = self._pop_action_class(kwargs) + if not _callable(action_class): + raise ValueError('unknown action "%s"' % action_class) + action = action_class(**kwargs) + + # raise an error if the action type is not callable + type_func = self._registry_get('type', action.type, action.type) + if not _callable(type_func): + raise ValueError('%r is not callable' % type_func) + + return self._add_action(action) + + def add_argument_group(self, *args, **kwargs): + group = _ArgumentGroup(self, *args, **kwargs) + self._action_groups.append(group) + return group + + def add_mutually_exclusive_group(self, **kwargs): + group = _MutuallyExclusiveGroup(self, **kwargs) + self._mutually_exclusive_groups.append(group) + return group + + def _add_action(self, action): + # resolve any conflicts + self._check_conflict(action) + + # add to actions list + self._actions.append(action) + action.container = self + + # index the action by any option strings it has + for option_string in action.option_strings: + self._option_string_actions[option_string] = action + + # set the flag if any option strings look like negative numbers + for option_string in action.option_strings: + if self._negative_number_matcher.match(option_string): + if not self._has_negative_number_optionals: + self._has_negative_number_optionals.append(True) + + # return the created action + return action + + def _remove_action(self, action): + self._actions.remove(action) + + def _add_container_actions(self, container): + # collect groups by titles + title_group_map = {} + for group in self._action_groups: + if group.title in title_group_map: + msg = _('cannot merge actions - two groups are named %r') + raise ValueError(msg % (group.title)) + title_group_map[group.title] = group + + # map each action to its group + group_map = {} + for group in container._action_groups: + + # if a group with the title exists, use that, otherwise + # create a new group matching the container's group + if group.title not in title_group_map: + title_group_map[group.title] = self.add_argument_group( + title=group.title, + description=group.description, + conflict_handler=group.conflict_handler) + + # map the actions to their new group + for action in group._group_actions: + group_map[action] = title_group_map[group.title] + + # add container's mutually exclusive groups + # NOTE: if add_mutually_exclusive_group ever gains title= and + # description= then this code will need to be expanded as above + for group in container._mutually_exclusive_groups: + mutex_group = self.add_mutually_exclusive_group( + required=group.required) + + # map the actions to their new mutex group + for action in group._group_actions: + group_map[action] = mutex_group + + # add all actions to this container or their group + for action in container._actions: + group_map.get(action, self)._add_action(action) + + def _get_positional_kwargs(self, dest, **kwargs): + # make sure required is not specified + if 'required' in kwargs: + msg = _("'required' is an invalid argument for positionals") + raise TypeError(msg) + + # mark positional arguments as required if at least one is + # always required + if kwargs.get('nargs') not in [OPTIONAL, ZERO_OR_MORE]: + kwargs['required'] = True + if kwargs.get('nargs') == ZERO_OR_MORE and 'default' not in kwargs: + kwargs['required'] = True + + # return the keyword arguments with no option strings + return dict(kwargs, dest=dest, option_strings=[]) + + def _get_optional_kwargs(self, *args, **kwargs): + # determine short and long option strings + option_strings = [] + long_option_strings = [] + for option_string in args: + # error on strings that don't start with an appropriate prefix + if not option_string[0] in self.prefix_chars: + msg = _('invalid option string %r: ' + 'must start with a character %r') + tup = option_string, self.prefix_chars + raise ValueError(msg % tup) + + # strings starting with two prefix characters are long options + option_strings.append(option_string) + if option_string[0] in self.prefix_chars: + if len(option_string) > 1: + if option_string[1] in self.prefix_chars: + long_option_strings.append(option_string) + + # infer destination, '--foo-bar' -> 'foo_bar' and '-x' -> 'x' + dest = kwargs.pop('dest', None) + if dest is None: + if long_option_strings: + dest_option_string = long_option_strings[0] + else: + dest_option_string = option_strings[0] + dest = dest_option_string.lstrip(self.prefix_chars) + if not dest: + msg = _('dest= is required for options like %r') + raise ValueError(msg % option_string) + dest = dest.replace('-', '_') + + # return the updated keyword arguments + return dict(kwargs, dest=dest, option_strings=option_strings) + + def _pop_action_class(self, kwargs, default=None): + action = kwargs.pop('action', default) + return self._registry_get('action', action, action) + + def _get_handler(self): + # determine function from conflict handler string + handler_func_name = '_handle_conflict_%s' % self.conflict_handler + try: + return getattr(self, handler_func_name) + except AttributeError: + msg = _('invalid conflict_resolution value: %r') + raise ValueError(msg % self.conflict_handler) + + def _check_conflict(self, action): + + # find all options that conflict with this option + confl_optionals = [] + for option_string in action.option_strings: + if option_string in self._option_string_actions: + confl_optional = self._option_string_actions[option_string] + confl_optionals.append((option_string, confl_optional)) + + # resolve any conflicts + if confl_optionals: + conflict_handler = self._get_handler() + conflict_handler(action, confl_optionals) + + def _handle_conflict_error(self, action, conflicting_actions): + message = _('conflicting option string(s): %s') + conflict_string = ', '.join([option_string + for option_string, action + in conflicting_actions]) + raise ArgumentError(action, message % conflict_string) + + def _handle_conflict_resolve(self, action, conflicting_actions): + + # remove all conflicting options + for option_string, action in conflicting_actions: + + # remove the conflicting option + action.option_strings.remove(option_string) + self._option_string_actions.pop(option_string, None) + + # if the option now has no option string, remove it from the + # container holding it + if not action.option_strings: + action.container._remove_action(action) + + +class _ArgumentGroup(_ActionsContainer): + + def __init__(self, container, title=None, description=None, **kwargs): + # add any missing keyword arguments by checking the container + update = kwargs.setdefault + update('conflict_handler', container.conflict_handler) + update('prefix_chars', container.prefix_chars) + update('argument_default', container.argument_default) + super_init = super(_ArgumentGroup, self).__init__ + super_init(description=description, **kwargs) + + # group attributes + self.title = title + self._group_actions = [] + + # share most attributes with the container + self._registries = container._registries + self._actions = container._actions + self._option_string_actions = container._option_string_actions + self._defaults = container._defaults + self._has_negative_number_optionals = \ + container._has_negative_number_optionals + + def _add_action(self, action): + action = super(_ArgumentGroup, self)._add_action(action) + self._group_actions.append(action) + return action + + def _remove_action(self, action): + super(_ArgumentGroup, self)._remove_action(action) + self._group_actions.remove(action) + + +class _MutuallyExclusiveGroup(_ArgumentGroup): + + def __init__(self, container, required=False): + super(_MutuallyExclusiveGroup, self).__init__(container) + self.required = required + self._container = container + + def _add_action(self, action): + if action.required: + msg = _('mutually exclusive arguments must be optional') + raise ValueError(msg) + action = self._container._add_action(action) + self._group_actions.append(action) + return action + + def _remove_action(self, action): + self._container._remove_action(action) + self._group_actions.remove(action) + + +class ArgumentParser(_AttributeHolder, _ActionsContainer): + """Object for parsing command line strings into Python objects. + + Keyword Arguments: + - prog -- The name of the program (default: sys.argv[0]) + - usage -- A usage message (default: auto-generated from arguments) + - description -- A description of what the program does + - epilog -- Text following the argument descriptions + - parents -- Parsers whose arguments should be copied into this one + - formatter_class -- HelpFormatter class for printing help messages + - prefix_chars -- Characters that prefix optional arguments + - fromfile_prefix_chars -- Characters that prefix files containing + additional arguments + - argument_default -- The default value for all arguments + - conflict_handler -- String indicating how to handle conflicts + - add_help -- Add a -h/-help option + """ + + def __init__(self, + prog=None, + usage=None, + description=None, + epilog=None, + version=None, + parents=[], + formatter_class=HelpFormatter, + prefix_chars='-', + fromfile_prefix_chars=None, + argument_default=None, + conflict_handler='error', + add_help=True): + + if version is not None: + import warnings + warnings.warn( + """The "version" argument to ArgumentParser is deprecated. """ + """Please use """ + """"add_argument(..., action='version', version="N", ...)" """ + """instead""", DeprecationWarning) + + superinit = super(ArgumentParser, self).__init__ + superinit(description=description, + prefix_chars=prefix_chars, + argument_default=argument_default, + conflict_handler=conflict_handler) + + # default setting for prog + if prog is None: + prog = _os.path.basename(_sys.argv[0]) + + self.prog = prog + self.usage = usage + self.epilog = epilog + self.version = version + self.formatter_class = formatter_class + self.fromfile_prefix_chars = fromfile_prefix_chars + self.add_help = add_help + + add_group = self.add_argument_group + self._positionals = add_group(_('positional arguments')) + self._optionals = add_group(_('optional arguments')) + self._subparsers = None + + # register types + def identity(string): + return string + self.register('type', None, identity) + + # add help and version arguments if necessary + # (using explicit default to override global argument_default) + if '-' in prefix_chars: + default_prefix = '-' + else: + default_prefix = prefix_chars[0] + if self.add_help: + self.add_argument( + default_prefix+'h', default_prefix*2+'help', + action='help', default=SUPPRESS, + help=_('show this help message and exit')) + if self.version: + self.add_argument( + default_prefix+'v', default_prefix*2+'version', + action='version', default=SUPPRESS, + version=self.version, + help=_("show program's version number and exit")) + + # add parent arguments and defaults + for parent in parents: + self._add_container_actions(parent) + try: + defaults = parent._defaults + except AttributeError: + pass + else: + self._defaults.update(defaults) + + # ======================= + # Pretty __repr__ methods + # ======================= + def _get_kwargs(self): + names = [ + 'prog', + 'usage', + 'description', + 'version', + 'formatter_class', + 'conflict_handler', + 'add_help', + ] + return [(name, getattr(self, name)) for name in names] + + # ================================== + # Optional/Positional adding methods + # ================================== + def add_subparsers(self, **kwargs): + if self._subparsers is not None: + self.error(_('cannot have multiple subparser arguments')) + + # add the parser class to the arguments if it's not present + kwargs.setdefault('parser_class', type(self)) + + if 'title' in kwargs or 'description' in kwargs: + title = _(kwargs.pop('title', 'subcommands')) + description = _(kwargs.pop('description', None)) + self._subparsers = self.add_argument_group(title, description) + else: + self._subparsers = self._positionals + + # prog defaults to the usage message of this parser, skipping + # optional arguments and with no "usage:" prefix + if kwargs.get('prog') is None: + formatter = self._get_formatter() + positionals = self._get_positional_actions() + groups = self._mutually_exclusive_groups + formatter.add_usage(self.usage, positionals, groups, '') + kwargs['prog'] = formatter.format_help().strip() + + # create the parsers action and add it to the positionals list + parsers_class = self._pop_action_class(kwargs, 'parsers') + action = parsers_class(option_strings=[], **kwargs) + self._subparsers._add_action(action) + + # return the created parsers action + return action + + def _add_action(self, action): + if action.option_strings: + self._optionals._add_action(action) + else: + self._positionals._add_action(action) + return action + + def _get_optional_actions(self): + return [action + for action in self._actions + if action.option_strings] + + def _get_positional_actions(self): + return [action + for action in self._actions + if not action.option_strings] + + # ===================================== + # Command line argument parsing methods + # ===================================== + def parse_args(self, args=None, namespace=None): + args, argv = self.parse_known_args(args, namespace) + if argv: + msg = _('unrecognized arguments: %s') + self.error(msg % ' '.join(argv)) + return args + + def parse_known_args(self, args=None, namespace=None): + # args default to the system args + if args is None: + args = _sys.argv[1:] + + # default Namespace built from parser defaults + if namespace is None: + namespace = Namespace() + + # add any action defaults that aren't present + for action in self._actions: + if action.dest is not SUPPRESS: + if not hasattr(namespace, action.dest): + if action.default is not SUPPRESS: + setattr(namespace, action.dest, action.default) + + # add any parser defaults that aren't present + for dest in self._defaults: + if not hasattr(namespace, dest): + setattr(namespace, dest, self._defaults[dest]) + + # parse the arguments and exit if there are any errors + try: + namespace, args = self._parse_known_args(args, namespace) + if hasattr(namespace, _UNRECOGNIZED_ARGS_ATTR): + args.extend(getattr(namespace, _UNRECOGNIZED_ARGS_ATTR)) + delattr(namespace, _UNRECOGNIZED_ARGS_ATTR) + return namespace, args + except ArgumentError: + err = _sys.exc_info()[1] + self.error(str(err)) + + def _parse_known_args(self, arg_strings, namespace): + # replace arg strings that are file references + if self.fromfile_prefix_chars is not None: + arg_strings = self._read_args_from_files(arg_strings) + + # map all mutually exclusive arguments to the other arguments + # they can't occur with + action_conflicts = {} + for mutex_group in self._mutually_exclusive_groups: + group_actions = mutex_group._group_actions + for i, mutex_action in enumerate(mutex_group._group_actions): + conflicts = action_conflicts.setdefault(mutex_action, []) + conflicts.extend(group_actions[:i]) + conflicts.extend(group_actions[i + 1:]) + + # find all option indices, and determine the arg_string_pattern + # which has an 'O' if there is an option at an index, + # an 'A' if there is an argument, or a '-' if there is a '--' + option_string_indices = {} + arg_string_pattern_parts = [] + arg_strings_iter = iter(arg_strings) + for i, arg_string in enumerate(arg_strings_iter): + + # all args after -- are non-options + if arg_string == '--': + arg_string_pattern_parts.append('-') + for arg_string in arg_strings_iter: + arg_string_pattern_parts.append('A') + + # otherwise, add the arg to the arg strings + # and note the index if it was an option + else: + option_tuple = self._parse_optional(arg_string) + if option_tuple is None: + pattern = 'A' + else: + option_string_indices[i] = option_tuple + pattern = 'O' + arg_string_pattern_parts.append(pattern) + + # join the pieces together to form the pattern + arg_strings_pattern = ''.join(arg_string_pattern_parts) + + # converts arg strings to the appropriate and then takes the action + seen_actions = set() + seen_non_default_actions = set() + + def take_action(action, argument_strings, option_string=None): + seen_actions.add(action) + argument_values = self._get_values(action, argument_strings) + + # error if this argument is not allowed with other previously + # seen arguments, assuming that actions that use the default + # value don't really count as "present" + if argument_values is not action.default: + seen_non_default_actions.add(action) + for conflict_action in action_conflicts.get(action, []): + if conflict_action in seen_non_default_actions: + msg = _('not allowed with argument %s') + action_name = _get_action_name(conflict_action) + raise ArgumentError(action, msg % action_name) + + # take the action if we didn't receive a SUPPRESS value + # (e.g. from a default) + if argument_values is not SUPPRESS: + action(self, namespace, argument_values, option_string) + + # function to convert arg_strings into an optional action + def consume_optional(start_index): + + # get the optional identified at this index + option_tuple = option_string_indices[start_index] + action, option_string, explicit_arg = option_tuple + + # identify additional optionals in the same arg string + # (e.g. -xyz is the same as -x -y -z if no args are required) + match_argument = self._match_argument + action_tuples = [] + while True: + + # if we found no optional action, skip it + if action is None: + extras.append(arg_strings[start_index]) + return start_index + 1 + + # if there is an explicit argument, try to match the + # optional's string arguments to only this + if explicit_arg is not None: + arg_count = match_argument(action, 'A') + + # if the action is a single-dash option and takes no + # arguments, try to parse more single-dash options out + # of the tail of the option string + chars = self.prefix_chars + if arg_count == 0 and option_string[1] not in chars: + action_tuples.append((action, [], option_string)) + char = option_string[0] + option_string = char + explicit_arg[0] + new_explicit_arg = explicit_arg[1:] or None + optionals_map = self._option_string_actions + if option_string in optionals_map: + action = optionals_map[option_string] + explicit_arg = new_explicit_arg + else: + msg = _('ignored explicit argument %r') + raise ArgumentError(action, msg % explicit_arg) + + # if the action expect exactly one argument, we've + # successfully matched the option; exit the loop + elif arg_count == 1: + stop = start_index + 1 + args = [explicit_arg] + action_tuples.append((action, args, option_string)) + break + + # error if a double-dash option did not use the + # explicit argument + else: + msg = _('ignored explicit argument %r') + raise ArgumentError(action, msg % explicit_arg) + + # if there is no explicit argument, try to match the + # optional's string arguments with the following strings + # if successful, exit the loop + else: + start = start_index + 1 + selected_patterns = arg_strings_pattern[start:] + arg_count = match_argument(action, selected_patterns) + stop = start + arg_count + args = arg_strings[start:stop] + action_tuples.append((action, args, option_string)) + break + + # add the Optional to the list and return the index at which + # the Optional's string args stopped + assert action_tuples + for action, args, option_string in action_tuples: + take_action(action, args, option_string) + return stop + + # the list of Positionals left to be parsed; this is modified + # by consume_positionals() + positionals = self._get_positional_actions() + + # function to convert arg_strings into positional actions + def consume_positionals(start_index): + # match as many Positionals as possible + match_partial = self._match_arguments_partial + selected_pattern = arg_strings_pattern[start_index:] + arg_counts = match_partial(positionals, selected_pattern) + + # slice off the appropriate arg strings for each Positional + # and add the Positional and its args to the list + for action, arg_count in zip(positionals, arg_counts): + args = arg_strings[start_index: start_index + arg_count] + start_index += arg_count + take_action(action, args) + + # slice off the Positionals that we just parsed and return the + # index at which the Positionals' string args stopped + positionals[:] = positionals[len(arg_counts):] + return start_index + + # consume Positionals and Optionals alternately, until we have + # passed the last option string + extras = [] + start_index = 0 + if option_string_indices: + max_option_string_index = max(option_string_indices) + else: + max_option_string_index = -1 + while start_index <= max_option_string_index: + + # consume any Positionals preceding the next option + next_option_string_index = min([ + index + for index in option_string_indices + if index >= start_index]) + if start_index != next_option_string_index: + positionals_end_index = consume_positionals(start_index) + + # only try to parse the next optional if we didn't consume + # the option string during the positionals parsing + if positionals_end_index > start_index: + start_index = positionals_end_index + continue + else: + start_index = positionals_end_index + + # if we consumed all the positionals we could and we're not + # at the index of an option string, there were extra arguments + if start_index not in option_string_indices: + strings = arg_strings[start_index:next_option_string_index] + extras.extend(strings) + start_index = next_option_string_index + + # consume the next optional and any arguments for it + start_index = consume_optional(start_index) + + # consume any positionals following the last Optional + stop_index = consume_positionals(start_index) + + # if we didn't consume all the argument strings, there were extras + extras.extend(arg_strings[stop_index:]) + + # if we didn't use all the Positional objects, there were too few + # arg strings supplied. + if positionals: + self.error(_('too few arguments')) + + # make sure all required actions were present, and convert defaults. + for action in self._actions: + if action not in seen_actions: + if action.required: + name = _get_action_name(action) + self.error(_('argument %s is required') % name) + else: + # Convert action default now instead of doing it before + # parsing arguments to avoid calling convert functions + # twice (which may fail) if the argument was given, but + # only if it was defined already in the namespace + if (action.default is not None and + isinstance(action.default, basestring) and + hasattr(namespace, action.dest) and + action.default is getattr(namespace, action.dest)): + setattr(namespace, action.dest, + self._get_value(action, action.default)) + + # make sure all required groups had one option present + for group in self._mutually_exclusive_groups: + if group.required: + for action in group._group_actions: + if action in seen_non_default_actions: + break + + # if no actions were used, report the error + else: + names = [_get_action_name(action) + for action in group._group_actions + if action.help is not SUPPRESS] + msg = _('one of the arguments %s is required') + self.error(msg % ' '.join(names)) + + # return the updated namespace and the extra arguments + return namespace, extras + + def _read_args_from_files(self, arg_strings): + # expand arguments referencing files + new_arg_strings = [] + for arg_string in arg_strings: + + # for regular arguments, just add them back into the list + if arg_string[0] not in self.fromfile_prefix_chars: + new_arg_strings.append(arg_string) + + # replace arguments referencing files with the file content + else: + try: + args_file = open(arg_string[1:]) + try: + arg_strings = [] + for arg_line in args_file.read().splitlines(): + for arg in self.convert_arg_line_to_args(arg_line): + arg_strings.append(arg) + arg_strings = self._read_args_from_files(arg_strings) + new_arg_strings.extend(arg_strings) + finally: + args_file.close() + except IOError: + err = _sys.exc_info()[1] + self.error(str(err)) + + # return the modified argument list + return new_arg_strings + + def convert_arg_line_to_args(self, arg_line): + return [arg_line] + + def _match_argument(self, action, arg_strings_pattern): + # match the pattern for this action to the arg strings + nargs_pattern = self._get_nargs_pattern(action) + match = _re.match(nargs_pattern, arg_strings_pattern) + + # raise an exception if we weren't able to find a match + if match is None: + nargs_errors = { + None: _('expected one argument'), + OPTIONAL: _('expected at most one argument'), + ONE_OR_MORE: _('expected at least one argument'), + } + default = _('expected %s argument(s)') % action.nargs + msg = nargs_errors.get(action.nargs, default) + raise ArgumentError(action, msg) + + # return the number of arguments matched + return len(match.group(1)) + + def _match_arguments_partial(self, actions, arg_strings_pattern): + # progressively shorten the actions list by slicing off the + # final actions until we find a match + result = [] + for i in range(len(actions), 0, -1): + actions_slice = actions[:i] + pattern = ''.join([self._get_nargs_pattern(action) + for action in actions_slice]) + match = _re.match(pattern, arg_strings_pattern) + if match is not None: + result.extend([len(string) for string in match.groups()]) + break + + # return the list of arg string counts + return result + + def _parse_optional(self, arg_string): + # if it's an empty string, it was meant to be a positional + if not arg_string: + return None + + # if it doesn't start with a prefix, it was meant to be positional + if not arg_string[0] in self.prefix_chars: + return None + + # if the option string is present in the parser, return the action + if arg_string in self._option_string_actions: + action = self._option_string_actions[arg_string] + return action, arg_string, None + + # if it's just a single character, it was meant to be positional + if len(arg_string) == 1: + return None + + # if the option string before the "=" is present, return the action + if '=' in arg_string: + option_string, explicit_arg = arg_string.split('=', 1) + if option_string in self._option_string_actions: + action = self._option_string_actions[option_string] + return action, option_string, explicit_arg + + # search through all possible prefixes of the option string + # and all actions in the parser for possible interpretations + option_tuples = self._get_option_tuples(arg_string) + + # if multiple actions match, the option string was ambiguous + if len(option_tuples) > 1: + options = ', '.join([option_string + for action, option_string, explicit_arg in option_tuples]) + tup = arg_string, options + self.error(_('ambiguous option: %s could match %s') % tup) + + # if exactly one action matched, this segmentation is good, + # so return the parsed action + elif len(option_tuples) == 1: + option_tuple, = option_tuples + return option_tuple + + # if it was not found as an option, but it looks like a negative + # number, it was meant to be positional + # unless there are negative-number-like options + if self._negative_number_matcher.match(arg_string): + if not self._has_negative_number_optionals: + return None + + # if it contains a space, it was meant to be a positional + if ' ' in arg_string: + return None + + # it was meant to be an optional but there is no such option + # in this parser (though it might be a valid option in a subparser) + return None, arg_string, None + + def _get_option_tuples(self, option_string): + result = [] + + # option strings starting with two prefix characters are only + # split at the '=' + chars = self.prefix_chars + if option_string[0] in chars and option_string[1] in chars: + if '=' in option_string: + option_prefix, explicit_arg = option_string.split('=', 1) + else: + option_prefix = option_string + explicit_arg = None + for option_string in self._option_string_actions: + if option_string.startswith(option_prefix): + action = self._option_string_actions[option_string] + tup = action, option_string, explicit_arg + result.append(tup) + + # single character options can be concatenated with their arguments + # but multiple character options always have to have their argument + # separate + elif option_string[0] in chars and option_string[1] not in chars: + option_prefix = option_string + explicit_arg = None + short_option_prefix = option_string[:2] + short_explicit_arg = option_string[2:] + + for option_string in self._option_string_actions: + if option_string == short_option_prefix: + action = self._option_string_actions[option_string] + tup = action, option_string, short_explicit_arg + result.append(tup) + elif option_string.startswith(option_prefix): + action = self._option_string_actions[option_string] + tup = action, option_string, explicit_arg + result.append(tup) + + # shouldn't ever get here + else: + self.error(_('unexpected option string: %s') % option_string) + + # return the collected option tuples + return result + + def _get_nargs_pattern(self, action): + # in all examples below, we have to allow for '--' args + # which are represented as '-' in the pattern + nargs = action.nargs + + # the default (None) is assumed to be a single argument + if nargs is None: + nargs_pattern = '(-*A-*)' + + # allow zero or one arguments + elif nargs == OPTIONAL: + nargs_pattern = '(-*A?-*)' + + # allow zero or more arguments + elif nargs == ZERO_OR_MORE: + nargs_pattern = '(-*[A-]*)' + + # allow one or more arguments + elif nargs == ONE_OR_MORE: + nargs_pattern = '(-*A[A-]*)' + + # allow any number of options or arguments + elif nargs == REMAINDER: + nargs_pattern = '([-AO]*)' + + # allow one argument followed by any number of options or arguments + elif nargs == PARSER: + nargs_pattern = '(-*A[-AO]*)' + + # all others should be integers + else: + nargs_pattern = '(-*%s-*)' % '-*'.join('A' * nargs) + + # if this is an optional action, -- is not allowed + if action.option_strings: + nargs_pattern = nargs_pattern.replace('-*', '') + nargs_pattern = nargs_pattern.replace('-', '') + + # return the pattern + return nargs_pattern + + # ======================== + # Value conversion methods + # ======================== + def _get_values(self, action, arg_strings): + # for everything but PARSER args, strip out '--' + if action.nargs not in [PARSER, REMAINDER]: + arg_strings = [s for s in arg_strings if s != '--'] + + # optional argument produces a default when not present + if not arg_strings and action.nargs == OPTIONAL: + if action.option_strings: + value = action.const + else: + value = action.default + if isinstance(value, basestring): + value = self._get_value(action, value) + self._check_value(action, value) + + # when nargs='*' on a positional, if there were no command-line + # args, use the default if it is anything other than None + elif (not arg_strings and action.nargs == ZERO_OR_MORE and + not action.option_strings): + if action.default is not None: + value = action.default + else: + value = arg_strings + self._check_value(action, value) + + # single argument or optional argument produces a single value + elif len(arg_strings) == 1 and action.nargs in [None, OPTIONAL]: + arg_string, = arg_strings + value = self._get_value(action, arg_string) + self._check_value(action, value) + + # REMAINDER arguments convert all values, checking none + elif action.nargs == REMAINDER: + value = [self._get_value(action, v) for v in arg_strings] + + # PARSER arguments convert all values, but check only the first + elif action.nargs == PARSER: + value = [self._get_value(action, v) for v in arg_strings] + self._check_value(action, value[0]) + + # all other types of nargs produce a list + else: + value = [self._get_value(action, v) for v in arg_strings] + for v in value: + self._check_value(action, v) + + # return the converted value + return value + + def _get_value(self, action, arg_string): + type_func = self._registry_get('type', action.type, action.type) + if not _callable(type_func): + msg = _('%r is not callable') + raise ArgumentError(action, msg % type_func) + + # convert the value to the appropriate type + try: + result = type_func(arg_string) + + # ArgumentTypeErrors indicate errors + except ArgumentTypeError: + name = getattr(action.type, '__name__', repr(action.type)) + msg = str(_sys.exc_info()[1]) + raise ArgumentError(action, msg) + + # TypeErrors or ValueErrors also indicate errors + except (TypeError, ValueError): + name = getattr(action.type, '__name__', repr(action.type)) + msg = _('invalid %s value: %r') + raise ArgumentError(action, msg % (name, arg_string)) + + # return the converted value + return result + + def _check_value(self, action, value): + # converted value must be one of the choices (if specified) + if action.choices is not None and value not in action.choices: + tup = value, ', '.join(map(repr, action.choices)) + msg = _('invalid choice: %r (choose from %s)') % tup + raise ArgumentError(action, msg) + + # ======================= + # Help-formatting methods + # ======================= + def format_usage(self): + formatter = self._get_formatter() + formatter.add_usage(self.usage, self._actions, + self._mutually_exclusive_groups) + return formatter.format_help() + + def format_help(self): + formatter = self._get_formatter() + + # usage + formatter.add_usage(self.usage, self._actions, + self._mutually_exclusive_groups) + + # description + formatter.add_text(self.description) + + # positionals, optionals and user-defined groups + for action_group in self._action_groups: + formatter.start_section(action_group.title) + formatter.add_text(action_group.description) + formatter.add_arguments(action_group._group_actions) + formatter.end_section() + + # epilog + formatter.add_text(self.epilog) + + # determine help from format above + return formatter.format_help() + + def format_version(self): + import warnings + warnings.warn( + 'The format_version method is deprecated -- the "version" ' + 'argument to ArgumentParser is no longer supported.', + DeprecationWarning) + formatter = self._get_formatter() + formatter.add_text(self.version) + return formatter.format_help() + + def _get_formatter(self): + return self.formatter_class(prog=self.prog) + + # ===================== + # Help-printing methods + # ===================== + def print_usage(self, file=None): + if file is None: + file = _sys.stdout + self._print_message(self.format_usage(), file) + + def print_help(self, file=None): + if file is None: + file = _sys.stdout + self._print_message(self.format_help(), file) + + def print_version(self, file=None): + import warnings + warnings.warn( + 'The print_version method is deprecated -- the "version" ' + 'argument to ArgumentParser is no longer supported.', + DeprecationWarning) + self._print_message(self.format_version(), file) + + def _print_message(self, message, file=None): + if message: + if file is None: + file = _sys.stderr + file.write(message) + + # =============== + # Exiting methods + # =============== + def exit(self, status=0, message=None): + if message: + self._print_message(message, _sys.stderr) + _sys.exit(status) + + def error(self, message): + """error(message: string) + + Prints a usage message incorporating the message to stderr and + exits. + + If you override this in a subclass, it should not return -- it + should either exit or raise an exception. + """ + self.print_usage(_sys.stderr) + self.exit(2, _('%s: error: %s\n') % (self.prog, message)) diff --git a/lib/arrow/__init__.py b/lib/arrow/__init__.py index bc597097..63dd6be9 100644 --- a/lib/arrow/__init__.py +++ b/lib/arrow/__init__.py @@ -1,39 +1,8 @@ -from ._version import __version__ -from .api import get, now, utcnow +# -*- coding: utf-8 -*- + from .arrow import Arrow from .factory import ArrowFactory -from .formatter import ( - FORMAT_ATOM, - FORMAT_COOKIE, - FORMAT_RFC822, - FORMAT_RFC850, - FORMAT_RFC1036, - FORMAT_RFC1123, - FORMAT_RFC2822, - FORMAT_RFC3339, - FORMAT_RSS, - FORMAT_W3C, -) -from .parser import ParserError +from .api import get, now, utcnow -# https://mypy.readthedocs.io/en/stable/command_line.html#cmdoption-mypy-no-implicit-reexport -# Mypy with --strict or --no-implicit-reexport requires an explicit reexport. -__all__ = [ - "__version__", - "get", - "now", - "utcnow", - "Arrow", - "ArrowFactory", - "FORMAT_ATOM", - "FORMAT_COOKIE", - "FORMAT_RFC822", - "FORMAT_RFC850", - "FORMAT_RFC1036", - "FORMAT_RFC1123", - "FORMAT_RFC2822", - "FORMAT_RFC3339", - "FORMAT_RSS", - "FORMAT_W3C", - "ParserError", -] +__version__ = '0.10.0' +VERSION = __version__ diff --git a/lib/arrow/_version.py b/lib/arrow/_version.py deleted file mode 100644 index 67bc602a..00000000 --- a/lib/arrow/_version.py +++ /dev/null @@ -1 +0,0 @@ -__version__ = "1.3.0" diff --git a/lib/arrow/api.py b/lib/arrow/api.py index d8ed24b9..16de39fe 100644 --- a/lib/arrow/api.py +++ b/lib/arrow/api.py @@ -1,126 +1,55 @@ -""" +# -*- coding: utf-8 -*- +''' Provides the default implementation of :class:`ArrowFactory ` methods for use as a module API. -""" +''' -from datetime import date, datetime -from datetime import tzinfo as dt_tzinfo -from time import struct_time -from typing import Any, List, Optional, Tuple, Type, Union, overload +from __future__ import absolute_import -from arrow.arrow import TZ_EXPR, Arrow -from arrow.constants import DEFAULT_LOCALE from arrow.factory import ArrowFactory + # internal default factory. _factory = ArrowFactory() -# TODO: Use Positional Only Argument (https://www.python.org/dev/peps/pep-0570/) -# after Python 3.7 deprecation +def get(*args, **kwargs): + ''' Implements the default :class:`ArrowFactory ` + ``get`` method. -@overload -def get( - *, - locale: str = DEFAULT_LOCALE, - tzinfo: Optional[TZ_EXPR] = None, - normalize_whitespace: bool = False, -) -> Arrow: - ... # pragma: no cover - - -@overload -def get( - *args: int, - locale: str = DEFAULT_LOCALE, - tzinfo: Optional[TZ_EXPR] = None, - normalize_whitespace: bool = False, -) -> Arrow: - ... # pragma: no cover - - -@overload -def get( - __obj: Union[ - Arrow, - datetime, - date, - struct_time, - dt_tzinfo, - int, - float, - str, - Tuple[int, int, int], - ], - *, - locale: str = DEFAULT_LOCALE, - tzinfo: Optional[TZ_EXPR] = None, - normalize_whitespace: bool = False, -) -> Arrow: - ... # pragma: no cover - - -@overload -def get( - __arg1: Union[datetime, date], - __arg2: TZ_EXPR, - *, - locale: str = DEFAULT_LOCALE, - tzinfo: Optional[TZ_EXPR] = None, - normalize_whitespace: bool = False, -) -> Arrow: - ... # pragma: no cover - - -@overload -def get( - __arg1: str, - __arg2: Union[str, List[str]], - *, - locale: str = DEFAULT_LOCALE, - tzinfo: Optional[TZ_EXPR] = None, - normalize_whitespace: bool = False, -) -> Arrow: - ... # pragma: no cover - - -def get(*args: Any, **kwargs: Any) -> Arrow: - """Calls the default :class:`ArrowFactory ` ``get`` method.""" + ''' return _factory.get(*args, **kwargs) +def utcnow(): + ''' Implements the default :class:`ArrowFactory ` + ``utcnow`` method. -get.__doc__ = _factory.get.__doc__ - - -def utcnow() -> Arrow: - """Calls the default :class:`ArrowFactory ` ``utcnow`` method.""" + ''' return _factory.utcnow() -utcnow.__doc__ = _factory.utcnow.__doc__ +def now(tz=None): + ''' Implements the default :class:`ArrowFactory ` + ``now`` method. - -def now(tz: Optional[TZ_EXPR] = None) -> Arrow: - """Calls the default :class:`ArrowFactory ` ``now`` method.""" + ''' return _factory.now(tz) -now.__doc__ = _factory.now.__doc__ - - -def factory(type: Type[Arrow]) -> ArrowFactory: - """Returns an :class:`.ArrowFactory` for the specified :class:`Arrow ` +def factory(type): + ''' Returns an :class:`.ArrowFactory` for the specified :class:`Arrow ` or derived type. :param type: the type, :class:`Arrow ` or derived. - """ + ''' return ArrowFactory(type) -__all__ = ["get", "utcnow", "now", "factory"] +__all__ = ['get', 'utcnow', 'now', 'factory'] + diff --git a/lib/arrow/arrow.py b/lib/arrow/arrow.py index 8d329efd..131eec07 100644 --- a/lib/arrow/arrow.py +++ b/lib/arrow/arrow.py @@ -1,87 +1,25 @@ -""" +# -*- coding: utf-8 -*- +''' Provides the :class:`Arrow ` class, an enhanced ``datetime`` replacement. -""" +''' +from __future__ import absolute_import -import calendar -import re -import sys -from datetime import date -from datetime import datetime as dt_datetime -from datetime import time as dt_time -from datetime import timedelta -from datetime import tzinfo as dt_tzinfo -from math import trunc -from time import struct_time -from typing import ( - Any, - ClassVar, - Generator, - Iterable, - List, - Mapping, - Optional, - Tuple, - Union, - cast, - overload, -) - +from datetime import datetime, timedelta, tzinfo from dateutil import tz as dateutil_tz from dateutil.relativedelta import relativedelta - -from arrow import formatter, locales, parser, util -from arrow.constants import DEFAULT_LOCALE, DEHUMANIZE_LOCALES -from arrow.locales import TimeFrameLiteral - -if sys.version_info < (3, 8): # pragma: no cover - from typing_extensions import Final, Literal -else: - from typing import Final, Literal # pragma: no cover +import calendar +import sys +import warnings -TZ_EXPR = Union[dt_tzinfo, str] - -_T_FRAMES = Literal[ - "year", - "years", - "month", - "months", - "day", - "days", - "hour", - "hours", - "minute", - "minutes", - "second", - "seconds", - "microsecond", - "microseconds", - "week", - "weeks", - "quarter", - "quarters", -] - -_BOUNDS = Literal["[)", "()", "(]", "[]"] - -_GRANULARITY = Literal[ - "auto", - "second", - "minute", - "hour", - "day", - "week", - "month", - "quarter", - "year", -] +from arrow import util, locales, parser, formatter -class Arrow: - """An :class:`Arrow ` object. +class Arrow(object): + '''An :class:`Arrow ` object. Implements the ``datetime`` interface, behaving as an aware ``datetime`` while implementing additional functionality. @@ -92,18 +30,10 @@ class Arrow: :param hour: (optional) the hour. Defaults to 0. :param minute: (optional) the minute, Defaults to 0. :param second: (optional) the second, Defaults to 0. - :param microsecond: (optional) the microsecond. Defaults to 0. - :param tzinfo: (optional) A timezone expression. Defaults to UTC. - :param fold: (optional) 0 or 1, used to disambiguate repeated wall times. Defaults to 0. + :param microsecond: (optional) the microsecond. Defaults 0. + :param tzinfo: (optional) the ``tzinfo`` object. Defaults to ``None``. - .. _tz-expr: - - Recognized timezone expressions: - - - A ``tzinfo`` object. - - A ``str`` describing a timezone, similar to 'US/Pacific', or 'Europe/Berlin'. - - A ``str`` in ISO 8601 style, as in '+07:00'. - - A ``str``, one of the following: 'local', 'utc', 'UTC'. + If tzinfo is None, it is assumed to be UTC on creation. Usage:: @@ -111,634 +41,144 @@ class Arrow: >>> arrow.Arrow(2013, 5, 5, 12, 30, 45) - """ + ''' - resolution: ClassVar[timedelta] = dt_datetime.resolution - min: ClassVar["Arrow"] - max: ClassVar["Arrow"] + resolution = datetime.resolution - _ATTRS: Final[List[str]] = [ - "year", - "month", - "day", - "hour", - "minute", - "second", - "microsecond", - ] - _ATTRS_PLURAL: Final[List[str]] = [f"{a}s" for a in _ATTRS] - _MONTHS_PER_QUARTER: Final[int] = 3 - _SECS_PER_MINUTE: Final[int] = 60 - _SECS_PER_HOUR: Final[int] = 60 * 60 - _SECS_PER_DAY: Final[int] = 60 * 60 * 24 - _SECS_PER_WEEK: Final[int] = 60 * 60 * 24 * 7 - _SECS_PER_MONTH: Final[float] = 60 * 60 * 24 * 30.5 - _SECS_PER_QUARTER: Final[float] = 60 * 60 * 24 * 30.5 * 3 - _SECS_PER_YEAR: Final[int] = 60 * 60 * 24 * 365 + _ATTRS = ['year', 'month', 'day', 'hour', 'minute', 'second', 'microsecond'] + _ATTRS_PLURAL = ['{0}s'.format(a) for a in _ATTRS] + _MONTHS_PER_QUARTER = 3 - _SECS_MAP: Final[Mapping[TimeFrameLiteral, float]] = { - "second": 1.0, - "minute": _SECS_PER_MINUTE, - "hour": _SECS_PER_HOUR, - "day": _SECS_PER_DAY, - "week": _SECS_PER_WEEK, - "month": _SECS_PER_MONTH, - "quarter": _SECS_PER_QUARTER, - "year": _SECS_PER_YEAR, - } + def __init__(self, year, month, day, hour=0, minute=0, second=0, microsecond=0, + tzinfo=None): - _datetime: dt_datetime - - def __init__( - self, - year: int, - month: int, - day: int, - hour: int = 0, - minute: int = 0, - second: int = 0, - microsecond: int = 0, - tzinfo: Optional[TZ_EXPR] = None, - **kwargs: Any, - ) -> None: - if tzinfo is None: - tzinfo = dateutil_tz.tzutc() - # detect that tzinfo is a pytz object (issue #626) - elif ( - isinstance(tzinfo, dt_tzinfo) - and hasattr(tzinfo, "localize") - and hasattr(tzinfo, "zone") - and tzinfo.zone - ): - tzinfo = parser.TzinfoParser.parse(tzinfo.zone) - elif isinstance(tzinfo, str): + if util.isstr(tzinfo): tzinfo = parser.TzinfoParser.parse(tzinfo) + tzinfo = tzinfo or dateutil_tz.tzutc() - fold = kwargs.get("fold", 0) + self._datetime = datetime(year, month, day, hour, minute, second, + microsecond, tzinfo) - self._datetime = dt_datetime( - year, month, day, hour, minute, second, microsecond, tzinfo, fold=fold - ) # factories: single object, both original and from datetime. @classmethod - def now(cls, tzinfo: Optional[dt_tzinfo] = None) -> "Arrow": - """Constructs an :class:`Arrow ` object, representing "now" in the given - timezone. + def now(cls, tzinfo=None): + '''Constructs an :class:`Arrow ` object, representing "now". :param tzinfo: (optional) a ``tzinfo`` object. Defaults to local time. - Usage:: + ''' - >>> arrow.now('Asia/Baku') - + utc = datetime.utcnow().replace(tzinfo=dateutil_tz.tzutc()) + dt = utc.astimezone(dateutil_tz.tzlocal() if tzinfo is None else tzinfo) - """ - - if tzinfo is None: - tzinfo = dateutil_tz.tzlocal() - - dt = dt_datetime.now(tzinfo) - - return cls( - dt.year, - dt.month, - dt.day, - dt.hour, - dt.minute, - dt.second, - dt.microsecond, - dt.tzinfo, - fold=getattr(dt, "fold", 0), - ) + return cls(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second, + dt.microsecond, dt.tzinfo) @classmethod - def utcnow(cls) -> "Arrow": - """Constructs an :class:`Arrow ` object, representing "now" in UTC + def utcnow(cls): + ''' Constructs an :class:`Arrow ` object, representing "now" in UTC time. - Usage:: + ''' - >>> arrow.utcnow() - + dt = datetime.utcnow() - """ - - dt = dt_datetime.now(dateutil_tz.tzutc()) - - return cls( - dt.year, - dt.month, - dt.day, - dt.hour, - dt.minute, - dt.second, - dt.microsecond, - dt.tzinfo, - fold=getattr(dt, "fold", 0), - ) + return cls(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second, + dt.microsecond, dateutil_tz.tzutc()) @classmethod - def fromtimestamp( - cls, - timestamp: Union[int, float, str], - tzinfo: Optional[TZ_EXPR] = None, - ) -> "Arrow": - """Constructs an :class:`Arrow ` object from a timestamp, converted to - the given timezone. + def fromtimestamp(cls, timestamp, tzinfo=None): + ''' Constructs an :class:`Arrow ` object from a timestamp. :param timestamp: an ``int`` or ``float`` timestamp, or a ``str`` that converts to either. :param tzinfo: (optional) a ``tzinfo`` object. Defaults to local time. - """ + ''' - if tzinfo is None: - tzinfo = dateutil_tz.tzlocal() - elif isinstance(tzinfo, str): - tzinfo = parser.TzinfoParser.parse(tzinfo) + tzinfo = tzinfo or dateutil_tz.tzlocal() + timestamp = cls._get_timestamp_from_input(timestamp) + dt = datetime.fromtimestamp(timestamp, tzinfo) - if not util.is_timestamp(timestamp): - raise ValueError(f"The provided timestamp {timestamp!r} is invalid.") - - timestamp = util.normalize_timestamp(float(timestamp)) - dt = dt_datetime.fromtimestamp(timestamp, tzinfo) - - return cls( - dt.year, - dt.month, - dt.day, - dt.hour, - dt.minute, - dt.second, - dt.microsecond, - dt.tzinfo, - fold=getattr(dt, "fold", 0), - ) + return cls(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second, + dt.microsecond, tzinfo) @classmethod - def utcfromtimestamp(cls, timestamp: Union[int, float, str]) -> "Arrow": - """Constructs an :class:`Arrow ` object from a timestamp, in UTC time. + def utcfromtimestamp(cls, timestamp): + '''Constructs an :class:`Arrow ` object from a timestamp, in UTC time. :param timestamp: an ``int`` or ``float`` timestamp, or a ``str`` that converts to either. - """ + ''' - if not util.is_timestamp(timestamp): - raise ValueError(f"The provided timestamp {timestamp!r} is invalid.") + timestamp = cls._get_timestamp_from_input(timestamp) + dt = datetime.utcfromtimestamp(timestamp) - timestamp = util.normalize_timestamp(float(timestamp)) - dt = dt_datetime.utcfromtimestamp(timestamp) - - return cls( - dt.year, - dt.month, - dt.day, - dt.hour, - dt.minute, - dt.second, - dt.microsecond, - dateutil_tz.tzutc(), - fold=getattr(dt, "fold", 0), - ) + return cls(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second, + dt.microsecond, dateutil_tz.tzutc()) @classmethod - def fromdatetime(cls, dt: dt_datetime, tzinfo: Optional[TZ_EXPR] = None) -> "Arrow": - """Constructs an :class:`Arrow ` object from a ``datetime`` and - optional replacement timezone. + def fromdatetime(cls, dt, tzinfo=None): + ''' Constructs an :class:`Arrow ` object from a ``datetime`` and optional + ``tzinfo`` object. :param dt: the ``datetime`` - :param tzinfo: (optional) A :ref:`timezone expression `. Defaults to ``dt``'s - timezone, or UTC if naive. + :param tzinfo: (optional) a ``tzinfo`` object. Defaults to UTC. - Usage:: + ''' - >>> dt - datetime.datetime(2021, 4, 7, 13, 48, tzinfo=tzfile('/usr/share/zoneinfo/US/Pacific')) - >>> arrow.Arrow.fromdatetime(dt) - + tzinfo = tzinfo or dt.tzinfo or dateutil_tz.tzutc() - """ - - if tzinfo is None: - if dt.tzinfo is None: - tzinfo = dateutil_tz.tzutc() - else: - tzinfo = dt.tzinfo - - return cls( - dt.year, - dt.month, - dt.day, - dt.hour, - dt.minute, - dt.second, - dt.microsecond, - tzinfo, - fold=getattr(dt, "fold", 0), - ) + return cls(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second, + dt.microsecond, tzinfo) @classmethod - def fromdate(cls, date: date, tzinfo: Optional[TZ_EXPR] = None) -> "Arrow": - """Constructs an :class:`Arrow ` object from a ``date`` and optional - replacement timezone. All time values are set to 0. + def fromdate(cls, date, tzinfo=None): + ''' Constructs an :class:`Arrow ` object from a ``date`` and optional + ``tzinfo`` object. Time values are set to 0. :param date: the ``date`` - :param tzinfo: (optional) A :ref:`timezone expression `. Defaults to UTC. + :param tzinfo: (optional) a ``tzinfo`` object. Defaults to UTC. + ''' - """ - - if tzinfo is None: - tzinfo = dateutil_tz.tzutc() + tzinfo = tzinfo or dateutil_tz.tzutc() return cls(date.year, date.month, date.day, tzinfo=tzinfo) @classmethod - def strptime( - cls, date_str: str, fmt: str, tzinfo: Optional[TZ_EXPR] = None - ) -> "Arrow": - """Constructs an :class:`Arrow ` object from a date string and format, - in the style of ``datetime.strptime``. Optionally replaces the parsed timezone. + def strptime(cls, date_str, fmt, tzinfo=None): + ''' Constructs an :class:`Arrow ` object from a date string and format, + in the style of ``datetime.strptime``. :param date_str: the date string. - :param fmt: the format string using datetime format codes. - :param tzinfo: (optional) A :ref:`timezone expression `. Defaults to the parsed - timezone if ``fmt`` contains a timezone directive, otherwise UTC. + :param fmt: the format string. + :param tzinfo: (optional) an optional ``tzinfo`` + ''' - Usage:: + dt = datetime.strptime(date_str, fmt) + tzinfo = tzinfo or dt.tzinfo - >>> arrow.Arrow.strptime('20-01-2019 15:49:10', '%d-%m-%Y %H:%M:%S') - + return cls(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second, + dt.microsecond, tzinfo) - """ - - dt = dt_datetime.strptime(date_str, fmt) - if tzinfo is None: - tzinfo = dt.tzinfo - - return cls( - dt.year, - dt.month, - dt.day, - dt.hour, - dt.minute, - dt.second, - dt.microsecond, - tzinfo, - fold=getattr(dt, "fold", 0), - ) - - @classmethod - def fromordinal(cls, ordinal: int) -> "Arrow": - """Constructs an :class:`Arrow ` object corresponding - to the Gregorian Ordinal. - - :param ordinal: an ``int`` corresponding to a Gregorian Ordinal. - - Usage:: - - >>> arrow.fromordinal(737741) - - - """ - - util.validate_ordinal(ordinal) - dt = dt_datetime.fromordinal(ordinal) - return cls( - dt.year, - dt.month, - dt.day, - dt.hour, - dt.minute, - dt.second, - dt.microsecond, - dt.tzinfo, - fold=getattr(dt, "fold", 0), - ) # factories: ranges and spans @classmethod - def range( - cls, - frame: _T_FRAMES, - start: Union["Arrow", dt_datetime], - end: Union["Arrow", dt_datetime, None] = None, - tz: Optional[TZ_EXPR] = None, - limit: Optional[int] = None, - ) -> Generator["Arrow", None, None]: - """Returns an iterator of :class:`Arrow ` objects, representing - points in time between two inputs. - - :param frame: The timeframe. Can be any ``datetime`` property (day, hour, minute...). - :param start: A datetime expression, the start of the range. - :param end: (optional) A datetime expression, the end of the range. - :param tz: (optional) A :ref:`timezone expression `. Defaults to - ``start``'s timezone, or UTC if ``start`` is naive. - :param limit: (optional) A maximum number of tuples to return. - - **NOTE**: The ``end`` or ``limit`` must be provided. Call with ``end`` alone to - return the entire range. Call with ``limit`` alone to return a maximum # of results from - the start. Call with both to cap a range at a maximum # of results. - - **NOTE**: ``tz`` internally **replaces** the timezones of both ``start`` and ``end`` before - iterating. As such, either call with naive objects and ``tz``, or aware objects from the - same timezone and no ``tz``. - - Supported frame values: year, quarter, month, week, day, hour, minute, second, microsecond. - - Recognized datetime expressions: - - - An :class:`Arrow ` object. - - A ``datetime`` object. - - Usage:: - - >>> start = datetime(2013, 5, 5, 12, 30) - >>> end = datetime(2013, 5, 5, 17, 15) - >>> for r in arrow.Arrow.range('hour', start, end): - ... print(repr(r)) - ... - - - - - - - **NOTE**: Unlike Python's ``range``, ``end`` *may* be included in the returned iterator:: - - >>> start = datetime(2013, 5, 5, 12, 30) - >>> end = datetime(2013, 5, 5, 13, 30) - >>> for r in arrow.Arrow.range('hour', start, end): - ... print(repr(r)) - ... - - - - """ - - _, frame_relative, relative_steps = cls._get_frames(frame) - - tzinfo = cls._get_tzinfo(start.tzinfo if tz is None else tz) - - start = cls._get_datetime(start).replace(tzinfo=tzinfo) - end, limit = cls._get_iteration_params(end, limit) - end = cls._get_datetime(end).replace(tzinfo=tzinfo) - - current = cls.fromdatetime(start) - original_day = start.day - day_is_clipped = False - i = 0 - - while current <= end and i < limit: - i += 1 - yield current - - values = [getattr(current, f) for f in cls._ATTRS] - current = cls(*values, tzinfo=tzinfo).shift( # type: ignore[misc] - **{frame_relative: relative_steps} - ) - - if frame in ["month", "quarter", "year"] and current.day < original_day: - day_is_clipped = True - - if day_is_clipped and not cls._is_last_day_of_month(current): - current = current.replace(day=original_day) - - def span( - self, - frame: _T_FRAMES, - count: int = 1, - bounds: _BOUNDS = "[)", - exact: bool = False, - week_start: int = 1, - ) -> Tuple["Arrow", "Arrow"]: - """Returns a tuple of two new :class:`Arrow ` objects, representing the timespan - of the :class:`Arrow ` object in a given timeframe. + def range(cls, frame, start, end=None, tz=None, limit=None): + ''' Returns an array of :class:`Arrow ` objects, representing + an iteration of time between two inputs. :param frame: the timeframe. Can be any ``datetime`` property (day, hour, minute...). - :param count: (optional) the number of frames to span. - :param bounds: (optional) a ``str`` of either '()', '(]', '[)', or '[]' that specifies - whether to include or exclude the start and end values in the span. '(' excludes - the start, '[' includes the start, ')' excludes the end, and ']' includes the end. - If the bounds are not specified, the default bound '[)' is used. - :param exact: (optional) whether to have the start of the timespan begin exactly - at the time specified by ``start`` and the end of the timespan truncated - so as not to extend beyond ``end``. - :param week_start: (optional) only used in combination with the week timeframe. Follows isoweekday() where - Monday is 1 and Sunday is 7. - - Supported frame values: year, quarter, month, week, day, hour, minute, second. - - Usage:: - - >>> arrow.utcnow() - - - >>> arrow.utcnow().span('hour') - (, ) - - >>> arrow.utcnow().span('day') - (, ) - - >>> arrow.utcnow().span('day', count=2) - (, ) - - >>> arrow.utcnow().span('day', bounds='[]') - (, ) - - >>> arrow.utcnow().span('week') - (, ) - - >>> arrow.utcnow().span('week', week_start=6) - (, ) - - """ - if not 1 <= week_start <= 7: - raise ValueError("week_start argument must be between 1 and 7.") - - util.validate_bounds(bounds) - - frame_absolute, frame_relative, relative_steps = self._get_frames(frame) - - if frame_absolute == "week": - attr = "day" - elif frame_absolute == "quarter": - attr = "month" - else: - attr = frame_absolute - - floor = self - if not exact: - index = self._ATTRS.index(attr) - frames = self._ATTRS[: index + 1] - - values = [getattr(self, f) for f in frames] - - for _ in range(3 - len(values)): - values.append(1) - - floor = self.__class__(*values, tzinfo=self.tzinfo) # type: ignore[misc] - - if frame_absolute == "week": - # if week_start is greater than self.isoweekday() go back one week by setting delta = 7 - delta = 7 if week_start > self.isoweekday() else 0 - floor = floor.shift(days=-(self.isoweekday() - week_start) - delta) - elif frame_absolute == "quarter": - floor = floor.shift(months=-((self.month - 1) % 3)) - - ceil = floor.shift(**{frame_relative: count * relative_steps}) - - if bounds[0] == "(": - floor = floor.shift(microseconds=+1) - - if bounds[1] == ")": - ceil = ceil.shift(microseconds=-1) - - return floor, ceil - - def floor(self, frame: _T_FRAMES) -> "Arrow": - """Returns a new :class:`Arrow ` object, representing the "floor" - of the timespan of the :class:`Arrow ` object in a given timeframe. - Equivalent to the first element in the 2-tuple returned by - :func:`span `. - - :param frame: the timeframe. Can be any ``datetime`` property (day, hour, minute...). - - Usage:: - - >>> arrow.utcnow().floor('hour') - - - """ - - return self.span(frame)[0] - - def ceil(self, frame: _T_FRAMES) -> "Arrow": - """Returns a new :class:`Arrow ` object, representing the "ceiling" - of the timespan of the :class:`Arrow ` object in a given timeframe. - Equivalent to the second element in the 2-tuple returned by - :func:`span `. - - :param frame: the timeframe. Can be any ``datetime`` property (day, hour, minute...). - - Usage:: - - >>> arrow.utcnow().ceil('hour') - - - """ - - return self.span(frame)[1] - - @classmethod - def span_range( - cls, - frame: _T_FRAMES, - start: dt_datetime, - end: dt_datetime, - tz: Optional[TZ_EXPR] = None, - limit: Optional[int] = None, - bounds: _BOUNDS = "[)", - exact: bool = False, - ) -> Iterable[Tuple["Arrow", "Arrow"]]: - """Returns an iterator of tuples, each :class:`Arrow ` objects, - representing a series of timespans between two inputs. - - :param frame: The timeframe. Can be any ``datetime`` property (day, hour, minute...). :param start: A datetime expression, the start of the range. :param end: (optional) A datetime expression, the end of the range. - :param tz: (optional) A :ref:`timezone expression `. Defaults to - ``start``'s timezone, or UTC if ``start`` is naive. - :param limit: (optional) A maximum number of tuples to return. - :param bounds: (optional) a ``str`` of either '()', '(]', '[)', or '[]' that specifies - whether to include or exclude the start and end values in each span in the range. '(' excludes - the start, '[' includes the start, ')' excludes the end, and ']' includes the end. - If the bounds are not specified, the default bound '[)' is used. - :param exact: (optional) whether to have the first timespan start exactly - at the time specified by ``start`` and the final span truncated - so as not to extend beyond ``end``. - - **NOTE**: The ``end`` or ``limit`` must be provided. Call with ``end`` alone to - return the entire range. Call with ``limit`` alone to return a maximum # of results from - the start. Call with both to cap a range at a maximum # of results. - - **NOTE**: ``tz`` internally **replaces** the timezones of both ``start`` and ``end`` before - iterating. As such, either call with naive objects and ``tz``, or aware objects from the - same timezone and no ``tz``. - - Supported frame values: year, quarter, month, week, day, hour, minute, second, microsecond. - - Recognized datetime expressions: - - - An :class:`Arrow ` object. - - A ``datetime`` object. - - **NOTE**: Unlike Python's ``range``, ``end`` will *always* be included in the returned - iterator of timespans. - - Usage: - - >>> start = datetime(2013, 5, 5, 12, 30) - >>> end = datetime(2013, 5, 5, 17, 15) - >>> for r in arrow.Arrow.span_range('hour', start, end): - ... print(r) - ... - (, ) - (, ) - (, ) - (, ) - (, ) - (, ) - - """ - - tzinfo = cls._get_tzinfo(start.tzinfo if tz is None else tz) - start = cls.fromdatetime(start, tzinfo).span(frame, exact=exact)[0] - end = cls.fromdatetime(end, tzinfo) - _range = cls.range(frame, start, end, tz, limit) - if not exact: - for r in _range: - yield r.span(frame, bounds=bounds, exact=exact) - - for r in _range: - floor, ceil = r.span(frame, bounds=bounds, exact=exact) - if ceil > end: - ceil = end - if bounds[1] == ")": - ceil += relativedelta(microseconds=-1) - if floor == end: - break - elif floor + relativedelta(microseconds=-1) == end: - break - yield floor, ceil - - @classmethod - def interval( - cls, - frame: _T_FRAMES, - start: dt_datetime, - end: dt_datetime, - interval: int = 1, - tz: Optional[TZ_EXPR] = None, - bounds: _BOUNDS = "[)", - exact: bool = False, - ) -> Iterable[Tuple["Arrow", "Arrow"]]: - """Returns an iterator of tuples, each :class:`Arrow ` objects, - representing a series of intervals between two inputs. - - :param frame: The timeframe. Can be any ``datetime`` property (day, hour, minute...). - :param start: A datetime expression, the start of the range. - :param end: (optional) A datetime expression, the end of the range. - :param interval: (optional) Time interval for the given time frame. :param tz: (optional) A timezone expression. Defaults to UTC. - :param bounds: (optional) a ``str`` of either '()', '(]', '[)', or '[]' that specifies - whether to include or exclude the start and end values in the intervals. '(' excludes - the start, '[' includes the start, ')' excludes the end, and ']' includes the end. - If the bounds are not specified, the default bound '[)' is used. - :param exact: (optional) whether to have the first timespan start exactly - at the time specified by ``start`` and the final interval truncated - so as not to extend beyond ``end``. + :param limit: (optional) A maximum number of tuples to return. + + **NOTE**: the **end** or **limit** must be provided. Call with **end** alone to + return the entire range, with **limit** alone to return a maximum # of results from the + start, and with both to cap a range at a maximum # of results. Supported frame values: year, quarter, month, week, day, hour, minute, second @@ -751,245 +191,256 @@ class Arrow: - A ``tzinfo`` object. - A ``str`` describing a timezone, similar to 'US/Pacific', or 'Europe/Berlin'. - - A ``str`` in ISO 8601 style, as in '+07:00'. + - A ``str`` in ISO-8601 style, as in '+07:00'. - A ``str``, one of the following: 'local', 'utc', 'UTC'. Usage: >>> start = datetime(2013, 5, 5, 12, 30) >>> end = datetime(2013, 5, 5, 17, 15) - >>> for r in arrow.Arrow.interval('hour', start, end, 2): - ... print(r) + >>> for r in arrow.Arrow.range('hour', start, end): + ... print repr(r) ... - (, ) - (, ) - (, ) - """ - if interval < 1: - raise ValueError("interval has to be a positive integer") + + + + + + + ''' + + _, frame_relative, relative_steps = cls._get_frames(frame) + + tzinfo = cls._get_tzinfo(start.tzinfo if tz is None else tz) + + start = cls._get_datetime(start).replace(tzinfo=tzinfo) + end, limit = cls._get_iteration_params(end, limit) + end = cls._get_datetime(end).replace(tzinfo=tzinfo) + + current = cls.fromdatetime(start) + results = [] + + while current <= end and len(results) < limit: + results.append(current) + + values = [getattr(current, f) for f in cls._ATTRS] + current = cls(*values, tzinfo=tzinfo) + relativedelta(**{frame_relative: relative_steps}) + + return results + + + @classmethod + def span_range(cls, frame, start, end, tz=None, limit=None): + ''' Returns an array of tuples, each :class:`Arrow ` objects, + representing a series of timespans between two inputs. + + :param frame: the timeframe. Can be any ``datetime`` property (day, hour, minute...). + :param start: A datetime expression, the start of the range. + :param end: (optional) A datetime expression, the end of the range. + :param tz: (optional) A timezone expression. Defaults to UTC. + :param limit: (optional) A maximum number of tuples to return. + + **NOTE**: the **end** or **limit** must be provided. Call with **end** alone to + return the entire range, with **limit** alone to return a maximum # of results from the + start, and with both to cap a range at a maximum # of results. + + Supported frame values: year, quarter, month, week, day, hour, minute, second + + Recognized datetime expressions: + + - An :class:`Arrow ` object. + - A ``datetime`` object. + + Recognized timezone expressions: + + - A ``tzinfo`` object. + - A ``str`` describing a timezone, similar to 'US/Pacific', or 'Europe/Berlin'. + - A ``str`` in ISO-8601 style, as in '+07:00'. + - A ``str``, one of the following: 'local', 'utc', 'UTC'. + + Usage: + + >>> start = datetime(2013, 5, 5, 12, 30) + >>> end = datetime(2013, 5, 5, 17, 15) + >>> for r in arrow.Arrow.span_range('hour', start, end): + ... print r + ... + (, ) + (, ) + (, ) + (, ) + (, ) + + ''' + tzinfo = cls._get_tzinfo(start.tzinfo if tz is None else tz) + start = cls.fromdatetime(start, tzinfo).span(frame)[0] + _range = cls.range(frame, start, end, tz, limit) + return [r.span(frame) for r in _range] - spanRange = iter( - cls.span_range(frame, start, end, tz, bounds=bounds, exact=exact) - ) - while True: - try: - intvlStart, intvlEnd = next(spanRange) - for _ in range(interval - 1): - try: - _, intvlEnd = next(spanRange) - except StopIteration: - continue - yield intvlStart, intvlEnd - except StopIteration: - return # representations - def __repr__(self) -> str: - return f"<{self.__class__.__name__} [{self.__str__()}]>" + def __repr__(self): - def __str__(self) -> str: + dt = self._datetime + attrs = ', '.join([str(i) for i in [dt.year, dt.month, dt.day, dt.hour, dt.minute, + dt.second, dt.microsecond]]) + + return '<{0} [{1}]>'.format(self.__class__.__name__, self.__str__()) + + def __str__(self): return self._datetime.isoformat() - def __format__(self, formatstr: str) -> str: + def __format__(self, formatstr): + if len(formatstr) > 0: return self.format(formatstr) return str(self) - def __hash__(self) -> int: + def __hash__(self): return self._datetime.__hash__() - # attributes and properties - def __getattr__(self, name: str) -> int: - if name == "week": + # attributes & properties + + def __getattr__(self, name): + + if name == 'week': return self.isocalendar()[1] - if name == "quarter": - return int((self.month - 1) / self._MONTHS_PER_QUARTER) + 1 + if name == 'quarter': + return int((self.month-1)/self._MONTHS_PER_QUARTER) + 1 - if not name.startswith("_"): - value: Optional[int] = getattr(self._datetime, name, None) + if not name.startswith('_'): + value = getattr(self._datetime, name, None) if value is not None: return value - return cast(int, object.__getattribute__(self, name)) + return object.__getattribute__(self, name) @property - def tzinfo(self) -> dt_tzinfo: - """Gets the ``tzinfo`` of the :class:`Arrow ` object. + def tzinfo(self): + ''' Gets the ``tzinfo`` of the :class:`Arrow ` object. ''' - Usage:: + return self._datetime.tzinfo - >>> arw=arrow.utcnow() - >>> arw.tzinfo - tzutc() + @tzinfo.setter + def tzinfo(self, tzinfo): + ''' Sets the ``tzinfo`` of the :class:`Arrow ` object. ''' - """ - - # In Arrow, `_datetime` cannot be naive. - return cast(dt_tzinfo, self._datetime.tzinfo) + self._datetime = self._datetime.replace(tzinfo=tzinfo) @property - def datetime(self) -> dt_datetime: - """Returns a datetime representation of the :class:`Arrow ` object. - - Usage:: - - >>> arw=arrow.utcnow() - >>> arw.datetime - datetime.datetime(2019, 1, 24, 16, 35, 27, 276649, tzinfo=tzutc()) - - """ + def datetime(self): + ''' Returns a datetime representation of the :class:`Arrow ` object. ''' return self._datetime @property - def naive(self) -> dt_datetime: - """Returns a naive datetime representation of the :class:`Arrow ` - object. - - Usage:: - - >>> nairobi = arrow.now('Africa/Nairobi') - >>> nairobi - - >>> nairobi.naive - datetime.datetime(2019, 1, 23, 19, 27, 12, 297999) - - """ + def naive(self): + ''' Returns a naive datetime representation of the :class:`Arrow ` object. ''' return self._datetime.replace(tzinfo=None) - def timestamp(self) -> float: - """Returns a timestamp representation of the :class:`Arrow ` object, in - UTC time. + @property + def timestamp(self): + ''' Returns a timestamp representation of the :class:`Arrow ` object. ''' - Usage:: - - >>> arrow.utcnow().timestamp() - 1616882340.256501 - - """ - - return self._datetime.timestamp() + return calendar.timegm(self._datetime.utctimetuple()) @property - def int_timestamp(self) -> int: - """Returns an integer timestamp representation of the :class:`Arrow ` object, in - UTC time. + def float_timestamp(self): + ''' Returns a floating-point representation of the :class:`Arrow ` object. ''' - Usage:: + return self.timestamp + float(self.microsecond) / 1000000 - >>> arrow.utcnow().int_timestamp - 1548260567 - - """ - - return int(self.timestamp()) - - @property - def float_timestamp(self) -> float: - """Returns a floating-point timestamp representation of the :class:`Arrow ` - object, in UTC time. - - Usage:: - - >>> arrow.utcnow().float_timestamp - 1548260516.830896 - - """ - - return self.timestamp() - - @property - def fold(self) -> int: - """Returns the ``fold`` value of the :class:`Arrow ` object.""" - - return self._datetime.fold - - @property - def ambiguous(self) -> bool: - """Indicates whether the :class:`Arrow ` object is a repeated wall time in the current - timezone. - - """ - - return dateutil_tz.datetime_ambiguous(self._datetime) - - @property - def imaginary(self) -> bool: - """Indicates whether the :class: `Arrow ` object exists in the current timezone.""" - - return not dateutil_tz.datetime_exists(self._datetime) # mutation and duplication. - def clone(self) -> "Arrow": - """Returns a new :class:`Arrow ` object, cloned from the current one. + def clone(self): + ''' Returns a new :class:`Arrow ` object, cloned from the current one. Usage: >>> arw = arrow.utcnow() >>> cloned = arw.clone() - """ + ''' return self.fromdatetime(self._datetime) - def replace(self, **kwargs: Any) -> "Arrow": - """Returns a new :class:`Arrow ` object with attributes updated + def replace(self, **kwargs): + ''' Returns a new :class:`Arrow ` object with attributes updated according to inputs. - Use property names to set their value absolutely:: + Use single property names to set their value absolutely: - >>> import arrow - >>> arw = arrow.utcnow() - >>> arw - - >>> arw.replace(year=2014, month=6) - + >>> import arrow + >>> arw = arrow.utcnow() + >>> arw + + >>> arw.replace(year=2014, month=6) + - You can also replace the timezone without conversion, using a - :ref:`timezone expression `:: + You can also provide a timezone expression can also be replaced: - >>> arw.replace(tzinfo=tz.tzlocal()) - + >>> arw.replace(tzinfo=tz.tzlocal()) + - """ + Use plural property names to shift their current value relatively (**deprecated**): + + >>> arw.replace(years=1, months=-1) + + + Recognized timezone expressions: + + - A ``tzinfo`` object. + - A ``str`` describing a timezone, similar to 'US/Pacific', or 'Europe/Berlin'. + - A ``str`` in ISO-8601 style, as in '+07:00'. + - A ``str``, one of the following: 'local', 'utc', 'UTC'. + + ''' absolute_kwargs = {} + relative_kwargs = {} # TODO: DEPRECATED; remove in next release for key, value in kwargs.items(): + if key in self._ATTRS: absolute_kwargs[key] = value - elif key in ["week", "quarter"]: - raise ValueError(f"Setting absolute {key} is not supported.") - elif key not in ["tzinfo", "fold"]: - raise ValueError(f"Unknown attribute: {key!r}.") + elif key in self._ATTRS_PLURAL or key in ['weeks', 'quarters']: + # TODO: DEPRECATED + warnings.warn("replace() with plural property to shift value" + "is deprecated, use shift() instead", + DeprecationWarning) + relative_kwargs[key] = value + elif key in ['week', 'quarter']: + raise AttributeError('setting absolute {0} is not supported'.format(key)) + elif key !='tzinfo': + raise AttributeError('unknown attribute: "{0}"'.format(key)) + + # core datetime does not support quarters, translate to months. + relative_kwargs.setdefault('months', 0) + relative_kwargs['months'] += relative_kwargs.pop('quarters', 0) * self._MONTHS_PER_QUARTER current = self._datetime.replace(**absolute_kwargs) + current += relativedelta(**relative_kwargs) # TODO: DEPRECATED - tzinfo = kwargs.get("tzinfo") + tzinfo = kwargs.get('tzinfo') if tzinfo is not None: tzinfo = self._get_tzinfo(tzinfo) current = current.replace(tzinfo=tzinfo) - fold = kwargs.get("fold") - - if fold is not None: - current = current.replace(fold=fold) - return self.fromdatetime(current) - def shift(self, **kwargs: Any) -> "Arrow": - """Returns a new :class:`Arrow ` object with attributes updated + def shift(self, **kwargs): + ''' Returns a new :class:`Arrow ` object with attributes updated according to inputs. - Use pluralized property names to relatively shift their current value: + Use plural property names to shift their current value relatively: >>> import arrow >>> arw = arrow.utcnow() @@ -998,53 +449,37 @@ class Arrow: >>> arw.shift(years=1, months=-1) - Day-of-the-week relative shifting can use either Python's weekday numbers - (Monday = 0, Tuesday = 1 .. Sunday = 6) or using dateutil.relativedelta's - day instances (MO, TU .. SU). When using weekday numbers, the returned - date will always be greater than or equal to the starting date. - - Using the above code (which is a Saturday) and asking it to shift to Saturday: - - >>> arw.shift(weekday=5) - - - While asking for a Monday: - - >>> arw.shift(weekday=0) - - - """ + ''' relative_kwargs = {} - additional_attrs = ["weeks", "quarters", "weekday"] for key, value in kwargs.items(): - if key in self._ATTRS_PLURAL or key in additional_attrs: + + if key in self._ATTRS_PLURAL or key in ['weeks', 'quarters']: relative_kwargs[key] = value else: - supported_attr = ", ".join(self._ATTRS_PLURAL + additional_attrs) - raise ValueError( - f"Invalid shift time frame. Please select one of the following: {supported_attr}." - ) + raise AttributeError() # core datetime does not support quarters, translate to months. - relative_kwargs.setdefault("months", 0) - relative_kwargs["months"] += ( - relative_kwargs.pop("quarters", 0) * self._MONTHS_PER_QUARTER - ) + relative_kwargs.setdefault('months', 0) + relative_kwargs['months'] += relative_kwargs.pop('quarters', 0) * self._MONTHS_PER_QUARTER current = self._datetime + relativedelta(**relative_kwargs) - if not dateutil_tz.datetime_exists(current): - current = dateutil_tz.resolve_imaginary(current) - return self.fromdatetime(current) - def to(self, tz: TZ_EXPR) -> "Arrow": - """Returns a new :class:`Arrow ` object, converted + def to(self, tz): + ''' Returns a new :class:`Arrow ` object, converted to the target timezone. - :param tz: A :ref:`timezone expression `. + :param tz: an expression representing a timezone. + + Recognized timezone expressions: + + - A ``tzinfo`` object. + - A ``str`` describing a timezone, similar to 'US/Pacific', or 'Europe/Berlin'. + - A ``str`` in ISO-8601 style, as in '+07:00'. + - A ``str``, one of the following: 'local', 'utc', 'UTC'. Usage:: @@ -1067,35 +502,110 @@ class Arrow: >>> utc.to('local').to('utc') - """ + ''' - if not isinstance(tz, dt_tzinfo): + if not isinstance(tz, tzinfo): tz = parser.TzinfoParser.parse(tz) dt = self._datetime.astimezone(tz) - return self.__class__( - dt.year, - dt.month, - dt.day, - dt.hour, - dt.minute, - dt.second, - dt.microsecond, - dt.tzinfo, - fold=getattr(dt, "fold", 0), - ) + return self.__class__(dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second, + dt.microsecond, dt.tzinfo) - # string output and formatting + def span(self, frame, count=1): + ''' Returns two new :class:`Arrow ` objects, representing the timespan + of the :class:`Arrow ` object in a given timeframe. - def format( - self, fmt: str = "YYYY-MM-DD HH:mm:ssZZ", locale: str = DEFAULT_LOCALE - ) -> str: - """Returns a string representation of the :class:`Arrow ` object, - formatted according to the provided format string. + :param frame: the timeframe. Can be any ``datetime`` property (day, hour, minute...). + :param count: (optional) the number of frames to span. + + Supported frame values: year, quarter, month, week, day, hour, minute, second + + Usage:: + + >>> arrow.utcnow() + + + >>> arrow.utcnow().span('hour') + (, ) + + >>> arrow.utcnow().span('day') + (, ) + + >>> arrow.utcnow().span('day', count=2) + (, ) + + ''' + + frame_absolute, frame_relative, relative_steps = self._get_frames(frame) + + if frame_absolute == 'week': + attr = 'day' + elif frame_absolute == 'quarter': + attr = 'month' + else: + attr = frame_absolute + + index = self._ATTRS.index(attr) + frames = self._ATTRS[:index + 1] + + values = [getattr(self, f) for f in frames] + + for i in range(3 - len(values)): + values.append(1) + + floor = self.__class__(*values, tzinfo=self.tzinfo) + + if frame_absolute == 'week': + floor = floor + relativedelta(days=-(self.isoweekday() - 1)) + elif frame_absolute == 'quarter': + floor = floor + relativedelta(months=-((self.month - 1) % 3)) + + ceil = floor + relativedelta( + **{frame_relative: count * relative_steps}) + relativedelta(microseconds=-1) + + return floor, ceil + + def floor(self, frame): + ''' Returns a new :class:`Arrow ` object, representing the "floor" + of the timespan of the :class:`Arrow ` object in a given timeframe. + Equivalent to the first element in the 2-tuple returned by + :func:`span `. + + :param frame: the timeframe. Can be any ``datetime`` property (day, hour, minute...). + + Usage:: + + >>> arrow.utcnow().floor('hour') + + ''' + + return self.span(frame)[0] + + def ceil(self, frame): + ''' Returns a new :class:`Arrow ` object, representing the "ceiling" + of the timespan of the :class:`Arrow ` object in a given timeframe. + Equivalent to the second element in the 2-tuple returned by + :func:`span `. + + :param frame: the timeframe. Can be any ``datetime`` property (day, hour, minute...). + + Usage:: + + >>> arrow.utcnow().ceil('hour') + + ''' + + return self.span(frame)[1] + + + # string output and formatting. + + def format(self, fmt='YYYY-MM-DD HH:mm:ssZZ', locale='en_us'): + ''' Returns a string representation of the :class:`Arrow ` object, + formatted according to a format string. :param fmt: the format string. - :param locale: the locale to format. Usage:: @@ -1111,746 +621,313 @@ class Arrow: >>> arrow.utcnow().format() '2013-05-09 03:56:47 -00:00' - """ + ''' return formatter.DateTimeFormatter(locale).format(self._datetime, fmt) - def humanize( - self, - other: Union["Arrow", dt_datetime, None] = None, - locale: str = DEFAULT_LOCALE, - only_distance: bool = False, - granularity: Union[_GRANULARITY, List[_GRANULARITY]] = "auto", - ) -> str: - """Returns a localized, humanized representation of a relative difference in time. + + def humanize(self, other=None, locale='en_us', only_distance=False): + ''' Returns a localized, humanized representation of a relative difference in time. :param other: (optional) an :class:`Arrow ` or ``datetime`` object. Defaults to now in the current :class:`Arrow ` object's timezone. - :param locale: (optional) a ``str`` specifying a locale. Defaults to 'en-us'. + :param locale: (optional) a ``str`` specifying a locale. Defaults to 'en_us'. :param only_distance: (optional) returns only time difference eg: "11 seconds" without "in" or "ago" part. - :param granularity: (optional) defines the precision of the output. Set it to strings 'second', 'minute', - 'hour', 'day', 'week', 'month' or 'year' or a list of any combination of these strings Usage:: - >>> earlier = arrow.utcnow().shift(hours=-2) + >>> earlier = arrow.utcnow().replace(hours=-2) >>> earlier.humanize() '2 hours ago' - >>> later = earlier.shift(hours=4) + >>> later = later = earlier.replace(hours=4) >>> later.humanize(earlier) 'in 4 hours' - """ + ''' - locale_name = locale locale = locales.get_locale(locale) if other is None: - utc = dt_datetime.utcnow().replace(tzinfo=dateutil_tz.tzutc()) + utc = datetime.utcnow().replace(tzinfo=dateutil_tz.tzutc()) dt = utc.astimezone(self._datetime.tzinfo) elif isinstance(other, Arrow): dt = other._datetime - elif isinstance(other, dt_datetime): + elif isinstance(other, datetime): if other.tzinfo is None: dt = other.replace(tzinfo=self._datetime.tzinfo) else: dt = other.astimezone(self._datetime.tzinfo) else: - raise TypeError( - f"Invalid 'other' argument of type {type(other).__name__!r}. " - "Argument must be of type None, Arrow, or datetime." - ) + raise TypeError() - if isinstance(granularity, list) and len(granularity) == 1: - granularity = granularity[0] + delta = int(util.total_seconds(self._datetime - dt)) + sign = -1 if delta < 0 else 1 + diff = abs(delta) + delta = diff - _delta = int(round((self._datetime - dt).total_seconds())) - sign = -1 if _delta < 0 else 1 - delta_second = diff = abs(_delta) + if diff < 10: + return locale.describe('now', only_distance=only_distance) - try: - if granularity == "auto": - if diff < 10: - return locale.describe("now", only_distance=only_distance) + if diff < 45: + return locale.describe('seconds', sign, only_distance=only_distance) - if diff < self._SECS_PER_MINUTE: - seconds = sign * delta_second - return locale.describe( - "seconds", seconds, only_distance=only_distance - ) + elif diff < 90: + return locale.describe('minute', sign, only_distance=only_distance) + elif diff < 2700: + minutes = sign * int(max(delta / 60, 2)) + return locale.describe('minutes', minutes, only_distance=only_distance) - elif diff < self._SECS_PER_MINUTE * 2: - return locale.describe("minute", sign, only_distance=only_distance) - elif diff < self._SECS_PER_HOUR: - minutes = sign * max(delta_second // self._SECS_PER_MINUTE, 2) - return locale.describe( - "minutes", minutes, only_distance=only_distance - ) + elif diff < 5400: + return locale.describe('hour', sign, only_distance=only_distance) + elif diff < 79200: + hours = sign * int(max(delta / 3600, 2)) + return locale.describe('hours', hours, only_distance=only_distance) - elif diff < self._SECS_PER_HOUR * 2: - return locale.describe("hour", sign, only_distance=only_distance) - elif diff < self._SECS_PER_DAY: - hours = sign * max(delta_second // self._SECS_PER_HOUR, 2) - return locale.describe("hours", hours, only_distance=only_distance) - elif diff < self._SECS_PER_DAY * 2: - return locale.describe("day", sign, only_distance=only_distance) - elif diff < self._SECS_PER_WEEK: - days = sign * max(delta_second // self._SECS_PER_DAY, 2) - return locale.describe("days", days, only_distance=only_distance) + elif diff < 129600: + return locale.describe('day', sign, only_distance=only_distance) + elif diff < 2160000: + days = sign * int(max(delta / 86400, 2)) + return locale.describe('days', days, only_distance=only_distance) - elif diff < self._SECS_PER_WEEK * 2: - return locale.describe("week", sign, only_distance=only_distance) - elif diff < self._SECS_PER_MONTH: - weeks = sign * max(delta_second // self._SECS_PER_WEEK, 2) - return locale.describe("weeks", weeks, only_distance=only_distance) + elif diff < 3888000: + return locale.describe('month', sign, only_distance=only_distance) + elif diff < 29808000: + self_months = self._datetime.year * 12 + self._datetime.month + other_months = dt.year * 12 + dt.month - elif diff < self._SECS_PER_MONTH * 2: - return locale.describe("month", sign, only_distance=only_distance) - elif diff < self._SECS_PER_YEAR: - # TODO revisit for humanization during leap years - self_months = self._datetime.year * 12 + self._datetime.month - other_months = dt.year * 12 + dt.month + months = sign * int(max(abs(other_months - self_months), 2)) - months = sign * max(abs(other_months - self_months), 2) + return locale.describe('months', months, only_distance=only_distance) - return locale.describe( - "months", months, only_distance=only_distance - ) - - elif diff < self._SECS_PER_YEAR * 2: - return locale.describe("year", sign, only_distance=only_distance) - else: - years = sign * max(delta_second // self._SECS_PER_YEAR, 2) - return locale.describe("years", years, only_distance=only_distance) - - elif isinstance(granularity, str): - granularity = cast(TimeFrameLiteral, granularity) # type: ignore[assignment] - - if granularity == "second": - delta = sign * float(delta_second) - if abs(delta) < 2: - return locale.describe("now", only_distance=only_distance) - elif granularity == "minute": - delta = sign * delta_second / self._SECS_PER_MINUTE - elif granularity == "hour": - delta = sign * delta_second / self._SECS_PER_HOUR - elif granularity == "day": - delta = sign * delta_second / self._SECS_PER_DAY - elif granularity == "week": - delta = sign * delta_second / self._SECS_PER_WEEK - elif granularity == "month": - delta = sign * delta_second / self._SECS_PER_MONTH - elif granularity == "quarter": - delta = sign * delta_second / self._SECS_PER_QUARTER - elif granularity == "year": - delta = sign * delta_second / self._SECS_PER_YEAR - else: - raise ValueError( - "Invalid level of granularity. " - "Please select between 'second', 'minute', 'hour', 'day', 'week', 'month', 'quarter' or 'year'." - ) - - if trunc(abs(delta)) != 1: - granularity += "s" # type: ignore[assignment] - return locale.describe(granularity, delta, only_distance=only_distance) - - else: - if not granularity: - raise ValueError( - "Empty granularity list provided. " - "Please select one or more from 'second', 'minute', 'hour', 'day', 'week', 'month', 'quarter', 'year'." - ) - - timeframes: List[Tuple[TimeFrameLiteral, float]] = [] - - def gather_timeframes(_delta: float, _frame: TimeFrameLiteral) -> float: - if _frame in granularity: - value = sign * _delta / self._SECS_MAP[_frame] - _delta %= self._SECS_MAP[_frame] - if trunc(abs(value)) != 1: - timeframes.append( - (cast(TimeFrameLiteral, _frame + "s"), value) - ) - else: - timeframes.append((_frame, value)) - return _delta - - delta = float(delta_second) - frames: Tuple[TimeFrameLiteral, ...] = ( - "year", - "quarter", - "month", - "week", - "day", - "hour", - "minute", - "second", - ) - for frame in frames: - delta = gather_timeframes(delta, frame) - - if len(timeframes) < len(granularity): - raise ValueError( - "Invalid level of granularity. " - "Please select between 'second', 'minute', 'hour', 'day', 'week', 'month', 'quarter' or 'year'." - ) - - return locale.describe_multi(timeframes, only_distance=only_distance) - - except KeyError as e: - raise ValueError( - f"Humanization of the {e} granularity is not currently translated in the {locale_name!r} locale. " - "Please consider making a contribution to this locale." - ) - - def dehumanize(self, input_string: str, locale: str = "en_us") -> "Arrow": - """Returns a new :class:`Arrow ` object, that represents - the time difference relative to the attributes of the - :class:`Arrow ` object. - - :param timestring: a ``str`` representing a humanized relative time. - :param locale: (optional) a ``str`` specifying a locale. Defaults to 'en-us'. - - Usage:: - - >>> arw = arrow.utcnow() - >>> arw - - >>> earlier = arw.dehumanize("2 days ago") - >>> earlier - - - >>> arw = arrow.utcnow() - >>> arw - - >>> later = arw.dehumanize("in a month") - >>> later - - - """ - - # Create a locale object based off given local - locale_obj = locales.get_locale(locale) - - # Check to see if locale is supported - normalized_locale_name = locale.lower().replace("_", "-") - - if normalized_locale_name not in DEHUMANIZE_LOCALES: - raise ValueError( - f"Dehumanize does not currently support the {locale} locale, please consider making a contribution to add support for this locale." - ) - - current_time = self.fromdatetime(self._datetime) - - # Create an object containing the relative time info - time_object_info = dict.fromkeys( - ["seconds", "minutes", "hours", "days", "weeks", "months", "years"], 0 - ) - - # Create an object representing if unit has been seen - unit_visited = dict.fromkeys( - ["now", "seconds", "minutes", "hours", "days", "weeks", "months", "years"], - False, - ) - - # Create a regex pattern object for numbers - num_pattern = re.compile(r"\d+") - - # Search input string for each time unit within locale - for unit, unit_object in locale_obj.timeframes.items(): - # Need to check the type of unit_object to create the correct dictionary - if isinstance(unit_object, Mapping): - strings_to_search = unit_object - else: - strings_to_search = {unit: str(unit_object)} - - # Search for any matches that exist for that locale's unit. - # Needs to cycle all through strings as some locales have strings that - # could overlap in a regex match, since input validation isn't being performed. - for time_delta, time_string in strings_to_search.items(): - # Replace {0} with regex \d representing digits - search_string = str(time_string) - search_string = search_string.format(r"\d+") - - # Create search pattern and find within string - pattern = re.compile(rf"(^|\b|\d){search_string}") - match = pattern.search(input_string) - - # If there is no match continue to next iteration - if not match: - continue - - match_string = match.group() - num_match = num_pattern.search(match_string) - - # If no number matches - # Need for absolute value as some locales have signs included in their objects - if not num_match: - change_value = ( - 1 if not time_delta.isnumeric() else abs(int(time_delta)) - ) - else: - change_value = int(num_match.group()) - - # No time to update if now is the unit - if unit == "now": - unit_visited[unit] = True - continue - - # Add change value to the correct unit (incorporates the plurality that exists within timeframe i.e second v.s seconds) - time_unit_to_change = str(unit) - time_unit_to_change += ( - "s" if (str(time_unit_to_change)[-1] != "s") else "" - ) - time_object_info[time_unit_to_change] = change_value - unit_visited[time_unit_to_change] = True - - # Assert error if string does not modify any units - if not any([True for k, v in unit_visited.items() if v]): - raise ValueError( - "Input string not valid. Note: Some locales do not support the week granularity in Arrow. " - "If you are attempting to use the week granularity on an unsupported locale, this could be the cause of this error." - ) - - # Sign logic - future_string = locale_obj.future - future_string = future_string.format(".*") - future_pattern = re.compile(rf"^{future_string}$") - future_pattern_match = future_pattern.findall(input_string) - - past_string = locale_obj.past - past_string = past_string.format(".*") - past_pattern = re.compile(rf"^{past_string}$") - past_pattern_match = past_pattern.findall(input_string) - - # If a string contains the now unit, there will be no relative units, hence the need to check if the now unit - # was visited before raising a ValueError - if past_pattern_match: - sign_val = -1 - elif future_pattern_match: - sign_val = 1 - elif unit_visited["now"]: - sign_val = 0 + elif diff < 47260800: + return locale.describe('year', sign, only_distance=only_distance) else: - raise ValueError( - "Invalid input String. String does not contain any relative time information. " - "String should either represent a time in the future or a time in the past. " - "Ex: 'in 5 seconds' or '5 seconds ago'." - ) + years = sign * int(max(delta / 31536000, 2)) + return locale.describe('years', years, only_distance=only_distance) - time_changes = {k: sign_val * v for k, v in time_object_info.items()} - - return current_time.shift(**time_changes) - - # query functions - - def is_between( - self, - start: "Arrow", - end: "Arrow", - bounds: _BOUNDS = "()", - ) -> bool: - """Returns a boolean denoting whether the :class:`Arrow ` object is between - the start and end limits. - - :param start: an :class:`Arrow ` object. - :param end: an :class:`Arrow ` object. - :param bounds: (optional) a ``str`` of either '()', '(]', '[)', or '[]' that specifies - whether to include or exclude the start and end values in the range. '(' excludes - the start, '[' includes the start, ')' excludes the end, and ']' includes the end. - If the bounds are not specified, the default bound '()' is used. - - Usage:: - - >>> start = arrow.get(datetime(2013, 5, 5, 12, 30, 10)) - >>> end = arrow.get(datetime(2013, 5, 5, 12, 30, 36)) - >>> arrow.get(datetime(2013, 5, 5, 12, 30, 27)).is_between(start, end) - True - - >>> start = arrow.get(datetime(2013, 5, 5)) - >>> end = arrow.get(datetime(2013, 5, 8)) - >>> arrow.get(datetime(2013, 5, 8)).is_between(start, end, '[]') - True - - >>> start = arrow.get(datetime(2013, 5, 5)) - >>> end = arrow.get(datetime(2013, 5, 8)) - >>> arrow.get(datetime(2013, 5, 8)).is_between(start, end, '[)') - False - - """ - - util.validate_bounds(bounds) - - if not isinstance(start, Arrow): - raise TypeError( - f"Cannot parse start date argument type of {type(start)!r}." - ) - - if not isinstance(end, Arrow): - raise TypeError(f"Cannot parse end date argument type of {type(start)!r}.") - - include_start = bounds[0] == "[" - include_end = bounds[1] == "]" - - target_ts = self.float_timestamp - start_ts = start.float_timestamp - end_ts = end.float_timestamp - - return ( - (start_ts <= target_ts <= end_ts) - and (include_start or start_ts < target_ts) - and (include_end or target_ts < end_ts) - ) - - # datetime methods - - def date(self) -> date: - """Returns a ``date`` object with the same year, month and day. - - Usage:: - - >>> arrow.utcnow().date() - datetime.date(2019, 1, 23) - - """ - - return self._datetime.date() - - def time(self) -> dt_time: - """Returns a ``time`` object with the same hour, minute, second, microsecond. - - Usage:: - - >>> arrow.utcnow().time() - datetime.time(12, 15, 34, 68352) - - """ - - return self._datetime.time() - - def timetz(self) -> dt_time: - """Returns a ``time`` object with the same hour, minute, second, microsecond and - tzinfo. - - Usage:: - - >>> arrow.utcnow().timetz() - datetime.time(12, 5, 18, 298893, tzinfo=tzutc()) - - """ - - return self._datetime.timetz() - - def astimezone(self, tz: Optional[dt_tzinfo]) -> dt_datetime: - """Returns a ``datetime`` object, converted to the specified timezone. - - :param tz: a ``tzinfo`` object. - - Usage:: - - >>> pacific=arrow.now('US/Pacific') - >>> nyc=arrow.now('America/New_York').tzinfo - >>> pacific.astimezone(nyc) - datetime.datetime(2019, 1, 20, 10, 24, 22, 328172, tzinfo=tzfile('/usr/share/zoneinfo/America/New_York')) - - """ - - return self._datetime.astimezone(tz) - - def utcoffset(self) -> Optional[timedelta]: - """Returns a ``timedelta`` object representing the whole number of minutes difference from - UTC time. - - Usage:: - - >>> arrow.now('US/Pacific').utcoffset() - datetime.timedelta(-1, 57600) - - """ - - return self._datetime.utcoffset() - - def dst(self) -> Optional[timedelta]: - """Returns the daylight savings time adjustment. - - Usage:: - - >>> arrow.utcnow().dst() - datetime.timedelta(0) - - """ - - return self._datetime.dst() - - def timetuple(self) -> struct_time: - """Returns a ``time.struct_time``, in the current timezone. - - Usage:: - - >>> arrow.utcnow().timetuple() - time.struct_time(tm_year=2019, tm_mon=1, tm_mday=20, tm_hour=15, tm_min=17, tm_sec=8, tm_wday=6, tm_yday=20, tm_isdst=0) - - """ - - return self._datetime.timetuple() - - def utctimetuple(self) -> struct_time: - """Returns a ``time.struct_time``, in UTC time. - - Usage:: - - >>> arrow.utcnow().utctimetuple() - time.struct_time(tm_year=2019, tm_mon=1, tm_mday=19, tm_hour=21, tm_min=41, tm_sec=7, tm_wday=5, tm_yday=19, tm_isdst=0) - - """ - - return self._datetime.utctimetuple() - - def toordinal(self) -> int: - """Returns the proleptic Gregorian ordinal of the date. - - Usage:: - - >>> arrow.utcnow().toordinal() - 737078 - - """ - - return self._datetime.toordinal() - - def weekday(self) -> int: - """Returns the day of the week as an integer (0-6). - - Usage:: - - >>> arrow.utcnow().weekday() - 5 - - """ - - return self._datetime.weekday() - - def isoweekday(self) -> int: - """Returns the ISO day of the week as an integer (1-7). - - Usage:: - - >>> arrow.utcnow().isoweekday() - 6 - - """ - - return self._datetime.isoweekday() - - def isocalendar(self) -> Tuple[int, int, int]: - """Returns a 3-tuple, (ISO year, ISO week number, ISO weekday). - - Usage:: - - >>> arrow.utcnow().isocalendar() - (2019, 3, 6) - - """ - - return self._datetime.isocalendar() - - def isoformat(self, sep: str = "T", timespec: str = "auto") -> str: - """Returns an ISO 8601 formatted representation of the date and time. - - Usage:: - - >>> arrow.utcnow().isoformat() - '2019-01-19T18:30:52.442118+00:00' - - """ - - return self._datetime.isoformat(sep, timespec) - - def ctime(self) -> str: - """Returns a ctime formatted representation of the date and time. - - Usage:: - - >>> arrow.utcnow().ctime() - 'Sat Jan 19 18:26:50 2019' - - """ - - return self._datetime.ctime() - - def strftime(self, format: str) -> str: - """Formats in the style of ``datetime.strftime``. - - :param format: the format string. - - Usage:: - - >>> arrow.utcnow().strftime('%d-%m-%Y %H:%M:%S') - '23-01-2019 12:28:17' - - """ - - return self._datetime.strftime(format) - - def for_json(self) -> str: - """Serializes for the ``for_json`` protocol of simplejson. - - Usage:: - - >>> arrow.utcnow().for_json() - '2019-01-19T18:25:36.760079+00:00' - - """ - - return self.isoformat() # math - def __add__(self, other: Any) -> "Arrow": + def __add__(self, other): + if isinstance(other, (timedelta, relativedelta)): return self.fromdatetime(self._datetime + other, self._datetime.tzinfo) - return NotImplemented + raise TypeError() - def __radd__(self, other: Union[timedelta, relativedelta]) -> "Arrow": + def __radd__(self, other): return self.__add__(other) - @overload - def __sub__(self, other: Union[timedelta, relativedelta]) -> "Arrow": - pass # pragma: no cover + def __sub__(self, other): - @overload - def __sub__(self, other: Union[dt_datetime, "Arrow"]) -> timedelta: - pass # pragma: no cover - - def __sub__(self, other: Any) -> Union[timedelta, "Arrow"]: if isinstance(other, (timedelta, relativedelta)): return self.fromdatetime(self._datetime - other, self._datetime.tzinfo) - elif isinstance(other, dt_datetime): + elif isinstance(other, datetime): return self._datetime - other elif isinstance(other, Arrow): return self._datetime - other._datetime - return NotImplemented + raise TypeError() - def __rsub__(self, other: Any) -> timedelta: - if isinstance(other, dt_datetime): + def __rsub__(self, other): + + if isinstance(other, datetime): return other - self._datetime - return NotImplemented + raise TypeError() + # comparisons - def __eq__(self, other: Any) -> bool: - if not isinstance(other, (Arrow, dt_datetime)): + def _cmperror(self, other): + raise TypeError('can\'t compare \'{0}\' to \'{1}\''.format( + type(self), type(other))) + + def __eq__(self, other): + + if not isinstance(other, (Arrow, datetime)): return False return self._datetime == self._get_datetime(other) - def __ne__(self, other: Any) -> bool: - if not isinstance(other, (Arrow, dt_datetime)): - return True - + def __ne__(self, other): return not self.__eq__(other) - def __gt__(self, other: Any) -> bool: - if not isinstance(other, (Arrow, dt_datetime)): - return NotImplemented + def __gt__(self, other): + + if not isinstance(other, (Arrow, datetime)): + self._cmperror(other) return self._datetime > self._get_datetime(other) - def __ge__(self, other: Any) -> bool: - if not isinstance(other, (Arrow, dt_datetime)): - return NotImplemented + def __ge__(self, other): + + if not isinstance(other, (Arrow, datetime)): + self._cmperror(other) return self._datetime >= self._get_datetime(other) - def __lt__(self, other: Any) -> bool: - if not isinstance(other, (Arrow, dt_datetime)): - return NotImplemented + def __lt__(self, other): + + if not isinstance(other, (Arrow, datetime)): + self._cmperror(other) return self._datetime < self._get_datetime(other) - def __le__(self, other: Any) -> bool: - if not isinstance(other, (Arrow, dt_datetime)): - return NotImplemented + def __le__(self, other): + + if not isinstance(other, (Arrow, datetime)): + self._cmperror(other) return self._datetime <= self._get_datetime(other) - # internal methods + + # datetime methods + + def date(self): + ''' Returns a ``date`` object with the same year, month and day. ''' + + return self._datetime.date() + + def time(self): + ''' Returns a ``time`` object with the same hour, minute, second, microsecond. ''' + + return self._datetime.time() + + def timetz(self): + ''' Returns a ``time`` object with the same hour, minute, second, microsecond and tzinfo. ''' + + return self._datetime.timetz() + + def astimezone(self, tz): + ''' Returns a ``datetime`` object, adjusted to the specified tzinfo. + + :param tz: a ``tzinfo`` object. + + ''' + + return self._datetime.astimezone(tz) + + def utcoffset(self): + ''' Returns a ``timedelta`` object representing the whole number of minutes difference from UTC time. ''' + + return self._datetime.utcoffset() + + def dst(self): + ''' Returns the daylight savings time adjustment. ''' + return self._datetime.dst() + + def timetuple(self): + ''' Returns a ``time.struct_time``, in the current timezone. ''' + + return self._datetime.timetuple() + + def utctimetuple(self): + ''' Returns a ``time.struct_time``, in UTC time. ''' + + return self._datetime.utctimetuple() + + def toordinal(self): + ''' Returns the proleptic Gregorian ordinal of the date. ''' + + return self._datetime.toordinal() + + def weekday(self): + ''' Returns the day of the week as an integer (0-6). ''' + + return self._datetime.weekday() + + def isoweekday(self): + ''' Returns the ISO day of the week as an integer (1-7). ''' + + return self._datetime.isoweekday() + + def isocalendar(self): + ''' Returns a 3-tuple, (ISO year, ISO week number, ISO weekday). ''' + + return self._datetime.isocalendar() + + def isoformat(self, sep='T'): + '''Returns an ISO 8601 formatted representation of the date and time. ''' + + return self._datetime.isoformat(sep) + + def ctime(self): + ''' Returns a ctime formatted representation of the date and time. ''' + + return self._datetime.ctime() + + def strftime(self, format): + ''' Formats in the style of ``datetime.strptime``. + + :param format: the format string. + + ''' + + return self._datetime.strftime(format) + + def for_json(self): + '''Serializes for the ``for_json`` protocol of simplejson.''' + return self.isoformat() + + # internal tools. + @staticmethod - def _get_tzinfo(tz_expr: Optional[TZ_EXPR]) -> dt_tzinfo: - """Get normalized tzinfo object from various inputs.""" + def _get_tzinfo(tz_expr): + if tz_expr is None: return dateutil_tz.tzutc() - if isinstance(tz_expr, dt_tzinfo): + if isinstance(tz_expr, tzinfo): return tz_expr else: try: return parser.TzinfoParser.parse(tz_expr) except parser.ParserError: - raise ValueError(f"{tz_expr!r} not recognized as a timezone.") + raise ValueError('\'{0}\' not recognized as a timezone'.format( + tz_expr)) @classmethod - def _get_datetime( - cls, expr: Union["Arrow", dt_datetime, int, float, str] - ) -> dt_datetime: - """Get datetime object from a specified expression.""" + def _get_datetime(cls, expr): + if isinstance(expr, Arrow): return expr.datetime - elif isinstance(expr, dt_datetime): + + if isinstance(expr, datetime): return expr - elif util.is_timestamp(expr): - timestamp = float(expr) - return cls.utcfromtimestamp(timestamp).datetime - else: - raise ValueError(f"{expr!r} not recognized as a datetime or timestamp.") - @classmethod - def _get_frames(cls, name: _T_FRAMES) -> Tuple[str, str, int]: - """Finds relevant timeframe and steps for use in range and span methods. - - Returns a 3 element tuple in the form (frame, plural frame, step), for example ("day", "days", 1) - - """ - if name in cls._ATTRS: - return name, f"{name}s", 1 - elif name[-1] == "s" and name[:-1] in cls._ATTRS: - return name[:-1], name, 1 - elif name in ["week", "weeks"]: - return "week", "weeks", 1 - elif name in ["quarter", "quarters"]: - return "quarter", "months", 3 - else: - supported = ", ".join( - [ - "year(s)", - "month(s)", - "day(s)", - "hour(s)", - "minute(s)", - "second(s)", - "microsecond(s)", - "week(s)", - "quarter(s)", - ] - ) + try: + expr = float(expr) + return cls.utcfromtimestamp(expr).datetime + except: raise ValueError( - f"Range or span over frame {name} not supported. Supported frames: {supported}." - ) + '\'{0}\' not recognized as a timestamp or datetime'.format(expr)) @classmethod - def _get_iteration_params(cls, end: Any, limit: Optional[int]) -> Tuple[Any, int]: - """Sets default end and limit values for range method.""" + def _get_frames(cls, name): + + if name in cls._ATTRS: + return name, '{0}s'.format(name), 1 + + elif name in ['week', 'weeks']: + return 'week', 'weeks', 1 + elif name in ['quarter', 'quarters']: + return 'quarter', 'months', 3 + + raise AttributeError() + + @classmethod + def _get_iteration_params(cls, end, limit): + if end is None: + if limit is None: - raise ValueError("One of 'end' or 'limit' is required.") + raise Exception('one of \'end\' or \'limit\' is required') return cls.max, limit @@ -1860,10 +937,12 @@ class Arrow: return end, limit @staticmethod - def _is_last_day_of_month(date: "Arrow") -> bool: - """Returns a boolean indicating whether the datetime is the last day of the month.""" - return date.day == calendar.monthrange(date.year, date.month)[1] + def _get_timestamp_from_input(timestamp): + try: + return float(timestamp) + except: + raise ValueError('cannot parse \'{0}\' as a timestamp'.format(timestamp)) -Arrow.min = Arrow.fromdatetime(dt_datetime.min) -Arrow.max = Arrow.fromdatetime(dt_datetime.max) +Arrow.min = Arrow.fromdatetime(datetime.min) +Arrow.max = Arrow.fromdatetime(datetime.max) diff --git a/lib/arrow/constants.py b/lib/arrow/constants.py deleted file mode 100644 index 53d163b9..00000000 --- a/lib/arrow/constants.py +++ /dev/null @@ -1,177 +0,0 @@ -"""Constants used internally in arrow.""" - -import sys -from datetime import datetime - -if sys.version_info < (3, 8): # pragma: no cover - from typing_extensions import Final -else: - from typing import Final # pragma: no cover - -# datetime.max.timestamp() errors on Windows, so we must hardcode -# the highest possible datetime value that can output a timestamp. -# tl;dr platform-independent max timestamps are hard to form -# See: https://stackoverflow.com/q/46133223 -try: - # Get max timestamp. Works on POSIX-based systems like Linux and macOS, - # but will trigger an OverflowError, ValueError, or OSError on Windows - _MAX_TIMESTAMP = datetime.max.timestamp() -except (OverflowError, ValueError, OSError): # pragma: no cover - # Fallback for Windows and 32-bit systems if initial max timestamp call fails - # Must get max value of ctime on Windows based on architecture (x32 vs x64) - # https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/ctime-ctime32-ctime64-wctime-wctime32-wctime64 - # Note: this may occur on both 32-bit Linux systems (issue #930) along with Windows systems - is_64bits = sys.maxsize > 2**32 - _MAX_TIMESTAMP = ( - datetime(3000, 1, 1, 23, 59, 59, 999999).timestamp() - if is_64bits - else datetime(2038, 1, 1, 23, 59, 59, 999999).timestamp() - ) - -MAX_TIMESTAMP: Final[float] = _MAX_TIMESTAMP -MAX_TIMESTAMP_MS: Final[float] = MAX_TIMESTAMP * 1000 -MAX_TIMESTAMP_US: Final[float] = MAX_TIMESTAMP * 1_000_000 - -MAX_ORDINAL: Final[int] = datetime.max.toordinal() -MIN_ORDINAL: Final[int] = 1 - -DEFAULT_LOCALE: Final[str] = "en-us" - -# Supported dehumanize locales -DEHUMANIZE_LOCALES = { - "en", - "en-us", - "en-gb", - "en-au", - "en-be", - "en-jp", - "en-za", - "en-ca", - "en-ph", - "fr", - "fr-fr", - "fr-ca", - "it", - "it-it", - "es", - "es-es", - "el", - "el-gr", - "ja", - "ja-jp", - "se", - "se-fi", - "se-no", - "se-se", - "sv", - "sv-se", - "fi", - "fi-fi", - "zh", - "zh-cn", - "zh-tw", - "zh-hk", - "nl", - "nl-nl", - "be", - "be-by", - "pl", - "pl-pl", - "ru", - "ru-ru", - "af", - "bg", - "bg-bg", - "ua", - "uk", - "uk-ua", - "mk", - "mk-mk", - "de", - "de-de", - "de-ch", - "de-at", - "nb", - "nb-no", - "nn", - "nn-no", - "pt", - "pt-pt", - "pt-br", - "tl", - "tl-ph", - "vi", - "vi-vn", - "tr", - "tr-tr", - "az", - "az-az", - "da", - "da-dk", - "ml", - "hi", - "cs", - "cs-cz", - "sk", - "sk-sk", - "fa", - "fa-ir", - "mr", - "ca", - "ca-es", - "ca-ad", - "ca-fr", - "ca-it", - "eo", - "eo-xx", - "bn", - "bn-bd", - "bn-in", - "rm", - "rm-ch", - "ro", - "ro-ro", - "sl", - "sl-si", - "id", - "id-id", - "ne", - "ne-np", - "ee", - "et", - "sw", - "sw-ke", - "sw-tz", - "la", - "la-va", - "lt", - "lt-lt", - "ms", - "ms-my", - "ms-bn", - "or", - "or-in", - "lb", - "lb-lu", - "zu", - "zu-za", - "sq", - "sq-al", - "ta", - "ta-in", - "ta-lk", - "ur", - "ur-pk", - "ka", - "ka-ge", - "kk", - "kk-kz", - # "lo", - # "lo-la", - "am", - "am-et", - "hy-am", - "hy", - "uz", - "uz-uz", -} diff --git a/lib/arrow/factory.py b/lib/arrow/factory.py index f35085f1..a5d690b2 100644 --- a/lib/arrow/factory.py +++ b/lib/arrow/factory.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- """ Implements the :class:`ArrowFactory ` class, providing factory methods for common :class:`Arrow ` @@ -5,100 +6,31 @@ construction scenarios. """ +from __future__ import absolute_import -import calendar -from datetime import date, datetime -from datetime import tzinfo as dt_tzinfo -from decimal import Decimal -from time import struct_time -from typing import Any, List, Optional, Tuple, Type, Union, overload - -from dateutil import tz as dateutil_tz - +from arrow.arrow import Arrow from arrow import parser -from arrow.arrow import TZ_EXPR, Arrow -from arrow.constants import DEFAULT_LOCALE -from arrow.util import is_timestamp, iso_to_gregorian +from arrow.util import is_timestamp, isstr + +from datetime import datetime, tzinfo, date +from dateutil import tz as dateutil_tz +from time import struct_time +import calendar -class ArrowFactory: - """A factory for generating :class:`Arrow ` objects. +class ArrowFactory(object): + ''' A factory for generating :class:`Arrow ` objects. :param type: (optional) the :class:`Arrow `-based class to construct from. Defaults to :class:`Arrow `. - """ + ''' - type: Type[Arrow] - - def __init__(self, type: Type[Arrow] = Arrow) -> None: + def __init__(self, type=Arrow): self.type = type - @overload - def get( - self, - *, - locale: str = DEFAULT_LOCALE, - tzinfo: Optional[TZ_EXPR] = None, - normalize_whitespace: bool = False, - ) -> Arrow: - ... # pragma: no cover - - @overload - def get( - self, - __obj: Union[ - Arrow, - datetime, - date, - struct_time, - dt_tzinfo, - int, - float, - str, - Tuple[int, int, int], - ], - *, - locale: str = DEFAULT_LOCALE, - tzinfo: Optional[TZ_EXPR] = None, - normalize_whitespace: bool = False, - ) -> Arrow: - ... # pragma: no cover - - @overload - def get( - self, - __arg1: Union[datetime, date], - __arg2: TZ_EXPR, - *, - locale: str = DEFAULT_LOCALE, - tzinfo: Optional[TZ_EXPR] = None, - normalize_whitespace: bool = False, - ) -> Arrow: - ... # pragma: no cover - - @overload - def get( - self, - __arg1: str, - __arg2: Union[str, List[str]], - *, - locale: str = DEFAULT_LOCALE, - tzinfo: Optional[TZ_EXPR] = None, - normalize_whitespace: bool = False, - ) -> Arrow: - ... # pragma: no cover - - def get(self, *args: Any, **kwargs: Any) -> Arrow: - """Returns an :class:`Arrow ` object based on flexible inputs. - - :param locale: (optional) a ``str`` specifying a locale for the parser. Defaults to 'en-us'. - :param tzinfo: (optional) a :ref:`timezone expression ` or tzinfo object. - Replaces the timezone unless using an input form that is explicitly UTC or specifies - the timezone in a positional argument. Defaults to UTC. - :param normalize_whitespace: (optional) a ``bool`` specifying whether or not to normalize - redundant whitespace (spaces, tabs, and newlines) in a datetime string before parsing. - Defaults to false. + def get(self, *args, **kwargs): + ''' Returns an :class:`Arrow ` object based on flexible inputs. Usage:: @@ -109,14 +41,18 @@ class ArrowFactory: >>> arrow.get() + **None** to also get current UTC time:: + + >>> arrow.get(None) + + **One** :class:`Arrow ` object, to get a copy. >>> arw = arrow.utcnow() >>> arrow.get(arw) - **One** ``float`` or ``int``, convertible to a floating-point timestamp, to get - that timestamp in UTC:: + **One** ``str``, ``float``, or ``int``, convertible to a floating-point timestamp, to get that timestamp in UTC:: >>> arrow.get(1367992474.293378) @@ -124,17 +60,18 @@ class ArrowFactory: >>> arrow.get(1367992474) - **One** ISO 8601-formatted ``str``, to parse it:: + >>> arrow.get('1367992474.293378') + + + >>> arrow.get('1367992474') + + + **One** ISO-8601-formatted ``str``, to parse it:: >>> arrow.get('2013-09-29T01:26:43.830580') - **One** ISO 8601-formatted ``str``, in basic format, to parse it:: - - >>> arrow.get('20160413T133656.456289') - - - **One** ``tzinfo``, to get the current time **converted** to that timezone:: + **One** ``tzinfo``, to get the current time in that timezone:: >>> arrow.get(tz.tzlocal()) @@ -154,172 +91,144 @@ class ArrowFactory: >>> arrow.get(date(2013, 5, 5)) - **One** time.struct time:: - - >>> arrow.get(gmtime(0)) - - - **One** iso calendar ``tuple``, to get that week date in UTC:: - - >>> arrow.get((2013, 18, 7)) - - - **Two** arguments, a naive or aware ``datetime``, and a replacement - :ref:`timezone expression `:: + **Two** arguments, a naive or aware ``datetime``, and a timezone expression (as above):: >>> arrow.get(datetime(2013, 5, 5), 'US/Pacific') - **Two** arguments, a naive ``date``, and a replacement - :ref:`timezone expression `:: + **Two** arguments, a naive ``date``, and a timezone expression (as above):: >>> arrow.get(date(2013, 5, 5), 'US/Pacific') **Two** arguments, both ``str``, to parse the first according to the format of the second:: - >>> arrow.get('2013-05-05 12:30:45 America/Chicago', 'YYYY-MM-DD HH:mm:ss ZZZ') - + >>> arrow.get('2013-05-05 12:30:45', 'YYYY-MM-DD HH:mm:ss') + **Two** arguments, first a ``str`` to parse and second a ``list`` of formats to try:: >>> arrow.get('2013-05-05 12:30:45', ['MM/DD/YYYY', 'YYYY-MM-DD HH:mm:ss']) - **Three or more** arguments, as for the direct constructor of an ``Arrow`` object:: + **Three or more** arguments, as for the constructor of a ``datetime``:: >>> arrow.get(2013, 5, 5, 12, 30, 45) - """ + **One** time.struct time:: + >>> arrow.get(gmtime(0)) + + + ''' arg_count = len(args) - locale = kwargs.pop("locale", DEFAULT_LOCALE) - tz = kwargs.get("tzinfo", None) - normalize_whitespace = kwargs.pop("normalize_whitespace", False) + locale = kwargs.get('locale', 'en_us') + tz = kwargs.get('tzinfo', None) - # if kwargs given, send to constructor unless only tzinfo provided - if len(kwargs) > 1: - arg_count = 3 - - # tzinfo kwarg is not provided - if len(kwargs) == 1 and tz is None: - arg_count = 3 - - # () -> now, @ tzinfo or utc + # () -> now, @ utc. if arg_count == 0: - if isinstance(tz, str): - tz = parser.TzinfoParser.parse(tz) - return self.type.now(tzinfo=tz) - - if isinstance(tz, dt_tzinfo): - return self.type.now(tzinfo=tz) - + if isinstance(tz, tzinfo): + return self.type.now(tz) return self.type.utcnow() if arg_count == 1: arg = args[0] - if isinstance(arg, Decimal): - arg = float(arg) - # (None) -> raises an exception + # (None) -> now, @ utc. if arg is None: - raise TypeError("Cannot parse argument of type None.") + return self.type.utcnow() - # try (int, float) -> from timestamp @ tzinfo - elif not isinstance(arg, str) and is_timestamp(arg): - if tz is None: - # set to UTC by default - tz = dateutil_tz.tzutc() - return self.type.fromtimestamp(arg, tzinfo=tz) + # try (int, float, str(int), str(float)) -> utc, from timestamp. + if is_timestamp(arg): + return self.type.utcfromtimestamp(arg) - # (Arrow) -> from the object's datetime @ tzinfo - elif isinstance(arg, Arrow): - return self.type.fromdatetime(arg.datetime, tzinfo=tz) + # (Arrow) -> from the object's datetime. + if isinstance(arg, Arrow): + return self.type.fromdatetime(arg.datetime) - # (datetime) -> from datetime @ tzinfo - elif isinstance(arg, datetime): - return self.type.fromdatetime(arg, tzinfo=tz) + # (datetime) -> from datetime. + if isinstance(arg, datetime): + return self.type.fromdatetime(arg) - # (date) -> from date @ tzinfo - elif isinstance(arg, date): - return self.type.fromdate(arg, tzinfo=tz) + # (date) -> from date. + if isinstance(arg, date): + return self.type.fromdate(arg) - # (tzinfo) -> now @ tzinfo - elif isinstance(arg, dt_tzinfo): - return self.type.now(tzinfo=arg) + # (tzinfo) -> now, @ tzinfo. + elif isinstance(arg, tzinfo): + return self.type.now(arg) - # (str) -> parse @ tzinfo - elif isinstance(arg, str): - dt = parser.DateTimeParser(locale).parse_iso(arg, normalize_whitespace) - return self.type.fromdatetime(dt, tzinfo=tz) + # (str) -> now, @ tzinfo. + elif isstr(arg): + dt = parser.DateTimeParser(locale).parse_iso(arg) + return self.type.fromdatetime(dt) # (struct_time) -> from struct_time elif isinstance(arg, struct_time): return self.type.utcfromtimestamp(calendar.timegm(arg)) - # (iso calendar) -> convert then from date @ tzinfo - elif isinstance(arg, tuple) and len(arg) == 3: - d = iso_to_gregorian(*arg) - return self.type.fromdate(d, tzinfo=tz) - else: - raise TypeError(f"Cannot parse single argument of type {type(arg)!r}.") + raise TypeError('Can\'t parse single argument type of \'{0}\''.format(type(arg))) elif arg_count == 2: + arg_1, arg_2 = args[0], args[1] if isinstance(arg_1, datetime): - # (datetime, tzinfo/str) -> fromdatetime @ tzinfo - if isinstance(arg_2, (dt_tzinfo, str)): - return self.type.fromdatetime(arg_1, tzinfo=arg_2) - else: - raise TypeError( - f"Cannot parse two arguments of types 'datetime', {type(arg_2)!r}." - ) + # (datetime, tzinfo) -> fromdatetime @ tzinfo/string. + if isinstance(arg_2, tzinfo) or isstr(arg_2): + return self.type.fromdatetime(arg_1, arg_2) + else: + raise TypeError('Can\'t parse two arguments of types \'datetime\', \'{0}\''.format( + type(arg_2))) + + # (date, tzinfo/str) -> fromdate @ tzinfo/string. elif isinstance(arg_1, date): - # (date, tzinfo/str) -> fromdate @ tzinfo - if isinstance(arg_2, (dt_tzinfo, str)): + + if isinstance(arg_2, tzinfo) or isstr(arg_2): return self.type.fromdate(arg_1, tzinfo=arg_2) else: - raise TypeError( - f"Cannot parse two arguments of types 'date', {type(arg_2)!r}." - ) + raise TypeError('Can\'t parse two arguments of types \'date\', \'{0}\''.format( + type(arg_2))) - # (str, format) -> parse @ tzinfo - elif isinstance(arg_1, str) and isinstance(arg_2, (str, list)): - dt = parser.DateTimeParser(locale).parse( - args[0], args[1], normalize_whitespace - ) + # (str, format) -> parse. + elif isstr(arg_1) and (isstr(arg_2) or isinstance(arg_2, list)): + dt = parser.DateTimeParser(locale).parse(args[0], args[1]) return self.type.fromdatetime(dt, tzinfo=tz) else: - raise TypeError( - f"Cannot parse two arguments of types {type(arg_1)!r} and {type(arg_2)!r}." - ) + raise TypeError('Can\'t parse two arguments of types \'{0}\', \'{1}\''.format( + type(arg_1), type(arg_2))) - # 3+ args -> datetime-like via constructor + # 3+ args -> datetime-like via constructor. else: return self.type(*args, **kwargs) - def utcnow(self) -> Arrow: - """Returns an :class:`Arrow ` object, representing "now" in UTC time. + def utcnow(self): + '''Returns an :class:`Arrow ` object, representing "now" in UTC time. Usage:: >>> import arrow >>> arrow.utcnow() - """ + ''' return self.type.utcnow() - def now(self, tz: Optional[TZ_EXPR] = None) -> Arrow: - """Returns an :class:`Arrow ` object, representing "now" in the given - timezone. + def now(self, tz=None): + '''Returns an :class:`Arrow ` object, representing "now". - :param tz: (optional) A :ref:`timezone expression `. Defaults to local time. + :param tz: (optional) An expression representing a timezone. Defaults to local time. + + Recognized timezone expressions: + + - A ``tzinfo`` object. + - A ``str`` describing a timezone, similar to 'US/Pacific', or 'Europe/Berlin'. + - A ``str`` in ISO-8601 style, as in '+07:00'. + - A ``str``, one of the following: 'local', 'utc', 'UTC'. Usage:: @@ -335,11 +244,11 @@ class ArrowFactory: >>> arrow.now('local') - """ + ''' if tz is None: tz = dateutil_tz.tzlocal() - elif not isinstance(tz, dt_tzinfo): + elif not isinstance(tz, tzinfo): tz = parser.TzinfoParser.parse(tz) return self.type.now(tz) diff --git a/lib/arrow/formatter.py b/lib/arrow/formatter.py index d45f7153..50fd3a17 100644 --- a/lib/arrow/formatter.py +++ b/lib/arrow/formatter.py @@ -1,148 +1,105 @@ -"""Provides the :class:`Arrow ` class, an improved formatter for datetimes.""" +# -*- coding: utf-8 -*- +from __future__ import absolute_import +import calendar import re -import sys -from datetime import datetime, timedelta -from typing import Optional, Pattern, cast - from dateutil import tz as dateutil_tz - -from arrow import locales -from arrow.constants import DEFAULT_LOCALE - -if sys.version_info < (3, 8): # pragma: no cover - from typing_extensions import Final -else: - from typing import Final # pragma: no cover +from arrow import util, locales -FORMAT_ATOM: Final[str] = "YYYY-MM-DD HH:mm:ssZZ" -FORMAT_COOKIE: Final[str] = "dddd, DD-MMM-YYYY HH:mm:ss ZZZ" -FORMAT_RFC822: Final[str] = "ddd, DD MMM YY HH:mm:ss Z" -FORMAT_RFC850: Final[str] = "dddd, DD-MMM-YY HH:mm:ss ZZZ" -FORMAT_RFC1036: Final[str] = "ddd, DD MMM YY HH:mm:ss Z" -FORMAT_RFC1123: Final[str] = "ddd, DD MMM YYYY HH:mm:ss Z" -FORMAT_RFC2822: Final[str] = "ddd, DD MMM YYYY HH:mm:ss Z" -FORMAT_RFC3339: Final[str] = "YYYY-MM-DD HH:mm:ssZZ" -FORMAT_RSS: Final[str] = "ddd, DD MMM YYYY HH:mm:ss Z" -FORMAT_W3C: Final[str] = "YYYY-MM-DD HH:mm:ssZZ" +class DateTimeFormatter(object): + _FORMAT_RE = re.compile('(YYY?Y?|MM?M?M?|Do|DD?D?D?|d?dd?d?|HH?|hh?|mm?|ss?|SS?S?S?S?S?|ZZ?|a|A|X)') -class DateTimeFormatter: - # This pattern matches characters enclosed in square brackets are matched as - # an atomic group. For more info on atomic groups and how to they are - # emulated in Python's re library, see https://stackoverflow.com/a/13577411/2701578 + def __init__(self, locale='en_us'): - _FORMAT_RE: Final[Pattern[str]] = re.compile( - r"(\[(?:(?=(?P[^]]))(?P=literal))*\]|YYY?Y?|MM?M?M?|Do|DD?D?D?|d?dd?d?|HH?|hh?|mm?|ss?|SS?S?S?S?S?|ZZ?Z?|a|A|X|x|W)" - ) - - locale: locales.Locale - - def __init__(self, locale: str = DEFAULT_LOCALE) -> None: self.locale = locales.get_locale(locale) - def format(cls, dt: datetime, fmt: str) -> str: - # FIXME: _format_token() is nullable - return cls._FORMAT_RE.sub( - lambda m: cast(str, cls._format_token(dt, m.group(0))), fmt - ) + def format(cls, dt, fmt): - def _format_token(self, dt: datetime, token: Optional[str]) -> Optional[str]: - if token and token.startswith("[") and token.endswith("]"): - return token[1:-1] + return cls._FORMAT_RE.sub(lambda m: cls._format_token(dt, m.group(0)), fmt) - if token == "YYYY": + def _format_token(self, dt, token): + + if token == 'YYYY': return self.locale.year_full(dt.year) - if token == "YY": + if token == 'YY': return self.locale.year_abbreviation(dt.year) - if token == "MMMM": + if token == 'MMMM': return self.locale.month_name(dt.month) - if token == "MMM": + if token == 'MMM': return self.locale.month_abbreviation(dt.month) - if token == "MM": - return f"{dt.month:02d}" - if token == "M": - return f"{dt.month}" + if token == 'MM': + return '{0:02d}'.format(dt.month) + if token == 'M': + return str(dt.month) - if token == "DDDD": - return f"{dt.timetuple().tm_yday:03d}" - if token == "DDD": - return f"{dt.timetuple().tm_yday}" - if token == "DD": - return f"{dt.day:02d}" - if token == "D": - return f"{dt.day}" + if token == 'DDDD': + return '{0:03d}'.format(dt.timetuple().tm_yday) + if token == 'DDD': + return str(dt.timetuple().tm_yday) + if token == 'DD': + return '{0:02d}'.format(dt.day) + if token == 'D': + return str(dt.day) - if token == "Do": + if token == 'Do': return self.locale.ordinal_number(dt.day) - if token == "dddd": + if token == 'dddd': return self.locale.day_name(dt.isoweekday()) - if token == "ddd": + if token == 'ddd': return self.locale.day_abbreviation(dt.isoweekday()) - if token == "d": - return f"{dt.isoweekday()}" + if token == 'd': + return str(dt.isoweekday()) - if token == "HH": - return f"{dt.hour:02d}" - if token == "H": - return f"{dt.hour}" - if token == "hh": - return f"{dt.hour if 0 < dt.hour < 13 else abs(dt.hour - 12):02d}" - if token == "h": - return f"{dt.hour if 0 < dt.hour < 13 else abs(dt.hour - 12)}" + if token == 'HH': + return '{0:02d}'.format(dt.hour) + if token == 'H': + return str(dt.hour) + if token == 'hh': + return '{0:02d}'.format(dt.hour if 0 < dt.hour < 13 else abs(dt.hour - 12)) + if token == 'h': + return str(dt.hour if 0 < dt.hour < 13 else abs(dt.hour - 12)) - if token == "mm": - return f"{dt.minute:02d}" - if token == "m": - return f"{dt.minute}" + if token == 'mm': + return '{0:02d}'.format(dt.minute) + if token == 'm': + return str(dt.minute) - if token == "ss": - return f"{dt.second:02d}" - if token == "s": - return f"{dt.second}" + if token == 'ss': + return '{0:02d}'.format(dt.second) + if token == 's': + return str(dt.second) - if token == "SSSSSS": - return f"{dt.microsecond:06d}" - if token == "SSSSS": - return f"{dt.microsecond // 10:05d}" - if token == "SSSS": - return f"{dt.microsecond // 100:04d}" - if token == "SSS": - return f"{dt.microsecond // 1000:03d}" - if token == "SS": - return f"{dt.microsecond // 10000:02d}" - if token == "S": - return f"{dt.microsecond // 100000}" + if token == 'SSSSSS': + return str('{0:06d}'.format(int(dt.microsecond))) + if token == 'SSSSS': + return str('{0:05d}'.format(int(dt.microsecond / 10))) + if token == 'SSSS': + return str('{0:04d}'.format(int(dt.microsecond / 100))) + if token == 'SSS': + return str('{0:03d}'.format(int(dt.microsecond / 1000))) + if token == 'SS': + return str('{0:02d}'.format(int(dt.microsecond / 10000))) + if token == 'S': + return str(int(dt.microsecond / 100000)) - if token == "X": - return f"{dt.timestamp()}" + if token == 'X': + return str(calendar.timegm(dt.utctimetuple())) - if token == "x": - return f"{dt.timestamp() * 1_000_000:.0f}" - - if token == "ZZZ": - return dt.tzname() - - if token in ["ZZ", "Z"]: - separator = ":" if token == "ZZ" else "" + if token in ['ZZ', 'Z']: + separator = ':' if token == 'ZZ' else '' tz = dateutil_tz.tzutc() if dt.tzinfo is None else dt.tzinfo - # `dt` must be aware object. Otherwise, this line will raise AttributeError - # https://github.com/arrow-py/arrow/pull/883#discussion_r529866834 - # datetime awareness: https://docs.python.org/3/library/datetime.html#aware-and-naive-objects - total_minutes = int(cast(timedelta, tz.utcoffset(dt)).total_seconds() / 60) + total_minutes = int(util.total_seconds(tz.utcoffset(dt)) / 60) - sign = "+" if total_minutes >= 0 else "-" + sign = '+' if total_minutes >= 0 else '-' total_minutes = abs(total_minutes) hour, minute = divmod(total_minutes, 60) - return f"{sign}{hour:02d}{separator}{minute:02d}" + return '{0}{1:02d}{2}{3:02d}'.format(sign, hour, separator, minute) - if token in ("a", "A"): + if token in ('a', 'A'): return self.locale.meridian(dt.hour, token) - if token == "W": - year, week, day = dt.isocalendar() - return f"{year}-W{week:02d}-{day}" diff --git a/lib/arrow/locales.py b/lib/arrow/locales.py index 34b2a098..7cf7f4c3 100644 --- a/lib/arrow/locales.py +++ b/lib/arrow/locales.py @@ -1,290 +1,180 @@ -"""Provides internationalization for arrow in over 60 languages and dialects.""" +# -*- coding: utf-8 -*- +from __future__ import absolute_import +from __future__ import unicode_literals +import inspect import sys -from math import trunc -from typing import ( - Any, - ClassVar, - Dict, - List, - Mapping, - Optional, - Sequence, - Tuple, - Type, - Union, - cast, -) - -if sys.version_info < (3, 8): # pragma: no cover - from typing_extensions import Literal -else: - from typing import Literal # pragma: no cover - -TimeFrameLiteral = Literal[ - "now", - "second", - "seconds", - "minute", - "minutes", - "hour", - "hours", - "day", - "days", - "week", - "weeks", - "month", - "months", - "quarter", - "quarters", - "year", - "years", -] - -_TimeFrameElements = Union[ - str, Sequence[str], Mapping[str, str], Mapping[str, Sequence[str]] -] - -_locale_map: Dict[str, Type["Locale"]] = {} -def get_locale(name: str) -> "Locale": - """Returns an appropriate :class:`Locale ` - corresponding to an input locale name. +def get_locale(name): + '''Returns an appropriate :class:`Locale ` + corresponding to an inpute locale name. :param name: the name of the locale. - """ + ''' - normalized_locale_name = name.lower().replace("_", "-") - locale_cls = _locale_map.get(normalized_locale_name) + locale_cls = _locales.get(name.lower()) if locale_cls is None: - raise ValueError(f"Unsupported locale {normalized_locale_name!r}.") + raise ValueError('Unsupported locale \'{0}\''.format(name)) return locale_cls() -def get_locale_by_class_name(name: str) -> "Locale": - """Returns an appropriate :class:`Locale ` - corresponding to an locale class name. +# base locale type. - :param name: the name of the locale class. +class Locale(object): + ''' Represents locale-specific data and functionality. ''' - """ - locale_cls: Optional[Type[Locale]] = globals().get(name) + names = [] - if locale_cls is None: - raise ValueError(f"Unsupported locale {name!r}.") - - return locale_cls() - - -class Locale: - """Represents locale-specific data and functionality.""" - - names: ClassVar[List[str]] = [] - - timeframes: ClassVar[Mapping[TimeFrameLiteral, _TimeFrameElements]] = { - "now": "", - "second": "", - "seconds": "", - "minute": "", - "minutes": "", - "hour": "", - "hours": "", - "day": "", - "days": "", - "week": "", - "weeks": "", - "month": "", - "months": "", - "quarter": "", - "quarters": "", - "year": "", - "years": "", + timeframes = { + 'now': '', + 'seconds': '', + 'minute': '', + 'minutes': '', + 'hour': '', + 'hours': '', + 'day': '', + 'days': '', + 'month': '', + 'months': '', + 'year': '', + 'years': '', } - meridians: ClassVar[Dict[str, str]] = {"am": "", "pm": "", "AM": "", "PM": ""} + meridians = { + 'am': '', + 'pm': '', + 'AM': '', + 'PM': '', + } - past: ClassVar[str] - future: ClassVar[str] - and_word: ClassVar[Optional[str]] = None + past = None + future = None - month_names: ClassVar[List[str]] = [] - month_abbreviations: ClassVar[List[str]] = [] + month_names = [] + month_abbreviations = [] - day_names: ClassVar[List[str]] = [] - day_abbreviations: ClassVar[List[str]] = [] + day_names = [] + day_abbreviations = [] - ordinal_day_re: ClassVar[str] = r"(\d+)" + ordinal_day_re = r'(\d+)' - _month_name_to_ordinal: Optional[Dict[str, int]] + def __init__(self): - def __init_subclass__(cls, **kwargs: Any) -> None: - for locale_name in cls.names: - if locale_name in _locale_map: - raise LookupError(f"Duplicated locale name: {locale_name}") - - _locale_map[locale_name.lower().replace("_", "-")] = cls - - def __init__(self) -> None: self._month_name_to_ordinal = None - def describe( - self, - timeframe: TimeFrameLiteral, - delta: Union[float, int] = 0, - only_distance: bool = False, - ) -> str: - """Describes a delta within a timeframe in plain language. + def describe(self, timeframe, delta=0, only_distance=False): + ''' Describes a delta within a timeframe in plain language. :param timeframe: a string representing a timeframe. :param delta: a quantity representing a delta in a timeframe. :param only_distance: return only distance eg: "11 seconds" without "in" or "ago" keywords - """ + ''' - humanized = self._format_timeframe(timeframe, trunc(delta)) + humanized = self._format_timeframe(timeframe, delta) if not only_distance: humanized = self._format_relative(humanized, timeframe, delta) return humanized - def describe_multi( - self, - timeframes: Sequence[Tuple[TimeFrameLiteral, Union[int, float]]], - only_distance: bool = False, - ) -> str: - """Describes a delta within multiple timeframes in plain language. - - :param timeframes: a list of string, quantity pairs each representing a timeframe and delta. - :param only_distance: return only distance eg: "2 hours and 11 seconds" without "in" or "ago" keywords - """ - - parts = [ - self._format_timeframe(timeframe, trunc(delta)) - for timeframe, delta in timeframes - ] - if self.and_word: - parts.insert(-1, self.and_word) - humanized = " ".join(parts) - - if not only_distance: - # Needed to determine the correct relative string to use - timeframe_value = 0 - - for _, unit_value in timeframes: - if trunc(unit_value) != 0: - timeframe_value = trunc(unit_value) - break - - # Note it doesn't matter the timeframe unit we use on the call, only the value - humanized = self._format_relative(humanized, "seconds", timeframe_value) - - return humanized - - def day_name(self, day: int) -> str: - """Returns the day name for a specified day of the week. + def day_name(self, day): + ''' Returns the day name for a specified day of the week. :param day: the ``int`` day of the week (1-7). - """ + ''' return self.day_names[day] - def day_abbreviation(self, day: int) -> str: - """Returns the day abbreviation for a specified day of the week. + def day_abbreviation(self, day): + ''' Returns the day abbreviation for a specified day of the week. :param day: the ``int`` day of the week (1-7). - """ + ''' return self.day_abbreviations[day] - def month_name(self, month: int) -> str: - """Returns the month name for a specified month of the year. + def month_name(self, month): + ''' Returns the month name for a specified month of the year. :param month: the ``int`` month of the year (1-12). - """ + ''' return self.month_names[month] - def month_abbreviation(self, month: int) -> str: - """Returns the month abbreviation for a specified month of the year. + def month_abbreviation(self, month): + ''' Returns the month abbreviation for a specified month of the year. :param month: the ``int`` month of the year (1-12). - """ + ''' return self.month_abbreviations[month] - def month_number(self, name: str) -> Optional[int]: - """Returns the month number for a month specified by name or abbreviation. + def month_number(self, name): + ''' Returns the month number for a month specified by name or abbreviation. :param name: the month name or abbreviation. - """ + ''' if self._month_name_to_ordinal is None: self._month_name_to_ordinal = self._name_to_ordinal(self.month_names) - self._month_name_to_ordinal.update( - self._name_to_ordinal(self.month_abbreviations) - ) + self._month_name_to_ordinal.update(self._name_to_ordinal(self.month_abbreviations)) return self._month_name_to_ordinal.get(name) - def year_full(self, year: int) -> str: - """Returns the year for specific locale if available + def year_full(self, year): + ''' Returns the year for specific locale if available - :param year: the ``int`` year (4-digit) - """ - return f"{year:04d}" + :param name: the ``int`` year (4-digit) + ''' + return '{0:04d}'.format(year) - def year_abbreviation(self, year: int) -> str: - """Returns the year for specific locale if available + def year_abbreviation(self, year): + ''' Returns the year for specific locale if available - :param year: the ``int`` year (4-digit) - """ - return f"{year:04d}"[2:] + :param name: the ``int`` year (4-digit) + ''' + return '{0:04d}'.format(year)[2:] - def meridian(self, hour: int, token: Any) -> Optional[str]: - """Returns the meridian indicator for a specified hour and format token. + def meridian(self, hour, token): + ''' Returns the meridian indicator for a specified hour and format token. :param hour: the ``int`` hour of the day. :param token: the format token. - """ + ''' - if token == "a": - return self.meridians["am"] if hour < 12 else self.meridians["pm"] - if token == "A": - return self.meridians["AM"] if hour < 12 else self.meridians["PM"] - return None + if token == 'a': + return self.meridians['am'] if hour < 12 else self.meridians['pm'] + if token == 'A': + return self.meridians['AM'] if hour < 12 else self.meridians['PM'] - def ordinal_number(self, n: int) -> str: - """Returns the ordinal format of a given integer + def ordinal_number(self, n): + ''' Returns the ordinal format of a given integer :param n: an integer - """ + ''' return self._ordinal_number(n) - def _ordinal_number(self, n: int) -> str: - return f"{n}" + def _ordinal_number(self, n): + return '{0}'.format(n) - def _name_to_ordinal(self, lst: Sequence[str]) -> Dict[str, int]: - return {elem.lower(): i for i, elem in enumerate(lst[1:], 1)} + def _name_to_ordinal(self, lst): + return dict(map(lambda i: (i[1].lower(), i[0] + 1), enumerate(lst[1:]))) - def _format_timeframe(self, timeframe: TimeFrameLiteral, delta: int) -> str: - # TODO: remove cast - return cast(str, self.timeframes[timeframe]).format(trunc(abs(delta))) + def _format_timeframe(self, timeframe, delta): - def _format_relative( - self, - humanized: str, - timeframe: TimeFrameLiteral, - delta: Union[float, int], - ) -> str: - if timeframe == "now": + return self.timeframes[timeframe].format(abs(delta)) + + def _format_relative(self, humanized, timeframe, delta): + + if timeframe == 'now': return humanized direction = self.past if delta < 0 else self.future @@ -292,6194 +182,1830 @@ class Locale: return direction.format(humanized) -class EnglishLocale(Locale): - names = [ - "en", - "en-us", - "en-gb", - "en-au", - "en-be", - "en-jp", - "en-za", - "en-ca", - "en-ph", - ] +# base locale type implementations. - past = "{0} ago" - future = "in {0}" - and_word = "and" +class EnglishLocale(Locale): + + names = ['en', 'en_us', 'en_gb', 'en_au', 'en_be', 'en_jp', 'en_za', 'en_ca'] + + past = '{0} ago' + future = 'in {0}' timeframes = { - "now": "just now", - "second": "a second", - "seconds": "{0} seconds", - "minute": "a minute", - "minutes": "{0} minutes", - "hour": "an hour", - "hours": "{0} hours", - "day": "a day", - "days": "{0} days", - "week": "a week", - "weeks": "{0} weeks", - "month": "a month", - "months": "{0} months", - "quarter": "a quarter", - "quarters": "{0} quarters", - "year": "a year", - "years": "{0} years", + 'now': 'just now', + 'seconds': 'seconds', + 'minute': 'a minute', + 'minutes': '{0} minutes', + 'hour': 'an hour', + 'hours': '{0} hours', + 'day': 'a day', + 'days': '{0} days', + 'month': 'a month', + 'months': '{0} months', + 'year': 'a year', + 'years': '{0} years', } - meridians = {"am": "am", "pm": "pm", "AM": "AM", "PM": "PM"} + meridians = { + 'am': 'am', + 'pm': 'pm', + 'AM': 'AM', + 'PM': 'PM', + } - month_names = [ - "", - "January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December", - ] - month_abbreviations = [ - "", - "Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec", - ] + month_names = ['', 'January', 'February', 'March', 'April', 'May', 'June', 'July', + 'August', 'September', 'October', 'November', 'December'] + month_abbreviations = ['', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', + 'Sep', 'Oct', 'Nov', 'Dec'] - day_names = [ - "", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - "Sunday", - ] - day_abbreviations = ["", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"] + day_names = ['', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] + day_abbreviations = ['', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] - ordinal_day_re = r"((?P[2-3]?1(?=st)|[2-3]?2(?=nd)|[2-3]?3(?=rd)|[1-3]?[04-9](?=th)|1[1-3](?=th))(st|nd|rd|th))" + ordinal_day_re = r'((?P[2-3]?1(?=st)|[2-3]?2(?=nd)|[2-3]?3(?=rd)|[1-3]?[04-9](?=th)|1[1-3](?=th))(st|nd|rd|th))' - def _ordinal_number(self, n: int) -> str: + def _ordinal_number(self, n): if n % 100 not in (11, 12, 13): remainder = abs(n) % 10 if remainder == 1: - return f"{n}st" + return '{0}st'.format(n) elif remainder == 2: - return f"{n}nd" + return '{0}nd'.format(n) elif remainder == 3: - return f"{n}rd" - return f"{n}th" - - def describe( - self, - timeframe: TimeFrameLiteral, - delta: Union[int, float] = 0, - only_distance: bool = False, - ) -> str: - """Describes a delta within a timeframe in plain language. - - :param timeframe: a string representing a timeframe. - :param delta: a quantity representing a delta in a timeframe. - :param only_distance: return only distance eg: "11 seconds" without "in" or "ago" keywords - """ - - humanized = super().describe(timeframe, delta, only_distance) - if only_distance and timeframe == "now": - humanized = "instantly" - - return humanized + return '{0}rd'.format(n) + return '{0}th'.format(n) class ItalianLocale(Locale): - names = ["it", "it-it"] - past = "{0} fa" - future = "tra {0}" - and_word = "e" + names = ['it', 'it_it'] + past = '{0} fa' + future = 'tra {0}' timeframes = { - "now": "adesso", - "second": "un secondo", - "seconds": "{0} qualche secondo", - "minute": "un minuto", - "minutes": "{0} minuti", - "hour": "un'ora", - "hours": "{0} ore", - "day": "un giorno", - "days": "{0} giorni", - "week": "una settimana", - "weeks": "{0} settimane", - "month": "un mese", - "months": "{0} mesi", - "year": "un anno", - "years": "{0} anni", + 'now': 'adesso', + 'seconds': 'qualche secondo', + 'minute': 'un minuto', + 'minutes': '{0} minuti', + 'hour': 'un\'ora', + 'hours': '{0} ore', + 'day': 'un giorno', + 'days': '{0} giorni', + 'month': 'un mese', + 'months': '{0} mesi', + 'year': 'un anno', + 'years': '{0} anni', } - month_names = [ - "", - "gennaio", - "febbraio", - "marzo", - "aprile", - "maggio", - "giugno", - "luglio", - "agosto", - "settembre", - "ottobre", - "novembre", - "dicembre", - ] - month_abbreviations = [ - "", - "gen", - "feb", - "mar", - "apr", - "mag", - "giu", - "lug", - "ago", - "set", - "ott", - "nov", - "dic", - ] + month_names = ['', 'gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno', 'luglio', + 'agosto', 'settembre', 'ottobre', 'novembre', 'dicembre'] + month_abbreviations = ['', 'gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', 'ago', + 'set', 'ott', 'nov', 'dic'] - day_names = [ - "", - "lunedì", - "martedì", - "mercoledì", - "giovedì", - "venerdì", - "sabato", - "domenica", - ] - day_abbreviations = ["", "lun", "mar", "mer", "gio", "ven", "sab", "dom"] + day_names = ['', 'lunedì', 'martedì', 'mercoledì', 'giovedì', 'venerdì', 'sabato', 'domenica'] + day_abbreviations = ['', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab', 'dom'] - ordinal_day_re = r"((?P[1-3]?[0-9](?=[ºª]))[ºª])" + ordinal_day_re = r'((?P[1-3]?[0-9](?=[ºª]))[ºª])' - def _ordinal_number(self, n: int) -> str: - return f"{n}º" + def _ordinal_number(self, n): + return '{0}º'.format(n) class SpanishLocale(Locale): - names = ["es", "es-es"] - past = "hace {0}" - future = "en {0}" - and_word = "y" + names = ['es', 'es_es'] + past = 'hace {0}' + future = 'en {0}' timeframes = { - "now": "ahora", - "second": "un segundo", - "seconds": "{0} segundos", - "minute": "un minuto", - "minutes": "{0} minutos", - "hour": "una hora", - "hours": "{0} horas", - "day": "un día", - "days": "{0} días", - "week": "una semana", - "weeks": "{0} semanas", - "month": "un mes", - "months": "{0} meses", - "year": "un año", - "years": "{0} años", + 'now': 'ahora', + 'seconds': 'segundos', + 'minute': 'un minuto', + 'minutes': '{0} minutos', + 'hour': 'una hora', + 'hours': '{0} horas', + 'day': 'un día', + 'days': '{0} días', + 'month': 'un mes', + 'months': '{0} meses', + 'year': 'un año', + 'years': '{0} años', } - meridians = {"am": "am", "pm": "pm", "AM": "AM", "PM": "PM"} + month_names = ['', 'enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', + 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'] + month_abbreviations = ['', 'ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', + 'sep', 'oct', 'nov', 'dic'] - month_names = [ - "", - "enero", - "febrero", - "marzo", - "abril", - "mayo", - "junio", - "julio", - "agosto", - "septiembre", - "octubre", - "noviembre", - "diciembre", - ] - month_abbreviations = [ - "", - "ene", - "feb", - "mar", - "abr", - "may", - "jun", - "jul", - "ago", - "sep", - "oct", - "nov", - "dic", - ] + day_names = ['', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado', 'domingo'] + day_abbreviations = ['', 'lun', 'mar', 'mie', 'jue', 'vie', 'sab', 'dom'] - day_names = [ - "", - "lunes", - "martes", - "miércoles", - "jueves", - "viernes", - "sábado", - "domingo", - ] - day_abbreviations = ["", "lun", "mar", "mie", "jue", "vie", "sab", "dom"] + ordinal_day_re = r'((?P[1-3]?[0-9](?=[ºª]))[ºª])' - ordinal_day_re = r"((?P[1-3]?[0-9](?=[ºª]))[ºª])" - - def _ordinal_number(self, n: int) -> str: - return f"{n}º" + def _ordinal_number(self, n): + return '{0}º'.format(n) -class FrenchBaseLocale(Locale): - past = "il y a {0}" - future = "dans {0}" - and_word = "et" +class FrenchLocale(Locale): + names = ['fr', 'fr_fr'] + past = 'il y a {0}' + future = 'dans {0}' timeframes = { - "now": "maintenant", - "second": "une seconde", - "seconds": "{0} secondes", - "minute": "une minute", - "minutes": "{0} minutes", - "hour": "une heure", - "hours": "{0} heures", - "day": "un jour", - "days": "{0} jours", - "week": "une semaine", - "weeks": "{0} semaines", - "month": "un mois", - "months": "{0} mois", - "year": "un an", - "years": "{0} ans", + 'now': 'maintenant', + 'seconds': 'quelques secondes', + 'minute': 'une minute', + 'minutes': '{0} minutes', + 'hour': 'une heure', + 'hours': '{0} heures', + 'day': 'un jour', + 'days': '{0} jours', + 'month': 'un mois', + 'months': '{0} mois', + 'year': 'un an', + 'years': '{0} ans', } - month_names = [ - "", - "janvier", - "février", - "mars", - "avril", - "mai", - "juin", - "juillet", - "août", - "septembre", - "octobre", - "novembre", - "décembre", - ] + month_names = ['', 'janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', + 'août', 'septembre', 'octobre', 'novembre', 'décembre'] + month_abbreviations = ['', 'janv', 'févr', 'mars', 'avr', 'mai', 'juin', 'juil', 'août', + 'sept', 'oct', 'nov', 'déc'] - day_names = [ - "", - "lundi", - "mardi", - "mercredi", - "jeudi", - "vendredi", - "samedi", - "dimanche", - ] - day_abbreviations = ["", "lun", "mar", "mer", "jeu", "ven", "sam", "dim"] + day_names = ['', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi', 'dimanche'] + day_abbreviations = ['', 'lun', 'mar', 'mer', 'jeu', 'ven', 'sam', 'dim'] - ordinal_day_re = ( - r"((?P\b1(?=er\b)|[1-3]?[02-9](?=e\b)|[1-3]1(?=e\b))(er|e)\b)" - ) + ordinal_day_re = r'((?P\b1(?=er\b)|[1-3]?[02-9](?=e\b)|[1-3]1(?=e\b))(er|e)\b)' - def _ordinal_number(self, n: int) -> str: + def _ordinal_number(self, n): if abs(n) == 1: - return f"{n}er" - return f"{n}e" - - -class FrenchLocale(FrenchBaseLocale, Locale): - names = ["fr", "fr-fr"] - - month_abbreviations = [ - "", - "janv", - "févr", - "mars", - "avr", - "mai", - "juin", - "juil", - "août", - "sept", - "oct", - "nov", - "déc", - ] - - -class FrenchCanadianLocale(FrenchBaseLocale, Locale): - names = ["fr-ca"] - - month_abbreviations = [ - "", - "janv", - "févr", - "mars", - "avr", - "mai", - "juin", - "juill", - "août", - "sept", - "oct", - "nov", - "déc", - ] + return '{0}er'.format(n) + return '{0}e'.format(n) class GreekLocale(Locale): - names = ["el", "el-gr"] - past = "{0} Ï€Ïιν" - future = "σε {0}" - and_word = "και" + names = ['el', 'el_gr'] + + past = '{0} Ï€Ïιν' + future = 'σε {0}' timeframes = { - "now": "τώÏα", - "second": "ένα δεÏτεÏο", - "seconds": "{0} δευτεÏόλεπτα", - "minute": "ένα λεπτό", - "minutes": "{0} λεπτά", - "hour": "μία ÏŽÏα", - "hours": "{0} ÏŽÏες", - "day": "μία μέÏα", - "days": "{0} μέÏες", - "week": "μία εβδομάδα", - "weeks": "{0} εβδομάδες", - "month": "ένα μήνα", - "months": "{0} μήνες", - "year": "ένα χÏόνο", - "years": "{0} χÏόνια", + 'now': 'τώÏα', + 'seconds': 'δευτεÏόλεπτα', + 'minute': 'ένα λεπτό', + 'minutes': '{0} λεπτά', + 'hour': 'μια ÏŽÏα', + 'hours': '{0} ÏŽÏες', + 'day': 'μια μέÏα', + 'days': '{0} μέÏες', + 'month': 'ένα μήνα', + 'months': '{0} μήνες', + 'year': 'ένα χÏόνο', + 'years': '{0} χÏόνια', } - month_names = [ - "", - "ΙανουαÏίου", - "ΦεβÏουαÏίου", - "ΜαÏτίου", - "ΑπÏιλίου", - "ΜαÎου", - "Ιουνίου", - "Ιουλίου", - "ΑυγοÏστου", - "ΣεπτεμβÏίου", - "ΟκτωβÏίου", - "ÎοεμβÏίου", - "ΔεκεμβÏίου", - ] - month_abbreviations = [ - "", - "Ιαν", - "Φεβ", - "ΜαÏ", - "ΑπÏ", - "Μαϊ", - "Ιον", - "Ιολ", - "Αυγ", - "Σεπ", - "Οκτ", - "Îοε", - "Δεκ", - ] + month_names = ['', 'ΙανουαÏίου', 'ΦεβÏουαÏίου', 'ΜαÏτίου', 'ΑπÏιλίου', 'ΜαÎου', 'Ιουνίου', + 'Ιουλίου', 'ΑυγοÏστου', 'ΣεπτεμβÏίου', 'ΟκτωβÏίου', 'ÎοεμβÏίου', 'ΔεκεμβÏίου'] + month_abbreviations = ['', 'Ιαν', 'Φεβ', 'ΜαÏ', 'ΑπÏ', 'Μαϊ', 'Ιον', 'Ιολ', 'Αυγ', + 'Σεπ', 'Οκτ', 'Îοε', 'Δεκ'] - day_names = [ - "", - "ΔευτέÏα", - "ΤÏίτη", - "ΤετάÏτη", - "Πέμπτη", - "ΠαÏασκευή", - "Σάββατο", - "ΚυÏιακή", - ] - day_abbreviations = ["", "Δευ", "ΤÏι", "Τετ", "Πεμ", "ΠαÏ", "Σαβ", "ΚυÏ"] + day_names = ['', 'ΔευτέÏα', 'ΤÏίτη', 'ΤετάÏτη', 'Πέμπτη', 'ΠαÏασκευή', 'Σάββατο', 'ΚυÏιακή'] + day_abbreviations = ['', 'Δευ', 'ΤÏι', 'Τετ', 'Πεμ', 'ΠαÏ', 'Σαβ', 'ΚυÏ'] class JapaneseLocale(Locale): - names = ["ja", "ja-jp"] - past = "{0}å‰" - future = "{0}後" - and_word = "" + names = ['ja', 'ja_jp'] + + past = '{0}å‰' + future = '{0}後' timeframes = { - "now": "ç¾åœ¨", - "second": "1ç§’", - "seconds": "{0}ç§’", - "minute": "1分", - "minutes": "{0}分", - "hour": "1時間", - "hours": "{0}時間", - "day": "1æ—¥", - "days": "{0}æ—¥", - "week": "1週間", - "weeks": "{0}週間", - "month": "1ヶ月", - "months": "{0}ヶ月", - "year": "1å¹´", - "years": "{0}å¹´", + 'now': 'ç¾åœ¨', + 'seconds': 'æ•°ç§’', + 'minute': '1分', + 'minutes': '{0}分', + 'hour': '1時間', + 'hours': '{0}時間', + 'day': '1æ—¥', + 'days': '{0}æ—¥', + 'month': '1ヶ月', + 'months': '{0}ヶ月', + 'year': '1å¹´', + 'years': '{0}å¹´', } - month_names = [ - "", - "1月", - "2月", - "3月", - "4月", - "5月", - "6月", - "7月", - "8月", - "9月", - "10月", - "11月", - "12月", - ] - month_abbreviations = [ - "", - " 1", - " 2", - " 3", - " 4", - " 5", - " 6", - " 7", - " 8", - " 9", - "10", - "11", - "12", - ] + month_names = ['', '1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', + '9月', '10月', '11月', '12月'] + month_abbreviations = ['', ' 1', ' 2', ' 3', ' 4', ' 5', ' 6', ' 7', ' 8', + ' 9', '10', '11', '12'] - day_names = ["", "月曜日", "ç«æ›œæ—¥", "水曜日", "木曜日", "金曜日", "土曜日", "日曜日"] - day_abbreviations = ["", "月", "ç«", "æ°´", "木", "金", "土", "æ—¥"] + day_names = ['', '月曜日', 'ç«æ›œæ—¥', '水曜日', '木曜日', '金曜日', '土曜日', '日曜日'] + day_abbreviations = ['', '月', 'ç«', 'æ°´', '木', '金', '土', 'æ—¥'] class SwedishLocale(Locale): - names = ["sv", "sv-se"] - past = "för {0} sen" - future = "om {0}" - and_word = "och" + names = ['sv', 'sv_se'] + + past = 'för {0} sen' + future = 'om {0}' timeframes = { - "now": "just nu", - "second": "en sekund", - "seconds": "{0} sekunder", - "minute": "en minut", - "minutes": "{0} minuter", - "hour": "en timme", - "hours": "{0} timmar", - "day": "en dag", - "days": "{0} dagar", - "week": "en vecka", - "weeks": "{0} veckor", - "month": "en mÃ¥nad", - "months": "{0} mÃ¥nader", - "year": "ett Ã¥r", - "years": "{0} Ã¥r", + 'now': 'just nu', + 'seconds': 'nÃ¥gra sekunder', + 'minute': 'en minut', + 'minutes': '{0} minuter', + 'hour': 'en timme', + 'hours': '{0} timmar', + 'day': 'en dag', + 'days': '{0} dagar', + 'month': 'en mÃ¥nad', + 'months': '{0} mÃ¥nader', + 'year': 'ett Ã¥r', + 'years': '{0} Ã¥r', } - month_names = [ - "", - "januari", - "februari", - "mars", - "april", - "maj", - "juni", - "juli", - "augusti", - "september", - "oktober", - "november", - "december", - ] - month_abbreviations = [ - "", - "jan", - "feb", - "mar", - "apr", - "maj", - "jun", - "jul", - "aug", - "sep", - "okt", - "nov", - "dec", - ] + month_names = ['', 'januari', 'februari', 'mars', 'april', 'maj', 'juni', 'juli', + 'augusti', 'september', 'oktober', 'november', 'december'] + month_abbreviations = ['', 'jan', 'feb', 'mar', 'apr', 'maj', 'jun', 'jul', + 'aug', 'sep', 'okt', 'nov', 'dec'] - day_names = [ - "", - "mÃ¥ndag", - "tisdag", - "onsdag", - "torsdag", - "fredag", - "lördag", - "söndag", - ] - day_abbreviations = ["", "mÃ¥n", "tis", "ons", "tor", "fre", "lör", "sön"] + day_names = ['', 'mÃ¥ndag', 'tisdag', 'onsdag', 'torsdag', 'fredag', 'lördag', 'söndag'] + day_abbreviations = ['', 'mÃ¥n', 'tis', 'ons', 'tor', 'fre', 'lör', 'sön'] class FinnishLocale(Locale): - names = ["fi", "fi-fi"] + + names = ['fi', 'fi_fi'] # The finnish grammar is very complex, and its hard to convert # 1-to-1 to something like English. - past = "{0} sitten" - future = "{0} kuluttua" + past = '{0} sitten' + future = '{0} kuluttua' - timeframes: ClassVar[Mapping[TimeFrameLiteral, Union[str, Mapping[str, str]]]] = { - "now": "juuri nyt", - "second": {"past": "sekunti", "future": "sekunnin"}, - "seconds": {"past": "{0} sekuntia", "future": "{0} sekunnin"}, - "minute": {"past": "minuutti", "future": "minuutin"}, - "minutes": {"past": "{0} minuuttia", "future": "{0} minuutin"}, - "hour": {"past": "tunti", "future": "tunnin"}, - "hours": {"past": "{0} tuntia", "future": "{0} tunnin"}, - "day": {"past": "päivä", "future": "päivän"}, - "days": {"past": "{0} päivää", "future": "{0} päivän"}, - "week": {"past": "viikko", "future": "viikon"}, - "weeks": {"past": "{0} viikkoa", "future": "{0} viikon"}, - "month": {"past": "kuukausi", "future": "kuukauden"}, - "months": {"past": "{0} kuukautta", "future": "{0} kuukauden"}, - "year": {"past": "vuosi", "future": "vuoden"}, - "years": {"past": "{0} vuotta", "future": "{0} vuoden"}, + timeframes = { + 'now': ['juuri nyt', 'juuri nyt'], + 'seconds': ['muutama sekunti', 'muutaman sekunnin'], + 'minute': ['minuutti', 'minuutin'], + 'minutes': ['{0} minuuttia', '{0} minuutin'], + 'hour': ['tunti', 'tunnin'], + 'hours': ['{0} tuntia', '{0} tunnin'], + 'day': ['päivä', 'päivä'], + 'days': ['{0} päivää', '{0} päivän'], + 'month': ['kuukausi', 'kuukauden'], + 'months': ['{0} kuukautta', '{0} kuukauden'], + 'year': ['vuosi', 'vuoden'], + 'years': ['{0} vuotta', '{0} vuoden'], } # Months and days are lowercase in Finnish - month_names = [ - "", - "tammikuu", - "helmikuu", - "maaliskuu", - "huhtikuu", - "toukokuu", - "kesäkuu", - "heinäkuu", - "elokuu", - "syyskuu", - "lokakuu", - "marraskuu", - "joulukuu", - ] + month_names = ['', 'tammikuu', 'helmikuu', 'maaliskuu', 'huhtikuu', + 'toukokuu', 'kesäkuu', 'heinäkuu', 'elokuu', + 'syyskuu', 'lokakuu', 'marraskuu', 'joulukuu'] - month_abbreviations = [ - "", - "tammi", - "helmi", - "maalis", - "huhti", - "touko", - "kesä", - "heinä", - "elo", - "syys", - "loka", - "marras", - "joulu", - ] + month_abbreviations = ['', 'tammi', 'helmi', 'maalis', 'huhti', + 'touko', 'kesä', 'heinä', 'elo', + 'syys', 'loka', 'marras', 'joulu'] - day_names = [ - "", - "maanantai", - "tiistai", - "keskiviikko", - "torstai", - "perjantai", - "lauantai", - "sunnuntai", - ] + day_names = ['', 'maanantai', 'tiistai', 'keskiviikko', 'torstai', + 'perjantai', 'lauantai', 'sunnuntai'] - day_abbreviations = ["", "ma", "ti", "ke", "to", "pe", "la", "su"] + day_abbreviations = ['', 'ma', 'ti', 'ke', 'to', 'pe', 'la', 'su'] - def _format_timeframe(self, timeframe: TimeFrameLiteral, delta: int) -> str: - form = self.timeframes[timeframe] + def _format_timeframe(self, timeframe, delta): + return (self.timeframes[timeframe][0].format(abs(delta)), + self.timeframes[timeframe][1].format(abs(delta))) - if isinstance(form, Mapping): - if delta < 0: - form = form["past"] - else: - form = form["future"] + def _format_relative(self, humanized, timeframe, delta): + if timeframe == 'now': + return humanized[0] - return form.format(abs(delta)) + direction = self.past if delta < 0 else self.future + which = 0 if delta < 0 else 1 - def _ordinal_number(self, n: int) -> str: - return f"{n}." + return direction.format(humanized[which]) + + def _ordinal_number(self, n): + return '{0}.'.format(n) class ChineseCNLocale(Locale): - names = ["zh", "zh-cn"] - past = "{0}å‰" - future = "{0}åŽ" + names = ['zh', 'zh_cn'] + + past = '{0}å‰' + future = '{0}åŽ' timeframes = { - "now": "刚æ‰", - "second": "1ç§’", - "seconds": "{0}ç§’", - "minute": "1分钟", - "minutes": "{0}分钟", - "hour": "1å°æ—¶", - "hours": "{0}å°æ—¶", - "day": "1天", - "days": "{0}天", - "week": "1周", - "weeks": "{0}周", - "month": "1个月", - "months": "{0}个月", - "year": "1å¹´", - "years": "{0}å¹´", + 'now': '刚æ‰', + 'seconds': '几秒', + 'minute': '1分钟', + 'minutes': '{0}分钟', + 'hour': '1å°æ—¶', + 'hours': '{0}å°æ—¶', + 'day': '1天', + 'days': '{0}天', + 'month': '1个月', + 'months': '{0}个月', + 'year': '1å¹´', + 'years': '{0}å¹´', } - month_names = [ - "", - "一月", - "二月", - "三月", - "四月", - "五月", - "六月", - "七月", - "八月", - "乿œˆ", - "åæœˆ", - "å一月", - "å二月", - ] - month_abbreviations = [ - "", - " 1", - " 2", - " 3", - " 4", - " 5", - " 6", - " 7", - " 8", - " 9", - "10", - "11", - "12", - ] + month_names = ['', '一月', '二月', '三月', '四月', '五月', '六月', '七月', + '八月', '乿œˆ', 'åæœˆ', 'å一月', 'å二月'] + month_abbreviations = ['', ' 1', ' 2', ' 3', ' 4', ' 5', ' 6', ' 7', ' 8', + ' 9', '10', '11', '12'] - day_names = ["", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"] - day_abbreviations = ["", "一", "二", "三", "å››", "五", "å…­", "æ—¥"] + day_names = ['', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日'] + day_abbreviations = ['', '一', '二', '三', 'å››', '五', 'å…­', 'æ—¥'] class ChineseTWLocale(Locale): - names = ["zh-tw"] - past = "{0}å‰" - future = "{0}後" - and_word = "å’Œ" + names = ['zh_tw'] + + past = '{0}å‰' + future = '{0}後' timeframes = { - "now": "剛æ‰", - "second": "1ç§’", - "seconds": "{0}ç§’", - "minute": "1分é˜", - "minutes": "{0}分é˜", - "hour": "1å°æ™‚", - "hours": "{0}å°æ™‚", - "day": "1天", - "days": "{0}天", - "week": "1週", - "weeks": "{0}週", - "month": "1個月", - "months": "{0}個月", - "year": "1å¹´", - "years": "{0}å¹´", + 'now': '剛æ‰', + 'seconds': '幾秒', + 'minute': '1分é˜', + 'minutes': '{0}分é˜', + 'hour': '1å°æ™‚', + 'hours': '{0}å°æ™‚', + 'day': '1天', + 'days': '{0}天', + 'month': '1個月', + 'months': '{0}個月', + 'year': '1å¹´', + 'years': '{0}å¹´', } - month_names = [ - "", - "1月", - "2月", - "3月", - "4月", - "5月", - "6月", - "7月", - "8月", - "9月", - "10月", - "11月", - "12月", - ] - month_abbreviations = [ - "", - " 1", - " 2", - " 3", - " 4", - " 5", - " 6", - " 7", - " 8", - " 9", - "10", - "11", - "12", - ] + month_names = ['', '1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', + '9月', '10月', '11月', '12月'] + month_abbreviations = ['', ' 1', ' 2', ' 3', ' 4', ' 5', ' 6', ' 7', ' 8', + ' 9', '10', '11', '12'] - day_names = ["", "週一", "週二", "週三", "週四", "週五", "週六", "週日"] - day_abbreviations = ["", "一", "二", "三", "å››", "五", "å…­", "æ—¥"] - - -class HongKongLocale(Locale): - names = ["zh-hk"] - - past = "{0}å‰" - future = "{0}後" - - timeframes = { - "now": "剛æ‰", - "second": "1ç§’", - "seconds": "{0}ç§’", - "minute": "1分é˜", - "minutes": "{0}分é˜", - "hour": "1å°æ™‚", - "hours": "{0}å°æ™‚", - "day": "1天", - "days": "{0}天", - "week": "1星期", - "weeks": "{0}星期", - "month": "1個月", - "months": "{0}個月", - "year": "1å¹´", - "years": "{0}å¹´", - } - - month_names = [ - "", - "1月", - "2月", - "3月", - "4月", - "5月", - "6月", - "7月", - "8月", - "9月", - "10月", - "11月", - "12月", - ] - month_abbreviations = [ - "", - " 1", - " 2", - " 3", - " 4", - " 5", - " 6", - " 7", - " 8", - " 9", - "10", - "11", - "12", - ] - - day_names = ["", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"] - day_abbreviations = ["", "一", "二", "三", "å››", "五", "å…­", "æ—¥"] + day_names = ['', '周一', '周二', '周三', '周四', '周五', '周六', '周日'] + day_abbreviations = ['', '一', '二', '三', 'å››', '五', 'å…­', 'æ—¥'] class KoreanLocale(Locale): - names = ["ko", "ko-kr"] - past = "{0} ì „" - future = "{0} 후" + names = ['ko', 'ko_kr'] + + past = '{0} ì „' + future = '{0} 후' timeframes = { - "now": "지금", - "second": "1ì´ˆ", - "seconds": "{0}ì´ˆ", - "minute": "1ë¶„", - "minutes": "{0}ë¶„", - "hour": "한시간", - "hours": "{0}시간", - "day": "하루", - "days": "{0}ì¼", - "week": "1주", - "weeks": "{0}주", - "month": "한달", - "months": "{0}개월", - "year": "1ë…„", - "years": "{0}ë…„", + 'now': '지금', + 'seconds': '몇 ì´ˆ', + 'minute': '1ë¶„', + 'minutes': '{0}ë¶„', + 'hour': '1시간', + 'hours': '{0}시간', + 'day': '1ì¼', + 'days': '{0}ì¼', + 'month': '1개월', + 'months': '{0}개월', + 'year': '1ë…„', + 'years': '{0}ë…„', } - special_dayframes = { - -3: "ê·¸ë„ì œ", - -2: "그제", - -1: "ì–´ì œ", - 1: "ë‚´ì¼", - 2: "모레", - 3: "글피", - 4: "그글피", - } + month_names = ['', '1ì›”', '2ì›”', '3ì›”', '4ì›”', '5ì›”', '6ì›”', '7ì›”', '8ì›”', + '9ì›”', '10ì›”', '11ì›”', '12ì›”'] + month_abbreviations = ['', ' 1', ' 2', ' 3', ' 4', ' 5', ' 6', ' 7', ' 8', + ' 9', '10', '11', '12'] - special_yearframes = {-2: "제작년", -1: "작년", 1: "ë‚´ë…„", 2: "내후년"} - - month_names = [ - "", - "1ì›”", - "2ì›”", - "3ì›”", - "4ì›”", - "5ì›”", - "6ì›”", - "7ì›”", - "8ì›”", - "9ì›”", - "10ì›”", - "11ì›”", - "12ì›”", - ] - month_abbreviations = [ - "", - " 1", - " 2", - " 3", - " 4", - " 5", - " 6", - " 7", - " 8", - " 9", - "10", - "11", - "12", - ] - - day_names = ["", "월요ì¼", "화요ì¼", "수요ì¼", "목요ì¼", "금요ì¼", "토요ì¼", "ì¼ìš”ì¼"] - day_abbreviations = ["", "ì›”", "í™”", "수", "목", "금", "토", "ì¼"] - - def _ordinal_number(self, n: int) -> str: - ordinals = ["0", "첫", "ë‘", "세", "네", "다섯", "여섯", "ì¼ê³±", "ì—¬ëŸ", "아홉", "ì—´"] - if n < len(ordinals): - return f"{ordinals[n]}번째" - return f"{n}번째" - - def _format_relative( - self, - humanized: str, - timeframe: TimeFrameLiteral, - delta: Union[float, int], - ) -> str: - if timeframe in ("day", "days"): - special = self.special_dayframes.get(int(delta)) - if special: - return special - elif timeframe in ("year", "years"): - special = self.special_yearframes.get(int(delta)) - if special: - return special - - return super()._format_relative(humanized, timeframe, delta) + day_names = ['', '월요ì¼', '화요ì¼', '수요ì¼', '목요ì¼', '금요ì¼', '토요ì¼', 'ì¼ìš”ì¼'] + day_abbreviations = ['', 'ì›”', 'í™”', '수', '목', '금', '토', 'ì¼'] # derived locale types & implementations. class DutchLocale(Locale): - names = ["nl", "nl-nl"] - past = "{0} geleden" - future = "over {0}" + names = ['nl', 'nl_nl'] + + past = '{0} geleden' + future = 'over {0}' timeframes = { - "now": "nu", - "second": "een seconde", - "seconds": "{0} seconden", - "minute": "een minuut", - "minutes": "{0} minuten", - "hour": "een uur", - "hours": "{0} uur", - "day": "een dag", - "days": "{0} dagen", - "week": "een week", - "weeks": "{0} weken", - "month": "een maand", - "months": "{0} maanden", - "year": "een jaar", - "years": "{0} jaar", + 'now': 'nu', + 'seconds': 'seconden', + 'minute': 'een minuut', + 'minutes': '{0} minuten', + 'hour': 'een uur', + 'hours': '{0} uur', + 'day': 'een dag', + 'days': '{0} dagen', + 'month': 'een maand', + 'months': '{0} maanden', + 'year': 'een jaar', + 'years': '{0} jaar', } # In Dutch names of months and days are not starting with a capital letter # like in the English language. - month_names = [ - "", - "januari", - "februari", - "maart", - "april", - "mei", - "juni", - "juli", - "augustus", - "september", - "oktober", - "november", - "december", - ] - month_abbreviations = [ - "", - "jan", - "feb", - "mrt", - "apr", - "mei", - "jun", - "jul", - "aug", - "sep", - "okt", - "nov", - "dec", - ] + month_names = ['', 'januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', + 'augustus', 'september', 'oktober', 'november', 'december'] + month_abbreviations = ['', 'jan', 'feb', 'mrt', 'apr', 'mei', 'jun', 'jul', 'aug', + 'sep', 'okt', 'nov', 'dec'] - day_names = [ - "", - "maandag", - "dinsdag", - "woensdag", - "donderdag", - "vrijdag", - "zaterdag", - "zondag", - ] - day_abbreviations = ["", "ma", "di", "wo", "do", "vr", "za", "zo"] + day_names = ['', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag'] + day_abbreviations = ['', 'ma', 'di', 'wo', 'do', 'vr', 'za', 'zo'] class SlavicBaseLocale(Locale): - timeframes: ClassVar[Mapping[TimeFrameLiteral, Union[str, Mapping[str, str]]]] - def _format_timeframe(self, timeframe: TimeFrameLiteral, delta: int) -> str: + def _format_timeframe(self, timeframe, delta): + form = self.timeframes[timeframe] delta = abs(delta) - if isinstance(form, Mapping): + if isinstance(form, list): + if delta % 10 == 1 and delta % 100 != 11: - form = form["singular"] + form = form[0] elif 2 <= delta % 10 <= 4 and (delta % 100 < 10 or delta % 100 >= 20): - form = form["dual"] + form = form[1] else: - form = form["plural"] + form = form[2] return form.format(delta) - class BelarusianLocale(SlavicBaseLocale): - names = ["be", "be-by"] - past = "{0} таму" - future = "праз {0}" + names = ['be', 'be_by'] - timeframes: ClassVar[Mapping[TimeFrameLiteral, Union[str, Mapping[str, str]]]] = { - "now": "зараз", - "second": "Ñекунду", - "seconds": "{0} некалькі Ñекунд", - "minute": "хвіліну", - "minutes": { - "singular": "{0} хвіліну", - "dual": "{0} хвіліны", - "plural": "{0} хвілін", - }, - "hour": "гадзіну", - "hours": { - "singular": "{0} гадзіну", - "dual": "{0} гадзіны", - "plural": "{0} гадзін", - }, - "day": "дзень", - "days": {"singular": "{0} дзень", "dual": "{0} дні", "plural": "{0} дзён"}, - "month": "меÑÑц", - "months": { - "singular": "{0} меÑÑц", - "dual": "{0} меÑÑцы", - "plural": "{0} меÑÑцаў", - }, - "year": "год", - "years": {"singular": "{0} год", "dual": "{0} гады", "plural": "{0} гадоў"}, + past = '{0} таму' + future = 'праз {0}' + + timeframes = { + 'now': 'зараз', + 'seconds': 'некалькі Ñекунд', + 'minute': 'хвіліну', + 'minutes': ['{0} хвіліну', '{0} хвіліны', '{0} хвілін'], + 'hour': 'гадзіну', + 'hours': ['{0} гадзіну', '{0} гадзіны', '{0} гадзін'], + 'day': 'дзень', + 'days': ['{0} дзень', '{0} дні', '{0} дзён'], + 'month': 'меÑÑц', + 'months': ['{0} меÑÑц', '{0} меÑÑцы', '{0} меÑÑцаў'], + 'year': 'год', + 'years': ['{0} год', '{0} гады', '{0} гадоў'], } - month_names = [ - "", - "ÑтудзенÑ", - "лютага", - "Ñакавіка", - "краÑавіка", - "траўнÑ", - "чÑрвенÑ", - "ліпенÑ", - "жніўнÑ", - "вераÑнÑ", - "каÑтрычніка", - "ліÑтапада", - "ÑнежнÑ", - ] - month_abbreviations = [ - "", - "Ñтуд", - "лют", - "Ñак", - "краÑ", - "трав", - "чÑрв", - "ліп", - "жнів", - "вер", - "каÑÑ‚", - "ліÑÑ‚", - "Ñнеж", - ] + month_names = ['', 'ÑтудзенÑ', 'лютага', 'Ñакавіка', 'краÑавіка', 'траўнÑ', 'чÑрвенÑ', + 'ліпенÑ', 'жніўнÑ', 'вераÑнÑ', 'каÑтрычніка', 'ліÑтапада', 'ÑнежнÑ'] + month_abbreviations = ['', 'Ñтуд', 'лют', 'Ñак', 'краÑ', 'трав', 'чÑрв', 'ліп', 'жнів', + 'вер', 'каÑÑ‚', 'ліÑÑ‚', 'Ñнеж'] - day_names = [ - "", - "панÑдзелак", - "аўторак", - "Ñерада", - "чацвер", - "пÑтніца", - "Ñубота", - "нÑдзелÑ", - ] - day_abbreviations = ["", "пн", "ат", "ÑÑ€", "чц", "пт", "Ñб", "нд"] + day_names = ['', 'панÑдзелак', 'аўторак', 'Ñерада', 'чацвер', 'пÑтніца', 'Ñубота', 'нÑдзелÑ'] + day_abbreviations = ['', 'пн', 'ат', 'ÑÑ€', 'чц', 'пт', 'Ñб', 'нд'] class PolishLocale(SlavicBaseLocale): - names = ["pl", "pl-pl"] - past = "{0} temu" - future = "za {0}" + names = ['pl', 'pl_pl'] - # The nouns should be in genitive case (Polish: "dopeÅ‚niacz") - # in order to correctly form `past` & `future` expressions. - timeframes: ClassVar[Mapping[TimeFrameLiteral, Union[str, Mapping[str, str]]]] = { - "now": "teraz", - "second": "sekundÄ™", - "seconds": { - "singular": "{0} sekund", - "dual": "{0} sekundy", - "plural": "{0} sekund", - }, - "minute": "minutÄ™", - "minutes": { - "singular": "{0} minut", - "dual": "{0} minuty", - "plural": "{0} minut", - }, - "hour": "godzinÄ™", - "hours": { - "singular": "{0} godzin", - "dual": "{0} godziny", - "plural": "{0} godzin", - }, - "day": "dzieÅ„", - "days": "{0} dni", - "week": "tydzieÅ„", - "weeks": { - "singular": "{0} tygodni", - "dual": "{0} tygodnie", - "plural": "{0} tygodni", - }, - "month": "miesiÄ…c", - "months": { - "singular": "{0} miesiÄ™cy", - "dual": "{0} miesiÄ…ce", - "plural": "{0} miesiÄ™cy", - }, - "year": "rok", - "years": {"singular": "{0} lat", "dual": "{0} lata", "plural": "{0} lat"}, + past = '{0} temu' + future = 'za {0}' + + timeframes = { + 'now': 'teraz', + 'seconds': 'kilka sekund', + 'minute': 'minutÄ™', + 'minutes': ['{0} minut', '{0} minuty', '{0} minut'], + 'hour': 'godzina', + 'hours': ['{0} godzin', '{0} godziny', '{0} godzin'], + 'day': 'dzieÅ„', + 'days': ['{0} dzieÅ„', '{0} dni', '{0} dni'], + 'month': 'miesiÄ…c', + 'months': ['{0} miesiÄ…c', '{0} miesiÄ…ce', '{0} miesiÄ™cy'], + 'year': 'rok', + 'years': ['{0} rok', '{0} lata', '{0} lat'], } - month_names = [ - "", - "styczeÅ„", - "luty", - "marzec", - "kwiecieÅ„", - "maj", - "czerwiec", - "lipiec", - "sierpieÅ„", - "wrzesieÅ„", - "październik", - "listopad", - "grudzieÅ„", - ] - month_abbreviations = [ - "", - "sty", - "lut", - "mar", - "kwi", - "maj", - "cze", - "lip", - "sie", - "wrz", - "paź", - "lis", - "gru", - ] + month_names = ['', 'styczeÅ„', 'luty', 'marzec', 'kwiecieÅ„', 'maj', + 'czerwiec', 'lipiec', 'sierpieÅ„', 'wrzesieÅ„', 'październik', + 'listopad', 'grudzieÅ„'] + month_abbreviations = ['', 'sty', 'lut', 'mar', 'kwi', 'maj', 'cze', 'lip', + 'sie', 'wrz', 'paź', 'lis', 'gru'] - day_names = [ - "", - "poniedziaÅ‚ek", - "wtorek", - "Å›roda", - "czwartek", - "piÄ…tek", - "sobota", - "niedziela", - ] - day_abbreviations = ["", "Pn", "Wt", "Åšr", "Czw", "Pt", "So", "Nd"] + day_names = ['', 'poniedziaÅ‚ek', 'wtorek', 'Å›roda', 'czwartek', 'piÄ…tek', + 'sobota', 'niedziela'] + day_abbreviations = ['', 'Pn', 'Wt', 'Åšr', 'Czw', 'Pt', 'So', 'Nd'] class RussianLocale(SlavicBaseLocale): - names = ["ru", "ru-ru"] - past = "{0} назад" - future = "через {0}" + names = ['ru', 'ru_ru'] - timeframes: ClassVar[Mapping[TimeFrameLiteral, Union[str, Mapping[str, str]]]] = { - "now": "ÑейчаÑ", - "second": "Ñекунда", - "seconds": { - "singular": "{0} Ñекунду", - "dual": "{0} Ñекунды", - "plural": "{0} Ñекунд", - }, - "minute": "минуту", - "minutes": { - "singular": "{0} минуту", - "dual": "{0} минуты", - "plural": "{0} минут", - }, - "hour": "чаÑ", - "hours": {"singular": "{0} чаÑ", "dual": "{0} чаÑа", "plural": "{0} чаÑов"}, - "day": "день", - "days": {"singular": "{0} день", "dual": "{0} днÑ", "plural": "{0} дней"}, - "week": "неделю", - "weeks": { - "singular": "{0} неделю", - "dual": "{0} недели", - "plural": "{0} недель", - }, - "month": "меÑÑц", - "months": { - "singular": "{0} меÑÑц", - "dual": "{0} меÑÑца", - "plural": "{0} меÑÑцев", - }, - "quarter": "квартал", - "quarters": { - "singular": "{0} квартал", - "dual": "{0} квартала", - "plural": "{0} кварталов", - }, - "year": "год", - "years": {"singular": "{0} год", "dual": "{0} года", "plural": "{0} лет"}, - } - - month_names = [ - "", - "ÑнварÑ", - "февралÑ", - "марта", - "апрелÑ", - "маÑ", - "июнÑ", - "июлÑ", - "авгуÑта", - "ÑентÑбрÑ", - "октÑбрÑ", - "ноÑбрÑ", - "декабрÑ", - ] - month_abbreviations = [ - "", - "Ñнв", - "фев", - "мар", - "апр", - "май", - "июн", - "июл", - "авг", - "Ñен", - "окт", - "ноÑ", - "дек", - ] - - day_names = [ - "", - "понедельник", - "вторник", - "Ñреда", - "четверг", - "пÑтница", - "Ñуббота", - "воÑкреÑенье", - ] - day_abbreviations = ["", "пн", "вт", "ÑÑ€", "чт", "пт", "Ñб", "вÑ"] - - -class AfrikaansLocale(Locale): - names = ["af", "af-nl"] - - past = "{0} gelede" - future = "in {0}" + past = '{0} назад' + future = 'через {0}' timeframes = { - "now": "nou", - "second": "n sekonde", - "seconds": "{0} sekondes", - "minute": "minuut", - "minutes": "{0} minute", - "hour": "uur", - "hours": "{0} ure", - "day": "een dag", - "days": "{0} dae", - "month": "een maand", - "months": "{0} maande", - "year": "een jaar", - "years": "{0} jaar", + 'now': 'ÑейчаÑ', + 'seconds': 'неÑколько Ñекунд', + 'minute': 'минуту', + 'minutes': ['{0} минуту', '{0} минуты', '{0} минут'], + 'hour': 'чаÑ', + 'hours': ['{0} чаÑ', '{0} чаÑа', '{0} чаÑов'], + 'day': 'день', + 'days': ['{0} день', '{0} днÑ', '{0} дней'], + 'month': 'меÑÑц', + 'months': ['{0} меÑÑц', '{0} меÑÑца', '{0} меÑÑцев'], + 'year': 'год', + 'years': ['{0} год', '{0} года', '{0} лет'], } - month_names = [ - "", - "Januarie", - "Februarie", - "Maart", - "April", - "Mei", - "Junie", - "Julie", - "Augustus", - "September", - "Oktober", - "November", - "Desember", - ] - month_abbreviations = [ - "", - "Jan", - "Feb", - "Mrt", - "Apr", - "Mei", - "Jun", - "Jul", - "Aug", - "Sep", - "Okt", - "Nov", - "Des", - ] + month_names = ['', 'ÑнварÑ', 'февралÑ', 'марта', 'апрелÑ', 'маÑ', 'июнÑ', + 'июлÑ', 'авгуÑта', 'ÑентÑбрÑ', 'октÑбрÑ', 'ноÑбрÑ', 'декабрÑ'] + month_abbreviations = ['', 'Ñнв', 'фев', 'мар', 'апр', 'май', 'июн', 'июл', + 'авг', 'Ñен', 'окт', 'ноÑ', 'дек'] - day_names = [ - "", - "Maandag", - "Dinsdag", - "Woensdag", - "Donderdag", - "Vrydag", - "Saterdag", - "Sondag", - ] - day_abbreviations = ["", "Ma", "Di", "Wo", "Do", "Vr", "Za", "So"] + day_names = ['', 'понедельник', 'вторник', 'Ñреда', 'четверг', 'пÑтница', + 'Ñуббота', 'воÑкреÑенье'] + day_abbreviations = ['', 'пн', 'вт', 'ÑÑ€', 'чт', 'пт', 'Ñб', 'вÑ'] class BulgarianLocale(SlavicBaseLocale): - names = ["bg", "bg-bg"] - past = "{0} назад" - future = "напред {0}" + names = ['bg', 'bg_BG'] - timeframes: ClassVar[Mapping[TimeFrameLiteral, Union[str, Mapping[str, str]]]] = { - "now": "Ñега", - "second": "Ñекунда", - "seconds": "{0} нÑколко Ñекунди", - "minute": "минута", - "minutes": { - "singular": "{0} минута", - "dual": "{0} минути", - "plural": "{0} минути", - }, - "hour": "чаÑ", - "hours": {"singular": "{0} чаÑ", "dual": "{0} чаÑа", "plural": "{0} чаÑа"}, - "day": "ден", - "days": {"singular": "{0} ден", "dual": "{0} дни", "plural": "{0} дни"}, - "month": "меÑец", - "months": { - "singular": "{0} меÑец", - "dual": "{0} меÑеца", - "plural": "{0} меÑеца", - }, - "year": "година", - "years": { - "singular": "{0} година", - "dual": "{0} години", - "plural": "{0} години", - }, + past = '{0} назад' + future = 'напред {0}' + + timeframes = { + 'now': 'Ñега', + 'seconds': 'нÑколко Ñекунди', + 'minute': 'минута', + 'minutes': ['{0} минута', '{0} минути', '{0} минути'], + 'hour': 'чаÑ', + 'hours': ['{0} чаÑ', '{0} чаÑа', '{0} чаÑа'], + 'day': 'ден', + 'days': ['{0} ден', '{0} дни', '{0} дни'], + 'month': 'меÑец', + 'months': ['{0} меÑец', '{0} меÑеца', '{0} меÑеца'], + 'year': 'година', + 'years': ['{0} година', '{0} години', '{0} години'], } - month_names = [ - "", - "Ñнуари", - "февруари", - "март", - "април", - "май", - "юни", - "юли", - "авгуÑÑ‚", - "Ñептември", - "октомври", - "ноември", - "декември", - ] - month_abbreviations = [ - "", - "Ñн", - "февр", - "март", - "апр", - "май", - "юни", - "юли", - "авг", - "Ñепт", - "окт", - "ноем", - "дек", - ] + month_names = ['', 'Ñнуари', 'февруари', 'март', 'април', 'май', 'юни', + 'юли', 'авгуÑÑ‚', 'Ñептември', 'октомври', 'ноември', 'декември'] + month_abbreviations = ['', 'Ñн', 'февр', 'март', 'апр', 'май', 'юни', 'юли', + 'авг', 'Ñепт', 'окт', 'ноем', 'дек'] - day_names = [ - "", - "понеделник", - "вторник", - "ÑÑ€Ñда", - "четвъртък", - "петък", - "Ñъбота", - "неделÑ", - ] - day_abbreviations = ["", "пон", "вт", "ÑÑ€", "четв", "пет", "Ñъб", "нед"] + day_names = ['', 'понеделник', 'вторник', 'ÑÑ€Ñда', 'четвъртък', 'петък', + 'Ñъбота', 'неделÑ'] + day_abbreviations = ['', 'пон', 'вт', 'ÑÑ€', 'четв', 'пет', 'Ñъб', 'нед'] class UkrainianLocale(SlavicBaseLocale): - names = ["ua", "uk", "uk-ua"] - past = "{0} тому" - future = "за {0}" + names = ['ua', 'uk_ua'] - timeframes: ClassVar[Mapping[TimeFrameLiteral, Union[str, Mapping[str, str]]]] = { - "now": "зараз", - "second": "Ñекунда", - "seconds": "{0} кілька Ñекунд", - "minute": "хвилину", - "minutes": { - "singular": "{0} хвилину", - "dual": "{0} хвилини", - "plural": "{0} хвилин", - }, - "hour": "годину", - "hours": { - "singular": "{0} годину", - "dual": "{0} години", - "plural": "{0} годин", - }, - "day": "день", - "days": {"singular": "{0} день", "dual": "{0} дні", "plural": "{0} днів"}, - "month": "міÑÑць", - "months": { - "singular": "{0} міÑÑць", - "dual": "{0} міÑÑці", - "plural": "{0} міÑÑців", - }, - "year": "рік", - "years": {"singular": "{0} рік", "dual": "{0} роки", "plural": "{0} років"}, + past = '{0} тому' + future = 'за {0}' + + timeframes = { + 'now': 'зараз', + 'seconds': 'кілька Ñекунд', + 'minute': 'хвилину', + 'minutes': ['{0} хвилину', '{0} хвилини', '{0} хвилин'], + 'hour': 'годину', + 'hours': ['{0} годину', '{0} години', '{0} годин'], + 'day': 'день', + 'days': ['{0} день', '{0} дні', '{0} днів'], + 'month': 'міÑÑць', + 'months': ['{0} міÑÑць', '{0} міÑÑці', '{0} міÑÑців'], + 'year': 'рік', + 'years': ['{0} рік', '{0} роки', '{0} років'], + } + + month_names = ['', 'ÑічнÑ', 'лютого', 'березнÑ', 'квітнÑ', 'травнÑ', 'червнÑ', + 'липнÑ', 'ÑерпнÑ', 'вереÑнÑ', 'жовтнÑ', 'лиÑтопада', 'груднÑ'] + month_abbreviations = ['', 'Ñіч', 'лют', 'бер', 'квіт', 'трав', 'черв', 'лип', 'Ñерп', + 'вер', 'жовт', 'лиÑÑ‚', 'груд'] + + day_names = ['', 'понеділок', 'вівторок', 'Ñереда', 'четвер', 'п’ÑтницÑ', 'Ñубота', 'неділÑ'] + day_abbreviations = ['', 'пн', 'вт', 'ÑÑ€', 'чт', 'пт', 'Ñб', 'нд'] + + +class _DeutschLocaleCommonMixin(object): + + past = 'vor {0}' + future = 'in {0}' + + timeframes = { + 'now': 'gerade eben', + 'seconds': 'Sekunden', + 'minute': 'einer Minute', + 'minutes': '{0} Minuten', + 'hour': 'einer Stunde', + 'hours': '{0} Stunden', + 'day': 'einem Tag', + 'days': '{0} Tagen', + 'month': 'einem Monat', + 'months': '{0} Monaten', + 'year': 'einem Jahr', + 'years': '{0} Jahren', } month_names = [ - "", - "ÑічнÑ", - "лютого", - "березнÑ", - "квітнÑ", - "травнÑ", - "червнÑ", - "липнÑ", - "ÑерпнÑ", - "вереÑнÑ", - "жовтнÑ", - "лиÑтопада", - "груднÑ", + '', 'Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', + 'August', 'September', 'Oktober', 'November', 'Dezember' ] + month_abbreviations = [ - "", - "Ñіч", - "лют", - "бер", - "квіт", - "трав", - "черв", - "лип", - "Ñерп", - "вер", - "жовт", - "лиÑÑ‚", - "груд", + '', 'Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', + 'Okt', 'Nov', 'Dez' ] day_names = [ - "", - "понеділок", - "вівторок", - "Ñереда", - "четвер", - "п’ÑтницÑ", - "Ñубота", - "неділÑ", - ] - day_abbreviations = ["", "пн", "вт", "ÑÑ€", "чт", "пт", "Ñб", "нд"] - - -class MacedonianLocale(SlavicBaseLocale): - names = ["mk", "mk-mk"] - - past = "пред {0}" - future = "за {0}" - - timeframes: ClassVar[Mapping[TimeFrameLiteral, Union[str, Mapping[str, str]]]] = { - "now": "Ñега", - "second": "една Ñекунда", - "seconds": { - "singular": "{0} Ñекунда", - "dual": "{0} Ñекунди", - "plural": "{0} Ñекунди", - }, - "minute": "една минута", - "minutes": { - "singular": "{0} минута", - "dual": "{0} минути", - "plural": "{0} минути", - }, - "hour": "еден Ñаат", - "hours": {"singular": "{0} Ñаат", "dual": "{0} Ñаати", "plural": "{0} Ñаати"}, - "day": "еден ден", - "days": {"singular": "{0} ден", "dual": "{0} дена", "plural": "{0} дена"}, - "week": "една недела", - "weeks": { - "singular": "{0} недела", - "dual": "{0} недели", - "plural": "{0} недели", - }, - "month": "еден меÑец", - "months": { - "singular": "{0} меÑец", - "dual": "{0} меÑеци", - "plural": "{0} меÑеци", - }, - "year": "една година", - "years": { - "singular": "{0} година", - "dual": "{0} години", - "plural": "{0} години", - }, - } - - meridians = {"am": "дп", "pm": "пп", "AM": "претпладне", "PM": "попладне"} - - month_names = [ - "", - "Јануари", - "Февруари", - "Март", - "Ðприл", - "Мај", - "Јуни", - "Јули", - "ÐвгуÑÑ‚", - "Септември", - "Октомври", - "Ðоември", - "Декември", - ] - month_abbreviations = [ - "", - "Јан", - "Фев", - "Мар", - "Ðпр", - "Мај", - "Јун", - "Јул", - "Ðвг", - "Септ", - "Окт", - "Ðоем", - "Декем", + '', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', + 'Samstag', 'Sonntag' ] - day_names = [ - "", - "Понеделник", - "Вторник", - "Среда", - "Четврток", - "Петок", - "Сабота", - "Ðедела", - ] day_abbreviations = [ - "", - "Пон", - "Ð’Ñ‚", - "Сре", - "Чет", - "Пет", - "Саб", - "Ðед", + '', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So' ] - -class GermanBaseLocale(Locale): - past = "vor {0}" - future = "in {0}" - and_word = "und" - - timeframes: ClassVar[Dict[TimeFrameLiteral, str]] = { - "now": "gerade eben", - "second": "einer Sekunde", - "seconds": "{0} Sekunden", - "minute": "einer Minute", - "minutes": "{0} Minuten", - "hour": "einer Stunde", - "hours": "{0} Stunden", - "day": "einem Tag", - "days": "{0} Tagen", - "week": "einer Woche", - "weeks": "{0} Wochen", - "month": "einem Monat", - "months": "{0} Monaten", - "year": "einem Jahr", - "years": "{0} Jahren", - } - - timeframes_only_distance = timeframes.copy() - timeframes_only_distance["second"] = "eine Sekunde" - timeframes_only_distance["minute"] = "eine Minute" - timeframes_only_distance["hour"] = "eine Stunde" - timeframes_only_distance["day"] = "ein Tag" - timeframes_only_distance["days"] = "{0} Tage" - timeframes_only_distance["week"] = "eine Woche" - timeframes_only_distance["month"] = "ein Monat" - timeframes_only_distance["months"] = "{0} Monate" - timeframes_only_distance["year"] = "ein Jahr" - timeframes_only_distance["years"] = "{0} Jahre" - - month_names = [ - "", - "Januar", - "Februar", - "März", - "April", - "Mai", - "Juni", - "Juli", - "August", - "September", - "Oktober", - "November", - "Dezember", - ] - - month_abbreviations = [ - "", - "Jan", - "Feb", - "Mär", - "Apr", - "Mai", - "Jun", - "Jul", - "Aug", - "Sep", - "Okt", - "Nov", - "Dez", - ] - - day_names = [ - "", - "Montag", - "Dienstag", - "Mittwoch", - "Donnerstag", - "Freitag", - "Samstag", - "Sonntag", - ] - - day_abbreviations = ["", "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"] - - def _ordinal_number(self, n: int) -> str: - return f"{n}." - - def describe( - self, - timeframe: TimeFrameLiteral, - delta: Union[int, float] = 0, - only_distance: bool = False, - ) -> str: - """Describes a delta within a timeframe in plain language. - - :param timeframe: a string representing a timeframe. - :param delta: a quantity representing a delta in a timeframe. - :param only_distance: return only distance eg: "11 seconds" without "in" or "ago" keywords - """ - - if not only_distance: - return super().describe(timeframe, delta, only_distance) - - # German uses a different case without 'in' or 'ago' - humanized: str = self.timeframes_only_distance[timeframe].format( - trunc(abs(delta)) - ) - - return humanized + def _ordinal_number(self, n): + return '{0}.'.format(n) -class GermanLocale(GermanBaseLocale, Locale): - names = ["de", "de-de"] +class GermanLocale(_DeutschLocaleCommonMixin, Locale): + + names = ['de', 'de_de'] + + timeframes = _DeutschLocaleCommonMixin.timeframes.copy() + timeframes['days'] = '{0} Tagen' -class SwissLocale(GermanBaseLocale, Locale): - names = ["de-ch"] +class AustriaLocale(_DeutschLocaleCommonMixin, Locale): + names = ['de', 'de_at'] -class AustrianLocale(GermanBaseLocale, Locale): - names = ["de-at"] - - month_names = [ - "", - "Jänner", - "Februar", - "März", - "April", - "Mai", - "Juni", - "Juli", - "August", - "September", - "Oktober", - "November", - "Dezember", - ] + timeframes = _DeutschLocaleCommonMixin.timeframes.copy() + timeframes['days'] = '{0} Tage' class NorwegianLocale(Locale): - names = ["nb", "nb-no"] - past = "for {0} siden" - future = "om {0}" + names = ['nb', 'nb_no'] + + past = 'for {0} siden' + future = 'om {0}' timeframes = { - "now": "nÃ¥ nettopp", - "second": "ett sekund", - "seconds": "{0} sekunder", - "minute": "ett minutt", - "minutes": "{0} minutter", - "hour": "en time", - "hours": "{0} timer", - "day": "en dag", - "days": "{0} dager", - "week": "en uke", - "weeks": "{0} uker", - "month": "en mÃ¥ned", - "months": "{0} mÃ¥neder", - "year": "ett Ã¥r", - "years": "{0} Ã¥r", + 'now': 'nÃ¥ nettopp', + 'seconds': 'noen sekunder', + 'minute': 'ett minutt', + 'minutes': '{0} minutter', + 'hour': 'en time', + 'hours': '{0} timer', + 'day': 'en dag', + 'days': '{0} dager', + 'month': 'en mÃ¥ned', + 'months': '{0} mÃ¥neder', + 'year': 'ett Ã¥r', + 'years': '{0} Ã¥r', } - month_names = [ - "", - "januar", - "februar", - "mars", - "april", - "mai", - "juni", - "juli", - "august", - "september", - "oktober", - "november", - "desember", - ] - month_abbreviations = [ - "", - "jan", - "feb", - "mar", - "apr", - "mai", - "jun", - "jul", - "aug", - "sep", - "okt", - "nov", - "des", - ] + month_names = ['', 'januar', 'februar', 'mars', 'april', 'mai', 'juni', + 'juli', 'august', 'september', 'oktober', 'november', + 'desember'] + month_abbreviations = ['', 'jan', 'feb', 'mar', 'apr', 'mai', 'jun', 'jul', + 'aug', 'sep', 'okt', 'nov', 'des'] - day_names = [ - "", - "mandag", - "tirsdag", - "onsdag", - "torsdag", - "fredag", - "lørdag", - "søndag", - ] - day_abbreviations = ["", "ma", "ti", "on", "to", "fr", "lø", "sø"] - - def _ordinal_number(self, n: int) -> str: - return f"{n}." + day_names = ['', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', + 'lørdag', 'søndag'] + day_abbreviations = ['', 'ma', 'ti', 'on', 'to', 'fr', 'lø', 'sø'] class NewNorwegianLocale(Locale): - names = ["nn", "nn-no"] - past = "for {0} sidan" - future = "om {0}" + names = ['nn', 'nn_no'] + + past = 'for {0} sidan' + future = 'om {0}' timeframes = { - "now": "no nettopp", - "second": "eitt sekund", - "seconds": "{0} sekund", - "minute": "eitt minutt", - "minutes": "{0} minutt", - "hour": "ein time", - "hours": "{0} timar", - "day": "ein dag", - "days": "{0} dagar", - "week": "ei veke", - "weeks": "{0} veker", - "month": "ein mÃ¥nad", - "months": "{0} mÃ¥nader", - "year": "eitt Ã¥r", - "years": "{0} Ã¥r", + 'now': 'no nettopp', + 'seconds': 'nokre sekund', + 'minute': 'ett minutt', + 'minutes': '{0} minutt', + 'hour': 'ein time', + 'hours': '{0} timar', + 'day': 'ein dag', + 'days': '{0} dagar', + 'month': 'en mÃ¥nad', + 'months': '{0} mÃ¥nader', + 'year': 'eit Ã¥r', + 'years': '{0} Ã¥r', } - month_names = [ - "", - "januar", - "februar", - "mars", - "april", - "mai", - "juni", - "juli", - "august", - "september", - "oktober", - "november", - "desember", - ] - month_abbreviations = [ - "", - "jan", - "feb", - "mar", - "apr", - "mai", - "jun", - "jul", - "aug", - "sep", - "okt", - "nov", - "des", - ] + month_names = ['', 'januar', 'februar', 'mars', 'april', 'mai', 'juni', + 'juli', 'august', 'september', 'oktober', 'november', + 'desember'] + month_abbreviations = ['', 'jan', 'feb', 'mar', 'apr', 'mai', 'jun', 'jul', + 'aug', 'sep', 'okt', 'nov', 'des'] - day_names = [ - "", - "mÃ¥ndag", - "tysdag", - "onsdag", - "torsdag", - "fredag", - "laurdag", - "sundag", - ] - day_abbreviations = ["", "mÃ¥", "ty", "on", "to", "fr", "la", "su"] - - def _ordinal_number(self, n: int) -> str: - return f"{n}." + day_names = ['', 'mÃ¥ndag', 'tysdag', 'onsdag', 'torsdag', 'fredag', + 'laurdag', 'sundag'] + day_abbreviations = ['', 'mÃ¥', 'ty', 'on', 'to', 'fr', 'la', 'su'] class PortugueseLocale(Locale): - names = ["pt", "pt-pt"] + names = ['pt', 'pt_pt'] - past = "há {0}" - future = "em {0}" - and_word = "e" + past = 'há {0}' + future = 'em {0}' timeframes = { - "now": "agora", - "second": "um segundo", - "seconds": "{0} segundos", - "minute": "um minuto", - "minutes": "{0} minutos", - "hour": "uma hora", - "hours": "{0} horas", - "day": "um dia", - "days": "{0} dias", - "week": "uma semana", - "weeks": "{0} semanas", - "month": "um mês", - "months": "{0} meses", - "year": "um ano", - "years": "{0} anos", + 'now': 'agora', + 'seconds': 'segundos', + 'minute': 'um minuto', + 'minutes': '{0} minutos', + 'hour': 'uma hora', + 'hours': '{0} horas', + 'day': 'um dia', + 'days': '{0} dias', + 'month': 'um mês', + 'months': '{0} meses', + 'year': 'um ano', + 'years': '{0} anos', } - month_names = [ - "", - "Janeiro", - "Fevereiro", - "Março", - "Abril", - "Maio", - "Junho", - "Julho", - "Agosto", - "Setembro", - "Outubro", - "Novembro", - "Dezembro", - ] - month_abbreviations = [ - "", - "Jan", - "Fev", - "Mar", - "Abr", - "Mai", - "Jun", - "Jul", - "Ago", - "Set", - "Out", - "Nov", - "Dez", - ] + month_names = ['', 'janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', + 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'] + month_abbreviations = ['', 'jan', 'fev', 'mar', 'abr', 'maio', 'jun', 'jul', 'ago', + 'set', 'out', 'nov', 'dez'] - day_names = [ - "", - "Segunda-feira", - "Terça-feira", - "Quarta-feira", - "Quinta-feira", - "Sexta-feira", - "Sábado", - "Domingo", - ] - day_abbreviations = ["", "Seg", "Ter", "Qua", "Qui", "Sex", "Sab", "Dom"] + day_names = ['', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', + 'sábado', 'domingo'] + day_abbreviations = ['', 'seg', 'ter', 'qua', 'qui', 'sex', 'sab', 'dom'] class BrazilianPortugueseLocale(PortugueseLocale): - names = ["pt-br"] + names = ['pt_br'] - past = "faz {0}" + past = 'fazem {0}' class TagalogLocale(Locale): - names = ["tl", "tl-ph"] - past = "nakaraang {0}" - future = "{0} mula ngayon" + names = ['tl'] + + past = 'nakaraang {0}' + future = '{0} mula ngayon' timeframes = { - "now": "ngayon lang", - "second": "isang segundo", - "seconds": "{0} segundo", - "minute": "isang minuto", - "minutes": "{0} minuto", - "hour": "isang oras", - "hours": "{0} oras", - "day": "isang araw", - "days": "{0} araw", - "week": "isang linggo", - "weeks": "{0} linggo", - "month": "isang buwan", - "months": "{0} buwan", - "year": "isang taon", - "years": "{0} taon", + 'now': 'ngayon lang', + 'seconds': 'segundo', + 'minute': 'isang minuto', + 'minutes': '{0} minuto', + 'hour': 'isang oras', + 'hours': '{0} oras', + 'day': 'isang araw', + 'days': '{0} araw', + 'month': 'isang buwan', + 'months': '{0} buwan', + 'year': 'isang taon', + 'years': '{0} taon', } - month_names = [ - "", - "Enero", - "Pebrero", - "Marso", - "Abril", - "Mayo", - "Hunyo", - "Hulyo", - "Agosto", - "Setyembre", - "Oktubre", - "Nobyembre", - "Disyembre", - ] - month_abbreviations = [ - "", - "Ene", - "Peb", - "Mar", - "Abr", - "May", - "Hun", - "Hul", - "Ago", - "Set", - "Okt", - "Nob", - "Dis", - ] + month_names = ['', 'Enero', 'Pebrero', 'Marso', 'Abril', 'Mayo', 'Hunyo', 'Hulyo', + 'Agosto', 'Setyembre', 'Oktubre', 'Nobyembre', 'Disyembre'] + month_abbreviations = ['', 'Ene', 'Peb', 'Mar', 'Abr', 'May', 'Hun', 'Hul', 'Ago', + 'Set', 'Okt', 'Nob', 'Dis'] - day_names = [ - "", - "Lunes", - "Martes", - "Miyerkules", - "Huwebes", - "Biyernes", - "Sabado", - "Linggo", - ] - day_abbreviations = ["", "Lun", "Mar", "Miy", "Huw", "Biy", "Sab", "Lin"] - - meridians = {"am": "nu", "pm": "nh", "AM": "ng umaga", "PM": "ng hapon"} - - def _ordinal_number(self, n: int) -> str: - return f"ika-{n}" + day_names = ['', 'Lunes', 'Martes', 'Miyerkules', 'Huwebes', 'Biyernes', 'Sabado', 'Linggo'] + day_abbreviations = ['', 'Lun', 'Mar', 'Miy', 'Huw', 'Biy', 'Sab', 'Lin'] class VietnameseLocale(Locale): - names = ["vi", "vi-vn"] - past = "{0} trước" - future = "{0} nữa" + names = ['vi', 'vi_vn'] + + past = '{0} trước' + future = '{0} nữa' timeframes = { - "now": "hiện tại", - "second": "má»™t giây", - "seconds": "{0} giây", - "minute": "má»™t phút", - "minutes": "{0} phút", - "hour": "má»™t giá»", - "hours": "{0} giá»", - "day": "má»™t ngày", - "days": "{0} ngày", - "week": "má»™t tuần", - "weeks": "{0} tuần", - "month": "má»™t tháng", - "months": "{0} tháng", - "year": "má»™t năm", - "years": "{0} năm", + 'now': 'hiện tại', + 'seconds': 'giây', + 'minute': 'má»™t phút', + 'minutes': '{0} phút', + 'hour': 'má»™t giá»', + 'hours': '{0} giá»', + 'day': 'má»™t ngày', + 'days': '{0} ngày', + 'month': 'má»™t tháng', + 'months': '{0} tháng', + 'year': 'má»™t năm', + 'years': '{0} năm', } - month_names = [ - "", - "Tháng Má»™t", - "Tháng Hai", - "Tháng Ba", - "Tháng Tư", - "Tháng Năm", - "Tháng Sáu", - "Tháng Bảy", - "Tháng Tám", - "Tháng Chín", - "Tháng Mưá»i", - "Tháng Mưá»i Má»™t", - "Tháng Mưá»i Hai", - ] - month_abbreviations = [ - "", - "Tháng 1", - "Tháng 2", - "Tháng 3", - "Tháng 4", - "Tháng 5", - "Tháng 6", - "Tháng 7", - "Tháng 8", - "Tháng 9", - "Tháng 10", - "Tháng 11", - "Tháng 12", - ] + month_names = ['', 'Tháng Má»™t', 'Tháng Hai', 'Tháng Ba', 'Tháng Tư', 'Tháng Năm', 'Tháng Sáu', 'Tháng Bảy', + 'Tháng Tám', 'Tháng Chín', 'Tháng Mưá»i', 'Tháng Mưá»i Má»™t', 'Tháng Mưá»i Hai'] + month_abbreviations = ['', 'Tháng 1', 'Tháng 2', 'Tháng 3', 'Tháng 4', 'Tháng 5', 'Tháng 6', 'Tháng 7', 'Tháng 8', + 'Tháng 9', 'Tháng 10', 'Tháng 11', 'Tháng 12'] - day_names = [ - "", - "Thứ Hai", - "Thứ Ba", - "Thứ Tư", - "Thứ Năm", - "Thứ Sáu", - "Thứ Bảy", - "Chá»§ Nhật", - ] - day_abbreviations = ["", "Thứ 2", "Thứ 3", "Thứ 4", "Thứ 5", "Thứ 6", "Thứ 7", "CN"] + day_names = ['', 'Thứ Hai', 'Thứ Ba', 'Thứ Tư', 'Thứ Năm', 'Thứ Sáu', 'Thứ Bảy', 'Chá»§ Nhật'] + day_abbreviations = ['', 'Thứ 2', 'Thứ 3', 'Thứ 4', 'Thứ 5', 'Thứ 6', 'Thứ 7', 'CN'] class TurkishLocale(Locale): - names = ["tr", "tr-tr"] - past = "{0} önce" - future = "{0} sonra" - and_word = "ve" + names = ['tr', 'tr_tr'] + + past = '{0} önce' + future = '{0} sonra' timeframes = { - "now": "ÅŸimdi", - "second": "bir saniye", - "seconds": "{0} saniye", - "minute": "bir dakika", - "minutes": "{0} dakika", - "hour": "bir saat", - "hours": "{0} saat", - "day": "bir gün", - "days": "{0} gün", - "week": "bir hafta", - "weeks": "{0} hafta", - "month": "bir ay", - "months": "{0} ay", - "year": "bir yıl", - "years": "{0} yıl", + 'now': 'ÅŸimdi', + 'seconds': 'saniye', + 'minute': 'bir dakika', + 'minutes': '{0} dakika', + 'hour': 'bir saat', + 'hours': '{0} saat', + 'day': 'bir gün', + 'days': '{0} gün', + 'month': 'bir ay', + 'months': '{0} ay', + 'year': 'yıl', + 'years': '{0} yıl', } - meridians = {"am": "öö", "pm": "ös", "AM": "ÖÖ", "PM": "ÖS"} + month_names = ['', 'Ocak', 'Åžubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', + 'AÄŸustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık'] + month_abbreviations = ['', 'Oca', 'Åžub', 'Mar', 'Nis', 'May', 'Haz', 'Tem', 'AÄŸu', + 'Eyl', 'Eki', 'Kas', 'Ara'] - month_names = [ - "", - "Ocak", - "Åžubat", - "Mart", - "Nisan", - "Mayıs", - "Haziran", - "Temmuz", - "AÄŸustos", - "Eylül", - "Ekim", - "Kasım", - "Aralık", - ] - month_abbreviations = [ - "", - "Oca", - "Åžub", - "Mar", - "Nis", - "May", - "Haz", - "Tem", - "AÄŸu", - "Eyl", - "Eki", - "Kas", - "Ara", - ] - - day_names = [ - "", - "Pazartesi", - "Salı", - "ÇarÅŸamba", - "PerÅŸembe", - "Cuma", - "Cumartesi", - "Pazar", - ] - day_abbreviations = ["", "Pzt", "Sal", "Çar", "Per", "Cum", "Cmt", "Paz"] + day_names = ['', 'Pazartesi', 'Salı', 'ÇarÅŸamba', 'PerÅŸembe', 'Cuma', 'Cumartesi', 'Pazar'] + day_abbreviations = ['', 'Pzt', 'Sal', 'Çar', 'Per', 'Cum', 'Cmt', 'Paz'] class AzerbaijaniLocale(Locale): - names = ["az", "az-az"] - past = "{0} É™vvÉ™l" - future = "{0} sonra" + names = ['az', 'az_az'] + + past = '{0} É™vvÉ™l' + future = '{0} sonra' timeframes = { - "now": "indi", - "second": "bir saniyÉ™", - "seconds": "{0} saniyÉ™", - "minute": "bir dÉ™qiqÉ™", - "minutes": "{0} dÉ™qiqÉ™", - "hour": "bir saat", - "hours": "{0} saat", - "day": "bir gün", - "days": "{0} gün", - "week": "bir hÉ™ftÉ™", - "weeks": "{0} hÉ™ftÉ™", - "month": "bir ay", - "months": "{0} ay", - "year": "bir il", - "years": "{0} il", + 'now': 'indi', + 'seconds': 'saniyÉ™', + 'minute': 'bir dÉ™qiqÉ™', + 'minutes': '{0} dÉ™qiqÉ™', + 'hour': 'bir saat', + 'hours': '{0} saat', + 'day': 'bir gün', + 'days': '{0} gün', + 'month': 'bir ay', + 'months': '{0} ay', + 'year': 'il', + 'years': '{0} il', } - month_names = [ - "", - "Yanvar", - "Fevral", - "Mart", - "Aprel", - "May", - "İyun", - "İyul", - "Avqust", - "Sentyabr", - "Oktyabr", - "Noyabr", - "Dekabr", - ] - month_abbreviations = [ - "", - "Yan", - "Fev", - "Mar", - "Apr", - "May", - "İyn", - "İyl", - "Avq", - "Sen", - "Okt", - "Noy", - "Dek", - ] + month_names = ['', 'Yanvar', 'Fevral', 'Mart', 'Aprel', 'May', 'İyun', 'İyul', + 'Avqust', 'Sentyabr', 'Oktyabr', 'Noyabr', 'Dekabr'] + month_abbreviations = ['', 'Yan', 'Fev', 'Mar', 'Apr', 'May', 'İyn', 'İyl', 'Avq', + 'Sen', 'Okt', 'Noy', 'Dek'] - day_names = [ - "", - "Bazar ertÉ™si", - "ÇərÅŸÉ™nbÉ™ axÅŸamı", - "ÇərÅŸÉ™nbÉ™", - "CümÉ™ axÅŸamı", - "CümÉ™", - "ŞənbÉ™", - "Bazar", - ] - day_abbreviations = ["", "Ber", "Çax", "Çər", "Cax", "Cüm", "Åžnb", "Bzr"] + day_names = ['', 'Bazar ertÉ™si', 'ÇərÅŸÉ™nbÉ™ axÅŸamı', 'ÇərÅŸÉ™nbÉ™', 'CümÉ™ axÅŸamı', 'CümÉ™', 'ŞənbÉ™', 'Bazar'] + day_abbreviations = ['', 'Ber', 'Çax', 'Çər', 'Cax', 'Cüm', 'Åžnb', 'Bzr'] class ArabicLocale(Locale): - names = [ - "ar", - "ar-ae", - "ar-bh", - "ar-dj", - "ar-eg", - "ar-eh", - "ar-er", - "ar-km", - "ar-kw", - "ar-ly", - "ar-om", - "ar-qa", - "ar-sa", - "ar-sd", - "ar-so", - "ar-ss", - "ar-td", - "ar-ye", - ] - past = "منذ {0}" - future = "خلال {0}" + names = ['ar', 'ar_eg'] - timeframes: ClassVar[Mapping[TimeFrameLiteral, Union[str, Mapping[str, str]]]] = { - "now": "الآن", - "second": "ثانية", - "seconds": {"2": "ثانيتين", "ten": "{0} ثوان", "higher": "{0} ثانية"}, - "minute": "دقيقة", - "minutes": {"2": "دقيقتين", "ten": "{0} دقائق", "higher": "{0} دقيقة"}, - "hour": "ساعة", - "hours": {"2": "ساعتين", "ten": "{0} ساعات", "higher": "{0} ساعة"}, - "day": "يوم", - "days": {"2": "يومين", "ten": "{0} أيام", "higher": "{0} يوم"}, - "week": "اسبوع", - "weeks": {"2": "اسبوعين", "ten": "{0} أسابيع", "higher": "{0} اسبوع"}, - "month": "شهر", - "months": {"2": "شهرين", "ten": "{0} أشهر", "higher": "{0} شهر"}, - "year": "سنة", - "years": {"2": "سنتين", "ten": "{0} سنوات", "higher": "{0} سنة"}, + past = 'منذ {0}' + future = 'خلال {0}' + + timeframes = { + 'now': 'الآن', + 'seconds': 'ثوان', + 'minute': 'دقيقة', + 'minutes': '{0} دقائق', + 'hour': 'ساعة', + 'hours': '{0} ساعات', + 'day': 'يوم', + 'days': '{0} أيام', + 'month': 'شهر', + 'months': '{0} شهور', + 'year': 'سنة', + 'years': '{0} سنوات', } - month_names = [ - "", - "يناير", - "ÙØ¨Ø±Ø§ÙŠØ±", - "مارس", - "أبريل", - "مايو", - "يونيو", - "يوليو", - "أغسطس", - "سبتمبر", - "أكتوبر", - "نوÙمبر", - "ديسمبر", - ] - month_abbreviations = [ - "", - "يناير", - "ÙØ¨Ø±Ø§ÙŠØ±", - "مارس", - "أبريل", - "مايو", - "يونيو", - "يوليو", - "أغسطس", - "سبتمبر", - "أكتوبر", - "نوÙمبر", - "ديسمبر", - ] + month_names = ['', 'يناير', 'ÙØ¨Ø±Ø§ÙŠØ±', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', + 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوÙمبر', 'ديسمبر'] + month_abbreviations = ['', 'يناير', 'ÙØ¨Ø±Ø§ÙŠØ±', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', + 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوÙمبر', 'ديسمبر'] - day_names = [ - "", - "الإثنين", - "الثلاثاء", - "الأربعاء", - "الخميس", - "الجمعة", - "السبت", - "الأحد", - ] - day_abbreviations = ["", "إثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت", "أحد"] - - def _format_timeframe(self, timeframe: TimeFrameLiteral, delta: int) -> str: - form = self.timeframes[timeframe] - delta = abs(delta) - if isinstance(form, Mapping): - if delta == 2: - form = form["2"] - elif 2 < delta <= 10: - form = form["ten"] - else: - form = form["higher"] - - return form.format(delta) - - -class LevantArabicLocale(ArabicLocale): - names = ["ar-iq", "ar-jo", "ar-lb", "ar-ps", "ar-sy"] - month_names = [ - "", - "كانون الثاني", - "شباط", - "آذار", - "نيسان", - "أيار", - "حزيران", - "تموز", - "آب", - "أيلول", - "تشرين الأول", - "تشرين الثاني", - "كانون الأول", - ] - month_abbreviations = [ - "", - "كانون الثاني", - "شباط", - "آذار", - "نيسان", - "أيار", - "حزيران", - "تموز", - "آب", - "أيلول", - "تشرين الأول", - "تشرين الثاني", - "كانون الأول", - ] - - -class AlgeriaTunisiaArabicLocale(ArabicLocale): - names = ["ar-tn", "ar-dz"] - month_names = [ - "", - "جانÙÙŠ", - "ÙÙŠÙØ±ÙŠ", - "مارس", - "Ø£ÙØ±ÙŠÙ„", - "ماي", - "جوان", - "جويلية", - "أوت", - "سبتمبر", - "أكتوبر", - "نوÙمبر", - "ديسمبر", - ] - month_abbreviations = [ - "", - "جانÙÙŠ", - "ÙÙŠÙØ±ÙŠ", - "مارس", - "Ø£ÙØ±ÙŠÙ„", - "ماي", - "جوان", - "جويلية", - "أوت", - "سبتمبر", - "أكتوبر", - "نوÙمبر", - "ديسمبر", - ] - - -class MauritaniaArabicLocale(ArabicLocale): - names = ["ar-mr"] - month_names = [ - "", - "يناير", - "ÙØ¨Ø±Ø§ÙŠØ±", - "مارس", - "إبريل", - "مايو", - "يونيو", - "يوليو", - "أغشت", - "شتمبر", - "أكتوبر", - "نوÙمبر", - "دجمبر", - ] - month_abbreviations = [ - "", - "يناير", - "ÙØ¨Ø±Ø§ÙŠØ±", - "مارس", - "إبريل", - "مايو", - "يونيو", - "يوليو", - "أغشت", - "شتمبر", - "أكتوبر", - "نوÙمبر", - "دجمبر", - ] - - -class MoroccoArabicLocale(ArabicLocale): - names = ["ar-ma"] - month_names = [ - "", - "يناير", - "ÙØ¨Ø±Ø§ÙŠØ±", - "مارس", - "أبريل", - "ماي", - "يونيو", - "يوليوز", - "غشت", - "شتنبر", - "أكتوبر", - "نونبر", - "دجنبر", - ] - month_abbreviations = [ - "", - "يناير", - "ÙØ¨Ø±Ø§ÙŠØ±", - "مارس", - "أبريل", - "ماي", - "يونيو", - "يوليوز", - "غشت", - "شتنبر", - "أكتوبر", - "نونبر", - "دجنبر", - ] + day_names = ['', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت', 'الأحد'] + day_abbreviations = ['', 'اثنين', 'ثلاثاء', 'أربعاء', 'خميس', 'جمعة', 'سبت', 'أحد'] class IcelandicLocale(Locale): - def _format_timeframe(self, timeframe: TimeFrameLiteral, delta: int) -> str: - form = self.timeframes[timeframe] - if isinstance(form, Mapping): - if delta < 0: - form = form["past"] - elif delta > 0: - form = form["future"] - else: - raise ValueError( - "Icelandic Locale does not support units with a delta of zero. " - "Please consider making a contribution to fix this issue." - ) - # FIXME: handle when delta is 0 + def _format_timeframe(self, timeframe, delta): - return form.format(abs(delta)) + timeframe = self.timeframes[timeframe] + if delta < 0: + timeframe = timeframe[0] + elif delta > 0: + timeframe = timeframe[1] - names = ["is", "is-is"] + return timeframe.format(abs(delta)) - past = "fyrir {0} síðan" - future = "eftir {0}" + names = ['is', 'is_is'] - timeframes: ClassVar[Mapping[TimeFrameLiteral, Union[str, Mapping[str, str]]]] = { - "now": "rétt í þessu", - "second": {"past": "sekúndu", "future": "sekúndu"}, - "seconds": {"past": "{0} nokkrum sekúndum", "future": "nokkrar sekúndur"}, - "minute": {"past": "einni mínútu", "future": "eina mínútu"}, - "minutes": {"past": "{0} mínútum", "future": "{0} mínútur"}, - "hour": {"past": "einum tíma", "future": "einn tíma"}, - "hours": {"past": "{0} tímum", "future": "{0} tíma"}, - "day": {"past": "einum degi", "future": "einn dag"}, - "days": {"past": "{0} dögum", "future": "{0} daga"}, - "month": {"past": "einum mánuði", "future": "einn mánuð"}, - "months": {"past": "{0} mánuðum", "future": "{0} mánuði"}, - "year": {"past": "einu ári", "future": "eitt ár"}, - "years": {"past": "{0} árum", "future": "{0} ár"}, + past = 'fyrir {0} síðan' + future = 'eftir {0}' + + timeframes = { + 'now': 'rétt í þessu', + 'seconds': ('nokkrum sekúndum', 'nokkrar sekúndur'), + 'minute': ('einni mínútu', 'eina mínútu'), + 'minutes': ('{0} mínútum', '{0} mínútur'), + 'hour': ('einum tíma', 'einn tíma'), + 'hours': ('{0} tímum', '{0} tíma'), + 'day': ('einum degi', 'einn dag'), + 'days': ('{0} dögum', '{0} daga'), + 'month': ('einum mánuði', 'einn mánuð'), + 'months': ('{0} mánuðum', '{0} mánuði'), + 'year': ('einu ári', 'eitt ár'), + 'years': ('{0} árum', '{0} ár'), } - meridians = {"am": "f.h.", "pm": "e.h.", "AM": "f.h.", "PM": "e.h."} + meridians = { + 'am': 'f.h.', + 'pm': 'e.h.', + 'AM': 'f.h.', + 'PM': 'e.h.', + } - month_names = [ - "", - "janúar", - "febrúar", - "mars", - "apríl", - "maí", - "júní", - "júlí", - "ágúst", - "september", - "október", - "nóvember", - "desember", - ] - month_abbreviations = [ - "", - "jan", - "feb", - "mar", - "apr", - "maí", - "jún", - "júl", - "ágú", - "sep", - "okt", - "nóv", - "des", - ] + month_names = ['', 'janúar', 'febrúar', 'mars', 'apríl', 'maí', 'júní', + 'júlí', 'ágúst', 'september', 'október', 'nóvember', 'desember'] + month_abbreviations = ['', 'jan', 'feb', 'mar', 'apr', 'maí', 'jún', + 'júl', 'ágú', 'sep', 'okt', 'nóv', 'des'] - day_names = [ - "", - "mánudagur", - "þriðjudagur", - "miðvikudagur", - "fimmtudagur", - "föstudagur", - "laugardagur", - "sunnudagur", - ] - day_abbreviations = ["", "mán", "þri", "mið", "fim", "fös", "lau", "sun"] + day_names = ['', 'mánudagur', 'þriðjudagur', 'miðvikudagur', 'fimmtudagur', + 'föstudagur', 'laugardagur', 'sunnudagur'] + day_abbreviations = ['', 'mán', 'þri', 'mið', 'fim', 'fös', 'lau', 'sun'] class DanishLocale(Locale): - names = ["da", "da-dk"] - past = "for {0} siden" - future = "om {0}" - and_word = "og" + names = ['da', 'da_dk'] + + past = 'for {0} siden' + future = 'efter {0}' timeframes = { - "now": "lige nu", - "second": "et sekund", - "seconds": "{0} sekunder", - "minute": "et minut", - "minutes": "{0} minutter", - "hour": "en time", - "hours": "{0} timer", - "day": "en dag", - "days": "{0} dage", - "week": "en uge", - "weeks": "{0} uger", - "month": "en mÃ¥ned", - "months": "{0} mÃ¥neder", - "year": "et Ã¥r", - "years": "{0} Ã¥r", + 'now': 'lige nu', + 'seconds': 'et par sekunder', + 'minute': 'et minut', + 'minutes': '{0} minutter', + 'hour': 'en time', + 'hours': '{0} timer', + 'day': 'en dag', + 'days': '{0} dage', + 'month': 'en mÃ¥ned', + 'months': '{0} mÃ¥neder', + 'year': 'et Ã¥r', + 'years': '{0} Ã¥r', } - month_names = [ - "", - "januar", - "februar", - "marts", - "april", - "maj", - "juni", - "juli", - "august", - "september", - "oktober", - "november", - "december", - ] - month_abbreviations = [ - "", - "jan", - "feb", - "mar", - "apr", - "maj", - "jun", - "jul", - "aug", - "sep", - "okt", - "nov", - "dec", - ] + month_names = ['', 'januar', 'februar', 'marts', 'april', 'maj', 'juni', + 'juli', 'august', 'september', 'oktober', 'november', 'december'] + month_abbreviations = ['', 'jan', 'feb', 'mar', 'apr', 'maj', 'jun', + 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'] - day_names = [ - "", - "mandag", - "tirsdag", - "onsdag", - "torsdag", - "fredag", - "lørdag", - "søndag", - ] - day_abbreviations = ["", "man", "tir", "ons", "tor", "fre", "lør", "søn"] - - def _ordinal_number(self, n: int) -> str: - return f"{n}." + day_names = ['', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', + 'lørdag', 'søndag'] + day_abbreviations = ['', 'man', 'tir', 'ons', 'tor', 'fre', 'lør', 'søn'] class MalayalamLocale(Locale): - names = ["ml"] - past = "{0} à´®àµà´®àµà´ªàµ" - future = "{0} ശേഷം" + names = ['ml'] + + past = '{0} à´®àµà´®àµà´ªàµ' + future = '{0} ശേഷം' timeframes = { - "now": "ഇപàµà´ªàµ‹àµ¾", - "second": "ഒരൠനിമിഷം", - "seconds": "{0} സെകàµà´•à´¨àµà´±àµâ€Œ", - "minute": "ഒരൠമിനിറàµà´±àµ", - "minutes": "{0} മിനിറàµà´±àµ", - "hour": "ഒരൠമണികàµà´•ൂർ", - "hours": "{0} മണികàµà´•ൂർ", - "day": "ഒരൠദിവസം ", - "days": "{0} ദിവസം ", - "month": "ഒരൠമാസം ", - "months": "{0} മാസം ", - "year": "ഒരൠവർഷം ", - "years": "{0} വർഷം ", + 'now': 'ഇപàµà´ªàµ‹àµ¾', + 'seconds': 'സെകàµà´•à´¨àµà´±àµâ€Œ', + 'minute': 'ഒരൠമിനിറàµà´±àµ', + 'minutes': '{0} മിനിറàµà´±àµ', + 'hour': 'ഒരൠമണികàµà´•ൂർ', + 'hours': '{0} മണികàµà´•ൂർ', + 'day': 'ഒരൠദിവസം ', + 'days': '{0} ദിവസം ', + 'month': 'ഒരൠമാസം ', + 'months': '{0} മാസം ', + 'year': 'ഒരൠവർഷം ', + 'years': '{0} വർഷം ', } meridians = { - "am": "രാവിലെ", - "pm": "ഉചàµà´šà´•àµà´•ൠശേഷം", - "AM": "രാവിലെ", - "PM": "ഉചàµà´šà´•àµà´•ൠശേഷം", + 'am': 'രാവിലെ', + 'pm': 'ഉചàµà´šà´•àµà´•ൠശേഷം', + 'AM': 'രാവിലെ', + 'PM': 'ഉചàµà´šà´•àµà´•ൠശേഷം', } - month_names = [ - "", - "ജനàµà´µà´°à´¿", - "ഫെബàµà´°àµà´µà´°à´¿", - "മാർചàµà´šàµâ€Œ", - "à´à´ªàµà´°à´¿àµ½ ", - "മെയàµâ€Œ ", - "ജൂണàµâ€", - "ജൂലൈ", - "à´“à´—à´¸àµà´±àµà´±àµâ€Œ", - "സെപàµà´±àµà´±à´‚ബർ", - "à´’à´•àµà´Ÿàµ‹à´¬àµ¼", - "നവംബർ", - "ഡിസംബർ", - ] - month_abbreviations = [ - "", - "ജനàµ", - "ഫെബൠ", - "മാർ", - "à´à´ªàµà´°à´¿àµ½", - "മേയàµ", - "ജൂണàµâ€", - "ജൂലൈ", - "à´“à´—à´¸àµà´±", - "സെപàµà´±àµà´±", - "à´’à´•àµà´Ÿàµ‹", - "നവം", - "ഡിസം", - ] + month_names = ['', 'ജനàµà´µà´°à´¿', 'ഫെബàµà´°àµà´µà´°à´¿', 'മാർചàµà´šàµâ€Œ', 'à´à´ªàµà´°à´¿àµ½ ', 'മെയàµâ€Œ ', 'ജൂണàµâ€', 'ജൂലൈ', + 'à´“à´—à´¸àµà´±àµà´±àµâ€Œ', 'സെപàµà´±àµà´±à´‚ബർ', 'à´’à´•àµà´Ÿàµ‹à´¬àµ¼', 'നവംബർ', 'ഡിസംബർ'] + month_abbreviations = ['', 'ജനàµ', 'ഫെബൠ', 'മാർ', 'à´à´ªàµà´°à´¿àµ½', 'മേയàµ', 'ജൂണàµâ€', 'ജൂലൈ', 'à´“à´—à´¸àµà´±', + 'സെപàµà´±àµà´±', 'à´’à´•àµà´Ÿàµ‹', 'നവം', 'ഡിസം'] - day_names = ["", "തിങàµà´•à´³àµâ€", "ചൊവàµà´µ", "à´¬àµà´§à´¨àµâ€", "à´µàµà´¯à´¾à´´à´‚", "വെളàµà´³à´¿", "ശനി", "ഞായരàµâ€"] - day_abbreviations = [ - "", - "തിങàµà´•à´³àµâ€", - "ചൊവàµà´µ", - "à´¬àµà´§à´¨àµâ€", - "à´µàµà´¯à´¾à´´à´‚", - "വെളàµà´³à´¿", - "ശനി", - "ഞായരàµâ€", - ] + day_names = ['', 'തിങàµà´•à´³àµâ€', 'ചൊവàµà´µ', 'à´¬àµà´§à´¨àµâ€', 'à´µàµà´¯à´¾à´´à´‚', 'വെളàµà´³à´¿', 'ശനി', 'ഞായരàµâ€'] + day_abbreviations = ['', 'തിങàµà´•à´³àµâ€', 'ചൊവàµà´µ', 'à´¬àµà´§à´¨àµâ€', 'à´µàµà´¯à´¾à´´à´‚', 'വെളàµà´³à´¿', 'ശനി', 'ഞായരàµâ€'] class HindiLocale(Locale): - names = ["hi", "hi-in"] - past = "{0} पहले" - future = "{0} बाद" + names = ['hi'] + + past = '{0} पहले' + future = '{0} बाद' timeframes = { - "now": "अभी", - "second": "à¤à¤• पल", - "seconds": "{0} सेकंडà¥", - "minute": "à¤à¤• मिनट ", - "minutes": "{0} मिनट ", - "hour": "à¤à¤• घंटा", - "hours": "{0} घंटे", - "day": "à¤à¤• दिन", - "days": "{0} दिन", - "month": "à¤à¤• माह ", - "months": "{0} महीने ", - "year": "à¤à¤• वरà¥à¤· ", - "years": "{0} साल ", + 'now': 'अभी', + 'seconds': 'सेकंडà¥', + 'minute': 'à¤à¤• मिनट ', + 'minutes': '{0} मिनट ', + 'hour': 'à¤à¤• घंटा', + 'hours': '{0} घंटे', + 'day': 'à¤à¤• दिन', + 'days': '{0} दिन', + 'month': 'à¤à¤• माह ', + 'months': '{0} महीने ', + 'year': 'à¤à¤• वरà¥à¤· ', + 'years': '{0} साल ', } - meridians = {"am": "सà¥à¤¬à¤¹", "pm": "शाम", "AM": "सà¥à¤¬à¤¹", "PM": "शाम"} + meridians = { + 'am': 'सà¥à¤¬à¤¹', + 'pm': 'शाम', + 'AM': 'सà¥à¤¬à¤¹', + 'PM': 'शाम', + } - month_names = [ - "", - "जनवरी", - "फरवरी", - "मारà¥à¤š", - "अपà¥à¤°à¥ˆà¤² ", - "मई", - "जून", - "जà¥à¤²à¤¾à¤ˆ", - "अगसà¥à¤¤", - "सितंबर", - "अकà¥à¤Ÿà¥‚बर", - "नवंबर", - "दिसंबर", - ] - month_abbreviations = [ - "", - "जन", - "फ़र", - "मारà¥à¤š", - "अपà¥à¤°à¥ˆ", - "मई", - "जून", - "जà¥à¤²à¤¾à¤ˆ", - "आग", - "सित", - "अकत", - "नवे", - "दिस", - ] - - day_names = [ - "", - "सोमवार", - "मंगलवार", - "बà¥à¤§à¤µà¤¾à¤°", - "गà¥à¤°à¥à¤µà¤¾à¤°", - "शà¥à¤•à¥à¤°à¤µà¤¾à¤°", - "शनिवार", - "रविवार", - ] - day_abbreviations = ["", "सोम", "मंगल", "बà¥à¤§", "गà¥à¤°à¥à¤µà¤¾à¤°", "शà¥à¤•à¥à¤°", "शनि", "रवि"] + month_names = ['', 'जनवरी', 'फरवरी', 'मारà¥à¤š', 'अपà¥à¤°à¥ˆà¤² ', 'मई', 'जून', 'जà¥à¤²à¤¾à¤ˆ', + 'अगसà¥à¤¤', 'सितंबर', 'अकà¥à¤Ÿà¥‚बर', 'नवंबर', 'दिसंबर'] + month_abbreviations = ['', 'जन', 'फ़र', 'मारà¥à¤š', 'अपà¥à¤°à¥ˆ', 'मई', 'जून', 'जà¥à¤²à¤¾à¤ˆ', 'आग', + 'सित', 'अकत', 'नवे', 'दिस'] + day_names = ['', 'सोमवार', 'मंगलवार', 'बà¥à¤§à¤µà¤¾à¤°', 'गà¥à¤°à¥à¤µà¤¾à¤°', 'शà¥à¤•à¥à¤°à¤µà¤¾à¤°', 'शनिवार', 'रविवार'] + day_abbreviations = ['', 'सोम', 'मंगल', 'बà¥à¤§', 'गà¥à¤°à¥à¤µà¤¾à¤°', 'शà¥à¤•à¥à¤°', 'शनि', 'रवि'] class CzechLocale(Locale): - names = ["cs", "cs-cz"] - - timeframes: ClassVar[Mapping[TimeFrameLiteral, Union[str, Mapping[str, str]]]] = { - "now": "TeÄ", - "second": {"past": "vteÅ™ina", "future": "vteÅ™ina"}, - "seconds": { - "zero": "vteÅ™ina", - "past": "{0} sekundami", - "future-singular": "{0} sekundy", - "future-paucal": "{0} sekund", - }, - "minute": {"past": "minutou", "future": "minutu"}, - "minutes": { - "zero": "{0} minut", - "past": "{0} minutami", - "future-singular": "{0} minuty", - "future-paucal": "{0} minut", - }, - "hour": {"past": "hodinou", "future": "hodinu"}, - "hours": { - "zero": "{0} hodin", - "past": "{0} hodinami", - "future-singular": "{0} hodiny", - "future-paucal": "{0} hodin", - }, - "day": {"past": "dnem", "future": "den"}, - "days": { - "zero": "{0} dnů", - "past": "{0} dny", - "future-singular": "{0} dny", - "future-paucal": "{0} dnů", - }, - "week": {"past": "týdnem", "future": "týden"}, - "weeks": { - "zero": "{0} týdnů", - "past": "{0} týdny", - "future-singular": "{0} týdny", - "future-paucal": "{0} týdnů", - }, - "month": {"past": "mÄ›sícem", "future": "mÄ›síc"}, - "months": { - "zero": "{0} mÄ›síců", - "past": "{0} mÄ›síci", - "future-singular": "{0} mÄ›síce", - "future-paucal": "{0} mÄ›síců", - }, - "year": {"past": "rokem", "future": "rok"}, - "years": { - "zero": "{0} let", - "past": "{0} lety", - "future-singular": "{0} roky", - "future-paucal": "{0} let", - }, - } - - past = "PÅ™ed {0}" - future = "Za {0}" - - month_names = [ - "", - "leden", - "únor", - "bÅ™ezen", - "duben", - "kvÄ›ten", - "Äerven", - "Äervenec", - "srpen", - "září", - "říjen", - "listopad", - "prosinec", - ] - month_abbreviations = [ - "", - "led", - "úno", - "bÅ™e", - "dub", - "kvÄ›", - "Ävn", - "Ävc", - "srp", - "zář", - "říj", - "lis", - "pro", - ] - - day_names = [ - "", - "pondÄ›lí", - "úterý", - "stÅ™eda", - "Ätvrtek", - "pátek", - "sobota", - "nedÄ›le", - ] - day_abbreviations = ["", "po", "út", "st", "Ät", "pá", "so", "ne"] - - def _format_timeframe(self, timeframe: TimeFrameLiteral, delta: int) -> str: - """Czech aware time frame format function, takes into account - the differences between past and future forms.""" - abs_delta = abs(delta) - form = self.timeframes[timeframe] - - if isinstance(form, str): - return form.format(abs_delta) - - if delta == 0: - key = "zero" # And *never* use 0 in the singular! - elif delta < 0: - key = "past" - else: - # Needed since both regular future and future-singular and future-paucal cases - if "future-singular" not in form: - key = "future" - elif 2 <= abs_delta % 10 <= 4 and ( - abs_delta % 100 < 10 or abs_delta % 100 >= 20 - ): - key = "future-singular" - else: - key = "future-paucal" - - form: str = form[key] - return form.format(abs_delta) - - -class SlovakLocale(Locale): - names = ["sk", "sk-sk"] - - timeframes: ClassVar[Mapping[TimeFrameLiteral, Union[str, Mapping[str, str]]]] = { - "now": "Teraz", - "second": {"past": "sekundou", "future": "sekundu"}, - "seconds": { - "zero": "{0} sekúnd", - "past": "{0} sekundami", - "future-singular": "{0} sekundy", - "future-paucal": "{0} sekúnd", - }, - "minute": {"past": "minútou", "future": "minútu"}, - "minutes": { - "zero": "{0} minút", - "past": "{0} minútami", - "future-singular": "{0} minúty", - "future-paucal": "{0} minút", - }, - "hour": {"past": "hodinou", "future": "hodinu"}, - "hours": { - "zero": "{0} hodín", - "past": "{0} hodinami", - "future-singular": "{0} hodiny", - "future-paucal": "{0} hodín", - }, - "day": {"past": "dňom", "future": "deň"}, - "days": { - "zero": "{0} dní", - "past": "{0} dňami", - "future-singular": "{0} dni", - "future-paucal": "{0} dní", - }, - "week": {"past": "týždňom", "future": "týždeň"}, - "weeks": { - "zero": "{0} týždňov", - "past": "{0} týždňami", - "future-singular": "{0} týždne", - "future-paucal": "{0} týždňov", - }, - "month": {"past": "mesiacom", "future": "mesiac"}, - "months": { - "zero": "{0} mesiacov", - "past": "{0} mesiacmi", - "future-singular": "{0} mesiace", - "future-paucal": "{0} mesiacov", - }, - "year": {"past": "rokom", "future": "rok"}, - "years": { - "zero": "{0} rokov", - "past": "{0} rokmi", - "future-singular": "{0} roky", - "future-paucal": "{0} rokov", - }, - } - - past = "Pred {0}" - future = "O {0}" - and_word = "a" - - month_names = [ - "", - "január", - "február", - "marec", - "apríl", - "máj", - "jún", - "júl", - "august", - "september", - "október", - "november", - "december", - ] - month_abbreviations = [ - "", - "jan", - "feb", - "mar", - "apr", - "máj", - "jún", - "júl", - "aug", - "sep", - "okt", - "nov", - "dec", - ] - - day_names = [ - "", - "pondelok", - "utorok", - "streda", - "Å¡tvrtok", - "piatok", - "sobota", - "nedeľa", - ] - day_abbreviations = ["", "po", "ut", "st", "Å¡t", "pi", "so", "ne"] - - def _format_timeframe(self, timeframe: TimeFrameLiteral, delta: int) -> str: - """Slovak aware time frame format function, takes into account - the differences between past and future forms.""" - abs_delta = abs(delta) - form = self.timeframes[timeframe] - - if isinstance(form, str): - return form.format(abs_delta) - - if delta == 0: - key = "zero" # And *never* use 0 in the singular! - elif delta < 0: - key = "past" - else: - if "future-singular" not in form: - key = "future" - elif 2 <= abs_delta % 10 <= 4 and ( - abs_delta % 100 < 10 or abs_delta % 100 >= 20 - ): - key = "future-singular" - else: - key = "future-paucal" - - form: str = form[key] - return form.format(abs_delta) - - -class FarsiLocale(Locale): - names = ["fa", "fa-ir"] - - past = "{0} قبل" - future = "در {0}" + names = ['cs', 'cs_cz'] timeframes = { - "now": "اکنون", - "second": "یک لحظه", - "seconds": "{0} ثانیه", - "minute": "یک دقیقه", - "minutes": "{0} دقیقه", - "hour": "یک ساعت", - "hours": "{0} ساعت", - "day": "یک روز", - "days": "{0} روز", - "month": "یک ماه", - "months": "{0} ماه", - "year": "یک سال", - "years": "{0} سال", + 'now': 'TeÄ', + 'seconds': { + 'past': '{0} sekundami', + 'future': ['{0} sekundy', '{0} sekund'] + }, + 'minute': {'past': 'minutou', 'future': 'minutu', 'zero': '{0} minut'}, + 'minutes': { + 'past': '{0} minutami', + 'future': ['{0} minuty', '{0} minut'] + }, + 'hour': {'past': 'hodinou', 'future': 'hodinu', 'zero': '{0} hodin'}, + 'hours': { + 'past': '{0} hodinami', + 'future': ['{0} hodiny', '{0} hodin'] + }, + 'day': {'past': 'dnem', 'future': 'den', 'zero': '{0} dnů'}, + 'days': { + 'past': '{0} dny', + 'future': ['{0} dny', '{0} dnů'] + }, + 'month': {'past': 'mÄ›sícem', 'future': 'mÄ›síc', 'zero': '{0} mÄ›síců'}, + 'months': { + 'past': '{0} mÄ›síci', + 'future': ['{0} mÄ›síce', '{0} mÄ›síců'] + }, + 'year': {'past': 'rokem', 'future': 'rok', 'zero': '{0} let'}, + 'years': { + 'past': '{0} lety', + 'future': ['{0} roky', '{0} let'] + } } - meridians = { - "am": "قبل از ظهر", - "pm": "بعد از ظهر", - "AM": "قبل از ظهر", - "PM": "بعد از ظهر", - } + past = 'PÅ™ed {0}' + future = 'Za {0}' - month_names = [ - "", - "January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December", - ] - month_abbreviations = [ - "", - "Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec", - ] + month_names = ['', 'leden', 'únor', 'bÅ™ezen', 'duben', 'kvÄ›ten', 'Äerven', + 'Äervenec', 'srpen', 'září', 'říjen', 'listopad', 'prosinec'] + month_abbreviations = ['', 'led', 'úno', 'bÅ™e', 'dub', 'kvÄ›', 'Ävn', 'Ävc', + 'srp', 'zář', 'říj', 'lis', 'pro'] - day_names = [ - "", - "دو شنبه", - "سه شنبه", - "چهارشنبه", - "پنجشنبه", - "جمعه", - "شنبه", - "یکشنبه", - ] - day_abbreviations = ["", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"] + day_names = ['', 'pondÄ›lí', 'úterý', 'stÅ™eda', 'Ätvrtek', 'pátek', + 'sobota', 'nedÄ›le'] + day_abbreviations = ['', 'po', 'út', 'st', 'Ät', 'pá', 'so', 'ne'] -class HebrewLocale(Locale): - names = ["he", "he-il"] - - past = "לפני {0}" - future = "בעוד {0}" - and_word = "ו" - - timeframes: ClassVar[Mapping[TimeFrameLiteral, Union[str, Mapping[str, str]]]] = { - "now": "הרגע", - "second": "שנייה", - "seconds": "{0} שניות", - "minute": "דקה", - "minutes": "{0} דקות", - "hour": "שעה", - "hours": {"2": "שעתיי×", "ten": "{0} שעות", "higher": "{0} שעות"}, - "day": "יו×", - "days": {"2": "יומיי×", "ten": "{0} ימי×", "higher": "{0} יו×"}, - "week": "שבוע", - "weeks": {"2": "שבועיי×", "ten": "{0} שבועות", "higher": "{0} שבועות"}, - "month": "חודש", - "months": {"2": "חודשיי×", "ten": "{0} חודשי×", "higher": "{0} חודשי×"}, - "year": "שנה", - "years": {"2": "שנתיי×", "ten": "{0} שני×", "higher": "{0} שנה"}, - } - - meridians = { - "am": 'לפנ"צ', - "pm": '×חר"צ', - "AM": "לפני הצהריי×", - "PM": "×חרי הצהריי×", - } - - month_names = [ - "", - "ינו×ר", - "פברו×ר", - "מרץ", - "×פריל", - "מ××™", - "יוני", - "יולי", - "×וגוסט", - "ספטמבר", - "×וקטובר", - "נובמבר", - "דצמבר", - ] - month_abbreviations = [ - "", - "ינו׳", - "פבר׳", - "מרץ", - "×פר׳", - "מ××™", - "יוני", - "יולי", - "×וג׳", - "ספט׳", - "×וק׳", - "נוב׳", - "דצמ׳", - ] - - day_names = ["", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת", "ר×שון"] - day_abbreviations = ["", "ב׳", "ג׳", "ד׳", "ה׳", "ו׳", "ש׳", "×׳"] - - def _format_timeframe(self, timeframe: TimeFrameLiteral, delta: int) -> str: + def _format_timeframe(self, timeframe, delta): + '''Czech aware time frame format function, takes into account + the differences between past and future forms.''' form = self.timeframes[timeframe] - delta = abs(delta) - if isinstance(form, Mapping): - if delta == 2: - form = form["2"] - elif delta == 0 or 2 < delta <= 10: - form = form["ten"] + if isinstance(form, dict): + if delta == 0: + form = form['zero'] # And *never* use 0 in the singular! + elif delta > 0: + form = form['future'] else: - form = form["higher"] + form = form['past'] + delta = abs(delta) + + if isinstance(form, list): + if 2 <= delta % 10 <= 4 and (delta % 100 < 10 or delta % 100 >= 20): + form = form[0] + else: + form = form[1] return form.format(delta) - def describe_multi( - self, - timeframes: Sequence[Tuple[TimeFrameLiteral, Union[int, float]]], - only_distance: bool = False, - ) -> str: - """Describes a delta within multiple timeframes in plain language. - In Hebrew, the and word behaves a bit differently. - :param timeframes: a list of string, quantity pairs each representing a timeframe and delta. - :param only_distance: return only distance eg: "2 hours and 11 seconds" without "in" or "ago" keywords - """ +class SlovakLocale(Locale): + names = ['sk', 'sk_sk'] - humanized = "" - for index, (timeframe, delta) in enumerate(timeframes): - last_humanized = self._format_timeframe(timeframe, trunc(delta)) - if index == 0: - humanized = last_humanized - elif index == len(timeframes) - 1: # Must have at least 2 items - humanized += " " + self.and_word - if last_humanized[0].isdecimal(): - humanized += "Ö¾" - humanized += last_humanized - else: # Don't add for the last one - humanized += ", " + last_humanized + timeframes = { + 'now': 'Teraz', + 'seconds': { + 'past': 'pár sekundami', + 'future': ['{0} sekundy', '{0} sekúnd'] + }, + 'minute': {'past': 'minútou', 'future': 'minútu', 'zero': '{0} minút'}, + 'minutes': { + 'past': '{0} minútami', + 'future': ['{0} minúty', '{0} minút'] + }, + 'hour': {'past': 'hodinou', 'future': 'hodinu', 'zero': '{0} hodín'}, + 'hours': { + 'past': '{0} hodinami', + 'future': ['{0} hodiny', '{0} hodín'] + }, + 'day': {'past': 'dňom', 'future': 'deň', 'zero': '{0} dní'}, + 'days': { + 'past': '{0} dňami', + 'future': ['{0} dni', '{0} dní'] + }, + 'month': {'past': 'mesiacom', 'future': 'mesiac', 'zero': '{0} mesiacov'}, + 'months': { + 'past': '{0} mesiacmi', + 'future': ['{0} mesiace', '{0} mesiacov'] + }, + 'year': {'past': 'rokom', 'future': 'rok', 'zero': '{0} rokov'}, + 'years': { + 'past': '{0} rokmi', + 'future': ['{0} roky', '{0} rokov'] + } + } - if not only_distance: - humanized = self._format_relative(humanized, timeframe, trunc(delta)) + past = 'Pred {0}' + future = 'O {0}' - return humanized + month_names = ['', 'január', 'február', 'marec', 'apríl', 'máj', 'jún', + 'júl', 'august', 'september', 'október', 'november', 'december'] + month_abbreviations = ['', 'jan', 'feb', 'mar', 'apr', 'máj', 'jún', 'júl', + 'aug', 'sep', 'okt', 'nov', 'dec'] + day_names = ['', 'pondelok', 'utorok', 'streda', 'Å¡tvrtok', 'piatok', + 'sobota', 'nedeľa'] + day_abbreviations = ['', 'po', 'ut', 'st', 'Å¡t', 'pi', 'so', 'ne'] + + + def _format_timeframe(self, timeframe, delta): + '''Slovak aware time frame format function, takes into account + the differences between past and future forms.''' + form = self.timeframes[timeframe] + if isinstance(form, dict): + if delta == 0: + form = form['zero'] # And *never* use 0 in the singular! + elif delta > 0: + form = form['future'] + else: + form = form['past'] + delta = abs(delta) + + if isinstance(form, list): + if 2 <= delta % 10 <= 4 and (delta % 100 < 10 or delta % 100 >= 20): + form = form[0] + else: + form = form[1] + + return form.format(delta) + + +class FarsiLocale(Locale): + + names = ['fa', 'fa_ir'] + + past = '{0} قبل' + future = 'در {0}' + + timeframes = { + 'now': 'اکنون', + 'seconds': 'ثانیه', + 'minute': 'یک دقیقه', + 'minutes': '{0} دقیقه', + 'hour': 'یک ساعت', + 'hours': '{0} ساعت', + 'day': 'یک روز', + 'days': '{0} روز', + 'month': 'یک ماه', + 'months': '{0} ماه', + 'year': 'یک سال', + 'years': '{0} سال', + } + + meridians = { + 'am': 'قبل از ظهر', + 'pm': 'بعد از ظهر', + 'AM': 'قبل از ظهر', + 'PM': 'بعد از ظهر', + } + + month_names = ['', 'January', 'February', 'March', 'April', 'May', 'June', 'July', + 'August', 'September', 'October', 'November', 'December'] + month_abbreviations = ['', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', + 'Sep', 'Oct', 'Nov', 'Dec'] + + day_names = ['', 'دو شنبه', 'سه شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه', 'یکشنبه'] + day_abbreviations = ['', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] + + +class MacedonianLocale(Locale): + names = ['mk', 'mk_mk'] + + past = 'пред {0}' + future = 'за {0}' + + timeframes = { + 'now': 'Ñега', + 'seconds': 'Ñекунди', + 'minute': 'една минута', + 'minutes': '{0} минути', + 'hour': 'еден Ñаат', + 'hours': '{0} Ñаати', + 'day': 'еден ден', + 'days': '{0} дена', + 'month': 'еден меÑец', + 'months': '{0} меÑеци', + 'year': 'една година', + 'years': '{0} години', + } + + meridians = { + 'am': 'дп', + 'pm': 'пп', + 'AM': 'претпладне', + 'PM': 'попладне', + } + + month_names = ['', 'Јануари', 'Февруари', 'Март', 'Ðприл', 'Мај', 'Јуни', 'Јули', 'ÐвгуÑÑ‚', 'Септември', 'Октомври', + 'Ðоември', 'Декември'] + month_abbreviations = ['', 'Јан.', ' Фев.', ' Мар.', ' Ðпр.', ' Мај', ' Јун.', ' Јул.', ' Ðвг.', ' Септ.', ' Окт.', + ' Ðоем.', ' Декем.'] + + day_names = ['', 'Понеделник', ' Вторник', ' Среда', ' Четврток', ' Петок', ' Сабота', ' Ðедела'] + day_abbreviations = ['', 'Пон.', ' Ð’Ñ‚.', ' Сре.', ' Чет.', ' Пет.', ' Саб.', ' Ðед.'] + + +class HebrewLocale(Locale): + + names = ['he', 'he_IL'] + + past = 'לפני {0}' + future = 'בעוד {0}' + + timeframes = { + 'now': 'הרגע', + 'seconds': 'שניות', + 'minute': 'דקה', + 'minutes': '{0} דקות', + 'hour': 'שעה', + 'hours': '{0} שעות', + '2-hours': 'שעתיי×', + 'day': 'יו×', + 'days': '{0} ימי×', + '2-days': 'יומיי×', + 'month': 'חודש', + 'months': '{0} חודשי×', + '2-months': 'חודשיי×', + 'year': 'שנה', + 'years': '{0} שני×', + '2-years': 'שנתיי×', + } + + meridians = { + 'am': 'לפנ"צ', + 'pm': '×חר"צ', + 'AM': 'לפני הצהריי×', + 'PM': '×חרי הצהריי×', + } + + month_names = ['', 'ינו×ר', 'פברו×ר', 'מרץ', '×פריל', 'מ××™', 'יוני', 'יולי', + '×וגוסט', 'ספטמבר', '×וקטובר', 'נובמבר', 'דצמבר'] + month_abbreviations = ['', 'ינו׳', 'פבר׳', 'מרץ', '×פר׳', 'מ××™', 'יוני', 'יולי', '×וג׳', + 'ספט׳', '×וק׳', 'נוב׳', 'דצמ׳'] + + day_names = ['', 'שני', 'שלישי', 'רביעי', 'חמישי', 'שישי', 'שבת', 'ר×שון'] + day_abbreviations = ['', 'ב׳', 'ג׳', 'ד׳', 'ה׳', 'ו׳', 'ש׳', '×׳'] + + def _format_timeframe(self, timeframe, delta): + '''Hebrew couple of aware''' + couple = '2-{0}'.format(timeframe) + if abs(delta) == 2 and couple in self.timeframes: + return self.timeframes[couple].format(abs(delta)) + else: + return self.timeframes[timeframe].format(abs(delta)) class MarathiLocale(Locale): - names = ["mr"] - past = "{0} आधी" - future = "{0} नंतर" + names = ['mr'] + + past = '{0} आधी' + future = '{0} नंतर' timeframes = { - "now": "सदà¥à¤¯", - "second": "à¤à¤• सेकंद", - "seconds": "{0} सेकंद", - "minute": "à¤à¤• मिनिट ", - "minutes": "{0} मिनिट ", - "hour": "à¤à¤• तास", - "hours": "{0} तास", - "day": "à¤à¤• दिवस", - "days": "{0} दिवस", - "month": "à¤à¤• महिना ", - "months": "{0} महिने ", - "year": "à¤à¤• वरà¥à¤· ", - "years": "{0} वरà¥à¤· ", + 'now': 'सदà¥à¤¯', + 'seconds': 'सेकंद', + 'minute': 'à¤à¤• मिनिट ', + 'minutes': '{0} मिनिट ', + 'hour': 'à¤à¤• तास', + 'hours': '{0} तास', + 'day': 'à¤à¤• दिवस', + 'days': '{0} दिवस', + 'month': 'à¤à¤• महिना ', + 'months': '{0} महिने ', + 'year': 'à¤à¤• वरà¥à¤· ', + 'years': '{0} वरà¥à¤· ', } - meridians = {"am": "सकाळ", "pm": "संधà¥à¤¯à¤¾à¤•ाळ", "AM": "सकाळ", "PM": "संधà¥à¤¯à¤¾à¤•ाळ"} + meridians = { + 'am': 'सकाळ', + 'pm': 'संधà¥à¤¯à¤¾à¤•ाळ', + 'AM': 'सकाळ', + 'PM': 'संधà¥à¤¯à¤¾à¤•ाळ', + } - month_names = [ - "", - "जानेवारी", - "फेबà¥à¤°à¥à¤µà¤¾à¤°à¥€", - "मारà¥à¤š", - "à¤à¤ªà¥à¤°à¤¿à¤²", - "मे", - "जून", - "जà¥à¤²à¥ˆ", - "अॉगसà¥à¤Ÿ", - "सपà¥à¤Ÿà¥‡à¤‚बर", - "अॉकà¥à¤Ÿà¥‹à¤¬à¤°", - "नोवà¥à¤¹à¥‡à¤‚बर", - "डिसेंबर", - ] - month_abbreviations = [ - "", - "जान", - "फेबà¥à¤°à¥", - "मारà¥à¤š", - "à¤à¤ªà¥à¤°à¤¿", - "मे", - "जून", - "जà¥à¤²à¥ˆ", - "अॉग", - "सपà¥à¤Ÿà¥‡à¤‚", - "अॉकà¥à¤Ÿà¥‹", - "नोवà¥à¤¹à¥‡à¤‚", - "डिसें", - ] + month_names = ['', 'जानेवारी', 'फेबà¥à¤°à¥à¤µà¤¾à¤°à¥€', 'मारà¥à¤š', 'à¤à¤ªà¥à¤°à¤¿à¤²', 'मे', 'जून', 'जà¥à¤²à¥ˆ', + 'अॉगसà¥à¤Ÿ', 'सपà¥à¤Ÿà¥‡à¤‚बर', 'अॉकà¥à¤Ÿà¥‹à¤¬à¤°', 'नोवà¥à¤¹à¥‡à¤‚बर', 'डिसेंबर'] + month_abbreviations = ['', 'जान', 'फेबà¥à¤°à¥', 'मारà¥à¤š', 'à¤à¤ªà¥à¤°à¤¿', 'मे', 'जून', 'जà¥à¤²à¥ˆ', 'अॉग', + 'सपà¥à¤Ÿà¥‡à¤‚', 'अॉकà¥à¤Ÿà¥‹', 'नोवà¥à¤¹à¥‡à¤‚', 'डिसें'] - day_names = [ - "", - "सोमवार", - "मंगळवार", - "बà¥à¤§à¤µà¤¾à¤°", - "गà¥à¤°à¥à¤µà¤¾à¤°", - "शà¥à¤•à¥à¤°à¤µà¤¾à¤°", - "शनिवार", - "रविवार", - ] - day_abbreviations = ["", "सोम", "मंगळ", "बà¥à¤§", "गà¥à¤°à¥", "शà¥à¤•à¥à¤°", "शनि", "रवि"] + day_names = ['', 'सोमवार', 'मंगळवार', 'बà¥à¤§à¤µà¤¾à¤°', 'गà¥à¤°à¥à¤µà¤¾à¤°', 'शà¥à¤•à¥à¤°à¤µà¤¾à¤°', 'शनिवार', 'रविवार'] + day_abbreviations = ['', 'सोम', 'मंगळ', 'बà¥à¤§', 'गà¥à¤°à¥', 'शà¥à¤•à¥à¤°', 'शनि', 'रवि'] +def _map_locales(): + + locales = {} + + for cls_name, cls in inspect.getmembers(sys.modules[__name__], inspect.isclass): + if issubclass(cls, Locale): + for name in cls.names: + locales[name.lower()] = cls + + return locales class CatalanLocale(Locale): - names = ["ca", "ca-es", "ca-ad", "ca-fr", "ca-it"] - past = "Fa {0}" - future = "En {0}" - and_word = "i" + names = ['ca', 'ca_es', 'ca_ad', 'ca_fr', 'ca_it'] + past = 'Fa {0}' + future = 'En {0}' timeframes = { - "now": "Ara mateix", - "second": "un segon", - "seconds": "{0} segons", - "minute": "un minut", - "minutes": "{0} minuts", - "hour": "una hora", - "hours": "{0} hores", - "day": "un dia", - "days": "{0} dies", - "month": "un mes", - "months": "{0} mesos", - "year": "un any", - "years": "{0} anys", + 'now': 'Ara mateix', + 'seconds': 'segons', + 'minute': '1 minut', + 'minutes': '{0} minuts', + 'hour': 'una hora', + 'hours': '{0} hores', + 'day': 'un dia', + 'days': '{0} dies', + 'month': 'un mes', + 'months': '{0} mesos', + 'year': 'un any', + 'years': '{0} anys', } - month_names = [ - "", - "gener", - "febrer", - "març", - "abril", - "maig", - "juny", - "juliol", - "agost", - "setembre", - "octubre", - "novembre", - "desembre", - ] - month_abbreviations = [ - "", - "gen.", - "febr.", - "març", - "abr.", - "maig", - "juny", - "jul.", - "ag.", - "set.", - "oct.", - "nov.", - "des.", - ] - day_names = [ - "", - "dilluns", - "dimarts", - "dimecres", - "dijous", - "divendres", - "dissabte", - "diumenge", - ] - day_abbreviations = [ - "", - "dl.", - "dt.", - "dc.", - "dj.", - "dv.", - "ds.", - "dg.", - ] - + month_names = ['', 'Gener', 'Febrer', 'Març', 'Abril', 'Maig', 'Juny', 'Juliol', 'Agost', 'Setembre', 'Octubre', 'Novembre', 'Desembre'] + month_abbreviations = ['', 'Gener', 'Febrer', 'Març', 'Abril', 'Maig', 'Juny', 'Juliol', 'Agost', 'Setembre', 'Octubre', 'Novembre', 'Desembre'] + day_names = ['', 'Dilluns', 'Dimarts', 'Dimecres', 'Dijous', 'Divendres', 'Dissabte', 'Diumenge'] + day_abbreviations = ['', 'Dilluns', 'Dimarts', 'Dimecres', 'Dijous', 'Divendres', 'Dissabte', 'Diumenge'] class BasqueLocale(Locale): - names = ["eu", "eu-eu"] - past = "duela {0}" - future = "{0}" # I don't know what's the right phrase in Basque for the future. + names = ['eu', 'eu_eu'] + past = 'duela {0}' + future = '{0}' # I don't know what's the right phrase in Basque for the future. timeframes = { - "now": "Orain", - "second": "segundo bat", - "seconds": "{0} segundu", - "minute": "minutu bat", - "minutes": "{0} minutu", - "hour": "ordu bat", - "hours": "{0} ordu", - "day": "egun bat", - "days": "{0} egun", - "month": "hilabete bat", - "months": "{0} hilabet", - "year": "urte bat", - "years": "{0} urte", + 'now': 'Orain', + 'seconds': 'segundu', + 'minute': 'minutu bat', + 'minutes': '{0} minutu', + 'hour': 'ordu bat', + 'hours': '{0} ordu', + 'day': 'egun bat', + 'days': '{0} egun', + 'month': 'hilabete bat', + 'months': '{0} hilabet', + 'year': 'urte bat', + 'years': '{0} urte', } - month_names = [ - "", - "urtarrilak", - "otsailak", - "martxoak", - "apirilak", - "maiatzak", - "ekainak", - "uztailak", - "abuztuak", - "irailak", - "urriak", - "azaroak", - "abenduak", - ] - month_abbreviations = [ - "", - "urt", - "ots", - "mar", - "api", - "mai", - "eka", - "uzt", - "abu", - "ira", - "urr", - "aza", - "abe", - ] - day_names = [ - "", - "astelehena", - "asteartea", - "asteazkena", - "osteguna", - "ostirala", - "larunbata", - "igandea", - ] - day_abbreviations = ["", "al", "ar", "az", "og", "ol", "lr", "ig"] + month_names = ['', 'urtarrilak', 'otsailak', 'martxoak', 'apirilak', 'maiatzak', 'ekainak', 'uztailak', 'abuztuak', 'irailak', 'urriak', 'azaroak', 'abenduak'] + month_abbreviations = ['', 'urt', 'ots', 'mar', 'api', 'mai', 'eka', 'uzt', 'abu', 'ira', 'urr', 'aza', 'abe'] + day_names = ['', 'asteleehna', 'asteartea', 'asteazkena', 'osteguna', 'ostirala', 'larunbata', 'igandea'] + day_abbreviations = ['', 'al', 'ar', 'az', 'og', 'ol', 'lr', 'ig'] class HungarianLocale(Locale): - names = ["hu", "hu-hu"] - past = "{0} ezelÅ‘tt" - future = "{0} múlva" + names = ['hu', 'hu_hu'] - timeframes: ClassVar[Mapping[TimeFrameLiteral, Union[str, Mapping[str, str]]]] = { - "now": "éppen most", - "second": {"past": "egy második", "future": "egy második"}, - "seconds": {"past": "{0} másodpercekkel", "future": "{0} pár másodperc"}, - "minute": {"past": "egy perccel", "future": "egy perc"}, - "minutes": {"past": "{0} perccel", "future": "{0} perc"}, - "hour": {"past": "egy órával", "future": "egy óra"}, - "hours": {"past": "{0} órával", "future": "{0} óra"}, - "day": {"past": "egy nappal", "future": "egy nap"}, - "days": {"past": "{0} nappal", "future": "{0} nap"}, - "week": {"past": "egy héttel", "future": "egy hét"}, - "weeks": {"past": "{0} héttel", "future": "{0} hét"}, - "month": {"past": "egy hónappal", "future": "egy hónap"}, - "months": {"past": "{0} hónappal", "future": "{0} hónap"}, - "year": {"past": "egy évvel", "future": "egy év"}, - "years": {"past": "{0} évvel", "future": "{0} év"}, + past = '{0} ezelÅ‘tt' + future = '{0} múlva' + + timeframes = { + 'now': 'éppen most', + 'seconds': { + 'past': 'másodpercekkel', + 'future': 'pár másodperc' + }, + 'minute': {'past': 'egy perccel', 'future': 'egy perc'}, + 'minutes': {'past': '{0} perccel', 'future': '{0} perc'}, + 'hour': {'past': 'egy órával', 'future': 'egy óra'}, + 'hours': {'past': '{0} órával', 'future': '{0} óra'}, + 'day': { + 'past': 'egy nappal', + 'future': 'egy nap' + }, + 'days': { + 'past': '{0} nappal', + 'future': '{0} nap' + }, + 'month': {'past': 'egy hónappal', 'future': 'egy hónap'}, + 'months': {'past': '{0} hónappal', 'future': '{0} hónap'}, + 'year': {'past': 'egy évvel', 'future': 'egy év'}, + 'years': {'past': '{0} évvel', 'future': '{0} év'}, } - month_names = [ - "", - "január", - "február", - "március", - "április", - "május", - "június", - "július", - "augusztus", - "szeptember", - "október", - "november", - "december", - ] - month_abbreviations = [ - "", - "jan", - "febr", - "márc", - "ápr", - "máj", - "jún", - "júl", - "aug", - "szept", - "okt", - "nov", - "dec", - ] + month_names = ['', 'január', 'február', 'március', 'április', 'május', + 'június', 'július', 'augusztus', 'szeptember', + 'október', 'november', 'december'] + month_abbreviations = ['', 'jan', 'febr', 'márc', 'ápr', 'máj', 'jún', + 'júl', 'aug', 'szept', 'okt', 'nov', 'dec'] - day_names = [ - "", - "hétfÅ‘", - "kedd", - "szerda", - "csütörtök", - "péntek", - "szombat", - "vasárnap", - ] - day_abbreviations = ["", "hét", "kedd", "szer", "csüt", "pént", "szom", "vas"] + day_names = ['', 'hétfÅ‘', 'kedd', 'szerda', 'csütörtök', 'péntek', + 'szombat', 'vasárnap'] + day_abbreviations = ['', 'hét', 'kedd', 'szer', 'csüt', 'pént', + 'szom', 'vas'] - meridians = {"am": "de", "pm": "du", "AM": "DE", "PM": "DU"} + meridians = { + 'am': 'de', + 'pm': 'du', + 'AM': 'DE', + 'PM': 'DU', + } - def _format_timeframe(self, timeframe: TimeFrameLiteral, delta: int) -> str: + def _format_timeframe(self, timeframe, delta): form = self.timeframes[timeframe] - if isinstance(form, Mapping): + if isinstance(form, dict): if delta > 0: - form = form["future"] + form = form['future'] else: - form = form["past"] + form = form['past'] return form.format(abs(delta)) class EsperantoLocale(Locale): - names = ["eo", "eo-xx"] - past = "antaÅ­ {0}" - future = "post {0}" + names = ['eo', 'eo_xx'] + past = 'antaÅ­ {0}' + future = 'post {0}' timeframes = { - "now": "nun", - "second": "sekundo", - "seconds": "{0} kelkaj sekundoj", - "minute": "unu minuto", - "minutes": "{0} minutoj", - "hour": "un horo", - "hours": "{0} horoj", - "day": "unu tago", - "days": "{0} tagoj", - "month": "unu monato", - "months": "{0} monatoj", - "year": "unu jaro", - "years": "{0} jaroj", + 'now': 'nun', + 'seconds': 'kelkaj sekundoj', + 'minute': 'unu minuto', + 'minutes': '{0} minutoj', + 'hour': 'un horo', + 'hours': '{0} horoj', + 'day': 'unu tago', + 'days': '{0} tagoj', + 'month': 'unu monato', + 'months': '{0} monatoj', + 'year': 'unu jaro', + 'years': '{0} jaroj', } - month_names = [ - "", - "januaro", - "februaro", - "marto", - "aprilo", - "majo", - "junio", - "julio", - "aÅ­gusto", - "septembro", - "oktobro", - "novembro", - "decembro", - ] - month_abbreviations = [ - "", - "jan", - "feb", - "mar", - "apr", - "maj", - "jun", - "jul", - "aÅ­g", - "sep", - "okt", - "nov", - "dec", - ] + month_names = ['', 'januaro', 'februaro', 'marto', 'aprilo', 'majo', + 'junio', 'julio', 'aÅ­gusto', 'septembro', 'oktobro', + 'novembro', 'decembro'] + month_abbreviations = ['', 'jan', 'feb', 'mar', 'apr', 'maj', 'jun', + 'jul', 'aÅ­g', 'sep', 'okt', 'nov', 'dec'] - day_names = [ - "", - "lundo", - "mardo", - "merkredo", - "ĵaÅ­do", - "vendredo", - "sabato", - "dimanĉo", - ] - day_abbreviations = ["", "lun", "mar", "mer", "ĵaÅ­", "ven", "sab", "dim"] + day_names = ['', 'lundo', 'mardo', 'merkredo', 'ĵaÅ­do', 'vendredo', + 'sabato', 'dimanĉo'] + day_abbreviations = ['', 'lun', 'mar', 'mer', 'ĵaÅ­', 'ven', + 'sab', 'dim'] - meridians = {"am": "atm", "pm": "ptm", "AM": "ATM", "PM": "PTM"} + meridians = { + 'am': 'atm', + 'pm': 'ptm', + 'AM': 'ATM', + 'PM': 'PTM', + } - ordinal_day_re = r"((?P[1-3]?[0-9](?=a))a)" + ordinal_day_re = r'((?P[1-3]?[0-9](?=a))a)' - def _ordinal_number(self, n: int) -> str: - return f"{n}a" + def _ordinal_number(self, n): + return '{0}a'.format(n) class ThaiLocale(Locale): - names = ["th", "th-th"] - past = "{0} ที่ผ่านมา" - future = "ในอีภ{0}" + names = ['th', 'th_th'] + + past = '{0}{1}ที่ผ่านมา' + future = 'ในอีà¸{1}{0}' timeframes = { - "now": "ขณะนี้", - "second": "วินาที", - "seconds": "{0} ไม่à¸à¸µà¹ˆà¸§à¸´à¸™à¸²à¸—ี", - "minute": "1 นาที", - "minutes": "{0} นาที", - "hour": "1 ชั่วโมง", - "hours": "{0} ชั่วโมง", - "day": "1 วัน", - "days": "{0} วัน", - "month": "1 เดือน", - "months": "{0} เดือน", - "year": "1 ปี", - "years": "{0} ปี", + 'now': 'ขณะนี้', + 'seconds': 'ไม่à¸à¸µà¹ˆà¸§à¸´à¸™à¸²à¸—ี', + 'minute': '1 นาที', + 'minutes': '{0} นาที', + 'hour': '1 ชั่วโมง', + 'hours': '{0} ชั่วโมง', + 'day': '1 วัน', + 'days': '{0} วัน', + 'month': '1 เดือน', + 'months': '{0} เดือน', + 'year': '1 ปี', + 'years': '{0} ปี', } - month_names = [ - "", - "มà¸à¸£à¸²à¸„ม", - "à¸à¸¸à¸¡à¸ à¸²à¸žà¸±à¸™à¸˜à¹Œ", - "มีนาคม", - "เมษายน", - "พฤษภาคม", - "มิถุนายน", - "à¸à¸£à¸à¸Žà¸²à¸„ม", - "สิงหาคม", - "à¸à¸±à¸™à¸¢à¸²à¸¢à¸™", - "ตุลาคม", - "พฤศจิà¸à¸²à¸¢à¸™", - "ธันวาคม", - ] - month_abbreviations = [ - "", - "ม.ค.", - "à¸.พ.", - "มี.ค.", - "เม.ย.", - "พ.ค.", - "มิ.ย.", - "à¸.ค.", - "ส.ค.", - "à¸.ย.", - "ต.ค.", - "พ.ย.", - "ธ.ค.", - ] + month_names = ['', 'มà¸à¸£à¸²à¸„ม', 'à¸à¸¸à¸¡à¸ à¸²à¸žà¸±à¸™à¸˜à¹Œ', 'มีนาคม', 'เมษายน', + 'พฤษภาคม', 'มิถุนายน', 'à¸à¸£à¸à¸à¸²à¸„ม', 'สิงหาคม', + 'à¸à¸±à¸™à¸¢à¸²à¸¢à¸™', 'ตุลาคม', 'พฤศจิà¸à¸²à¸¢à¸™', 'ธันวาคม'] + month_abbreviations = ['', 'ม.ค.', 'à¸.พ.', 'มี.ค.', 'เม.ย.', 'พ.ค.', + 'มิ.ย.', 'à¸.ค.', 'ส.ค.', 'à¸.ย.', 'ต.ค.', + 'พ.ย.', 'ธ.ค.'] - day_names = ["", "จันทร์", "อังคาร", "พุธ", "พฤหัสบดี", "ศุà¸à¸£à¹Œ", "เสาร์", "อาทิตย์"] - day_abbreviations = ["", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"] + day_names = ['', 'จันทร์', 'อังคาร', 'พุธ', 'พฤหัสบดี', 'ศุà¸à¸£à¹Œ', + 'เสาร์', 'อาทิตย์'] + day_abbreviations = ['', 'จ', 'อ', 'พ', 'พฤ', 'ศ', 'ส', 'อา'] - meridians = {"am": "am", "pm": "pm", "AM": "AM", "PM": "PM"} + meridians = { + 'am': 'am', + 'pm': 'pm', + 'AM': 'AM', + 'PM': 'PM', + } BE_OFFSET = 543 - def year_full(self, year: int) -> str: - """Thai always use Buddhist Era (BE) which is CE + 543""" + def year_full(self, year): + '''Thai always use Buddhist Era (BE) which is CE + 543''' year += self.BE_OFFSET - return f"{year:04d}" + return '{0:04d}'.format(year) - def year_abbreviation(self, year: int) -> str: - """Thai always use Buddhist Era (BE) which is CE + 543""" + def year_abbreviation(self, year): + '''Thai always use Buddhist Era (BE) which is CE + 543''' year += self.BE_OFFSET - return f"{year:04d}"[2:] + return '{0:04d}'.format(year)[2:] - def _format_relative( - self, - humanized: str, - timeframe: TimeFrameLiteral, - delta: Union[float, int], - ) -> str: - """Thai normally doesn't have any space between words""" - if timeframe == "now": + def _format_relative(self, humanized, timeframe, delta): + '''Thai normally doesn't have any space between words''' + if timeframe == 'now': return humanized - + space = '' if timeframe == 'seconds' else ' ' direction = self.past if delta < 0 else self.future - relative_string = direction.format(humanized) - if timeframe == "seconds": - relative_string = relative_string.replace(" ", "") + return direction.format(humanized, space) - return relative_string - - -class LaotianLocale(Locale): - names = ["lo", "lo-la"] - - past = "{0} àºà»ˆàº­àº™àº«àº™à»‰àº²àº™àºµà»‰" - future = "ໃນ {0}" - - timeframes = { - "now": "ດຽວນີ້", - "second": "ວິນາທີ", - "seconds": "{0} ວິນາທີ", - "minute": "ນາທີ", - "minutes": "{0} ນາທີ", - "hour": "ຊົ່ວໂມງ", - "hours": "{0} ຊົ່ວໂມງ", - "day": "ມື້", - "days": "{0} ມື້", - "week": "ອາທິດ", - "weeks": "{0} ອາທິດ", - "month": "ເດືອນ", - "months": "{0} ເດືອນ", - "year": "ປີ", - "years": "{0} ປີ", - } - - month_names = [ - "", - "ມັງàºàº­àº™", # mangkon - "àºàº¸àº¡àºžàº²", # kumpha - "ມີນາ", # mina - "ເມສາ", # mesa - "ພຶດສະພາ", # phudsapha - "ມິຖຸນາ", # mithuna - "àºà»àº¥àº°àºàº»àº”", # kolakod - "ສິງຫາ", # singha - "àºàº±àº™àºàº²", # knaia - "ຕຸລາ", # tula - "ພະຈິàº", # phachik - "ທັນວາ", # thanuaa - ] - month_abbreviations = [ - "", - "ມັງàºàº­àº™", - "àºàº¸àº¡àºžàº²", - "ມີນາ", - "ເມສາ", - "ພຶດສະພາ", - "ມິຖຸນາ", - "àºà»àº¥àº°àºàº»àº”", - "ສິງຫາ", - "àºàº±àº™àºàº²", - "ຕຸລາ", - "ພະຈິàº", - "ທັນວາ", - ] - - day_names = [ - "", - "ວັນຈັນ", # vanchan - "ວັນອັງຄານ", # vnoangkhan - "ວັນພຸດ", # vanphud - "ວັນພະຫັດ", # vanphahad - "ວັນ​ສຸàº", # vansuk - "ວັນເສົາ", # vansao - "ວັນອາທິດ", # vnoathid - ] - day_abbreviations = [ - "", - "ວັນຈັນ", - "ວັນອັງຄານ", - "ວັນພຸດ", - "ວັນພະຫັດ", - "ວັນ​ສຸàº", - "ວັນເສົາ", - "ວັນອາທິດ", - ] - - BE_OFFSET = 543 - - def year_full(self, year: int) -> str: - """Lao always use Buddhist Era (BE) which is CE + 543""" - year += self.BE_OFFSET - return f"{year:04d}" - - def year_abbreviation(self, year: int) -> str: - """Lao always use Buddhist Era (BE) which is CE + 543""" - year += self.BE_OFFSET - return f"{year:04d}"[2:] - - def _format_relative( - self, - humanized: str, - timeframe: TimeFrameLiteral, - delta: Union[float, int], - ) -> str: - """Lao normally doesn't have any space between words""" - if timeframe == "now": - return humanized - - direction = self.past if delta < 0 else self.future - relative_string = direction.format(humanized) - - if timeframe == "seconds": - relative_string = relative_string.replace(" ", "") - - return relative_string class BengaliLocale(Locale): - names = ["bn", "bn-bd", "bn-in"] - past = "{0} আগে" - future = "{0} পরে" + names = ['bn', 'bn_bd', 'bn_in'] + + past = '{0} আগে' + future = '{0} পরে' timeframes = { - "now": "à¦à¦–ন", - "second": "à¦à¦•টি দà§à¦¬à¦¿à¦¤à§€à¦¯à¦¼", - "seconds": "{0} সেকেনà§à¦¡", - "minute": "à¦à¦• মিনিট", - "minutes": "{0} মিনিট", - "hour": "à¦à¦• ঘণà§à¦Ÿà¦¾", - "hours": "{0} ঘণà§à¦Ÿà¦¾", - "day": "à¦à¦• দিন", - "days": "{0} দিন", - "month": "à¦à¦• মাস", - "months": "{0} মাস ", - "year": "à¦à¦• বছর", - "years": "{0} বছর", - } - - meridians = {"am": "সকাল", "pm": "বিকাল", "AM": "সকাল", "PM": "বিকাল"} - - month_names = [ - "", - "জানà§à¦¯à¦¼à¦¾à¦°à¦¿", - "ফেবà§à¦°à§à¦¯à¦¼à¦¾à¦°à¦¿", - "মারà§à¦š", - "à¦à¦ªà§à¦°à¦¿à¦²", - "মে", - "জà§à¦¨", - "জà§à¦²à¦¾à¦‡", - "আগসà§à¦Ÿ", - "সেপà§à¦Ÿà§‡à¦®à§à¦¬à¦°", - "অকà§à¦Ÿà§‹à¦¬à¦°", - "নভেমà§à¦¬à¦°", - "ডিসেমà§à¦¬à¦°", - ] - month_abbreviations = [ - "", - "জানà§", - "ফেব", - "মারà§à¦š", - "à¦à¦ªà§à¦°à¦¿", - "মে", - "জà§à¦¨", - "জà§à¦²", - "অগা", - "সেপà§à¦Ÿ", - "অকà§à¦Ÿà§‹", - "নভে", - "ডিসে", - ] - - day_names = [ - "", - "সোমবার", - "মঙà§à¦—লবার", - "বà§à¦§à¦¬à¦¾à¦°", - "বৃহসà§à¦ªà¦¤à¦¿à¦¬à¦¾à¦°", - "শà§à¦•à§à¦°à¦¬à¦¾à¦°", - "শনিবার", - "রবিবার", - ] - day_abbreviations = ["", "সোম", "মঙà§à¦—ল", "বà§à¦§", "বৃহঃ", "শà§à¦•à§à¦°", "শনি", "রবি"] - - def _ordinal_number(self, n: int) -> str: - if n > 10 or n == 0: - return f"{n}তম" - if n in [1, 5, 7, 8, 9, 10]: - return f"{n}ম" - if n in [2, 3]: - return f"{n}য়" - if n == 4: - return f"{n}রà§à¦¥" - if n == 6: - return f"{n}ষà§à¦ " - return "" - - -class RomanshLocale(Locale): - names = ["rm", "rm-ch"] - - past = "avant {0}" - future = "en {0}" - - timeframes = { - "now": "en quest mument", - "second": "in secunda", - "seconds": "{0} secundas", - "minute": "ina minuta", - "minutes": "{0} minutas", - "hour": "in'ura", - "hours": "{0} ura", - "day": "in di", - "days": "{0} dis", - "week": "in'emna", - "weeks": "{0} emnas", - "month": "in mais", - "months": "{0} mais", - "year": "in onn", - "years": "{0} onns", - } - - month_names = [ - "", - "schaner", - "favrer", - "mars", - "avrigl", - "matg", - "zercladur", - "fanadur", - "avust", - "settember", - "october", - "november", - "december", - ] - - month_abbreviations = [ - "", - "schan", - "fav", - "mars", - "avr", - "matg", - "zer", - "fan", - "avu", - "set", - "oct", - "nov", - "dec", - ] - - day_names = [ - "", - "glindesdi", - "mardi", - "mesemna", - "gievgia", - "venderdi", - "sonda", - "dumengia", - ] - - day_abbreviations = ["", "gli", "ma", "me", "gie", "ve", "so", "du"] - - -class RomanianLocale(Locale): - names = ["ro", "ro-ro"] - - past = "{0} în urmă" - future = "peste {0}" - and_word = "È™i" - - timeframes = { - "now": "acum", - "second": "o secunda", - "seconds": "{0} câteva secunde", - "minute": "un minut", - "minutes": "{0} minute", - "hour": "o oră", - "hours": "{0} ore", - "day": "o zi", - "days": "{0} zile", - "month": "o lună", - "months": "{0} luni", - "year": "un an", - "years": "{0} ani", - } - - month_names = [ - "", - "ianuarie", - "februarie", - "martie", - "aprilie", - "mai", - "iunie", - "iulie", - "august", - "septembrie", - "octombrie", - "noiembrie", - "decembrie", - ] - month_abbreviations = [ - "", - "ian", - "febr", - "mart", - "apr", - "mai", - "iun", - "iul", - "aug", - "sept", - "oct", - "nov", - "dec", - ] - - day_names = [ - "", - "luni", - "marÈ›i", - "miercuri", - "joi", - "vineri", - "sâmbătă", - "duminică", - ] - day_abbreviations = ["", "Lun", "Mar", "Mie", "Joi", "Vin", "Sâm", "Dum"] - - -class SlovenianLocale(Locale): - names = ["sl", "sl-si"] - - past = "pred {0}" - future = "Äez {0}" - and_word = "in" - - timeframes = { - "now": "zdaj", - "second": "sekundo", - "seconds": "{0} sekund", - "minute": "minuta", - "minutes": "{0} minutami", - "hour": "uro", - "hours": "{0} ur", - "day": "dan", - "days": "{0} dni", - "month": "mesec", - "months": "{0} mesecev", - "year": "leto", - "years": "{0} let", - } - - meridians = {"am": "", "pm": "", "AM": "", "PM": ""} - - month_names = [ - "", - "Januar", - "Februar", - "Marec", - "April", - "Maj", - "Junij", - "Julij", - "Avgust", - "September", - "Oktober", - "November", - "December", - ] - - month_abbreviations = [ - "", - "Jan", - "Feb", - "Mar", - "Apr", - "Maj", - "Jun", - "Jul", - "Avg", - "Sep", - "Okt", - "Nov", - "Dec", - ] - - day_names = [ - "", - "Ponedeljek", - "Torek", - "Sreda", - "ÄŒetrtek", - "Petek", - "Sobota", - "Nedelja", - ] - - day_abbreviations = ["", "Pon", "Tor", "Sre", "ÄŒet", "Pet", "Sob", "Ned"] - - -class IndonesianLocale(Locale): - names = ["id", "id-id"] - - past = "{0} yang lalu" - future = "dalam {0}" - and_word = "dan" - - timeframes = { - "now": "baru saja", - "second": "1 sebentar", - "seconds": "{0} detik", - "minute": "1 menit", - "minutes": "{0} menit", - "hour": "1 jam", - "hours": "{0} jam", - "day": "1 hari", - "days": "{0} hari", - "week": "1 minggu", - "weeks": "{0} minggu", - "month": "1 bulan", - "months": "{0} bulan", - "quarter": "1 kuartal", - "quarters": "{0} kuartal", - "year": "1 tahun", - "years": "{0} tahun", - } - - meridians = {"am": "", "pm": "", "AM": "", "PM": ""} - - month_names = [ - "", - "Januari", - "Februari", - "Maret", - "April", - "Mei", - "Juni", - "Juli", - "Agustus", - "September", - "Oktober", - "November", - "Desember", - ] - - month_abbreviations = [ - "", - "Jan", - "Feb", - "Mar", - "Apr", - "Mei", - "Jun", - "Jul", - "Ags", - "Sept", - "Okt", - "Nov", - "Des", - ] - - day_names = ["", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", "Minggu"] - - day_abbreviations = [ - "", - "Senin", - "Selasa", - "Rabu", - "Kamis", - "Jumat", - "Sabtu", - "Minggu", - ] - - -class NepaliLocale(Locale): - names = ["ne", "ne-np"] - - past = "{0} पहिले" - future = "{0} पछी" - - timeframes = { - "now": "अहिले", - "second": "à¤à¤• सेकेनà¥à¤¡", - "seconds": "{0} सेकणà¥à¤¡", - "minute": "मिनेट", - "minutes": "{0} मिनेट", - "hour": "à¤à¤• घणà¥à¤Ÿà¤¾", - "hours": "{0} घणà¥à¤Ÿà¤¾", - "day": "à¤à¤• दिन", - "days": "{0} दिन", - "month": "à¤à¤• महिना", - "months": "{0} महिना", - "year": "à¤à¤• बरà¥à¤·", - "years": "{0} बरà¥à¤·", - } - - meridians = {"am": "पूरà¥à¤µà¤¾à¤¹à¥à¤¨", "pm": "अपरानà¥à¤¹", "AM": "पूरà¥à¤µà¤¾à¤¹à¥à¤¨", "PM": "अपरानà¥à¤¹"} - - month_names = [ - "", - "जनवरी", - "फेबà¥à¤°à¥à¤…री", - "मारà¥à¤š", - "à¤à¤ªà¥à¤°à¥€à¤²", - "मे", - "जà¥à¤¨", - "जà¥à¤²à¤¾à¤ˆ", - "अगषà¥à¤Ÿ", - "सेपà¥à¤Ÿà¥‡à¤®à¥à¤¬à¤°", - "अकà¥à¤Ÿà¥‹à¤¬à¤°", - "नोवेमà¥à¤¬à¤°", - "डिसेमà¥à¤¬à¤°", - ] - month_abbreviations = [ - "", - "जन", - "फेब", - "मारà¥à¤š", - "à¤à¤ªà¥à¤°à¥€à¤²", - "मे", - "जà¥à¤¨", - "जà¥à¤²à¤¾à¤ˆ", - "अग", - "सेप", - "अकà¥à¤Ÿ", - "नोव", - "डिस", - ] - - day_names = [ - "", - "सोमवार", - "मंगलवार", - "बà¥à¤§à¤µà¤¾à¤°", - "बिहिवार", - "शà¥à¤•à¥à¤°à¤µà¤¾à¤°", - "शनिवार", - "आइतवार", - ] - - day_abbreviations = ["", "सोम", "मंगल", "बà¥à¤§", "बिहि", "शà¥à¤•à¥à¤°", "शनि", "आइत"] - - -class EstonianLocale(Locale): - names = ["ee", "et"] - - past = "{0} tagasi" - future = "{0} pärast" - and_word = "ja" - - timeframes: ClassVar[Mapping[TimeFrameLiteral, Mapping[str, str]]] = { - "now": {"past": "just nüüd", "future": "just nüüd"}, - "second": {"past": "üks sekund", "future": "ühe sekundi"}, - "seconds": {"past": "{0} sekundit", "future": "{0} sekundi"}, - "minute": {"past": "üks minut", "future": "ühe minuti"}, - "minutes": {"past": "{0} minutit", "future": "{0} minuti"}, - "hour": {"past": "tund aega", "future": "tunni aja"}, - "hours": {"past": "{0} tundi", "future": "{0} tunni"}, - "day": {"past": "üks päev", "future": "ühe päeva"}, - "days": {"past": "{0} päeva", "future": "{0} päeva"}, - "month": {"past": "üks kuu", "future": "ühe kuu"}, - "months": {"past": "{0} kuud", "future": "{0} kuu"}, - "year": {"past": "üks aasta", "future": "ühe aasta"}, - "years": {"past": "{0} aastat", "future": "{0} aasta"}, - } - - month_names = [ - "", - "Jaanuar", - "Veebruar", - "Märts", - "Aprill", - "Mai", - "Juuni", - "Juuli", - "August", - "September", - "Oktoober", - "November", - "Detsember", - ] - month_abbreviations = [ - "", - "Jan", - "Veb", - "Mär", - "Apr", - "Mai", - "Jun", - "Jul", - "Aug", - "Sep", - "Okt", - "Nov", - "Dets", - ] - - day_names = [ - "", - "Esmaspäev", - "Teisipäev", - "Kolmapäev", - "Neljapäev", - "Reede", - "Laupäev", - "Pühapäev", - ] - day_abbreviations = ["", "Esm", "Teis", "Kolm", "Nelj", "Re", "Lau", "Püh"] - - def _format_timeframe(self, timeframe: TimeFrameLiteral, delta: int) -> str: - form = self.timeframes[timeframe] - if delta > 0: - _form = form["future"] - else: - _form = form["past"] - return _form.format(abs(delta)) - - -class LatvianLocale(Locale): - names = ["lv", "lv-lv"] - - past = "pirms {0}" - future = "pÄ“c {0}" - and_word = "un" - - timeframes: ClassVar[Mapping[TimeFrameLiteral, Union[str, Mapping[str, str]]]] = { - "now": "tagad", - "second": "sekundes", - "seconds": "{0} sekundÄ“m", - "minute": "minÅ«tes", - "minutes": "{0} minÅ«tÄ“m", - "hour": "stundas", - "hours": "{0} stundÄm", - "day": "dienas", - "days": "{0} dienÄm", - "week": "nedēļas", - "weeks": "{0} nedēļÄm", - "month": "mÄ“neÅ¡a", - "months": "{0} mÄ“neÅ¡iem", - "year": "gada", - "years": "{0} gadiem", - } - - month_names = [ - "", - "janvÄris", - "februÄris", - "marts", - "aprÄ«lis", - "maijs", - "jÅ«nijs", - "jÅ«lijs", - "augusts", - "septembris", - "oktobris", - "novembris", - "decembris", - ] - - month_abbreviations = [ - "", - "jan", - "feb", - "marts", - "apr", - "maijs", - "jÅ«nijs", - "jÅ«lijs", - "aug", - "sept", - "okt", - "nov", - "dec", - ] - - day_names = [ - "", - "pirmdiena", - "otrdiena", - "treÅ¡diena", - "ceturtdiena", - "piektdiena", - "sestdiena", - "svÄ“tdiena", - ] - - day_abbreviations = [ - "", - "pi", - "ot", - "tr", - "ce", - "pi", - "se", - "sv", - ] - - -class SwahiliLocale(Locale): - names = [ - "sw", - "sw-ke", - "sw-tz", - ] - - past = "{0} iliyopita" - future = "muda wa {0}" - and_word = "na" - - timeframes = { - "now": "sasa hivi", - "second": "sekunde", - "seconds": "sekunde {0}", - "minute": "dakika moja", - "minutes": "dakika {0}", - "hour": "saa moja", - "hours": "saa {0}", - "day": "siku moja", - "days": "siku {0}", - "week": "wiki moja", - "weeks": "wiki {0}", - "month": "mwezi moja", - "months": "miezi {0}", - "year": "mwaka moja", - "years": "miaka {0}", - } - - meridians = {"am": "asu", "pm": "mch", "AM": "ASU", "PM": "MCH"} - - month_names = [ - "", - "Januari", - "Februari", - "Machi", - "Aprili", - "Mei", - "Juni", - "Julai", - "Agosti", - "Septemba", - "Oktoba", - "Novemba", - "Desemba", - ] - month_abbreviations = [ - "", - "Jan", - "Feb", - "Mac", - "Apr", - "Mei", - "Jun", - "Jul", - "Ago", - "Sep", - "Okt", - "Nov", - "Des", - ] - - day_names = [ - "", - "Jumatatu", - "Jumanne", - "Jumatano", - "Alhamisi", - "Ijumaa", - "Jumamosi", - "Jumapili", - ] - day_abbreviations = [ - "", - "Jumatatu", - "Jumanne", - "Jumatano", - "Alhamisi", - "Ijumaa", - "Jumamosi", - "Jumapili", - ] - - -class CroatianLocale(Locale): - names = ["hr", "hr-hr"] - - past = "prije {0}" - future = "za {0}" - and_word = "i" - - timeframes: ClassVar[Mapping[TimeFrameLiteral, Union[str, Mapping[str, str]]]] = { - "now": "upravo sad", - "second": "sekundu", - "seconds": {"double": "{0} sekunde", "higher": "{0} sekundi"}, - "minute": "minutu", - "minutes": {"double": "{0} minute", "higher": "{0} minuta"}, - "hour": "sat", - "hours": {"double": "{0} sata", "higher": "{0} sati"}, - "day": "jedan dan", - "days": {"double": "{0} dana", "higher": "{0} dana"}, - "week": "tjedan", - "weeks": {"double": "{0} tjedna", "higher": "{0} tjedana"}, - "month": "mjesec", - "months": {"double": "{0} mjeseca", "higher": "{0} mjeseci"}, - "year": "godinu", - "years": {"double": "{0} godine", "higher": "{0} godina"}, - } - - month_names = [ - "", - "sijeÄanj", - "veljaÄa", - "ožujak", - "travanj", - "svibanj", - "lipanj", - "srpanj", - "kolovoz", - "rujan", - "listopad", - "studeni", - "prosinac", - ] - - month_abbreviations = [ - "", - "sijeÄ", - "velj", - "ožuj", - "trav", - "svib", - "lip", - "srp", - "kol", - "ruj", - "list", - "stud", - "pros", - ] - - day_names = [ - "", - "ponedjeljak", - "utorak", - "srijeda", - "Äetvrtak", - "petak", - "subota", - "nedjelja", - ] - - day_abbreviations = [ - "", - "po", - "ut", - "sr", - "Äe", - "pe", - "su", - "ne", - ] - - def _format_timeframe(self, timeframe: TimeFrameLiteral, delta: int) -> str: - form = self.timeframes[timeframe] - delta = abs(delta) - if isinstance(form, Mapping): - if 1 < delta <= 4: - form = form["double"] - else: - form = form["higher"] - - return form.format(delta) - - -class LatinLocale(Locale): - names = ["la", "la-va"] - - past = "ante {0}" - future = "in {0}" - and_word = "et" - - timeframes: ClassVar[Mapping[TimeFrameLiteral, Union[str, Mapping[str, str]]]] = { - "now": "nunc", - "second": "secundum", - "seconds": "{0} secundis", - "minute": "minutam", - "minutes": "{0} minutis", - "hour": "horam", - "hours": "{0} horas", - "day": "diem", - "days": "{0} dies", - "week": "hebdomadem", - "weeks": "{0} hebdomades", - "month": "mensem", - "months": "{0} mensis", - "year": "annum", - "years": "{0} annos", - } - - month_names = [ - "", - "Ianuarius", - "Februarius", - "Martius", - "Aprilis", - "Maius", - "Iunius", - "Iulius", - "Augustus", - "September", - "October", - "November", - "December", - ] - - month_abbreviations = [ - "", - "Ian", - "Febr", - "Mart", - "Apr", - "Mai", - "Iun", - "Iul", - "Aug", - "Sept", - "Oct", - "Nov", - "Dec", - ] - - day_names = [ - "", - "dies Lunae", - "dies Martis", - "dies Mercurii", - "dies Iovis", - "dies Veneris", - "dies Saturni", - "dies Solis", - ] - - day_abbreviations = [ - "", - "dies Lunae", - "dies Martis", - "dies Mercurii", - "dies Iovis", - "dies Veneris", - "dies Saturni", - "dies Solis", - ] - - -class LithuanianLocale(Locale): - names = ["lt", "lt-lt"] - - past = "prieÅ¡ {0}" - future = "po {0}" - and_word = "ir" - - timeframes: ClassVar[Mapping[TimeFrameLiteral, Union[str, Mapping[str, str]]]] = { - "now": "dabar", - "second": "sekundÄ—s", - "seconds": "{0} sekundžių", - "minute": "minutÄ—s", - "minutes": "{0} minuÄių", - "hour": "valandos", - "hours": "{0} valandų", - "day": "dienÄ…", - "days": "{0} dienų", - "week": "savaitÄ—s", - "weeks": "{0} savaiÄių", - "month": "mÄ—nesio", - "months": "{0} mÄ—nesių", - "year": "metų", - "years": "{0} metų", - } - - month_names = [ - "", - "sausis", - "vasaris", - "kovas", - "balandis", - "gegužė", - "birželis", - "liepa", - "rugpjÅ«tis", - "rugsÄ—jis", - "spalis", - "lapkritis", - "gruodis", - ] - - month_abbreviations = [ - "", - "saus", - "vas", - "kovas", - "bal", - "geg", - "birž", - "liepa", - "rugp", - "rugs", - "spalis", - "lapkr", - "gr", - ] - - day_names = [ - "", - "pirmadienis", - "antradienis", - "treÄiadienis", - "ketvirtadienis", - "penktadienis", - "Å¡eÅ¡tadienis", - "sekmadienis", - ] - - day_abbreviations = [ - "", - "pi", - "an", - "tr", - "ke", - "pe", - "Å¡e", - "se", - ] - - -class MalayLocale(Locale): - names = ["ms", "ms-my", "ms-bn"] - - past = "{0} yang lalu" - future = "dalam {0}" - and_word = "dan" - - timeframes: ClassVar[Mapping[TimeFrameLiteral, Union[str, Mapping[str, str]]]] = { - "now": "sekarang", - "second": "saat", - "seconds": "{0} saat", - "minute": "minit", - "minutes": "{0} minit", - "hour": "jam", - "hours": "{0} jam", - "day": "hari", - "days": "{0} hari", - "week": "minggu", - "weeks": "{0} minggu", - "month": "bulan", - "months": "{0} bulan", - "year": "tahun", - "years": "{0} tahun", - } - - month_names = [ - "", - "Januari", - "Februari", - "Mac", - "April", - "Mei", - "Jun", - "Julai", - "Ogos", - "September", - "Oktober", - "November", - "Disember", - ] - - month_abbreviations = [ - "", - "Jan.", - "Feb.", - "Mac", - "Apr.", - "Mei", - "Jun", - "Julai", - "Og.", - "Sept.", - "Okt.", - "Nov.", - "Dis.", - ] - - day_names = [ - "", - "Isnin", - "Selasa", - "Rabu", - "Khamis", - "Jumaat", - "Sabtu", - "Ahad", - ] - - day_abbreviations = [ - "", - "Isnin", - "Selasa", - "Rabu", - "Khamis", - "Jumaat", - "Sabtu", - "Ahad", - ] - - -class MalteseLocale(Locale): - names = ["mt", "mt-mt"] - - past = "{0} ilu" - future = "fi {0}" - and_word = "u" - - timeframes: ClassVar[Mapping[TimeFrameLiteral, Union[str, Mapping[str, str]]]] = { - "now": "issa", - "second": "sekonda", - "seconds": "{0} sekondi", - "minute": "minuta", - "minutes": "{0} minuti", - "hour": "siegħa", - "hours": {"dual": "{0} sagħtejn", "plural": "{0} sigħat"}, - "day": "jum", - "days": {"dual": "{0} jumejn", "plural": "{0} ijiem"}, - "week": "Ä¡imgħa", - "weeks": {"dual": "{0} Ä¡imagħtejn", "plural": "{0} Ä¡imgħat"}, - "month": "xahar", - "months": {"dual": "{0} xahrejn", "plural": "{0} xhur"}, - "year": "sena", - "years": {"dual": "{0} sentejn", "plural": "{0} snin"}, - } - - month_names = [ - "", - "Jannar", - "Frar", - "Marzu", - "April", - "Mejju", - "Ä unju", - "Lulju", - "Awwissu", - "Settembru", - "Ottubru", - "Novembru", - "DiÄ‹embru", - ] - - month_abbreviations = [ - "", - "Jan", - "Fr", - "Mar", - "Apr", - "Mejju", - "Ä un", - "Lul", - "Aw", - "Sett", - "Ott", - "Nov", - "DiÄ‹", - ] - - day_names = [ - "", - "It-Tnejn", - "It-Tlieta", - "L-Erbgħa", - "Il-Ħamis", - "Il-Ä imgħa", - "Is-Sibt", - "Il-Ħadd", - ] - - day_abbreviations = [ - "", - "T", - "TL", - "E", - "Ħ", - "Ä ", - "S", - "Ħ", - ] - - def _format_timeframe(self, timeframe: TimeFrameLiteral, delta: int) -> str: - form = self.timeframes[timeframe] - delta = abs(delta) - if isinstance(form, Mapping): - if delta == 2: - form = form["dual"] - else: - form = form["plural"] - - return form.format(delta) - - -class SamiLocale(Locale): - names = ["se", "se-fi", "se-no", "se-se"] - - past = "{0} dassái" - future = "{0} " # NOTE: couldn't find preposition for Sami here, none needed? - - timeframes: ClassVar[Mapping[TimeFrameLiteral, Union[str, Mapping[str, str]]]] = { - "now": "dál", - "second": "sekunda", - "seconds": "{0} sekundda", - "minute": "minuhta", - "minutes": "{0} minuhta", - "hour": "diimmu", - "hours": "{0} diimmu", - "day": "beaivvi", - "days": "{0} beaivvi", - "week": "vahku", - "weeks": "{0} vahku", - "month": "mánu", - "months": "{0} mánu", - "year": "jagi", - "years": "{0} jagi", - } - - month_names = [ - "", - "Ođđajagimánnu", - "Guovvamánnu", - "NjukÄamánnu", - "CuoÅ‹ománnu", - "Miessemánnu", - "Geassemánnu", - "Suoidnemánnu", - "Borgemánnu", - "ÄŒakÄamánnu", - "Golggotmánnu", - "Skábmamánnu", - "Juovlamánnu", - ] - - month_abbreviations = [ - "", - "Ođđajagimánnu", - "Guovvamánnu", - "NjukÄamánnu", - "CuoÅ‹ománnu", - "Miessemánnu", - "Geassemánnu", - "Suoidnemánnu", - "Borgemánnu", - "ÄŒakÄamánnu", - "Golggotmánnu", - "Skábmamánnu", - "Juovlamánnu", - ] - - day_names = [ - "", - "Mánnodat", - "Disdat", - "Gaskavahkku", - "Duorastat", - "Bearjadat", - "Lávvordat", - "Sotnabeaivi", - ] - - day_abbreviations = [ - "", - "Mánnodat", - "Disdat", - "Gaskavahkku", - "Duorastat", - "Bearjadat", - "Lávvordat", - "Sotnabeaivi", - ] - - -class OdiaLocale(Locale): - names = ["or", "or-in"] - - past = "{0} ପୂରà­à¬¬à­‡" - future = "{0} ପରେ" - - timeframes = { - "now": "ବରà­à¬¤à­à¬¤à¬®à¬¾à¬¨", - "second": "à¬à¬• ସେକେଣà­à¬¡", - "seconds": "{0} ସେକେଣà­à¬¡", - "minute": "à¬à¬• ମିନଟ", - "minutes": "{0} ମିନଟ", - "hour": "à¬à¬• ଘଣà­à¬Ÿà¬¾", - "hours": "{0} ଘଣà­à¬Ÿà¬¾", - "day": "à¬à¬• ଦିନ", - "days": "{0} ଦିନ", - "month": "à¬à¬• ମାସ", - "months": "{0} ମାସ ", - "year": "à¬à¬• ବରà­à¬·", - "years": "{0} ବରà­à¬·", - } - - meridians = {"am": "ପୂରà­à¬¬à¬¾à¬¹à­à¬¨", "pm": "ଅପରାହà­à¬¨", "AM": "ପୂରà­à¬¬à¬¾à¬¹à­à¬¨", "PM": "ଅପରାହà­à¬¨"} - - month_names = [ - "", - "ଜାନà­à¬†à¬°à­€", - "ଫେବୃଆରୀ", - "ମାରà­à¬šà­à¬šà­", - "ଅପà­à¬°à­‡à¬²", - "ମଇ", - "ଜà­à¬¨à­", - "ଜà­à¬²à¬¾à¬‡", - "ଅଗଷà­à¬Ÿ", - "ସେପà­à¬Ÿà­‡à¬®à­à¬¬à¬°", - "ଅକà­à¬Ÿà­‹à¬¬à¬°à­", - "ନଭେମà­à¬¬à¬°à­", - "ଡିସେମà­à¬¬à¬°à­", - ] - month_abbreviations = [ - "", - "ଜାନà­", - "ଫେବୃ", - "ମାରà­à¬šà­à¬šà­", - "ଅପà­à¬°à­‡", - "ମଇ", - "ଜà­à¬¨à­", - "ଜà­à¬²à¬¾", - "ଅଗ", - "ସେପà­à¬Ÿà­‡", - "ଅକà­à¬Ÿà­‹", - "ନଭେ", - "ଡିସେ", - ] - - day_names = [ - "", - "ସୋମବାର", - "ମଙà­à¬—ଳବାର", - "ବà­à¬§à¬¬à¬¾à¬°", - "ଗà­à¬°à­à¬¬à¬¾à¬°", - "ଶà­à¬•à­à¬°à¬¬à¬¾à¬°", - "ଶନିବାର", - "ରବିବାର", - ] - day_abbreviations = [ - "", - "ସୋମ", - "ମଙà­à¬—ଳ", - "ବà­à¬§", - "ଗà­à¬°à­", - "ଶà­à¬•à­à¬°", - "ଶନି", - "ରବି", - ] - - def _ordinal_number(self, n: int) -> str: - if n > 10 or n == 0: - return f"{n}ତମ" - if n in [1, 5, 7, 8, 9, 10]: - return f"{n}ମ" - if n in [2, 3]: - return f"{n}à­Ÿ" - if n == 4: - return f"{n}ରà­à¬¥" - if n == 6: - return f"{n}ଷà­à¬ " - return "" - - -class SerbianLocale(Locale): - names = ["sr", "sr-rs", "sr-sp"] - - past = "pre {0}" - future = "za {0}" - and_word = "i" - - timeframes: ClassVar[Mapping[TimeFrameLiteral, Union[str, Mapping[str, str]]]] = { - "now": "sada", - "second": "sekundu", - "seconds": {"double": "{0} sekunde", "higher": "{0} sekundi"}, - "minute": "minutu", - "minutes": {"double": "{0} minute", "higher": "{0} minuta"}, - "hour": "sat", - "hours": {"double": "{0} sata", "higher": "{0} sati"}, - "day": "dan", - "days": {"double": "{0} dana", "higher": "{0} dana"}, - "week": "nedelju", - "weeks": {"double": "{0} nedelje", "higher": "{0} nedelja"}, - "month": "mesec", - "months": {"double": "{0} meseca", "higher": "{0} meseci"}, - "year": "godinu", - "years": {"double": "{0} godine", "higher": "{0} godina"}, - } - - month_names = [ - "", - "januar", # јануар - "februar", # фебруар - "mart", # март - "april", # април - "maj", # мај - "jun", # јун - "jul", # јул - "avgust", # авгуÑÑ‚ - "septembar", # Ñептембар - "oktobar", # октобар - "novembar", # новембар - "decembar", # децембар - ] - - month_abbreviations = [ - "", - "jan", - "feb", - "mar", - "apr", - "maj", - "jun", - "jul", - "avg", - "sep", - "okt", - "nov", - "dec", - ] - - day_names = [ - "", - "ponedeljak", # понедељак - "utorak", # уторак - "sreda", # Ñреда - "Äetvrtak", # четвртак - "petak", # петак - "subota", # Ñубота - "nedelja", # недеља - ] - - day_abbreviations = [ - "", - "po", # по - "ut", # ут - "sr", # ÑÑ€ - "Äe", # че - "pe", # пе - "su", # Ñу - "ne", # не - ] - - def _format_timeframe(self, timeframe: TimeFrameLiteral, delta: int) -> str: - form = self.timeframes[timeframe] - delta = abs(delta) - if isinstance(form, Mapping): - if 1 < delta <= 4: - form = form["double"] - else: - form = form["higher"] - - return form.format(delta) - - -class LuxembourgishLocale(Locale): - names = ["lb", "lb-lu"] - - past = "virun {0}" - future = "an {0}" - and_word = "an" - - timeframes: ClassVar[Dict[TimeFrameLiteral, str]] = { - "now": "just elo", - "second": "enger Sekonn", - "seconds": "{0} Sekonnen", - "minute": "enger Minutt", - "minutes": "{0} Minutten", - "hour": "enger Stonn", - "hours": "{0} Stonnen", - "day": "engem Dag", - "days": "{0} Deeg", - "week": "enger Woch", - "weeks": "{0} Wochen", - "month": "engem Mount", - "months": "{0} Méint", - "year": "engem Joer", - "years": "{0} Jahren", - } - - timeframes_only_distance = timeframes.copy() - timeframes_only_distance["second"] = "eng Sekonn" - timeframes_only_distance["minute"] = "eng Minutt" - timeframes_only_distance["hour"] = "eng Stonn" - timeframes_only_distance["day"] = "een Dag" - timeframes_only_distance["days"] = "{0} Deeg" - timeframes_only_distance["week"] = "eng Woch" - timeframes_only_distance["month"] = "ee Mount" - timeframes_only_distance["months"] = "{0} Méint" - timeframes_only_distance["year"] = "ee Joer" - timeframes_only_distance["years"] = "{0} Joer" - - month_names = [ - "", - "Januar", - "Februar", - "Mäerz", - "Abrëll", - "Mee", - "Juni", - "Juli", - "August", - "September", - "Oktouber", - "November", - "Dezember", - ] - - month_abbreviations = [ - "", - "Jan", - "Feb", - "Mäe", - "Abr", - "Mee", - "Jun", - "Jul", - "Aug", - "Sep", - "Okt", - "Nov", - "Dez", - ] - - day_names = [ - "", - "Méindeg", - "Dënschdeg", - "Mëttwoch", - "Donneschdeg", - "Freideg", - "Samschdeg", - "Sonndeg", - ] - - day_abbreviations = ["", "Méi", "Dën", "Mët", "Don", "Fre", "Sam", "Son"] - - def _ordinal_number(self, n: int) -> str: - return f"{n}." - - def describe( - self, - timeframe: TimeFrameLiteral, - delta: Union[int, float] = 0, - only_distance: bool = False, - ) -> str: - if not only_distance: - return super().describe(timeframe, delta, only_distance) - - # Luxembourgish uses a different case without 'in' or 'ago' - humanized: str = self.timeframes_only_distance[timeframe].format( - trunc(abs(delta)) - ) - - return humanized - - -class ZuluLocale(Locale): - names = ["zu", "zu-za"] - - past = "{0} edlule" - future = "{0} " - and_word = "futhi" - - timeframes: ClassVar[Mapping[TimeFrameLiteral, Union[Mapping[str, str], str]]] = { - "now": "manje", - "second": {"past": "umzuzwana", "future": "ngomzuzwana"}, - "seconds": {"past": "{0} imizuzwana", "future": "{0} ngemizuzwana"}, - "minute": {"past": "umzuzu", "future": "ngomzuzu"}, - "minutes": {"past": "{0} imizuzu", "future": "{0} ngemizuzu"}, - "hour": {"past": "ihora", "future": "ngehora"}, - "hours": {"past": "{0} amahora", "future": "{0} emahoreni"}, - "day": {"past": "usuku", "future": "ngosuku"}, - "days": {"past": "{0} izinsuku", "future": "{0} ezinsukwini"}, - "week": {"past": "isonto", "future": "ngesonto"}, - "weeks": {"past": "{0} amasonto", "future": "{0} emasontweni"}, - "month": {"past": "inyanga", "future": "ngenyanga"}, - "months": {"past": "{0} izinyanga", "future": "{0} ezinyangeni"}, - "year": {"past": "unyaka", "future": "ngonyak"}, - "years": {"past": "{0} iminyaka", "future": "{0} eminyakeni"}, - } - - def _format_timeframe(self, timeframe: TimeFrameLiteral, delta: int) -> str: - """Zulu aware time frame format function, takes into account - the differences between past and future forms.""" - abs_delta = abs(delta) - form = self.timeframes[timeframe] - - if isinstance(form, str): - return form.format(abs_delta) - - if delta > 0: - key = "future" - else: - key = "past" - form = form[key] - - return form.format(abs_delta) - - month_names = [ - "", - "uMasingane", - "uNhlolanja", - "uNdasa", - "UMbasa", - "UNhlaba", - "UNhlangulana", - "uNtulikazi", - "UNcwaba", - "uMandulo", - "uMfumfu", - "uLwezi", - "uZibandlela", - ] - - month_abbreviations = [ - "", - "uMasingane", - "uNhlolanja", - "uNdasa", - "UMbasa", - "UNhlaba", - "UNhlangulana", - "uNtulikazi", - "UNcwaba", - "uMandulo", - "uMfumfu", - "uLwezi", - "uZibandlela", - ] - - day_names = [ - "", - "uMsombuluko", - "uLwesibili", - "uLwesithathu", - "uLwesine", - "uLwesihlanu", - "uMgqibelo", - "iSonto", - ] - - day_abbreviations = [ - "", - "uMsombuluko", - "uLwesibili", - "uLwesithathu", - "uLwesine", - "uLwesihlanu", - "uMgqibelo", - "iSonto", - ] - - -class TamilLocale(Locale): - names = ["ta", "ta-in", "ta-lk"] - - past = "{0} நேரதà¯à®¤à®¿à®±à¯à®•௠மà¯à®©à¯à®ªà¯" - future = "இல௠{0}" - - timeframes = { - "now": "இபà¯à®ªà¯‹à®¤à¯", - "second": "ஒர௠இரணà¯à®Ÿà®¾à®µà®¤à¯", - "seconds": "{0} விநாடிகளà¯", - "minute": "ஒர௠நிமிடமà¯", - "minutes": "{0} நிமிடஙà¯à®•ளà¯", - "hour": "ஒர௠மணி", - "hours": "{0} மணிநேரமà¯", - "day": "ஒர௠நாளà¯", - "days": "{0} நாடà¯à®•ளà¯", - "week": "ஒர௠வாரமà¯", - "weeks": "{0} வாரஙà¯à®•ளà¯", - "month": "ஒர௠மாதமà¯", - "months": "{0} மாதஙà¯à®•ளà¯", - "year": "ஒர௠ஆணà¯à®Ÿà¯", - "years": "{0} ஆணà¯à®Ÿà¯à®•ளà¯", - } - - month_names = [ - "", - "சிதà¯à®¤à®¿à®°à¯ˆ", - "வைகாசி", - "ஆனி", - "ஆடி", - "ஆவணி", - "பà¯à®°à®Ÿà¯à®Ÿà®¾à®šà®¿", - "à®à®ªà¯à®ªà®šà®¿", - "காரà¯à®¤à¯à®¤à®¿à®•ை", - "மாரà¯à®•ழி", - "தை", - "மாசி", - "பஙà¯à®•à¯à®©à®¿", - ] - - month_abbreviations = [ - "", - "ஜன", - "பிபà¯", - "மாரà¯", - "à®à®ªà¯", - "மே", - "ஜூனà¯", - "ஜூலை", - "ஆக", - "செபà¯", - "அகà¯", - "நவ", - "டிச", - ] - - day_names = [ - "", - "திஙà¯à®•டà¯à®•ிழமை", - "செவà¯à®µà®¾à®¯à¯à®•à¯à®•ிழமை", - "பà¯à®¤à®©à¯à®•ிழமை", - "வியாழகà¯à®•ிழமை", - "வெளà¯à®³à®¿à®•à¯à®•ிழமை", - "சனிகà¯à®•ிழமை", - "ஞாயிறà¯à®±à¯à®•à¯à®•ிழமை", - ] - - day_abbreviations = [ - "", - "திஙà¯à®•டà¯", - "செவà¯à®µà®¾à®¯à¯", - "பà¯à®¤à®©à¯", - "வியாழனà¯", - "வெளà¯à®³à®¿", - "சனி", - "ஞாயிறà¯", - ] - - def _ordinal_number(self, n: int) -> str: - if n == 1: - return f"{n}வதà¯" - elif n >= 0: - return f"{n}ஆமà¯" - else: - return "" - - -class AlbanianLocale(Locale): - names = ["sq", "sq-al"] - - past = "{0} më parë" - future = "në {0}" - and_word = "dhe" - - timeframes = { - "now": "tani", - "second": "sekondë", - "seconds": "{0} sekonda", - "minute": "minutë", - "minutes": "{0} minuta", - "hour": "orë", - "hours": "{0} orë", - "day": "ditë", - "days": "{0} ditë", - "week": "javë", - "weeks": "{0} javë", - "month": "muaj", - "months": "{0} muaj", - "year": "vit", - "years": "{0} vjet", - } - - month_names = [ - "", - "janar", - "shkurt", - "mars", - "prill", - "maj", - "qershor", - "korrik", - "gusht", - "shtator", - "tetor", - "nëntor", - "dhjetor", - ] - - month_abbreviations = [ - "", - "jan", - "shk", - "mar", - "pri", - "maj", - "qer", - "korr", - "gush", - "sht", - "tet", - "nën", - "dhj", - ] - - day_names = [ - "", - "e hënë", - "e martë", - "e mërkurë", - "e enjte", - "e premte", - "e shtunë", - "e diel", - ] - - day_abbreviations = [ - "", - "hën", - "mar", - "mër", - "enj", - "pre", - "sht", - "die", - ] - - -class GeorgianLocale(Locale): - names = ["ka", "ka-ge"] - - past = "{0} წინ" # ts’in - future = "{0} შემდეგ" # shemdeg - and_word = "დáƒ" # da - - timeframes = { - "now": "áƒáƒ®áƒšáƒ", # akhla - # When a cardinal qualifies a noun, it stands in the singular - "second": "წáƒáƒ›áƒ˜áƒ¡", # ts’amis - "seconds": "{0} წáƒáƒ›áƒ˜áƒ¡", - "minute": "წუთის", # ts’utis - "minutes": "{0} წუთის", - "hour": "სáƒáƒáƒ—ის", # saatis - "hours": "{0} სáƒáƒáƒ—ის", - "day": "დღის", # dghis - "days": "{0} დღის", - "week": "კვირის", # k’viris - "weeks": "{0} კვირის", - "month": "თვის", # tvis - "months": "{0} თვის", - "year": "წლის", # ts’lis - "years": "{0} წლის", - } - - month_names = [ - # modern month names - "", - "იáƒáƒœáƒ•áƒáƒ áƒ˜", # Ianvari - "თებერვáƒáƒšáƒ˜", # Tebervali - "მáƒáƒ áƒ¢áƒ˜", # Mart'i - "áƒáƒžáƒ áƒ˜áƒšáƒ˜", # Ap'rili - "მáƒáƒ˜áƒ¡áƒ˜", # Maisi - "ივნისი", # Ivnisi - "ივლისი", # Ivlisi - "áƒáƒ’ვისტáƒ", # Agvist'o - "სექტემბერი", # Sekt'emberi - "áƒáƒ¥áƒ¢áƒáƒ›áƒ‘ერი", # Okt'omberi - "ნáƒáƒ”მბერი", # Noemberi - "დეკემბერი", # Dek'emberi - ] - - month_abbreviations = [ - # no abbr. found yet - "", - "იáƒáƒœáƒ•áƒáƒ áƒ˜", # Ianvari - "თებერვáƒáƒšáƒ˜", # Tebervali - "მáƒáƒ áƒ¢áƒ˜", # Mart'i - "áƒáƒžáƒ áƒ˜áƒšáƒ˜", # Ap'rili - "მáƒáƒ˜áƒ¡áƒ˜", # Maisi - "ივნისი", # Ivnisi - "ივლისი", # Ivlisi - "áƒáƒ’ვისტáƒ", # Agvist'o - "სექტემბერი", # Sekt'emberi - "áƒáƒ¥áƒ¢áƒáƒ›áƒ‘ერი", # Okt'omberi - "ნáƒáƒ”მბერი", # Noemberi - "დეკემბერი", # Dek'emberi - ] - - day_names = [ - "", - "áƒáƒ áƒ¨áƒáƒ‘áƒáƒ—ი", # orshabati - "სáƒáƒ›áƒ¨áƒáƒ‘áƒáƒ—ი", # samshabati - "áƒáƒ—ხშáƒáƒ‘áƒáƒ—ი", # otkhshabati - "ხუთშáƒáƒ‘áƒáƒ—ი", # khutshabati - "პáƒáƒ áƒáƒ¡áƒ™áƒ”ვი", # p’arask’evi - "შáƒáƒ‘áƒáƒ—ი", # shabati - # "k’vira" also serves as week; to avoid confusion "k’vira-dge" can be used for Sunday - "კვირáƒ", # k’vira - ] - - day_abbreviations = [ - "", - "áƒáƒ áƒ¨áƒáƒ‘áƒáƒ—ი", # orshabati - "სáƒáƒ›áƒ¨áƒáƒ‘áƒáƒ—ი", # samshabati - "áƒáƒ—ხშáƒáƒ‘áƒáƒ—ი", # otkhshabati - "ხუთშáƒáƒ‘áƒáƒ—ი", # khutshabati - "პáƒáƒ áƒáƒ¡áƒ™áƒ”ვი", # p’arask’evi - "შáƒáƒ‘áƒáƒ—ი", # shabati - "კვირáƒ", # k’vira - ] - - -class SinhalaLocale(Locale): - names = ["si", "si-lk"] - - past = "{0}à¶§ පෙර" - future = "{0}" - and_word = "සහ" - - timeframes: ClassVar[Mapping[TimeFrameLiteral, Union[Mapping[str, str], str]]] = { - "now": "දà·à¶±à·Š", - "second": { - "past": "තත්පරයක", - "future": "තත්පරයකින්", - }, # à¶šà·Š is the article - "seconds": { - "past": "à¶­à¶­à·Šà¶´à¶» {0} à¶š", - "future": "à¶­à¶­à·Šà¶´à¶» {0} කින්", - }, - "minute": { - "past": "විනà·à¶©à·’යක", - "future": "විනà·à¶©à·’යකින්", - }, - "minutes": { - "past": "විනà·à¶©à·’ {0} à¶š", - "future": "මිනිත්තු {0} කින්", - }, - "hour": {"past": "à¶´à·à¶ºà¶š", "future": "à¶´à·à¶ºà¶šà·’න්"}, - "hours": { - "past": "à¶´à·à¶º {0} à¶š", - "future": "à¶´à·à¶º {0} කින්", - }, - "day": {"past": "දිනක", "future": "දිනකට"}, - "days": { - "past": "දින {0} à¶š", - "future": "දින {0} කින්", - }, - "week": {"past": "සතියක", "future": "සතියකින්"}, - "weeks": { - "past": "සති {0} à¶š", - "future": "සති {0} කින්", - }, - "month": {"past": "මà·à·ƒà¶ºà¶š", "future": "එය මà·à·ƒà¶º තුළ"}, - "months": { - "past": "මà·à·ƒ {0} à¶š", - "future": "මà·à·ƒ {0} කින්", - }, - "year": {"past": "වසරක", "future": "වසරක් තුළ"}, - "years": { - "past": "අවුරුදු {0} à¶š", - "future": "අවුරුදු {0} තුළ", - }, - } - # Sinhala: the general format to describe timeframe is different from past and future, - # so we do not copy the original timeframes dictionary - timeframes_only_distance = {} - timeframes_only_distance["second"] = "තත්පරයක්" - timeframes_only_distance["seconds"] = "à¶­à¶­à·Šà¶´à¶» {0}" - timeframes_only_distance["minute"] = "මිනිත්තුවක්" - timeframes_only_distance["minutes"] = "විනà·à¶©à·’ {0}" - timeframes_only_distance["hour"] = "à¶´à·à¶ºà¶šà·Š" - timeframes_only_distance["hours"] = "à¶´à·à¶º {0}" - timeframes_only_distance["day"] = "දවසක්" - timeframes_only_distance["days"] = "දවස් {0}" - timeframes_only_distance["week"] = "සතියක්" - timeframes_only_distance["weeks"] = "සති {0}" - timeframes_only_distance["month"] = "මà·à·ƒà¶ºà¶šà·Š" - timeframes_only_distance["months"] = "මà·à·ƒ {0}" - timeframes_only_distance["year"] = "අවුරුද්දක්" - timeframes_only_distance["years"] = "අවුරුදු {0}" - - def _format_timeframe(self, timeframe: TimeFrameLiteral, delta: int) -> str: - """ - Sinhala awares time frame format function, takes into account - the differences between general, past, and future forms (three different suffixes). - """ - abs_delta = abs(delta) - form = self.timeframes[timeframe] - - if isinstance(form, str): - return form.format(abs_delta) - - if delta > 0: - key = "future" - else: - key = "past" - form = form[key] - - return form.format(abs_delta) - - def describe( - self, - timeframe: TimeFrameLiteral, - delta: Union[float, int] = 1, # key is always future when only_distance=False - only_distance: bool = False, - ) -> str: - """Describes a delta within a timeframe in plain language. - - :param timeframe: a string representing a timeframe. - :param delta: a quantity representing a delta in a timeframe. - :param only_distance: return only distance eg: "11 seconds" without "in" or "ago" keywords - """ - - if not only_distance: - return super().describe(timeframe, delta, only_distance) - # Sinhala uses a different case without 'in' or 'ago' - humanized = self.timeframes_only_distance[timeframe].format(trunc(abs(delta))) - - return humanized - - month_names = [ - "", - "ජනවà·à¶»à·’", - "පෙබරවà·à¶»à·’", - "මà·à¶»à·Šà¶­à·”", - "à¶…à¶´à·Šâ€à¶»à·šà¶½à·Š", - "මà·à¶ºà·’", - "ජූනි", - "ජූලි", - "à¶…à¶œà·à·ƒà·Šà¶­à·”", - "à·ƒà·à¶´à·Šà¶­à·à¶¸à·Šà¶¶à¶»à·Š", - "ඔක්තà·à¶¶à¶»à·Š", - "නොවà·à¶¸à·Šà¶¶à¶»à·Š", - "දෙසà·à¶¸à·Šà¶¶à¶»à·Š", - ] - - month_abbreviations = [ - "", - "ජන", - "පෙබ", - "මà·à¶»à·Š", - "à¶…à¶´à·Šâ€à¶»à·š", - "මà·à¶ºà·’", - "ජුනි", - "ජූලි", - "à¶…à¶œà·", - "à·ƒà·à¶´à·Š", - "ඔක්", - "නොවà·", - "දෙසà·", - ] - - day_names = [ - "", - "සදුදà·", - "à¶…à¶Ÿà·„à¶»à·à·€à¶¯à·", - "බදà·à¶¯à·", - "à¶¶à·Šâ€à¶»à·„ස්â€à¶´à¶­à·’න්â€à¶¯à·", - "සිකුරà·à¶¯à·", - "සෙනසුරà·à¶¯à·", - "ඉරිදà·", - ] - - day_abbreviations = [ - "", - "සදුද", - "බදà·", - "බදà·", - "සිකු", - "සෙන", - "à¶…", - "ඉරිදà·", - ] - - -class UrduLocale(Locale): - names = ["ur", "ur-pk"] - - past = "Ù¾ÛÙ„Û’ {0}" - future = "میں {0}" - and_word = "اور" - - timeframes = { - "now": "ابھی", - "second": "ایک سیکنڈ", - "seconds": "{0} سیکنڈ", - "minute": "ایک منٹ", - "minutes": "{0} منٹ", - "hour": "ایک گھنٹے", - "hours": "{0} گھنٹے", - "day": "ایک دن", - "days": "{0} دن", - "week": "ایک ÛÙØªÛ’", - "weeks": "{0} ÛÙØªÛ’", - "month": "ایک Ù…ÛینÛ", - "months": "{0} ماÛ", - "year": "ایک سال", - "years": "{0} سال", - } - - month_names = [ - "", - "جنوری", - "ÙØ±ÙˆØ±ÛŒ", - "مارچ", - "اپریل", - "مئی", - "جون", - "جولائی", - "اگست", - "ستمبر", - "اکتوبر", - "نومبر", - "دسمبر", - ] - - month_abbreviations = [ - "", - "جنوری", - "ÙØ±ÙˆØ±ÛŒ", - "مارچ", - "اپریل", - "مئی", - "جون", - "جولائی", - "اگست", - "ستمبر", - "اکتوبر", - "نومبر", - "دسمبر", - ] - - day_names = [ - "", - "سوموار", - "منگل", - "بدھ", - "جمعرات", - "جمعÛ", - "ÛÙØªÛ", - "اتوار", - ] - - day_abbreviations = [ - "", - "سوموار", - "منگل", - "بدھ", - "جمعرات", - "جمعÛ", - "ÛÙØªÛ", - "اتوار", - ] - - -class KazakhLocale(Locale): - names = ["kk", "kk-kz"] - - past = "{0} бұрын" - future = "{0} кейін" - timeframes = { - "now": "қазір", - "second": "бір Ñекунд", - "seconds": "{0} Ñекунд", - "minute": "бір минут", - "minutes": "{0} минут", - "hour": "бір Ñағат", - "hours": "{0} Ñағат", - "day": "бір күн", - "days": "{0} күн", - "week": "бір апта", - "weeks": "{0} апта", - "month": "бір ай", - "months": "{0} ай", - "year": "бір жыл", - "years": "{0} жыл", - } - - month_names = [ - "", - "Қаңтар", - "Ðқпан", - "Ðаурыз", - "Сәуір", - "Мамыр", - "МауÑым", - "Шілде", - "Тамыз", - "Қыркүйек", - "Қазан", - "Қараша", - "ЖелтоқÑан", - ] - month_abbreviations = [ - "", - "Қан", - "Ðқп", - "Ðау", - "Сәу", - "Мам", - "Мау", - "Шіл", - "Там", - "Қыр", - "Қаз", - "Қар", - "Жел", - ] - - day_names = [ - "", - "ДүйÑембі", - "СейÑенбі", - "СәрÑенбі", - "БейÑенбі", - "Жұма", - "Сенбі", - "ЖекÑенбі", - ] - day_abbreviations = ["", "ДÑ", "СÑ", "Ср", "БÑ", "Жм", "Сб", "ЖÑ"] - - -class AmharicLocale(Locale): - names = ["am", "am-et"] - - past = "{0} በáŠá‰µ" - future = "{0} á‹áˆµáŒ¥" - and_word = "እና" - - timeframes: ClassVar[Mapping[TimeFrameLiteral, Union[Mapping[str, str], str]]] = { - "now": "አáˆáŠ•", - "second": { - "past": "ከአንድ ሰከንድ", - "future": "በአንድ ሰከንድ", - }, - "seconds": { - "past": "ከ {0} ሰከንድ", - "future": "በ {0} ሰከንድ", - }, - "minute": { - "past": "ከአንድ ደቂቃ", - "future": "በአንድ ደቂቃ", - }, - "minutes": { - "past": "ከ {0} ደቂቃዎች", - "future": "በ {0} ደቂቃዎች", - }, - "hour": { - "past": "ከአንድ ሰዓት", - "future": "በአንድ ሰዓት", - }, - "hours": { - "past": "ከ {0} ሰዓታት", - "future": "በ {0} ሰከንድ", - }, - "day": { - "past": "ከአንድ ቀን", - "future": "በአንድ ቀን", - }, - "days": { - "past": "ከ {0} ቀናት", - "future": "በ {0} ቀናት", - }, - "week": { - "past": "ከአንድ ሳáˆáŠ•á‰µ", - "future": "በአንድ ሳáˆáŠ•á‰µ", - }, - "weeks": { - "past": "ከ {0} ሳáˆáŠ•á‰³á‰µ", - "future": "በ {0} ሳáˆáŠ•á‰³á‰µ", - }, - "month": { - "past": "ከአንድ ወር", - "future": "በአንድ ወር", - }, - "months": { - "past": "ከ {0} ወር", - "future": "በ {0} ወራት", - }, - "year": { - "past": "ከአንድ አመት", - "future": "በአንድ አመት", - }, - "years": { - "past": "ከ {0} ዓመታት", - "future": "በ {0} ዓመታት", - }, - } - # Amharic: the general format to describe timeframe is different from past and future, - # so we do not copy the original timeframes dictionary - timeframes_only_distance = { - "second": "አንድ ሰከንድ", - "seconds": "{0} ሰከንድ", - "minute": "አንድ ደቂቃ", - "minutes": "{0} ደቂቃዎች", - "hour": "አንድ ሰዓት", - "hours": "{0} ሰዓት", - "day": "አንድ ቀን", - "days": "{0} ቀናት", - "week": "አንድ ሳáˆáŠ•á‰µ", - "weeks": "{0} ሳáˆáŠ•á‰µ", - "month": "አንድ ወር", - "months": "{0} ወራት", - "year": "አንድ አመት", - "years": "{0} ዓመታት", - } - - month_names = [ - "", - "ጃንዩወሪ", - "áŒá‰¥áˆ©á‹ˆáˆª", - "ማርች", - "ኤá•ሪáˆ", - "ሜይ", - "áŒáŠ•", - "áŒáˆ‹á‹­", - "ኦገስት", - "ሴá•ቴáˆá‰ áˆ­", - "ኦክቶበር", - "ኖቬáˆá‰ áˆ­", - "ዲሴáˆá‰ áˆ­", - ] - - month_abbreviations = [ - "", - "ጃንዩ", - "áŒá‰¥áˆ©", - "ማርች", - "ኤá•ሪ", - "ሜይ", - "áŒáŠ•", - "áŒáˆ‹á‹­", - "ኦገስ", - "ሴá•ቴ", - "ኦክቶ", - "ኖቬáˆ", - "ዲሴáˆ", - ] - - day_names = [ - "", - "ሰኞ", - "ማክሰኞ", - "ረቡዕ", - "áˆáˆ™áˆµ", - "ዓርብ", - "ቅዳሜ", - "እሑድ", - ] - day_abbreviations = ["", "እ", "ሰ", "ማ", "ረ", "áˆ", "á‹“", "ቅ"] - - def _ordinal_number(self, n: int) -> str: - return f"{n}ኛ" - - def _format_timeframe(self, timeframe: TimeFrameLiteral, delta: int) -> str: - """ - Amharic awares time frame format function, takes into account - the differences between general, past, and future forms (three different suffixes). - """ - abs_delta = abs(delta) - form = self.timeframes[timeframe] - - if isinstance(form, str): - return form.format(abs_delta) - - if delta > 0: - key = "future" - else: - key = "past" - form = form[key] - - return form.format(abs_delta) - - def describe( - self, - timeframe: TimeFrameLiteral, - delta: Union[float, int] = 1, # key is always future when only_distance=False - only_distance: bool = False, - ) -> str: - """Describes a delta within a timeframe in plain language. - - :param timeframe: a string representing a timeframe. - :param delta: a quantity representing a delta in a timeframe. - :param only_distance: return only distance eg: "11 seconds" without "in" or "ago" keywords - """ - - if not only_distance: - return super().describe(timeframe, delta, only_distance) - humanized = self.timeframes_only_distance[timeframe].format(trunc(abs(delta))) - - return humanized - - -class ArmenianLocale(Locale): - names = ["hy", "hy-am"] - past = "{0} Õ¡Õ¼Õ¡Õ»" - future = "{0}Õ«Ö" - and_word = "ÔµÕ¾" # Yev - - timeframes = { - "now": "Õ°Õ«Õ´Õ¡", - "second": "Õ¾Õ¡ÕµÖ€Õ¯ÕµÕ¡Õ¶", - "seconds": "{0} Õ¾Õ¡ÕµÖ€Õ¯ÕµÕ¡Õ¶", - "minute": "Ö€Õ¸ÕºÕ¥", - "minutes": "{0} Ö€Õ¸ÕºÕ¥", - "hour": "ÕªÕ¡Õ´", - "hours": "{0} ÕªÕ¡Õ´", - "day": "Ö…Ö€", - "days": "{0} Ö…Ö€", - "month": "Õ¡Õ´Õ«Õ½", - "months": "{0} Õ¡Õ´Õ«Õ½", - "year": "Õ¿Õ¡Ö€Õ«Õ¶", - "years": "{0} Õ¿Õ¡Ö€Õ«Õ¶", - "week": "Õ·Õ¡Õ¢Õ¡Õ©", - "weeks": "{0} Õ·Õ¡Õ¢Õ¡Õ©", + 'now': 'à¦à¦–ন', + 'seconds': 'সেকেনà§à¦¡', + 'minute': 'à¦à¦• মিনিট', + 'minutes': '{0} মিনিট', + 'hour': 'à¦à¦• ঘণà§à¦Ÿà¦¾', + 'hours': '{0} ঘণà§à¦Ÿà¦¾', + 'day': 'à¦à¦• দিন', + 'days': '{0} দিন', + 'month': 'à¦à¦• মাস', + 'months': '{0} মাস ', + 'year': 'à¦à¦• বছর', + 'years': '{0} বছর', } meridians = { - "am": "Ô±Õ´", - "pm": "Õº.Õ´.", - "AM": "Ô±Õ´", - "PM": "Õº.Õ´.", + 'am': 'সকাল', + 'pm': 'বিকাল', + 'AM': 'সকাল', + 'PM': 'বিকাল', + } + + month_names = ['', 'জানà§à¦¯à¦¼à¦¾à¦°à¦¿', 'ফেবà§à¦°à§à§Ÿà¦¾à¦°à¦¿', 'মারà§à¦š', 'à¦à¦ªà§à¦°à¦¿à¦²', 'মে', 'জà§à¦¨', 'জà§à¦²à¦¾à¦‡', + 'আগসà§à¦Ÿ', 'সেপà§à¦Ÿà§‡à¦®à§à¦¬à¦°', 'অকà§à¦Ÿà§‹à¦¬à¦°', 'নভেমà§à¦¬à¦°', 'ডিসেমà§à¦¬à¦°'] + month_abbreviations = ['', 'জানà§', 'ফেব', 'মারà§à¦š', 'à¦à¦ªà§à¦°à¦¿', 'মে', 'জà§à¦¨', 'জà§à¦²', + 'অগা','সেপà§à¦Ÿ', 'অকà§à¦Ÿà§‹', 'নভে', 'ডিসে'] + + day_names = ['', 'সোমবার', 'মঙà§à¦—লবার', 'বà§à¦§à¦¬à¦¾à¦°', 'বৃহসà§à¦ªà¦¤à¦¿à¦¬à¦¾à¦°', 'শà§à¦•à§à¦°à¦¬à¦¾à¦°', 'শনিবার', 'রবিবার'] + day_abbreviations = ['', 'সোম', 'মঙà§à¦—ল', 'বà§à¦§', 'বৃহঃ', 'শà§à¦•à§à¦°', 'শনি', 'রবি'] + + def _ordinal_number(self, n): + if n > 10 or n == 0: + return '{0}তম'.format(n) + if n in [1, 5, 7, 8, 9, 10]: + return '{0}ম'.format(n) + if n in [2, 3]: + return '{0}à§Ÿ'.format(n) + if n == 4: + return '{0}রà§à¦¥'.format(n) + if n == 6: + return '{0}ষà§à¦ '.format(n) + + +class RomanshLocale(Locale): + + names = ['rm', 'rm_ch'] + + past = 'avant {0}' + future = 'en {0}' + + timeframes = { + 'now': 'en quest mument', + 'seconds': 'secundas', + 'minute': 'ina minuta', + 'minutes': '{0} minutas', + 'hour': 'in\'ura', + 'hours': '{0} ura', + 'day': 'in di', + 'days': '{0} dis', + 'month': 'in mais', + 'months': '{0} mais', + 'year': 'in onn', + 'years': '{0} onns', } month_names = [ - "", - "Õ°Õ¸Ö‚Õ¶Õ¾Õ¡Ö€", - "ÖƒÕ¥Õ¿Ö€Õ¾Õ¡Ö€", - "Õ´Õ¡Ö€Õ¿", - "Õ¡ÕºÖ€Õ«Õ¬", - "Õ´Õ¡ÕµÕ«Õ½", - "Õ°Õ¸Ö‚Õ¶Õ«Õ½", - "Õ°Õ¸Ö‚Õ¬Õ«Õ½", - "Ö…Õ£Õ¸Õ½Õ¿Õ¸Õ½", - "Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥Ö€", - "Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€", - "Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥Ö€", - "Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€", + '', 'schaner', 'favrer', 'mars', 'avrigl', 'matg', 'zercladur', + 'fanadur', 'avust', 'settember', 'october', 'november', 'december' ] month_abbreviations = [ - "", - "Õ°Õ¸Ö‚Õ¶Õ¾Õ¡Ö€", - "ÖƒÕ¥Õ¿Ö€Õ¾Õ¡Ö€", - "Õ´Õ¡Ö€Õ¿", - "Õ¡ÕºÖ€Õ«Õ¬", - "Õ´Õ¡ÕµÕ«Õ½", - "Õ°Õ¸Ö‚Õ¶Õ«Õ½", - "Õ°Õ¸Ö‚Õ¬Õ«Õ½", - "Ö…Õ£Õ¸Õ½Õ¿Õ¸Õ½", - "Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥Ö€", - "Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€", - "Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥Ö€", - "Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€", + '', 'schan', 'fav', 'mars', 'avr', 'matg', 'zer', 'fan', 'avu', + 'set', 'oct', 'nov', 'dec' ] day_names = [ - "", - "Õ¥Ö€Õ¯Õ¸Ö‚Õ·Õ¡Õ¢Õ©Õ«", - "Õ¥Ö€Õ¥Ö„Õ·Õ¡Õ¢Õ©Õ«", - "Õ¹Õ¸Ö€Õ¥Ö„Õ·Õ¡Õ¢Õ©Õ«", - "Õ°Õ«Õ¶Õ£Õ·Õ¡Õ¢Õ©Õ«", - "Õ¸Ö‚Ö€Õ¢Õ¡Õ©", - "Õ·Õ¡Õ¢Õ¡Õ©", - "Õ¯Õ«Ö€Õ¡Õ¯Õ«", + '', 'glindesdi', 'mardi', 'mesemna', 'gievgia', 'venderdi', + 'sonda', 'dumengia' ] day_abbreviations = [ - "", - "Õ¥Ö€Õ¯.", - "Õ¥Ö€Õ¥Ö„.", - "Õ¹Õ¸Ö€Õ¥Ö„.", - "Õ°Õ«Õ¶Õ£.", - "Õ¸Ö‚Ö€Õ¢.", - "Õ·Õ¡Õ¢.", - "Õ¯Õ«Ö€.", + '', 'gli', 'ma', 'me', 'gie', 've', 'so', 'du' ] -class UzbekLocale(Locale): - names = ["uz", "uz-uz"] - past = "{0}dan avval" - future = "{0}dan keyin" +class SwissLocale(Locale): + + names = ['de', 'de_ch'] + + past = 'vor {0}' + future = 'in {0}' + timeframes = { - "now": "hozir", - "second": "bir soniya", - "seconds": "{0} soniya", - "minute": "bir daqiqa", - "minutes": "{0} daqiqa", - "hour": "bir soat", - "hours": "{0} soat", - "day": "bir kun", - "days": "{0} kun", - "week": "bir hafta", - "weeks": "{0} hafta", - "month": "bir oy", - "months": "{0} oy", - "year": "bir yil", - "years": "{0} yil", + 'now': 'gerade eben', + 'seconds': 'Sekunden', + 'minute': 'einer Minute', + 'minutes': '{0} Minuten', + 'hour': 'einer Stunde', + 'hours': '{0} Stunden', + 'day': 'einem Tag', + 'days': '{0} Tage', + 'month': 'einem Monat', + 'months': '{0} Monaten', + 'year': 'einem Jahr', + 'years': '{0} Jahren', + } + + month_names = [ + '', 'Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', + 'August', 'September', 'Oktober', 'November', 'Dezember' + ] + + month_abbreviations = [ + '', 'Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', + 'Okt', 'Nov', 'Dez' + ] + + day_names = [ + '', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', + 'Samstag', 'Sonntag' + ] + + day_abbreviations = [ + '', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So' + ] + + +class RomanianLocale(Locale): + names = ['ro', 'ro_ro'] + + past = '{0} în urmă' + future = 'peste {0}' + + timeframes = { + 'now': 'acum', + 'seconds': 'câteva secunde', + 'minute': 'un minut', + 'minutes': '{0} minute', + 'hour': 'o oră', + 'hours': '{0} ore', + 'day': 'o zi', + 'days': '{0} zile', + 'month': 'o lună', + 'months': '{0} luni', + 'year': 'un an', + 'years': '{0} ani', + } + + month_names = ['', 'ianuarie', 'februarie', 'martie', 'aprilie', 'mai', 'iunie', 'iulie', + 'august', 'septembrie', 'octombrie', 'noiembrie', 'decembrie'] + month_abbreviations = ['', 'ian', 'febr', 'mart', 'apr', 'mai', 'iun', 'iul', 'aug', 'sept', 'oct', 'nov', 'dec'] + + day_names = ['', 'luni', 'marÈ›i', 'miercuri', 'joi', 'vineri', 'sâmbătă', 'duminică'] + day_abbreviations = ['', 'Lun', 'Mar', 'Mie', 'Joi', 'Vin', 'Sâm', 'Dum'] + + +class SlovenianLocale(Locale): + names = ['sl', 'sl_si'] + + past = 'pred {0}' + future = 'Äez {0}' + + timeframes = { + 'now': 'zdaj', + 'seconds': 'sekund', + 'minute': 'minuta', + 'minutes': '{0} minutami', + 'hour': 'uro', + 'hours': '{0} ur', + 'day': 'dan', + 'days': '{0} dni', + 'month': 'mesec', + 'months': '{0} mesecev', + 'year': 'leto', + 'years': '{0} let', + } + + meridians = { + 'am': '', + 'pm': '', + 'AM': '', + 'PM': '', } month_names = [ - "", - "Yanvar", - "Fevral", - "Mart", - "Aprel", - "May", - "Iyun", - "Iyul", - "Avgust", - "Sentyabr", - "Oktyabr", - "Noyabr", - "Dekabr", + '', 'Januar', 'Februar', 'Marec', 'April', 'Maj', 'Junij', 'Julij', + 'Avgust', 'September', 'Oktober', 'November', 'December' ] month_abbreviations = [ - "", - "Yan", - "Fev", - "Mar", - "Apr", - "May", - "Iyn", - "Iyl", - "Avg", - "Sen", - "Okt", - "Noy", - "Dek", + '', 'Jan', 'Feb', 'Mar', 'Apr', 'Maj', 'Jun', 'Jul', 'Avg', + 'Sep', 'Okt', 'Nov', 'Dec' ] day_names = [ - "", - "Dushanba", - "Seshanba", - "Chorshanba", - "Payshanba", - "Juma", - "Shanba", - "Yakshanba", + '', 'Ponedeljek', 'Torek', 'Sreda', 'ÄŒetrtek', 'Petek', 'Sobota', 'Nedelja' ] - day_abbreviations = ["", "Dush", "Sesh", "Chor", "Pay", "Jum", "Shan", "Yak"] + day_abbreviations = [ + '', 'Pon', 'Tor', 'Sre', 'ÄŒet', 'Pet', 'Sob', 'Ned' + ] + + +_locales = _map_locales() diff --git a/lib/arrow/parser.py b/lib/arrow/parser.py index 645e3da7..f3ed56cf 100644 --- a/lib/arrow/parser.py +++ b/lib/arrow/parser.py @@ -1,551 +1,205 @@ -"""Provides the :class:`Arrow ` class, a better way to parse datetime strings.""" - -import re -import sys -from datetime import datetime, timedelta -from datetime import tzinfo as dt_tzinfo -from functools import lru_cache -from typing import ( - Any, - ClassVar, - Dict, - Iterable, - List, - Match, - Optional, - Pattern, - SupportsFloat, - SupportsInt, - Tuple, - Union, - cast, - overload, -) +# -*- coding: utf-8 -*- +from __future__ import absolute_import +from __future__ import unicode_literals +from datetime import datetime from dateutil import tz - +import re from arrow import locales -from arrow.constants import DEFAULT_LOCALE -from arrow.util import next_weekday, normalize_timestamp - -if sys.version_info < (3, 8): # pragma: no cover - from typing_extensions import Literal, TypedDict -else: - from typing import Literal, TypedDict # pragma: no cover -class ParserError(ValueError): +class ParserError(RuntimeError): pass -# Allows for ParserErrors to be propagated from _build_datetime() -# when day_of_year errors occur. -# Before this, the ParserErrors were caught by the try/except in -# _parse_multiformat() and the appropriate error message was not -# transmitted to the user. -class ParserMatchError(ParserError): - pass +class DateTimeParser(object): + + _FORMAT_RE = re.compile('(YYY?Y?|MM?M?M?|Do|DD?D?D?|d?d?d?d|HH?|hh?|mm?|ss?|S+|ZZ?Z?|a|A|X)') + _ESCAPE_RE = re.compile('\[[^\[\]]*\]') + + _ONE_OR_MORE_DIGIT_RE = re.compile('\d+') + _ONE_OR_TWO_DIGIT_RE = re.compile('\d{1,2}') + _FOUR_DIGIT_RE = re.compile('\d{4}') + _TWO_DIGIT_RE = re.compile('\d{2}') + _TZ_RE = re.compile('[+\-]?\d{2}:?(\d{2})?') + _TZ_NAME_RE = re.compile('\w[\w+\-/]+') -_WEEKDATE_ELEMENT = Union[str, bytes, SupportsInt, bytearray] - -_FORMAT_TYPE = Literal[ - "YYYY", - "YY", - "MM", - "M", - "DDDD", - "DDD", - "DD", - "D", - "HH", - "H", - "hh", - "h", - "mm", - "m", - "ss", - "s", - "X", - "x", - "ZZZ", - "ZZ", - "Z", - "S", - "W", - "MMMM", - "MMM", - "Do", - "dddd", - "ddd", - "d", - "a", - "A", -] - - -class _Parts(TypedDict, total=False): - year: int - month: int - day_of_year: int - day: int - hour: int - minute: int - second: int - microsecond: int - timestamp: float - expanded_timestamp: int - tzinfo: dt_tzinfo - am_pm: Literal["am", "pm"] - day_of_week: int - weekdate: Tuple[_WEEKDATE_ELEMENT, _WEEKDATE_ELEMENT, Optional[_WEEKDATE_ELEMENT]] - - -class DateTimeParser: - _FORMAT_RE: ClassVar[Pattern[str]] = re.compile( - r"(YYY?Y?|MM?M?M?|Do|DD?D?D?|d?d?d?d|HH?|hh?|mm?|ss?|S+|ZZ?Z?|a|A|x|X|W)" - ) - _ESCAPE_RE: ClassVar[Pattern[str]] = re.compile(r"\[[^\[\]]*\]") - - _ONE_OR_TWO_DIGIT_RE: ClassVar[Pattern[str]] = re.compile(r"\d{1,2}") - _ONE_OR_TWO_OR_THREE_DIGIT_RE: ClassVar[Pattern[str]] = re.compile(r"\d{1,3}") - _ONE_OR_MORE_DIGIT_RE: ClassVar[Pattern[str]] = re.compile(r"\d+") - _TWO_DIGIT_RE: ClassVar[Pattern[str]] = re.compile(r"\d{2}") - _THREE_DIGIT_RE: ClassVar[Pattern[str]] = re.compile(r"\d{3}") - _FOUR_DIGIT_RE: ClassVar[Pattern[str]] = re.compile(r"\d{4}") - _TZ_Z_RE: ClassVar[Pattern[str]] = re.compile(r"([\+\-])(\d{2})(?:(\d{2}))?|Z") - _TZ_ZZ_RE: ClassVar[Pattern[str]] = re.compile(r"([\+\-])(\d{2})(?:\:(\d{2}))?|Z") - _TZ_NAME_RE: ClassVar[Pattern[str]] = re.compile(r"\w[\w+\-/]+") - # NOTE: timestamps cannot be parsed from natural language strings (by removing the ^...$) because it will - # break cases like "15 Jul 2000" and a format list (see issue #447) - _TIMESTAMP_RE: ClassVar[Pattern[str]] = re.compile(r"^\-?\d+\.?\d+$") - _TIMESTAMP_EXPANDED_RE: ClassVar[Pattern[str]] = re.compile(r"^\-?\d+$") - _TIME_RE: ClassVar[Pattern[str]] = re.compile( - r"^(\d{2})(?:\:?(\d{2}))?(?:\:?(\d{2}))?(?:([\.\,])(\d+))?$" - ) - _WEEK_DATE_RE: ClassVar[Pattern[str]] = re.compile( - r"(?P\d{4})[\-]?W(?P\d{2})[\-]?(?P\d)?" - ) - - _BASE_INPUT_RE_MAP: ClassVar[Dict[_FORMAT_TYPE, Pattern[str]]] = { - "YYYY": _FOUR_DIGIT_RE, - "YY": _TWO_DIGIT_RE, - "MM": _TWO_DIGIT_RE, - "M": _ONE_OR_TWO_DIGIT_RE, - "DDDD": _THREE_DIGIT_RE, - "DDD": _ONE_OR_TWO_OR_THREE_DIGIT_RE, - "DD": _TWO_DIGIT_RE, - "D": _ONE_OR_TWO_DIGIT_RE, - "HH": _TWO_DIGIT_RE, - "H": _ONE_OR_TWO_DIGIT_RE, - "hh": _TWO_DIGIT_RE, - "h": _ONE_OR_TWO_DIGIT_RE, - "mm": _TWO_DIGIT_RE, - "m": _ONE_OR_TWO_DIGIT_RE, - "ss": _TWO_DIGIT_RE, - "s": _ONE_OR_TWO_DIGIT_RE, - "X": _TIMESTAMP_RE, - "x": _TIMESTAMP_EXPANDED_RE, - "ZZZ": _TZ_NAME_RE, - "ZZ": _TZ_ZZ_RE, - "Z": _TZ_Z_RE, - "S": _ONE_OR_MORE_DIGIT_RE, - "W": _WEEK_DATE_RE, + _BASE_INPUT_RE_MAP = { + 'YYYY': _FOUR_DIGIT_RE, + 'YY': _TWO_DIGIT_RE, + 'MM': _TWO_DIGIT_RE, + 'M': _ONE_OR_TWO_DIGIT_RE, + 'DD': _TWO_DIGIT_RE, + 'D': _ONE_OR_TWO_DIGIT_RE, + 'HH': _TWO_DIGIT_RE, + 'H': _ONE_OR_TWO_DIGIT_RE, + 'hh': _TWO_DIGIT_RE, + 'h': _ONE_OR_TWO_DIGIT_RE, + 'mm': _TWO_DIGIT_RE, + 'm': _ONE_OR_TWO_DIGIT_RE, + 'ss': _TWO_DIGIT_RE, + 's': _ONE_OR_TWO_DIGIT_RE, + 'X': re.compile('\d+'), + 'ZZZ': _TZ_NAME_RE, + 'ZZ': _TZ_RE, + 'Z': _TZ_RE, + 'S': _ONE_OR_MORE_DIGIT_RE, } - SEPARATORS: ClassVar[List[str]] = ["-", "/", "."] + MARKERS = ['YYYY', 'MM', 'DD'] + SEPARATORS = ['-', '/', '.'] - locale: locales.Locale - _input_re_map: Dict[_FORMAT_TYPE, Pattern[str]] + def __init__(self, locale='en_us'): - def __init__(self, locale: str = DEFAULT_LOCALE, cache_size: int = 0) -> None: self.locale = locales.get_locale(locale) self._input_re_map = self._BASE_INPUT_RE_MAP.copy() - self._input_re_map.update( - { - "MMMM": self._generate_choice_re( - self.locale.month_names[1:], re.IGNORECASE - ), - "MMM": self._generate_choice_re( - self.locale.month_abbreviations[1:], re.IGNORECASE - ), - "Do": re.compile(self.locale.ordinal_day_re), - "dddd": self._generate_choice_re( - self.locale.day_names[1:], re.IGNORECASE - ), - "ddd": self._generate_choice_re( - self.locale.day_abbreviations[1:], re.IGNORECASE - ), - "d": re.compile(r"[1-7]"), - "a": self._generate_choice_re( - (self.locale.meridians["am"], self.locale.meridians["pm"]) - ), - # note: 'A' token accepts both 'am/pm' and 'AM/PM' formats to - # ensure backwards compatibility of this token - "A": self._generate_choice_re(self.locale.meridians.values()), - } - ) - if cache_size > 0: - self._generate_pattern_re = lru_cache(maxsize=cache_size)( # type: ignore - self._generate_pattern_re - ) + self._input_re_map.update({ + 'MMMM': self._choice_re(self.locale.month_names[1:], re.IGNORECASE), + 'MMM': self._choice_re(self.locale.month_abbreviations[1:], + re.IGNORECASE), + 'Do': re.compile(self.locale.ordinal_day_re), + 'dddd': self._choice_re(self.locale.day_names[1:], re.IGNORECASE), + 'ddd': self._choice_re(self.locale.day_abbreviations[1:], + re.IGNORECASE), + 'd' : re.compile("[1-7]"), + 'a': self._choice_re( + (self.locale.meridians['am'], self.locale.meridians['pm']) + ), + # note: 'A' token accepts both 'am/pm' and 'AM/PM' formats to + # ensure backwards compatibility of this token + 'A': self._choice_re(self.locale.meridians.values()) + }) - # TODO: since we support more than ISO 8601, we should rename this function - # IDEA: break into multiple functions - def parse_iso( - self, datetime_string: str, normalize_whitespace: bool = False - ) -> datetime: - if normalize_whitespace: - datetime_string = re.sub(r"\s+", " ", datetime_string.strip()) + def parse_iso(self, string): - has_space_divider = " " in datetime_string - has_t_divider = "T" in datetime_string - - num_spaces = datetime_string.count(" ") - if has_space_divider and num_spaces != 1 or has_t_divider and num_spaces > 0: - raise ParserError( - f"Expected an ISO 8601-like string, but was given {datetime_string!r}. " - "Try passing in a format string to resolve this." - ) - - has_time = has_space_divider or has_t_divider - has_tz = False - - # date formats (ISO 8601 and others) to test against - # NOTE: YYYYMM is omitted to avoid confusion with YYMMDD (no longer part of ISO 8601, but is still often used) - formats = [ - "YYYY-MM-DD", - "YYYY-M-DD", - "YYYY-M-D", - "YYYY/MM/DD", - "YYYY/M/DD", - "YYYY/M/D", - "YYYY.MM.DD", - "YYYY.M.DD", - "YYYY.M.D", - "YYYYMMDD", - "YYYY-DDDD", - "YYYYDDDD", - "YYYY-MM", - "YYYY/MM", - "YYYY.MM", - "YYYY", - "W", - ] + has_time = 'T' in string or ' ' in string.strip() + space_divider = ' ' in string.strip() if has_time: - if has_space_divider: - date_string, time_string = datetime_string.split(" ", 1) + if space_divider: + date_string, time_string = string.split(' ', 1) else: - date_string, time_string = datetime_string.split("T", 1) - - time_parts = re.split( - r"[\+\-Z]", time_string, maxsplit=1, flags=re.IGNORECASE - ) - - time_components: Optional[Match[str]] = self._TIME_RE.match(time_parts[0]) - - if time_components is None: - raise ParserError( - "Invalid time component provided. " - "Please specify a format or provide a valid time component in the basic or extended ISO 8601 time format." - ) - - ( - hours, - minutes, - seconds, - subseconds_sep, - subseconds, - ) = time_components.groups() - - has_tz = len(time_parts) == 2 - has_minutes = minutes is not None - has_seconds = seconds is not None - has_subseconds = subseconds is not None - - is_basic_time_format = ":" not in time_parts[0] - tz_format = "Z" - - # use 'ZZ' token instead since tz offset is present in non-basic format - if has_tz and ":" in time_parts[1]: - tz_format = "ZZ" - - time_sep = "" if is_basic_time_format else ":" + date_string, time_string = string.split('T', 1) + time_parts = re.split('[+-]', time_string, 1) + has_tz = len(time_parts) > 1 + has_seconds = time_parts[0].count(':') > 1 + has_subseconds = re.search('[.,]', time_parts[0]) if has_subseconds: - time_string = "HH{time_sep}mm{time_sep}ss{subseconds_sep}S".format( - time_sep=time_sep, subseconds_sep=subseconds_sep - ) + formats = ['YYYY-MM-DDTHH:mm:ss%sS' % has_subseconds.group()] elif has_seconds: - time_string = "HH{time_sep}mm{time_sep}ss".format(time_sep=time_sep) - elif has_minutes: - time_string = f"HH{time_sep}mm" + formats = ['YYYY-MM-DDTHH:mm:ss'] else: - time_string = "HH" - - if has_space_divider: - formats = [f"{f} {time_string}" for f in formats] - else: - formats = [f"{f}T{time_string}" for f in formats] + formats = ['YYYY-MM-DDTHH:mm'] + else: + has_tz = False + # generate required formats: YYYY-MM-DD, YYYY-MM-DD, YYYY + # using various separators: -, /, . + l = len(self.MARKERS) + formats = [separator.join(self.MARKERS[:l-i]) + for i in range(l) + for separator in self.SEPARATORS] if has_time and has_tz: - # Add "Z" or "ZZ" to the format strings to indicate to - # _parse_token() that a timezone needs to be parsed - formats = [f"{f}{tz_format}" for f in formats] + formats = [f + 'Z' for f in formats] - return self._parse_multiformat(datetime_string, formats) + if space_divider: + formats = [item.replace('T', ' ', 1) for item in formats] - def parse( - self, - datetime_string: str, - fmt: Union[List[str], str], - normalize_whitespace: bool = False, - ) -> datetime: - if normalize_whitespace: - datetime_string = re.sub(r"\s+", " ", datetime_string) + return self._parse_multiformat(string, formats) + + def parse(self, string, fmt): if isinstance(fmt, list): - return self._parse_multiformat(datetime_string, fmt) + return self._parse_multiformat(string, fmt) - try: - fmt_tokens: List[_FORMAT_TYPE] - fmt_pattern_re: Pattern[str] - fmt_tokens, fmt_pattern_re = self._generate_pattern_re(fmt) - except re.error as e: - raise ParserMatchError( - f"Failed to generate regular expression pattern: {e}." - ) - - match = fmt_pattern_re.search(datetime_string) - - if match is None: - raise ParserMatchError( - f"Failed to match {fmt!r} when parsing {datetime_string!r}." - ) - - parts: _Parts = {} - for token in fmt_tokens: - value: Union[Tuple[str, str, str], str] - if token == "Do": - value = match.group("value") - elif token == "W": - value = (match.group("year"), match.group("week"), match.group("day")) - else: - value = match.group(token) - - if value is None: - raise ParserMatchError( - f"Unable to find a match group for the specified token {token!r}." - ) - - self._parse_token(token, value, parts) # type: ignore[arg-type] - - return self._build_datetime(parts) - - def _generate_pattern_re(self, fmt: str) -> Tuple[List[_FORMAT_TYPE], Pattern[str]]: # fmt is a string of tokens like 'YYYY-MM-DD' # we construct a new string by replacing each # token by its pattern: # 'YYYY-MM-DD' -> '(?P\d{4})-(?P\d{2})-(?P
    \d{2})' - tokens: List[_FORMAT_TYPE] = [] + tokens = [] offset = 0 - # Escape all special RegEx chars - escaped_fmt = re.escape(fmt) - # Extract the bracketed expressions to be reinserted later. - escaped_fmt = re.sub(self._ESCAPE_RE, "#", escaped_fmt) - + escaped_fmt = re.sub(self._ESCAPE_RE, "#" , fmt) # Any number of S is the same as one. - # TODO: allow users to specify the number of digits to parse - escaped_fmt = re.sub(r"S+", "S", escaped_fmt) - + escaped_fmt = re.sub('S+', 'S', escaped_fmt) escaped_data = re.findall(self._ESCAPE_RE, fmt) fmt_pattern = escaped_fmt for m in self._FORMAT_RE.finditer(escaped_fmt): - token: _FORMAT_TYPE = cast(_FORMAT_TYPE, m.group(0)) + token = m.group(0) try: input_re = self._input_re_map[token] except KeyError: - raise ParserError(f"Unrecognized token {token!r}.") - input_pattern = f"(?P<{token}>{input_re.pattern})" + raise ParserError('Unrecognized token \'{0}\''.format(token)) + input_pattern = '(?P<{0}>{1})'.format(token, input_re.pattern) tokens.append(token) # a pattern doesn't have the same length as the token # it replaces! We keep the difference in the offset variable. # This works because the string is scanned left-to-right and matches # are returned in the order found by finditer. - fmt_pattern = ( - fmt_pattern[: m.start() + offset] - + input_pattern - + fmt_pattern[m.end() + offset :] - ) + fmt_pattern = fmt_pattern[:m.start() + offset] + input_pattern + fmt_pattern[m.end() + offset:] offset += len(input_pattern) - (m.end() - m.start()) final_fmt_pattern = "" - split_fmt = fmt_pattern.split(r"\#") + a = fmt_pattern.split("#") + b = escaped_data - # Due to the way Python splits, 'split_fmt' will always be longer - for i in range(len(split_fmt)): - final_fmt_pattern += split_fmt[i] - if i < len(escaped_data): - final_fmt_pattern += escaped_data[i][1:-1] + # Due to the way Python splits, 'a' will always be longer + for i in range(len(a)): + final_fmt_pattern += a[i] + if i < len(b): + final_fmt_pattern += b[i][1:-1] - # Wrap final_fmt_pattern in a custom word boundary to strictly - # match the formatting pattern and filter out date and time formats - # that include junk such as: blah1998-09-12 blah, blah 1998-09-12blah, - # blah1998-09-12blah. The custom word boundary matches every character - # that is not a whitespace character to allow for searching for a date - # and time string in a natural language sentence. Therefore, searching - # for a string of the form YYYY-MM-DD in "blah 1998-09-12 blah" will - # work properly. - # Certain punctuation before or after the target pattern such as - # "1998-09-12," is permitted. For the full list of valid punctuation, - # see the documentation. + match = re.search(final_fmt_pattern, string, flags=re.IGNORECASE) + if match is None: + raise ParserError('Failed to match \'{0}\' when parsing \'{1}\''.format(final_fmt_pattern, string)) + parts = {} + for token in tokens: + if token == 'Do': + value = match.group('value') + else: + value = match.group(token) + self._parse_token(token, value, parts) + return self._build_datetime(parts) - starting_word_boundary = ( - r"(?\s])" # This is the list of punctuation that is ok before the - # pattern (i.e. "It can't not be these characters before the pattern") - r"(\b|^)" - # The \b is to block cases like 1201912 but allow 201912 for pattern YYYYMM. The ^ was necessary to allow a - # negative number through i.e. before epoch numbers - ) - ending_word_boundary = ( - r"(?=[\,\.\;\:\?\!\"\'\`\[\]\{\}\(\)\<\>]?" # Positive lookahead stating that these punctuation marks - # can appear after the pattern at most 1 time - r"(?!\S))" # Don't allow any non-whitespace character after the punctuation - ) - bounded_fmt_pattern = r"{}{}{}".format( - starting_word_boundary, final_fmt_pattern, ending_word_boundary - ) + def _parse_token(self, token, value, parts): - return tokens, re.compile(bounded_fmt_pattern, flags=re.IGNORECASE) - - @overload - def _parse_token( - self, - token: Literal[ - "YYYY", - "YY", - "MM", - "M", - "DDDD", - "DDD", - "DD", - "D", - "Do", - "HH", - "hh", - "h", - "H", - "mm", - "m", - "ss", - "s", - "x", - ], - value: Union[str, bytes, SupportsInt, bytearray], - parts: _Parts, - ) -> None: - ... # pragma: no cover - - @overload - def _parse_token( - self, - token: Literal["X"], - value: Union[str, bytes, SupportsFloat, bytearray], - parts: _Parts, - ) -> None: - ... # pragma: no cover - - @overload - def _parse_token( - self, - token: Literal["MMMM", "MMM", "dddd", "ddd", "S"], - value: Union[str, bytes, bytearray], - parts: _Parts, - ) -> None: - ... # pragma: no cover - - @overload - def _parse_token( - self, - token: Literal["a", "A", "ZZZ", "ZZ", "Z"], - value: Union[str, bytes], - parts: _Parts, - ) -> None: - ... # pragma: no cover - - @overload - def _parse_token( - self, - token: Literal["W"], - value: Tuple[_WEEKDATE_ELEMENT, _WEEKDATE_ELEMENT, Optional[_WEEKDATE_ELEMENT]], - parts: _Parts, - ) -> None: - ... # pragma: no cover - - def _parse_token( - self, - token: Any, - value: Any, - parts: _Parts, - ) -> None: - if token == "YYYY": - parts["year"] = int(value) - - elif token == "YY": + if token == 'YYYY': + parts['year'] = int(value) + elif token == 'YY': value = int(value) - parts["year"] = 1900 + value if value > 68 else 2000 + value + parts['year'] = 1900 + value if value > 68 else 2000 + value - elif token in ["MMMM", "MMM"]: - # FIXME: month_number() is nullable - parts["month"] = self.locale.month_number(value.lower()) # type: ignore[typeddict-item] + elif token in ['MMMM', 'MMM']: + parts['month'] = self.locale.month_number(value.lower()) - elif token in ["MM", "M"]: - parts["month"] = int(value) + elif token in ['MM', 'M']: + parts['month'] = int(value) - elif token in ["DDDD", "DDD"]: - parts["day_of_year"] = int(value) + elif token in ['DD', 'D']: + parts['day'] = int(value) - elif token in ["DD", "D"]: - parts["day"] = int(value) + elif token in ['Do']: + parts['day'] = int(value) - elif token == "Do": - parts["day"] = int(value) + elif token.upper() in ['HH', 'H']: + parts['hour'] = int(value) - elif token == "dddd": - # locale day names are 1-indexed - day_of_week = [x.lower() for x in self.locale.day_names].index( - value.lower() - ) - parts["day_of_week"] = day_of_week - 1 + elif token in ['mm', 'm']: + parts['minute'] = int(value) - elif token == "ddd": - # locale day abbreviations are 1-indexed - day_of_week = [x.lower() for x in self.locale.day_abbreviations].index( - value.lower() - ) - parts["day_of_week"] = day_of_week - 1 + elif token in ['ss', 's']: + parts['second'] = int(value) - elif token.upper() in ["HH", "H"]: - parts["hour"] = int(value) - - elif token in ["mm", "m"]: - parts["minute"] = int(value) - - elif token in ["ss", "s"]: - parts["second"] = int(value) - - elif token == "S": + elif token == 'S': # We have the *most significant* digits of an arbitrary-precision integer. # We want the six most significant digits as an integer, rounded. - # IDEA: add nanosecond support somehow? Need datetime support for it first. - value = value.ljust(7, "0") + # FIXME: add nanosecond support somehow? + value = value.ljust(7, str('0')) # floating-point (IEEE-754) defaults to half-to-even rounding seventh_digit = int(value[6]) @@ -556,216 +210,119 @@ class DateTimeParser: else: rounding = 0 - parts["microsecond"] = int(value[:6]) + rounding + parts['microsecond'] = int(value[:6]) + rounding - elif token == "X": - parts["timestamp"] = float(value) + elif token == 'X': + parts['timestamp'] = int(value) - elif token == "x": - parts["expanded_timestamp"] = int(value) + elif token in ['ZZZ', 'ZZ', 'Z']: + parts['tzinfo'] = TzinfoParser.parse(value) - elif token in ["ZZZ", "ZZ", "Z"]: - parts["tzinfo"] = TzinfoParser.parse(value) - - elif token in ["a", "A"]: - if value in (self.locale.meridians["am"], self.locale.meridians["AM"]): - parts["am_pm"] = "am" - if "hour" in parts and not 0 <= parts["hour"] <= 12: - raise ParserMatchError( - f"Hour token value must be between 0 and 12 inclusive for token {token!r}." - ) - elif value in (self.locale.meridians["pm"], self.locale.meridians["PM"]): - parts["am_pm"] = "pm" - elif token == "W": - parts["weekdate"] = value + elif token in ['a', 'A']: + if value in ( + self.locale.meridians['am'], + self.locale.meridians['AM'] + ): + parts['am_pm'] = 'am' + elif value in ( + self.locale.meridians['pm'], + self.locale.meridians['PM'] + ): + parts['am_pm'] = 'pm' @staticmethod - def _build_datetime(parts: _Parts) -> datetime: - weekdate = parts.get("weekdate") + def _build_datetime(parts): - if weekdate is not None: - year, week = int(weekdate[0]), int(weekdate[1]) + timestamp = parts.get('timestamp') - if weekdate[2] is not None: - _day = int(weekdate[2]) - else: - # day not given, default to 1 - _day = 1 + if timestamp: + tz_utc = tz.tzutc() + return datetime.fromtimestamp(timestamp, tz=tz_utc) - date_string = f"{year}-{week}-{_day}" + am_pm = parts.get('am_pm') + hour = parts.get('hour', 0) - # tokens for ISO 8601 weekdates - dt = datetime.strptime(date_string, "%G-%V-%u") - - parts["year"] = dt.year - parts["month"] = dt.month - parts["day"] = dt.day - - timestamp = parts.get("timestamp") - - if timestamp is not None: - return datetime.fromtimestamp(timestamp, tz=tz.tzutc()) - - expanded_timestamp = parts.get("expanded_timestamp") - - if expanded_timestamp is not None: - return datetime.fromtimestamp( - normalize_timestamp(expanded_timestamp), - tz=tz.tzutc(), - ) - - day_of_year = parts.get("day_of_year") - - if day_of_year is not None: - _year = parts.get("year") - month = parts.get("month") - if _year is None: - raise ParserError( - "Year component is required with the DDD and DDDD tokens." - ) - - if month is not None: - raise ParserError( - "Month component is not allowed with the DDD and DDDD tokens." - ) - - date_string = f"{_year}-{day_of_year}" - try: - dt = datetime.strptime(date_string, "%Y-%j") - except ValueError: - raise ParserError( - f"The provided day of year {day_of_year!r} is invalid." - ) - - parts["year"] = dt.year - parts["month"] = dt.month - parts["day"] = dt.day - - day_of_week: Optional[int] = parts.get("day_of_week") - day = parts.get("day") - - # If day is passed, ignore day of week - if day_of_week is not None and day is None: - year = parts.get("year", 1970) - month = parts.get("month", 1) - day = 1 - - # dddd => first day of week after epoch - # dddd YYYY => first day of week in specified year - # dddd MM YYYY => first day of week in specified year and month - # dddd MM => first day after epoch in specified month - next_weekday_dt = next_weekday(datetime(year, month, day), day_of_week) - parts["year"] = next_weekday_dt.year - parts["month"] = next_weekday_dt.month - parts["day"] = next_weekday_dt.day - - am_pm = parts.get("am_pm") - hour = parts.get("hour", 0) - - if am_pm == "pm" and hour < 12: + if am_pm == 'pm' and hour < 12: hour += 12 - elif am_pm == "am" and hour == 12: + elif am_pm == 'am' and hour == 12: hour = 0 - # Support for midnight at the end of day - if hour == 24: - if parts.get("minute", 0) != 0: - raise ParserError("Midnight at the end of day must not contain minutes") - if parts.get("second", 0) != 0: - raise ParserError("Midnight at the end of day must not contain seconds") - if parts.get("microsecond", 0) != 0: - raise ParserError( - "Midnight at the end of day must not contain microseconds" - ) - hour = 0 - day_increment = 1 - else: - day_increment = 0 + return datetime(year=parts.get('year', 1), month=parts.get('month', 1), + day=parts.get('day', 1), hour=hour, minute=parts.get('minute', 0), + second=parts.get('second', 0), microsecond=parts.get('microsecond', 0), + tzinfo=parts.get('tzinfo')) - # account for rounding up to 1000000 - microsecond = parts.get("microsecond", 0) - if microsecond == 1000000: - microsecond = 0 - second_increment = 1 - else: - second_increment = 0 + def _parse_multiformat(self, string, formats): - increment = timedelta(days=day_increment, seconds=second_increment) - - return ( - datetime( - year=parts.get("year", 1), - month=parts.get("month", 1), - day=parts.get("day", 1), - hour=hour, - minute=parts.get("minute", 0), - second=parts.get("second", 0), - microsecond=microsecond, - tzinfo=parts.get("tzinfo"), - ) - + increment - ) - - def _parse_multiformat(self, string: str, formats: Iterable[str]) -> datetime: - _datetime: Optional[datetime] = None + _datetime = None for fmt in formats: try: _datetime = self.parse(string, fmt) break - except ParserMatchError: + except ParserError: pass if _datetime is None: - supported_formats = ", ".join(formats) - raise ParserError( - f"Could not match input {string!r} to any of the following formats: {supported_formats}." - ) + raise ParserError('Could not match input to any of {0} on \'{1}\''.format(formats, string)) return _datetime - # generates a capture group of choices separated by an OR operator @staticmethod - def _generate_choice_re( - choices: Iterable[str], flags: Union[int, re.RegexFlag] = 0 - ) -> Pattern[str]: - return re.compile(r"({})".format("|".join(choices)), flags=flags) + def _map_lookup(input_map, key): + + try: + return input_map[key] + except KeyError: + raise ParserError('Could not match "{0}" to {1}'.format(key, input_map)) + + @staticmethod + def _try_timestamp(string): + + try: + return float(string) + except: + return None + + @staticmethod + def _choice_re(choices, flags=0): + return re.compile('({0})'.format('|'.join(choices)), flags=flags) -class TzinfoParser: - _TZINFO_RE: ClassVar[Pattern[str]] = re.compile( - r"^(?:\(UTC)*([\+\-])?(\d{2})(?:\:?(\d{2}))?" - ) +class TzinfoParser(object): + + _TZINFO_RE = re.compile('([+\-])?(\d\d):?(\d\d)?') @classmethod - def parse(cls, tzinfo_string: str) -> dt_tzinfo: - tzinfo: Optional[dt_tzinfo] = None + def parse(cls, string): - if tzinfo_string == "local": + tzinfo = None + + if string == 'local': tzinfo = tz.tzlocal() - elif tzinfo_string in ["utc", "UTC", "Z"]: + elif string in ['utc', 'UTC']: tzinfo = tz.tzutc() else: - iso_match = cls._TZINFO_RE.match(tzinfo_string) + + iso_match = cls._TZINFO_RE.match(string) if iso_match: - sign: Optional[str] - hours: str - minutes: Union[str, int, None] sign, hours, minutes = iso_match.groups() - seconds = int(hours) * 3600 + int(minutes or 0) * 60 + if minutes is None: + minutes = 0 + seconds = int(hours) * 3600 + int(minutes) * 60 - if sign == "-": + if sign == '-': seconds *= -1 tzinfo = tz.tzoffset(None, seconds) else: - tzinfo = tz.gettz(tzinfo_string) + tzinfo = tz.gettz(string) if tzinfo is None: - raise ParserError(f"Could not parse timezone expression {tzinfo_string!r}.") + raise ParserError('Could not parse timezone expression "{0}"'.format(string)) return tzinfo diff --git a/lib/arrow/py.typed b/lib/arrow/py.typed deleted file mode 100644 index e69de29b..00000000 diff --git a/lib/arrow/util.py b/lib/arrow/util.py index f3eaa21c..3eed4faa 100644 --- a/lib/arrow/util.py +++ b/lib/arrow/util.py @@ -1,117 +1,47 @@ -"""Helpful functions used internally within arrow.""" +# -*- coding: utf-8 -*- +from __future__ import absolute_import -import datetime -from typing import Any, Optional, cast +import sys -from dateutil.rrule import WEEKLY, rrule +# python 2.6 / 2.7 definitions for total_seconds function. -from arrow.constants import ( - MAX_ORDINAL, - MAX_TIMESTAMP, - MAX_TIMESTAMP_MS, - MAX_TIMESTAMP_US, - MIN_ORDINAL, -) +def _total_seconds_27(td): # pragma: no cover + return td.total_seconds() + +def _total_seconds_26(td): + return (td.microseconds + (td.seconds + td.days * 24 * 3600) * 1e6) / 1e6 -def next_weekday( - start_date: Optional[datetime.date], weekday: int -) -> datetime.datetime: - """Get next weekday from the specified start date. +# get version info and assign correct total_seconds function. - :param start_date: Datetime object representing the start date. - :param weekday: Next weekday to obtain. Can be a value between 0 (Monday) and 6 (Sunday). - :return: Datetime object corresponding to the next weekday after start_date. +version = '{0}.{1}.{2}'.format(*sys.version_info[:3]) - Usage:: +if version < '2.7': # pragma: no cover + total_seconds = _total_seconds_26 +else: # pragma: no cover + total_seconds = _total_seconds_27 - # Get first Monday after epoch - >>> next_weekday(datetime(1970, 1, 1), 0) - 1970-01-05 00:00:00 - - # Get first Thursday after epoch - >>> next_weekday(datetime(1970, 1, 1), 3) - 1970-01-01 00:00:00 - - # Get first Sunday after epoch - >>> next_weekday(datetime(1970, 1, 1), 6) - 1970-01-04 00:00:00 - """ - if weekday < 0 or weekday > 6: - raise ValueError("Weekday must be between 0 (Monday) and 6 (Sunday).") - return cast( - datetime.datetime, - rrule(freq=WEEKLY, dtstart=start_date, byweekday=weekday, count=1)[0], - ) - - -def is_timestamp(value: Any) -> bool: - """Check if value is a valid timestamp.""" - if isinstance(value, bool): - return False - if not isinstance(value, (int, float, str)): +def is_timestamp(value): + if type(value) == bool: return False try: float(value) return True - except ValueError: + except: return False +# python 2.7 / 3.0+ definitions for isstr function. -def validate_ordinal(value: Any) -> None: - """Raise an exception if value is an invalid Gregorian ordinal. +try: # pragma: no cover + basestring - :param value: the input to be checked + def isstr(s): + return isinstance(s, basestring) - """ - if isinstance(value, bool) or not isinstance(value, int): - raise TypeError(f"Ordinal must be an integer (got type {type(value)}).") - if not (MIN_ORDINAL <= value <= MAX_ORDINAL): - raise ValueError(f"Ordinal {value} is out of range.") +except NameError: #pragma: no cover + + def isstr(s): + return isinstance(s, str) -def normalize_timestamp(timestamp: float) -> float: - """Normalize millisecond and microsecond timestamps into normal timestamps.""" - if timestamp > MAX_TIMESTAMP: - if timestamp < MAX_TIMESTAMP_MS: - timestamp /= 1000 - elif timestamp < MAX_TIMESTAMP_US: - timestamp /= 1_000_000 - else: - raise ValueError(f"The specified timestamp {timestamp!r} is too large.") - return timestamp - - -# Credit to https://stackoverflow.com/a/1700069 -def iso_to_gregorian(iso_year: int, iso_week: int, iso_day: int) -> datetime.date: - """Converts an ISO week date into a datetime object. - - :param iso_year: the year - :param iso_week: the week number, each year has either 52 or 53 weeks - :param iso_day: the day numbered 1 through 7, beginning with Monday - - """ - - if not 1 <= iso_week <= 53: - raise ValueError("ISO Calendar week value must be between 1-53.") - - if not 1 <= iso_day <= 7: - raise ValueError("ISO Calendar day value must be between 1-7") - - # The first week of the year always contains 4 Jan. - fourth_jan = datetime.date(iso_year, 1, 4) - delta = datetime.timedelta(fourth_jan.isoweekday() - 1) - year_start = fourth_jan - delta - gregorian = year_start + datetime.timedelta(days=iso_day - 1, weeks=iso_week - 1) - - return gregorian - - -def validate_bounds(bounds: str) -> None: - if bounds != "()" and bounds != "(]" and bounds != "[)" and bounds != "[]": - raise ValueError( - "Invalid bounds. Please select between '()', '(]', '[)', or '[]'." - ) - - -__all__ = ["next_weekday", "is_timestamp", "validate_ordinal", "iso_to_gregorian"] +__all__ = ['total_seconds', 'is_timestamp', 'isstr'] diff --git a/lib/autocommand/__init__.py b/lib/autocommand/__init__.py deleted file mode 100644 index 73fbfca6..00000000 --- a/lib/autocommand/__init__.py +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright 2014-2016 Nathan West -# -# This file is part of autocommand. -# -# autocommand is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# autocommand is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with autocommand. If not, see . - -# flake8 flags all these imports as unused, hence the NOQAs everywhere. - -from .automain import automain # NOQA -from .autoparse import autoparse, smart_open # NOQA -from .autocommand import autocommand # NOQA - -try: - from .autoasync import autoasync # NOQA -except ImportError: # pragma: no cover - pass diff --git a/lib/autocommand/autoasync.py b/lib/autocommand/autoasync.py deleted file mode 100644 index 688f7e05..00000000 --- a/lib/autocommand/autoasync.py +++ /dev/null @@ -1,142 +0,0 @@ -# Copyright 2014-2015 Nathan West -# -# This file is part of autocommand. -# -# autocommand is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# autocommand is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with autocommand. If not, see . - -from asyncio import get_event_loop, iscoroutine -from functools import wraps -from inspect import signature - - -async def _run_forever_coro(coro, args, kwargs, loop): - ''' - This helper function launches an async main function that was tagged with - forever=True. There are two possibilities: - - - The function is a normal function, which handles initializing the event - loop, which is then run forever - - The function is a coroutine, which needs to be scheduled in the event - loop, which is then run forever - - There is also the possibility that the function is a normal function - wrapping a coroutine function - - The function is therefore called unconditionally and scheduled in the event - loop if the return value is a coroutine object. - - The reason this is a separate function is to make absolutely sure that all - the objects created are garbage collected after all is said and done; we - do this to ensure that any exceptions raised in the tasks are collected - ASAP. - ''' - - # Personal note: I consider this an antipattern, as it relies on the use of - # unowned resources. The setup function dumps some stuff into the event - # loop where it just whirls in the ether without a well defined owner or - # lifetime. For this reason, there's a good chance I'll remove the - # forever=True feature from autoasync at some point in the future. - thing = coro(*args, **kwargs) - if iscoroutine(thing): - await thing - - -def autoasync(coro=None, *, loop=None, forever=False, pass_loop=False): - ''' - Convert an asyncio coroutine into a function which, when called, is - evaluted in an event loop, and the return value returned. This is intented - to make it easy to write entry points into asyncio coroutines, which - otherwise need to be explictly evaluted with an event loop's - run_until_complete. - - If `loop` is given, it is used as the event loop to run the coro in. If it - is None (the default), the loop is retreived using asyncio.get_event_loop. - This call is defered until the decorated function is called, so that - callers can install custom event loops or event loop policies after - @autoasync is applied. - - If `forever` is True, the loop is run forever after the decorated coroutine - is finished. Use this for servers created with asyncio.start_server and the - like. - - If `pass_loop` is True, the event loop object is passed into the coroutine - as the `loop` kwarg when the wrapper function is called. In this case, the - wrapper function's __signature__ is updated to remove this parameter, so - that autoparse can still be used on it without generating a parameter for - `loop`. - - This coroutine can be called with ( @autoasync(...) ) or without - ( @autoasync ) arguments. - - Examples: - - @autoasync - def get_file(host, port): - reader, writer = yield from asyncio.open_connection(host, port) - data = reader.read() - sys.stdout.write(data.decode()) - - get_file(host, port) - - @autoasync(forever=True, pass_loop=True) - def server(host, port, loop): - yield_from loop.create_server(Proto, host, port) - - server('localhost', 8899) - - ''' - if coro is None: - return lambda c: autoasync( - c, loop=loop, - forever=forever, - pass_loop=pass_loop) - - # The old and new signatures are required to correctly bind the loop - # parameter in 100% of cases, even if it's a positional parameter. - # NOTE: A future release will probably require the loop parameter to be - # a kwonly parameter. - if pass_loop: - old_sig = signature(coro) - new_sig = old_sig.replace(parameters=( - param for name, param in old_sig.parameters.items() - if name != "loop")) - - @wraps(coro) - def autoasync_wrapper(*args, **kwargs): - # Defer the call to get_event_loop so that, if a custom policy is - # installed after the autoasync decorator, it is respected at call time - local_loop = get_event_loop() if loop is None else loop - - # Inject the 'loop' argument. We have to use this signature binding to - # ensure it's injected in the correct place (positional, keyword, etc) - if pass_loop: - bound_args = old_sig.bind_partial() - bound_args.arguments.update( - loop=local_loop, - **new_sig.bind(*args, **kwargs).arguments) - args, kwargs = bound_args.args, bound_args.kwargs - - if forever: - local_loop.create_task(_run_forever_coro( - coro, args, kwargs, local_loop - )) - local_loop.run_forever() - else: - return local_loop.run_until_complete(coro(*args, **kwargs)) - - # Attach the updated signature. This allows 'pass_loop' to be used with - # autoparse - if pass_loop: - autoasync_wrapper.__signature__ = new_sig - - return autoasync_wrapper diff --git a/lib/autocommand/autocommand.py b/lib/autocommand/autocommand.py deleted file mode 100644 index 097e86de..00000000 --- a/lib/autocommand/autocommand.py +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright 2014-2015 Nathan West -# -# This file is part of autocommand. -# -# autocommand is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# autocommand is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with autocommand. If not, see . - -from .autoparse import autoparse -from .automain import automain -try: - from .autoasync import autoasync -except ImportError: # pragma: no cover - pass - - -def autocommand( - module, *, - description=None, - epilog=None, - add_nos=False, - parser=None, - loop=None, - forever=False, - pass_loop=False): - - if callable(module): - raise TypeError('autocommand requires a module name argument') - - def autocommand_decorator(func): - # Step 1: if requested, run it all in an asyncio event loop. autoasync - # patches the __signature__ of the decorated function, so that in the - # event that pass_loop is True, the `loop` parameter of the original - # function will *not* be interpreted as a command-line argument by - # autoparse - if loop is not None or forever or pass_loop: - func = autoasync( - func, - loop=None if loop is True else loop, - pass_loop=pass_loop, - forever=forever) - - # Step 2: create parser. We do this second so that the arguments are - # parsed and passed *before* entering the asyncio event loop, if it - # exists. This simplifies the stack trace and ensures errors are - # reported earlier. It also ensures that errors raised during parsing & - # passing are still raised if `forever` is True. - func = autoparse( - func, - description=description, - epilog=epilog, - add_nos=add_nos, - parser=parser) - - # Step 3: call the function automatically if __name__ == '__main__' (or - # if True was provided) - func = automain(module)(func) - - return func - - return autocommand_decorator diff --git a/lib/autocommand/automain.py b/lib/autocommand/automain.py deleted file mode 100644 index 6cc45db6..00000000 --- a/lib/autocommand/automain.py +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 2014-2015 Nathan West -# -# This file is part of autocommand. -# -# autocommand is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# autocommand is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with autocommand. If not, see . - -import sys -from .errors import AutocommandError - - -class AutomainRequiresModuleError(AutocommandError, TypeError): - pass - - -def automain(module, *, args=(), kwargs=None): - ''' - This decorator automatically invokes a function if the module is being run - as the "__main__" module. Optionally, provide args or kwargs with which to - call the function. If `module` is "__main__", the function is called, and - the program is `sys.exit`ed with the return value. You can also pass `True` - to cause the function to be called unconditionally. If the function is not - called, it is returned unchanged by the decorator. - - Usage: - - @automain(__name__) # Pass __name__ to check __name__=="__main__" - def main(): - ... - - If __name__ is "__main__" here, the main function is called, and then - sys.exit called with the return value. - ''' - - # Check that @automain(...) was called, rather than @automain - if callable(module): - raise AutomainRequiresModuleError(module) - - if module == '__main__' or module is True: - if kwargs is None: - kwargs = {} - - # Use a function definition instead of a lambda for a neater traceback - def automain_decorator(main): - sys.exit(main(*args, **kwargs)) - - return automain_decorator - else: - return lambda main: main diff --git a/lib/autocommand/autoparse.py b/lib/autocommand/autoparse.py deleted file mode 100644 index 0276a3fa..00000000 --- a/lib/autocommand/autoparse.py +++ /dev/null @@ -1,333 +0,0 @@ -# Copyright 2014-2015 Nathan West -# -# This file is part of autocommand. -# -# autocommand is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# autocommand is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with autocommand. If not, see . - -import sys -from re import compile as compile_regex -from inspect import signature, getdoc, Parameter -from argparse import ArgumentParser -from contextlib import contextmanager -from functools import wraps -from io import IOBase -from autocommand.errors import AutocommandError - - -_empty = Parameter.empty - - -class AnnotationError(AutocommandError): - '''Annotation error: annotation must be a string, type, or tuple of both''' - - -class PositionalArgError(AutocommandError): - ''' - Postional Arg Error: autocommand can't handle postional-only parameters - ''' - - -class KWArgError(AutocommandError): - '''kwarg Error: autocommand can't handle a **kwargs parameter''' - - -class DocstringError(AutocommandError): - '''Docstring error''' - - -class TooManySplitsError(DocstringError): - ''' - The docstring had too many ---- section splits. Currently we only support - using up to a single split, to split the docstring into description and - epilog parts. - ''' - - -def _get_type_description(annotation): - ''' - Given an annotation, return the (type, description) for the parameter. - If you provide an annotation that is somehow both a string and a callable, - the behavior is undefined. - ''' - if annotation is _empty: - return None, None - elif callable(annotation): - return annotation, None - elif isinstance(annotation, str): - return None, annotation - elif isinstance(annotation, tuple): - try: - arg1, arg2 = annotation - except ValueError as e: - raise AnnotationError(annotation) from e - else: - if callable(arg1) and isinstance(arg2, str): - return arg1, arg2 - elif isinstance(arg1, str) and callable(arg2): - return arg2, arg1 - - raise AnnotationError(annotation) - - -def _add_arguments(param, parser, used_char_args, add_nos): - ''' - Add the argument(s) to an ArgumentParser (using add_argument) for a given - parameter. used_char_args is the set of -short options currently already in - use, and is updated (if necessary) by this function. If add_nos is True, - this will also add an inverse switch for all boolean options. For - instance, for the boolean parameter "verbose", this will create --verbose - and --no-verbose. - ''' - - # Impl note: This function is kept separate from make_parser because it's - # already very long and I wanted to separate out as much as possible into - # its own call scope, to prevent even the possibility of suble mutation - # bugs. - if param.kind is param.POSITIONAL_ONLY: - raise PositionalArgError(param) - elif param.kind is param.VAR_KEYWORD: - raise KWArgError(param) - - # These are the kwargs for the add_argument function. - arg_spec = {} - is_option = False - - # Get the type and default from the annotation. - arg_type, description = _get_type_description(param.annotation) - - # Get the default value - default = param.default - - # If there is no explicit type, and the default is present and not None, - # infer the type from the default. - if arg_type is None and default not in {_empty, None}: - arg_type = type(default) - - # Add default. The presence of a default means this is an option, not an - # argument. - if default is not _empty: - arg_spec['default'] = default - is_option = True - - # Add the type - if arg_type is not None: - # Special case for bool: make it just a --switch - if arg_type is bool: - if not default or default is _empty: - arg_spec['action'] = 'store_true' - else: - arg_spec['action'] = 'store_false' - - # Switches are always options - is_option = True - - # Special case for file types: make it a string type, for filename - elif isinstance(default, IOBase): - arg_spec['type'] = str - - # TODO: special case for list type. - # - How to specificy type of list members? - # - param: [int] - # - param: int =[] - # - action='append' vs nargs='*' - - else: - arg_spec['type'] = arg_type - - # nargs: if the signature includes *args, collect them as trailing CLI - # arguments in a list. *args can't have a default value, so it can never be - # an option. - if param.kind is param.VAR_POSITIONAL: - # TODO: consider depluralizing metavar/name here. - arg_spec['nargs'] = '*' - - # Add description. - if description is not None: - arg_spec['help'] = description - - # Get the --flags - flags = [] - name = param.name - - if is_option: - # Add the first letter as a -short option. - for letter in name[0], name[0].swapcase(): - if letter not in used_char_args: - used_char_args.add(letter) - flags.append('-{}'.format(letter)) - break - - # If the parameter is a --long option, or is a -short option that - # somehow failed to get a flag, add it. - if len(name) > 1 or not flags: - flags.append('--{}'.format(name)) - - arg_spec['dest'] = name - else: - flags.append(name) - - parser.add_argument(*flags, **arg_spec) - - # Create the --no- version for boolean switches - if add_nos and arg_type is bool: - parser.add_argument( - '--no-{}'.format(name), - action='store_const', - dest=name, - const=default if default is not _empty else False) - - -def make_parser(func_sig, description, epilog, add_nos): - ''' - Given the signature of a function, create an ArgumentParser - ''' - parser = ArgumentParser(description=description, epilog=epilog) - - used_char_args = {'h'} - - # Arange the params so that single-character arguments are first. This - # esnures they don't have to get --long versions. sorted is stable, so the - # parameters will otherwise still be in relative order. - params = sorted( - func_sig.parameters.values(), - key=lambda param: len(param.name) > 1) - - for param in params: - _add_arguments(param, parser, used_char_args, add_nos) - - return parser - - -_DOCSTRING_SPLIT = compile_regex(r'\n\s*-{4,}\s*\n') - - -def parse_docstring(docstring): - ''' - Given a docstring, parse it into a description and epilog part - ''' - if docstring is None: - return '', '' - - parts = _DOCSTRING_SPLIT.split(docstring) - - if len(parts) == 1: - return docstring, '' - elif len(parts) == 2: - return parts[0], parts[1] - else: - raise TooManySplitsError() - - -def autoparse( - func=None, *, - description=None, - epilog=None, - add_nos=False, - parser=None): - ''' - This decorator converts a function that takes normal arguments into a - function which takes a single optional argument, argv, parses it using an - argparse.ArgumentParser, and calls the underlying function with the parsed - arguments. If it is not given, sys.argv[1:] is used. This is so that the - function can be used as a setuptools entry point, as well as a normal main - function. sys.argv[1:] is not evaluated until the function is called, to - allow injecting different arguments for testing. - - It uses the argument signature of the function to create an - ArgumentParser. Parameters without defaults become positional parameters, - while parameters *with* defaults become --options. Use annotations to set - the type of the parameter. - - The `desctiption` and `epilog` parameters corrospond to the same respective - argparse parameters. If no description is given, it defaults to the - decorated functions's docstring, if present. - - If add_nos is True, every boolean option (that is, every parameter with a - default of True/False or a type of bool) will have a --no- version created - as well, which inverts the option. For instance, the --verbose option will - have a --no-verbose counterpart. These are not mutually exclusive- - whichever one appears last in the argument list will have precedence. - - If a parser is given, it is used instead of one generated from the function - signature. In this case, no parser is created; instead, the given parser is - used to parse the argv argument. The parser's results' argument names must - match up with the parameter names of the decorated function. - - The decorated function is attached to the result as the `func` attribute, - and the parser is attached as the `parser` attribute. - ''' - - # If @autoparse(...) is used instead of @autoparse - if func is None: - return lambda f: autoparse( - f, description=description, - epilog=epilog, - add_nos=add_nos, - parser=parser) - - func_sig = signature(func) - - docstr_description, docstr_epilog = parse_docstring(getdoc(func)) - - if parser is None: - parser = make_parser( - func_sig, - description or docstr_description, - epilog or docstr_epilog, - add_nos) - - @wraps(func) - def autoparse_wrapper(argv=None): - if argv is None: - argv = sys.argv[1:] - - # Get empty argument binding, to fill with parsed arguments. This - # object does all the heavy lifting of turning named arguments into - # into correctly bound *args and **kwargs. - parsed_args = func_sig.bind_partial() - parsed_args.arguments.update(vars(parser.parse_args(argv))) - - return func(*parsed_args.args, **parsed_args.kwargs) - - # TODO: attach an updated __signature__ to autoparse_wrapper, just in case. - - # Attach the wrapped function and parser, and return the wrapper. - autoparse_wrapper.func = func - autoparse_wrapper.parser = parser - return autoparse_wrapper - - -@contextmanager -def smart_open(filename_or_file, *args, **kwargs): - ''' - This context manager allows you to open a filename, if you want to default - some already-existing file object, like sys.stdout, which shouldn't be - closed at the end of the context. If the filename argument is a str, bytes, - or int, the file object is created via a call to open with the given *args - and **kwargs, sent to the context, and closed at the end of the context, - just like "with open(filename) as f:". If it isn't one of the openable - types, the object simply sent to the context unchanged, and left unclosed - at the end of the context. Example: - - def work_with_file(name=sys.stdout): - with smart_open(name) as f: - # Works correctly if name is a str filename or sys.stdout - print("Some stuff", file=f) - # If it was a filename, f is closed at the end here. - ''' - if isinstance(filename_or_file, (str, bytes, int)): - with open(filename_or_file, *args, **kwargs) as file: - yield file - else: - yield filename_or_file diff --git a/lib/autocommand/errors.py b/lib/autocommand/errors.py deleted file mode 100644 index 25706073..00000000 --- a/lib/autocommand/errors.py +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 2014-2016 Nathan West -# -# This file is part of autocommand. -# -# autocommand is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# autocommand is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with autocommand. If not, see . - - -class AutocommandError(Exception): - '''Base class for autocommand exceptions''' - pass - -# Individual modules will define errors specific to that module. diff --git a/lib/backports/__init__.py b/lib/backports/__init__.py index 0d1f7edf..de40ea7c 100644 --- a/lib/backports/__init__.py +++ b/lib/backports/__init__.py @@ -1 +1 @@ -__path__ = __import__('pkgutil').extend_path(__path__, __name__) # type: ignore +__import__('pkg_resources').declare_namespace(__name__) diff --git a/lib/backports/cached_property/__init__.py b/lib/backports/cached_property/__init__.py deleted file mode 100644 index 80f1f0b7..00000000 --- a/lib/backports/cached_property/__init__.py +++ /dev/null @@ -1,94 +0,0 @@ -"""Backport of python 3.8 functools.cached_property. - -cached_property() - computed once per instance, cached as attribute -""" - -__all__ = ("cached_property",) - -# Standard Library -from sys import version_info -try: - # Local Implementation - from ._version import version as __version__ -except ImportError: - pass - -if version_info >= (3, 8): - # Standard Library - from functools import cached_property # pylint: disable=no-name-in-module -else: - # Standard Library - from threading import RLock - from typing import Any - from typing import Callable - from typing import Optional - from typing import Type - from typing import TypeVar - - _NOT_FOUND = object() - _T = TypeVar("_T") - _S = TypeVar("_S") - - # noinspection PyPep8Naming - class cached_property: # NOSONAR # pylint: disable=invalid-name # noqa: N801 - """Cached property implementation. - - Transform a method of a class into a property whose value is computed once - and then cached as a normal attribute for the life of the instance. - Similar to property(), with the addition of caching. - Useful for expensive computed properties of instances - that are otherwise effectively immutable. - """ - - def __init__(self, func: Callable[[Any], _T]) -> None: - """Cached property implementation.""" - self.func = func - self.attrname: Optional[str] = None - self.__doc__ = func.__doc__ - self.lock = RLock() - - def __set_name__(self, owner: Type[Any], name: str) -> None: - """Assign attribute name and owner.""" - if self.attrname is None: - self.attrname = name - elif name != self.attrname: - raise TypeError( - "Cannot assign the same cached_property to two different names " - f"({self.attrname!r} and {name!r})." - ) - - def __get__(self, instance: Optional[_S], owner: Optional[Type[Any]] = None) -> Any: - """Property-like getter implementation. - - :return: property instance if requested on class or value/cached value if requested on instance. - :rtype: Union[cached_property[_T], _T] - :raises TypeError: call without calling __set_name__ or no '__dict__' attribute - """ - if instance is None: - return self - if self.attrname is None: - raise TypeError("Cannot use cached_property instance without calling __set_name__ on it.") - try: - cache = instance.__dict__ - except AttributeError: # not all objects have __dict__ (e.g. class defines slots) - msg = ( - f"No '__dict__' attribute on {type(instance).__name__!r} " - f"instance to cache {self.attrname!r} property." - ) - raise TypeError(msg) from None - val = cache.get(self.attrname, _NOT_FOUND) - if val is _NOT_FOUND: - with self.lock: - # check if another thread filled cache while we awaited lock - val = cache.get(self.attrname, _NOT_FOUND) - if val is _NOT_FOUND: - val = self.func(instance) - try: - cache[self.attrname] = val - except TypeError: - msg = ( - f"The '__dict__' attribute on {type(instance).__name__!r} instance " - f"does not support item assignment for caching {self.attrname!r} property." - ) - raise TypeError(msg) from None - return val diff --git a/lib/backports/cached_property/__init__.pyi b/lib/backports/cached_property/__init__.pyi deleted file mode 100644 index 13e619ba..00000000 --- a/lib/backports/cached_property/__init__.pyi +++ /dev/null @@ -1,24 +0,0 @@ -# Standard Library -from threading import RLock -from typing import Any -from typing import Callable -from typing import Generic -from typing import Optional -from typing import Type -from typing import TypeVar -from typing import overload - -_T = TypeVar("_T") -_S = TypeVar("_S") - -# noinspection PyPep8Naming -class cached_property(Generic[_T]): - func: Callable[[Any], _T] - attrname: Optional[str] - lock: RLock - def __init__(self, func: Callable[[Any], _T]) -> None: ... - @overload - def __get__(self, instance: None, owner: Optional[Type[Any]] = ...) -> cached_property[_T]: ... - @overload - def __get__(self, instance: _S, owner: Optional[Type[Any]] = ...) -> _T: ... - def __set_name__(self, owner: Type[Any], name: str) -> None: ... diff --git a/lib/backports/cached_property/_version.py b/lib/backports/cached_property/_version.py deleted file mode 100644 index 87c708f5..00000000 --- a/lib/backports/cached_property/_version.py +++ /dev/null @@ -1,5 +0,0 @@ -# coding: utf-8 -# file generated by setuptools_scm -# don't change, don't track in version control -version = '1.0.2' -version_tuple = (1, 0, 2) diff --git a/lib/backports/csv.py b/lib/backports/csv.py new file mode 100644 index 00000000..4694a28e --- /dev/null +++ b/lib/backports/csv.py @@ -0,0 +1,979 @@ +# -*- coding: utf-8 -*- +"""A port of Python 3's csv module to Python 2. + +The API of the csv module in Python 2 is drastically different from +the csv module in Python 3. This is due, for the most part, to the +difference between str in Python 2 and Python 3. + +The semantics of Python 3's version are more useful because they support +unicode natively, while Python 2's csv does not. +""" +from __future__ import unicode_literals, absolute_import + +__all__ = [ "QUOTE_MINIMAL", "QUOTE_ALL", "QUOTE_NONNUMERIC", "QUOTE_NONE", + "Error", "Dialect", "__doc__", "excel", "excel_tab", + "field_size_limit", "reader", "writer", + "register_dialect", "get_dialect", "list_dialects", "Sniffer", + "unregister_dialect", "__version__", "DictReader", "DictWriter" ] + +import re +import numbers +from io import StringIO +from csv import ( + QUOTE_MINIMAL, QUOTE_ALL, QUOTE_NONNUMERIC, QUOTE_NONE, + __version__, __doc__, Error, field_size_limit, +) + +# Stuff needed from six +import sys +PY3 = sys.version_info[0] == 3 +if PY3: + string_types = str + text_type = str + binary_type = bytes + unichr = chr +else: + string_types = basestring + text_type = unicode + binary_type = str + + +class QuoteStrategy(object): + quoting = None + + def __init__(self, dialect): + if self.quoting is not None: + assert dialect.quoting == self.quoting + self.dialect = dialect + self.setup() + + escape_pattern_quoted = r'({quotechar})'.format( + quotechar=re.escape(self.dialect.quotechar or '"')) + escape_pattern_unquoted = r'([{specialchars}])'.format( + specialchars=re.escape(self.specialchars)) + + self.escape_re_quoted = re.compile(escape_pattern_quoted) + self.escape_re_unquoted = re.compile(escape_pattern_unquoted) + + def setup(self): + """Optional method for strategy-wide optimizations.""" + + def quoted(self, field=None, raw_field=None, only=None): + """Determine whether this field should be quoted.""" + raise NotImplementedError( + 'quoted must be implemented by a subclass') + + @property + def specialchars(self): + """The special characters that need to be escaped.""" + raise NotImplementedError( + 'specialchars must be implemented by a subclass') + + def escape_re(self, quoted=None): + if quoted: + return self.escape_re_quoted + return self.escape_re_unquoted + + def escapechar(self, quoted=None): + if quoted and self.dialect.doublequote: + return self.dialect.quotechar + return self.dialect.escapechar + + def prepare(self, raw_field, only=None): + field = text_type(raw_field if raw_field is not None else '') + quoted = self.quoted(field=field, raw_field=raw_field, only=only) + + escape_re = self.escape_re(quoted=quoted) + escapechar = self.escapechar(quoted=quoted) + + if escape_re.search(field): + escapechar = '\\\\' if escapechar == '\\' else escapechar + if not escapechar: + raise Error('No escapechar is set') + escape_replace = r'{escapechar}\1'.format(escapechar=escapechar) + field = escape_re.sub(escape_replace, field) + + if quoted: + field = '{quotechar}{field}{quotechar}'.format( + quotechar=self.dialect.quotechar, field=field) + + return field + + +class QuoteMinimalStrategy(QuoteStrategy): + quoting = QUOTE_MINIMAL + + def setup(self): + self.quoted_re = re.compile(r'[{specialchars}]'.format( + specialchars=re.escape(self.specialchars))) + + @property + def specialchars(self): + return ( + self.dialect.lineterminator + + self.dialect.quotechar + + self.dialect.delimiter + + (self.dialect.escapechar or '') + ) + + def quoted(self, field, only, **kwargs): + if field == self.dialect.quotechar and not self.dialect.doublequote: + # If the only character in the field is the quotechar, and + # doublequote is false, then just escape without outer quotes. + return False + return field == '' and only or bool(self.quoted_re.search(field)) + + +class QuoteAllStrategy(QuoteStrategy): + quoting = QUOTE_ALL + + @property + def specialchars(self): + return self.dialect.quotechar + + def quoted(self, **kwargs): + return True + + +class QuoteNonnumericStrategy(QuoteStrategy): + quoting = QUOTE_NONNUMERIC + + @property + def specialchars(self): + return ( + self.dialect.lineterminator + + self.dialect.quotechar + + self.dialect.delimiter + + (self.dialect.escapechar or '') + ) + + def quoted(self, raw_field, **kwargs): + return not isinstance(raw_field, numbers.Number) + + +class QuoteNoneStrategy(QuoteStrategy): + quoting = QUOTE_NONE + + @property + def specialchars(self): + return ( + self.dialect.lineterminator + + (self.dialect.quotechar or '') + + self.dialect.delimiter + + (self.dialect.escapechar or '') + ) + + def quoted(self, field, only, **kwargs): + if field == '' and only: + raise Error('single empty field record must be quoted') + return False + + +class writer(object): + def __init__(self, fileobj, dialect='excel', **fmtparams): + if fileobj is None: + raise TypeError('fileobj must be file-like, not None') + + self.fileobj = fileobj + + if isinstance(dialect, text_type): + dialect = get_dialect(dialect) + + try: + self.dialect = Dialect.combine(dialect, fmtparams) + except Error as e: + raise TypeError(*e.args) + + strategies = { + QUOTE_MINIMAL: QuoteMinimalStrategy, + QUOTE_ALL: QuoteAllStrategy, + QUOTE_NONNUMERIC: QuoteNonnumericStrategy, + QUOTE_NONE: QuoteNoneStrategy, + } + self.strategy = strategies[self.dialect.quoting](self.dialect) + + def writerow(self, row): + if row is None: + raise Error('row must be an iterable') + + row = list(row) + only = len(row) == 1 + row = [self.strategy.prepare(field, only=only) for field in row] + + line = self.dialect.delimiter.join(row) + self.dialect.lineterminator + return self.fileobj.write(line) + + def writerows(self, rows): + for row in rows: + self.writerow(row) + + +START_RECORD = 0 +START_FIELD = 1 +ESCAPED_CHAR = 2 +IN_FIELD = 3 +IN_QUOTED_FIELD = 4 +ESCAPE_IN_QUOTED_FIELD = 5 +QUOTE_IN_QUOTED_FIELD = 6 +EAT_CRNL = 7 +AFTER_ESCAPED_CRNL = 8 + + +class reader(object): + def __init__(self, fileobj, dialect='excel', **fmtparams): + self.input_iter = iter(fileobj) + + if isinstance(dialect, text_type): + dialect = get_dialect(dialect) + + try: + self.dialect = Dialect.combine(dialect, fmtparams) + except Error as e: + raise TypeError(*e.args) + + self.fields = None + self.field = None + self.line_num = 0 + + def parse_reset(self): + self.fields = [] + self.field = [] + self.state = START_RECORD + self.numeric_field = False + + def parse_save_field(self): + field = ''.join(self.field) + self.field = [] + if self.numeric_field: + field = float(field) + self.numeric_field = False + self.fields.append(field) + + def parse_add_char(self, c): + if len(self.field) >= field_size_limit(): + raise Error('field size limit exceeded') + self.field.append(c) + + def parse_process_char(self, c): + switch = { + START_RECORD: self._parse_start_record, + START_FIELD: self._parse_start_field, + ESCAPED_CHAR: self._parse_escaped_char, + AFTER_ESCAPED_CRNL: self._parse_after_escaped_crnl, + IN_FIELD: self._parse_in_field, + IN_QUOTED_FIELD: self._parse_in_quoted_field, + ESCAPE_IN_QUOTED_FIELD: self._parse_escape_in_quoted_field, + QUOTE_IN_QUOTED_FIELD: self._parse_quote_in_quoted_field, + EAT_CRNL: self._parse_eat_crnl, + } + return switch[self.state](c) + + def _parse_start_record(self, c): + if c == '\0': + return + elif c == '\n' or c == '\r': + self.state = EAT_CRNL + return + + self.state = START_FIELD + return self._parse_start_field(c) + + def _parse_start_field(self, c): + if c == '\n' or c == '\r' or c == '\0': + self.parse_save_field() + self.state = START_RECORD if c == '\0' else EAT_CRNL + elif (c == self.dialect.quotechar and + self.dialect.quoting != QUOTE_NONE): + self.state = IN_QUOTED_FIELD + elif c == self.dialect.escapechar: + self.state = ESCAPED_CHAR + elif c == ' ' and self.dialect.skipinitialspace: + pass # Ignore space at start of field + elif c == self.dialect.delimiter: + # Save empty field + self.parse_save_field() + else: + # Begin new unquoted field + if self.dialect.quoting == QUOTE_NONNUMERIC: + self.numeric_field = True + self.parse_add_char(c) + self.state = IN_FIELD + + def _parse_escaped_char(self, c): + if c == '\n' or c == '\r': + self.parse_add_char(c) + self.state = AFTER_ESCAPED_CRNL + return + if c == '\0': + c = '\n' + self.parse_add_char(c) + self.state = IN_FIELD + + def _parse_after_escaped_crnl(self, c): + if c == '\0': + return + return self._parse_in_field(c) + + def _parse_in_field(self, c): + # In unquoted field + if c == '\n' or c == '\r' or c == '\0': + # End of line - return [fields] + self.parse_save_field() + self.state = START_RECORD if c == '\0' else EAT_CRNL + elif c == self.dialect.escapechar: + self.state = ESCAPED_CHAR + elif c == self.dialect.delimiter: + self.parse_save_field() + self.state = START_FIELD + else: + # Normal character - save in field + self.parse_add_char(c) + + def _parse_in_quoted_field(self, c): + if c == '\0': + pass + elif c == self.dialect.escapechar: + self.state = ESCAPE_IN_QUOTED_FIELD + elif (c == self.dialect.quotechar and + self.dialect.quoting != QUOTE_NONE): + if self.dialect.doublequote: + self.state = QUOTE_IN_QUOTED_FIELD + else: + self.state = IN_FIELD + else: + self.parse_add_char(c) + + def _parse_escape_in_quoted_field(self, c): + if c == '\0': + c = '\n' + + self.parse_add_char(c) + self.state = IN_QUOTED_FIELD + + def _parse_quote_in_quoted_field(self, c): + if (self.dialect.quoting != QUOTE_NONE and + c == self.dialect.quotechar): + # save "" as " + self.parse_add_char(c) + self.state = IN_QUOTED_FIELD + elif c == self.dialect.delimiter: + self.parse_save_field() + self.state = START_FIELD + elif c == '\n' or c == '\r' or c == '\0': + # End of line = return [fields] + self.parse_save_field() + self.state = START_RECORD if c == '\0' else EAT_CRNL + elif not self.dialect.strict: + self.parse_add_char(c) + self.state = IN_FIELD + else: + # illegal + raise Error("{delimiter}' expected after '{quotechar}".format( + delimiter=self.dialect.delimiter, + quotechar=self.dialect.quotechar, + )) + + def _parse_eat_crnl(self, c): + if c == '\n' or c == '\r': + pass + elif c == '\0': + self.state = START_RECORD + else: + raise Error('new-line character seen in unquoted field - do you ' + 'need to open the file in universal-newline mode?') + + + def __iter__(self): + return self + + def __next__(self): + self.parse_reset() + + while True: + try: + lineobj = next(self.input_iter) + except StopIteration: + if len(self.field) != 0 or self.state == IN_QUOTED_FIELD: + if self.dialect.strict: + raise Error('unexpected end of data') + self.parse_save_field() + if self.fields: + break + raise + + if not isinstance(lineobj, text_type): + typ = type(lineobj) + typ_name = 'bytes' if typ == bytes else typ.__name__ + err_str = ('iterator should return strings, not {0}' + ' (did you open the file in text mode?)') + raise Error(err_str.format(typ_name)) + + self.line_num += 1 + for c in lineobj: + if c == '\0': + raise Error('line contains NULL byte') + self.parse_process_char(c) + + self.parse_process_char('\0') + + if self.state == START_RECORD: + break + + fields = self.fields + self.fields = None + return fields + + next = __next__ + + +_dialect_registry = {} +def register_dialect(name, dialect='excel', **fmtparams): + if not isinstance(name, text_type): + raise TypeError('"name" must be a string') + + dialect = Dialect.extend(dialect, fmtparams) + + try: + Dialect.validate(dialect) + except: + raise TypeError('dialect is invalid') + + assert name not in _dialect_registry + _dialect_registry[name] = dialect + +def unregister_dialect(name): + try: + _dialect_registry.pop(name) + except KeyError: + raise Error('"{name}" not a registered dialect'.format(name=name)) + +def get_dialect(name): + try: + return _dialect_registry[name] + except KeyError: + raise Error('Could not find dialect {0}'.format(name)) + +def list_dialects(): + return list(_dialect_registry) + + +class Dialect(object): + """Describe a CSV dialect. + This must be subclassed (see csv.excel). Valid attributes are: + delimiter, quotechar, escapechar, doublequote, skipinitialspace, + lineterminator, quoting, strict. + """ + _name = "" + _valid = False + # placeholders + delimiter = None + quotechar = None + escapechar = None + doublequote = None + skipinitialspace = None + lineterminator = None + quoting = None + strict = None + + def __init__(self): + self.validate(self) + if self.__class__ != Dialect: + self._valid = True + + @classmethod + def validate(cls, dialect): + dialect = cls.extend(dialect) + + if not isinstance(dialect.quoting, int): + raise Error('"quoting" must be an integer') + + if dialect.delimiter is None: + raise Error('delimiter must be set') + cls.validate_text(dialect, 'delimiter') + + if dialect.lineterminator is None: + raise Error('lineterminator must be set') + if not isinstance(dialect.lineterminator, text_type): + raise Error('"lineterminator" must be a string') + + if dialect.quoting not in [ + QUOTE_NONE, QUOTE_MINIMAL, QUOTE_NONNUMERIC, QUOTE_ALL]: + raise Error('Invalid quoting specified') + + if dialect.quoting != QUOTE_NONE: + if dialect.quotechar is None and dialect.escapechar is None: + raise Error('quotechar must be set if quoting enabled') + if dialect.quotechar is not None: + cls.validate_text(dialect, 'quotechar') + + @staticmethod + def validate_text(dialect, attr): + val = getattr(dialect, attr) + if not isinstance(val, text_type): + if type(val) == bytes: + raise Error('"{0}" must be string, not bytes'.format(attr)) + raise Error('"{0}" must be string, not {1}'.format( + attr, type(val).__name__)) + + if len(val) != 1: + raise Error('"{0}" must be a 1-character string'.format(attr)) + + @staticmethod + def defaults(): + return { + 'delimiter': ',', + 'doublequote': True, + 'escapechar': None, + 'lineterminator': '\r\n', + 'quotechar': '"', + 'quoting': QUOTE_MINIMAL, + 'skipinitialspace': False, + 'strict': False, + } + + @classmethod + def extend(cls, dialect, fmtparams=None): + if isinstance(dialect, string_types): + dialect = get_dialect(dialect) + + if fmtparams is None: + return dialect + + defaults = cls.defaults() + + if any(param not in defaults for param in fmtparams): + raise TypeError('Invalid fmtparam') + + specified = dict( + (attr, getattr(dialect, attr, None)) + for attr in cls.defaults() + ) + + specified.update(fmtparams) + return type(str('ExtendedDialect'), (cls,), specified) + + @classmethod + def combine(cls, dialect, fmtparams): + """Create a new dialect with defaults and added parameters.""" + dialect = cls.extend(dialect, fmtparams) + defaults = cls.defaults() + specified = dict( + (attr, getattr(dialect, attr, None)) + for attr in defaults + if getattr(dialect, attr, None) is not None or + attr in ['quotechar', 'delimiter', 'lineterminator', 'quoting'] + ) + + defaults.update(specified) + dialect = type(str('CombinedDialect'), (cls,), defaults) + cls.validate(dialect) + return dialect() + + def __delattr__(self, attr): + if self._valid: + raise AttributeError('dialect is immutable.') + super(Dialect, self).__delattr__(attr) + + def __setattr__(self, attr, value): + if self._valid: + raise AttributeError('dialect is immutable.') + super(Dialect, self).__setattr__(attr, value) + + +class excel(Dialect): + """Describe the usual properties of Excel-generated CSV files.""" + delimiter = ',' + quotechar = '"' + doublequote = True + skipinitialspace = False + lineterminator = '\r\n' + quoting = QUOTE_MINIMAL +register_dialect("excel", excel) + +class excel_tab(excel): + """Describe the usual properties of Excel-generated TAB-delimited files.""" + delimiter = '\t' +register_dialect("excel-tab", excel_tab) + +class unix_dialect(Dialect): + """Describe the usual properties of Unix-generated CSV files.""" + delimiter = ',' + quotechar = '"' + doublequote = True + skipinitialspace = False + lineterminator = '\n' + quoting = QUOTE_ALL +register_dialect("unix", unix_dialect) + + +class DictReader(object): + def __init__(self, f, fieldnames=None, restkey=None, restval=None, + dialect="excel", *args, **kwds): + self._fieldnames = fieldnames # list of keys for the dict + self.restkey = restkey # key to catch long rows + self.restval = restval # default value for short rows + self.reader = reader(f, dialect, *args, **kwds) + self.dialect = dialect + self.line_num = 0 + + def __iter__(self): + return self + + @property + def fieldnames(self): + if self._fieldnames is None: + try: + self._fieldnames = next(self.reader) + except StopIteration: + pass + self.line_num = self.reader.line_num + return self._fieldnames + + @fieldnames.setter + def fieldnames(self, value): + self._fieldnames = value + + def __next__(self): + if self.line_num == 0: + # Used only for its side effect. + self.fieldnames + row = next(self.reader) + self.line_num = self.reader.line_num + + # unlike the basic reader, we prefer not to return blanks, + # because we will typically wind up with a dict full of None + # values + while row == []: + row = next(self.reader) + d = dict(zip(self.fieldnames, row)) + lf = len(self.fieldnames) + lr = len(row) + if lf < lr: + d[self.restkey] = row[lf:] + elif lf > lr: + for key in self.fieldnames[lr:]: + d[key] = self.restval + return d + + next = __next__ + + +class DictWriter(object): + def __init__(self, f, fieldnames, restval="", extrasaction="raise", + dialect="excel", *args, **kwds): + self.fieldnames = fieldnames # list of keys for the dict + self.restval = restval # for writing short dicts + if extrasaction.lower() not in ("raise", "ignore"): + raise ValueError("extrasaction (%s) must be 'raise' or 'ignore'" + % extrasaction) + self.extrasaction = extrasaction + self.writer = writer(f, dialect, *args, **kwds) + + def writeheader(self): + header = dict(zip(self.fieldnames, self.fieldnames)) + self.writerow(header) + + def _dict_to_list(self, rowdict): + if self.extrasaction == "raise": + wrong_fields = [k for k in rowdict if k not in self.fieldnames] + if wrong_fields: + raise ValueError("dict contains fields not in fieldnames: " + + ", ".join([repr(x) for x in wrong_fields])) + return (rowdict.get(key, self.restval) for key in self.fieldnames) + + def writerow(self, rowdict): + return self.writer.writerow(self._dict_to_list(rowdict)) + + def writerows(self, rowdicts): + return self.writer.writerows(map(self._dict_to_list, rowdicts)) + +# Guard Sniffer's type checking against builds that exclude complex() +try: + complex +except NameError: + complex = float + +class Sniffer(object): + ''' + "Sniffs" the format of a CSV file (i.e. delimiter, quotechar) + Returns a Dialect object. + ''' + def __init__(self): + # in case there is more than one possible delimiter + self.preferred = [',', '\t', ';', ' ', ':'] + + + def sniff(self, sample, delimiters=None): + """ + Returns a dialect (or None) corresponding to the sample + """ + + quotechar, doublequote, delimiter, skipinitialspace = \ + self._guess_quote_and_delimiter(sample, delimiters) + if not delimiter: + delimiter, skipinitialspace = self._guess_delimiter(sample, + delimiters) + + if not delimiter: + raise Error("Could not determine delimiter") + + class dialect(Dialect): + _name = "sniffed" + lineterminator = '\r\n' + quoting = QUOTE_MINIMAL + # escapechar = '' + + dialect.doublequote = doublequote + dialect.delimiter = delimiter + # _csv.reader won't accept a quotechar of '' + dialect.quotechar = quotechar or '"' + dialect.skipinitialspace = skipinitialspace + + return dialect + + + def _guess_quote_and_delimiter(self, data, delimiters): + """ + Looks for text enclosed between two identical quotes + (the probable quotechar) which are preceded and followed + by the same character (the probable delimiter). + For example: + ,'some text', + The quote with the most wins, same with the delimiter. + If there is no quotechar the delimiter can't be determined + this way. + """ + + matches = [] + for restr in ('(?P[^\w\n"\'])(?P ?)(?P["\']).*?(?P=quote)(?P=delim)', # ,".*?", + '(?:^|\n)(?P["\']).*?(?P=quote)(?P[^\w\n"\'])(?P ?)', # ".*?", + '(?P>[^\w\n"\'])(?P ?)(?P["\']).*?(?P=quote)(?:$|\n)', # ,".*?" + '(?:^|\n)(?P["\']).*?(?P=quote)(?:$|\n)'): # ".*?" (no delim, no space) + regexp = re.compile(restr, re.DOTALL | re.MULTILINE) + matches = regexp.findall(data) + if matches: + break + + if not matches: + # (quotechar, doublequote, delimiter, skipinitialspace) + return ('', False, None, 0) + quotes = {} + delims = {} + spaces = 0 + groupindex = regexp.groupindex + for m in matches: + n = groupindex['quote'] - 1 + key = m[n] + if key: + quotes[key] = quotes.get(key, 0) + 1 + try: + n = groupindex['delim'] - 1 + key = m[n] + except KeyError: + continue + if key and (delimiters is None or key in delimiters): + delims[key] = delims.get(key, 0) + 1 + try: + n = groupindex['space'] - 1 + except KeyError: + continue + if m[n]: + spaces += 1 + + quotechar = max(quotes, key=quotes.get) + + if delims: + delim = max(delims, key=delims.get) + skipinitialspace = delims[delim] == spaces + if delim == '\n': # most likely a file with a single column + delim = '' + else: + # there is *no* delimiter, it's a single column of quoted data + delim = '' + skipinitialspace = 0 + + # if we see an extra quote between delimiters, we've got a + # double quoted format + dq_regexp = re.compile( + r"((%(delim)s)|^)\W*%(quote)s[^%(delim)s\n]*%(quote)s[^%(delim)s\n]*%(quote)s\W*((%(delim)s)|$)" % \ + {'delim':re.escape(delim), 'quote':quotechar}, re.MULTILINE) + + + + if dq_regexp.search(data): + doublequote = True + else: + doublequote = False + + return (quotechar, doublequote, delim, skipinitialspace) + + + def _guess_delimiter(self, data, delimiters): + """ + The delimiter /should/ occur the same number of times on + each row. However, due to malformed data, it may not. We don't want + an all or nothing approach, so we allow for small variations in this + number. + 1) build a table of the frequency of each character on every line. + 2) build a table of frequencies of this frequency (meta-frequency?), + e.g. 'x occurred 5 times in 10 rows, 6 times in 1000 rows, + 7 times in 2 rows' + 3) use the mode of the meta-frequency to determine the /expected/ + frequency for that character + 4) find out how often the character actually meets that goal + 5) the character that best meets its goal is the delimiter + For performance reasons, the data is evaluated in chunks, so it can + try and evaluate the smallest portion of the data possible, evaluating + additional chunks as necessary. + """ + + data = list(filter(None, data.split('\n'))) + + ascii = [unichr(c) for c in range(127)] # 7-bit ASCII + + # build frequency tables + chunkLength = min(10, len(data)) + iteration = 0 + charFrequency = {} + modes = {} + delims = {} + start, end = 0, min(chunkLength, len(data)) + while start < len(data): + iteration += 1 + for line in data[start:end]: + for char in ascii: + metaFrequency = charFrequency.get(char, {}) + # must count even if frequency is 0 + freq = line.count(char) + # value is the mode + metaFrequency[freq] = metaFrequency.get(freq, 0) + 1 + charFrequency[char] = metaFrequency + + for char in charFrequency.keys(): + items = list(charFrequency[char].items()) + if len(items) == 1 and items[0][0] == 0: + continue + # get the mode of the frequencies + if len(items) > 1: + modes[char] = max(items, key=lambda x: x[1]) + # adjust the mode - subtract the sum of all + # other frequencies + items.remove(modes[char]) + modes[char] = (modes[char][0], modes[char][1] + - sum(item[1] for item in items)) + else: + modes[char] = items[0] + + # build a list of possible delimiters + modeList = modes.items() + total = float(chunkLength * iteration) + # (rows of consistent data) / (number of rows) = 100% + consistency = 1.0 + # minimum consistency threshold + threshold = 0.9 + while len(delims) == 0 and consistency >= threshold: + for k, v in modeList: + if v[0] > 0 and v[1] > 0: + if ((v[1]/total) >= consistency and + (delimiters is None or k in delimiters)): + delims[k] = v + consistency -= 0.01 + + if len(delims) == 1: + delim = list(delims.keys())[0] + skipinitialspace = (data[0].count(delim) == + data[0].count("%c " % delim)) + return (delim, skipinitialspace) + + # analyze another chunkLength lines + start = end + end += chunkLength + + if not delims: + return ('', 0) + + # if there's more than one, fall back to a 'preferred' list + if len(delims) > 1: + for d in self.preferred: + if d in delims.keys(): + skipinitialspace = (data[0].count(d) == + data[0].count("%c " % d)) + return (d, skipinitialspace) + + # nothing else indicates a preference, pick the character that + # dominates(?) + items = [(v,k) for (k,v) in delims.items()] + items.sort() + delim = items[-1][1] + + skipinitialspace = (data[0].count(delim) == + data[0].count("%c " % delim)) + return (delim, skipinitialspace) + + + def has_header(self, sample): + # Creates a dictionary of types of data in each column. If any + # column is of a single type (say, integers), *except* for the first + # row, then the first row is presumed to be labels. If the type + # can't be determined, it is assumed to be a string in which case + # the length of the string is the determining factor: if all of the + # rows except for the first are the same length, it's a header. + # Finally, a 'vote' is taken at the end for each column, adding or + # subtracting from the likelihood of the first row being a header. + + rdr = reader(StringIO(sample), self.sniff(sample)) + + header = next(rdr) # assume first row is header + + columns = len(header) + columnTypes = {} + for i in range(columns): columnTypes[i] = None + + checked = 0 + for row in rdr: + # arbitrary number of rows to check, to keep it sane + if checked > 20: + break + checked += 1 + + if len(row) != columns: + continue # skip rows that have irregular number of columns + + for col in list(columnTypes.keys()): + + for thisType in [int, float, complex]: + try: + thisType(row[col]) + break + except (ValueError, OverflowError): + pass + else: + # fallback to length of string + thisType = len(row[col]) + + if thisType != columnTypes[col]: + if columnTypes[col] is None: # add new column type + columnTypes[col] = thisType + else: + # type is inconsistent, remove column from + # consideration + del columnTypes[col] + + # finally, compare results against first row and "vote" + # on whether it's a header + hasHeader = 0 + for col, colType in columnTypes.items(): + if type(colType) == type(0): # it's a length + if len(header[col]) != colType: + hasHeader += 1 + else: + hasHeader -= 1 + else: # attempt typecast + try: + colType(header[col]) + except (ValueError, TypeError): + hasHeader += 1 + else: + hasHeader -= 1 + + return hasHeader > 0 diff --git a/lib/backports/functools_lru_cache.py b/lib/backports/functools_lru_cache.py new file mode 100644 index 00000000..e0b19d95 --- /dev/null +++ b/lib/backports/functools_lru_cache.py @@ -0,0 +1,196 @@ +from __future__ import absolute_import + +import functools +from collections import namedtuple +from threading import RLock + +_CacheInfo = namedtuple("CacheInfo", ["hits", "misses", "maxsize", "currsize"]) + + +@functools.wraps(functools.update_wrapper) +def update_wrapper( + wrapper, + wrapped, + assigned=functools.WRAPPER_ASSIGNMENTS, + updated=functools.WRAPPER_UPDATES, +): + """ + Patch two bugs in functools.update_wrapper. + """ + # workaround for http://bugs.python.org/issue3445 + assigned = tuple(attr for attr in assigned if hasattr(wrapped, attr)) + wrapper = functools.update_wrapper(wrapper, wrapped, assigned, updated) + # workaround for https://bugs.python.org/issue17482 + wrapper.__wrapped__ = wrapped + return wrapper + + +class _HashedSeq(list): + __slots__ = 'hashvalue' + + def __init__(self, tup, hash=hash): + self[:] = tup + self.hashvalue = hash(tup) + + def __hash__(self): + return self.hashvalue + + +def _make_key( + args, + kwds, + typed, + kwd_mark=(object(),), + fasttypes=set([int, str, frozenset, type(None)]), + sorted=sorted, + tuple=tuple, + type=type, + len=len, +): + 'Make a cache key from optionally typed positional and keyword arguments' + key = args + if kwds: + sorted_items = sorted(kwds.items()) + key += kwd_mark + for item in sorted_items: + key += item + if typed: + key += tuple(type(v) for v in args) + if kwds: + key += tuple(type(v) for k, v in sorted_items) + elif len(key) == 1 and type(key[0]) in fasttypes: + return key[0] + return _HashedSeq(key) + + +def lru_cache(maxsize=100, typed=False): + """Least-recently-used cache decorator. + + If *maxsize* is set to None, the LRU features are disabled and the cache + can grow without bound. + + If *typed* is True, arguments of different types will be cached separately. + For example, f(3.0) and f(3) will be treated as distinct calls with + distinct results. + + Arguments to the cached function must be hashable. + + View the cache statistics named tuple (hits, misses, maxsize, currsize) with + f.cache_info(). Clear the cache and statistics with f.cache_clear(). + Access the underlying function with f.__wrapped__. + + See: http://en.wikipedia.org/wiki/Cache_algorithms#Least_Recently_Used + + """ + + # Users should only access the lru_cache through its public API: + # cache_info, cache_clear, and f.__wrapped__ + # The internals of the lru_cache are encapsulated for thread safety and + # to allow the implementation to change (including a possible C version). + + def decorating_function(user_function): + + cache = dict() + stats = [0, 0] # make statistics updateable non-locally + HITS, MISSES = 0, 1 # names for the stats fields + make_key = _make_key + cache_get = cache.get # bound method to lookup key or return None + _len = len # localize the global len() function + lock = RLock() # because linkedlist updates aren't threadsafe + root = [] # root of the circular doubly linked list + root[:] = [root, root, None, None] # initialize by pointing to self + nonlocal_root = [root] # make updateable non-locally + PREV, NEXT, KEY, RESULT = 0, 1, 2, 3 # names for the link fields + + if maxsize == 0: + + def wrapper(*args, **kwds): + # no caching, just do a statistics update after a successful call + result = user_function(*args, **kwds) + stats[MISSES] += 1 + return result + + elif maxsize is None: + + def wrapper(*args, **kwds): + # simple caching without ordering or size limit + key = make_key(args, kwds, typed) + result = cache_get( + key, root + ) # root used here as a unique not-found sentinel + if result is not root: + stats[HITS] += 1 + return result + result = user_function(*args, **kwds) + cache[key] = result + stats[MISSES] += 1 + return result + + else: + + def wrapper(*args, **kwds): + # size limited caching that tracks accesses by recency + key = make_key(args, kwds, typed) if kwds or typed else args + with lock: + link = cache_get(key) + if link is not None: + # record recent use of the key by moving it + # to the front of the list + root, = nonlocal_root + link_prev, link_next, key, result = link + link_prev[NEXT] = link_next + link_next[PREV] = link_prev + last = root[PREV] + last[NEXT] = root[PREV] = link + link[PREV] = last + link[NEXT] = root + stats[HITS] += 1 + return result + result = user_function(*args, **kwds) + with lock: + root, = nonlocal_root + if key in cache: + # getting here means that this same key was added to the + # cache while the lock was released. since the link + # update is already done, we need only return the + # computed result and update the count of misses. + pass + elif _len(cache) >= maxsize: + # use the old root to store the new key and result + oldroot = root + oldroot[KEY] = key + oldroot[RESULT] = result + # empty the oldest link and make it the new root + root = nonlocal_root[0] = oldroot[NEXT] + oldkey = root[KEY] + root[KEY] = root[RESULT] = None + # now update the cache dictionary for the new links + del cache[oldkey] + cache[key] = oldroot + else: + # put result in a new link at the front of the list + last = root[PREV] + link = [last, root, key, result] + last[NEXT] = root[PREV] = cache[key] = link + stats[MISSES] += 1 + return result + + def cache_info(): + """Report cache statistics""" + with lock: + return _CacheInfo(stats[HITS], stats[MISSES], maxsize, len(cache)) + + def cache_clear(): + """Clear the cache and cache statistics""" + with lock: + cache.clear() + root = nonlocal_root[0] + root[:] = [root, root, None, None] + stats[:] = [0, 0] + + wrapper.__wrapped__ = user_function + wrapper.cache_info = cache_info + wrapper.cache_clear = cache_clear + return update_wrapper(wrapper, user_function) + + return decorating_function diff --git a/lib/backports/tarfile/__init__.py b/lib/backports/tarfile/__init__.py deleted file mode 100644 index 8c16881c..00000000 --- a/lib/backports/tarfile/__init__.py +++ /dev/null @@ -1,2937 +0,0 @@ -#------------------------------------------------------------------- -# tarfile.py -#------------------------------------------------------------------- -# Copyright (C) 2002 Lars Gustaebel -# All rights reserved. -# -# Permission is hereby granted, free of charge, to any person -# obtaining a copy of this software and associated documentation -# files (the "Software"), to deal in the Software without -# restriction, including without limitation the rights to use, -# copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following -# conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. -# -"""Read from and write to tar format archives. -""" - -version = "0.9.0" -__author__ = "Lars Gust\u00e4bel (lars@gustaebel.de)" -__credits__ = "Gustavo Niemeyer, Niels Gust\u00e4bel, Richard Townsend." - -#--------- -# Imports -#--------- -from builtins import open as bltn_open -import sys -import os -import io -import shutil -import stat -import time -import struct -import copy -import re - -from .compat.py38 import removesuffix - -try: - import pwd -except ImportError: - pwd = None -try: - import grp -except ImportError: - grp = None - -# os.symlink on Windows prior to 6.0 raises NotImplementedError -# OSError (winerror=1314) will be raised if the caller does not hold the -# SeCreateSymbolicLinkPrivilege privilege -symlink_exception = (AttributeError, NotImplementedError, OSError) - -# from tarfile import * -__all__ = ["TarFile", "TarInfo", "is_tarfile", "TarError", "ReadError", - "CompressionError", "StreamError", "ExtractError", "HeaderError", - "ENCODING", "USTAR_FORMAT", "GNU_FORMAT", "PAX_FORMAT", - "DEFAULT_FORMAT", "open","fully_trusted_filter", "data_filter", - "tar_filter", "FilterError", "AbsoluteLinkError", - "OutsideDestinationError", "SpecialFileError", "AbsolutePathError", - "LinkOutsideDestinationError"] - - -#--------------------------------------------------------- -# tar constants -#--------------------------------------------------------- -NUL = b"\0" # the null character -BLOCKSIZE = 512 # length of processing blocks -RECORDSIZE = BLOCKSIZE * 20 # length of records -GNU_MAGIC = b"ustar \0" # magic gnu tar string -POSIX_MAGIC = b"ustar\x0000" # magic posix tar string - -LENGTH_NAME = 100 # maximum length of a filename -LENGTH_LINK = 100 # maximum length of a linkname -LENGTH_PREFIX = 155 # maximum length of the prefix field - -REGTYPE = b"0" # regular file -AREGTYPE = b"\0" # regular file -LNKTYPE = b"1" # link (inside tarfile) -SYMTYPE = b"2" # symbolic link -CHRTYPE = b"3" # character special device -BLKTYPE = b"4" # block special device -DIRTYPE = b"5" # directory -FIFOTYPE = b"6" # fifo special device -CONTTYPE = b"7" # contiguous file - -GNUTYPE_LONGNAME = b"L" # GNU tar longname -GNUTYPE_LONGLINK = b"K" # GNU tar longlink -GNUTYPE_SPARSE = b"S" # GNU tar sparse file - -XHDTYPE = b"x" # POSIX.1-2001 extended header -XGLTYPE = b"g" # POSIX.1-2001 global header -SOLARIS_XHDTYPE = b"X" # Solaris extended header - -USTAR_FORMAT = 0 # POSIX.1-1988 (ustar) format -GNU_FORMAT = 1 # GNU tar format -PAX_FORMAT = 2 # POSIX.1-2001 (pax) format -DEFAULT_FORMAT = PAX_FORMAT - -#--------------------------------------------------------- -# tarfile constants -#--------------------------------------------------------- -# File types that tarfile supports: -SUPPORTED_TYPES = (REGTYPE, AREGTYPE, LNKTYPE, - SYMTYPE, DIRTYPE, FIFOTYPE, - CONTTYPE, CHRTYPE, BLKTYPE, - GNUTYPE_LONGNAME, GNUTYPE_LONGLINK, - GNUTYPE_SPARSE) - -# File types that will be treated as a regular file. -REGULAR_TYPES = (REGTYPE, AREGTYPE, - CONTTYPE, GNUTYPE_SPARSE) - -# File types that are part of the GNU tar format. -GNU_TYPES = (GNUTYPE_LONGNAME, GNUTYPE_LONGLINK, - GNUTYPE_SPARSE) - -# Fields from a pax header that override a TarInfo attribute. -PAX_FIELDS = ("path", "linkpath", "size", "mtime", - "uid", "gid", "uname", "gname") - -# Fields from a pax header that are affected by hdrcharset. -PAX_NAME_FIELDS = {"path", "linkpath", "uname", "gname"} - -# Fields in a pax header that are numbers, all other fields -# are treated as strings. -PAX_NUMBER_FIELDS = { - "atime": float, - "ctime": float, - "mtime": float, - "uid": int, - "gid": int, - "size": int -} - -#--------------------------------------------------------- -# initialization -#--------------------------------------------------------- -if os.name == "nt": - ENCODING = "utf-8" -else: - ENCODING = sys.getfilesystemencoding() - -#--------------------------------------------------------- -# Some useful functions -#--------------------------------------------------------- - -def stn(s, length, encoding, errors): - """Convert a string to a null-terminated bytes object. - """ - if s is None: - raise ValueError("metadata cannot contain None") - s = s.encode(encoding, errors) - return s[:length] + (length - len(s)) * NUL - -def nts(s, encoding, errors): - """Convert a null-terminated bytes object to a string. - """ - p = s.find(b"\0") - if p != -1: - s = s[:p] - return s.decode(encoding, errors) - -def nti(s): - """Convert a number field to a python number. - """ - # There are two possible encodings for a number field, see - # itn() below. - if s[0] in (0o200, 0o377): - n = 0 - for i in range(len(s) - 1): - n <<= 8 - n += s[i + 1] - if s[0] == 0o377: - n = -(256 ** (len(s) - 1) - n) - else: - try: - s = nts(s, "ascii", "strict") - n = int(s.strip() or "0", 8) - except ValueError: - raise InvalidHeaderError("invalid header") - return n - -def itn(n, digits=8, format=DEFAULT_FORMAT): - """Convert a python number to a number field. - """ - # POSIX 1003.1-1988 requires numbers to be encoded as a string of - # octal digits followed by a null-byte, this allows values up to - # (8**(digits-1))-1. GNU tar allows storing numbers greater than - # that if necessary. A leading 0o200 or 0o377 byte indicate this - # particular encoding, the following digits-1 bytes are a big-endian - # base-256 representation. This allows values up to (256**(digits-1))-1. - # A 0o200 byte indicates a positive number, a 0o377 byte a negative - # number. - original_n = n - n = int(n) - if 0 <= n < 8 ** (digits - 1): - s = bytes("%0*o" % (digits - 1, n), "ascii") + NUL - elif format == GNU_FORMAT and -256 ** (digits - 1) <= n < 256 ** (digits - 1): - if n >= 0: - s = bytearray([0o200]) - else: - s = bytearray([0o377]) - n = 256 ** digits + n - - for i in range(digits - 1): - s.insert(1, n & 0o377) - n >>= 8 - else: - raise ValueError("overflow in number field") - - return s - -def calc_chksums(buf): - """Calculate the checksum for a member's header by summing up all - characters except for the chksum field which is treated as if - it was filled with spaces. According to the GNU tar sources, - some tars (Sun and NeXT) calculate chksum with signed char, - which will be different if there are chars in the buffer with - the high bit set. So we calculate two checksums, unsigned and - signed. - """ - unsigned_chksum = 256 + sum(struct.unpack_from("148B8x356B", buf)) - signed_chksum = 256 + sum(struct.unpack_from("148b8x356b", buf)) - return unsigned_chksum, signed_chksum - -def copyfileobj(src, dst, length=None, exception=OSError, bufsize=None): - """Copy length bytes from fileobj src to fileobj dst. - If length is None, copy the entire content. - """ - bufsize = bufsize or 16 * 1024 - if length == 0: - return - if length is None: - shutil.copyfileobj(src, dst, bufsize) - return - - blocks, remainder = divmod(length, bufsize) - for b in range(blocks): - buf = src.read(bufsize) - if len(buf) < bufsize: - raise exception("unexpected end of data") - dst.write(buf) - - if remainder != 0: - buf = src.read(remainder) - if len(buf) < remainder: - raise exception("unexpected end of data") - dst.write(buf) - return - -def _safe_print(s): - encoding = getattr(sys.stdout, 'encoding', None) - if encoding is not None: - s = s.encode(encoding, 'backslashreplace').decode(encoding) - print(s, end=' ') - - -class TarError(Exception): - """Base exception.""" - pass -class ExtractError(TarError): - """General exception for extract errors.""" - pass -class ReadError(TarError): - """Exception for unreadable tar archives.""" - pass -class CompressionError(TarError): - """Exception for unavailable compression methods.""" - pass -class StreamError(TarError): - """Exception for unsupported operations on stream-like TarFiles.""" - pass -class HeaderError(TarError): - """Base exception for header errors.""" - pass -class EmptyHeaderError(HeaderError): - """Exception for empty headers.""" - pass -class TruncatedHeaderError(HeaderError): - """Exception for truncated headers.""" - pass -class EOFHeaderError(HeaderError): - """Exception for end of file headers.""" - pass -class InvalidHeaderError(HeaderError): - """Exception for invalid headers.""" - pass -class SubsequentHeaderError(HeaderError): - """Exception for missing and invalid extended headers.""" - pass - -#--------------------------- -# internal stream interface -#--------------------------- -class _LowLevelFile: - """Low-level file object. Supports reading and writing. - It is used instead of a regular file object for streaming - access. - """ - - def __init__(self, name, mode): - mode = { - "r": os.O_RDONLY, - "w": os.O_WRONLY | os.O_CREAT | os.O_TRUNC, - }[mode] - if hasattr(os, "O_BINARY"): - mode |= os.O_BINARY - self.fd = os.open(name, mode, 0o666) - - def close(self): - os.close(self.fd) - - def read(self, size): - return os.read(self.fd, size) - - def write(self, s): - os.write(self.fd, s) - -class _Stream: - """Class that serves as an adapter between TarFile and - a stream-like object. The stream-like object only - needs to have a read() or write() method that works with bytes, - and the method is accessed blockwise. - Use of gzip or bzip2 compression is possible. - A stream-like object could be for example: sys.stdin.buffer, - sys.stdout.buffer, a socket, a tape device etc. - - _Stream is intended to be used only internally. - """ - - def __init__(self, name, mode, comptype, fileobj, bufsize, - compresslevel): - """Construct a _Stream object. - """ - self._extfileobj = True - if fileobj is None: - fileobj = _LowLevelFile(name, mode) - self._extfileobj = False - - if comptype == '*': - # Enable transparent compression detection for the - # stream interface - fileobj = _StreamProxy(fileobj) - comptype = fileobj.getcomptype() - - self.name = name or "" - self.mode = mode - self.comptype = comptype - self.fileobj = fileobj - self.bufsize = bufsize - self.buf = b"" - self.pos = 0 - self.closed = False - - try: - if comptype == "gz": - try: - import zlib - except ImportError: - raise CompressionError("zlib module is not available") from None - self.zlib = zlib - self.crc = zlib.crc32(b"") - if mode == "r": - self.exception = zlib.error - self._init_read_gz() - else: - self._init_write_gz(compresslevel) - - elif comptype == "bz2": - try: - import bz2 - except ImportError: - raise CompressionError("bz2 module is not available") from None - if mode == "r": - self.dbuf = b"" - self.cmp = bz2.BZ2Decompressor() - self.exception = OSError - else: - self.cmp = bz2.BZ2Compressor(compresslevel) - - elif comptype == "xz": - try: - import lzma - except ImportError: - raise CompressionError("lzma module is not available") from None - if mode == "r": - self.dbuf = b"" - self.cmp = lzma.LZMADecompressor() - self.exception = lzma.LZMAError - else: - self.cmp = lzma.LZMACompressor() - - elif comptype != "tar": - raise CompressionError("unknown compression type %r" % comptype) - - except: - if not self._extfileobj: - self.fileobj.close() - self.closed = True - raise - - def __del__(self): - if hasattr(self, "closed") and not self.closed: - self.close() - - def _init_write_gz(self, compresslevel): - """Initialize for writing with gzip compression. - """ - self.cmp = self.zlib.compressobj(compresslevel, - self.zlib.DEFLATED, - -self.zlib.MAX_WBITS, - self.zlib.DEF_MEM_LEVEL, - 0) - timestamp = struct.pack(" self.bufsize: - self.fileobj.write(self.buf[:self.bufsize]) - self.buf = self.buf[self.bufsize:] - - def close(self): - """Close the _Stream object. No operation should be - done on it afterwards. - """ - if self.closed: - return - - self.closed = True - try: - if self.mode == "w" and self.comptype != "tar": - self.buf += self.cmp.flush() - - if self.mode == "w" and self.buf: - self.fileobj.write(self.buf) - self.buf = b"" - if self.comptype == "gz": - self.fileobj.write(struct.pack("= 0: - blocks, remainder = divmod(pos - self.pos, self.bufsize) - for i in range(blocks): - self.read(self.bufsize) - self.read(remainder) - else: - raise StreamError("seeking backwards is not allowed") - return self.pos - - def read(self, size): - """Return the next size number of bytes from the stream.""" - assert size is not None - buf = self._read(size) - self.pos += len(buf) - return buf - - def _read(self, size): - """Return size bytes from the stream. - """ - if self.comptype == "tar": - return self.__read(size) - - c = len(self.dbuf) - t = [self.dbuf] - while c < size: - # Skip underlying buffer to avoid unaligned double buffering. - if self.buf: - buf = self.buf - self.buf = b"" - else: - buf = self.fileobj.read(self.bufsize) - if not buf: - break - try: - buf = self.cmp.decompress(buf) - except self.exception as e: - raise ReadError("invalid compressed data") from e - t.append(buf) - c += len(buf) - t = b"".join(t) - self.dbuf = t[size:] - return t[:size] - - def __read(self, size): - """Return size bytes from stream. If internal buffer is empty, - read another block from the stream. - """ - c = len(self.buf) - t = [self.buf] - while c < size: - buf = self.fileobj.read(self.bufsize) - if not buf: - break - t.append(buf) - c += len(buf) - t = b"".join(t) - self.buf = t[size:] - return t[:size] -# class _Stream - -class _StreamProxy(object): - """Small proxy class that enables transparent compression - detection for the Stream interface (mode 'r|*'). - """ - - def __init__(self, fileobj): - self.fileobj = fileobj - self.buf = self.fileobj.read(BLOCKSIZE) - - def read(self, size): - self.read = self.fileobj.read - return self.buf - - def getcomptype(self): - if self.buf.startswith(b"\x1f\x8b\x08"): - return "gz" - elif self.buf[0:3] == b"BZh" and self.buf[4:10] == b"1AY&SY": - return "bz2" - elif self.buf.startswith((b"\x5d\x00\x00\x80", b"\xfd7zXZ")): - return "xz" - else: - return "tar" - - def close(self): - self.fileobj.close() -# class StreamProxy - -#------------------------ -# Extraction file object -#------------------------ -class _FileInFile(object): - """A thin wrapper around an existing file object that - provides a part of its data as an individual file - object. - """ - - def __init__(self, fileobj, offset, size, name, blockinfo=None): - self.fileobj = fileobj - self.offset = offset - self.size = size - self.position = 0 - self.name = name - self.closed = False - - if blockinfo is None: - blockinfo = [(0, size)] - - # Construct a map with data and zero blocks. - self.map_index = 0 - self.map = [] - lastpos = 0 - realpos = self.offset - for offset, size in blockinfo: - if offset > lastpos: - self.map.append((False, lastpos, offset, None)) - self.map.append((True, offset, offset + size, realpos)) - realpos += size - lastpos = offset + size - if lastpos < self.size: - self.map.append((False, lastpos, self.size, None)) - - def flush(self): - pass - - @property - def mode(self): - return 'rb' - - def readable(self): - return True - - def writable(self): - return False - - def seekable(self): - return self.fileobj.seekable() - - def tell(self): - """Return the current file position. - """ - return self.position - - def seek(self, position, whence=io.SEEK_SET): - """Seek to a position in the file. - """ - if whence == io.SEEK_SET: - self.position = min(max(position, 0), self.size) - elif whence == io.SEEK_CUR: - if position < 0: - self.position = max(self.position + position, 0) - else: - self.position = min(self.position + position, self.size) - elif whence == io.SEEK_END: - self.position = max(min(self.size + position, self.size), 0) - else: - raise ValueError("Invalid argument") - return self.position - - def read(self, size=None): - """Read data from the file. - """ - if size is None: - size = self.size - self.position - else: - size = min(size, self.size - self.position) - - buf = b"" - while size > 0: - while True: - data, start, stop, offset = self.map[self.map_index] - if start <= self.position < stop: - break - else: - self.map_index += 1 - if self.map_index == len(self.map): - self.map_index = 0 - length = min(size, stop - self.position) - if data: - self.fileobj.seek(offset + (self.position - start)) - b = self.fileobj.read(length) - if len(b) != length: - raise ReadError("unexpected end of data") - buf += b - else: - buf += NUL * length - size -= length - self.position += length - return buf - - def readinto(self, b): - buf = self.read(len(b)) - b[:len(buf)] = buf - return len(buf) - - def close(self): - self.closed = True -#class _FileInFile - -class ExFileObject(io.BufferedReader): - - def __init__(self, tarfile, tarinfo): - fileobj = _FileInFile(tarfile.fileobj, tarinfo.offset_data, - tarinfo.size, tarinfo.name, tarinfo.sparse) - super().__init__(fileobj) -#class ExFileObject - - -#----------------------------- -# extraction filters (PEP 706) -#----------------------------- - -class FilterError(TarError): - pass - -class AbsolutePathError(FilterError): - def __init__(self, tarinfo): - self.tarinfo = tarinfo - super().__init__(f'member {tarinfo.name!r} has an absolute path') - -class OutsideDestinationError(FilterError): - def __init__(self, tarinfo, path): - self.tarinfo = tarinfo - self._path = path - super().__init__(f'{tarinfo.name!r} would be extracted to {path!r}, ' - + 'which is outside the destination') - -class SpecialFileError(FilterError): - def __init__(self, tarinfo): - self.tarinfo = tarinfo - super().__init__(f'{tarinfo.name!r} is a special file') - -class AbsoluteLinkError(FilterError): - def __init__(self, tarinfo): - self.tarinfo = tarinfo - super().__init__(f'{tarinfo.name!r} is a link to an absolute path') - -class LinkOutsideDestinationError(FilterError): - def __init__(self, tarinfo, path): - self.tarinfo = tarinfo - self._path = path - super().__init__(f'{tarinfo.name!r} would link to {path!r}, ' - + 'which is outside the destination') - -def _get_filtered_attrs(member, dest_path, for_data=True): - new_attrs = {} - name = member.name - dest_path = os.path.realpath(dest_path) - # Strip leading / (tar's directory separator) from filenames. - # Include os.sep (target OS directory separator) as well. - if name.startswith(('/', os.sep)): - name = new_attrs['name'] = member.path.lstrip('/' + os.sep) - if os.path.isabs(name): - # Path is absolute even after stripping. - # For example, 'C:/foo' on Windows. - raise AbsolutePathError(member) - # Ensure we stay in the destination - target_path = os.path.realpath(os.path.join(dest_path, name)) - if os.path.commonpath([target_path, dest_path]) != dest_path: - raise OutsideDestinationError(member, target_path) - # Limit permissions (no high bits, and go-w) - mode = member.mode - if mode is not None: - # Strip high bits & group/other write bits - mode = mode & 0o755 - if for_data: - # For data, handle permissions & file types - if member.isreg() or member.islnk(): - if not mode & 0o100: - # Clear executable bits if not executable by user - mode &= ~0o111 - # Ensure owner can read & write - mode |= 0o600 - elif member.isdir() or member.issym(): - # Ignore mode for directories & symlinks - mode = None - else: - # Reject special files - raise SpecialFileError(member) - if mode != member.mode: - new_attrs['mode'] = mode - if for_data: - # Ignore ownership for 'data' - if member.uid is not None: - new_attrs['uid'] = None - if member.gid is not None: - new_attrs['gid'] = None - if member.uname is not None: - new_attrs['uname'] = None - if member.gname is not None: - new_attrs['gname'] = None - # Check link destination for 'data' - if member.islnk() or member.issym(): - if os.path.isabs(member.linkname): - raise AbsoluteLinkError(member) - if member.issym(): - target_path = os.path.join(dest_path, - os.path.dirname(name), - member.linkname) - else: - target_path = os.path.join(dest_path, - member.linkname) - target_path = os.path.realpath(target_path) - if os.path.commonpath([target_path, dest_path]) != dest_path: - raise LinkOutsideDestinationError(member, target_path) - return new_attrs - -def fully_trusted_filter(member, dest_path): - return member - -def tar_filter(member, dest_path): - new_attrs = _get_filtered_attrs(member, dest_path, False) - if new_attrs: - return member.replace(**new_attrs, deep=False) - return member - -def data_filter(member, dest_path): - new_attrs = _get_filtered_attrs(member, dest_path, True) - if new_attrs: - return member.replace(**new_attrs, deep=False) - return member - -_NAMED_FILTERS = { - "fully_trusted": fully_trusted_filter, - "tar": tar_filter, - "data": data_filter, -} - -#------------------ -# Exported Classes -#------------------ - -# Sentinel for replace() defaults, meaning "don't change the attribute" -_KEEP = object() - -class TarInfo(object): - """Informational class which holds the details about an - archive member given by a tar header block. - TarInfo objects are returned by TarFile.getmember(), - TarFile.getmembers() and TarFile.gettarinfo() and are - usually created internally. - """ - - __slots__ = dict( - name = 'Name of the archive member.', - mode = 'Permission bits.', - uid = 'User ID of the user who originally stored this member.', - gid = 'Group ID of the user who originally stored this member.', - size = 'Size in bytes.', - mtime = 'Time of last modification.', - chksum = 'Header checksum.', - type = ('File type. type is usually one of these constants: ' - 'REGTYPE, AREGTYPE, LNKTYPE, SYMTYPE, DIRTYPE, FIFOTYPE, ' - 'CONTTYPE, CHRTYPE, BLKTYPE, GNUTYPE_SPARSE.'), - linkname = ('Name of the target file name, which is only present ' - 'in TarInfo objects of type LNKTYPE and SYMTYPE.'), - uname = 'User name.', - gname = 'Group name.', - devmajor = 'Device major number.', - devminor = 'Device minor number.', - offset = 'The tar header starts here.', - offset_data = "The file's data starts here.", - pax_headers = ('A dictionary containing key-value pairs of an ' - 'associated pax extended header.'), - sparse = 'Sparse member information.', - _tarfile = None, - _sparse_structs = None, - _link_target = None, - ) - - def __init__(self, name=""): - """Construct a TarInfo object. name is the optional name - of the member. - """ - self.name = name # member name - self.mode = 0o644 # file permissions - self.uid = 0 # user id - self.gid = 0 # group id - self.size = 0 # file size - self.mtime = 0 # modification time - self.chksum = 0 # header checksum - self.type = REGTYPE # member type - self.linkname = "" # link name - self.uname = "" # user name - self.gname = "" # group name - self.devmajor = 0 # device major number - self.devminor = 0 # device minor number - - self.offset = 0 # the tar header starts here - self.offset_data = 0 # the file's data starts here - - self.sparse = None # sparse member information - self.pax_headers = {} # pax header information - - @property - def tarfile(self): - import warnings - warnings.warn( - 'The undocumented "tarfile" attribute of TarInfo objects ' - + 'is deprecated and will be removed in Python 3.16', - DeprecationWarning, stacklevel=2) - return self._tarfile - - @tarfile.setter - def tarfile(self, tarfile): - import warnings - warnings.warn( - 'The undocumented "tarfile" attribute of TarInfo objects ' - + 'is deprecated and will be removed in Python 3.16', - DeprecationWarning, stacklevel=2) - self._tarfile = tarfile - - @property - def path(self): - 'In pax headers, "name" is called "path".' - return self.name - - @path.setter - def path(self, name): - self.name = name - - @property - def linkpath(self): - 'In pax headers, "linkname" is called "linkpath".' - return self.linkname - - @linkpath.setter - def linkpath(self, linkname): - self.linkname = linkname - - def __repr__(self): - return "<%s %r at %#x>" % (self.__class__.__name__,self.name,id(self)) - - def replace(self, *, - name=_KEEP, mtime=_KEEP, mode=_KEEP, linkname=_KEEP, - uid=_KEEP, gid=_KEEP, uname=_KEEP, gname=_KEEP, - deep=True, _KEEP=_KEEP): - """Return a deep copy of self with the given attributes replaced. - """ - if deep: - result = copy.deepcopy(self) - else: - result = copy.copy(self) - if name is not _KEEP: - result.name = name - if mtime is not _KEEP: - result.mtime = mtime - if mode is not _KEEP: - result.mode = mode - if linkname is not _KEEP: - result.linkname = linkname - if uid is not _KEEP: - result.uid = uid - if gid is not _KEEP: - result.gid = gid - if uname is not _KEEP: - result.uname = uname - if gname is not _KEEP: - result.gname = gname - return result - - def get_info(self): - """Return the TarInfo's attributes as a dictionary. - """ - if self.mode is None: - mode = None - else: - mode = self.mode & 0o7777 - info = { - "name": self.name, - "mode": mode, - "uid": self.uid, - "gid": self.gid, - "size": self.size, - "mtime": self.mtime, - "chksum": self.chksum, - "type": self.type, - "linkname": self.linkname, - "uname": self.uname, - "gname": self.gname, - "devmajor": self.devmajor, - "devminor": self.devminor - } - - if info["type"] == DIRTYPE and not info["name"].endswith("/"): - info["name"] += "/" - - return info - - def tobuf(self, format=DEFAULT_FORMAT, encoding=ENCODING, errors="surrogateescape"): - """Return a tar header as a string of 512 byte blocks. - """ - info = self.get_info() - for name, value in info.items(): - if value is None: - raise ValueError("%s may not be None" % name) - - if format == USTAR_FORMAT: - return self.create_ustar_header(info, encoding, errors) - elif format == GNU_FORMAT: - return self.create_gnu_header(info, encoding, errors) - elif format == PAX_FORMAT: - return self.create_pax_header(info, encoding) - else: - raise ValueError("invalid format") - - def create_ustar_header(self, info, encoding, errors): - """Return the object as a ustar header block. - """ - info["magic"] = POSIX_MAGIC - - if len(info["linkname"].encode(encoding, errors)) > LENGTH_LINK: - raise ValueError("linkname is too long") - - if len(info["name"].encode(encoding, errors)) > LENGTH_NAME: - info["prefix"], info["name"] = self._posix_split_name(info["name"], encoding, errors) - - return self._create_header(info, USTAR_FORMAT, encoding, errors) - - def create_gnu_header(self, info, encoding, errors): - """Return the object as a GNU header block sequence. - """ - info["magic"] = GNU_MAGIC - - buf = b"" - if len(info["linkname"].encode(encoding, errors)) > LENGTH_LINK: - buf += self._create_gnu_long_header(info["linkname"], GNUTYPE_LONGLINK, encoding, errors) - - if len(info["name"].encode(encoding, errors)) > LENGTH_NAME: - buf += self._create_gnu_long_header(info["name"], GNUTYPE_LONGNAME, encoding, errors) - - return buf + self._create_header(info, GNU_FORMAT, encoding, errors) - - def create_pax_header(self, info, encoding): - """Return the object as a ustar header block. If it cannot be - represented this way, prepend a pax extended header sequence - with supplement information. - """ - info["magic"] = POSIX_MAGIC - pax_headers = self.pax_headers.copy() - - # Test string fields for values that exceed the field length or cannot - # be represented in ASCII encoding. - for name, hname, length in ( - ("name", "path", LENGTH_NAME), ("linkname", "linkpath", LENGTH_LINK), - ("uname", "uname", 32), ("gname", "gname", 32)): - - if hname in pax_headers: - # The pax header has priority. - continue - - # Try to encode the string as ASCII. - try: - info[name].encode("ascii", "strict") - except UnicodeEncodeError: - pax_headers[hname] = info[name] - continue - - if len(info[name]) > length: - pax_headers[hname] = info[name] - - # Test number fields for values that exceed the field limit or values - # that like to be stored as float. - for name, digits in (("uid", 8), ("gid", 8), ("size", 12), ("mtime", 12)): - needs_pax = False - - val = info[name] - val_is_float = isinstance(val, float) - val_int = round(val) if val_is_float else val - if not 0 <= val_int < 8 ** (digits - 1): - # Avoid overflow. - info[name] = 0 - needs_pax = True - elif val_is_float: - # Put rounded value in ustar header, and full - # precision value in pax header. - info[name] = val_int - needs_pax = True - - # The existing pax header has priority. - if needs_pax and name not in pax_headers: - pax_headers[name] = str(val) - - # Create a pax extended header if necessary. - if pax_headers: - buf = self._create_pax_generic_header(pax_headers, XHDTYPE, encoding) - else: - buf = b"" - - return buf + self._create_header(info, USTAR_FORMAT, "ascii", "replace") - - @classmethod - def create_pax_global_header(cls, pax_headers): - """Return the object as a pax global header block sequence. - """ - return cls._create_pax_generic_header(pax_headers, XGLTYPE, "utf-8") - - def _posix_split_name(self, name, encoding, errors): - """Split a name longer than 100 chars into a prefix - and a name part. - """ - components = name.split("/") - for i in range(1, len(components)): - prefix = "/".join(components[:i]) - name = "/".join(components[i:]) - if len(prefix.encode(encoding, errors)) <= LENGTH_PREFIX and \ - len(name.encode(encoding, errors)) <= LENGTH_NAME: - break - else: - raise ValueError("name is too long") - - return prefix, name - - @staticmethod - def _create_header(info, format, encoding, errors): - """Return a header block. info is a dictionary with file - information, format must be one of the *_FORMAT constants. - """ - has_device_fields = info.get("type") in (CHRTYPE, BLKTYPE) - if has_device_fields: - devmajor = itn(info.get("devmajor", 0), 8, format) - devminor = itn(info.get("devminor", 0), 8, format) - else: - devmajor = stn("", 8, encoding, errors) - devminor = stn("", 8, encoding, errors) - - # None values in metadata should cause ValueError. - # itn()/stn() do this for all fields except type. - filetype = info.get("type", REGTYPE) - if filetype is None: - raise ValueError("TarInfo.type must not be None") - - parts = [ - stn(info.get("name", ""), 100, encoding, errors), - itn(info.get("mode", 0) & 0o7777, 8, format), - itn(info.get("uid", 0), 8, format), - itn(info.get("gid", 0), 8, format), - itn(info.get("size", 0), 12, format), - itn(info.get("mtime", 0), 12, format), - b" ", # checksum field - filetype, - stn(info.get("linkname", ""), 100, encoding, errors), - info.get("magic", POSIX_MAGIC), - stn(info.get("uname", ""), 32, encoding, errors), - stn(info.get("gname", ""), 32, encoding, errors), - devmajor, - devminor, - stn(info.get("prefix", ""), 155, encoding, errors) - ] - - buf = struct.pack("%ds" % BLOCKSIZE, b"".join(parts)) - chksum = calc_chksums(buf[-BLOCKSIZE:])[0] - buf = buf[:-364] + bytes("%06o\0" % chksum, "ascii") + buf[-357:] - return buf - - @staticmethod - def _create_payload(payload): - """Return the string payload filled with zero bytes - up to the next 512 byte border. - """ - blocks, remainder = divmod(len(payload), BLOCKSIZE) - if remainder > 0: - payload += (BLOCKSIZE - remainder) * NUL - return payload - - @classmethod - def _create_gnu_long_header(cls, name, type, encoding, errors): - """Return a GNUTYPE_LONGNAME or GNUTYPE_LONGLINK sequence - for name. - """ - name = name.encode(encoding, errors) + NUL - - info = {} - info["name"] = "././@LongLink" - info["type"] = type - info["size"] = len(name) - info["magic"] = GNU_MAGIC - - # create extended header + name blocks. - return cls._create_header(info, USTAR_FORMAT, encoding, errors) + \ - cls._create_payload(name) - - @classmethod - def _create_pax_generic_header(cls, pax_headers, type, encoding): - """Return a POSIX.1-2008 extended or global header sequence - that contains a list of keyword, value pairs. The values - must be strings. - """ - # Check if one of the fields contains surrogate characters and thereby - # forces hdrcharset=BINARY, see _proc_pax() for more information. - binary = False - for keyword, value in pax_headers.items(): - try: - value.encode("utf-8", "strict") - except UnicodeEncodeError: - binary = True - break - - records = b"" - if binary: - # Put the hdrcharset field at the beginning of the header. - records += b"21 hdrcharset=BINARY\n" - - for keyword, value in pax_headers.items(): - keyword = keyword.encode("utf-8") - if binary: - # Try to restore the original byte representation of 'value'. - # Needless to say, that the encoding must match the string. - value = value.encode(encoding, "surrogateescape") - else: - value = value.encode("utf-8") - - l = len(keyword) + len(value) + 3 # ' ' + '=' + '\n' - n = p = 0 - while True: - n = l + len(str(p)) - if n == p: - break - p = n - records += bytes(str(p), "ascii") + b" " + keyword + b"=" + value + b"\n" - - # We use a hardcoded "././@PaxHeader" name like star does - # instead of the one that POSIX recommends. - info = {} - info["name"] = "././@PaxHeader" - info["type"] = type - info["size"] = len(records) - info["magic"] = POSIX_MAGIC - - # Create pax header + record blocks. - return cls._create_header(info, USTAR_FORMAT, "ascii", "replace") + \ - cls._create_payload(records) - - @classmethod - def frombuf(cls, buf, encoding, errors): - """Construct a TarInfo object from a 512 byte bytes object. - """ - if len(buf) == 0: - raise EmptyHeaderError("empty header") - if len(buf) != BLOCKSIZE: - raise TruncatedHeaderError("truncated header") - if buf.count(NUL) == BLOCKSIZE: - raise EOFHeaderError("end of file header") - - chksum = nti(buf[148:156]) - if chksum not in calc_chksums(buf): - raise InvalidHeaderError("bad checksum") - - obj = cls() - obj.name = nts(buf[0:100], encoding, errors) - obj.mode = nti(buf[100:108]) - obj.uid = nti(buf[108:116]) - obj.gid = nti(buf[116:124]) - obj.size = nti(buf[124:136]) - obj.mtime = nti(buf[136:148]) - obj.chksum = chksum - obj.type = buf[156:157] - obj.linkname = nts(buf[157:257], encoding, errors) - obj.uname = nts(buf[265:297], encoding, errors) - obj.gname = nts(buf[297:329], encoding, errors) - obj.devmajor = nti(buf[329:337]) - obj.devminor = nti(buf[337:345]) - prefix = nts(buf[345:500], encoding, errors) - - # Old V7 tar format represents a directory as a regular - # file with a trailing slash. - if obj.type == AREGTYPE and obj.name.endswith("/"): - obj.type = DIRTYPE - - # The old GNU sparse format occupies some of the unused - # space in the buffer for up to 4 sparse structures. - # Save them for later processing in _proc_sparse(). - if obj.type == GNUTYPE_SPARSE: - pos = 386 - structs = [] - for i in range(4): - try: - offset = nti(buf[pos:pos + 12]) - numbytes = nti(buf[pos + 12:pos + 24]) - except ValueError: - break - structs.append((offset, numbytes)) - pos += 24 - isextended = bool(buf[482]) - origsize = nti(buf[483:495]) - obj._sparse_structs = (structs, isextended, origsize) - - # Remove redundant slashes from directories. - if obj.isdir(): - obj.name = obj.name.rstrip("/") - - # Reconstruct a ustar longname. - if prefix and obj.type not in GNU_TYPES: - obj.name = prefix + "/" + obj.name - return obj - - @classmethod - def fromtarfile(cls, tarfile): - """Return the next TarInfo object from TarFile object - tarfile. - """ - buf = tarfile.fileobj.read(BLOCKSIZE) - obj = cls.frombuf(buf, tarfile.encoding, tarfile.errors) - obj.offset = tarfile.fileobj.tell() - BLOCKSIZE - return obj._proc_member(tarfile) - - #-------------------------------------------------------------------------- - # The following are methods that are called depending on the type of a - # member. The entry point is _proc_member() which can be overridden in a - # subclass to add custom _proc_*() methods. A _proc_*() method MUST - # implement the following - # operations: - # 1. Set self.offset_data to the position where the data blocks begin, - # if there is data that follows. - # 2. Set tarfile.offset to the position where the next member's header will - # begin. - # 3. Return self or another valid TarInfo object. - def _proc_member(self, tarfile): - """Choose the right processing method depending on - the type and call it. - """ - if self.type in (GNUTYPE_LONGNAME, GNUTYPE_LONGLINK): - return self._proc_gnulong(tarfile) - elif self.type == GNUTYPE_SPARSE: - return self._proc_sparse(tarfile) - elif self.type in (XHDTYPE, XGLTYPE, SOLARIS_XHDTYPE): - return self._proc_pax(tarfile) - else: - return self._proc_builtin(tarfile) - - def _proc_builtin(self, tarfile): - """Process a builtin type or an unknown type which - will be treated as a regular file. - """ - self.offset_data = tarfile.fileobj.tell() - offset = self.offset_data - if self.isreg() or self.type not in SUPPORTED_TYPES: - # Skip the following data blocks. - offset += self._block(self.size) - tarfile.offset = offset - - # Patch the TarInfo object with saved global - # header information. - self._apply_pax_info(tarfile.pax_headers, tarfile.encoding, tarfile.errors) - - # Remove redundant slashes from directories. This is to be consistent - # with frombuf(). - if self.isdir(): - self.name = self.name.rstrip("/") - - return self - - def _proc_gnulong(self, tarfile): - """Process the blocks that hold a GNU longname - or longlink member. - """ - buf = tarfile.fileobj.read(self._block(self.size)) - - # Fetch the next header and process it. - try: - next = self.fromtarfile(tarfile) - except HeaderError as e: - raise SubsequentHeaderError(str(e)) from None - - # Patch the TarInfo object from the next header with - # the longname information. - next.offset = self.offset - if self.type == GNUTYPE_LONGNAME: - next.name = nts(buf, tarfile.encoding, tarfile.errors) - elif self.type == GNUTYPE_LONGLINK: - next.linkname = nts(buf, tarfile.encoding, tarfile.errors) - - # Remove redundant slashes from directories. This is to be consistent - # with frombuf(). - if next.isdir(): - next.name = removesuffix(next.name, "/") - - return next - - def _proc_sparse(self, tarfile): - """Process a GNU sparse header plus extra headers. - """ - # We already collected some sparse structures in frombuf(). - structs, isextended, origsize = self._sparse_structs - del self._sparse_structs - - # Collect sparse structures from extended header blocks. - while isextended: - buf = tarfile.fileobj.read(BLOCKSIZE) - pos = 0 - for i in range(21): - try: - offset = nti(buf[pos:pos + 12]) - numbytes = nti(buf[pos + 12:pos + 24]) - except ValueError: - break - if offset and numbytes: - structs.append((offset, numbytes)) - pos += 24 - isextended = bool(buf[504]) - self.sparse = structs - - self.offset_data = tarfile.fileobj.tell() - tarfile.offset = self.offset_data + self._block(self.size) - self.size = origsize - return self - - def _proc_pax(self, tarfile): - """Process an extended or global header as described in - POSIX.1-2008. - """ - # Read the header information. - buf = tarfile.fileobj.read(self._block(self.size)) - - # A pax header stores supplemental information for either - # the following file (extended) or all following files - # (global). - if self.type == XGLTYPE: - pax_headers = tarfile.pax_headers - else: - pax_headers = tarfile.pax_headers.copy() - - # Check if the pax header contains a hdrcharset field. This tells us - # the encoding of the path, linkpath, uname and gname fields. Normally, - # these fields are UTF-8 encoded but since POSIX.1-2008 tar - # implementations are allowed to store them as raw binary strings if - # the translation to UTF-8 fails. - match = re.search(br"\d+ hdrcharset=([^\n]+)\n", buf) - if match is not None: - pax_headers["hdrcharset"] = match.group(1).decode("utf-8") - - # For the time being, we don't care about anything other than "BINARY". - # The only other value that is currently allowed by the standard is - # "ISO-IR 10646 2000 UTF-8" in other words UTF-8. - hdrcharset = pax_headers.get("hdrcharset") - if hdrcharset == "BINARY": - encoding = tarfile.encoding - else: - encoding = "utf-8" - - # Parse pax header information. A record looks like that: - # "%d %s=%s\n" % (length, keyword, value). length is the size - # of the complete record including the length field itself and - # the newline. keyword and value are both UTF-8 encoded strings. - regex = re.compile(br"(\d+) ([^=]+)=") - pos = 0 - while match := regex.match(buf, pos): - length, keyword = match.groups() - length = int(length) - if length == 0: - raise InvalidHeaderError("invalid header") - value = buf[match.end(2) + 1:match.start(1) + length - 1] - - # Normally, we could just use "utf-8" as the encoding and "strict" - # as the error handler, but we better not take the risk. For - # example, GNU tar <= 1.23 is known to store filenames it cannot - # translate to UTF-8 as raw strings (unfortunately without a - # hdrcharset=BINARY header). - # We first try the strict standard encoding, and if that fails we - # fall back on the user's encoding and error handler. - keyword = self._decode_pax_field(keyword, "utf-8", "utf-8", - tarfile.errors) - if keyword in PAX_NAME_FIELDS: - value = self._decode_pax_field(value, encoding, tarfile.encoding, - tarfile.errors) - else: - value = self._decode_pax_field(value, "utf-8", "utf-8", - tarfile.errors) - - pax_headers[keyword] = value - pos += length - - # Fetch the next header. - try: - next = self.fromtarfile(tarfile) - except HeaderError as e: - raise SubsequentHeaderError(str(e)) from None - - # Process GNU sparse information. - if "GNU.sparse.map" in pax_headers: - # GNU extended sparse format version 0.1. - self._proc_gnusparse_01(next, pax_headers) - - elif "GNU.sparse.size" in pax_headers: - # GNU extended sparse format version 0.0. - self._proc_gnusparse_00(next, pax_headers, buf) - - elif pax_headers.get("GNU.sparse.major") == "1" and pax_headers.get("GNU.sparse.minor") == "0": - # GNU extended sparse format version 1.0. - self._proc_gnusparse_10(next, pax_headers, tarfile) - - if self.type in (XHDTYPE, SOLARIS_XHDTYPE): - # Patch the TarInfo object with the extended header info. - next._apply_pax_info(pax_headers, tarfile.encoding, tarfile.errors) - next.offset = self.offset - - if "size" in pax_headers: - # If the extended header replaces the size field, - # we need to recalculate the offset where the next - # header starts. - offset = next.offset_data - if next.isreg() or next.type not in SUPPORTED_TYPES: - offset += next._block(next.size) - tarfile.offset = offset - - return next - - def _proc_gnusparse_00(self, next, pax_headers, buf): - """Process a GNU tar extended sparse header, version 0.0. - """ - offsets = [] - for match in re.finditer(br"\d+ GNU.sparse.offset=(\d+)\n", buf): - offsets.append(int(match.group(1))) - numbytes = [] - for match in re.finditer(br"\d+ GNU.sparse.numbytes=(\d+)\n", buf): - numbytes.append(int(match.group(1))) - next.sparse = list(zip(offsets, numbytes)) - - def _proc_gnusparse_01(self, next, pax_headers): - """Process a GNU tar extended sparse header, version 0.1. - """ - sparse = [int(x) for x in pax_headers["GNU.sparse.map"].split(",")] - next.sparse = list(zip(sparse[::2], sparse[1::2])) - - def _proc_gnusparse_10(self, next, pax_headers, tarfile): - """Process a GNU tar extended sparse header, version 1.0. - """ - fields = None - sparse = [] - buf = tarfile.fileobj.read(BLOCKSIZE) - fields, buf = buf.split(b"\n", 1) - fields = int(fields) - while len(sparse) < fields * 2: - if b"\n" not in buf: - buf += tarfile.fileobj.read(BLOCKSIZE) - number, buf = buf.split(b"\n", 1) - sparse.append(int(number)) - next.offset_data = tarfile.fileobj.tell() - next.sparse = list(zip(sparse[::2], sparse[1::2])) - - def _apply_pax_info(self, pax_headers, encoding, errors): - """Replace fields with supplemental information from a previous - pax extended or global header. - """ - for keyword, value in pax_headers.items(): - if keyword == "GNU.sparse.name": - setattr(self, "path", value) - elif keyword == "GNU.sparse.size": - setattr(self, "size", int(value)) - elif keyword == "GNU.sparse.realsize": - setattr(self, "size", int(value)) - elif keyword in PAX_FIELDS: - if keyword in PAX_NUMBER_FIELDS: - try: - value = PAX_NUMBER_FIELDS[keyword](value) - except ValueError: - value = 0 - if keyword == "path": - value = value.rstrip("/") - setattr(self, keyword, value) - - self.pax_headers = pax_headers.copy() - - def _decode_pax_field(self, value, encoding, fallback_encoding, fallback_errors): - """Decode a single field from a pax record. - """ - try: - return value.decode(encoding, "strict") - except UnicodeDecodeError: - return value.decode(fallback_encoding, fallback_errors) - - def _block(self, count): - """Round up a byte count by BLOCKSIZE and return it, - e.g. _block(834) => 1024. - """ - blocks, remainder = divmod(count, BLOCKSIZE) - if remainder: - blocks += 1 - return blocks * BLOCKSIZE - - def isreg(self): - 'Return True if the Tarinfo object is a regular file.' - return self.type in REGULAR_TYPES - - def isfile(self): - 'Return True if the Tarinfo object is a regular file.' - return self.isreg() - - def isdir(self): - 'Return True if it is a directory.' - return self.type == DIRTYPE - - def issym(self): - 'Return True if it is a symbolic link.' - return self.type == SYMTYPE - - def islnk(self): - 'Return True if it is a hard link.' - return self.type == LNKTYPE - - def ischr(self): - 'Return True if it is a character device.' - return self.type == CHRTYPE - - def isblk(self): - 'Return True if it is a block device.' - return self.type == BLKTYPE - - def isfifo(self): - 'Return True if it is a FIFO.' - return self.type == FIFOTYPE - - def issparse(self): - return self.sparse is not None - - def isdev(self): - 'Return True if it is one of character device, block device or FIFO.' - return self.type in (CHRTYPE, BLKTYPE, FIFOTYPE) -# class TarInfo - -class TarFile(object): - """The TarFile Class provides an interface to tar archives. - """ - - debug = 0 # May be set from 0 (no msgs) to 3 (all msgs) - - dereference = False # If true, add content of linked file to the - # tar file, else the link. - - ignore_zeros = False # If true, skips empty or invalid blocks and - # continues processing. - - errorlevel = 1 # If 0, fatal errors only appear in debug - # messages (if debug >= 0). If > 0, errors - # are passed to the caller as exceptions. - - format = DEFAULT_FORMAT # The format to use when creating an archive. - - encoding = ENCODING # Encoding for 8-bit character strings. - - errors = None # Error handler for unicode conversion. - - tarinfo = TarInfo # The default TarInfo class to use. - - fileobject = ExFileObject # The file-object for extractfile(). - - extraction_filter = None # The default filter for extraction. - - def __init__(self, name=None, mode="r", fileobj=None, format=None, - tarinfo=None, dereference=None, ignore_zeros=None, encoding=None, - errors="surrogateescape", pax_headers=None, debug=None, - errorlevel=None, copybufsize=None, stream=False): - """Open an (uncompressed) tar archive 'name'. 'mode' is either 'r' to - read from an existing archive, 'a' to append data to an existing - file or 'w' to create a new file overwriting an existing one. 'mode' - defaults to 'r'. - If 'fileobj' is given, it is used for reading or writing data. If it - can be determined, 'mode' is overridden by 'fileobj's mode. - 'fileobj' is not closed, when TarFile is closed. - """ - modes = {"r": "rb", "a": "r+b", "w": "wb", "x": "xb"} - if mode not in modes: - raise ValueError("mode must be 'r', 'a', 'w' or 'x'") - self.mode = mode - self._mode = modes[mode] - - if not fileobj: - if self.mode == "a" and not os.path.exists(name): - # Create nonexistent files in append mode. - self.mode = "w" - self._mode = "wb" - fileobj = bltn_open(name, self._mode) - self._extfileobj = False - else: - if (name is None and hasattr(fileobj, "name") and - isinstance(fileobj.name, (str, bytes))): - name = fileobj.name - if hasattr(fileobj, "mode"): - self._mode = fileobj.mode - self._extfileobj = True - self.name = os.path.abspath(name) if name else None - self.fileobj = fileobj - - self.stream = stream - - # Init attributes. - if format is not None: - self.format = format - if tarinfo is not None: - self.tarinfo = tarinfo - if dereference is not None: - self.dereference = dereference - if ignore_zeros is not None: - self.ignore_zeros = ignore_zeros - if encoding is not None: - self.encoding = encoding - self.errors = errors - - if pax_headers is not None and self.format == PAX_FORMAT: - self.pax_headers = pax_headers - else: - self.pax_headers = {} - - if debug is not None: - self.debug = debug - if errorlevel is not None: - self.errorlevel = errorlevel - - # Init datastructures. - self.copybufsize = copybufsize - self.closed = False - self.members = [] # list of members as TarInfo objects - self._loaded = False # flag if all members have been read - self.offset = self.fileobj.tell() - # current position in the archive file - self.inodes = {} # dictionary caching the inodes of - # archive members already added - - try: - if self.mode == "r": - self.firstmember = None - self.firstmember = self.next() - - if self.mode == "a": - # Move to the end of the archive, - # before the first empty block. - while True: - self.fileobj.seek(self.offset) - try: - tarinfo = self.tarinfo.fromtarfile(self) - self.members.append(tarinfo) - except EOFHeaderError: - self.fileobj.seek(self.offset) - break - except HeaderError as e: - raise ReadError(str(e)) from None - - if self.mode in ("a", "w", "x"): - self._loaded = True - - if self.pax_headers: - buf = self.tarinfo.create_pax_global_header(self.pax_headers.copy()) - self.fileobj.write(buf) - self.offset += len(buf) - except: - if not self._extfileobj: - self.fileobj.close() - self.closed = True - raise - - #-------------------------------------------------------------------------- - # Below are the classmethods which act as alternate constructors to the - # TarFile class. The open() method is the only one that is needed for - # public use; it is the "super"-constructor and is able to select an - # adequate "sub"-constructor for a particular compression using the mapping - # from OPEN_METH. - # - # This concept allows one to subclass TarFile without losing the comfort of - # the super-constructor. A sub-constructor is registered and made available - # by adding it to the mapping in OPEN_METH. - - @classmethod - def open(cls, name=None, mode="r", fileobj=None, bufsize=RECORDSIZE, **kwargs): - r"""Open a tar archive for reading, writing or appending. Return - an appropriate TarFile class. - - mode: - 'r' or 'r:\*' open for reading with transparent compression - 'r:' open for reading exclusively uncompressed - 'r:gz' open for reading with gzip compression - 'r:bz2' open for reading with bzip2 compression - 'r:xz' open for reading with lzma compression - 'a' or 'a:' open for appending, creating the file if necessary - 'w' or 'w:' open for writing without compression - 'w:gz' open for writing with gzip compression - 'w:bz2' open for writing with bzip2 compression - 'w:xz' open for writing with lzma compression - - 'x' or 'x:' create a tarfile exclusively without compression, raise - an exception if the file is already created - 'x:gz' create a gzip compressed tarfile, raise an exception - if the file is already created - 'x:bz2' create a bzip2 compressed tarfile, raise an exception - if the file is already created - 'x:xz' create an lzma compressed tarfile, raise an exception - if the file is already created - - 'r|\*' open a stream of tar blocks with transparent compression - 'r|' open an uncompressed stream of tar blocks for reading - 'r|gz' open a gzip compressed stream of tar blocks - 'r|bz2' open a bzip2 compressed stream of tar blocks - 'r|xz' open an lzma compressed stream of tar blocks - 'w|' open an uncompressed stream for writing - 'w|gz' open a gzip compressed stream for writing - 'w|bz2' open a bzip2 compressed stream for writing - 'w|xz' open an lzma compressed stream for writing - """ - - if not name and not fileobj: - raise ValueError("nothing to open") - - if mode in ("r", "r:*"): - # Find out which *open() is appropriate for opening the file. - def not_compressed(comptype): - return cls.OPEN_METH[comptype] == 'taropen' - error_msgs = [] - for comptype in sorted(cls.OPEN_METH, key=not_compressed): - func = getattr(cls, cls.OPEN_METH[comptype]) - if fileobj is not None: - saved_pos = fileobj.tell() - try: - return func(name, "r", fileobj, **kwargs) - except (ReadError, CompressionError) as e: - error_msgs.append(f'- method {comptype}: {e!r}') - if fileobj is not None: - fileobj.seek(saved_pos) - continue - error_msgs_summary = '\n'.join(error_msgs) - raise ReadError(f"file could not be opened successfully:\n{error_msgs_summary}") - - elif ":" in mode: - filemode, comptype = mode.split(":", 1) - filemode = filemode or "r" - comptype = comptype or "tar" - - # Select the *open() function according to - # given compression. - if comptype in cls.OPEN_METH: - func = getattr(cls, cls.OPEN_METH[comptype]) - else: - raise CompressionError("unknown compression type %r" % comptype) - return func(name, filemode, fileobj, **kwargs) - - elif "|" in mode: - filemode, comptype = mode.split("|", 1) - filemode = filemode or "r" - comptype = comptype or "tar" - - if filemode not in ("r", "w"): - raise ValueError("mode must be 'r' or 'w'") - - compresslevel = kwargs.pop("compresslevel", 9) - stream = _Stream(name, filemode, comptype, fileobj, bufsize, - compresslevel) - try: - t = cls(name, filemode, stream, **kwargs) - except: - stream.close() - raise - t._extfileobj = False - return t - - elif mode in ("a", "w", "x"): - return cls.taropen(name, mode, fileobj, **kwargs) - - raise ValueError("undiscernible mode") - - @classmethod - def taropen(cls, name, mode="r", fileobj=None, **kwargs): - """Open uncompressed tar archive name for reading or writing. - """ - if mode not in ("r", "a", "w", "x"): - raise ValueError("mode must be 'r', 'a', 'w' or 'x'") - return cls(name, mode, fileobj, **kwargs) - - @classmethod - def gzopen(cls, name, mode="r", fileobj=None, compresslevel=9, **kwargs): - """Open gzip compressed tar archive name for reading or writing. - Appending is not allowed. - """ - if mode not in ("r", "w", "x"): - raise ValueError("mode must be 'r', 'w' or 'x'") - - try: - from gzip import GzipFile - except ImportError: - raise CompressionError("gzip module is not available") from None - - try: - fileobj = GzipFile(name, mode + "b", compresslevel, fileobj) - except OSError as e: - if fileobj is not None and mode == 'r': - raise ReadError("not a gzip file") from e - raise - - try: - t = cls.taropen(name, mode, fileobj, **kwargs) - except OSError as e: - fileobj.close() - if mode == 'r': - raise ReadError("not a gzip file") from e - raise - except: - fileobj.close() - raise - t._extfileobj = False - return t - - @classmethod - def bz2open(cls, name, mode="r", fileobj=None, compresslevel=9, **kwargs): - """Open bzip2 compressed tar archive name for reading or writing. - Appending is not allowed. - """ - if mode not in ("r", "w", "x"): - raise ValueError("mode must be 'r', 'w' or 'x'") - - try: - from bz2 import BZ2File - except ImportError: - raise CompressionError("bz2 module is not available") from None - - fileobj = BZ2File(fileobj or name, mode, compresslevel=compresslevel) - - try: - t = cls.taropen(name, mode, fileobj, **kwargs) - except (OSError, EOFError) as e: - fileobj.close() - if mode == 'r': - raise ReadError("not a bzip2 file") from e - raise - except: - fileobj.close() - raise - t._extfileobj = False - return t - - @classmethod - def xzopen(cls, name, mode="r", fileobj=None, preset=None, **kwargs): - """Open lzma compressed tar archive name for reading or writing. - Appending is not allowed. - """ - if mode not in ("r", "w", "x"): - raise ValueError("mode must be 'r', 'w' or 'x'") - - try: - from lzma import LZMAFile, LZMAError - except ImportError: - raise CompressionError("lzma module is not available") from None - - fileobj = LZMAFile(fileobj or name, mode, preset=preset) - - try: - t = cls.taropen(name, mode, fileobj, **kwargs) - except (LZMAError, EOFError) as e: - fileobj.close() - if mode == 'r': - raise ReadError("not an lzma file") from e - raise - except: - fileobj.close() - raise - t._extfileobj = False - return t - - # All *open() methods are registered here. - OPEN_METH = { - "tar": "taropen", # uncompressed tar - "gz": "gzopen", # gzip compressed tar - "bz2": "bz2open", # bzip2 compressed tar - "xz": "xzopen" # lzma compressed tar - } - - #-------------------------------------------------------------------------- - # The public methods which TarFile provides: - - def close(self): - """Close the TarFile. In write-mode, two finishing zero blocks are - appended to the archive. - """ - if self.closed: - return - - self.closed = True - try: - if self.mode in ("a", "w", "x"): - self.fileobj.write(NUL * (BLOCKSIZE * 2)) - self.offset += (BLOCKSIZE * 2) - # fill up the end with zero-blocks - # (like option -b20 for tar does) - blocks, remainder = divmod(self.offset, RECORDSIZE) - if remainder > 0: - self.fileobj.write(NUL * (RECORDSIZE - remainder)) - finally: - if not self._extfileobj: - self.fileobj.close() - - def getmember(self, name): - """Return a TarInfo object for member 'name'. If 'name' can not be - found in the archive, KeyError is raised. If a member occurs more - than once in the archive, its last occurrence is assumed to be the - most up-to-date version. - """ - tarinfo = self._getmember(name.rstrip('/')) - if tarinfo is None: - raise KeyError("filename %r not found" % name) - return tarinfo - - def getmembers(self): - """Return the members of the archive as a list of TarInfo objects. The - list has the same order as the members in the archive. - """ - self._check() - if not self._loaded: # if we want to obtain a list of - self._load() # all members, we first have to - # scan the whole archive. - return self.members - - def getnames(self): - """Return the members of the archive as a list of their names. It has - the same order as the list returned by getmembers(). - """ - return [tarinfo.name for tarinfo in self.getmembers()] - - def gettarinfo(self, name=None, arcname=None, fileobj=None): - """Create a TarInfo object from the result of os.stat or equivalent - on an existing file. The file is either named by 'name', or - specified as a file object 'fileobj' with a file descriptor. If - given, 'arcname' specifies an alternative name for the file in the - archive, otherwise, the name is taken from the 'name' attribute of - 'fileobj', or the 'name' argument. The name should be a text - string. - """ - self._check("awx") - - # When fileobj is given, replace name by - # fileobj's real name. - if fileobj is not None: - name = fileobj.name - - # Building the name of the member in the archive. - # Backward slashes are converted to forward slashes, - # Absolute paths are turned to relative paths. - if arcname is None: - arcname = name - drv, arcname = os.path.splitdrive(arcname) - arcname = arcname.replace(os.sep, "/") - arcname = arcname.lstrip("/") - - # Now, fill the TarInfo object with - # information specific for the file. - tarinfo = self.tarinfo() - tarinfo._tarfile = self # To be removed in 3.16. - - # Use os.stat or os.lstat, depending on if symlinks shall be resolved. - if fileobj is None: - if not self.dereference: - statres = os.lstat(name) - else: - statres = os.stat(name) - else: - statres = os.fstat(fileobj.fileno()) - linkname = "" - - stmd = statres.st_mode - if stat.S_ISREG(stmd): - inode = (statres.st_ino, statres.st_dev) - if not self.dereference and statres.st_nlink > 1 and \ - inode in self.inodes and arcname != self.inodes[inode]: - # Is it a hardlink to an already - # archived file? - type = LNKTYPE - linkname = self.inodes[inode] - else: - # The inode is added only if its valid. - # For win32 it is always 0. - type = REGTYPE - if inode[0]: - self.inodes[inode] = arcname - elif stat.S_ISDIR(stmd): - type = DIRTYPE - elif stat.S_ISFIFO(stmd): - type = FIFOTYPE - elif stat.S_ISLNK(stmd): - type = SYMTYPE - linkname = os.readlink(name) - elif stat.S_ISCHR(stmd): - type = CHRTYPE - elif stat.S_ISBLK(stmd): - type = BLKTYPE - else: - return None - - # Fill the TarInfo object with all - # information we can get. - tarinfo.name = arcname - tarinfo.mode = stmd - tarinfo.uid = statres.st_uid - tarinfo.gid = statres.st_gid - if type == REGTYPE: - tarinfo.size = statres.st_size - else: - tarinfo.size = 0 - tarinfo.mtime = statres.st_mtime - tarinfo.type = type - tarinfo.linkname = linkname - if pwd: - try: - tarinfo.uname = pwd.getpwuid(tarinfo.uid)[0] - except KeyError: - pass - if grp: - try: - tarinfo.gname = grp.getgrgid(tarinfo.gid)[0] - except KeyError: - pass - - if type in (CHRTYPE, BLKTYPE): - if hasattr(os, "major") and hasattr(os, "minor"): - tarinfo.devmajor = os.major(statres.st_rdev) - tarinfo.devminor = os.minor(statres.st_rdev) - return tarinfo - - def list(self, verbose=True, *, members=None): - """Print a table of contents to sys.stdout. If 'verbose' is False, only - the names of the members are printed. If it is True, an 'ls -l'-like - output is produced. 'members' is optional and must be a subset of the - list returned by getmembers(). - """ - # Convert tarinfo type to stat type. - type2mode = {REGTYPE: stat.S_IFREG, SYMTYPE: stat.S_IFLNK, - FIFOTYPE: stat.S_IFIFO, CHRTYPE: stat.S_IFCHR, - DIRTYPE: stat.S_IFDIR, BLKTYPE: stat.S_IFBLK} - self._check() - - if members is None: - members = self - for tarinfo in members: - if verbose: - if tarinfo.mode is None: - _safe_print("??????????") - else: - modetype = type2mode.get(tarinfo.type, 0) - _safe_print(stat.filemode(modetype | tarinfo.mode)) - _safe_print("%s/%s" % (tarinfo.uname or tarinfo.uid, - tarinfo.gname or tarinfo.gid)) - if tarinfo.ischr() or tarinfo.isblk(): - _safe_print("%10s" % - ("%d,%d" % (tarinfo.devmajor, tarinfo.devminor))) - else: - _safe_print("%10d" % tarinfo.size) - if tarinfo.mtime is None: - _safe_print("????-??-?? ??:??:??") - else: - _safe_print("%d-%02d-%02d %02d:%02d:%02d" \ - % time.localtime(tarinfo.mtime)[:6]) - - _safe_print(tarinfo.name + ("/" if tarinfo.isdir() else "")) - - if verbose: - if tarinfo.issym(): - _safe_print("-> " + tarinfo.linkname) - if tarinfo.islnk(): - _safe_print("link to " + tarinfo.linkname) - print() - - def add(self, name, arcname=None, recursive=True, *, filter=None): - """Add the file 'name' to the archive. 'name' may be any type of file - (directory, fifo, symbolic link, etc.). If given, 'arcname' - specifies an alternative name for the file in the archive. - Directories are added recursively by default. This can be avoided by - setting 'recursive' to False. 'filter' is a function - that expects a TarInfo object argument and returns the changed - TarInfo object, if it returns None the TarInfo object will be - excluded from the archive. - """ - self._check("awx") - - if arcname is None: - arcname = name - - # Skip if somebody tries to archive the archive... - if self.name is not None and os.path.abspath(name) == self.name: - self._dbg(2, "tarfile: Skipped %r" % name) - return - - self._dbg(1, name) - - # Create a TarInfo object from the file. - tarinfo = self.gettarinfo(name, arcname) - - if tarinfo is None: - self._dbg(1, "tarfile: Unsupported type %r" % name) - return - - # Change or exclude the TarInfo object. - if filter is not None: - tarinfo = filter(tarinfo) - if tarinfo is None: - self._dbg(2, "tarfile: Excluded %r" % name) - return - - # Append the tar header and data to the archive. - if tarinfo.isreg(): - with bltn_open(name, "rb") as f: - self.addfile(tarinfo, f) - - elif tarinfo.isdir(): - self.addfile(tarinfo) - if recursive: - for f in sorted(os.listdir(name)): - self.add(os.path.join(name, f), os.path.join(arcname, f), - recursive, filter=filter) - - else: - self.addfile(tarinfo) - - def addfile(self, tarinfo, fileobj=None): - """Add the TarInfo object 'tarinfo' to the archive. If 'tarinfo' represents - a non zero-size regular file, the 'fileobj' argument should be a binary file, - and tarinfo.size bytes are read from it and added to the archive. - You can create TarInfo objects directly, or by using gettarinfo(). - """ - self._check("awx") - - if fileobj is None and tarinfo.isreg() and tarinfo.size != 0: - raise ValueError("fileobj not provided for non zero-size regular file") - - tarinfo = copy.copy(tarinfo) - - buf = tarinfo.tobuf(self.format, self.encoding, self.errors) - self.fileobj.write(buf) - self.offset += len(buf) - bufsize=self.copybufsize - # If there's data to follow, append it. - if fileobj is not None: - copyfileobj(fileobj, self.fileobj, tarinfo.size, bufsize=bufsize) - blocks, remainder = divmod(tarinfo.size, BLOCKSIZE) - if remainder > 0: - self.fileobj.write(NUL * (BLOCKSIZE - remainder)) - blocks += 1 - self.offset += blocks * BLOCKSIZE - - self.members.append(tarinfo) - - def _get_filter_function(self, filter): - if filter is None: - filter = self.extraction_filter - if filter is None: - import warnings - warnings.warn( - 'Python 3.14 will, by default, filter extracted tar ' - + 'archives and reject files or modify their metadata. ' - + 'Use the filter argument to control this behavior.', - DeprecationWarning, stacklevel=3) - return fully_trusted_filter - if isinstance(filter, str): - raise TypeError( - 'String names are not supported for ' - + 'TarFile.extraction_filter. Use a function such as ' - + 'tarfile.data_filter directly.') - return filter - if callable(filter): - return filter - try: - return _NAMED_FILTERS[filter] - except KeyError: - raise ValueError(f"filter {filter!r} not found") from None - - def extractall(self, path=".", members=None, *, numeric_owner=False, - filter=None): - """Extract all members from the archive to the current working - directory and set owner, modification time and permissions on - directories afterwards. 'path' specifies a different directory - to extract to. 'members' is optional and must be a subset of the - list returned by getmembers(). If 'numeric_owner' is True, only - the numbers for user/group names are used and not the names. - - The 'filter' function will be called on each member just - before extraction. - It can return a changed TarInfo or None to skip the member. - String names of common filters are accepted. - """ - directories = [] - - filter_function = self._get_filter_function(filter) - if members is None: - members = self - - for member in members: - tarinfo = self._get_extract_tarinfo(member, filter_function, path) - if tarinfo is None: - continue - if tarinfo.isdir(): - # For directories, delay setting attributes until later, - # since permissions can interfere with extraction and - # extracting contents can reset mtime. - directories.append(tarinfo) - self._extract_one(tarinfo, path, set_attrs=not tarinfo.isdir(), - numeric_owner=numeric_owner) - - # Reverse sort directories. - directories.sort(key=lambda a: a.name, reverse=True) - - # Set correct owner, mtime and filemode on directories. - for tarinfo in directories: - dirpath = os.path.join(path, tarinfo.name) - try: - self.chown(tarinfo, dirpath, numeric_owner=numeric_owner) - self.utime(tarinfo, dirpath) - self.chmod(tarinfo, dirpath) - except ExtractError as e: - self._handle_nonfatal_error(e) - - def extract(self, member, path="", set_attrs=True, *, numeric_owner=False, - filter=None): - """Extract a member from the archive to the current working directory, - using its full name. Its file information is extracted as accurately - as possible. 'member' may be a filename or a TarInfo object. You can - specify a different directory using 'path'. File attributes (owner, - mtime, mode) are set unless 'set_attrs' is False. If 'numeric_owner' - is True, only the numbers for user/group names are used and not - the names. - - The 'filter' function will be called before extraction. - It can return a changed TarInfo or None to skip the member. - String names of common filters are accepted. - """ - filter_function = self._get_filter_function(filter) - tarinfo = self._get_extract_tarinfo(member, filter_function, path) - if tarinfo is not None: - self._extract_one(tarinfo, path, set_attrs, numeric_owner) - - def _get_extract_tarinfo(self, member, filter_function, path): - """Get filtered TarInfo (or None) from member, which might be a str""" - if isinstance(member, str): - tarinfo = self.getmember(member) - else: - tarinfo = member - - unfiltered = tarinfo - try: - tarinfo = filter_function(tarinfo, path) - except (OSError, FilterError) as e: - self._handle_fatal_error(e) - except ExtractError as e: - self._handle_nonfatal_error(e) - if tarinfo is None: - self._dbg(2, "tarfile: Excluded %r" % unfiltered.name) - return None - # Prepare the link target for makelink(). - if tarinfo.islnk(): - tarinfo = copy.copy(tarinfo) - tarinfo._link_target = os.path.join(path, tarinfo.linkname) - return tarinfo - - def _extract_one(self, tarinfo, path, set_attrs, numeric_owner): - """Extract from filtered tarinfo to disk""" - self._check("r") - - try: - self._extract_member(tarinfo, os.path.join(path, tarinfo.name), - set_attrs=set_attrs, - numeric_owner=numeric_owner) - except OSError as e: - self._handle_fatal_error(e) - except ExtractError as e: - self._handle_nonfatal_error(e) - - def _handle_nonfatal_error(self, e): - """Handle non-fatal error (ExtractError) according to errorlevel""" - if self.errorlevel > 1: - raise - else: - self._dbg(1, "tarfile: %s" % e) - - def _handle_fatal_error(self, e): - """Handle "fatal" error according to self.errorlevel""" - if self.errorlevel > 0: - raise - elif isinstance(e, OSError): - if e.filename is None: - self._dbg(1, "tarfile: %s" % e.strerror) - else: - self._dbg(1, "tarfile: %s %r" % (e.strerror, e.filename)) - else: - self._dbg(1, "tarfile: %s %s" % (type(e).__name__, e)) - - def extractfile(self, member): - """Extract a member from the archive as a file object. 'member' may be - a filename or a TarInfo object. If 'member' is a regular file or - a link, an io.BufferedReader object is returned. For all other - existing members, None is returned. If 'member' does not appear - in the archive, KeyError is raised. - """ - self._check("r") - - if isinstance(member, str): - tarinfo = self.getmember(member) - else: - tarinfo = member - - if tarinfo.isreg() or tarinfo.type not in SUPPORTED_TYPES: - # Members with unknown types are treated as regular files. - return self.fileobject(self, tarinfo) - - elif tarinfo.islnk() or tarinfo.issym(): - if isinstance(self.fileobj, _Stream): - # A small but ugly workaround for the case that someone tries - # to extract a (sym)link as a file-object from a non-seekable - # stream of tar blocks. - raise StreamError("cannot extract (sym)link as file object") - else: - # A (sym)link's file object is its target's file object. - return self.extractfile(self._find_link_target(tarinfo)) - else: - # If there's no data associated with the member (directory, chrdev, - # blkdev, etc.), return None instead of a file object. - return None - - def _extract_member(self, tarinfo, targetpath, set_attrs=True, - numeric_owner=False): - """Extract the TarInfo object tarinfo to a physical - file called targetpath. - """ - # Fetch the TarInfo object for the given name - # and build the destination pathname, replacing - # forward slashes to platform specific separators. - targetpath = targetpath.rstrip("/") - targetpath = targetpath.replace("/", os.sep) - - # Create all upper directories. - upperdirs = os.path.dirname(targetpath) - if upperdirs and not os.path.exists(upperdirs): - # Create directories that are not part of the archive with - # default permissions. - os.makedirs(upperdirs, exist_ok=True) - - if tarinfo.islnk() or tarinfo.issym(): - self._dbg(1, "%s -> %s" % (tarinfo.name, tarinfo.linkname)) - else: - self._dbg(1, tarinfo.name) - - if tarinfo.isreg(): - self.makefile(tarinfo, targetpath) - elif tarinfo.isdir(): - self.makedir(tarinfo, targetpath) - elif tarinfo.isfifo(): - self.makefifo(tarinfo, targetpath) - elif tarinfo.ischr() or tarinfo.isblk(): - self.makedev(tarinfo, targetpath) - elif tarinfo.islnk() or tarinfo.issym(): - self.makelink(tarinfo, targetpath) - elif tarinfo.type not in SUPPORTED_TYPES: - self.makeunknown(tarinfo, targetpath) - else: - self.makefile(tarinfo, targetpath) - - if set_attrs: - self.chown(tarinfo, targetpath, numeric_owner) - if not tarinfo.issym(): - self.chmod(tarinfo, targetpath) - self.utime(tarinfo, targetpath) - - #-------------------------------------------------------------------------- - # Below are the different file methods. They are called via - # _extract_member() when extract() is called. They can be replaced in a - # subclass to implement other functionality. - - def makedir(self, tarinfo, targetpath): - """Make a directory called targetpath. - """ - try: - if tarinfo.mode is None: - # Use the system's default mode - os.mkdir(targetpath) - else: - # Use a safe mode for the directory, the real mode is set - # later in _extract_member(). - os.mkdir(targetpath, 0o700) - except FileExistsError: - if not os.path.isdir(targetpath): - raise - - def makefile(self, tarinfo, targetpath): - """Make a file called targetpath. - """ - source = self.fileobj - source.seek(tarinfo.offset_data) - bufsize = self.copybufsize - with bltn_open(targetpath, "wb") as target: - if tarinfo.sparse is not None: - for offset, size in tarinfo.sparse: - target.seek(offset) - copyfileobj(source, target, size, ReadError, bufsize) - target.seek(tarinfo.size) - target.truncate() - else: - copyfileobj(source, target, tarinfo.size, ReadError, bufsize) - - def makeunknown(self, tarinfo, targetpath): - """Make a file from a TarInfo object with an unknown type - at targetpath. - """ - self.makefile(tarinfo, targetpath) - self._dbg(1, "tarfile: Unknown file type %r, " \ - "extracted as regular file." % tarinfo.type) - - def makefifo(self, tarinfo, targetpath): - """Make a fifo called targetpath. - """ - if hasattr(os, "mkfifo"): - os.mkfifo(targetpath) - else: - raise ExtractError("fifo not supported by system") - - def makedev(self, tarinfo, targetpath): - """Make a character or block device called targetpath. - """ - if not hasattr(os, "mknod") or not hasattr(os, "makedev"): - raise ExtractError("special devices not supported by system") - - mode = tarinfo.mode - if mode is None: - # Use mknod's default - mode = 0o600 - if tarinfo.isblk(): - mode |= stat.S_IFBLK - else: - mode |= stat.S_IFCHR - - os.mknod(targetpath, mode, - os.makedev(tarinfo.devmajor, tarinfo.devminor)) - - def makelink(self, tarinfo, targetpath): - """Make a (symbolic) link called targetpath. If it cannot be created - (platform limitation), we try to make a copy of the referenced file - instead of a link. - """ - try: - # For systems that support symbolic and hard links. - if tarinfo.issym(): - if os.path.lexists(targetpath): - # Avoid FileExistsError on following os.symlink. - os.unlink(targetpath) - os.symlink(tarinfo.linkname, targetpath) - else: - if os.path.exists(tarinfo._link_target): - os.link(tarinfo._link_target, targetpath) - else: - self._extract_member(self._find_link_target(tarinfo), - targetpath) - except symlink_exception: - try: - self._extract_member(self._find_link_target(tarinfo), - targetpath) - except KeyError: - raise ExtractError("unable to resolve link inside archive") from None - - def chown(self, tarinfo, targetpath, numeric_owner): - """Set owner of targetpath according to tarinfo. If numeric_owner - is True, use .gid/.uid instead of .gname/.uname. If numeric_owner - is False, fall back to .gid/.uid when the search based on name - fails. - """ - if hasattr(os, "geteuid") and os.geteuid() == 0: - # We have to be root to do so. - g = tarinfo.gid - u = tarinfo.uid - if not numeric_owner: - try: - if grp and tarinfo.gname: - g = grp.getgrnam(tarinfo.gname)[2] - except KeyError: - pass - try: - if pwd and tarinfo.uname: - u = pwd.getpwnam(tarinfo.uname)[2] - except KeyError: - pass - if g is None: - g = -1 - if u is None: - u = -1 - try: - if tarinfo.issym() and hasattr(os, "lchown"): - os.lchown(targetpath, u, g) - else: - os.chown(targetpath, u, g) - except (OSError, OverflowError) as e: - # OverflowError can be raised if an ID doesn't fit in 'id_t' - raise ExtractError("could not change owner") from e - - def chmod(self, tarinfo, targetpath): - """Set file permissions of targetpath according to tarinfo. - """ - if tarinfo.mode is None: - return - try: - os.chmod(targetpath, tarinfo.mode) - except OSError as e: - raise ExtractError("could not change mode") from e - - def utime(self, tarinfo, targetpath): - """Set modification time of targetpath according to tarinfo. - """ - mtime = tarinfo.mtime - if mtime is None: - return - if not hasattr(os, 'utime'): - return - try: - os.utime(targetpath, (mtime, mtime)) - except OSError as e: - raise ExtractError("could not change modification time") from e - - #-------------------------------------------------------------------------- - def next(self): - """Return the next member of the archive as a TarInfo object, when - TarFile is opened for reading. Return None if there is no more - available. - """ - self._check("ra") - if self.firstmember is not None: - m = self.firstmember - self.firstmember = None - return m - - # Advance the file pointer. - if self.offset != self.fileobj.tell(): - if self.offset == 0: - return None - self.fileobj.seek(self.offset - 1) - if not self.fileobj.read(1): - raise ReadError("unexpected end of data") - - # Read the next block. - tarinfo = None - while True: - try: - tarinfo = self.tarinfo.fromtarfile(self) - except EOFHeaderError as e: - if self.ignore_zeros: - self._dbg(2, "0x%X: %s" % (self.offset, e)) - self.offset += BLOCKSIZE - continue - except InvalidHeaderError as e: - if self.ignore_zeros: - self._dbg(2, "0x%X: %s" % (self.offset, e)) - self.offset += BLOCKSIZE - continue - elif self.offset == 0: - raise ReadError(str(e)) from None - except EmptyHeaderError: - if self.offset == 0: - raise ReadError("empty file") from None - except TruncatedHeaderError as e: - if self.offset == 0: - raise ReadError(str(e)) from None - except SubsequentHeaderError as e: - raise ReadError(str(e)) from None - except Exception as e: - try: - import zlib - if isinstance(e, zlib.error): - raise ReadError(f'zlib error: {e}') from None - else: - raise e - except ImportError: - raise e - break - - if tarinfo is not None: - # if streaming the file we do not want to cache the tarinfo - if not self.stream: - self.members.append(tarinfo) - else: - self._loaded = True - - return tarinfo - - #-------------------------------------------------------------------------- - # Little helper methods: - - def _getmember(self, name, tarinfo=None, normalize=False): - """Find an archive member by name from bottom to top. - If tarinfo is given, it is used as the starting point. - """ - # Ensure that all members have been loaded. - members = self.getmembers() - - # Limit the member search list up to tarinfo. - skipping = False - if tarinfo is not None: - try: - index = members.index(tarinfo) - except ValueError: - # The given starting point might be a (modified) copy. - # We'll later skip members until we find an equivalent. - skipping = True - else: - # Happy fast path - members = members[:index] - - if normalize: - name = os.path.normpath(name) - - for member in reversed(members): - if skipping: - if tarinfo.offset == member.offset: - skipping = False - continue - if normalize: - member_name = os.path.normpath(member.name) - else: - member_name = member.name - - if name == member_name: - return member - - if skipping: - # Starting point was not found - raise ValueError(tarinfo) - - def _load(self): - """Read through the entire archive file and look for readable - members. This should not run if the file is set to stream. - """ - if not self.stream: - while self.next() is not None: - pass - self._loaded = True - - def _check(self, mode=None): - """Check if TarFile is still open, and if the operation's mode - corresponds to TarFile's mode. - """ - if self.closed: - raise OSError("%s is closed" % self.__class__.__name__) - if mode is not None and self.mode not in mode: - raise OSError("bad operation for mode %r" % self.mode) - - def _find_link_target(self, tarinfo): - """Find the target member of a symlink or hardlink member in the - archive. - """ - if tarinfo.issym(): - # Always search the entire archive. - linkname = "/".join(filter(None, (os.path.dirname(tarinfo.name), tarinfo.linkname))) - limit = None - else: - # Search the archive before the link, because a hard link is - # just a reference to an already archived file. - linkname = tarinfo.linkname - limit = tarinfo - - member = self._getmember(linkname, tarinfo=limit, normalize=True) - if member is None: - raise KeyError("linkname %r not found" % linkname) - return member - - def __iter__(self): - """Provide an iterator object. - """ - if self._loaded: - yield from self.members - return - - # Yield items using TarFile's next() method. - # When all members have been read, set TarFile as _loaded. - index = 0 - # Fix for SF #1100429: Under rare circumstances it can - # happen that getmembers() is called during iteration, - # which will have already exhausted the next() method. - if self.firstmember is not None: - tarinfo = self.next() - index += 1 - yield tarinfo - - while True: - if index < len(self.members): - tarinfo = self.members[index] - elif not self._loaded: - tarinfo = self.next() - if not tarinfo: - self._loaded = True - return - else: - return - index += 1 - yield tarinfo - - def _dbg(self, level, msg): - """Write debugging output to sys.stderr. - """ - if level <= self.debug: - print(msg, file=sys.stderr) - - def __enter__(self): - self._check() - return self - - def __exit__(self, type, value, traceback): - if type is None: - self.close() - else: - # An exception occurred. We must not call close() because - # it would try to write end-of-archive blocks and padding. - if not self._extfileobj: - self.fileobj.close() - self.closed = True - -#-------------------- -# exported functions -#-------------------- - -def is_tarfile(name): - """Return True if name points to a tar archive that we - are able to handle, else return False. - - 'name' should be a string, file, or file-like object. - """ - try: - if hasattr(name, "read"): - pos = name.tell() - t = open(fileobj=name) - name.seek(pos) - else: - t = open(name) - t.close() - return True - except TarError: - return False - -open = TarFile.open - - -def main(): - import argparse - - description = 'A simple command-line interface for tarfile module.' - parser = argparse.ArgumentParser(description=description) - parser.add_argument('-v', '--verbose', action='store_true', default=False, - help='Verbose output') - parser.add_argument('--filter', metavar='', - choices=_NAMED_FILTERS, - help='Filter for extraction') - - group = parser.add_mutually_exclusive_group(required=True) - group.add_argument('-l', '--list', metavar='', - help='Show listing of a tarfile') - group.add_argument('-e', '--extract', nargs='+', - metavar=('', ''), - help='Extract tarfile into target dir') - group.add_argument('-c', '--create', nargs='+', - metavar=('', ''), - help='Create tarfile from sources') - group.add_argument('-t', '--test', metavar='', - help='Test if a tarfile is valid') - - args = parser.parse_args() - - if args.filter and args.extract is None: - parser.exit(1, '--filter is only valid for extraction\n') - - if args.test is not None: - src = args.test - if is_tarfile(src): - with open(src, 'r') as tar: - tar.getmembers() - print(tar.getmembers(), file=sys.stderr) - if args.verbose: - print('{!r} is a tar archive.'.format(src)) - else: - parser.exit(1, '{!r} is not a tar archive.\n'.format(src)) - - elif args.list is not None: - src = args.list - if is_tarfile(src): - with TarFile.open(src, 'r:*') as tf: - tf.list(verbose=args.verbose) - else: - parser.exit(1, '{!r} is not a tar archive.\n'.format(src)) - - elif args.extract is not None: - if len(args.extract) == 1: - src = args.extract[0] - curdir = os.curdir - elif len(args.extract) == 2: - src, curdir = args.extract - else: - parser.exit(1, parser.format_help()) - - if is_tarfile(src): - with TarFile.open(src, 'r:*') as tf: - tf.extractall(path=curdir, filter=args.filter) - if args.verbose: - if curdir == '.': - msg = '{!r} file is extracted.'.format(src) - else: - msg = ('{!r} file is extracted ' - 'into {!r} directory.').format(src, curdir) - print(msg) - else: - parser.exit(1, '{!r} is not a tar archive.\n'.format(src)) - - elif args.create is not None: - tar_name = args.create.pop(0) - _, ext = os.path.splitext(tar_name) - compressions = { - # gz - '.gz': 'gz', - '.tgz': 'gz', - # xz - '.xz': 'xz', - '.txz': 'xz', - # bz2 - '.bz2': 'bz2', - '.tbz': 'bz2', - '.tbz2': 'bz2', - '.tb2': 'bz2', - } - tar_mode = 'w:' + compressions[ext] if ext in compressions else 'w' - tar_files = args.create - - with TarFile.open(tar_name, tar_mode) as tf: - for file_name in tar_files: - tf.add(file_name) - - if args.verbose: - print('{!r} file created.'.format(tar_name)) - -if __name__ == '__main__': - main() diff --git a/lib/backports/tarfile/__main__.py b/lib/backports/tarfile/__main__.py deleted file mode 100644 index daf55090..00000000 --- a/lib/backports/tarfile/__main__.py +++ /dev/null @@ -1,5 +0,0 @@ -from . import main - - -if __name__ == '__main__': - main() diff --git a/lib/backports/tarfile/compat/py38.py b/lib/backports/tarfile/compat/py38.py deleted file mode 100644 index 20fbbfc1..00000000 --- a/lib/backports/tarfile/compat/py38.py +++ /dev/null @@ -1,24 +0,0 @@ -import sys - - -if sys.version_info < (3, 9): - - def removesuffix(self, suffix): - # suffix='' should not call self[:-0]. - if suffix and self.endswith(suffix): - return self[: -len(suffix)] - else: - return self[:] - - def removeprefix(self, prefix): - if self.startswith(prefix): - return self[len(prefix) :] - else: - return self[:] -else: - - def removesuffix(self, suffix): - return self.removesuffix(suffix) - - def removeprefix(self, prefix): - return self.removeprefix(prefix) diff --git a/lib/bleach/__init__.py b/lib/bleach/__init__.py index 942987d9..aec2d340 100644 --- a/lib/bleach/__init__.py +++ b/lib/bleach/__init__.py @@ -1,125 +1,401 @@ -from bleach.linkifier import ( - DEFAULT_CALLBACKS, - Linker, -) -from bleach.sanitizer import ( - ALLOWED_ATTRIBUTES, - ALLOWED_PROTOCOLS, - ALLOWED_TAGS, - Cleaner, -) +# -*- coding: utf-8 -*- + +from __future__ import unicode_literals +import logging +import re + +import html5lib +from html5lib.sanitizer import HTMLSanitizer +from html5lib.serializer.htmlserializer import HTMLSerializer + +from . import callbacks as linkify_callbacks +from .encoding import force_unicode +from .sanitizer import BleachSanitizer -# yyyymmdd -__releasedate__ = "20241029" -# x.y.z or x.y.z.dev0 -- semver -__version__ = "6.2.0" +VERSION = (1, 4, 2) +__version__ = '.'.join([str(n) for n in VERSION]) + +__all__ = ['clean', 'linkify'] + +log = logging.getLogger('bleach') + +ALLOWED_TAGS = [ + 'a', + 'abbr', + 'acronym', + 'b', + 'blockquote', + 'code', + 'em', + 'i', + 'li', + 'ol', + 'strong', + 'ul', +] + +ALLOWED_ATTRIBUTES = { + 'a': ['href', 'title'], + 'abbr': ['title'], + 'acronym': ['title'], +} + +ALLOWED_STYLES = [] + +ALLOWED_PROTOCOLS = ['http', 'https', 'mailto'] + +TLDS = """ac ad ae aero af ag ai al am an ao aq ar arpa as asia at au aw ax az + ba bb bd be bf bg bh bi biz bj bm bn bo br bs bt bv bw by bz ca cat + cc cd cf cg ch ci ck cl cm cn co com coop cr cu cv cx cy cz de dj dk + dm do dz ec edu ee eg er es et eu fi fj fk fm fo fr ga gb gd ge gf gg + gh gi gl gm gn gov gp gq gr gs gt gu gw gy hk hm hn hr ht hu id ie il + im in info int io iq ir is it je jm jo jobs jp ke kg kh ki km kn kp + kr kw ky kz la lb lc li lk lr ls lt lu lv ly ma mc md me mg mh mil mk + ml mm mn mo mobi mp mq mr ms mt mu museum mv mw mx my mz na name nc ne + net nf ng ni nl no np nr nu nz om org pa pe pf pg ph pk pl pm pn post + pr pro ps pt pw py qa re ro rs ru rw sa sb sc sd se sg sh si sj sk sl + sm sn so sr ss st su sv sx sy sz tc td tel tf tg th tj tk tl tm tn to + tp tr travel tt tv tw tz ua ug uk us uy uz va vc ve vg vi vn vu wf ws + xn xxx ye yt yu za zm zw""".split() + +# Make sure that .com doesn't get matched by .co first +TLDS.reverse() + +PROTOCOLS = HTMLSanitizer.acceptable_protocols + +url_re = re.compile( + r"""\(* # Match any opening parentheses. + \b(?"]*)? + # /path/zz (excluding "unsafe" chars from RFC 1738, + # except for # and ~, which happen in practice) + """.format('|'.join(PROTOCOLS), '|'.join(TLDS)), + re.IGNORECASE | re.VERBOSE | re.UNICODE) + +proto_re = re.compile(r'^[\w-]+:/{0,3}', re.IGNORECASE) + +punct_re = re.compile(r'([\.,]+)$') + +email_re = re.compile( + r"""(? tag replaced by the text within it + adj = replace_nodes(tree, _text, node, + current_child) + current_child -= 1 + # pull back current_child by 1 to scan the + # new nodes again. + else: + text = force_unicode(attrs.pop('_text')) + for attr_key, attr_val in attrs.items(): + node.set(attr_key, attr_val) + + for n in reversed(list(node)): + node.remove(n) + text = parser.parseFragment(text) + node.text = text.text + for n in text: + node.append(n) + _seen.add(node) + + elif current_child >= 0: + if node.tag == ETREE_TAG('pre') and skip_pre: + linkify_nodes(node, False) + elif not (node in _seen): + linkify_nodes(node, True) + + current_child += 1 + + def email_repl(match): + addr = match.group(0).replace('"', '"') + link = { + '_text': addr, + 'href': 'mailto:{0!s}'.format(addr), + } + link = apply_callbacks(link, True) + + if link is None: + return addr + + _href = link.pop('href') + _text = link.pop('_text') + + repl = '{2!s}' + attr = '{0!s}="{1!s}"' + attribs = ' '.join(attr.format(k, v) for k, v in link.items()) + return repl.format(_href, attribs, _text) + + def link_repl(match): + url = match.group(0) + open_brackets = close_brackets = 0 + if url.startswith('('): + _wrapping = strip_wrapping_parentheses(url) + url, open_brackets, close_brackets = _wrapping + end = '' + m = re.search(punct_re, url) + if m: + end = m.group(0) + url = url[0:m.start()] + if re.search(proto_re, url): + href = url + else: + href = ''.join(['http://', url]) + + link = { + '_text': url, + 'href': href, + } + + link = apply_callbacks(link, True) + + if link is None: + return '(' * open_brackets + url + ')' * close_brackets + + _text = link.pop('_text') + _href = link.pop('href') + + repl = '{0!s}{3!s}{4!s}{5!s}' + attr = '{0!s}="{1!s}"' + attribs = ' '.join(attr.format(k, v) for k, v in link.items()) + + return repl.format('(' * open_brackets, + _href, attribs, _text, end, + ')' * close_brackets) + + try: + linkify_nodes(forest) + except RuntimeError as e: + # If we hit the max recursion depth, just return what we've got. + log.exception('Probable recursion error: {0!r}'.format(e)) + + return _render(forest) + + +def _render(tree): + """Try rendering as HTML, then XML, then give up.""" + return force_unicode(_serialize(tree)) + + +def _serialize(domtree): + walker = html5lib.treewalkers.getTreeWalker('etree') + stream = walker(domtree) + serializer = HTMLSerializer(quote_attr_values=True, + alphabetical_attributes=True, + omit_optional_tags=False) + return serializer.render(stream) diff --git a/lib/bleach/_vendor/README.rst b/lib/bleach/_vendor/README.rst deleted file mode 100644 index e53aede0..00000000 --- a/lib/bleach/_vendor/README.rst +++ /dev/null @@ -1,61 +0,0 @@ -======================= -Vendored library policy -======================= - -To simplify Bleach development, we're now vendoring certain libraries that -we use. - -Vendored libraries must follow these rules: - -1. Vendored libraries must be pure Python--no compiling. -2. Source code for the libary is included in this directory. -3. License must be included in this repo and in the Bleach distribution. -4. Requirements of the library become requirements of Bleach. -5. No modifications to the library may be made. - - -Adding/Updating a vendored library -================================== - -Way to vendor a library or update a version: - -1. Update ``vendor.txt`` with the library, version, and hash. You can use - `hashin `_. -2. Remove all old files and directories of the old version. -3. Run ``pip_install_vendor.sh`` and check everything it produced in including - the ``.dist-info`` directory and contents. -4. Update the bleach minor version in the next release. - - -Reviewing a change involving a vendored library -=============================================== - -Way to verify a vendored library addition/update: - -1. Pull down the branch. -2. Delete all the old files and directories of the old version. -3. Run ``pip_install_vendor.sh``. -4. Run ``git diff`` and verify there are no changes. - - -NB: the current ``vendor.txt`` was generated with pip 20.2.3, which might be necessary to reproduce the dist-info - - -Removing/Unvendoring a vendored library -======================================= - -A vendored library might be removed for any of the following reasons: - -* it violates the vendoring policy (e.g. an incompatible license - change) -* a suitable replacement is found -* bleach has the resources to test and QA new bleach releases against - multiple versions of the previously vendored library - -To unvendor a library: - -1. Remove the library and its hashes from ``vendor.txt``. -2. Remove library files and directories from this directory. -3. Run ``install_vendor.sh`` and check the previously vendored library including - the ``.dist-info`` directory and contents is not installed. -4. Update the bleach minor version in the next release. diff --git a/lib/bleach/_vendor/html5lib-1.1.dist-info/AUTHORS.rst b/lib/bleach/_vendor/html5lib-1.1.dist-info/AUTHORS.rst deleted file mode 100644 index 90401390..00000000 --- a/lib/bleach/_vendor/html5lib-1.1.dist-info/AUTHORS.rst +++ /dev/null @@ -1,66 +0,0 @@ -Credits -======= - -``html5lib`` is written and maintained by: - -- James Graham -- Sam Sneddon -- Åukasz Langa -- Will Kahn-Greene - - -Patches and suggestions ------------------------ -(In chronological order, by first commit:) - -- Anne van Kesteren -- Lachlan Hunt -- lantis63 -- Sam Ruby -- Thomas Broyer -- Tim Fletcher -- Mark Pilgrim -- Ryan King -- Philip Taylor -- Edward Z. Yang -- fantasai -- Philip Jägenstedt -- Ms2ger -- Mohammad Taha Jahangir -- Andy Wingo -- Andreas Madsack -- Karim Valiev -- Juan Carlos Garcia Segovia -- Mike West -- Marc DM -- Simon Sapin -- Michael[tm] Smith -- Ritwik Gupta -- Marc Abramowitz -- Tony Lopes -- lilbludevil -- Kevin -- Drew Hubl -- Austin Kumbera -- Jim Baker -- Jon Dufresne -- Donald Stufft -- Alex Gaynor -- Nik Nyby -- Jakub Wilk -- Sigmund Cherem -- Gabi Davar -- Florian Mounier -- neumond -- Vitalik Verhovodov -- Kovid Goyal -- Adam Chainz -- John Vandenberg -- Eric Amorde -- Benedikt Morbach -- Jonathan Vanasco -- Tom Most -- Ville Skyttä -- Hugo van Kemenade -- Mark Vasilkov - diff --git a/lib/bleach/_vendor/html5lib-1.1.dist-info/INSTALLER b/lib/bleach/_vendor/html5lib-1.1.dist-info/INSTALLER deleted file mode 100644 index a1b589e3..00000000 --- a/lib/bleach/_vendor/html5lib-1.1.dist-info/INSTALLER +++ /dev/null @@ -1 +0,0 @@ -pip diff --git a/lib/bleach/_vendor/html5lib-1.1.dist-info/METADATA b/lib/bleach/_vendor/html5lib-1.1.dist-info/METADATA deleted file mode 100644 index ee83c1f8..00000000 --- a/lib/bleach/_vendor/html5lib-1.1.dist-info/METADATA +++ /dev/null @@ -1,552 +0,0 @@ -Metadata-Version: 2.1 -Name: html5lib -Version: 1.1 -Summary: HTML parser based on the WHATWG HTML specification -Home-page: https://github.com/html5lib/html5lib-python -Maintainer: James Graham -Maintainer-email: james@hoppipolla.co.uk -License: MIT License -Platform: UNKNOWN -Classifier: Development Status :: 5 - Production/Stable -Classifier: Intended Audience :: Developers -Classifier: License :: OSI Approved :: MIT License -Classifier: Operating System :: OS Independent -Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2 -Classifier: Programming Language :: Python :: 2.7 -Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.5 -Classifier: Programming Language :: Python :: 3.6 -Classifier: Programming Language :: Python :: 3.7 -Classifier: Programming Language :: Python :: 3.8 -Classifier: Programming Language :: Python :: Implementation :: CPython -Classifier: Programming Language :: Python :: Implementation :: PyPy -Classifier: Topic :: Software Development :: Libraries :: Python Modules -Classifier: Topic :: Text Processing :: Markup :: HTML -Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.* -Requires-Dist: six (>=1.9) -Requires-Dist: webencodings -Provides-Extra: all -Requires-Dist: genshi ; extra == 'all' -Requires-Dist: chardet (>=2.2) ; extra == 'all' -Requires-Dist: lxml ; (platform_python_implementation == 'CPython') and extra == 'all' -Provides-Extra: chardet -Requires-Dist: chardet (>=2.2) ; extra == 'chardet' -Provides-Extra: genshi -Requires-Dist: genshi ; extra == 'genshi' -Provides-Extra: lxml -Requires-Dist: lxml ; (platform_python_implementation == 'CPython') and extra == 'lxml' - -html5lib -======== - -.. image:: https://travis-ci.org/html5lib/html5lib-python.svg?branch=master - :target: https://travis-ci.org/html5lib/html5lib-python - - -html5lib is a pure-python library for parsing HTML. It is designed to -conform to the WHATWG HTML specification, as is implemented by all major -web browsers. - - -Usage ------ - -Simple usage follows this pattern: - -.. code-block:: python - - import html5lib - with open("mydocument.html", "rb") as f: - document = html5lib.parse(f) - -or: - -.. code-block:: python - - import html5lib - document = html5lib.parse("

    Hello World!") - -By default, the ``document`` will be an ``xml.etree`` element instance. -Whenever possible, html5lib chooses the accelerated ``ElementTree`` -implementation (i.e. ``xml.etree.cElementTree`` on Python 2.x). - -Two other tree types are supported: ``xml.dom.minidom`` and -``lxml.etree``. To use an alternative format, specify the name of -a treebuilder: - -.. code-block:: python - - import html5lib - with open("mydocument.html", "rb") as f: - lxml_etree_document = html5lib.parse(f, treebuilder="lxml") - -When using with ``urllib2`` (Python 2), the charset from HTTP should be -pass into html5lib as follows: - -.. code-block:: python - - from contextlib import closing - from urllib2 import urlopen - import html5lib - - with closing(urlopen("http://example.com/")) as f: - document = html5lib.parse(f, transport_encoding=f.info().getparam("charset")) - -When using with ``urllib.request`` (Python 3), the charset from HTTP -should be pass into html5lib as follows: - -.. code-block:: python - - from urllib.request import urlopen - import html5lib - - with urlopen("http://example.com/") as f: - document = html5lib.parse(f, transport_encoding=f.info().get_content_charset()) - -To have more control over the parser, create a parser object explicitly. -For instance, to make the parser raise exceptions on parse errors, use: - -.. code-block:: python - - import html5lib - with open("mydocument.html", "rb") as f: - parser = html5lib.HTMLParser(strict=True) - document = parser.parse(f) - -When you're instantiating parser objects explicitly, pass a treebuilder -class as the ``tree`` keyword argument to use an alternative document -format: - -.. code-block:: python - - import html5lib - parser = html5lib.HTMLParser(tree=html5lib.getTreeBuilder("dom")) - minidom_document = parser.parse("

    Hello World!") - -More documentation is available at https://html5lib.readthedocs.io/. - - -Installation ------------- - -html5lib works on CPython 2.7+, CPython 3.5+ and PyPy. To install: - -.. code-block:: bash - - $ pip install html5lib - -The goal is to support a (non-strict) superset of the versions that `pip -supports -`_. - -Optional Dependencies ---------------------- - -The following third-party libraries may be used for additional -functionality: - -- ``lxml`` is supported as a tree format (for both building and - walking) under CPython (but *not* PyPy where it is known to cause - segfaults); - -- ``genshi`` has a treewalker (but not builder); and - -- ``chardet`` can be used as a fallback when character encoding cannot - be determined. - - -Bugs ----- - -Please report any bugs on the `issue tracker -`_. - - -Tests ------ - -Unit tests require the ``pytest`` and ``mock`` libraries and can be -run using the ``py.test`` command in the root directory. - -Test data are contained in a separate `html5lib-tests -`_ repository and included -as a submodule, thus for git checkouts they must be initialized:: - - $ git submodule init - $ git submodule update - -If you have all compatible Python implementations available on your -system, you can run tests on all of them using the ``tox`` utility, -which can be found on PyPI. - - -Questions? ----------- - -There's a mailing list available for support on Google Groups, -`html5lib-discuss `_, -though you may get a quicker response asking on IRC in `#whatwg on -irc.freenode.net `_. - -Change Log ----------- - -1.1 -~~~ - -UNRELEASED - -Breaking changes: - -* Drop support for Python 3.3. (#358) -* Drop support for Python 3.4. (#421) - -Deprecations: - -* Deprecate the ``html5lib`` sanitizer (``html5lib.serialize(sanitize=True)`` and - ``html5lib.filters.sanitizer``). We recommend users migrate to `Bleach - `. Please let us know if Bleach doesn't suffice for your - use. (#443) - -Other changes: - -* Try to import from ``collections.abc`` to remove DeprecationWarning and ensure - ``html5lib`` keeps working in future Python versions. (#403) -* Drop optional ``datrie`` dependency. (#442) - - -1.0.1 -~~~~~ - -Released on December 7, 2017 - -Breaking changes: - -* Drop support for Python 2.6. (#330) (Thank you, Hugo, Will Kahn-Greene!) -* Remove ``utils/spider.py`` (#353) (Thank you, Jon Dufresne!) - -Features: - -* Improve documentation. (#300, #307) (Thank you, Jon Dufresne, Tom Most, - Will Kahn-Greene!) -* Add iframe seamless boolean attribute. (Thank you, Ritwik Gupta!) -* Add itemscope as a boolean attribute. (#194) (Thank you, Jonathan Vanasco!) -* Support Python 3.6. (#333) (Thank you, Jon Dufresne!) -* Add CI support for Windows using AppVeyor. (Thank you, John Vandenberg!) -* Improve testing and CI and add code coverage (#323, #334), (Thank you, Jon - Dufresne, John Vandenberg, Sam Sneddon, Will Kahn-Greene!) -* Semver-compliant version number. - -Bug fixes: - -* Add support for setuptools < 18.5 to support environment markers. (Thank you, - John Vandenberg!) -* Add explicit dependency for six >= 1.9. (Thank you, Eric Amorde!) -* Fix regexes to work with Python 3.7 regex adjustments. (#318, #379) (Thank - you, Benedikt Morbach, Ville Skyttä, Mark Vasilkov!) -* Fix alphabeticalattributes filter namespace bug. (#324) (Thank you, Will - Kahn-Greene!) -* Include license file in generated wheel package. (#350) (Thank you, Jon - Dufresne!) -* Fix annotation-xml typo. (#339) (Thank you, Will Kahn-Greene!) -* Allow uppercase hex chararcters in CSS colour check. (#377) (Thank you, - Komal Dembla, Hugo!) - - -1.0 -~~~ - -Released and unreleased on December 7, 2017. Badly packaged release. - - -0.999999999/1.0b10 -~~~~~~~~~~~~~~~~~~ - -Released on July 15, 2016 - -* Fix attribute order going to the tree builder to be document order - instead of reverse document order(!). - - -0.99999999/1.0b9 -~~~~~~~~~~~~~~~~ - -Released on July 14, 2016 - -* **Added ordereddict as a mandatory dependency on Python 2.6.** - -* Added ``lxml``, ``genshi``, ``datrie``, ``charade``, and ``all`` - extras that will do the right thing based on the specific - interpreter implementation. - -* Now requires the ``mock`` package for the testsuite. - -* Cease supporting DATrie under PyPy. - -* **Remove PullDOM support, as this hasn't ever been properly - tested, doesn't entirely work, and as far as I can tell is - completely unused by anyone.** - -* Move testsuite to ``py.test``. - -* **Fix #124: move to webencodings for decoding the input byte stream; - this makes html5lib compliant with the Encoding Standard, and - introduces a required dependency on webencodings.** - -* **Cease supporting Python 3.2 (in both CPython and PyPy forms).** - -* **Fix comments containing double-dash with lxml 3.5 and above.** - -* **Use scripting disabled by default (as we don't implement - scripting).** - -* **Fix #11, avoiding the XSS bug potentially caused by serializer - allowing attribute values to be escaped out of in old browser versions, - changing the quote_attr_values option on serializer to take one of - three values, "always" (the old True value), "legacy" (the new option, - and the new default), and "spec" (the old False value, and the old - default).** - -* **Fix #72 by rewriting the sanitizer to apply only to treewalkers - (instead of the tokenizer); as such, this will require amending all - callers of it to use it via the treewalker API.** - -* **Drop support of charade, now that chardet is supported once more.** - -* **Replace the charset keyword argument on parse and related methods - with a set of keyword arguments: override_encoding, transport_encoding, - same_origin_parent_encoding, likely_encoding, and default_encoding.** - -* **Move filters._base, treebuilder._base, and treewalkers._base to .base - to clarify their status as public.** - -* **Get rid of the sanitizer package. Merge sanitizer.sanitize into the - sanitizer.htmlsanitizer module and move that to sanitizer. This means - anyone who used sanitizer.sanitize or sanitizer.HTMLSanitizer needs no - code changes.** - -* **Rename treewalkers.lxmletree to .etree_lxml and - treewalkers.genshistream to .genshi to have a consistent API.** - -* Move a whole load of stuff (inputstream, ihatexml, trie, tokenizer, - utils) to be underscore prefixed to clarify their status as private. - - -0.9999999/1.0b8 -~~~~~~~~~~~~~~~ - -Released on September 10, 2015 - -* Fix #195: fix the sanitizer to drop broken URLs (it threw an - exception between 0.9999 and 0.999999). - - -0.999999/1.0b7 -~~~~~~~~~~~~~~ - -Released on July 7, 2015 - -* Fix #189: fix the sanitizer to allow relative URLs again (as it did - prior to 0.9999/1.0b5). - - -0.99999/1.0b6 -~~~~~~~~~~~~~ - -Released on April 30, 2015 - -* Fix #188: fix the sanitizer to not throw an exception when sanitizing - bogus data URLs. - - -0.9999/1.0b5 -~~~~~~~~~~~~ - -Released on April 29, 2015 - -* Fix #153: Sanitizer fails to treat some attributes as URLs. Despite how - this sounds, this has no known security implications. No known version - of IE (5.5 to current), Firefox (3 to current), Safari (6 to current), - Chrome (1 to current), or Opera (12 to current) will run any script - provided in these attributes. - -* Pass error message to the ParseError exception in strict parsing mode. - -* Allow data URIs in the sanitizer, with a whitelist of content-types. - -* Add support for Python implementations that don't support lone - surrogates (read: Jython). Fixes #2. - -* Remove localization of error messages. This functionality was totally - unused (and untested that everything was localizable), so we may as - well follow numerous browsers in not supporting translating technical - strings. - -* Expose treewalkers.pprint as a public API. - -* Add a documentEncoding property to HTML5Parser, fix #121. - - -0.999 -~~~~~ - -Released on December 23, 2013 - -* Fix #127: add work-around for CPython issue #20007: .read(0) on - http.client.HTTPResponse drops the rest of the content. - -* Fix #115: lxml treewalker can now deal with fragments containing, at - their root level, text nodes with non-ASCII characters on Python 2. - - -0.99 -~~~~ - -Released on September 10, 2013 - -* No library changes from 1.0b3; released as 0.99 as pip has changed - behaviour from 1.4 to avoid installing pre-release versions per - PEP 440. - - -1.0b3 -~~~~~ - -Released on July 24, 2013 - -* Removed ``RecursiveTreeWalker`` from ``treewalkers._base``. Any - implementation using it should be moved to - ``NonRecursiveTreeWalker``, as everything bundled with html5lib has - for years. - -* Fix #67 so that ``BufferedStream`` to correctly returns a bytes - object, thereby fixing any case where html5lib is passed a - non-seekable RawIOBase-like object. - - -1.0b2 -~~~~~ - -Released on June 27, 2013 - -* Removed reordering of attributes within the serializer. There is now - an ``alphabetical_attributes`` option which preserves the previous - behaviour through a new filter. This allows attribute order to be - preserved through html5lib if the tree builder preserves order. - -* Removed ``dom2sax`` from DOM treebuilders. It has been replaced by - ``treeadapters.sax.to_sax`` which is generic and supports any - treewalker; it also resolves all known bugs with ``dom2sax``. - -* Fix treewalker assertions on hitting bytes strings on - Python 2. Previous to 1.0b1, treewalkers coped with mixed - bytes/unicode data on Python 2; this reintroduces this prior - behaviour on Python 2. Behaviour is unchanged on Python 3. - - -1.0b1 -~~~~~ - -Released on May 17, 2013 - -* Implementation updated to implement the `HTML specification - `_ as of 5th May - 2013 (`SVN `_ revision r7867). - -* Python 3.2+ supported in a single codebase using the ``six`` library. - -* Removed support for Python 2.5 and older. - -* Removed the deprecated Beautiful Soup 3 treebuilder. - ``beautifulsoup4`` can use ``html5lib`` as a parser instead. Note that - since it doesn't support namespaces, foreign content like SVG and - MathML is parsed incorrectly. - -* Removed ``simpletree`` from the package. The default tree builder is - now ``etree`` (using the ``xml.etree.cElementTree`` implementation if - available, and ``xml.etree.ElementTree`` otherwise). - -* Removed the ``XHTMLSerializer`` as it never actually guaranteed its - output was well-formed XML, and hence provided little of use. - -* Removed default DOM treebuilder, so ``html5lib.treebuilders.dom`` is no - longer supported. ``html5lib.treebuilders.getTreeBuilder("dom")`` will - return the default DOM treebuilder, which uses ``xml.dom.minidom``. - -* Optional heuristic character encoding detection now based on - ``charade`` for Python 2.6 - 3.3 compatibility. - -* Optional ``Genshi`` treewalker support fixed. - -* Many bugfixes, including: - - * #33: null in attribute value breaks XML AttValue; - - * #4: nested, indirect descendant,

    That boolean attribute had no value
    +
    Here's a nonexistent entity: &#foo; (do you see it?)
    +
    This document ends before the entity finishes: > +

    Paragraphs shouldn't contain block display elements, but this one does:

    you see?

    +Multiple values for the same attribute. +
    Here's a table
    +
    +
    This tag contains nothing but whitespace:
    +

    This p tag is cut off by

    the end of the blockquote tag
    +
    Here's a nested table:
    foo
    This table contains bare markup
    + +
    This document contains a surprise doctype
    + +
    Tag name contains Unicode characters
    + + +""" + + +class SoupTest(unittest.TestCase): + + @property + def default_builder(self): + return default_builder + + def soup(self, markup, **kwargs): + """Build a Beautiful Soup object from markup.""" + builder = kwargs.pop('builder', self.default_builder) + return BeautifulSoup(markup, builder=builder, **kwargs) + + def document_for(self, markup, **kwargs): + """Turn an HTML fragment into a document. + + The details depend on the builder. + """ + return self.default_builder(**kwargs).test_fragment_to_document(markup) + + def assertSoupEquals(self, to_parse, compare_parsed_to=None): + builder = self.default_builder + obj = BeautifulSoup(to_parse, builder=builder) + if compare_parsed_to is None: + compare_parsed_to = to_parse + + self.assertEqual(obj.decode(), self.document_for(compare_parsed_to)) + + def assertConnectedness(self, element): + """Ensure that next_element and previous_element are properly + set for all descendants of the given element. + """ + earlier = None + for e in element.descendants: + if earlier: + self.assertEqual(e, earlier.next_element) + self.assertEqual(earlier, e.previous_element) + earlier = e + + def linkage_validator(self, el, _recursive_call=False): + """Ensure proper linkage throughout the document.""" + descendant = None + # Document element should have no previous element or previous sibling. + # It also shouldn't have a next sibling. + if el.parent is None: + assert el.previous_element is None,\ + "Bad previous_element\nNODE: {}\nPREV: {}\nEXPECTED: {}".format( + el, el.previous_element, None + ) + assert el.previous_sibling is None,\ + "Bad previous_sibling\nNODE: {}\nPREV: {}\nEXPECTED: {}".format( + el, el.previous_sibling, None + ) + assert el.next_sibling is None,\ + "Bad next_sibling\nNODE: {}\nNEXT: {}\nEXPECTED: {}".format( + el, el.next_sibling, None + ) + + idx = 0 + child = None + last_child = None + last_idx = len(el.contents) - 1 + for child in el.contents: + descendant = None + + # Parent should link next element to their first child + # That child should have no previous sibling + if idx == 0: + if el.parent is not None: + assert el.next_element is child,\ + "Bad next_element\nNODE: {}\nNEXT: {}\nEXPECTED: {}".format( + el, el.next_element, child + ) + assert child.previous_element is el,\ + "Bad previous_element\nNODE: {}\nPREV: {}\nEXPECTED: {}".format( + child, child.previous_element, el + ) + assert child.previous_sibling is None,\ + "Bad previous_sibling\nNODE: {}\nPREV {}\nEXPECTED: {}".format( + child, child.previous_sibling, None + ) + + # If not the first child, previous index should link as sibling to this index + # Previous element should match the last index or the last bubbled up descendant + else: + assert child.previous_sibling is el.contents[idx - 1],\ + "Bad previous_sibling\nNODE: {}\nPREV {}\nEXPECTED {}".format( + child, child.previous_sibling, el.contents[idx - 1] + ) + assert el.contents[idx - 1].next_sibling is child,\ + "Bad next_sibling\nNODE: {}\nNEXT {}\nEXPECTED {}".format( + el.contents[idx - 1], el.contents[idx - 1].next_sibling, child + ) + + if last_child is not None: + assert child.previous_element is last_child,\ + "Bad previous_element\nNODE: {}\nPREV {}\nEXPECTED {}\nCONTENTS {}".format( + child, child.previous_element, last_child, child.parent.contents + ) + assert last_child.next_element is child,\ + "Bad next_element\nNODE: {}\nNEXT {}\nEXPECTED {}".format( + last_child, last_child.next_element, child + ) + + if isinstance(child, Tag) and child.contents: + descendant = self.linkage_validator(child, True) + # A bubbled up descendant should have no next siblings + assert descendant.next_sibling is None,\ + "Bad next_sibling\nNODE: {}\nNEXT {}\nEXPECTED {}".format( + descendant, descendant.next_sibling, None + ) + + # Mark last child as either the bubbled up descendant or the current child + if descendant is not None: + last_child = descendant + else: + last_child = child + + # If last child, there are non next siblings + if idx == last_idx: + assert child.next_sibling is None,\ + "Bad next_sibling\nNODE: {}\nNEXT {}\nEXPECTED {}".format( + child, child.next_sibling, None + ) + idx += 1 + + child = descendant if descendant is not None else child + if child is None: + child = el + + if not _recursive_call and child is not None: + target = el + while True: + if target is None: + assert child.next_element is None, \ + "Bad next_element\nNODE: {}\nNEXT {}\nEXPECTED {}".format( + child, child.next_element, None + ) + break + elif target.next_sibling is not None: + assert child.next_element is target.next_sibling, \ + "Bad next_element\nNODE: {}\nNEXT {}\nEXPECTED {}".format( + child, child.next_element, target.next_sibling + ) + break + target = target.parent + + # We are done, so nothing to return + return None + else: + # Return the child to the recursive caller + return child + + +class HTMLTreeBuilderSmokeTest(object): + + """A basic test of a treebuilder's competence. + + Any HTML treebuilder, present or future, should be able to pass + these tests. With invalid markup, there's room for interpretation, + and different parsers can handle it differently. But with the + markup in these tests, there's not much room for interpretation. + """ + + def test_empty_element_tags(self): + """Verify that all HTML4 and HTML5 empty element (aka void element) tags + are handled correctly. + """ + for name in [ + 'area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'keygen', 'link', 'menuitem', 'meta', 'param', 'source', 'track', 'wbr', + 'spacer', 'frame' + ]: + soup = self.soup("") + new_tag = soup.new_tag(name) + self.assertEqual(True, new_tag.is_empty_element) + + def test_pickle_and_unpickle_identity(self): + # Pickling a tree, then unpickling it, yields a tree identical + # to the original. + tree = self.soup("foo") + dumped = pickle.dumps(tree, 2) + loaded = pickle.loads(dumped) + self.assertEqual(loaded.__class__, BeautifulSoup) + self.assertEqual(loaded.decode(), tree.decode()) + + def assertDoctypeHandled(self, doctype_fragment): + """Assert that a given doctype string is handled correctly.""" + doctype_str, soup = self._document_with_doctype(doctype_fragment) + + # Make sure a Doctype object was created. + doctype = soup.contents[0] + self.assertEqual(doctype.__class__, Doctype) + self.assertEqual(doctype, doctype_fragment) + self.assertEqual(str(soup)[:len(doctype_str)], doctype_str) + + # Make sure that the doctype was correctly associated with the + # parse tree and that the rest of the document parsed. + self.assertEqual(soup.p.contents[0], 'foo') + + def _document_with_doctype(self, doctype_fragment): + """Generate and parse a document with the given doctype.""" + doctype = '' % doctype_fragment + markup = doctype + '\n

    foo

    ' + soup = self.soup(markup) + return doctype, soup + + def test_normal_doctypes(self): + """Make sure normal, everyday HTML doctypes are handled correctly.""" + self.assertDoctypeHandled("html") + self.assertDoctypeHandled( + 'html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"') + + def test_empty_doctype(self): + soup = self.soup("") + doctype = soup.contents[0] + self.assertEqual("", doctype.strip()) + + def test_public_doctype_with_url(self): + doctype = 'html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"' + self.assertDoctypeHandled(doctype) + + def test_system_doctype(self): + self.assertDoctypeHandled('foo SYSTEM "http://www.example.com/"') + + def test_namespaced_system_doctype(self): + # We can handle a namespaced doctype with a system ID. + self.assertDoctypeHandled('xsl:stylesheet SYSTEM "htmlent.dtd"') + + def test_namespaced_public_doctype(self): + # Test a namespaced doctype with a public id. + self.assertDoctypeHandled('xsl:stylesheet PUBLIC "htmlent.dtd"') + + def test_real_xhtml_document(self): + """A real XHTML document should come out more or less the same as it went in.""" + markup = b""" + + +Hello. +Goodbye. +""" + soup = self.soup(markup) + self.assertEqual( + soup.encode("utf-8").replace(b"\n", b""), + markup.replace(b"\n", b"")) + + def test_namespaced_html(self): + """When a namespaced XML document is parsed as HTML it should + be treated as HTML with weird tag names. + """ + markup = b"""content""" + soup = self.soup(markup) + self.assertEqual(2, len(soup.find_all("ns1:foo"))) + + def test_processing_instruction(self): + # We test both Unicode and bytestring to verify that + # process_markup correctly sets processing_instruction_class + # even when the markup is already Unicode and there is no + # need to process anything. + markup = """""" + soup = self.soup(markup) + self.assertEqual(markup, soup.decode()) + + markup = b"""""" + soup = self.soup(markup) + self.assertEqual(markup, soup.encode("utf8")) + + def test_deepcopy(self): + """Make sure you can copy the tree builder. + + This is important because the builder is part of a + BeautifulSoup object, and we want to be able to copy that. + """ + copy.deepcopy(self.default_builder) + + def test_p_tag_is_never_empty_element(self): + """A

    tag is never designated as an empty-element tag. + + Even if the markup shows it as an empty-element tag, it + shouldn't be presented that way. + """ + soup = self.soup("

    ") + self.assertFalse(soup.p.is_empty_element) + self.assertEqual(str(soup.p), "

    ") + + def test_unclosed_tags_get_closed(self): + """A tag that's not closed by the end of the document should be closed. + + This applies to all tags except empty-element tags. + """ + self.assertSoupEquals("

    ", "

    ") + self.assertSoupEquals("", "") + + self.assertSoupEquals("
    ", "
    ") + + def test_br_is_always_empty_element_tag(self): + """A
    tag is designated as an empty-element tag. + + Some parsers treat

    as one
    tag, some parsers as + two tags, but it should always be an empty-element tag. + """ + soup = self.soup("

    ") + self.assertTrue(soup.br.is_empty_element) + self.assertEqual(str(soup.br), "
    ") + + def test_nested_formatting_elements(self): + self.assertSoupEquals("") + + def test_double_head(self): + html = ''' + + +Ordinary HEAD element test + + + +Hello, world! + + +''' + soup = self.soup(html) + self.assertEqual("text/javascript", soup.find('script')['type']) + + def test_comment(self): + # Comments are represented as Comment objects. + markup = "

    foobaz

    " + self.assertSoupEquals(markup) + + soup = self.soup(markup) + comment = soup.find(text="foobar") + self.assertEqual(comment.__class__, Comment) + + # The comment is properly integrated into the tree. + foo = soup.find(text="foo") + self.assertEqual(comment, foo.next_element) + baz = soup.find(text="baz") + self.assertEqual(comment, baz.previous_element) + + def test_preserved_whitespace_in_pre_and_textarea(self): + """Whitespace must be preserved in
     and "
    +        self.assertSoupEquals(pre_markup)
    +        self.assertSoupEquals(textarea_markup)
    +
    +        soup = self.soup(pre_markup)
    +        self.assertEqual(soup.pre.prettify(), pre_markup)
    +
    +        soup = self.soup(textarea_markup)
    +        self.assertEqual(soup.textarea.prettify(), textarea_markup)
    +
    +        soup = self.soup("")
    +        self.assertEqual(soup.textarea.prettify(), "")
    +
    +    def test_nested_inline_elements(self):
    +        """Inline elements can be nested indefinitely."""
    +        b_tag = "Inside a B tag"
    +        self.assertSoupEquals(b_tag)
    +
    +        nested_b_tag = "

    A nested tag

    " + self.assertSoupEquals(nested_b_tag) + + double_nested_b_tag = "

    A doubly nested tag

    " + self.assertSoupEquals(nested_b_tag) + + def test_nested_block_level_elements(self): + """Block elements can be nested.""" + soup = self.soup('

    Foo

    ') + blockquote = soup.blockquote + self.assertEqual(blockquote.p.b.string, 'Foo') + self.assertEqual(blockquote.b.string, 'Foo') + + def test_correctly_nested_tables(self): + """One table can go inside another one.""" + markup = ('' + '' + "') + + self.assertSoupEquals( + markup, + '
    Here's another table:" + '' + '' + '
    foo
    Here\'s another table:' + '
    foo
    ' + '
    ') + + self.assertSoupEquals( + "" + "" + "
    Foo
    Bar
    Baz
    ") + + def test_multivalued_attribute_with_whitespace(self): + # Whitespace separating the values of a multi-valued attribute + # should be ignored. + + markup = '
    ' + soup = self.soup(markup) + self.assertEqual(['foo', 'bar'], soup.div['class']) + + # If you search by the literal name of the class it's like the whitespace + # wasn't there. + self.assertEqual(soup.div, soup.find('div', class_="foo bar")) + + def test_deeply_nested_multivalued_attribute(self): + # html5lib can set the attributes of the same tag many times + # as it rearranges the tree. This has caused problems with + # multivalued attributes. + markup = '
    ' + soup = self.soup(markup) + self.assertEqual(["css"], soup.div.div['class']) + + def test_multivalued_attribute_on_html(self): + # html5lib uses a different API to set the attributes ot the + # tag. This has caused problems with multivalued + # attributes. + markup = '' + soup = self.soup(markup) + self.assertEqual(["a", "b"], soup.html['class']) + + def test_angle_brackets_in_attribute_values_are_escaped(self): + self.assertSoupEquals('', '') + + def test_strings_resembling_character_entity_references(self): + # "&T" and "&p" look like incomplete character entities, but they are + # not. + self.assertSoupEquals( + "

    • AT&T is in the s&p 500

    ", + "

    \u2022 AT&T is in the s&p 500

    " + ) + + def test_apos_entity(self): + self.assertSoupEquals( + "

    Bob's Bar

    ", + "

    Bob's Bar

    ", + ) + + def test_entities_in_foreign_document_encoding(self): + # “ and ” are invalid numeric entities referencing + # Windows-1252 characters. - references a character common + # to Windows-1252 and Unicode, and ☃ references a + # character only found in Unicode. + # + # All of these entities should be converted to Unicode + # characters. + markup = "

    “Hello” -☃

    " + soup = self.soup(markup) + self.assertEqual("“Hello†-☃", soup.p.string) + + def test_entities_in_attributes_converted_to_unicode(self): + expect = '

    ' + self.assertSoupEquals('

    ', expect) + self.assertSoupEquals('

    ', expect) + self.assertSoupEquals('

    ', expect) + self.assertSoupEquals('

    ', expect) + + def test_entities_in_text_converted_to_unicode(self): + expect = '

    pi\N{LATIN SMALL LETTER N WITH TILDE}ata

    ' + self.assertSoupEquals("

    piñata

    ", expect) + self.assertSoupEquals("

    piñata

    ", expect) + self.assertSoupEquals("

    piñata

    ", expect) + self.assertSoupEquals("

    piñata

    ", expect) + + def test_quot_entity_converted_to_quotation_mark(self): + self.assertSoupEquals("

    I said "good day!"

    ", + '

    I said "good day!"

    ') + + def test_out_of_range_entity(self): + expect = "\N{REPLACEMENT CHARACTER}" + self.assertSoupEquals("�", expect) + self.assertSoupEquals("�", expect) + self.assertSoupEquals("�", expect) + + def test_multipart_strings(self): + "Mostly to prevent a recurrence of a bug in the html5lib treebuilder." + soup = self.soup("

    \nfoo

    ") + self.assertEqual("p", soup.h2.string.next_element.name) + self.assertEqual("p", soup.p.name) + self.assertConnectedness(soup) + + def test_empty_element_tags(self): + """Verify consistent handling of empty-element tags, + no matter how they come in through the markup. + """ + self.assertSoupEquals('


    ', "


    ") + self.assertSoupEquals('


    ', "


    ") + + def test_head_tag_between_head_and_body(self): + "Prevent recurrence of a bug in the html5lib treebuilder." + content = """ + + foo + +""" + soup = self.soup(content) + self.assertNotEqual(None, soup.html.body) + self.assertConnectedness(soup) + + def test_multiple_copies_of_a_tag(self): + "Prevent recurrence of a bug in the html5lib treebuilder." + content = """ + + + + + +""" + soup = self.soup(content) + self.assertConnectedness(soup.article) + + def test_basic_namespaces(self): + """Parsers don't need to *understand* namespaces, but at the + very least they should not choke on namespaces or lose + data.""" + + markup = b'4' + soup = self.soup(markup) + self.assertEqual(markup, soup.encode()) + html = soup.html + self.assertEqual('http://www.w3.org/1999/xhtml', soup.html['xmlns']) + self.assertEqual( + 'http://www.w3.org/1998/Math/MathML', soup.html['xmlns:mathml']) + self.assertEqual( + 'http://www.w3.org/2000/svg', soup.html['xmlns:svg']) + + def test_multivalued_attribute_value_becomes_list(self): + markup = b'' + soup = self.soup(markup) + self.assertEqual(['foo', 'bar'], soup.a['class']) + + # + # Generally speaking, tests below this point are more tests of + # Beautiful Soup than tests of the tree builders. But parsers are + # weird, so we run these tests separately for every tree builder + # to detect any differences between them. + # + + def test_can_parse_unicode_document(self): + # A seemingly innocuous document... but it's in Unicode! And + # it contains characters that can't be represented in the + # encoding found in the declaration! The horror! + markup = 'Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!' + soup = self.soup(markup) + self.assertEqual('Sacr\xe9 bleu!', soup.body.string) + + def test_soupstrainer(self): + """Parsers should be able to work with SoupStrainers.""" + strainer = SoupStrainer("b") + soup = self.soup("A bold statement", + parse_only=strainer) + self.assertEqual(soup.decode(), "bold") + + def test_single_quote_attribute_values_become_double_quotes(self): + self.assertSoupEquals("", + '') + + def test_attribute_values_with_nested_quotes_are_left_alone(self): + text = """a""" + self.assertSoupEquals(text) + + def test_attribute_values_with_double_nested_quotes_get_quoted(self): + text = """a""" + soup = self.soup(text) + soup.foo['attr'] = 'Brawls happen at "Bob\'s Bar"' + self.assertSoupEquals( + soup.foo.decode(), + """a""") + + def test_ampersand_in_attribute_value_gets_escaped(self): + self.assertSoupEquals('', + '') + + self.assertSoupEquals( + 'foo', + 'foo') + + def test_escaped_ampersand_in_attribute_value_is_left_alone(self): + self.assertSoupEquals('') + + def test_entities_in_strings_converted_during_parsing(self): + # Both XML and HTML entities are converted to Unicode characters + # during parsing. + text = "

    <<sacré bleu!>>

    " + expected = "

    <<sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!>>

    " + self.assertSoupEquals(text, expected) + + def test_smart_quotes_converted_on_the_way_in(self): + # Microsoft smart quotes are converted to Unicode characters during + # parsing. + quote = b"

    \x91Foo\x92

    " + soup = self.soup(quote) + self.assertEqual( + soup.p.string, + "\N{LEFT SINGLE QUOTATION MARK}Foo\N{RIGHT SINGLE QUOTATION MARK}") + + def test_non_breaking_spaces_converted_on_the_way_in(self): + soup = self.soup("  ") + self.assertEqual(soup.a.string, "\N{NO-BREAK SPACE}" * 2) + + def test_entities_converted_on_the_way_out(self): + text = "

    <<sacré bleu!>>

    " + expected = "

    <<sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!>>

    ".encode("utf-8") + soup = self.soup(text) + self.assertEqual(soup.p.encode("utf-8"), expected) + + def test_real_iso_latin_document(self): + # Smoke test of interrelated functionality, using an + # easy-to-understand document. + + # Here it is in Unicode. Note that it claims to be in ISO-Latin-1. + unicode_html = '

    Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!

    ' + + # That's because we're going to encode it into ISO-Latin-1, and use + # that to test. + iso_latin_html = unicode_html.encode("iso-8859-1") + + # Parse the ISO-Latin-1 HTML. + soup = self.soup(iso_latin_html) + # Encode it to UTF-8. + result = soup.encode("utf-8") + + # What do we expect the result to look like? Well, it would + # look like unicode_html, except that the META tag would say + # UTF-8 instead of ISO-Latin-1. + expected = unicode_html.replace("ISO-Latin-1", "utf-8") + + # And, of course, it would be in UTF-8, not Unicode. + expected = expected.encode("utf-8") + + # Ta-da! + self.assertEqual(result, expected) + + def test_real_shift_jis_document(self): + # Smoke test to make sure the parser can handle a document in + # Shift-JIS encoding, without choking. + shift_jis_html = ( + b'
    '
    +            b'\x82\xb1\x82\xea\x82\xcdShift-JIS\x82\xc5\x83R\x81[\x83f'
    +            b'\x83B\x83\x93\x83O\x82\xb3\x82\xea\x82\xbd\x93\xfa\x96{\x8c'
    +            b'\xea\x82\xcc\x83t\x83@\x83C\x83\x8b\x82\xc5\x82\xb7\x81B'
    +            b'
    ') + unicode_html = shift_jis_html.decode("shift-jis") + soup = self.soup(unicode_html) + + # Make sure the parse tree is correctly encoded to various + # encodings. + self.assertEqual(soup.encode("utf-8"), unicode_html.encode("utf-8")) + self.assertEqual(soup.encode("euc_jp"), unicode_html.encode("euc_jp")) + + def test_real_hebrew_document(self): + # A real-world test to make sure we can convert ISO-8859-9 (a + # Hebrew encoding) to UTF-8. + hebrew_document = b'Hebrew (ISO 8859-8) in Visual Directionality

    Hebrew (ISO 8859-8) in Visual Directionality

    \xed\xe5\xec\xf9' + soup = self.soup( + hebrew_document, from_encoding="iso8859-8") + # Some tree builders call it iso8859-8, others call it iso-8859-9. + # That's not a difference we really care about. + assert soup.original_encoding in ('iso8859-8', 'iso-8859-8') + self.assertEqual( + soup.encode('utf-8'), + hebrew_document.decode("iso8859-8").encode("utf-8")) + + def test_meta_tag_reflects_current_encoding(self): + # Here's the tag saying that a document is + # encoded in Shift-JIS. + meta_tag = ('') + + # Here's a document incorporating that meta tag. + shift_jis_html = ( + '\n%s\n' + '' + 'Shift-JIS markup goes here.') % meta_tag + soup = self.soup(shift_jis_html) + + # Parse the document, and the charset is seemingly unaffected. + parsed_meta = soup.find('meta', {'http-equiv': 'Content-type'}) + content = parsed_meta['content'] + self.assertEqual('text/html; charset=x-sjis', content) + + # But that value is actually a ContentMetaAttributeValue object. + self.assertTrue(isinstance(content, ContentMetaAttributeValue)) + + # And it will take on a value that reflects its current + # encoding. + self.assertEqual('text/html; charset=utf8', content.encode("utf8")) + + # For the rest of the story, see TestSubstitutions in + # test_tree.py. + + def test_html5_style_meta_tag_reflects_current_encoding(self): + # Here's the tag saying that a document is + # encoded in Shift-JIS. + meta_tag = ('') + + # Here's a document incorporating that meta tag. + shift_jis_html = ( + '\n%s\n' + '' + 'Shift-JIS markup goes here.') % meta_tag + soup = self.soup(shift_jis_html) + + # Parse the document, and the charset is seemingly unaffected. + parsed_meta = soup.find('meta', id="encoding") + charset = parsed_meta['charset'] + self.assertEqual('x-sjis', charset) + + # But that value is actually a CharsetMetaAttributeValue object. + self.assertTrue(isinstance(charset, CharsetMetaAttributeValue)) + + # And it will take on a value that reflects its current + # encoding. + self.assertEqual('utf8', charset.encode("utf8")) + + def test_tag_with_no_attributes_can_have_attributes_added(self): + data = self.soup("text") + data.a['foo'] = 'bar' + self.assertEqual('text', data.a.decode()) + + def test_worst_case(self): + """Test the worst case (currently) for linking issues.""" + + soup = self.soup(BAD_DOCUMENT) + self.linkage_validator(soup) + + +class XMLTreeBuilderSmokeTest(object): + + def test_pickle_and_unpickle_identity(self): + # Pickling a tree, then unpickling it, yields a tree identical + # to the original. + tree = self.soup("foo") + dumped = pickle.dumps(tree, 2) + loaded = pickle.loads(dumped) + self.assertEqual(loaded.__class__, BeautifulSoup) + self.assertEqual(loaded.decode(), tree.decode()) + + def test_docstring_generated(self): + soup = self.soup("") + self.assertEqual( + soup.encode(), b'\n') + + def test_xml_declaration(self): + markup = b"""\n""" + soup = self.soup(markup) + self.assertEqual(markup, soup.encode("utf8")) + + def test_processing_instruction(self): + markup = b"""\n""" + soup = self.soup(markup) + self.assertEqual(markup, soup.encode("utf8")) + + def test_real_xhtml_document(self): + """A real XHTML document should come out *exactly* the same as it went in.""" + markup = b""" + + +Hello. +Goodbye. +""" + soup = self.soup(markup) + self.assertEqual( + soup.encode("utf-8"), markup) + + def test_nested_namespaces(self): + doc = b""" + + + + + +""" + soup = self.soup(doc) + self.assertEqual(doc, soup.encode()) + + def test_formatter_processes_script_tag_for_xml_documents(self): + doc = """ + +""" + soup = BeautifulSoup(doc, "lxml-xml") + # lxml would have stripped this while parsing, but we can add + # it later. + soup.script.string = 'console.log("< < hey > > ");' + encoded = soup.encode() + self.assertTrue(b"< < hey > >" in encoded) + + def test_can_parse_unicode_document(self): + markup = 'Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!' + soup = self.soup(markup) + self.assertEqual('Sacr\xe9 bleu!', soup.root.string) + + def test_popping_namespaced_tag(self): + markup = 'b2012-07-02T20:33:42Zcd' + soup = self.soup(markup) + self.assertEqual( + str(soup.rss), markup) + + def test_docstring_includes_correct_encoding(self): + soup = self.soup("") + self.assertEqual( + soup.encode("latin1"), + b'\n') + + def test_large_xml_document(self): + """A large XML document should come out the same as it went in.""" + markup = (b'\n' + + b'0' * (2**12) + + b'') + soup = self.soup(markup) + self.assertEqual(soup.encode("utf-8"), markup) + + + def test_tags_are_empty_element_if_and_only_if_they_are_empty(self): + self.assertSoupEquals("

    ", "

    ") + self.assertSoupEquals("

    foo

    ") + + def test_namespaces_are_preserved(self): + markup = 'This tag is in the a namespaceThis tag is in the b namespace' + soup = self.soup(markup) + root = soup.root + self.assertEqual("http://example.com/", root['xmlns:a']) + self.assertEqual("http://example.net/", root['xmlns:b']) + + def test_closing_namespaced_tag(self): + markup = '

    20010504

    ' + soup = self.soup(markup) + self.assertEqual(str(soup.p), markup) + + def test_namespaced_attributes(self): + markup = '' + soup = self.soup(markup) + self.assertEqual(str(soup.foo), markup) + + def test_namespaced_attributes_xml_namespace(self): + markup = 'bar' + soup = self.soup(markup) + self.assertEqual(str(soup.foo), markup) + + def test_find_by_prefixed_name(self): + doc = """ +foo + bar + baz + +""" + soup = self.soup(doc) + + # There are three tags. + self.assertEqual(3, len(soup.find_all('tag'))) + + # But two of them are ns1:tag and one of them is ns2:tag. + self.assertEqual(2, len(soup.find_all('ns1:tag'))) + self.assertEqual(1, len(soup.find_all('ns2:tag'))) + + self.assertEqual(1, len(soup.find_all('ns2:tag', key='value'))) + self.assertEqual(3, len(soup.find_all(['ns1:tag', 'ns2:tag']))) + + def test_copy_tag_preserves_namespace(self): + xml = """ +""" + + soup = self.soup(xml) + tag = soup.document + duplicate = copy.copy(tag) + + # The two tags have the same namespace prefix. + self.assertEqual(tag.prefix, duplicate.prefix) + + def test_worst_case(self): + """Test the worst case (currently) for linking issues.""" + + soup = self.soup(BAD_DOCUMENT) + self.linkage_validator(soup) + + +class HTML5TreeBuilderSmokeTest(HTMLTreeBuilderSmokeTest): + """Smoke test for a tree builder that supports HTML5.""" + + def test_real_xhtml_document(self): + # Since XHTML is not HTML5, HTML5 parsers are not tested to handle + # XHTML documents in any particular way. + pass + + def test_html_tags_have_namespace(self): + markup = "" + soup = self.soup(markup) + self.assertEqual("http://www.w3.org/1999/xhtml", soup.a.namespace) + + def test_svg_tags_have_namespace(self): + markup = '' + soup = self.soup(markup) + namespace = "http://www.w3.org/2000/svg" + self.assertEqual(namespace, soup.svg.namespace) + self.assertEqual(namespace, soup.circle.namespace) + + + def test_mathml_tags_have_namespace(self): + markup = '5' + soup = self.soup(markup) + namespace = 'http://www.w3.org/1998/Math/MathML' + self.assertEqual(namespace, soup.math.namespace) + self.assertEqual(namespace, soup.msqrt.namespace) + + def test_xml_declaration_becomes_comment(self): + markup = '' + soup = self.soup(markup) + self.assertTrue(isinstance(soup.contents[0], Comment)) + self.assertEqual(soup.contents[0], '?xml version="1.0" encoding="utf-8"?') + self.assertEqual("html", soup.contents[0].next_element.name) + +def skipIf(condition, reason): + def nothing(test, *args, **kwargs): + return None + + def decorator(test_item): + if condition: + return nothing + else: + return test_item + + return decorator diff --git a/lib/bs4/tests/__init__.py b/lib/bs4/tests/__init__.py index 325affef..142c8cc3 100644 --- a/lib/bs4/tests/__init__.py +++ b/lib/bs4/tests/__init__.py @@ -1,1177 +1 @@ -# encoding: utf-8 -"""Helper classes for tests.""" - -# Use of this source code is governed by the MIT license. -__license__ = "MIT" - -import pickle -import copy -import functools -import warnings -import pytest -from bs4 import BeautifulSoup -from bs4.element import ( - CharsetMetaAttributeValue, - Comment, - ContentMetaAttributeValue, - Doctype, - PYTHON_SPECIFIC_ENCODINGS, - SoupStrainer, - Script, - Stylesheet, - Tag -) - -from bs4.builder import ( - DetectsXMLParsedAsHTML, - HTMLParserTreeBuilder, - XMLParsedAsHTMLWarning, -) -default_builder = HTMLParserTreeBuilder - -# Some tests depend on specific third-party libraries. We use -# @pytest.mark.skipIf on the following conditionals to skip them -# if the libraries are not installed. -try: - from soupsieve import SelectorSyntaxError - SOUP_SIEVE_PRESENT = True -except ImportError: - SOUP_SIEVE_PRESENT = False - -try: - import html5lib - HTML5LIB_PRESENT = True -except ImportError: - HTML5LIB_PRESENT = False - -try: - import lxml.etree - LXML_PRESENT = True - LXML_VERSION = lxml.etree.LXML_VERSION -except ImportError: - LXML_PRESENT = False - LXML_VERSION = (0,) - -BAD_DOCUMENT = """A bare string - - -
    -
    HTML5 does allow CDATA sections in SVG
    -
    A tag
    -
    A
    tag that supposedly has contents.
    -
    AT&T
    -
    -
    -
    This numeric entity is missing the final semicolon:
    -
    -
    a
    -
    This document contains (do you see it?)
    -
    This document ends with That attribute value was bogus
    -The doctype is invalid because it contains extra whitespace -
    That boolean attribute had no value
    -
    Here's a nonexistent entity: &#foo; (do you see it?)
    -
    This document ends before the entity finishes: > -

    Paragraphs shouldn't contain block display elements, but this one does:

    you see?

    -Multiple values for the same attribute. -
    Here's a table
    -
    -
    This tag contains nothing but whitespace:
    -

    This p tag is cut off by

    the end of the blockquote tag
    -
    Here's a nested table:
    foo
    This table contains bare markup
    - -
    This document contains a surprise doctype
    - -
    Tag name contains Unicode characters
    - - -""" - - -class SoupTest(object): - - @property - def default_builder(self): - return default_builder - - def soup(self, markup, **kwargs): - """Build a Beautiful Soup object from markup.""" - builder = kwargs.pop('builder', self.default_builder) - return BeautifulSoup(markup, builder=builder, **kwargs) - - def document_for(self, markup, **kwargs): - """Turn an HTML fragment into a document. - - The details depend on the builder. - """ - return self.default_builder(**kwargs).test_fragment_to_document(markup) - - def assert_soup(self, to_parse, compare_parsed_to=None): - """Parse some markup using Beautiful Soup and verify that - the output markup is as expected. - """ - builder = self.default_builder - obj = BeautifulSoup(to_parse, builder=builder) - if compare_parsed_to is None: - compare_parsed_to = to_parse - - # Verify that the documents come out the same. - assert obj.decode() == self.document_for(compare_parsed_to) - - # Also run some checks on the BeautifulSoup object itself: - - # Verify that every tag that was opened was eventually closed. - - # There are no tags in the open tag counter. - assert all(v==0 for v in list(obj.open_tag_counter.values())) - - # The only tag in the tag stack is the one for the root - # document. - assert [obj.ROOT_TAG_NAME] == [x.name for x in obj.tagStack] - - assertSoupEquals = assert_soup - - def assertConnectedness(self, element): - """Ensure that next_element and previous_element are properly - set for all descendants of the given element. - """ - earlier = None - for e in element.descendants: - if earlier: - assert e == earlier.next_element - assert earlier == e.previous_element - earlier = e - - def linkage_validator(self, el, _recursive_call=False): - """Ensure proper linkage throughout the document.""" - descendant = None - # Document element should have no previous element or previous sibling. - # It also shouldn't have a next sibling. - if el.parent is None: - assert el.previous_element is None,\ - "Bad previous_element\nNODE: {}\nPREV: {}\nEXPECTED: {}".format( - el, el.previous_element, None - ) - assert el.previous_sibling is None,\ - "Bad previous_sibling\nNODE: {}\nPREV: {}\nEXPECTED: {}".format( - el, el.previous_sibling, None - ) - assert el.next_sibling is None,\ - "Bad next_sibling\nNODE: {}\nNEXT: {}\nEXPECTED: {}".format( - el, el.next_sibling, None - ) - - idx = 0 - child = None - last_child = None - last_idx = len(el.contents) - 1 - for child in el.contents: - descendant = None - - # Parent should link next element to their first child - # That child should have no previous sibling - if idx == 0: - if el.parent is not None: - assert el.next_element is child,\ - "Bad next_element\nNODE: {}\nNEXT: {}\nEXPECTED: {}".format( - el, el.next_element, child - ) - assert child.previous_element is el,\ - "Bad previous_element\nNODE: {}\nPREV: {}\nEXPECTED: {}".format( - child, child.previous_element, el - ) - assert child.previous_sibling is None,\ - "Bad previous_sibling\nNODE: {}\nPREV {}\nEXPECTED: {}".format( - child, child.previous_sibling, None - ) - - # If not the first child, previous index should link as sibling to this index - # Previous element should match the last index or the last bubbled up descendant - else: - assert child.previous_sibling is el.contents[idx - 1],\ - "Bad previous_sibling\nNODE: {}\nPREV {}\nEXPECTED {}".format( - child, child.previous_sibling, el.contents[idx - 1] - ) - assert el.contents[idx - 1].next_sibling is child,\ - "Bad next_sibling\nNODE: {}\nNEXT {}\nEXPECTED {}".format( - el.contents[idx - 1], el.contents[idx - 1].next_sibling, child - ) - - if last_child is not None: - assert child.previous_element is last_child,\ - "Bad previous_element\nNODE: {}\nPREV {}\nEXPECTED {}\nCONTENTS {}".format( - child, child.previous_element, last_child, child.parent.contents - ) - assert last_child.next_element is child,\ - "Bad next_element\nNODE: {}\nNEXT {}\nEXPECTED {}".format( - last_child, last_child.next_element, child - ) - - if isinstance(child, Tag) and child.contents: - descendant = self.linkage_validator(child, True) - # A bubbled up descendant should have no next siblings - assert descendant.next_sibling is None,\ - "Bad next_sibling\nNODE: {}\nNEXT {}\nEXPECTED {}".format( - descendant, descendant.next_sibling, None - ) - - # Mark last child as either the bubbled up descendant or the current child - if descendant is not None: - last_child = descendant - else: - last_child = child - - # If last child, there are non next siblings - if idx == last_idx: - assert child.next_sibling is None,\ - "Bad next_sibling\nNODE: {}\nNEXT {}\nEXPECTED {}".format( - child, child.next_sibling, None - ) - idx += 1 - - child = descendant if descendant is not None else child - if child is None: - child = el - - if not _recursive_call and child is not None: - target = el - while True: - if target is None: - assert child.next_element is None, \ - "Bad next_element\nNODE: {}\nNEXT {}\nEXPECTED {}".format( - child, child.next_element, None - ) - break - elif target.next_sibling is not None: - assert child.next_element is target.next_sibling, \ - "Bad next_element\nNODE: {}\nNEXT {}\nEXPECTED {}".format( - child, child.next_element, target.next_sibling - ) - break - target = target.parent - - # We are done, so nothing to return - return None - else: - # Return the child to the recursive caller - return child - - def assert_selects(self, tags, should_match): - """Make sure that the given tags have the correct text. - - This is used in tests that define a bunch of tags, each - containing a single string, and then select certain strings by - some mechanism. - """ - assert [tag.string for tag in tags] == should_match - - def assert_selects_ids(self, tags, should_match): - """Make sure that the given tags have the correct IDs. - - This is used in tests that define a bunch of tags, each - containing a single string, and then select certain strings by - some mechanism. - """ - assert [tag['id'] for tag in tags] == should_match - - -class TreeBuilderSmokeTest(object): - # Tests that are common to HTML and XML tree builders. - - @pytest.mark.parametrize( - "multi_valued_attributes", - [None, {}, dict(b=['class']), {'*': ['notclass']}] - ) - def test_attribute_not_multi_valued(self, multi_valued_attributes): - markup = '' - soup = self.soup(markup, multi_valued_attributes=multi_valued_attributes) - assert soup.a['class'] == 'a b c' - - @pytest.mark.parametrize( - "multi_valued_attributes", [dict(a=['class']), {'*': ['class']}] - ) - def test_attribute_multi_valued(self, multi_valued_attributes): - markup = '' - soup = self.soup( - markup, multi_valued_attributes=multi_valued_attributes - ) - assert soup.a['class'] == ['a', 'b', 'c'] - - def test_invalid_doctype(self): - markup = 'content' - markup = '' - soup = self.soup(markup) - -class HTMLTreeBuilderSmokeTest(TreeBuilderSmokeTest): - - """A basic test of a treebuilder's competence. - - Any HTML treebuilder, present or future, should be able to pass - these tests. With invalid markup, there's room for interpretation, - and different parsers can handle it differently. But with the - markup in these tests, there's not much room for interpretation. - """ - - def test_empty_element_tags(self): - """Verify that all HTML4 and HTML5 empty element (aka void element) tags - are handled correctly. - """ - for name in [ - 'area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'keygen', 'link', 'menuitem', 'meta', 'param', 'source', 'track', 'wbr', - 'spacer', 'frame' - ]: - soup = self.soup("") - new_tag = soup.new_tag(name) - assert new_tag.is_empty_element == True - - def test_special_string_containers(self): - soup = self.soup( - "" - ) - assert isinstance(soup.style.string, Stylesheet) - assert isinstance(soup.script.string, Script) - - soup = self.soup( - "" - ) - assert isinstance(soup.style.string, Stylesheet) - # The contents of the style tag resemble an HTML comment, but - # it's not treated as a comment. - assert soup.style.string == "" - assert isinstance(soup.style.string, Stylesheet) - - def test_pickle_and_unpickle_identity(self): - # Pickling a tree, then unpickling it, yields a tree identical - # to the original. - tree = self.soup("foo") - dumped = pickle.dumps(tree, 2) - loaded = pickle.loads(dumped) - assert loaded.__class__ == BeautifulSoup - assert loaded.decode() == tree.decode() - - def assertDoctypeHandled(self, doctype_fragment): - """Assert that a given doctype string is handled correctly.""" - doctype_str, soup = self._document_with_doctype(doctype_fragment) - - # Make sure a Doctype object was created. - doctype = soup.contents[0] - assert doctype.__class__ == Doctype - assert doctype == doctype_fragment - assert soup.encode("utf8")[:len(doctype_str)] == doctype_str - - # Make sure that the doctype was correctly associated with the - # parse tree and that the rest of the document parsed. - assert soup.p.contents[0] == 'foo' - - def _document_with_doctype(self, doctype_fragment, doctype_string="DOCTYPE"): - """Generate and parse a document with the given doctype.""" - doctype = '' % (doctype_string, doctype_fragment) - markup = doctype + '\n

    foo

    ' - soup = self.soup(markup) - return doctype.encode("utf8"), soup - - def test_normal_doctypes(self): - """Make sure normal, everyday HTML doctypes are handled correctly.""" - self.assertDoctypeHandled("html") - self.assertDoctypeHandled( - 'html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"') - - def test_empty_doctype(self): - soup = self.soup("") - doctype = soup.contents[0] - assert "" == doctype.strip() - - def test_mixed_case_doctype(self): - # A lowercase or mixed-case doctype becomes a Doctype. - for doctype_fragment in ("doctype", "DocType"): - doctype_str, soup = self._document_with_doctype( - "html", doctype_fragment - ) - - # Make sure a Doctype object was created and that the DOCTYPE - # is uppercase. - doctype = soup.contents[0] - assert doctype.__class__ == Doctype - assert doctype == "html" - assert soup.encode("utf8")[:len(doctype_str)] == b"" - - # Make sure that the doctype was correctly associated with the - # parse tree and that the rest of the document parsed. - assert soup.p.contents[0] == 'foo' - - def test_public_doctype_with_url(self): - doctype = 'html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"' - self.assertDoctypeHandled(doctype) - - def test_system_doctype(self): - self.assertDoctypeHandled('foo SYSTEM "http://www.example.com/"') - - def test_namespaced_system_doctype(self): - # We can handle a namespaced doctype with a system ID. - self.assertDoctypeHandled('xsl:stylesheet SYSTEM "htmlent.dtd"') - - def test_namespaced_public_doctype(self): - # Test a namespaced doctype with a public id. - self.assertDoctypeHandled('xsl:stylesheet PUBLIC "htmlent.dtd"') - - def test_real_xhtml_document(self): - """A real XHTML document should come out more or less the same as it went in.""" - markup = b""" - - -Hello. -Goodbye. -""" - with warnings.catch_warnings(record=True) as w: - soup = self.soup(markup) - assert soup.encode("utf-8").replace(b"\n", b"") == markup.replace(b"\n", b"") - - # No warning was issued about parsing an XML document as HTML, - # because XHTML is both. - assert w == [] - - - def test_namespaced_html(self): - # When a namespaced XML document is parsed as HTML it should - # be treated as HTML with weird tag names. - markup = b"""content""" - with warnings.catch_warnings(record=True) as w: - soup = self.soup(markup) - - assert 2 == len(soup.find_all("ns1:foo")) - - # n.b. no "you're parsing XML as HTML" warning was given - # because there was no XML declaration. - assert [] == w - - def test_detect_xml_parsed_as_html(self): - # A warning is issued when parsing an XML document as HTML, - # but basic stuff should still work. - markup = b"""string""" - with warnings.catch_warnings(record=True) as w: - soup = self.soup(markup) - assert soup.tag.string == 'string' - [warning] = w - assert isinstance(warning.message, XMLParsedAsHTMLWarning) - assert str(warning.message) == XMLParsedAsHTMLWarning.MESSAGE - - # NOTE: the warning is not issued if the document appears to - # be XHTML (tested with test_real_xhtml_document in the - # superclass) or if there is no XML declaration (tested with - # test_namespaced_html in the superclass). - - def test_processing_instruction(self): - # We test both Unicode and bytestring to verify that - # process_markup correctly sets processing_instruction_class - # even when the markup is already Unicode and there is no - # need to process anything. - markup = """""" - soup = self.soup(markup) - assert markup == soup.decode() - - markup = b"""""" - soup = self.soup(markup) - assert markup == soup.encode("utf8") - - def test_deepcopy(self): - """Make sure you can copy the tree builder. - - This is important because the builder is part of a - BeautifulSoup object, and we want to be able to copy that. - """ - copy.deepcopy(self.default_builder) - - def test_p_tag_is_never_empty_element(self): - """A

    tag is never designated as an empty-element tag. - - Even if the markup shows it as an empty-element tag, it - shouldn't be presented that way. - """ - soup = self.soup("

    ") - assert not soup.p.is_empty_element - assert str(soup.p) == "

    " - - def test_unclosed_tags_get_closed(self): - """A tag that's not closed by the end of the document should be closed. - - This applies to all tags except empty-element tags. - """ - self.assert_soup("

    ", "

    ") - self.assert_soup("", "") - - self.assert_soup("
    ", "
    ") - - def test_br_is_always_empty_element_tag(self): - """A
    tag is designated as an empty-element tag. - - Some parsers treat

    as one
    tag, some parsers as - two tags, but it should always be an empty-element tag. - """ - soup = self.soup("

    ") - assert soup.br.is_empty_element - assert str(soup.br) == "
    " - - def test_nested_formatting_elements(self): - self.assert_soup("") - - def test_double_head(self): - html = ''' - - -Ordinary HEAD element test - - - -Hello, world! - - -''' - soup = self.soup(html) - assert "text/javascript" == soup.find('script')['type'] - - def test_comment(self): - # Comments are represented as Comment objects. - markup = "

    foobaz

    " - self.assert_soup(markup) - - soup = self.soup(markup) - comment = soup.find(string="foobar") - assert comment.__class__ == Comment - - # The comment is properly integrated into the tree. - foo = soup.find(string="foo") - assert comment == foo.next_element - baz = soup.find(string="baz") - assert comment == baz.previous_element - - def test_preserved_whitespace_in_pre_and_textarea(self): - """Whitespace must be preserved in
     and \n"
    -        self.assert_soup(pre_markup)
    -        self.assert_soup(textarea_markup)
    -
    -        soup = self.soup(pre_markup)
    -        assert soup.pre.prettify() == pre_markup
    -
    -        soup = self.soup(textarea_markup)
    -        assert soup.textarea.prettify() == textarea_markup
    -
    -        soup = self.soup("")
    -        assert soup.textarea.prettify() == "\n"
    -
    -    def test_nested_inline_elements(self):
    -        """Inline elements can be nested indefinitely."""
    -        b_tag = "Inside a B tag"
    -        self.assert_soup(b_tag)
    -
    -        nested_b_tag = "

    A nested tag

    " - self.assert_soup(nested_b_tag) - - double_nested_b_tag = "

    A doubly nested tag

    " - self.assert_soup(nested_b_tag) - - def test_nested_block_level_elements(self): - """Block elements can be nested.""" - soup = self.soup('

    Foo

    ') - blockquote = soup.blockquote - assert blockquote.p.b.string == 'Foo' - assert blockquote.b.string == 'Foo' - - def test_correctly_nested_tables(self): - """One table can go inside another one.""" - markup = ('' - '' - "') - - self.assert_soup( - markup, - '
    Here's another table:" - '' - '' - '
    foo
    Here\'s another table:' - '
    foo
    ' - '
    ') - - self.assert_soup( - "" - "" - "
    Foo
    Bar
    Baz
    ") - - def test_multivalued_attribute_with_whitespace(self): - # Whitespace separating the values of a multi-valued attribute - # should be ignored. - - markup = '
    ' - soup = self.soup(markup) - assert ['foo', 'bar'] == soup.div['class'] - - # If you search by the literal name of the class it's like the whitespace - # wasn't there. - assert soup.div == soup.find('div', class_="foo bar") - - def test_deeply_nested_multivalued_attribute(self): - # html5lib can set the attributes of the same tag many times - # as it rearranges the tree. This has caused problems with - # multivalued attributes. - markup = '
    ' - soup = self.soup(markup) - assert ["css"] == soup.div.div['class'] - - def test_multivalued_attribute_on_html(self): - # html5lib uses a different API to set the attributes ot the - # tag. This has caused problems with multivalued - # attributes. - markup = '' - soup = self.soup(markup) - assert ["a", "b"] == soup.html['class'] - - def test_angle_brackets_in_attribute_values_are_escaped(self): - self.assert_soup('', '') - - def test_strings_resembling_character_entity_references(self): - # "&T" and "&p" look like incomplete character entities, but they are - # not. - self.assert_soup( - "

    • AT&T is in the s&p 500

    ", - "

    \u2022 AT&T is in the s&p 500

    " - ) - - def test_apos_entity(self): - self.assert_soup( - "

    Bob's Bar

    ", - "

    Bob's Bar

    ", - ) - - def test_entities_in_foreign_document_encoding(self): - # “ and ” are invalid numeric entities referencing - # Windows-1252 characters. - references a character common - # to Windows-1252 and Unicode, and ☃ references a - # character only found in Unicode. - # - # All of these entities should be converted to Unicode - # characters. - markup = "

    “Hello” -☃

    " - soup = self.soup(markup) - assert "“Hello†-☃" == soup.p.string - - def test_entities_in_attributes_converted_to_unicode(self): - expect = '

    ' - self.assert_soup('

    ', expect) - self.assert_soup('

    ', expect) - self.assert_soup('

    ', expect) - self.assert_soup('

    ', expect) - - def test_entities_in_text_converted_to_unicode(self): - expect = '

    pi\N{LATIN SMALL LETTER N WITH TILDE}ata

    ' - self.assert_soup("

    piñata

    ", expect) - self.assert_soup("

    piñata

    ", expect) - self.assert_soup("

    piñata

    ", expect) - self.assert_soup("

    piñata

    ", expect) - - def test_quot_entity_converted_to_quotation_mark(self): - self.assert_soup("

    I said "good day!"

    ", - '

    I said "good day!"

    ') - - def test_out_of_range_entity(self): - expect = "\N{REPLACEMENT CHARACTER}" - self.assert_soup("�", expect) - self.assert_soup("�", expect) - self.assert_soup("�", expect) - - def test_multipart_strings(self): - "Mostly to prevent a recurrence of a bug in the html5lib treebuilder." - soup = self.soup("

    \nfoo

    ") - assert "p" == soup.h2.string.next_element.name - assert "p" == soup.p.name - self.assertConnectedness(soup) - - def test_empty_element_tags(self): - """Verify consistent handling of empty-element tags, - no matter how they come in through the markup. - """ - self.assert_soup('


    ', "


    ") - self.assert_soup('


    ', "


    ") - - def test_head_tag_between_head_and_body(self): - "Prevent recurrence of a bug in the html5lib treebuilder." - content = """ - - foo - -""" - soup = self.soup(content) - assert soup.html.body is not None - self.assertConnectedness(soup) - - def test_multiple_copies_of_a_tag(self): - "Prevent recurrence of a bug in the html5lib treebuilder." - content = """ - - - - - -""" - soup = self.soup(content) - self.assertConnectedness(soup.article) - - def test_basic_namespaces(self): - """Parsers don't need to *understand* namespaces, but at the - very least they should not choke on namespaces or lose - data.""" - - markup = b'4' - soup = self.soup(markup) - assert markup == soup.encode() - html = soup.html - assert 'http://www.w3.org/1999/xhtml' == soup.html['xmlns'] - assert 'http://www.w3.org/1998/Math/MathML' == soup.html['xmlns:mathml'] - assert 'http://www.w3.org/2000/svg' == soup.html['xmlns:svg'] - - def test_multivalued_attribute_value_becomes_list(self): - markup = b'' - soup = self.soup(markup) - assert ['foo', 'bar'] == soup.a['class'] - - # - # Generally speaking, tests below this point are more tests of - # Beautiful Soup than tests of the tree builders. But parsers are - # weird, so we run these tests separately for every tree builder - # to detect any differences between them. - # - - def test_can_parse_unicode_document(self): - # A seemingly innocuous document... but it's in Unicode! And - # it contains characters that can't be represented in the - # encoding found in the declaration! The horror! - markup = 'Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!' - soup = self.soup(markup) - assert 'Sacr\xe9 bleu!' == soup.body.string - - def test_soupstrainer(self): - """Parsers should be able to work with SoupStrainers.""" - strainer = SoupStrainer("b") - soup = self.soup("A bold statement", - parse_only=strainer) - assert soup.decode() == "bold" - - def test_single_quote_attribute_values_become_double_quotes(self): - self.assert_soup("", - '') - - def test_attribute_values_with_nested_quotes_are_left_alone(self): - text = """a""" - self.assert_soup(text) - - def test_attribute_values_with_double_nested_quotes_get_quoted(self): - text = """a""" - soup = self.soup(text) - soup.foo['attr'] = 'Brawls happen at "Bob\'s Bar"' - self.assert_soup( - soup.foo.decode(), - """a""") - - def test_ampersand_in_attribute_value_gets_escaped(self): - self.assert_soup('', - '') - - self.assert_soup( - 'foo', - 'foo') - - def test_escaped_ampersand_in_attribute_value_is_left_alone(self): - self.assert_soup('') - - def test_entities_in_strings_converted_during_parsing(self): - # Both XML and HTML entities are converted to Unicode characters - # during parsing. - text = "

    <<sacré bleu!>>

    " - expected = "

    <<sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!>>

    " - self.assert_soup(text, expected) - - def test_smart_quotes_converted_on_the_way_in(self): - # Microsoft smart quotes are converted to Unicode characters during - # parsing. - quote = b"

    \x91Foo\x92

    " - soup = self.soup(quote) - assert soup.p.string == "\N{LEFT SINGLE QUOTATION MARK}Foo\N{RIGHT SINGLE QUOTATION MARK}" - - def test_non_breaking_spaces_converted_on_the_way_in(self): - soup = self.soup("  ") - assert soup.a.string == "\N{NO-BREAK SPACE}" * 2 - - def test_entities_converted_on_the_way_out(self): - text = "

    <<sacré bleu!>>

    " - expected = "

    <<sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!>>

    ".encode("utf-8") - soup = self.soup(text) - assert soup.p.encode("utf-8") == expected - - def test_real_iso_8859_document(self): - # Smoke test of interrelated functionality, using an - # easy-to-understand document. - - # Here it is in Unicode. Note that it claims to be in ISO-8859-1. - unicode_html = '

    Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!

    ' - - # That's because we're going to encode it into ISO-8859-1, - # and use that to test. - iso_latin_html = unicode_html.encode("iso-8859-1") - - # Parse the ISO-8859-1 HTML. - soup = self.soup(iso_latin_html) - - # Encode it to UTF-8. - result = soup.encode("utf-8") - - # What do we expect the result to look like? Well, it would - # look like unicode_html, except that the META tag would say - # UTF-8 instead of ISO-8859-1. - expected = unicode_html.replace("ISO-8859-1", "utf-8") - - # And, of course, it would be in UTF-8, not Unicode. - expected = expected.encode("utf-8") - - # Ta-da! - assert result == expected - - def test_real_shift_jis_document(self): - # Smoke test to make sure the parser can handle a document in - # Shift-JIS encoding, without choking. - shift_jis_html = ( - b'
    '
    -            b'\x82\xb1\x82\xea\x82\xcdShift-JIS\x82\xc5\x83R\x81[\x83f'
    -            b'\x83B\x83\x93\x83O\x82\xb3\x82\xea\x82\xbd\x93\xfa\x96{\x8c'
    -            b'\xea\x82\xcc\x83t\x83@\x83C\x83\x8b\x82\xc5\x82\xb7\x81B'
    -            b'
    ') - unicode_html = shift_jis_html.decode("shift-jis") - soup = self.soup(unicode_html) - - # Make sure the parse tree is correctly encoded to various - # encodings. - assert soup.encode("utf-8") == unicode_html.encode("utf-8") - assert soup.encode("euc_jp") == unicode_html.encode("euc_jp") - - def test_real_hebrew_document(self): - # A real-world test to make sure we can convert ISO-8859-9 (a - # Hebrew encoding) to UTF-8. - hebrew_document = b'Hebrew (ISO 8859-8) in Visual Directionality

    Hebrew (ISO 8859-8) in Visual Directionality

    \xed\xe5\xec\xf9' - soup = self.soup( - hebrew_document, from_encoding="iso8859-8") - # Some tree builders call it iso8859-8, others call it iso-8859-9. - # That's not a difference we really care about. - assert soup.original_encoding in ('iso8859-8', 'iso-8859-8') - assert soup.encode('utf-8') == ( - hebrew_document.decode("iso8859-8").encode("utf-8") - ) - - def test_meta_tag_reflects_current_encoding(self): - # Here's the tag saying that a document is - # encoded in Shift-JIS. - meta_tag = ('') - - # Here's a document incorporating that meta tag. - shift_jis_html = ( - '\n%s\n' - '' - 'Shift-JIS markup goes here.') % meta_tag - soup = self.soup(shift_jis_html) - - # Parse the document, and the charset is seemingly unaffected. - parsed_meta = soup.find('meta', {'http-equiv': 'Content-type'}) - content = parsed_meta['content'] - assert 'text/html; charset=x-sjis' == content - - # But that value is actually a ContentMetaAttributeValue object. - assert isinstance(content, ContentMetaAttributeValue) - - # And it will take on a value that reflects its current - # encoding. - assert 'text/html; charset=utf8' == content.encode("utf8") - - # For the rest of the story, see TestSubstitutions in - # test_tree.py. - - def test_html5_style_meta_tag_reflects_current_encoding(self): - # Here's the tag saying that a document is - # encoded in Shift-JIS. - meta_tag = ('') - - # Here's a document incorporating that meta tag. - shift_jis_html = ( - '\n%s\n' - '' - 'Shift-JIS markup goes here.') % meta_tag - soup = self.soup(shift_jis_html) - - # Parse the document, and the charset is seemingly unaffected. - parsed_meta = soup.find('meta', id="encoding") - charset = parsed_meta['charset'] - assert 'x-sjis' == charset - - # But that value is actually a CharsetMetaAttributeValue object. - assert isinstance(charset, CharsetMetaAttributeValue) - - # And it will take on a value that reflects its current - # encoding. - assert 'utf8' == charset.encode("utf8") - - def test_python_specific_encodings_not_used_in_charset(self): - # You can encode an HTML document using a Python-specific - # encoding, but that encoding won't be mentioned _inside_ the - # resulting document. Instead, the document will appear to - # have no encoding. - for markup in [ - b'' - b'' - ]: - soup = self.soup(markup) - for encoding in PYTHON_SPECIFIC_ENCODINGS: - if encoding in ( - 'idna', 'mbcs', 'oem', 'undefined', - 'string_escape', 'string-escape' - ): - # For one reason or another, these will raise an - # exception if we actually try to use them, so don't - # bother. - continue - encoded = soup.encode(encoding) - assert b'meta charset=""' in encoded - assert encoding.encode("ascii") not in encoded - - def test_tag_with_no_attributes_can_have_attributes_added(self): - data = self.soup("text") - data.a['foo'] = 'bar' - assert 'text' == data.a.decode() - - def test_closing_tag_with_no_opening_tag(self): - # Without BeautifulSoup.open_tag_counter, the tag will - # cause _popToTag to be called over and over again as we look - # for a tag that wasn't there. The result is that 'text2' - # will show up outside the body of the document. - soup = self.soup("

    text1

    text2
    ") - assert "

    text1

    text2
    " == soup.body.decode() - - def test_worst_case(self): - """Test the worst case (currently) for linking issues.""" - - soup = self.soup(BAD_DOCUMENT) - self.linkage_validator(soup) - - -class XMLTreeBuilderSmokeTest(TreeBuilderSmokeTest): - - def test_pickle_and_unpickle_identity(self): - # Pickling a tree, then unpickling it, yields a tree identical - # to the original. - tree = self.soup("foo") - dumped = pickle.dumps(tree, 2) - loaded = pickle.loads(dumped) - assert loaded.__class__ == BeautifulSoup - assert loaded.decode() == tree.decode() - - def test_docstring_generated(self): - soup = self.soup("") - assert soup.encode() == b'\n' - - def test_xml_declaration(self): - markup = b"""\n""" - soup = self.soup(markup) - assert markup == soup.encode("utf8") - - def test_python_specific_encodings_not_used_in_xml_declaration(self): - # You can encode an XML document using a Python-specific - # encoding, but that encoding won't be mentioned _inside_ the - # resulting document. - markup = b"""\n""" - soup = self.soup(markup) - for encoding in PYTHON_SPECIFIC_ENCODINGS: - if encoding in ( - 'idna', 'mbcs', 'oem', 'undefined', - 'string_escape', 'string-escape' - ): - # For one reason or another, these will raise an - # exception if we actually try to use them, so don't - # bother. - continue - encoded = soup.encode(encoding) - assert b'' in encoded - assert encoding.encode("ascii") not in encoded - - def test_processing_instruction(self): - markup = b"""\n""" - soup = self.soup(markup) - assert markup == soup.encode("utf8") - - def test_real_xhtml_document(self): - """A real XHTML document should come out *exactly* the same as it went in.""" - markup = b""" - - -Hello. -Goodbye. -""" - soup = self.soup(markup) - assert soup.encode("utf-8") == markup - - def test_nested_namespaces(self): - doc = b""" - - - - - -""" - soup = self.soup(doc) - assert doc == soup.encode() - - def test_formatter_processes_script_tag_for_xml_documents(self): - doc = """ - -""" - soup = BeautifulSoup(doc, "lxml-xml") - # lxml would have stripped this while parsing, but we can add - # it later. - soup.script.string = 'console.log("< < hey > > ");' - encoded = soup.encode() - assert b"< < hey > >" in encoded - - def test_can_parse_unicode_document(self): - markup = 'Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!' - soup = self.soup(markup) - assert 'Sacr\xe9 bleu!' == soup.root.string - - def test_can_parse_unicode_document_begining_with_bom(self): - markup = '\N{BYTE ORDER MARK}Sacr\N{LATIN SMALL LETTER E WITH ACUTE} bleu!' - soup = self.soup(markup) - assert 'Sacr\xe9 bleu!' == soup.root.string - - def test_popping_namespaced_tag(self): - markup = 'b2012-07-02T20:33:42Zcd' - soup = self.soup(markup) - assert str(soup.rss) == markup - - def test_docstring_includes_correct_encoding(self): - soup = self.soup("") - assert soup.encode("latin1") == b'\n' - - def test_large_xml_document(self): - """A large XML document should come out the same as it went in.""" - markup = (b'\n' - + b'0' * (2**12) - + b'') - soup = self.soup(markup) - assert soup.encode("utf-8") == markup - - def test_tags_are_empty_element_if_and_only_if_they_are_empty(self): - self.assert_soup("

    ", "

    ") - self.assert_soup("

    foo

    ") - - def test_namespaces_are_preserved(self): - markup = 'This tag is in the a namespaceThis tag is in the b namespace' - soup = self.soup(markup) - root = soup.root - assert "http://example.com/" == root['xmlns:a'] - assert "http://example.net/" == root['xmlns:b'] - - def test_closing_namespaced_tag(self): - markup = '

    20010504

    ' - soup = self.soup(markup) - assert str(soup.p) == markup - - def test_namespaced_attributes(self): - markup = '' - soup = self.soup(markup) - assert str(soup.foo) == markup - - def test_namespaced_attributes_xml_namespace(self): - markup = 'bar' - soup = self.soup(markup) - assert str(soup.foo) == markup - - def test_find_by_prefixed_name(self): - doc = """ - - foo - bar - baz - -""" - soup = self.soup(doc) - - # There are three tags. - assert 3 == len(soup.find_all('tag')) - - # But two of them are ns1:tag and one of them is ns2:tag. - assert 2 == len(soup.find_all('ns1:tag')) - assert 1 == len(soup.find_all('ns2:tag')) - - assert 1, len(soup.find_all('ns2:tag', key='value')) - assert 3, len(soup.find_all(['ns1:tag', 'ns2:tag'])) - - def test_copy_tag_preserves_namespace(self): - xml = """ -""" - - soup = self.soup(xml) - tag = soup.document - duplicate = copy.copy(tag) - - # The two tags have the same namespace prefix. - assert tag.prefix == duplicate.prefix - - def test_worst_case(self): - """Test the worst case (currently) for linking issues.""" - - soup = self.soup(BAD_DOCUMENT) - self.linkage_validator(soup) - - -class HTML5TreeBuilderSmokeTest(HTMLTreeBuilderSmokeTest): - """Smoke test for a tree builder that supports HTML5.""" - - def test_real_xhtml_document(self): - # Since XHTML is not HTML5, HTML5 parsers are not tested to handle - # XHTML documents in any particular way. - pass - - def test_html_tags_have_namespace(self): - markup = "" - soup = self.soup(markup) - assert "http://www.w3.org/1999/xhtml" == soup.a.namespace - - def test_svg_tags_have_namespace(self): - markup = '' - soup = self.soup(markup) - namespace = "http://www.w3.org/2000/svg" - assert namespace == soup.svg.namespace - assert namespace == soup.circle.namespace - - - def test_mathml_tags_have_namespace(self): - markup = '5' - soup = self.soup(markup) - namespace = 'http://www.w3.org/1998/Math/MathML' - assert namespace == soup.math.namespace - assert namespace == soup.msqrt.namespace - - def test_xml_declaration_becomes_comment(self): - markup = '' - soup = self.soup(markup) - assert isinstance(soup.contents[0], Comment) - assert soup.contents[0] == '?xml version="1.0" encoding="utf-8"?' - assert "html" == soup.contents[0].next_element.name +"The beautifulsoup tests." diff --git a/lib/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-4670634698080256.testcase b/lib/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-4670634698080256.testcase deleted file mode 100644 index 4828f8a4..00000000 --- a/lib/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-4670634698080256.testcase +++ /dev/null @@ -1 +0,0 @@ - ÿÿ ÿ

    \ No newline at end of file diff --git a/lib/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5000587759190016.testcase b/lib/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5000587759190016.testcase deleted file mode 100644 index 8a585ce9..00000000 Binary files a/lib/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5000587759190016.testcase and /dev/null differ diff --git a/lib/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5167584867909632.testcase b/lib/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5167584867909632.testcase deleted file mode 100644 index 0fe66dd2..00000000 Binary files a/lib/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5167584867909632.testcase and /dev/null differ diff --git a/lib/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5270998950477824.testcase b/lib/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5270998950477824.testcase deleted file mode 100644 index fd411427..00000000 Binary files a/lib/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5270998950477824.testcase and /dev/null differ diff --git a/lib/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5375146639360000.testcase b/lib/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5375146639360000.testcase deleted file mode 100644 index 6248b2c5..00000000 --- a/lib/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5375146639360000.testcase +++ /dev/null @@ -1 +0,0 @@ -ÿ >tet>< \ No newline at end of file diff --git a/lib/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5492400320282624.testcase b/lib/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5492400320282624.testcase deleted file mode 100644 index 107da539..00000000 Binary files a/lib/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5492400320282624.testcase and /dev/null differ diff --git a/lib/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5703933063462912.testcase b/lib/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5703933063462912.testcase deleted file mode 100644 index 367106c7..00000000 --- a/lib/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-5703933063462912.testcase +++ /dev/null @@ -1,2 +0,0 @@ - -t \ No newline at end of file diff --git a/lib/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-6450958476902400.testcase b/lib/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-6450958476902400.testcase deleted file mode 100644 index a823d557..00000000 Binary files a/lib/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-6450958476902400.testcase and /dev/null differ diff --git a/lib/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-6600557255327744.testcase b/lib/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-6600557255327744.testcase deleted file mode 100644 index 65af44d8..00000000 Binary files a/lib/bs4/tests/fuzz/clusterfuzz-testcase-minimized-bs4_fuzzer-6600557255327744.testcase and /dev/null differ diff --git a/lib/bs4/tests/fuzz/crash-0d306a50c8ed8bcd0785b67000fcd5dea1d33f08.testcase b/lib/bs4/tests/fuzz/crash-0d306a50c8ed8bcd0785b67000fcd5dea1d33f08.testcase deleted file mode 100644 index 5559adbb..00000000 Binary files a/lib/bs4/tests/fuzz/crash-0d306a50c8ed8bcd0785b67000fcd5dea1d33f08.testcase and /dev/null differ diff --git a/lib/bs4/tests/fuzz/crash-ffbdfa8a2b26f13537b68d3794b0478a4090ee4a.testcase b/lib/bs4/tests/fuzz/crash-ffbdfa8a2b26f13537b68d3794b0478a4090ee4a.testcase deleted file mode 100644 index 88571155..00000000 Binary files a/lib/bs4/tests/fuzz/crash-ffbdfa8a2b26f13537b68d3794b0478a4090ee4a.testcase and /dev/null differ diff --git a/lib/bs4/tests/test_builder.py b/lib/bs4/tests/test_builder.py deleted file mode 100644 index 75370712..00000000 --- a/lib/bs4/tests/test_builder.py +++ /dev/null @@ -1,29 +0,0 @@ -import pytest -from unittest.mock import patch -from bs4.builder import DetectsXMLParsedAsHTML - -class TestDetectsXMLParsedAsHTML(object): - - @pytest.mark.parametrize( - "markup,looks_like_xml", - [("No xml declaration", False), - ("obviously HTMLActually XHTML", False), - (" < html>Tricky XHTML", False), - ("", True), - ] - ) - def test_warn_if_markup_looks_like_xml(self, markup, looks_like_xml): - # Test of our ability to guess at whether markup looks XML-ish - # _and_ not HTML-ish. - with patch('bs4.builder.DetectsXMLParsedAsHTML._warn') as mock: - for data in markup, markup.encode('utf8'): - result = DetectsXMLParsedAsHTML.warn_if_markup_looks_like_xml( - data - ) - assert result == looks_like_xml - if looks_like_xml: - assert mock.called - else: - assert not mock.called - mock.reset_mock() diff --git a/lib/bs4/tests/test_builder_registry.py b/lib/bs4/tests/test_builder_registry.py index 9327174f..90cad829 100644 --- a/lib/bs4/tests/test_builder_registry.py +++ b/lib/bs4/tests/test_builder_registry.py @@ -1,6 +1,6 @@ """Tests of the builder registry.""" -import pytest +import unittest import warnings from bs4 import BeautifulSoup @@ -10,53 +10,62 @@ from bs4.builder import ( TreeBuilderRegistry, ) -from . import ( - HTML5LIB_PRESENT, - LXML_PRESENT, -) - -if HTML5LIB_PRESENT: +try: from bs4.builder import HTML5TreeBuilder + HTML5LIB_PRESENT = True +except ImportError: + HTML5LIB_PRESENT = False -if LXML_PRESENT: +try: from bs4.builder import ( LXMLTreeBuilderForXML, LXMLTreeBuilder, ) + LXML_PRESENT = True +except ImportError: + LXML_PRESENT = False -# TODO: Split out the lxml and html5lib tests into their own classes -# and gate with pytest.mark.skipIf. -class TestBuiltInRegistry(object): +class BuiltInRegistryTest(unittest.TestCase): """Test the built-in registry with the default builders registered.""" def test_combination(self): - assert registry.lookup('strict', 'html') == HTMLParserTreeBuilder if LXML_PRESENT: - assert registry.lookup('fast', 'html') == LXMLTreeBuilder - assert registry.lookup('permissive', 'xml') == LXMLTreeBuilderForXML + self.assertEqual(registry.lookup('fast', 'html'), + LXMLTreeBuilder) + + if LXML_PRESENT: + self.assertEqual(registry.lookup('permissive', 'xml'), + LXMLTreeBuilderForXML) + self.assertEqual(registry.lookup('strict', 'html'), + HTMLParserTreeBuilder) if HTML5LIB_PRESENT: - assert registry.lookup('html5lib', 'html') == HTML5TreeBuilder + self.assertEqual(registry.lookup('html5lib', 'html'), + HTML5TreeBuilder) def test_lookup_by_markup_type(self): if LXML_PRESENT: - assert registry.lookup('html') == LXMLTreeBuilder - assert registry.lookup('xml') == LXMLTreeBuilderForXML + self.assertEqual(registry.lookup('html'), LXMLTreeBuilder) + self.assertEqual(registry.lookup('xml'), LXMLTreeBuilderForXML) else: - assert registry.lookup('xml') == None + self.assertEqual(registry.lookup('xml'), None) if HTML5LIB_PRESENT: - assert registry.lookup('html') == HTML5TreeBuilder + self.assertEqual(registry.lookup('html'), HTML5TreeBuilder) else: - assert registry.lookup('html') == HTMLParserTreeBuilder + self.assertEqual(registry.lookup('html'), HTMLParserTreeBuilder) def test_named_library(self): if LXML_PRESENT: - assert registry.lookup('lxml', 'xml') == LXMLTreeBuilderForXML - assert registry.lookup('lxml', 'html') == LXMLTreeBuilder + self.assertEqual(registry.lookup('lxml', 'xml'), + LXMLTreeBuilderForXML) + self.assertEqual(registry.lookup('lxml', 'html'), + LXMLTreeBuilder) if HTML5LIB_PRESENT: - assert registry.lookup('html5lib') == HTML5TreeBuilder + self.assertEqual(registry.lookup('html5lib'), + HTML5TreeBuilder) - assert registry.lookup('html.parser') == HTMLParserTreeBuilder + self.assertEqual(registry.lookup('html.parser'), + HTMLParserTreeBuilder) def test_beautifulsoup_constructor_does_lookup(self): @@ -68,17 +77,16 @@ class TestBuiltInRegistry(object): BeautifulSoup("", features="html") # Or a list of strings. BeautifulSoup("", features=["html", "fast"]) - pass - + # You'll get an exception if BS can't find an appropriate # builder. - with pytest.raises(ValueError): - BeautifulSoup("", features="no-such-feature") + self.assertRaises(ValueError, BeautifulSoup, + "", features="no-such-feature") -class TestRegistry(object): +class RegistryTest(unittest.TestCase): """Test the TreeBuilderRegistry class in general.""" - def setup_method(self): + def setUp(self): self.registry = TreeBuilderRegistry() def builder_for_features(self, *feature_list): @@ -93,28 +101,28 @@ class TestRegistry(object): # Since the builder advertises no features, you can't find it # by looking up features. - assert self.registry.lookup('foo') is None + self.assertEqual(self.registry.lookup('foo'), None) # But you can find it by doing a lookup with no features, if # this happens to be the only registered builder. - assert self.registry.lookup() == builder + self.assertEqual(self.registry.lookup(), builder) def test_register_with_features_makes_lookup_succeed(self): builder = self.builder_for_features('foo', 'bar') - assert self.registry.lookup('foo') is builder - assert self.registry.lookup('bar') is builder + self.assertEqual(self.registry.lookup('foo'), builder) + self.assertEqual(self.registry.lookup('bar'), builder) def test_lookup_fails_when_no_builder_implements_feature(self): builder = self.builder_for_features('foo', 'bar') - assert self.registry.lookup('baz') is None + self.assertEqual(self.registry.lookup('baz'), None) def test_lookup_gets_most_recent_registration_when_no_feature_specified(self): builder1 = self.builder_for_features('foo') builder2 = self.builder_for_features('bar') - assert self.registry.lookup() == builder2 + self.assertEqual(self.registry.lookup(), builder2) def test_lookup_fails_when_no_tree_builders_registered(self): - assert self.registry.lookup() is None + self.assertEqual(self.registry.lookup(), None) def test_lookup_gets_most_recent_builder_supporting_all_features(self): has_one = self.builder_for_features('foo') @@ -126,12 +134,14 @@ class TestRegistry(object): # There are two builders featuring 'foo' and 'bar', but # the one that also features 'quux' was registered later. - assert self.registry.lookup('foo', 'bar') == has_both_late + self.assertEqual(self.registry.lookup('foo', 'bar'), + has_both_late) # There is only one builder featuring 'foo', 'bar', and 'baz'. - assert self.registry.lookup('foo', 'bar', 'baz') == has_both_early + self.assertEqual(self.registry.lookup('foo', 'bar', 'baz'), + has_both_early) def test_lookup_fails_when_cannot_reconcile_requested_features(self): builder1 = self.builder_for_features('foo', 'bar') builder2 = self.builder_for_features('foo', 'baz') - assert self.registry.lookup('bar', 'baz') is None + self.assertEqual(self.registry.lookup('bar', 'baz'), None) diff --git a/lib/bs4/tests/test_css.py b/lib/bs4/tests/test_css.py deleted file mode 100644 index 359dbcd2..00000000 --- a/lib/bs4/tests/test_css.py +++ /dev/null @@ -1,487 +0,0 @@ -import pytest -import types -from unittest.mock import MagicMock - -from bs4 import ( - CSS, - BeautifulSoup, - ResultSet, -) - -from . import ( - SoupTest, - SOUP_SIEVE_PRESENT, -) - -if SOUP_SIEVE_PRESENT: - from soupsieve import SelectorSyntaxError - - -@pytest.mark.skipif(not SOUP_SIEVE_PRESENT, reason="Soup Sieve not installed") -class TestCSSSelectors(SoupTest): - """Test basic CSS selector functionality. - - This functionality is implemented in soupsieve, which has a much - more comprehensive test suite, so this is basically an extra check - that soupsieve works as expected. - """ - - HTML = """ - - - -The title - - - -Hello there. -
    -
    -

    An H1

    -

    Some text

    -

    Some more text

    -

    An H2

    -

    Another

    -Bob -

    Another H2

    -me - -span1a1 -span1a2 test - -span2a1 - - - -
    - -
    - - - - - - - - -

    English

    -

    English UK

    -

    English US

    -

    French

    -
    - - -""" - - def setup_method(self): - self.soup = BeautifulSoup(self.HTML, 'html.parser') - - def assert_selects(self, selector, expected_ids, **kwargs): - results = self.soup.select(selector, **kwargs) - assert isinstance(results, ResultSet) - el_ids = [el['id'] for el in results] - el_ids.sort() - expected_ids.sort() - assert expected_ids == el_ids, "Selector %s, expected [%s], got [%s]" % ( - selector, ', '.join(expected_ids), ', '.join(el_ids) - ) - - assertSelect = assert_selects - - def assert_select_multiple(self, *tests): - for selector, expected_ids in tests: - self.assert_selects(selector, expected_ids) - - def test_precompiled(self): - sel = self.soup.css.compile('div') - - els = self.soup.select(sel) - assert len(els) == 4 - for div in els: - assert div.name == 'div' - - el = self.soup.select_one(sel) - assert 'main' == el['id'] - - def test_one_tag_one(self): - els = self.soup.select('title') - assert len(els) == 1 - assert els[0].name == 'title' - assert els[0].contents == ['The title'] - - def test_one_tag_many(self): - els = self.soup.select('div') - assert len(els) == 4 - for div in els: - assert div.name == 'div' - - el = self.soup.select_one('div') - assert 'main' == el['id'] - - def test_select_one_returns_none_if_no_match(self): - match = self.soup.select_one('nonexistenttag') - assert None == match - - - def test_tag_in_tag_one(self): - els = self.soup.select('div div') - self.assert_selects('div div', ['inner', 'data1']) - - def test_tag_in_tag_many(self): - for selector in ('html div', 'html body div', 'body div'): - self.assert_selects(selector, ['data1', 'main', 'inner', 'footer']) - - - def test_limit(self): - self.assert_selects('html div', ['main'], limit=1) - self.assert_selects('html body div', ['inner', 'main'], limit=2) - self.assert_selects('body div', ['data1', 'main', 'inner', 'footer'], - limit=10) - - def test_tag_no_match(self): - assert len(self.soup.select('del')) == 0 - - def test_invalid_tag(self): - with pytest.raises(SelectorSyntaxError): - self.soup.select('tag%t') - - def test_select_dashed_tag_ids(self): - self.assert_selects('custom-dashed-tag', ['dash1', 'dash2']) - - def test_select_dashed_by_id(self): - dashed = self.soup.select('custom-dashed-tag[id=\"dash2\"]') - assert dashed[0].name == 'custom-dashed-tag' - assert dashed[0]['id'] == 'dash2' - - def test_dashed_tag_text(self): - assert self.soup.select('body > custom-dashed-tag')[0].text == 'Hello there.' - - def test_select_dashed_matches_find_all(self): - assert self.soup.select('custom-dashed-tag') == self.soup.find_all('custom-dashed-tag') - - def test_header_tags(self): - self.assert_select_multiple( - ('h1', ['header1']), - ('h2', ['header2', 'header3']), - ) - - def test_class_one(self): - for selector in ('.onep', 'p.onep', 'html p.onep'): - els = self.soup.select(selector) - assert len(els) == 1 - assert els[0].name == 'p' - assert els[0]['class'] == ['onep'] - - def test_class_mismatched_tag(self): - els = self.soup.select('div.onep') - assert len(els) == 0 - - def test_one_id(self): - for selector in ('div#inner', '#inner', 'div div#inner'): - self.assert_selects(selector, ['inner']) - - def test_bad_id(self): - els = self.soup.select('#doesnotexist') - assert len(els) == 0 - - def test_items_in_id(self): - els = self.soup.select('div#inner p') - assert len(els) == 3 - for el in els: - assert el.name == 'p' - assert els[1]['class'] == ['onep'] - assert not els[0].has_attr('class') - - def test_a_bunch_of_emptys(self): - for selector in ('div#main del', 'div#main div.oops', 'div div#main'): - assert len(self.soup.select(selector)) == 0 - - def test_multi_class_support(self): - for selector in ('.class1', 'p.class1', '.class2', 'p.class2', - '.class3', 'p.class3', 'html p.class2', 'div#inner .class2'): - self.assert_selects(selector, ['pmulti']) - - def test_multi_class_selection(self): - for selector in ('.class1.class3', '.class3.class2', - '.class1.class2.class3'): - self.assert_selects(selector, ['pmulti']) - - def test_child_selector(self): - self.assert_selects('.s1 > a', ['s1a1', 's1a2']) - self.assert_selects('.s1 > a span', ['s1a2s1']) - - def test_child_selector_id(self): - self.assert_selects('.s1 > a#s1a2 span', ['s1a2s1']) - - def test_attribute_equals(self): - self.assert_select_multiple( - ('p[class="onep"]', ['p1']), - ('p[id="p1"]', ['p1']), - ('[class="onep"]', ['p1']), - ('[id="p1"]', ['p1']), - ('link[rel="stylesheet"]', ['l1']), - ('link[type="text/css"]', ['l1']), - ('link[href="blah.css"]', ['l1']), - ('link[href="no-blah.css"]', []), - ('[rel="stylesheet"]', ['l1']), - ('[type="text/css"]', ['l1']), - ('[href="blah.css"]', ['l1']), - ('[href="no-blah.css"]', []), - ('p[href="no-blah.css"]', []), - ('[href="no-blah.css"]', []), - ) - - def test_attribute_tilde(self): - self.assert_select_multiple( - ('p[class~="class1"]', ['pmulti']), - ('p[class~="class2"]', ['pmulti']), - ('p[class~="class3"]', ['pmulti']), - ('[class~="class1"]', ['pmulti']), - ('[class~="class2"]', ['pmulti']), - ('[class~="class3"]', ['pmulti']), - ('a[rel~="friend"]', ['bob']), - ('a[rel~="met"]', ['bob']), - ('[rel~="friend"]', ['bob']), - ('[rel~="met"]', ['bob']), - ) - - def test_attribute_startswith(self): - self.assert_select_multiple( - ('[rel^="style"]', ['l1']), - ('link[rel^="style"]', ['l1']), - ('notlink[rel^="notstyle"]', []), - ('[rel^="notstyle"]', []), - ('link[rel^="notstyle"]', []), - ('link[href^="bla"]', ['l1']), - ('a[href^="http://"]', ['bob', 'me']), - ('[href^="http://"]', ['bob', 'me']), - ('[id^="p"]', ['pmulti', 'p1']), - ('[id^="m"]', ['me', 'main']), - ('div[id^="m"]', ['main']), - ('a[id^="m"]', ['me']), - ('div[data-tag^="dashed"]', ['data1']) - ) - - def test_attribute_endswith(self): - self.assert_select_multiple( - ('[href$=".css"]', ['l1']), - ('link[href$=".css"]', ['l1']), - ('link[id$="1"]', ['l1']), - ('[id$="1"]', ['data1', 'l1', 'p1', 'header1', 's1a1', 's2a1', 's1a2s1', 'dash1']), - ('div[id$="1"]', ['data1']), - ('[id$="noending"]', []), - ) - - def test_attribute_contains(self): - self.assert_select_multiple( - # From test_attribute_startswith - ('[rel*="style"]', ['l1']), - ('link[rel*="style"]', ['l1']), - ('notlink[rel*="notstyle"]', []), - ('[rel*="notstyle"]', []), - ('link[rel*="notstyle"]', []), - ('link[href*="bla"]', ['l1']), - ('[href*="http://"]', ['bob', 'me']), - ('[id*="p"]', ['pmulti', 'p1']), - ('div[id*="m"]', ['main']), - ('a[id*="m"]', ['me']), - # From test_attribute_endswith - ('[href*=".css"]', ['l1']), - ('link[href*=".css"]', ['l1']), - ('link[id*="1"]', ['l1']), - ('[id*="1"]', ['data1', 'l1', 'p1', 'header1', 's1a1', 's1a2', 's2a1', 's1a2s1', 'dash1']), - ('div[id*="1"]', ['data1']), - ('[id*="noending"]', []), - # New for this test - ('[href*="."]', ['bob', 'me', 'l1']), - ('a[href*="."]', ['bob', 'me']), - ('link[href*="."]', ['l1']), - ('div[id*="n"]', ['main', 'inner']), - ('div[id*="nn"]', ['inner']), - ('div[data-tag*="edval"]', ['data1']) - ) - - def test_attribute_exact_or_hypen(self): - self.assert_select_multiple( - ('p[lang|="en"]', ['lang-en', 'lang-en-gb', 'lang-en-us']), - ('[lang|="en"]', ['lang-en', 'lang-en-gb', 'lang-en-us']), - ('p[lang|="fr"]', ['lang-fr']), - ('p[lang|="gb"]', []), - ) - - def test_attribute_exists(self): - self.assert_select_multiple( - ('[rel]', ['l1', 'bob', 'me']), - ('link[rel]', ['l1']), - ('a[rel]', ['bob', 'me']), - ('[lang]', ['lang-en', 'lang-en-gb', 'lang-en-us', 'lang-fr']), - ('p[class]', ['p1', 'pmulti']), - ('[blah]', []), - ('p[blah]', []), - ('div[data-tag]', ['data1']) - ) - - def test_quoted_space_in_selector_name(self): - html = """
    nope
    -
    yes
    - """ - soup = BeautifulSoup(html, 'html.parser') - [chosen] = soup.select('div[style="display: right"]') - assert "yes" == chosen.string - - def test_unsupported_pseudoclass(self): - with pytest.raises(NotImplementedError): - self.soup.select("a:no-such-pseudoclass") - - with pytest.raises(SelectorSyntaxError): - self.soup.select("a:nth-of-type(a)") - - def test_nth_of_type(self): - # Try to select first paragraph - els = self.soup.select('div#inner p:nth-of-type(1)') - assert len(els) == 1 - assert els[0].string == 'Some text' - - # Try to select third paragraph - els = self.soup.select('div#inner p:nth-of-type(3)') - assert len(els) == 1 - assert els[0].string == 'Another' - - # Try to select (non-existent!) fourth paragraph - els = self.soup.select('div#inner p:nth-of-type(4)') - assert len(els) == 0 - - # Zero will select no tags. - els = self.soup.select('div p:nth-of-type(0)') - assert len(els) == 0 - - def test_nth_of_type_direct_descendant(self): - els = self.soup.select('div#inner > p:nth-of-type(1)') - assert len(els) == 1 - assert els[0].string == 'Some text' - - def test_id_child_selector_nth_of_type(self): - self.assert_selects('#inner > p:nth-of-type(2)', ['p1']) - - def test_select_on_element(self): - # Other tests operate on the tree; this operates on an element - # within the tree. - inner = self.soup.find("div", id="main") - selected = inner.select("div") - # The
    tag was selected. The