Showing preview only (2,991K chars total). Download the full file or copy to clipboard to get everything.
Repository: imaNNeo/fl_chart
Branch: main
Commit: 9f74754de6bf
Files: 345
Total size: 2.8 MB
Directory structure:
gitextract_lew4f113/
├── .codecov.yml
├── .github/
│ ├── FUNDING.yml
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug_report.md
│ │ └── feature_request.md
│ ├── dependabot.yml
│ ├── pull_request_template.md
│ └── workflows/
│ ├── claude.yml
│ ├── codecov.yml
│ ├── gh-pages.yml
│ ├── pr-title-checker.yml
│ ├── publish.yml
│ └── verification.yml
├── .gitignore
├── .metadata
├── .pubignore
├── .vscode/
│ └── settings.json
├── CHANGELOG.md
├── CLAUDE.md
├── CONTRIBUTING.md
├── LICENSE
├── Makefile
├── README.md
├── SOURCES.md
├── _config.yml
├── analysis_options.yaml
├── example/
│ ├── .gitignore
│ ├── .metadata
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── android/
│ │ ├── .gitignore
│ │ ├── app/
│ │ │ ├── build.gradle.kts
│ │ │ └── src/
│ │ │ ├── debug/
│ │ │ │ └── AndroidManifest.xml
│ │ │ ├── main/
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── kotlin/
│ │ │ │ │ └── dev/
│ │ │ │ │ └── flchart/
│ │ │ │ │ └── app/
│ │ │ │ │ └── MainActivity.kt
│ │ │ │ └── res/
│ │ │ │ ├── drawable/
│ │ │ │ │ └── launch_background.xml
│ │ │ │ ├── drawable-v21/
│ │ │ │ │ └── launch_background.xml
│ │ │ │ ├── mipmap-anydpi-v26/
│ │ │ │ │ ├── ic_launcher.xml
│ │ │ │ │ └── ic_launcher_round.xml
│ │ │ │ ├── values/
│ │ │ │ │ ├── ic_launcher_background.xml
│ │ │ │ │ └── styles.xml
│ │ │ │ └── values-night/
│ │ │ │ └── styles.xml
│ │ │ └── profile/
│ │ │ └── AndroidManifest.xml
│ │ ├── build.gradle.kts
│ │ ├── gradle/
│ │ │ └── wrapper/
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ └── settings.gradle.kts
│ ├── assets/
│ │ └── data/
│ │ ├── amsterdam_2024_weather.csv
│ │ ├── bitcoin_2023-01-01_2023-12-31.csv
│ │ └── btc_last_year_price.json
│ ├── devtools_options.yaml
│ ├── ios/
│ │ ├── .gitignore
│ │ ├── Flutter/
│ │ │ ├── AppFrameworkInfo.plist
│ │ │ ├── Debug.xcconfig
│ │ │ └── Release.xcconfig
│ │ ├── Podfile
│ │ ├── Runner/
│ │ │ ├── AppDelegate.swift
│ │ │ ├── Assets.xcassets/
│ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Contents.json
│ │ │ │ └── LaunchImage.imageset/
│ │ │ │ ├── Contents.json
│ │ │ │ └── README.md
│ │ │ ├── Base.lproj/
│ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ └── Main.storyboard
│ │ │ ├── Info.plist
│ │ │ └── Runner-Bridging-Header.h
│ │ ├── Runner.xcodeproj/
│ │ │ ├── project.pbxproj
│ │ │ ├── project.xcworkspace/
│ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ └── xcshareddata/
│ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ └── xcshareddata/
│ │ │ └── xcschemes/
│ │ │ └── Runner.xcscheme
│ │ ├── Runner.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ │ └── RunnerTests/
│ │ └── RunnerTests.swift
│ ├── lib/
│ │ ├── cubits/
│ │ │ └── app/
│ │ │ ├── app_cubit.dart
│ │ │ └── app_state.dart
│ │ ├── main.dart
│ │ ├── presentation/
│ │ │ ├── menu/
│ │ │ │ ├── app_menu.dart
│ │ │ │ ├── fl_chart_banner.dart
│ │ │ │ └── menu_row.dart
│ │ │ ├── pages/
│ │ │ │ ├── chart_samples_page.dart
│ │ │ │ └── home_page.dart
│ │ │ ├── presentation_utils.dart
│ │ │ ├── resources/
│ │ │ │ ├── app_assets.dart
│ │ │ │ ├── app_colors.dart
│ │ │ │ ├── app_dimens.dart
│ │ │ │ ├── app_resources.dart
│ │ │ │ └── app_texts.dart
│ │ │ ├── router/
│ │ │ │ └── app_router.dart
│ │ │ ├── samples/
│ │ │ │ ├── bar/
│ │ │ │ │ ├── bar_chart_sample1.dart
│ │ │ │ │ ├── bar_chart_sample2.dart
│ │ │ │ │ ├── bar_chart_sample3.dart
│ │ │ │ │ ├── bar_chart_sample4.dart
│ │ │ │ │ ├── bar_chart_sample5.dart
│ │ │ │ │ ├── bar_chart_sample6.dart
│ │ │ │ │ ├── bar_chart_sample7.dart
│ │ │ │ │ └── bar_chart_sample8.dart
│ │ │ │ ├── candlestick/
│ │ │ │ │ └── candlestick_chart_sample1.dart
│ │ │ │ ├── chart_sample.dart
│ │ │ │ ├── chart_samples.dart
│ │ │ │ ├── line/
│ │ │ │ │ ├── line_chart_sample1.dart
│ │ │ │ │ ├── line_chart_sample10.dart
│ │ │ │ │ ├── line_chart_sample11.dart
│ │ │ │ │ ├── line_chart_sample12.dart
│ │ │ │ │ ├── line_chart_sample13.dart
│ │ │ │ │ ├── line_chart_sample2.dart
│ │ │ │ │ ├── line_chart_sample3.dart
│ │ │ │ │ ├── line_chart_sample4.dart
│ │ │ │ │ ├── line_chart_sample5.dart
│ │ │ │ │ ├── line_chart_sample6.dart
│ │ │ │ │ ├── line_chart_sample7.dart
│ │ │ │ │ ├── line_chart_sample8.dart
│ │ │ │ │ └── line_chart_sample9.dart
│ │ │ │ ├── pie/
│ │ │ │ │ ├── pie_chart_sample1.dart
│ │ │ │ │ ├── pie_chart_sample2.dart
│ │ │ │ │ └── pie_chart_sample3.dart
│ │ │ │ ├── radar/
│ │ │ │ │ └── radar_chart_sample1.dart
│ │ │ │ └── scatter/
│ │ │ │ ├── scatter_chart_sample1.dart
│ │ │ │ └── scatter_chart_sample2.dart
│ │ │ └── widgets/
│ │ │ ├── chart_holder.dart
│ │ │ ├── download_native_app_button.dart
│ │ │ ├── indicator.dart
│ │ │ └── legend_widget.dart
│ │ ├── urls.dart
│ │ └── util/
│ │ ├── app_helper.dart
│ │ ├── app_utils.dart
│ │ ├── csv_parser.dart
│ │ ├── device_info.dart
│ │ └── extensions/
│ │ ├── color_extensions.dart
│ │ ├── iterable_extensions.dart
│ │ └── list_extensions.dart
│ ├── linux/
│ │ ├── .gitignore
│ │ ├── CMakeLists.txt
│ │ ├── flutter/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── generated_plugin_registrant.cc
│ │ │ ├── generated_plugin_registrant.h
│ │ │ └── generated_plugins.cmake
│ │ ├── main.cc
│ │ ├── my_application.cc
│ │ ├── my_application.h
│ │ └── runner/
│ │ ├── CMakeLists.txt
│ │ ├── main.cc
│ │ ├── my_application.cc
│ │ └── my_application.h
│ ├── macos/
│ │ ├── .gitignore
│ │ ├── Flutter/
│ │ │ ├── Flutter-Debug.xcconfig
│ │ │ ├── Flutter-Release.xcconfig
│ │ │ └── GeneratedPluginRegistrant.swift
│ │ ├── Podfile
│ │ ├── Runner/
│ │ │ ├── AppDelegate.swift
│ │ │ ├── Assets.xcassets/
│ │ │ │ └── AppIcon.appiconset/
│ │ │ │ └── Contents.json
│ │ │ ├── Base.lproj/
│ │ │ │ └── MainMenu.xib
│ │ │ ├── Configs/
│ │ │ │ ├── AppInfo.xcconfig
│ │ │ │ ├── Debug.xcconfig
│ │ │ │ ├── Release.xcconfig
│ │ │ │ └── Warnings.xcconfig
│ │ │ ├── DebugProfile.entitlements
│ │ │ ├── Info.plist
│ │ │ ├── MainFlutterWindow.swift
│ │ │ └── Release.entitlements
│ │ ├── Runner.xcodeproj/
│ │ │ ├── project.pbxproj
│ │ │ ├── project.xcworkspace/
│ │ │ │ └── xcshareddata/
│ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ └── xcshareddata/
│ │ │ └── xcschemes/
│ │ │ └── Runner.xcscheme
│ │ ├── Runner.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ └── IDEWorkspaceChecks.plist
│ │ └── RunnerTests/
│ │ └── RunnerTests.swift
│ ├── pubspec.yaml
│ ├── web/
│ │ ├── CNAME
│ │ ├── index.html
│ │ └── manifest.json
│ └── windows/
│ ├── .gitignore
│ ├── CMakeLists.txt
│ ├── flutter/
│ │ ├── CMakeLists.txt
│ │ ├── generated_plugin_registrant.cc
│ │ ├── generated_plugin_registrant.h
│ │ └── generated_plugins.cmake
│ └── runner/
│ ├── CMakeLists.txt
│ ├── Runner.rc
│ ├── flutter_window.cpp
│ ├── flutter_window.h
│ ├── main.cpp
│ ├── resource.h
│ ├── runner.exe.manifest
│ ├── utils.cpp
│ ├── utils.h
│ ├── win32_window.cpp
│ └── win32_window.h
├── fl_chart.iml
├── lib/
│ ├── fl_chart.dart
│ └── src/
│ ├── chart/
│ │ ├── bar_chart/
│ │ │ ├── bar_chart.dart
│ │ │ ├── bar_chart_data.dart
│ │ │ ├── bar_chart_helper.dart
│ │ │ ├── bar_chart_painter.dart
│ │ │ └── bar_chart_renderer.dart
│ │ ├── base/
│ │ │ ├── axis_chart/
│ │ │ │ ├── axis_chart_data.dart
│ │ │ │ ├── axis_chart_extensions.dart
│ │ │ │ ├── axis_chart_helper.dart
│ │ │ │ ├── axis_chart_painter.dart
│ │ │ │ ├── axis_chart_scaffold_widget.dart
│ │ │ │ ├── axis_chart_widgets.dart
│ │ │ │ ├── scale_axis.dart
│ │ │ │ ├── side_titles/
│ │ │ │ │ ├── side_titles_flex.dart
│ │ │ │ │ └── side_titles_widget.dart
│ │ │ │ └── transformation_config.dart
│ │ │ ├── base_chart/
│ │ │ │ ├── base_chart_data.dart
│ │ │ │ ├── base_chart_painter.dart
│ │ │ │ ├── fl_touch_event.dart
│ │ │ │ └── render_base_chart.dart
│ │ │ ├── custom_interactive_viewer.dart
│ │ │ └── line.dart
│ │ ├── candlestick_chart/
│ │ │ ├── candlestick_chart.dart
│ │ │ ├── candlestick_chart_data.dart
│ │ │ ├── candlestick_chart_helper.dart
│ │ │ ├── candlestick_chart_painter.dart
│ │ │ └── candlestick_chart_renderer.dart
│ │ ├── line_chart/
│ │ │ ├── line_chart.dart
│ │ │ ├── line_chart_data.dart
│ │ │ ├── line_chart_helper.dart
│ │ │ ├── line_chart_painter.dart
│ │ │ └── line_chart_renderer.dart
│ │ ├── pie_chart/
│ │ │ ├── pie_chart.dart
│ │ │ ├── pie_chart_data.dart
│ │ │ ├── pie_chart_helper.dart
│ │ │ ├── pie_chart_painter.dart
│ │ │ └── pie_chart_renderer.dart
│ │ ├── radar_chart/
│ │ │ ├── radar_chart.dart
│ │ │ ├── radar_chart_data.dart
│ │ │ ├── radar_chart_painter.dart
│ │ │ ├── radar_chart_renderer.dart
│ │ │ └── radar_extension.dart
│ │ └── scatter_chart/
│ │ ├── scatter_chart.dart
│ │ ├── scatter_chart_data.dart
│ │ ├── scatter_chart_helper.dart
│ │ ├── scatter_chart_painter.dart
│ │ └── scatter_chart_renderer.dart
│ ├── extensions/
│ │ ├── bar_chart_data_extension.dart
│ │ ├── border_extension.dart
│ │ ├── color_extension.dart
│ │ ├── edge_insets_extension.dart
│ │ ├── fl_border_data_extension.dart
│ │ ├── fl_titles_data_extension.dart
│ │ ├── gradient_extension.dart
│ │ ├── paint_extension.dart
│ │ ├── path_extension.dart
│ │ ├── rrect_extension.dart
│ │ ├── side_titles_extension.dart
│ │ ├── size_extension.dart
│ │ └── text_align_extension.dart
│ └── utils/
│ ├── canvas_wrapper.dart
│ ├── lerp.dart
│ ├── path_drawing/
│ │ └── dash_path.dart
│ └── utils.dart
├── pubspec.yaml
├── repo_files/
│ ├── documentations/
│ │ ├── bar_chart.md
│ │ ├── base_chart.md
│ │ ├── candlestick_chart.md
│ │ ├── handle_animations.md
│ │ ├── handle_touches.md
│ │ ├── handle_transformations.md
│ │ ├── index.md
│ │ ├── line_chart.md
│ │ ├── migration_guides/
│ │ │ ├── 0.50.0/
│ │ │ │ └── MIGRATION_00_50_00.md
│ │ │ ├── 0.55.0/
│ │ │ │ └── MIGRATION_00_55_00.md
│ │ │ ├── 0.67.0/
│ │ │ │ └── MIGRATION_00_67_00.md
│ │ │ ├── 0.70.0/
│ │ │ │ └── MIGRATION_00_70_00.md
│ │ │ └── INDEX.md
│ │ ├── pie_chart.md
│ │ ├── radar_chart.md
│ │ └── scatter_chart.md
│ ├── drawio/
│ │ └── flchart.drawio
│ └── images/
│ └── architecture/
│ └── fl_chart_architecture.txt
├── scripts/
│ └── makefile_scripts.sh
└── test/
├── chart/
│ ├── bar_chart/
│ │ ├── bar_chart_data_test.dart
│ │ ├── bar_chart_helper_test.dart
│ │ ├── bar_chart_painter_test.dart
│ │ ├── bar_chart_painter_test.mocks.dart
│ │ ├── bar_chart_renderer_test.dart
│ │ ├── bar_chart_renderer_test.mocks.dart
│ │ └── bar_chart_test.dart
│ ├── base/
│ │ ├── axis_chart/
│ │ │ ├── axis_chart_data_test.dart
│ │ │ ├── axis_chart_data_test.mocks.dart
│ │ │ ├── axis_chart_extensions_test.dart
│ │ │ ├── axis_chart_helper_test.dart
│ │ │ ├── axis_chart_scaffold_widget_test.dart
│ │ │ ├── axis_chart_widgets_test.dart
│ │ │ ├── base_chart_data_test.dart
│ │ │ ├── side_titles/
│ │ │ │ ├── side_titles_flex_test.dart
│ │ │ │ ├── side_titles_test.dart
│ │ │ │ └── side_titles_widget_test.dart
│ │ │ └── transformation_config_test.dart
│ │ ├── line_test.dart
│ │ ├── render_base_chart_test.dart
│ │ └── render_base_chart_test.mocks.dart
│ ├── candlestick_chart/
│ │ ├── candlestick_chart_data_test.dart
│ │ ├── candlestick_chart_helper_test.dart
│ │ ├── candlestick_chart_painter_test.dart
│ │ ├── candlestick_chart_painter_test.mocks.dart
│ │ ├── candlestick_chart_renderer_test.dart
│ │ ├── candlestick_chart_renderer_test.mocks.dart
│ │ └── candlestick_chart_test.dart
│ ├── data_pool.dart
│ ├── line_chart/
│ │ ├── line_chart_data_test.dart
│ │ ├── line_chart_helper_test.dart
│ │ ├── line_chart_painter_test.dart
│ │ ├── line_chart_painter_test.mocks.dart
│ │ ├── line_chart_renderer_test.dart
│ │ ├── line_chart_renderer_test.mocks.dart
│ │ └── line_chart_test.dart
│ ├── pie_chart/
│ │ ├── pie_chart_data_test.dart
│ │ ├── pie_chart_helper_test.dart
│ │ ├── pie_chart_painter_test.dart
│ │ ├── pie_chart_painter_test.mocks.dart
│ │ ├── pie_chart_renderer_test.dart
│ │ └── pie_chart_renderer_test.mocks.dart
│ ├── radar_chart/
│ │ ├── radar_chart_data_test.dart
│ │ ├── radar_chart_painter_test.dart
│ │ ├── radar_chart_painter_test.mocks.dart
│ │ ├── radar_chart_renderer_test.dart
│ │ └── radar_chart_renderer_test.mocks.dart
│ └── scatter_chart/
│ ├── scatter_chart_data_test.dart
│ ├── scatter_chart_helper_test.dart
│ ├── scatter_chart_painter_test.dart
│ ├── scatter_chart_painter_test.mocks.dart
│ ├── scatter_chart_renderer_test.dart
│ ├── scatter_chart_renderer_test.mocks.dart
│ └── scatter_chart_test.dart
├── extensions/
│ ├── bar_chart_data_extensions_test.dart
│ ├── border_extension_test.dart
│ ├── color_extensions_test.dart
│ ├── edge_insets_extension_test.dart
│ ├── fl_border_data_extension_test.dart
│ ├── fl_titles_data_extension_test.dart
│ ├── gradient_extension_test.dart
│ ├── paint_extension_test.dart
│ ├── path_extension_test.dart
│ ├── rrect_extension_test.dart
│ ├── side_titles_extension_test.dart
│ ├── size_extension_test.dart
│ └── text_align_extension_test.dart
├── helper_methods.dart
├── matchers.dart
└── utils/
├── canvas_wrapper_test.dart
├── canvas_wrapper_test.mocks.dart
├── lerp_test.dart
├── utils_test.dart
└── utils_test.mocks.dart
================================================
FILE CONTENTS
================================================
================================================
FILE: .codecov.yml
================================================
comment:
require_changes: true
coverage:
status:
project:
default:
target: auto
threshold: 1%
patch:
default:
target: 50%
threshold: 10%
precision: 1
range: "80...100"
# Ignore all the file inside the example and
# end eventually also the autogenerate file
ignore:
- '**/example/'
- '**/*.g.dart'
================================================
FILE: .github/FUNDING.yml
================================================
github: [imaNNeo]
custom: ["https://www.buymeacoffee.com/fl_chart"]
================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.md
================================================
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''
---
** Don't make a duplicate issue.
You can search in issues to make sure there isn't any already opened issue with your concern.
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Provide us a completely reproducible code (contains the main function) in a `main.dart` file, it helps us to find the bug immediately.
**Screenshots**
If applicable, add screenshots, or videoshots to help explain your problem.
**Versions**
- which version of the Flutter are you using?
- which version of the FlChart are you using?
================================================
FILE: .github/ISSUE_TEMPLATE/feature_request.md
================================================
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''
---
** Don't make a duplicate issue.
You can search in issues to make sure there isn't any already opened issue with your concern.
**Is your feature request relasted 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.
================================================
FILE: .github/dependabot.yml
================================================
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
assignees:
- "dependabot"
commit-message:
prefix: "chore: "
- package-ecosystem: "pub"
directory: "/"
schedule:
interval: "daily"
assignees:
- "dependabot"
commit-message:
prefix: "chore: "
================================================
FILE: .github/pull_request_template.md
================================================
<!-- Exclude from commit message -->
<!--
The title of your PR on the line above should start with a [Conventional Commit] prefix
(`fix:`, `feat:`, `docs:`, `test:`, `chore:`, `refactor:`, `perf:`, `build:`, `ci:`,
`style:`, `revert:`). This title will later become an entry in the [CHANGELOG], so please
make sure that it summarizes the PR adequately.
Don't remove the "exclude from commit message" comments below. They are used to prevent
the PR description template from being included in the git log.
Only change the "Replace this text" parts.
-->
# Description
<!--
Provide a concise description of what this PR is doing.
Keep it short and clear, as this text will be included in the permanent Git commit history.
-->
<!-- End of exclude from commit message -->
Replace this text.
<!-- Exclude from commit message -->
## Checklist
<!--
Before you create this PR confirm that it meets all requirements listed below by checking the
relevant checkboxes with `[x]`. If some checkbox is not applicable, mark it as `[-]`.
-->
- [ ] I have followed the [Contributor Guide] when preparing my PR.
- [ ] I have updated/added tests for ALL new/updated/fixed functionality.
- [ ] I have updated/added relevant documentation and added dartdoc comments with `///`.
- [ ] I have updated/added relevant examples in `example`.
## Breaking Change?
<!--
Would your PR require fl_chart users to update their apps following your change?
If yes, then the title of the PR should include "!" (for example, `feat!:`, `fix!:`). See
[Conventional Commit] for details. Also, for a breaking PR uncomment and fill in the "Migration
instructions" section below.
-->
- [ ] Yes, this PR is a breaking change.
- [ ] No, this PR is not a breaking change.
<!--
### Migration instructions
If the PR is breaking, uncomment this header and add instructions for how to migrate from the
currently released version.
-->
<!-- End of exclude from commit message -->
<!-- Exclude from commit message -->
## Related Issues
<!--
Indicate which issues this PR resolves, if any. For example:
Closes #1234
!-->
<!-- Links -->
[Contributor Guide]: https://github.com/imaNNeo/fl_chart/blob/main/CONTRIBUTING.md
[Conventional Commit]: https://conventionalcommits.org
[CHANGELOG]: https://github.com/imaNNeo/fl_chart/blob/main/CHANGELOG.md
<!-- End of exclude from commit message -->
================================================
FILE: .github/workflows/claude.yml
================================================
name: Claude Code
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
issues:
types: [opened, assigned]
pull_request_review:
types: [submitted]
jobs:
claude:
if: |
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read
issues: read
id-token: write
actions: read # Required for Claude to read CI results on PRs
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Run Claude Code
id: claude
uses: anthropics/claude-code-action@v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
# This is an optional setting that allows Claude to read CI results on PRs
additional_permissions: |
actions: read
# Optional: Give a custom prompt to Claude. If this is not specified, Claude will perform the instructions specified in the comment that tagged it.
# prompt: 'Update the pull request description to include a summary of changes.'
# Optional: Add claude_args to customize behavior and configuration
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
# or https://code.claude.com/docs/en/cli-reference for available options
# claude_args: '--allowed-tools Bash(gh pr:*)'
================================================
FILE: .github/workflows/codecov.yml
================================================
name: Code Coverage
on: [ push, pull_request ]
jobs:
upload:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
channel: "stable"
- name: Get packages
run: flutter pub get
- name: Generate coverage file
run: flutter test --coverage
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
files: ./coverage/lcov.info
flags: flutter
================================================
FILE: .github/workflows/gh-pages.yml
================================================
name: Gh-Pages
on:
push:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Flutter
uses: subosito/flutter-action@v2
- name: Set fl_chart Version
run: |
VERSION=$(grep "version:" pubspec.yaml | awk '{ print $2 }')
echo "USING_FL_CHART_VERSION=$VERSION" >> $GITHUB_ENV
- run: flutter config --enable-web
working-directory: example
- run: flutter build web --release --wasm --base-href=/ --dart-define="USING_FL_CHART_VERSION=${{ env.USING_FL_CHART_VERSION }}"
working-directory: example
- run: git config user.name github-actions
working-directory: example
- run: git config user.email github-actions@github.com
working-directory: example
- run: git --work-tree build/web add --all
working-directory: example
- run: git commit -m "Automatic deployment by github-actions"
working-directory: example
- run: git push origin HEAD:gh-pages --force
working-directory: example
================================================
FILE: .github/workflows/pr-title-checker.yml
================================================
name: "Lint PR Title"
on:
pull_request_target:
types:
- opened
- edited
- synchronize
jobs:
main:
name: Validate PR title
runs-on: ubuntu-latest
steps:
- uses: amannn/action-semantic-pull-request@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
# Types allowed (Standard Conventional Commits)
types: |
feat
fix
docs
style
refactor
perf
test
build
ci
chore
revert
# If the PR only contains one commit, it's often useful to check if that commit
# message also follows the convention.
checkLatestCommitMessage: false
# You can also add a regex to validate the subject line (the part after the colon)
# Flame enforces that it starts with a capital letter. We can do the same if you like.
subjectPattern: ^[^a-z].+$
subjectPatternError: |
The subject of the PR can't begin with a lowercase letter.
================================================
FILE: .github/workflows/publish.yml
================================================
name: Publish plugin
on:
release:
types: [ published ]
jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Publish
uses: k-paxian/dart-package-publisher@master
with:
credentialJson: ${{ secrets.CREDENTIAL_JSON }}
================================================
FILE: .github/workflows/verification.yml
================================================
name: Code Verification
on: [ push, pull_request ]
jobs:
verify:
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v4
- name: Setup Flutter
uses: subosito/flutter-action@v2
with:
channel: stable
- name: Print Flutter version
run: flutter --version
- name: Get packages
run: flutter pub get
- name: Check formatting
run: make checkFormat
- name: Analyze the source code
run: make analyze
- name: Run tests
run: make runTests
================================================
FILE: .gitignore
================================================
.DS_Store
.dart_tool/
.idea/
.packages
.pub/
build/
ios/.generated/
ios/Flutter/Generated.xcconfig
ios/Runner/GeneratedPluginRegistrant.*
pubspec.lock
.vscode/launch.json
example/android/.project
example/android/.settings/org.eclipse.buildship.core.prefs
example/android/app/.classpath
example/android/app/.project
example/android/app/.settings/org.eclipse.buildship.core.prefs
example/macos/Flutter/ephemeral/
coverage/
.fvm/
# Files generated by dart tools
.dart_tool
================================================
FILE: .metadata
================================================
# This file tracks properties of this Flutter project.
# Used by Flutter tool to assess capabilities and perform upgrades etc.
#
# This file should be version controlled and should not be manually edited.
version:
revision: 7a4c33425ddd78c54aba07d86f3f9a4a0051769b
channel: beta
project_type: package
================================================
FILE: .pubignore
================================================
/docs/*
/repo_files/*
================================================
FILE: .vscode/settings.json
================================================
{
"dart.lineLength": 80,
"editor.formatOnSave": true,
"editor.formatOnType": true,
"editor.suggest.snippetsPreventQuickSuggestions": false,
"editor.tabCompletion": "onlySnippets",
"editor.wordBasedSuggestions": "off",
"files.insertFinalNewline": true,
"editor.defaultFormatter": "Dart-Code.dart-code"
}
================================================
FILE: CHANGELOG.md
================================================
## 1.2.0
* **BUGFIX** (by @imaNNeo) Consider the `enabled` property in [LineTouchData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/line_chart.md#linetouchdata-read-about-touch-handling), [BarTouchData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/bar_chart.md#bartouchdata-read-about-touch-handling), [PieTouchData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/pie_chart.md#pietouchdata-read-about-touch-handling), [ScatterTouchData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/scatter_chart.md#scattertouchdata-read-about-touch-handling), [RadarTouchData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/radar_chart.md#radartouchdata-read-about-touch-handling) and [CandlestickTouchData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/candlestick_chart.md#candlesticktouchdata-read-about-touch-handling), #1676
* **BUGFIX** (by @artshooter) Fix wrong bar chart color with small value, #1757
* **FEATURE** (by @3ph) Add `horizontalMirrored` and `verticalMirrored` properties in our `LabelDirection` enum which is used in ([HorizontalLineLabel](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/base_chart.md#HorizontalLineLabel) and [VerticalLineLabel](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/base_chart.md#VerticalLineLabel)), #1890
* **FEATURE** (by @Vizten18) Add `cornerRadius` property in the [PieChartSectionData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/pie_chart.md#piechartsectiondata), #1175
* **IMPROVEMENT** (by @imaNNeo) Add convention and linter (checker) for PRs title and updated contributing guideline. We're gonna have automated changelog generation from the next release
* **BUGFIX** (by @diymelvin) Fix inverted lowerBy/upperBy in error range calculation, #2031
* **FEATURE** (by @imaNNeo) Add `label` property in the [BarChartRodData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/bar_chart.md#barchartroddata) to allow you to show a label on top of each bar rod, #2071, #84
## 1.1.1
* **IMPROVEMENT** (by @imaNNeo) Upgrade `vector_math` dependency to `2.2.0`, #1985
* **IMPROVEMENT** (by @imaNNeo) Upgrade `build_runner` (dev) dependency to `2.8.0`
* **IMPROVEMENT** (by @imaNNeo) Upgrade `mockito` (dev) dependency to `5.5.1`
* **IMPROVEMENT** (by @imaNNeo) Upgrade `very_good_analysis` (dev) dependency to `9.0.0`
## 1.1.0
* **FEATURE** (by @kamilJ96) Add `gradient` property inside our `BarChartRodStackItem` to be able to render gradient (along with the possibility to render a solid color), #919
* **FEATURE** (by @alettsy) Add `sideTitleAlignment` property in our `AxisTitles` to allow you to control the alignment of side titles (for example show them inside the chart), #1946
* **FEATURE** (by @huanghui1998hhh) Add `gradientArea` property to `LineChartBarData` to allow you to control the scope of gradient effects, #1925
* **FEATURE** (by @alikhavarii13) Add `label` and `labelStyle` properties in our `BarChartRodStackItem` to allow you to show labels on each stack item, #598
* **BREAKING** ⚠️ (by @alikhavarii13) `borderSide` now is a [named parameter](https://dart.dev/language/functions#named-parameters) (instead of a [optional positional parameter](https://dart.dev/language/functions#optional-positional-parameters) in `BarChartRodStackItem` constructor. As it is a very minor breaking change, we decided to include it in this minor release (instead of doing a major release based on the [semantic versioning](https://semver.org/). Sorry about that!
So you just need to change this:
```dart
BarChartRodStackItem(
0,
10,
Colors.green,
BorderSide(color: Colors.white),
),
```
to this:
```dart
BarChartRodStackItem(
0,
10,
Colors.green,
borderSide: BorderSide(color: Colors.white),
),
```
## 1.0.0
<img width="600" alt="Image" src="https://github.com/user-attachments/assets/3d8b58f4-4ce7-489f-ba45-27ece063f57c" />
* **FEATURE** (by @imaNNeo) Implement a new chart type called CandlestickChart. You can take a look at the documentation [here](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/candlestick_chart.md). And I just implemented a basic example to show the Bitcoin price in 2024, you can take a look at it in our sample app [here](https://app.flchart.dev/#/candlestick). #433, #1143
<img width="400" alt="Image" src="https://github.com/user-attachments/assets/f71b9e4f-3aa8-4688-a5c1-ffd8ff12fba1" />
* **BREAKING** (by @imaNNeo) Remove the deprecated `tooltipRoundedRadius` property -> you should use `tooltipBorderRadius` instead.
* **BUGFIX** (by @imaNNeo) Fix the BarChartData mismatch issue when changing the data, #1911
* **FEATURE** (by @frybitsinc) Add fillGradient property in [RadarDataSet](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/radar_chart.md#radardataset)
* **BREAKING** (by @imaNNeo) Upgrade the min flutter version to `3.27.4`. So please make sure that your project is not using an old flutter version, #1846
* **IMPORTANT** (by @imaNNeo) You can read more about this release and the history of fl_chart here in my [blog post](https://flutter4fun.com/fl-chart-1-0-0)
## 0.71.0
* **IMPROVEMENT** (by @MattiaPispisa) Add a new property called `BorderRadius tooltipBorderRadius` instead of (deprecated) `double tooltipRoundedRadius` in `BarTouchTooltipData`, `LineTouchTooltipData` and `ScatterTouchTooltipData` #1715
* **FEATURE** (by @frybitsinc) Add `children` property in our [RadarChartTitle](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/radar_chart.md#radarcharttitle), #1840
* **BUGFIX** (by @morvagergely) Fix the initial zoom issue in our scrollable LineChart, #1863
## 0.70.2
* **FEATURE** (by @imaNNeo) Add error range feature in our axis-based charts. You can set `xError` and `yError` in the [FlSpot](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/base_chart.md#flspot) or `toYErrorRange` in [BarChartRodData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/bar_chart.md#barchartroddata). Also we have `errorIndicatorData` property in our [LineChartData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/line_chart.md#linechartdata), [BarChartData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/bar_chart.md#barchartdata) and [ScatterChartData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/scatter_chart.md#scatterchartdata) that is responsible to render the error bars. You can take a look at the [LineChartSample 13](https://github.com/imaNNeo/fl_chart/blob/main/example/lib/presentation/samples/line/line_chart_sample13.dart) and [BarChartSample 8](https://github.com/imaNNeo/fl_chart/blob/main/example/lib/presentation/samples/bar/bar_chart_sample8.dart) in our [sample app](https://app.flchart.dev), #1483
## 0.70.1
* **FEATURE** (by @Peetee06) Add `panEnabled` and `scaleEnabled` properties in the TransformationController, #1818
* **FEATURE** (by @mitulagr2) Add `renderPriority` feature in our [ScatterSpot](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/scatter_chart.md#scatterspot), #1545
* **FEATURE** (by @imaNNeo) Add `rotationQuarterTurns` property in our Axis-Based charts (such as [LineChart](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/line_chart.md), [BarChart](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/bar_chart.md) and [ScatterChart](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/scatter_chart.md)). It allows you to rotate the chart 90 degrees (clockwise) in each turn. For example you can have Horizontal Bar Charts by setting `rotationQuarterTurns` to 1 (which rotates the chart 90 degrees clockwise). It works exactly like [RotatesBox](https://api.flutter.dev/flutter/widgets/RotatedBox-class.html) widget, #113
* **FEATURE** (by @soraef) Add `isMinValueAtCenter` property in the [RadarChart](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/radar_chart.md) to allow the user to set the minimum value at the center of the chart, #1351, #1442
* **BREAKING** (by @imaNNeo) Add `TitleMeta` parameter in the `SideTitleWidget` instead of `axisSide`
## 0.70.0
* **FEATURE** (by @Peetee06) Implemented a 5 years-old feature request about scroll and zoom support in our axis-based charts. Special thanks to @Peetee06 who made it happen, #71
* **IMPROVEMENT** (by @Peetee06) Added functionality to control the transformation of axis-based charts using `FlTransformationConfig` class. You can now enable scaling and panning for `LineChart`, `BarChart` and `ScatterChart` using this class
* **IMPROVEMENT** (by @Peetee06) Added some new unit tests in `bar_chart_data_extensions_test.dart`, `gradient_extension_test.dart` and fixed a typo in `bar_chart_data.dart`
* **BREAKING** (by @Peetee06) Fixed the equatable functionality in our BarChart. We hope it will not affect anything in our chart, but because the behaviour is changed, we marked it as a breaking change. (read more [here](https://github.com/imaNNeo/fl_chart/pull/1789#discussion_r1858371718))
* **BREAKING** (by @Peetee06) `BarChart` is not const anymore due to adding an assert to check if transformations are allowed depending on the `BarChartData.alignment` property (read more [here](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/migration_guides/0.70.0/MIGRATION_00_70_00.md))
* **IMPROVEMENT** (by @Peetee06) Upgrade to the new Flutter version ([3.27.0](https://medium.com/flutter/whats-new-in-flutter-3-27-28341129570c)), #1804
* **IMPROVEMENT** (by @AliAkberAakash) Minor typo fix in our line chart documentation, #1795
* **IMPROVEMENT** (by @imaNNeo) Fixed the code coverage API rate-limit issue
* **Improvement** (by @imaNNeo) Published the example app in Google Play and App Store. Other stores (such as [snap store](https://snapcraft.io/store) and [Microsoft Store](https://apps.microsoft.com/home)) will come next. You can download the Android version here in [Google Play](https://play.google.com/store/apps/details?id=dev.flchart.app) and the iOS version here in [App Store](https://apps.apple.com/us/app/fl-chart/id6476523019)
## 0.69.2
* **IMPROVEMENT** (by @imaNNeo) Fix the analyzer warnings (to have maximum score in the [pub.dev](https://pub.dev/packages/fl_chart/score))
## 0.69.1
* **IMPROVEMENT** (by @moshe5745) Update the docs related to line chart's `duration` and `curve` properties, #1618
* **IMPROVEMENT** (by @imaNNeo) Deprecate `swapAnimationDuration` and `swapAnimationCurve` properties to use `curve` and `duration` instead to keep the consistency over the project, #1618
* **BUGFIX** (by @aimawari) Fixed lots of issues related to the zero value in the PieChartSectionData, #697, #817 and #1632
## 0.69.0
* **BUGFIX** (by @imaNNeo) Fix a memory leak issue in the axis-based charts, there was a logic to calculate and cache the minX, maxX, minY and maxY properties to reduce the computation cost. But it caused some memory issues, as we don't have a quick solution for this, we disabled the caching logic for now, later we can move the calculation logic to the render objects to keep and update them only when the data is changed, #1106, #1693
* **BUGFIX** (by @imaNNeo) Fix showing grid lines even when there is no line to show in the LineChart, #1691
* **IMPROVEMENT** (by @sczesla) Allow users to control minIncluded and maxIncluded using SideTitles, #906
* **IMPROVEMENT** (by @elizabethzhenliu) Reverse the touch order in ScatterChart, so now the top spots are touched first, #1675
* **IMPROVEMENT** (by @ksw2000) Remove redundant math import, #1683
* **IMPROVEMENT** (by @Neer-Pathak) Fix linux example build issue, #1668
* **IMPROVEMENT** (by @TobiasRump) Update the bar chart documentation, #1662
## 0.68.0
* **Improvement** (by @imaNNeo) Update LineChartSample6 to implement a way to show a tooltip on a single spot, #1620
* **Feature** (by @herna) Add `titleSunbeamLayout` inside the [BarChartData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/bar_chart.md#barchartdata) to allow the user to customize the layout of the title sunbeam
* **Improvement** (by @imaNNeo) Add LineChart and BarChart explanation videos on top of the respective documentation pages ([LineChart video](https://youtu.be/F3wTxTdAFaU?si=8lwlypKjt-0aJJK0), [BarChart video](https://youtu.be/vYe0RY1nCAA?si=30q_7eNn9MDLcph4))
## 0.67.0
* **FEATURE** (by @julien4215) Add direction property to the [HorizontalLineLabel](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/base_chart.md#horizontallinelabel) and [VerticalLineLabel](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/base_chart.md#verticallinelabel), #1574
* **FEATURE** (by @apekshamehta) Added new method called getTooltipColor for axis charts (bar,line,scatter) to change background color of tooltip dynamically, #1279.
* **BREAKING** (by @apekshamehta) Removed tooltipBgColor property from Bar, Line and Scatter Charts (you can now use `getTooltipColor` which provides more customizability), checkout the [full migration guide here](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/migration_guides/0.67.0/MIGRATION_00_67_00.md).
```dart
/// Migration guide:
/// This is the old way:
BarChartData(
barTouchData: BarTouchData(
touchTooltipData: BarTouchTooltipData(
tooltipBgColor: Colors.blueGrey,
)
)
)
/// This is the new way:
BarChartData(
barTouchData: BarTouchData(
touchTooltipData: BarTouchTooltipData(
getTooltipColor: (BarChartGroupData group) => Colors.blueGrey,
)
)
)
```
## 0.66.2
* **BUGFIX** (by @stwarwas) Remove dart.io to fix web platform issue, #1577
## 0.66.1
* **BUGFIX** (by @imaNNeo) Fix PieChart blackout issue, #1538
* **BUGFIX** (by @imaNNeo) Fix memory leak in LineChart and BarChart, #1106
## 0.66.0
* **IMPROVEMENT** (by @imaNNeo) Add Flutter sdk constraints to the pubspec.yaml to force the user/developer to upgrade the Flutter version to 3.16.0 (latest), #1509
* **IMPROVEMENT** (by @imaNNeo) Add `dotPainter` property to ScatterSpot to allow customizing the dot painter, #568
* **BREAKING** (by @imaNNeo) Remove `color` and `radius` properties from ScatterSpot (use `dotPainter` instead), #568
* **BREAKING** (by @imaNNeo) Change the default value of FlDotCirclePainter.`strokeWidth` to 0.0
```dart
/// Migration guide:
/// This is the old way:
ScatterSpot(
2,
5,
color: Colors.red,
radius: 12,
)
/// This is the new way:
ScatterSpot(
2,
8,
dotPainter: FlDotCirclePainter(
color: Colors.red,
radius: 22,
),
),
```
* **BUGFIX** (by @imaNNeo) Fix barChart tooltip for values below or above the 0 point, #1462
* **BUGFIX** (by @imaNNeo) Fix pieChart drawing single section on iPhone, #1515
* **IMPROVEMENT** (by @imaNNeo) Add gradient property to the [HorizontalLine](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/base_chart.md#horizontalline) and [VerticalLine](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/base_chart.md#verticalline), #1525
* **FEATURE** (by @raldhafiri) Add gradient property to the [PieChartSectionData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/pie_chart.md#piechartsectiondata), #1511
* **IMPROVEMENT** (by @imaNNeo) Rename default branch `master` to `main`
* **IMPROVEMENT** (by @imaNNeo) Update flutter sdk constraints to remove the upper bound limit (Read more [here](https://dart.dev/go/flutter-upper-bound-deprecation)).
## 0.65.0
* **FEATURE** (by @Dartek12) Added gradient to [FlLine](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/base_chart.md#FlLine), #1197
* **BUGFIX** (by @imaNNeo) Fix bar line shadow crash when we have only one (or zero) spot, #1466
* **BUGFIX** (by @imaNNeo) Fix having negative `toY` (or positive `fromY`) in BarChart's `minY` and `maxY` calculations, #1470
* **BUGFIX** (by @bobatsar) Fix bars drawn outside of diagram
* **FEATURE** (by @k0psutin) Add dashed border to BarChartRodData, #1144
* **FEATURE** (by @imaNNeo) Allow to show single point line in LineChart, #1438
## 0.64.0
* **BUGFIX** (by @Anas35) Fix Tooltip not displaying when value from BackgroundBarChartRodData is less than zero. #1345.
* **BUGFIX** (by @imaNNeo) Fix Negative BarChartRodStackItem are not drawn correctly bug, #1347
* **BUGFIX** (by @imaNNeo) Fix bar_chart_helper minY calculation bug, #1388
* **IMPROVEMENT** (by @imaNNeo) Consider fraction digits when formatting chart side titles, #1267
## 0.63.0
* **BUGFIX** (by @imaNNeo) Fix PieChart crash on web-renderer html by ignoring `sectionsSpace` when `Path.combine()` does not work (it's flutter engine [issue](https://github.com/flutter/flutter/issues/44572)), #955
* **BUGFIX** (by @imaNNeo) Fix ScatterChart long-press interaction bug (disappears when long-pressing on the chart), #1318
* **FEATURE** (by @imaNNeo) Upgrade dart version to [3.0](https://dart.dev/resources/dart-3-migration)
## 0.62.0
* **BUGFIX** (by @JoshMart) Fix extra lines not painting when at chart min or max, #1255.
* **BUGFIX** (by @imaNNeo) Check if mounted before calling setState in _handleBuiltInTouch methods in bar, line and scatter charts, #1101
* **FEATURE** (by @MagdyYacoub1): Added gradient color to [RangeAnnotations](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/base_chart.md#rangeannotations) by adding gradient attribute to [horizontalRangeAnnotations](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/base_chart.md#horizontalrangeannotation) and [VerticalRangeAnnotation](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/base_chart.md#verticalrangeannotation), #1195.
* **BUGFIX** (by @Motionz-Von)Fix windows build for example app
* **FEATURE** (by @Motionz-Von)BarChart groupSpace also takes effect when alignment is BarChartAlignment.end or BarChartAlignment.start.
* **FEATURE** (by @Motionz-Von) supports setting line StrokeCap on HorizontalLine/VerticalLine
* **BUGFIX** (by @nav-28) Fix radar chart tick and graph point not matching #1078
* **IMPROVEMENT** (by @imaNNeo) Update LineChartSample5 to demonstrate click to toggle show/hide tooltip, #118
## 0.61.0
* **IMPROVEMENT** (by @imaNNeo) Remove assertion to check to provide only one of `color` or `gradient` property in the [BarChartRodData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/bar_chart.md#barchartroddata) and [BackgroundBarChartRodData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/bar_chart.md#backgroundbarchartroddata), #1121.
* **IMPROVEMENT** (by @imaNNeo) Make `drawBehindEverything` property default to `true` in [AxisTitles](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/base_chart.md#axistitle) class, #1097.
* **BUGFIX** (by @imaNNeo) Show `0` instead of `-0` in some edge-cases in the default titles
* **FEATURE** (by @tamasapps): Add `tooltipHorizontalAlignment` and `tooltipHorizontalOffset` property in [LineTouchTooltipData], [BarTouchTooltipData], [ScatterTouchTooltipData].
* **FEATURE** (by @dhiyaaulauliyaa) Add ability to force SideTitle to be placed inside its corresponding axis bounding box, #603.
## 0.60.0
* **IMPROVEMENT** (by @lsaudon) Replace flutter_lints by very_good_analysis
* **BREAKING** (by @lsaudon) Update dart sdk to 2.17.0 (flutter 3.0.0)
* **BUGFIX** (by @imaNNeo) Fix indicator out of range error in line chart, #1187
* **FEATURE** (by @HTsuruo): Add `longPressDuration` optional property that allows to control the duration LongPress gesture occurs, #1114 #1127.
* **IMPROVEMENT** (by @imaNNeo) Add some screenshots in `pubspec.yaml` to support new [pub.dev](pub.dev) feature. Read more about it [here](https://dart.dev/tools/pub/pubspec#screenshots) and [here](https://medium.com/dartlang/screenshots-and-automated-publishing-for-pub-dev-9bceb19edf79).
* **IMPROVEMENT** (by @imaNNeo) Update the homepage url in `pubspec.yaml` (I just renamed my username)
* **FEATURE** (by @JoshMart) Add ability to draw extra horizontal lines on BarChart, #476
* **FEATURE** (by @soraef) Add a `positionPercentageOffset` optional property to RadarChartTitle to allow individual title positioning
* **BUGFIX** (by @imaNNeo) Allow to draw empty radarChart (with all zero values), #1217
* **IMPORTANT** **IRAN NEEDS YOU. SPREAD THE NEWS.**
<img src="https://github.com/imaNNeo/fl_chart/raw/main/repo_files/images/tmp_iran_banner.png" width=500 />
## 0.55.2
* **BUGFIX** (by @imaNNeo): Fix inner border of pieChart with single section, #1089
* **IMPORTANT** **IRAN NEEDS HELP**
<img src="https://github.com/imaNNeo/fl_chart/raw/main/repo_files/images/tmp_iran_banner.png" width=500 />
As you might know, Islamic Republic of Iran is murdering people in silence right now in Iran
They shut the Internet down to do that. That’s why I cannot maintain this library for a while.
Now we need your help, please be our voice by spreading news in your media to support us
Search these hashtags:
[#MahsaAmini](https://twitter.com/search?q=%23MahsaAmini&src=typeahead_click)
[مهسا_امینی](https://twitter.com/search?q=%23%D9%85%D9%87%D8%B3%D8%A7_%D8%A7%D9%85%DB%8C%D9%86%DB%8C&src=typeahead_click&f=top)
[OpIran](https://twitter.com/search?q=%23OpIran&src=typeahead_click&f=top)
Also, [this article](https://www.bbc.com/news/world-middle-east-62984076) might help.
## 0.55.1
* **BUGFIX** (by @ateich): Fix infinite loop in RadarChart when all values in RadarDataSet are equal, #882.
* **BUGFIX** (by @ateich): Fix uneven titles in RadarChart when using titlePositionPercentageOffset, #1074.
* **BUGFIX** (by @imaNNeo): Fix PieChart single section stroke issue, #1089
## 0.55.0
* **FEATURE** (by @emelinepal): Add `tooltipBorder` property in [LineTouchTooltipData], [BarTouchTooltipData], [ScatterTouchTooltipData], #692.
* **BUGFIX** (by @imaNNeo): Fix tooltip issue on negative bar charts, #978.
* **IMPROVEMENT** (by @imaNNeo): Use Container to draw axis-based charts border.
* **FEATURE** (by @FlorianArnould) Add the ability to select the RadarChart shape (circle or polygon), #1047.
* **BUGFIX** (by @imaNNeo): Fix LineChart titles problem with single FlSpot, #1053.
* **FEATURE** (by @FlorianArnould) Add the ability to rotate the RadarChar titles, #883.
* **BREAKING** (by @FlorianArnould) [RadarChartData.getTitle](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/radar_chart.md#RadarChartData) have a new parameter `angle` and now returns a [RadarChartTitle](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/radar_chart.md#RadarChartTitle) instead of a simple `string`. (Read our [Migration Guide](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/migration_guides/0.55.0/MIGRATION_00_55_00.md) to learn more about it)
## 0.51.0
* **FEATURE** (by @imaNNeo): Add `SideTitleWidget` to help you use it in [SideTitles.getTitlesWidget]. It's a wrapper around your widget. It keeps your provided `child` widget close to the chart. It has `angle` and `space` properties to handle margin and rotation. There is a `axisSide` property that you should fill, it has provided to you in the MetaData object. Check the below sample:
```dart
getTitlesWidget: (double value, TitleMeta meta) {
return SideTitleWidget(
axisSide: meta.axisSide,
space: 8.0,
angle: 0.0,
child: const Text("This is your widget"),
);
},
```
* **IMPROVEMENT** (by @imaNNeo): Fix default LineChart interval issue on small view sizes, #909.
## 0.50.6
* **IMPROVEMENT** Fix a backward compatibility issue with Flutter 3.0, #1016
## 0.50.5
* **IMPROVEMENT** Fix test coverage problem again :/
## 0.50.4
* **IMPROVEMENT** Fix test coverage problem
## 0.50.3
* **IMPROVEMENT** Fix order of drawing lineChart bar indicator problem, #198.
* **FEATURE** Add `isStrokeJoinRound` property in [LineChartBarData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/line_chart.md#linechartbardata).
* **IMPROVEMENT** Upgrade to Flutter 3, #997.
* **FEATURE** Add `chartRendererKey` property to the [LineChart](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/line_chart.md), [BarChart](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/bar_chart.md), and [ScatterChart](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/scatter_chart.md). We pass it directly to our chart renderers that are responsible to render the chart itself (without anything around it like titles), #987.
## 0.50.1
* **BUGFIX** Allow to show axisTitle without sideTitles, #963
## 0.50.0
**This release has some breaking changes. So please check out the migration guide [here](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/migration_guides/0.50.0/MIGRATION_00_50_00.md)**
* **IMPROVEMENT** Allow to return a Widget in [SideTitles.getTitlesWidget](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/base_chart.md#sidetitles) instead of a `String`. For example, you can pass an [Icon](https://api.flutter.dev/flutter/widgets/Icon-class.html) widget as a title, #183. Check below samples:
> **LineChartSample 8** ([Source Code](https://github.com/imaNNeo/fl_chart/blob/main/example/lib/presentation/samples/line/line_chart_sample8.dart))
> <img src="https://github.com/imaNNeo/fl_chart/raw/main/repo_files/images/line_chart/line_chart_sample_8.png" width="300" >
>
> **BarChartSample 7** ([Source Code](https://github.com/imaNNeo/fl_chart/blob/main/example/lib/presentation/samples/bar/bar_chart_sample7.dart))
>
> <img src="https://github.com/imaNNeo/fl_chart/raw/main/repo_files/images/bar_chart/bar_chart_sample_7.gif" width="300" >
* **BREAKING** Structure of `FlTitlesData`, `AxisTitles`, and `SideTitles` are changed. Because we are using a new system which allows you to pass any [Flutter Widget](https://docs.flutter.dev/development/ui/widgets) as a title instead of passing `string`, `textStyle`, `textAlign`, `rotation`, ... (Read our [Migration Guide](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/migration_guides/0.50.0/MIGRATION_00_50_00.md))
* **FEATURE** Now we can use any [Gradient](https://api.flutter.dev/flutter/dart-ui/Gradient-class.html) such as [LinearGradient](https://api.flutter.dev/flutter/painting/LinearGradient-class.html) and [RadialGradient](https://api.flutter.dev/flutter/painting/RadialGradient-class.html) everywhere we have gradient.
* **BUGFIX** Fix BarChart rods gradient problem, #703.
* **BREAKING** `colors` property renamed to `color` to keep only one solid color. And now we have a `gradient` field instead of `colorStops`, `gradientFrom` and `gradientTo` in following classes: [BarChartRodData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/bar_chart.md#barchartroddata), [BackgroundBarChartRodData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/bar_chart.md#backgroundbarchartroddata), [BarAreaData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/line_chart.md#BarAreaData), [BetweenBarsData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/line_chart.md#betweenbarsdata), [LineChartBarData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/line_chart.md#linechartbardata). (Read our [Migration Guide](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/migration_guides/0.50.0/MIGRATION_00_50_00.md) to learn more about it)
## 0.46.0
* **BUGFIX** Fix drawing BetweenBarsArea problem when there are `nullSpots` in fromLine and toLine, #912.
* **FEATURE** Allow to have vertically grouped BarChart using `fromY` and `toY` properties in [BarChartRodData](https://github.com/imaNNeo/fl_chart/blob/feature/multi-rods-on-bar-chart/repo_files/documentations/bar_chart.md#BarChartRodData) It means you can have a negative and a positive bar chart at the same X location. #334, #875. Check [BarChartSample5](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/bar_chart.md#sample-5-source-code) and [BarChartSample6](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/bar_chart.md#sample-6-source-code.
* **BREAKING** Renamed `y` property to `toY` in [BarChartRodData](https://github.com/imaNNeo/fl_chart/blob/feature/multi-rods-on-bar-chart/repo_files/documentations/bar_chart.md#BarChartRodData) and [BackgroundBarChartRodData](https://github.com/imaNNeo/fl_chart/blob/feature/multi-rods-on-bar-chart/repo_files/documentations/bar_chart.md#backgroundbarchartroddata) due to the above feature.
* **BUGFIX** Fix smaller radius bubble hiding behind bigger radius bubble in ScatterChart, #930.
* **BUGFIX** Fix tooltip text alignment and direction in line chart, #927.
## 0.45.1
* **IMPORTANT** **Fuck Vladimir Putin**
* **BUGFIX** Fix `FlSpot.nullSpot` at the first of list bug, #912.
* **FEATURE** Add `scatterLabelSettings` property in [ScatterChart](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/scatter_chart.md) which lets you to add titles on the spots, #902.
## 0.45.0
* **BUGFIX** Fix `clipData` implementation in ScatterChart and LineChart, #897.
* **BUGFIX** Fix PieChart changing sections issue (we have disabled semantics for pieChart badgeWidgets), #861.
* **BUGFIX** Fix LineChart width smaller width or height lower than 40, #869, #857.
* **BUGFIX** Allow to show title when axis diff is zero, #842, #879.
* **IMPROVEMENT** Improve iteration over axis values logic (it solves some minor problems on showing titles when min, max values are below than 1.0).
* **IMPROVEMENT** Add `baselineX` and `baselineY` property in our axis-based charts, It fixes a problem about `interval` which mentioned in #893 (check [this sample](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/line_chart.md#gist---baselinex-baseliney-sample-source-code).
* **IMPROVEMENT** Added `distanceCalculator` to `LineTouchData` which is used to calculate the distance between spots and touch events, #716, #261, #892
* **BREAKING** `LineTouchResponse` response now contains a list of `TouchLineBarSpot` instead of `LineBarSpot`. They are ordered based on their distance to the touch event and also contain that distance.
## 0.41.0
* **BUGFIX** Fix getNearestTouchedSpot. Previously it returned the first occurrence of a spot within the threshold, and not the nearest, #641, #645.
* **FEATURE** Add `textAlign` property in the [SideTitles](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/base_chart.md#sidetitles), #784.
* **IMPROVEMENT** Write some unit-tests and enable code coverage reports in our CI
## 0.40.6
* **IMPROVEMENT** Fix showing zero value in side titles and grid lines when we add negative value. Now we always go through the zero value in each axis, #739.
* **BUGFIX** Fix example app unsupported operation problem on web, #844.
## 0.40.5
* **BUGFIX** Fix BarChart empty groups state error, #797.
* **BUGFIX** Fix drawTooltipOnTop direction minor bug, #815.
* **BUGFIX** Fix section with zero value problem in PieChart (disabled animation on changing value to zero and from zero), #817
* **BUGFIX** Fix pie chart stroke problem when adding space between sections (using new approach), #818.
* **IMPROVEMENT** Fix interval below one, #811
## 0.40.2
* **IMPROVEMENT** Use 80 characters for code format line-length instead of 100 (because pub.dev works with 80 and decreased our score).
## 0.40.1
* **IMPROVEMENT** Fix pub.dev determining web support, #780.
* **IMPROVEMENT** Implement flutter_lints in the code.
* **BUGFIX** Fix below/above area data transparency issue, #770.
## 0.40.0
* **BUGFIX** Fixed pieChart `centerRadius = double.infinity` problem, #747.c
* **BREAKING** Charts touchCallback signature has changed to `(FlTouchEvent event, BaseTouchResponse? response)` which [FlTouchEvent](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/base_chart.md#fltouchevent) determines which touch/pointer event happened (such as `FlTapUpEvent`, `FlPanUpdateEvent`, ...), and BaseTouchResponse gives us the chart response.
* **BREAKING** Chart touchResponse classes don't have `touchInput` and `clickHappened` properties anymore. Use [FlTouchEvent](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/base_chart.md#fltouchevent) provided in the callback instead of `touchInput`. Check `event is FlTapUpEvent` to detect touch events instead of checking `clickHappened`;
* **IMPROVEMENT** Again we support `longPress` touch events. check [FlTouchEvent](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/base_chart.md#fltouchevent) to see all kind of supported touch/pointer events (which can be `FlLongPressStart`, `FlLongPressMoveUpdate`, `FlLongPressEnd`, ...). Also you can check out [touch handling doc](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/handle_touches.md), #649.
* **IMPROVEMENT** Added `mouseCursorResolver` callback in touchData classes such as [LineTouchData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/line_chart.md#linetouchdata-read-about-touch-handling) and [BarTouchData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/bar_chart.md#bartouchdata-read-about-touch-handling). You can change the [MouseCursor](https://api.flutter.dev/flutter/services/MouseCursor-class.html) based on the provided [FlTouchEvent](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/base_chart.md#fltouchevent) and touchResponse using this callback. (We have used this feature in [PieChartSample2](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/scatter_chart.md#sample-2-source-code))
* **BUGFIX** Fixed `ScatterChart` default touchHandling crash
* **BUGFIX** Fix text styles when updating the theme. Check this [theme-aware-sample](https://gist.github.com/imaNNeo/bf95e720621d799ab980a7a3287c56e2).
* **IMPROVEMENT** Show narrow horizontal and vertical grid lines by default.
* **IMPROVEMENT** Show all left, top (except BarChart), right, bottom titles in Axis based charts by default.
* **IMPROVEMENT** Set `BarChartAlignment.spaceEvenly` as `alignment` property of [BarChartData](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/bar_chart.md#barchartdata) by default
* **IMPROVEMENT** Allow [BarChart](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/bar_chart.md) and [LineChart](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md) have empty values instead of throwing exception (we don't show anything if there is nothing provided)
* **BREAKING** `textStyle` of [ScatterTooltipItem](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/scatter_chart.md#ScatterTooltipItem) is now nullable and optional. `bottomMargin` is also optional (default is zero). So both are named parameters now.
* **IMPROVEMENT** We improved touch precision of `ScatterChart`.
* **BUGFIX** Fix overlapping last gridlines on border lines problem.
* **NEWS** Your donation **motivates** me to work more on the `fl_chart` and resolve more issues. Now you can [buy me a coffee](https://www.buymeacoffee.com/fl_chart)!
## 0.36.4
* **IMPROVEMENT** Added `borderSide` property in [BarChartRodData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/bar_chart.md#BarChartRodData) and [BarChartRodStackItem](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/bar_chart.md#BarChartRodStackItem) to draw strokes around each bar and rod stack items, #714.
* **IMPROVEMENT** Now all textStyles are nullable and theme-aware by default, #269.
* **BREAKING** All `getTextStyles` callback now give you a `context` and `value` (previously it was only a `value`).
* **BUGFIX** Fixed `colorStops` calculation which used in gradient colors, #732.
## 0.36.3
* **IMPROVEMENT** Show proper error message when there is less than 3 [RadarEntry](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/radar_chart.md#radarentry) in [RadarChart](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/radar_chart.md), #694.
* **IMPROVEMENT** Added `borderSide` property in [PieChartSectionData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/pie_chart.md#piechartsectiondata) to draw strokes around each section, #606.
## 0.36.2
* **IMPROVEMENT** Support `onMouseExit` event in all charts.
* **IMPROVEMENT** Add `rotateAngle` property in [LineTouchTooltipData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#linetouchtooltipdata), [BarTouchTooltipData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/bar_chart.md#bartouchtooltipdata), [ScatterTouchTooltipData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/scatter_chart.md#scattertouchtooltipdata), #260, #679.
* **BUGFIX** Fix PieChart section index problem, when there is a section with 0 value, #697.
## 0.36.1
* **IMPROVEMENT** Allow to set zero value on PieChartSectionData (we remove zero sections instead of crashing), #640.
* **BUGFIX** Fix NPE crash in our renderers touchCallback, #651.
* **BUGFIX** Fix line index problem in LineChart, #665. (It has appeared in `0.36.0`, we had to revert 2nd change of `0.36.0`)
* **BREAKING** Remove unused `lineIndex` property from (ShowingTooltipIndicators)[https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#showingtooltipindicators].
## 0.36.0
* **BUGFIX** Fixed bug of lerping FlSpot.nullSpot, #487.
* **BUGFIX** Fixed showing tooltip problem when animating chart, #647.
* **BUGFIX** Fixed RadarChart drawing problem, #627.
* **IMPROVEMENT** Now [SideTitles](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/base_chart.md#SideTitles).`interval` is working correctly in bottomTitles in the BarChart, #648.
* **BREAKING** You should provide `spotsIndices` instead of `showingSpots` in [ShowingTooltipIndicators](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#showingtooltipindicators).
## 0.35.0
* **IMPROVEMENT** Added `children` property in the [LineTooltipItem](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#linetooltipitem), [BarTooltipItem](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/bar_chart.md#bartooltipitem) and [ScatterTooltipItem](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/scatter_chart.md#scattertooltipitem) which accepts a list of [TextSpan](https://api.flutter.dev/flutter/painting/TextSpan-class.html). It allows you to have more customized texts inside the tooltip. See [BarChartSample1](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/bar_chart.md#sample-1-source-code) and [ScatterSample2](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/scatter_chart.md#sample-2-source-code), #72, #294.
* **IMPROVEMENT** Added `getTouchLineStart` and `getTouchLineEnd` in [LineTouchData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#linetouchdata-read-about-touch-handling) to give more customizability over showing the touch lines. see [SampleLineChart9](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#sample-8-source-code).
* **IMPROVEMENT** Enabled `sectionsSpace` in PieChart for the web.
* **IMPROVEMENT** Added [Makefile](https://makefiletutorial.com) commands which makes it comfortable for verifying your code before push (It is related to contributors, red more about it in [CONTRIBUTING.md](https://github.com/imaNNeoFighT/fl_chart/blob/main/CONTRIBUTING.md)).
* **IMPROVEMENT** Added `FlDotCrossPainter` which extends `FlDotPainter` to paint X marks on line chart spots.
* **IMPROVEMENT** Added `textDirection` property in [LineTooltipItem](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#linetooltipitem), [BarTooltipItem](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/bar_chart.md#bartooltipitem) and [ScatterTooltipItem](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/scatter_chart.md#scattertooltipitem). It allows you to support rtl languages in tooltips.
* **IMPROVEMENT** Added `textDirection` property in [SideTitles](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/base_chart.md#sidetitles) class, #531. It allows you to support rtl languages in side titles.
* **IMPROVEMENT** Added `textDirection` property in [AxisTitles](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/base_chart.md#AxisTitle) class. It allows you to support rtl languages in axis titles.
* **BUGFIX** Fixed some bugs on drawing PieChart (for example when we have only one section), #582,
* **BREAKING** Border of pieChart now is hide by default (you can show it using `borderData: FlBorderData(show: true)`.
* **BREAKING** You cannot set `0` value on [PieChartSectionData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/pie_chart.md#piechartsectiondata).value anymore, instead remove it from list.
* **BREAKING** Removed `fullHeightTouchLine` property from [LineTouchData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#linetouchdata-read-about-touch-handling). Now you can have a full line with following snippet:
```dart
LineTouchData(
...
getTouchLineStart: (barData, index) => -double.infinity // default: from bottom,
getTouchLineEnd: (barData, index) => double.infinity //to top,
...
)
```
## 0.30.0
* [IMPROVEMENT] We now use [RenderObject](https://api.flutter.dev/flutter/rendering/RenderObject-class.html) as our default drawing system. It brings a lot of stability. Such as size handling, hitTest handling (touches), and It makes us possible to paint Widgets inside our chart (It might fix #383, #556, #582, #584, #591).
* [IMPROVEMENT] Added [Radar Chart Documentations](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/radar_chart.md)
* [IMPROVEMENT] Added `textAlign` property in the [BarTooltipItem](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/bar_chart.md#bartooltipitem), [LineTooltipItem](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#linetooltipitem), and [ScatterTooltipItem](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/scatter_chart.md#scattertooltipitem), default is `TextAlign.center`.
* [IMPROVEMENT] Added `direction` property in the [BarTouchTooltipData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/bar_chart.md#bartouchtooltipdata), and [LineTouchTooltipData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#linetouchtooltipdata) to specify the position of the tooltip (can be `auto`, `top`, `bottom`), default is `auto`.
* [IMPROVEMENT] Updated touch flow, we now use [hitTest](https://api.flutter.dev/flutter/rendering/RenderProxyBoxWithHitTestBehavior/hitTest.html) for handling touch and interactions.
* [IMPROVEMENT] Added 'clickHappened' property in all of our TouchResponses (such as [LineTouchResponse](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#LineTouchResponse), [BarTouchResponse](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/bar_chart.md#bartouchresponse), ...), #210.
* [IMPROVEMENT] Added `swapAnimationCurve` property to all chart widgets which handles the built-in animation [Curve](https://api.flutter.dev/flutter/animation/Curves-class.html), #436.
* [BREAKING] Some properties in [ScatterTouchResponse](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/scatter_chart.md#scattertouchresponse), and [PieTouchResponse](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/pie_chart.md#pietouchresponse) moved to a wrapper class, you need to access them through that wrapper class.
* [BREAKING] Renamed `tooltipBottomMargin` to `tooltipMargin` property in the [BarTouchTooltipData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/bar_chart.md#bartouchtooltipdata), and [LineTouchTooltipData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#linetouchtooltipdata)
* [Bugfix] Fixed `double.infinity` in [PieChartData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/pie_chart.md#piechartdata) .centerSpaceRadius, #584.
## 0.20.1
* [BREAKING] We now support flutter version 2.0 (null-safety), check out the [migration guide](https://dart.dev/null-safety/migration-guide).
* [NEW_CHART] We have added [RadarChart](https://github.com/payam-zahedi/fl_chart/blob/main/repo_files/documentations/radar_chart.md). Thanks to [Payam Zahedi](https://github.com/payam-zahedi)!
## 0.20.0-nullsafety1
* [BREAKING] **We have migrated our project to null-safety. You may need to change your source-code to compile**. check [migration guide](https://dart.dev/null-safety/migration-guide).
* [BREAKING] You cannot set null value on FlSpot any more (use FlSpot.nullSpot instead).
## 0.12.3
* [Bugfix] Fixed PieChart exception bug on sections tap, #514.
* [Bugfix] Fixed PieChart badges problem, #538.
* [Bugfix] Fixed Bug of drawing lines with strokeWidth zero, #558.
* [Improvement] Updated example app to support web.
* [Improvement] Show tooltips on mouse hover on Web, and Desktop.
## 0.12.2
* [Bugfix] Fixed PieChart badges draw in first frame problem, #513.
* [Improvement] Use CanvasWrapper to proxy draw functions (It does not have any effect on the result, it makes the code testable)
## 0.12.1
* [Bugfix] Fixed PieChart badges bug with re-implementing the solution, #507
* [Bugfix] Fix the setState issue using PieChart in the ListView, #467
* [Bugfix] Fixed formatNumber bug for negative numbers, #486.
* [Improvement] Added applyCutOffY property in [BarAreaSpotsLine](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#barareaspotsline) to inherit cutOffY property of its parent, #478.
## 0.12.0
* [Improvement] [BREAKING] Replaced `color` property with `colors` in [BarChartRodData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/bar_chart.md#barchartroddata), and [BackgroundBarChartRodData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/bar_chart.md#backgroundbarchartroddata) to support gradient in BarChart, instead of solid color, #166. Check [BarChartSample3](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/bar_chart.md#sample-3-source-code)
* [Improvement] Improved gradient stops calculating algorithm.
* [Improvement] [BREAKING] Changed SideTitle's `textStyle` property to `getTextStyles` getter (it gives you the axis value, and you must return a TextStyle based on it), It helps you to have a different style for specific text, #439. Check it here [LineChartSample3](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#sample-3-source-code)
* [Improvement] Added `badgeWidget`, and `badgePositionPercentageOffset` in each [PieChartSectionData](https://github.com/imaNNeoFighT/fl_chart/blob/dev/repo_files/documentations/pie_chart.md#piechartsectiondata) to provide a widget to show in the chart, see [this sample](https://github.com/imaNNeoFighT/fl_chart/blob/dev/repo_files/documentations/pie_chart.md#sample-3-source-code), #443. Providing a widget is an important step in our library, if it works perfectly, we will aplly this solution on other parts. Then I appreciate any feedback.
* [Bugfix] Fixed aboveBarArea flickers after setState, #440.
## 0.11.1
* [Bugfix] Fixed drawing BarChart rods with providing minY (for positive), maxY (for negative) values bug, #404.
* [Bugfix] Fixed example app build fail error, by upgrading flutter_svg package to `0.18.1`
## 0.11.0
* [Bugfix] Prevent show ScatterSpot if show is false, #385.
* [Improvement] Set default centerSpaceRadius to double.infinity in [PieChartData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/pie_chart.md#piechartdata), #384.
* [Improvement] Allowed to have topTitles in the [BarChart](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/bar_chart.md), see [BarChartSample5](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/bar_chart.md#sample-5-source-code), #394.
* [Improvement] Added `touchedStackItem` and `touchedStackItemIndex` properties in the [BarTouchedSpot](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/bar_chart.md#bartouchedspot) to determine in which [BarChartRodStackItem](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/bar_chart.md#barchartrodstackitem) click happened, #393.
* [Improvement] [BREAKING] Renamed `rodStackItem` to `rodStackItems` in [BarChartRodData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/bar_chart.md#barchartroddata).
## 0.10.1
* [Improvement] Show barGroups `x` value instead of `index` in bottom titles, #342.
* [Improvement] [BREAKING] Use `double.infinity` instead of `double.nan` for letting `enterSpaceRadius` be as large as possible in the (PieChartData)[https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/pie_chart.md#piechartdata], #377.
* [Bugfix] Fixed PieChart bug with 1 section, #368.
## 0.10.0
* [IMPORTANT] **BLACK LIVES MATTER**
* [Improvement] Auto calculate interval in [SideTitles](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/base_chart.md#sidetitles) and [FlGridData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/base_chart.md#flgriddata), instead of hard coding 1, to prevent some performance issues like #101, #322. see [BarChartSample4](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/bar_chart.md#sample-4-source-code).
* [Bugfix] drawing dot on null spots
* [Bugfix] Fixed LineChart have multiple NULL spot bug.
* [Feature] Added `checkToShowTitle` property to the [SideTitles](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/base_chart.md#sidetitles), for checking show or not show titles in the provided value, #331. see [LineChartSample8](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#sample-8-source-code).
* [Feature] Added compatibily to have customized shapes for [FlDotData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#fldotdata), just override `FlDotData.etDotPainter` and pass your own painter or use built-in ones, see this [sample](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#sample-3-source-code).
* [Improvement] [BREAKING] Replaced `clipToBorder` with `clipData` in [LineChartData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#linechartdata) to support clipping 4 sides of a chart separately.
## 0.9.4
* [Bugfix] Fixed showing PieChart on web (we've ignored `groupSpace` on web, because some BlendModes are [not working](https://github.com/flutter/flutter/issues/56071) yet)
## 0.9.3
* [BugFix] Fixed groupBarsPosition exception, #313.
* [Improvement] Shadows default off, #316.
## 0.9.2
* [Feature] Added `shadow` property in [LineChartData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#linechartdata) to have shadow effect in our [LineChart](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md), take a look at [LineChartSampl5](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#sample-5-source-code), #304.
* [Feature] Added `isStepLineChart`, and `lineChartStepData` in the [LineChartData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#linechartdata) to support Step Line Chart, take a look at [lineChartSample3](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#sample-3-source-code), #303.
* [Improvement] Added `barData` parameter to checkToShowDot Function in the [FlDotData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#fldotdata).
## 0.9.0
* Added `strokeWidth`, `getStrokeColor`, `getDotColor` in the [FlDotData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#fldotdata), also removed `dotColor` from it (you should use `getDotColor` instead, it gives you more customizability), now we have more customizability on [FlDotData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#fldotdata), check [line_chart_sample3](https://github.com/imaNNeoFighT/fl_chart/blob/dev/repo_files/documentations/line_chart.md#sample-3-source-code), and [line_chart_sample5](https://github.com/imaNNeoFighT/fl_chart/blob/dev/repo_files/documentations/line_chart.md#sample-5-source-code), #233, #99, #274.
* Added `equatable` library to solve some equation issues.
* Implemented negative values feature for the BarChart, #106, #103.
* add Equatable for all models, it leads to have a better performance.
* Fixed a minor touch bug in the [BarChart](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/bar_chart.md).
* Fixed ScatterChart built-in touch behaviour.
* Fixed drawing grid lines bug, #280.
* Implemented [FlDotData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#fldotdata).`getDotColor` in a proper way, it returns a color based on the [LineChartBarData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#linechartbardata) color, #274, #282.
* Updated [LineChartData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#linechartdata).`showingTooltipIndicators` field type to list of [ShowingTooltipIndicators](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#showingtoltipindicators) to have a clean naming.
## 0.8.7
* Added `show` property in the `VerticalLineLabel` and set default to `false`, #256.
* Fixed bug, when the screen size is square, #258.
## 0.8.6
* Fixed exception on extraLinesData, #251.
* Show extra lines value with 1 floating-point.
* Implemented multi-section lines in LineChart, check this issue (#26) and this merge request (#252)
## 0.8.5
* Added `fitInsideHorizontally` and `fitInsideVertically` in [ScatterTouchTooltipData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/scatter_chart.md#scattertouchtooltipdata)
* Fixed `clipToBorder` functionality basdd on the border sides.
## 0.8.4-test1
* Improved documentations
## 0.8.4
* Added `preventCurveOvershootingThreshold` in `LineChartBarData` for applying prevent overshooting algorithm, #193.
* Fixed `clipToBorder` bug in the [LineChartData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#linechartdata), #228, #214.
* Removed unused `enableNormalTouch` property from all charts TouchData.
* Implemented ImageAnnotations feature (added `image`, and `sizedPicture` in the [VerticalLine](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#verticalline), and the [HorizontalLine](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#horizontalline), check [this sample](https://github.com/imaNNeoFighT/fl_chart/blob/dev/repo_files/documentations/line_chart.md#sample-8-source-code) for more information.
* Enable 'fitInsideTheChart' to support vertical tooltip overflow as well, #225.
* BREAKING CHANGE-> changed `fitInsideTheChart` to `fitInsideHorizontally` and added `fitInsideVertically` to support both sides, #225.
## 0.8.3
* prevent to set BorderRadius with numbers larger than (width / 2), fixed #200.
* added `fitInsideTheChart` property inside `BarTouchTooltipData` and `LineTouchTooltipData` to force tooltip draw inside the chart (shift it to the chart), fixed #159.
## 0.8.2
* added `fullHeightTouchLine` in [LineTouchData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#linetouchdata-read-about-touch-handling) to show a full height touch line, see sample in merge request #208.
* added `label` ([HorizontalLineLabel](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#horizontallinelabel)) inside [HorizontalLine](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#horizontalline) and [VerticalLine](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#verticalline) to show a lable text on the lines.
## 0.8.1
* yaaay, added some basic unit tests
* skipped the first and the last grid lines from drawing, #174.
* prevent to draw touchedSpotDot if `show` is false, #180.
* improved paint order, more details in #175.
* added possibility to set `double.nan` in `centerSpaceRadius` for the PieChart to let it to be calculated according to the view size, fixed #179.
## 0.8.0
* added functionallity to have dashed lines, in everywhere we draw line, there should be a property called `dashArray` (for example check [LineChartBarData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#linechartbardata), and see [LineChartSample8](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#sample-8-source-code))
* BREAKING CHANGE:
* swapped [HorizontalExtraLines](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#horizontalline), and [VerticalExtraLines](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#verticalline) functionalities (now it has a well definition)
* and also removed `showVerticalLines`, and `showHorizontalLines` from [ExtraLinesData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#ExtraLinesData), if the `horizontalLines`, or `verticalLines` is empty we don't show them
## 0.7.0
* added rangeAnnotations in the [LineChartData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#linechartdata) to show range annotations, #163.
* removed `isRound` fiend in the [BarChartRodData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/bar_chart.md#barchartroddata) to add more customizability, and fixed #147 bug.
* fixed sever bug of click on pie chart, #146.
## 0.6.3
* Fixed drawing borddr bug, #143.
* Respect text scale factor when drawing text.
## 0.6.2
* added `axisTitleData` field to all axis base charts (Line, Bar, Scatter) to show the axes titles, see [LineChartSample4](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#sample-4-source-code) and [LineChartSample5](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#sample-5-source-code).
## 0.6.1
* added `betweenBarsData` property in [LineChartData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#linechartdata), fixed #93.
## 0.6.0
* fixed calculating size for handling touches bug, #126
* added `rotateAngle` property to rotate the [SideTitles](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/base_chart.md#sidetitles), fixed issue [#75](https://github.com/imaNNeoFighT/fl_chart/issues/75) , see in this [sample](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/bar_chart.md#sample-5-source-code)
* BREAKING CHANGES:
* some property names updated in the [FlGridData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/base_chart.md#flgriddata): `drawHorizontalGrid` -> `drawHorizontalLine`, `getDrawingHorizontalGridLine` -> `getDrawingHorizontalLine`, `checkToShowHorizontalGrid` -> `checkToShowHorizontalLine` (and same for vertical properties), fixed issue [#92](https://github.com/imaNNeoFighT/fl_chart/issues/92)
## 0.5.2
* drawing titles using targetData instead of animating data, fixed issue #130.
## 0.5.1
* prevent to show touch indicators if barData.show is false in LineChart, [#125](https://github.com/imaNNeoFighT/fl_chart/issues/125).
## 0.5.0
* 💥 Added ScatterChart ([read about it](https://jbt.github.io/markdown-editor/repo_files/documentations/scatter_chart.md)) 💥
* Added Velocity to in [FlPanEnd](https://github.com/imaNNeoFighT/fl_chart/blob/feature/scatter-chart/repo_files/documentations/base_chart.md#fltouchinput) to determine the Tap event.
## 0.4.3
* fixed a size bug, #100.
* direction support for gradient on the LineChart (added `gradientFrom` and `gradientTo` in the [LineChartBarData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#linechartbardata)).
## 0.4.2
* implemented stacked bar chart, check the [samples](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/bar_chart.md#sample-5-source-code)
* added `groupSpace in [BarChartData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/bar_chart.md#barchartdata) to apply space between bar groups
* fixed drawing left and right titles of the BarChart
* fixed showing gridLines bug (the grid line of exact max value of each direction doesn't show)
## 0.4.1
* fixed handling disabled `handleBuiltInTouches` state bug
## 0.4.0
* BIG BREAKING CHANGES
* There is no `FlChart` class anymore, instead use [LineChart](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md), [BarChart](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/bar_chart.md), and [PieChart](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/pie_chart.md) directly as a widget.
* Touch handling system is improved and for sure we have some changes, there is no `touchedResultSink` anymore and use `touchCallback` function which is added to each TouchData like ([LineTouchData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#linetouchdata-read-about-touch-handling)), [read more](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/handle_touches.md).
* `TouchTooltipData` class inside `LineTouchData` and `BarTouchData` renamed to `LineTouchTooltipData` and `BarTouchTooltipData` respectively, and also `TooltipItem` class renamed to `LineTooltipItem` and `BarTooltipItem`.
* `spots` inside `LineTouchResponse` renamed to `lineBarSpots` and type changed from `LineTouchedSpot` to `LineBarSpot`.
* `FlTouchNormapInput` renamed to `FlTouchNormalInput` (fixed typo)
* added `showingTooltipIndicators` in [LineChartData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#linechartdata) to show manually tooltips in `LineChart`.
* added `showingIndicators` in [LineChartBarData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#linechartbardata) to show manually indicators in `LineChart`.
* added `showingTooltipIndicators` in [BarChartGroupData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/bar_chart.md#barchartgroupdata) to show manually tooltips in `BarChart`.
## 0.3.4
* BREAKING CHANGES
* swapped horizontal and vertical semantics in [FlGridData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/base_chart.md#FlGridData), fixed this [issue](https://github.com/imaNNeoFighT/fl_chart/issues/85).
## 0.3.3
* BREAKING CHANGES
* added support for drawing below and above areas separately in LineChart
* added cutOffY feature in LineChart, see this [issue](https://github.com/imaNNeoFighT/fl_chart/issues/62)
* added `aboveBarData` in [LineChartBarData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#linechartbardata)
* `BelowBarData` class renamed to [BarAreaData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#barareadata) to reuse for both above and below areas
* `belowSpotsLine` renamed to `spotsLine` in [BarAreaData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#barareadata)
* `cutOffY` and `applyCutOffY` fields are added in [BarAreaData](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#barareadata) to handle cutting of drawing below or above area
* `BelowSpotsLine` renamed to [BarAreaSpotsLine](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#barareaspotsline), and inside it `checkToShowSpotBelowLine` renamed to `checkToShowSpotLine`
## 0.3.2
* provided default size (square with 30% smaller than screen) for the FLChart, fixed this [issue](https://github.com/imaNNeoFighT/fl_chart/issues/74).
## 0.3.1
* added `interval` field in [SideTitles](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/base_chart.md#sidetitles), fixed this [issue](https://github.com/imaNNeoFighT/fl_chart/issues/67)
## 0.3.0
* 💥 Added Animations 💥, [read about it](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/handle_animations.md).
## 0.2.2
* fixed a typo on CHANGELOG
* reformatted dart files with `flutter format` command
## 0.2.1
* fixed #64, added a technical debt :(
## 0.2.0
* fixed a critical got stuck in draw loop bug,
* set `BarChartGroupData` x as required property to keep consistency and prevent unpredictable bugs
## 0.1.6
* added `enableNormalTouch` property to chart's TouchData to handle normal taps, and enabled by default.
## 0.1.5
* reverted getPixelY() on axis_chart_painter to solve the regression bug (fixed issue #48)
* (fix) BelowBar considers its own color stops refs #46
## 0.1.4
* bugfix -> fixed draw bug on BarChart when y value is very low in high scale y values (#43).
## 0.1.3
* added `SideTitles` class to hold titles representation data, and used in `FlTitlesData` to show left, top, right, bottom titles, instead of legacy direct parameters, and implemented a reversed chart [sample](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/line_chart.md#sample-6-source-code) using this update.
## 0.1.2
* added `preventCurveOverShooting` on BarData, check this [issue](https://github.com/imaNNeoFighT/fl_chart/issues/25)
## 0.1.1
* nothing important
## 0.1.0
* added **Touch Interactivity**, read more about it [here](https://github.com/imaNNeoFighT/fl_chart/blob/main/repo_files/documentations/handle_touches.md)
## 0.0.8
* added backgroundColor to axis based charts (LineChart, BarChart) to draw a solid background color behind the chart
* added getDrawingHorizontalGridLine, getDrawingVerticalGridLine on FlGridData to determine how(color, strokeWidth) the grid lines should be drawn with the given value on FlGridLine
## 0.0.7
* added ExtraLinesData in the LineChartData to draw extra horizontal and vertical lines on LineChart
* added BelowSpotsLine in the BlowBarData to draw lines from spot to the bottom of chart on LineChart
## 0.0.6
* fixed charts repainting bug, #16
## 0.0.5
* added clipToBorder to the LineChartData to clip the drawing to the border, #3
## 0.0.4
* fixed bug of adding bar with y = 0 on bar chart #13
## 0.0.3
* renamed `FlChartWidget` to `FlChart` (our main widget) and now you have to import `package:fl_chart/fl_chart.dart` instead of `package:fl_chart/fl_chart_widget.dart`
* renamed `FlChart*` to `BaseChart*` (parent class of our charts like `PieChart`)
* renamed `FlAxisChart*` to `AxisChart*`
## 0.0.2
* fixed `minX`, `maxX` functionality on LineChart
* restricted to access private classes of the library
## 0.0.1 - Released on (2019 June 4)
================================================
FILE: CLAUDE.md
================================================
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Project Overview
FL Chart is a highly customizable Flutter chart library supporting 6 chart types: Line, Bar, Pie, Scatter, Radar, and Candlestick. Single-package Flutter library (not a monorepo).
## Common Commands
```bash
make sure # Run tests + checkstyle (use before pushing)
make runTests # flutter test
make analyze # flutter analyze
make checkFormat # Verify formatting (dry run)
make format # Auto-format code
make checkstyle # analyze + format check
make codeGen # Generate mock files: dart run build_runner build --delete-conflicting-outputs
flutter test test/chart/line_chart/line_chart_painter_test.dart # Run a single test file
```
## Architecture
### Per-Chart Pattern
Every chart type in `lib/src/chart/` follows a consistent structure:
- `{type}_chart.dart` — Widget (extends `ImplicitlyAnimatedWidget` for built-in animations)
- `{type}_chart_data.dart` — Data classes (extend `BaseChartData` or `AxisChartData`)
- `{type}_chart_painter.dart` — Canvas drawing logic (extends `BaseChartPainter`)
- `{type}_chart_renderer.dart` — Rendering widget that builds the custom painter
- `{type}_chart_helper.dart` — Chart-specific utility functions
### Class Hierarchy
```
BaseChartData
├── AxisChartData (charts with X/Y axes)
│ ├── LineChartData
│ ├── BarChartData
│ ├── ScatterChartData
│ └── RadarChartData
├── PieChartData
└── CandlestickChartData
```
Painters follow the same hierarchy: `BaseChartPainter` → `AxisChartPainter` → specific painters.
### Key Design Decisions
- **CanvasWrapper** (`lib/src/utils/canvas_wrapper.dart`): All drawing goes through this proxy instead of `Canvas` directly, enabling unit testing of paint logic with Mockito.
- **PaintHolder**: Holds current data, target data, text scaler, and virtual rect — passed to painters for rendering and animation interpolation.
- **Implicit animations**: Charts use `ImplicitlyAnimatedWidget` with `*DataTween` classes. Default: 150ms linear.
- **Equatable**: All data classes use `equatable` for value equality.
- **Lerp**: Data models must implement a `lerp()` method to enable smooth implicit animations between states. See `lib/src/utils/lerp.dart` for helpers.
- **Theme-aware text styles**: When rendering text in painters, always use `Utils().getThemeAwareTextStyle(context, style)` instead of hardcoded fallback `TextStyle` values. This merges user-provided styles with the app's theme.
### Touch System
Each chart type defines `*TouchData` and uses `FlTouchEvent` base class. Touch callbacks are configured in the chart data classes.
## Testing
Tests mirror the `lib/` structure under `test/`. Each chart has tests for data, painter, renderer, and helper. Painter tests mock `CanvasWrapper` to verify drawing calls.
Key test utilities:
- `test/helper_methods.dart` — Path/RRect equality helpers
- `test/chart/data_pool.dart` — Shared mock data
- `*.mocks.dart` files are generated by Mockito (run `make codeGen` to regenerate)
## Code Style
- Uses `very_good_analysis` linter (strict, with some relaxed rules in `analysis_options.yaml`)
- `public_member_api_docs` is disabled — public API docs are not enforced
- `lines_longer_than_80_chars` is disabled
- Generated `*.mocks.dart` files are excluded from analysis
## PR Conventions
PR titles must follow Conventional Commits: `<type>: <Subject>` (e.g., `feat: Add tooltip support`). Types: feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert. Breaking changes use `!` (e.g., `feat!: Change API`). Subject starts with a capital letter.
================================================
FILE: CONTRIBUTING.md
================================================
# Contributing
Hello, we are glad to have a contributor like you here.
Don't forget that `open-source` makes no sense without contributors. No matter how big your changes are, it helps us a lot even it is a line of change.
This file is intended to be a guide for those who are interested in contributing to the FL Chart.
#### Below are the people who have contributed to the FL Chart. We hope we have your picture here soon.
[](https://github.com/imaNNeo/fl_chart/graphs/contributors)
## Let's get Started
Make sure you have Flutter installed and on your path (follow the [installation guide](https://docs.flutter.dev/get-started/install)).
Follow these steps to clone FL Chart and set up the development environment:
1. Fork the repository
2. Clone the project, you can find it in your repositories: `git clone https://github.com/your-username/fl_chart.git`
3. Go into the cloned directory: `cd fl_chart`
4. Install all packages: `flutter packages get`
5. Try to run the sample app. It should work on all platforms (Android, iOS, Web, Linux, MacOS, Windows)
6. Create a new branch for your changes: `git checkout -b your-branch-name`.
The branch name doesn't matter for our project history (as we use **Squash and Merge**), but it's good practice to use descriptive names. You can [read more about naming conventions here](https://www.geeksforgeeks.org/git/how-to-naming-conventions-for-git-branches/).
## Before Modifying the Code
If the work you intend to do is non-trivial, it is necessary to open
an issue before starting to write your code. This helps us and the
community to discuss the issue and choose what is deemed to be the
best solution.
### Mention the related issues:
If you are going to fix or improve something, please find and mention the related issues in commit message and Pull Request description.
In case you couldn't find any issue, it's better to create an issue to explain what's the issue that you are going to fix.
## Let's start by our drawing architecture
We have a *_chart_painter.dart class per each chart type. It draws elements into the Canvas.
We made the CanvasWrapper class, because we wanted to test draw functions.
CanvasWrapper class holds a canvas and all draw functions proxies through it.
You should use it for drawing on the canvas, Instead of directly accessing the canvas.
It makes draw functions testable.
<img src="https://github.com/imaNNeo/fl_chart/raw/main/repo_files/images/architecture/fl_chart_architecture.jpg" />
(made with [draw.io](https://drive.google.com/file/d/1bj-2TqTRUh80dRKJk10drPNeA3fp3EA8/view))
## Keep your branch updated
If your branch falls behind the `main` branch, you can update it using the "Update branch" button on GitHub or by merging `main` into your branch.
We use **Squash and Merge**, which combines all your PR commits into a single, clean commit in the `main` branch.
## Checking Your Code's Quality
After you have made your changes, you have to make sure your code works
correctly and meets our guidelines. Our guidelines are:
You can simply run `make checkstyle`, and if you faced any formatting problem, run `make format`.
##### Run `make checkstyle` to ensure that your code is formatted correctly
- It runs `flutter analyze` to verify that there are no warnings or errors.
- It runs `dart format --set-exit-if-changed --dry-run .` to verify that code has formatted correctly.
#### Run `make format` to reformat the code
- It runs `dart format .` to format your code.
#### Run `make runTests` to ensure that all tests are passing.
- It runs `flutter test` under the hood.
#### Run `make sure` before pushing your code.
- It runs both `make runTests` and then `make checkstyle` sequentially with a single command.
## Test coverage (unit tests)
We should write unit tests for our written code. If you are not familiar with unit-tests, please start from [here](https://docs.flutter.dev/cookbook/testing/unit/introduction).
[Mockito](https://pub.dev/packages/mockito) is the library that we use to mock our classes. Please read more about it in their docs [here](https://github.com/dart-lang/mockito#lets-create-mocks).
Our code coverage is calculated by [Codecov](https://app.codecov.io/gh/imaNNeo/fl_chart) (Our coverage is [](https://codecov.io/gh/imaNNeo/fl_chart)
at the moment)
When you push something in your PR (after approving your PR by one of us), you see a coverage report which describes how much coverage is increased or decreased by your code (You can check the details to see which part of your code made the change).
Please make sure that your code is **not decreasing** the coverage.
## Creating a Pull Request
Congratulations! Your code meets all of our guidelines :100:. Now you have to
submit a pull request (PR for short) to us. These are the steps you should
follow when creating a PR:
### PR Title Convention
We use [Conventional Commits](https://www.conventionalcommits.org/) for our PR titles. This title will be used to automatically generate the **CHANGELOG**.
The title must follow this format:
`<type>: <Subject>`
- **Type**: Must be one of `feat`, `fix`, `docs`, `style`, `refactor`, `perf`, `test`, `build`, `ci`, `chore`, `revert`.
- **Subject**: Must start with a **Capital Letter** and adequately summarize the changes.
- **Breaking Changes**: If your PR contains a breaking change, add a `!` after the type (e.g., `feat!: Change PieChart API`).
**Examples:**
- `feat: Add rounded corners to PieChart`
- `fix: Resolve memory leak in BarChart`
- `docs: Update BarChart documentation`
A GitHub Action will validate your PR title and will fail if it doesn't follow this convention.
### PR Description
- Use the provided PR template.
- Provide a concise description of the changes. This text will become the permanent commit body in our Git history, so please keep it clear and brief. (Tip: Feel free to use AI assistants to help you draft this!)
- Mention the issues that you are fixing (e.g., `Closes #1234`).
- If it's a breaking change, provide migration instructions in the "Migration instructions" section of the template.
After you follow the above steps, your PR will hopefully be merged. Thanks for contributing!
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2022 Flutter 4 Fun
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.
================================================
FILE: Makefile
================================================
ifeq ($(OS),Windows_NT)
FIND_CMD=dir /S /B lib\*.dart test\*.dart | findstr /V .mocks.dart
else
FIND_CMD=find lib test -name '*.dart' -not -name '*.mocks.dart'
endif
analyze:
flutter analyze
checkFormat:
dart format -o none --set-exit-if-changed $$( $(FIND_CMD) )
checkstyle:
make analyze && make checkFormat
format:
dart format $$( $(FIND_CMD) )
runTests:
flutter test
checkoutToPR:
git fetch origin pull/$(id)/head:pr-$(id) --force; \
git checkout pr-$(id)
# Tells you in which version this commit has landed
findVersion:
git describe --contains $(commit) | sed 's/~.*//'
# Runs both `make runTests` and `make checkstyle`. Use this before pushing your code.
sure:
make runTests && make checkstyle
# To create generated files (for example mock files in unit_tests)
codeGen:
dart run build_runner build --delete-conflicting-outputs
showTestCoverage:
flutter test --coverage
genhtml coverage/lcov.info -o coverage/html
source ./scripts/makefile_scripts.sh && open_link "coverage/html/index.html"
buildRunner:
flutter packages pub run build_runner build --delete-conflicting-outputs
================================================
FILE: README.md
================================================

[](https://pub.dartlang.org/packages/fl_chart)
[](https://codecov.io/gh/imaNNeo/fl_chart)
<a href="https://github.com/Solido/awesome-flutter#charts"><img src="https://img.shields.io/badge/awesome-flutter-blue.svg?longCache=true" alt="Awesome Flutter"></a>
<a href="https://pub.dev/packages/fl_chart"><img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/imaNNeo/fl_chart"></a>
<a href="https://github.com/imaNNeo/fl_chart/graphs/contributors"><img alt="GitHub contributors" src="https://img.shields.io/github/contributors/imaNNeo/fl_chart"></a>
<a href="https://githubc.com/imaNNeo/fl_chart/issues?q=is%3Aissue+is%3Aclosed"><img src="https://img.shields.io/github/issues-closed-raw/imaNNeo/fl_chart" alt="GitHub closed issues"></a>

<span class="badge-buymeacoffee">
<a href="https://www.buymeacoffee.com/fl_chart" title="Donate to this project using Buy Me A Coffee"><img src="https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg" alt="Buy Me A Coffee donate button" /></a>
</span>
### Our Financial Heroes
Your financial support acts as fuel for fl_chart's development. [Support here](https://github.com/sponsors/imaNNeo).
<table>
<tbody>
<tr>
<td>
<a href="https://github.com/sponsors/imaNNeo">
<img src="https://github.com/imaNNeo/fl_chart_landing/raw/main/static/img/sponsors/intero-the-sniffers.png">
</a>
</td>
<td>
<a href="https://github.com/sponsors/imaNNeo">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/imaNNeo/fl_chart/raw/main/repo_files/sponsors/become_a_sponsor_dark.png">
<source media="(prefers-color-scheme: light)" srcset="https://github.com/imaNNeo/fl_chart/raw/main/repo_files/sponsors/become_a_sponsor_light.png">
<img alt="Become a sponsor" >
</picture>
</a>
</td>
<td>
<a href="https://github.com/sponsors/imaNNeo">
<img src="https://github.com/imaNNeo/fl_chart/raw/main/repo_files/sponsors/become_a_hero_empty.png">
</a>
</td>
<td>
<a href="https://github.com/sponsors/imaNNeo">
<img src="https://github.com/imaNNeo/fl_chart/raw/main/repo_files/sponsors/become_a_hero_empty.png">
</a>
</td>
</tr>
</tbody>
</table>
### Overview
FL Chart is a highly customizable Flutter chart library that supports **[Line Chart](https://app.flchart.dev/#/line)**, **[Bar Chart](https://app.flchart.dev/#/bar)**, **[Pie Chart](https://app.flchart.dev/#/pie)**, **[Scatter Chart](https://app.flchart.dev/#/scatter)**, and **[Radar Chart](https://app.flchart.dev/#/radar)**.
<a href="https://www.youtube.com/watch?v=hVRU-kpKNjQ&list=PL1-_rCwRcnbNpvodmbt43O81wMUdBv8-a"><img src="https://github.com/imaNNeo/fl_chart/raw/main/repo_files/images/overview_thumbnail.png"></p></a>
### Chart Types
|LineChart |BarChart |PieChart |
|:------------:|:------------:|:-------------:|
| [](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/line_chart.md#sample-1-source-code) [](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/line_chart.md#sample-2-source-code) | [](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/bar_chart.md#sample-1-source-code) [](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/bar_chart.md#sample-2-source-code) | [](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/pie_chart.md#sample-1-source-code) [](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/pie_chart.md#sample-2-source-code) |
|[Read More](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/line_chart.md)|[Read More](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/bar_chart.md)|[Read More](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/pie_chart.md)|
|ScatterChart |RadarChart| CandlestickChart|
|:------------:|:------------:|:-------------:|
| [](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/scatter_chart.md#sample-1-source-code) [](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/scatter_chart.md#sample-2-source-code) |  | |
|[Read More](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/scatter_chart.md)|[Read More](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/radar_chart.md)|[Read More](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/candlestick_chart.md)|
Banner designed by [Soheil Saffar](https://www.linkedin.com/in/soheilsaffar), and
samples inspired from
[David Kovalev](https://dribbble.com/shots/5560237-Live-Graphs-XD),
[Ricardo Salazar](https://dribbble.com/shots/1956890-Data-Stats),
[Dmitro Petrenko](https://dribbble.com/shots/5425378-Mobile-Application-Dashboard-for-Stock-Platform),
[Ghani Pradita](https://dribbble.com/shots/6379476-Calories-Management-App),
[MONUiXD](https://www.uplabs.com/posts/chart-pie-chart-bar-chart).
Thank you all!
# Let's get started
First of all, you need to add the `fl_chart` in your project. To do that, follow [this guide](https://pub.dev/packages/fl_chart/install).
Then you need to read the docs. Start from [here](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/index.md).
We suggest that you check the sample source code.
##### - You can read about the animation handling [here](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/handle_animations.md)
|Sample1 |Sample2 |Sample3 |
|:------------:|:------------:|:-------------:|
| [](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/line_chart.md#sample-1-source-code) | [](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/line_chart.md#sample-2-source-code) | [](https://github.com/imaNNeo/fl_chart/blob/main/repo_files/documentations/bar_chart.md#sample-1-source-code) |
### Try it out
You can try the FL Chart sample app on the platforms that are available below:
[](https://play.google.com/store/apps/details?id=dev.flchart.app)
[](https://apps.apple.com/us/app/fl-chart/id6476523019)
[](https://app.flchart.dev)
[//]: # ([](https://apps.apple.com/app/your-macos-app-id))
[//]: # ([](https://your-linux-distribution-link.com))
[//]: # ([](https://your-windows-app-link.com))
### Donation
Your donation motivates me to work more on the fl_chart and resolve more issues.
There are multiple ways to donate to me:
1. You can be my sponsor on [GitHub](https://github.com/sponsors/imaNNeo) (This is the most reliable way to donate to me)
2. You can <a href="https://www.buymeacoffee.com/fl_chart">buy me a coffee!</a>
3. Or if you are a fan of crypto, you can donate me Bitcoins here: `1L7ghKdcmgydmUJAnmYmMaiVjT1LoP4a45`
### Contributing
##### :beer: Pull requests are welcome!
Remember that open-source projects thrive on contributions. Every improvement—no matter how small—makes a meaningful difference, even if it’s just a single line.
Our documentation may contain grammatical issues, and if you’re fluent in English, your help in correcting them would be greatly appreciated.
Check out [CONTRIBUTING.md](https://github.com/imaNNeo/fl_chart/blob/main/CONTRIBUTING.md), which contains a guide for those who want to contribute to the FL Chart.
Reporting bugs and issues is also a contribution, yes, it is.
#### Below are the people who have contributed to the FL Chart. We hope we have your picture here soon.
[](https://github.com/imaNNeo/fl_chart/graphs/contributors)
================================================
FILE: SOURCES.md
================================================
### Sources to learn more about the fl_chart:
All sources are sorted by date.
Did you find any new article or source? please contribute to have them all here.
#### Blog post:
<!--- 2022-11-33 --->
* [Design Stunning Charts with fl_charts in Flutter](https://www.atatus.com/blog/design-stunning-charts-with-fl-charts-in-flutter/)
<!--- 2022-04-12 --->
* [Build beautiful charts in Flutter with FL Chart](https://blog.logrocket.com/build-beautiful-charts-flutter-fl-chart)
<!--- 2021-11-18 --->
* [Flutter4Fun UI Challenge 7](https://flutter4fun.com/ui-challenge-7/)
<!--- 2020-01-03 --->
* [Stock charts](https://dev.to/kamilpowalowski/stock-charts-with-flchart-library-1gd2)
#### Video:
<!--- 2022-09-01 --->
* [how to create line chart in flutter | fl_chart](https://www.youtube.com/watch?v=Iv3F2HO5Jvc)
<!--- 2022-01-19 --->
* [line chart in flutter - flutter tutorial](https://www.youtube.com/watch?v=xHzDAewbSGY)
<!--- 2021-12-04 --->
* [Portfolio Dashboard Flutter UI Desktop & Web](https://www.youtube.com/watch?v=H9vXUine7Zo)
<!--- 2021-11-20 --->
* [Flutter UI | Stocks App UI Design - Day 55](https://www.youtube.com/watch?v=oILraFu8OE8)
<!--- 2021-09-14 --->
* [Implementing Chart in Flutter - Pair Programming with Fl_Chart Author](https://www.youtube.com/watch?v=msMxuUERtg8)
<!--- 2021-09-01 --->
* [how to create line chart in flutter | fl_chart](https://www.youtube.com/watch?v=Iv3F2HO5Jvc)
<!--- 2021-07-28 --->
* [Responsive Admin Dashboard or Panel using Flutter - Flutter Web UI - Part 1](https://www.youtube.com/watch?v=MRiZpwdy1CM)
<!--- 2021-07-27 --->
* [Admin Panel Dashboard - Flutter Responsive UI Design](https://www.youtube.com/watch?v=n7O3pXfENPU)
<!--- 2021-07-13 --->
* [How to build Flutter UI - 3 Steps](https://www.youtube.com/watch?v=I0NBtFS_ibc)
<!--- 2021-06-28 --->
* [Flutter Web - Dashboard Website Template (Responsive)](https://www.youtube.com/watch?v=3SMdJE_dSxU)
<!--- 2021-04-26 --->
* [How to create charts in Flutter](https://www.youtube.com/watch?v=JBJ6o4blgPA)
<!--- 2021-01-11 --->
* [Flutter Charts 📊📈](https://www.youtube.com/watch?v=ibkcwCv9Lyw)
<!--- 2020-10-27 --->
* [Flutter Library for Customizable](https://www.youtube.com/watch?v=1pjAItIDNz8)
<!--- 2020-10-26 --->
* [Pie Chart - FLChart](https://www.youtube.com/watch?v=rZx_isqXrhg&t=77s)
<!--- 2020-10-20 --->
* [Flutter Tutorial - Bar Chart](https://www.youtube.com/watch?v=7wUmzYOPQ8w)
<!--- 2020-09-15 --->
* [wallet-app-ui-piechart](https://www.youtube.com/watch?v=M4w-dighmMU)
<!--- 2020-08-15 --->
* [Flutter UI Tutorial - Fitness App](https://www.youtube.com/watch?v=hTg4DDl8Ixo)
<!--- 2020-08-09 --->
* [Gradient Chart](https://www.youtube.com/watch?v=OR2DMRnEXkA)
<!--- 2020-08-08 --->
* [Flutter charts tutorial for beginners](https://www.youtube.com/watch?v=nCmihMrWS38)
<!--- 2020-08-09 --->
* [The easy way with fl-Chart](https://www.youtube.com/watch?v=R_vpnW5QZEw)
<!--- 2020-06-24 --->
* [Get the data form COVID-19 API](https://www.youtube.com/watch?v=QXMWzbdGDkA)
<!--- 2020-06-01 --->
* [Flutter COVID-19 Dashboard UI](https://www.youtube.com/watch?v=krU-ASLb8lM)
<!--- 2020-05-08 --->
* [Flutter UI](https://www.youtube.com/watch?v=axWBN1aotQk)
<!--- 2020-04-24 --->
* [Flutter](https://www.youtube.com/watch?v=rwHFslLo6ho)
<!--- 2019-09-04 --->
* [Setup Pie Charts](https://www.youtube.com/watch?v=zRZiJdbp3_E)
================================================
FILE: _config.yml
================================================
theme: jekyll-theme-architect
================================================
FILE: analysis_options.yaml
================================================
include: package:very_good_analysis/analysis_options.yaml
analyzer:
exclude:
- "**.mocks.dart"
linter:
rules:
always_put_required_named_parameters_first: false
avoid_bool_literals_in_conditional_expressions: false
avoid_positional_boolean_parameters: false
comment_references: false
library_private_types_in_public_api: false
lines_longer_than_80_chars: false
no_default_cases: false
parameter_assignments: false
prefer_asserts_with_message: false
prefer_constructors_over_static_methods: false
public_member_api_docs: false
use_if_null_to_convert_nulls_to_bools: false
use_setters_to_change_properties: false
avoid_catches_without_on_clauses: false
================================================
FILE: example/.gitignore
================================================
# Miscellaneous
.flutter-plugins
*.class
*.log
*.pyc
*.swp
.DS_Store
.atom/
.build/
.buildlog/
.history
.svn/
.swiftpm/
migrate_working_dir/
# IntelliJ related
*.iml
*.ipr
*.iws
.idea/
# The .vscode folder contains launch configuration and tasks you configure in
# VS Code which you may wish to be included in version control, so this line
# is commented out by default.
#.vscode/
# Flutter/Dart/Pub related
**/doc/api/
**/ios/Flutter/.last_build_id
.dart_tool/
.flutter-plugins-dependencies
.pub-cache/
.pub/
/build/
/coverage/
# Symbolication related
app.*.symbols
# Obfuscation related
app.*.map.json
# Android Studio will place build artifacts here
/android/app/debug
/android/app/profile
/android/app/release
================================================
FILE: example/.metadata
================================================
# This file tracks properties of this Flutter project.
# Used by Flutter tool to assess capabilities and perform upgrades etc.
#
# This file should be version controlled and should not be manually edited.
version:
revision: "20f82749394e68bcfbbeee96bad384abaae09c13"
channel: "stable"
project_type: app
# Tracks metadata for the flutter migrate command
migration:
platforms:
- platform: root
create_revision: 20f82749394e68bcfbbeee96bad384abaae09c13
base_revision: 20f82749394e68bcfbbeee96bad384abaae09c13
- platform: ios
create_revision: 20f82749394e68bcfbbeee96bad384abaae09c13
base_revision: 20f82749394e68bcfbbeee96bad384abaae09c13
# User provided section
# List of Local paths (relative to this file) that should be
# ignored by the migrate tool.
#
# Files that are not part of the templates will be ignored by default.
unmanaged_files:
- 'lib/main.dart'
- 'ios/Runner.xcodeproj/project.pbxproj'
================================================
FILE: example/README.md
================================================
This is the FL Chart App.
Check it out live here:
[app.flchart.dev](https://app.flchart.dev)
================================================
FILE: example/analysis_options.yaml
================================================
# This file configures the analyzer, which statically analyzes Dart code to
# check for errors, warnings, and lints.
#
# The issues identified by the analyzer are surfaced in the UI of Dart-enabled
# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be
# invoked from the command line by running `flutter analyze`.
# The following line activates a set of recommended lints for Flutter apps,
# packages, and plugins designed to encourage good coding practices.
include: package:flutter_lints/flutter.yaml
linter:
# The lint rules applied to this project can be customized in the
# section below to disable rules from the `package:flutter_lints/flutter.yaml`
# included above or to enable additional rules. A list of all available lints
# and their documentation is published at https://dart.dev/lints.
#
# Instead of disabling a lint rule for the entire project in the
# section below, it can also be suppressed for a single line of code
# or a specific dart file by using the `// ignore: name_of_lint` and
# `// ignore_for_file: name_of_lint` syntax on the line or in the file
# producing the lint.
rules:
# avoid_print: false # Uncomment to disable the `avoid_print` rule
# prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule
# Additional information about this file can be found at
# https://dart.dev/guides/language/analysis-options
================================================
FILE: example/android/.gitignore
================================================
gradle-wrapper.jar
/.gradle
/captures/
/gradlew
/gradlew.bat
/local.properties
GeneratedPluginRegistrant.java
.cxx/
# Remember to never publicly share your keystore.
# See https://flutter.dev/to/reference-keystore
key.properties
**/*.keystore
**/*.jks
================================================
FILE: example/android/app/build.gradle.kts
================================================
import java.util.Properties
import java.io.FileInputStream
plugins {
id("com.android.application")
id("kotlin-android")
// The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
id("dev.flutter.flutter-gradle-plugin")
}
val keystoreProperties = Properties()
val keystorePropertiesFile = rootProject.file("key.properties")
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(FileInputStream(keystorePropertiesFile))
}
android {
namespace = "dev.flchart.app"
compileSdk = flutter.compileSdkVersion
ndkVersion = flutter.ndkVersion
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_11.toString()
}
defaultConfig {
applicationId = "dev.flchart.app"
minSdk = flutter.minSdkVersion
targetSdk = flutter.targetSdkVersion
versionCode = flutter.versionCode
versionName = flutter.versionName
}
signingConfigs {
create("release") {
keyAlias = keystoreProperties["keyAlias"] as String
keyPassword = keystoreProperties["keyPassword"] as String
storeFile = keystoreProperties["storeFile"]?.let { file(it) }
storePassword = keystoreProperties["storePassword"] as String
}
}
buildTypes {
release {
signingConfig = signingConfigs.getByName("release")
}
}
}
flutter {
source = "../.."
}
================================================
FILE: example/android/app/src/debug/AndroidManifest.xml
================================================
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<!-- The INTERNET permission is required for development. Specifically,
the Flutter tool needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>
================================================
FILE: example/android/app/src/main/AndroidManifest.xml
================================================
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET"/>
<queries>
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="http" />
</intent>
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="https" />
</intent>
<!-- Required to query activities that can process text, see:
https://developer.android.com/training/package-visibility and
https://developer.android.com/reference/android/content/Intent#ACTION_PROCESS_TEXT.
In particular, this is used by the Flutter engine in io.flutter.plugin.text.ProcessTextPlugin. -->
<intent>
<action android:name="android.intent.action.PROCESS_TEXT"/>
<data android:mimeType="text/plain"/>
</intent>
</queries>
<application
android:label="FL Chart App"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher">
<activity
android:name=".MainActivity"
android:exported="true"
android:launchMode="singleTop"
android:taskAffinity=""
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
<!-- Specifies an Android theme to apply to this Activity as soon as
the Android process has started. This theme is visible to the user
while the Flutter UI initializes. After that, this theme continues
to determine the Window background behind the Flutter UI. -->
<meta-data
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
<meta-data
android:name="flutterEmbedding"
android:value="2" />
</application>
</manifest>
================================================
FILE: example/android/app/src/main/kotlin/dev/flchart/app/MainActivity.kt
================================================
package dev.flchart.app
import io.flutter.embedding.android.FlutterActivity
class MainActivity : FlutterActivity()
================================================
FILE: example/android/app/src/main/res/drawable/launch_background.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/white" />
<!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
</layer-list>
================================================
FILE: example/android/app/src/main/res/drawable-v21/launch_background.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="?android:colorBackground" />
<!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
</layer-list>
================================================
FILE: example/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>
================================================
FILE: example/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>
================================================
FILE: example/android/app/src/main/res/values/ic_launcher_background.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="ic_launcher_background">#282E45</color>
</resources>
================================================
FILE: example/android/app/src/main/res/values/styles.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
the Flutter engine draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>
================================================
FILE: example/android/app/src/main/res/values-night/styles.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is on -->
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
the Flutter engine draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>
================================================
FILE: example/android/app/src/profile/AndroidManifest.xml
================================================
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<!-- The INTERNET permission is required for development. Specifically,
the Flutter tool needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>
================================================
FILE: example/android/build.gradle.kts
================================================
allprojects {
repositories {
google()
mavenCentral()
}
}
val newBuildDir: Directory =
rootProject.layout.buildDirectory
.dir("../../build")
.get()
rootProject.layout.buildDirectory.value(newBuildDir)
subprojects {
val newSubprojectBuildDir: Directory = newBuildDir.dir(project.name)
project.layout.buildDirectory.value(newSubprojectBuildDir)
}
subprojects {
project.evaluationDependsOn(":app")
}
tasks.register<Delete>("clean") {
delete(rootProject.layout.buildDirectory)
}
================================================
FILE: example/android/gradle/wrapper/gradle-wrapper.properties
================================================
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-all.zip
================================================
FILE: example/android/gradle.properties
================================================
org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError
android.useAndroidX=true
android.enableJetifier=true
================================================
FILE: example/android/settings.gradle.kts
================================================
pluginManagement {
val flutterSdkPath =
run {
val properties = java.util.Properties()
file("local.properties").inputStream().use { properties.load(it) }
val flutterSdkPath = properties.getProperty("flutter.sdk")
require(flutterSdkPath != null) { "flutter.sdk not set in local.properties" }
flutterSdkPath
}
includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
}
plugins {
id("dev.flutter.flutter-plugin-loader") version "1.0.0"
id("com.android.application") version "8.9.1" apply false
id("org.jetbrains.kotlin.android") version "2.1.0" apply false
}
include(":app")
================================================
FILE: example/assets/data/amsterdam_2024_weather.csv
================================================
name,datetime,tempmax,tempmin,temp,feelslikemax,feelslikemin,feelslike,dew,humidity,precip,precipprob,precipcover,preciptype,snow,snowdepth,windgust,windspeed,winddir,sealevelpressure,cloudcover,visibility,solarradiation,solarenergy,uvindex,severerisk,sunrise,sunset,moonphase,conditions,description,icon,stations
"Amsterdam,Netherlands",2024-01-01,9.1,6.4,8,5.3,2.5,4.1,5.1,82.4,14.26,100,37.5,rain,0,0,53.9,40.2,225.9,1000.1,88.7,20.5,20.6,1.8,2,,2024-01-01T08:50:34,2024-01-01T16:37:06,0.68,"Rain, Partially cloudy",Partly cloudy throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-01-02,12.2,6.6,10.2,12.2,2.7,9,8.8,91.4,17.935,100,66.67,rain,0,0,91,62.5,205.1,987.8,100,12.9,7.4,0.6,1,,2024-01-02T08:50:27,2024-01-02T16:38:10,0.71,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-01-03,10.5,8.1,9.6,10.5,4.5,7.5,7.7,88,9.238,100,62.5,rain,0,0,106.8,58.1,248.3,987.8,96.3,15.4,10.2,1,1,,2024-01-03T08:50:16,2024-01-03T16:39:18,0.74,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-01-04,8.5,6.7,7.4,7.1,4,5.6,6.6,94.6,8.205,100,62.5,rain,0,0,28.1,17.7,235.3,1000.4,99.6,22.1,14.3,1.3,1,,2024-01-04T08:50:01,2024-01-04T16:40:29,0.75,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-01-05,8.5,5.5,7.1,5.7,2.3,4.3,6.1,93.7,8.285,100,58.33,rain,0,0,45,29.9,118.1,996.5,99.9,21.5,5.2,0.6,0,,2024-01-05T08:49:44,2024-01-05T16:41:42,0.8,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-01-06,5,1.4,3.7,1.2,-3.6,-0.2,1.8,87.9,0.098,100,8.33,rain,0,0,35.2,21.8,11,1011.1,99.3,29.8,9.3,0.8,1,,2024-01-06T08:49:22,2024-01-06T16:42:57,0.84,"Rain, Overcast",Cloudy skies throughout the day with rain in the morning and afternoon.,rain,"06260099999,D3248,06249099999,C0449,06240099999,06269099999,06257099999"
"Amsterdam,Netherlands",2024-01-07,1.3,-0.7,0.5,-2.9,-5.9,-4.9,-2.7,79.1,0.015,100,4.17,"rain,snow",0,0,48.8,31.7,52.5,1024.9,67.5,39.1,22,1.9,2,,2024-01-07T08:48:58,2024-01-07T16:44:15,0.87,"Snow, Rain, Partially cloudy",Partly cloudy throughout the day with morning rain or snow.,rain,"06260099999,D3248,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-01-08,0.1,-2,-0.8,-5.9,-9.1,-7.2,-5.4,71.7,0,0,0,,0,0,49.5,37.2,63,1032.8,57.5,44.3,22.9,1.8,2,,2024-01-08T08:48:30,2024-01-08T16:45:36,0.9,Partially cloudy,Partly cloudy throughout the day.,partly-cloudy-day,"06260099999,D3248,06249099999,C0449,06240099999,06269099999,06257099999"
"Amsterdam,Netherlands",2024-01-09,-0.3,-4.1,-2.3,-6.6,-11.5,-9.1,-8.4,64,0,0,0,,0,0,46.1,30.7,64.6,1034,0,41.4,40,3.4,3,,2024-01-09T08:47:58,2024-01-09T16:46:59,0.93,Clear,Clear conditions throughout the day.,clear-day,"06260099999,D3248,06249099999,C0449,06240099999,06269099999,06257099999"
"Amsterdam,Netherlands",2024-01-10,0.3,-3.6,-2,-5.4,-9.6,-7.7,-8.4,62.2,0,0,0,,0,0,33.9,24.2,60.6,1031.1,0.1,41.8,39,3.4,2,,2024-01-10T08:47:24,2024-01-10T16:48:24,0.97,Clear,Clear conditions throughout the day.,clear-day,"06260099999,D3248,06249099999,C0449,06240099999,06269099999,06257099999"
"Amsterdam,Netherlands",2024-01-11,4.7,-5.3,-0.3,3.2,-8.7,-2.6,-2.4,86,0,0,0,,0,0,27.3,10.6,9.4,1034.4,59.7,14.8,13.4,1.1,1,,2024-01-11T08:46:46,2024-01-11T16:49:51,0,Partially cloudy,Partly cloudy throughout the day.,partly-cloudy-day,"06260099999,D3248,06249099999,C0449,06240099999,06269099999,06257099999"
"Amsterdam,Netherlands",2024-01-12,5.6,2.3,4,3.9,1,2.4,2.6,90.9,0.01,100,4.17,rain,0,0,31.8,13.7,328.2,1033.1,100,18.5,20.2,1.7,2,,2024-01-12T08:46:05,2024-01-12T16:51:20,0.03,"Rain, Overcast",Cloudy skies throughout the day with late afternoon rain.,rain,"06260099999,D3248,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-01-13,5.9,3.2,4.6,2.1,-0.9,1,3.4,92.3,1.002,100,41.67,rain,0,0,38.6,26.7,265.8,1022.5,99.6,17,10,0.8,1,,2024-01-13T08:45:21,2024-01-13T16:52:51,0.07,"Rain, Overcast",Cloudy skies throughout the day with rain.,rain,"06260099999,D3248,06249099999,C0449,06240099999,06257099999"
"Amsterdam,Netherlands",2024-01-14,5.7,2.7,4.3,2.1,-1.6,0.5,2.5,88,2.747,100,62.5,rain,0,0,42,27.2,275.1,1009.3,95.4,25.6,11.8,1,1,,2024-01-14T08:44:33,2024-01-14T16:54:24,0.1,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06249099999,C0449,06240099999,06269099999,06257099999"
"Amsterdam,Netherlands",2024-01-15,3.9,1.4,2.5,0.2,-4.4,-2.1,-0.3,81.9,3.366,100,70.83,"rain,snow",0.1,0,60.6,34.4,301,1003.2,69.4,28.2,25,2.1,3,,2024-01-15T08:43:43,2024-01-15T16:55:59,0.14,"Snow, Rain, Partially cloudy",Partly cloudy throughout the day with a chance of rain or snow throughout the day.,snow,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999"
"Amsterdam,Netherlands",2024-01-16,3,-0.2,1.3,-1.3,-5.6,-3,-1.8,80.5,2.814,100,41.67,"rain,snow",0.1,0.5,49.7,30.3,231,1006.7,88.4,34.2,45.8,3.9,3,,2024-01-16T08:42:50,2024-01-16T16:57:36,0.17,"Snow, Rain, Partially cloudy",Partly cloudy throughout the day with a chance of rain or snow throughout the day.,snow,"06260099999,D3248,06249099999,C0449,06240099999,06269099999,06257099999"
"Amsterdam,Netherlands",2024-01-17,0.5,-2.1,-0.5,0.2,-7.3,-4,-2.8,84.5,0.129,100,8.33,"rain,snow",0,0.5,31.6,24.3,184.6,993.6,99.8,25.1,18.3,1.6,1,,2024-01-17T08:41:53,2024-01-17T16:59:14,0.21,"Snow, Rain, Overcast",Cloudy skies throughout the day with rain or snow clearing later.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999"
"Amsterdam,Netherlands",2024-01-18,3.5,-3.4,-0.3,2.9,-6.3,-2.3,-2.5,85.7,0.337,100,8.33,"rain,snow",0,0,24.5,12.9,292.9,1001.5,40.9,34.2,22.9,2.1,2,,2024-01-18T08:40:54,2024-01-18T17:00:53,0.25,"Snow, Rain, Partially cloudy",Partly cloudy throughout the day with morning rain or snow.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999"
"Amsterdam,Netherlands",2024-01-19,4.8,-1.3,2,0.9,-4.8,-2.1,-1.1,80.5,0.751,100,33.33,"rain,snow",0.2,0,38.5,23.9,245.2,1018.5,33.8,32.3,47.6,4,3,,2024-01-19T08:39:52,2024-01-19T17:02:34,0.28,"Snow, Rain, Partially cloudy",Partly cloudy throughout the day with a chance of rain or snow throughout the day.,snow,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-01-20,2.2,-0.2,0.9,-3.1,-6.1,-4.5,-2.1,80.8,0,0,0,,0,0,38.9,29.8,201,1025.9,89.7,21.2,30.4,2.6,1,,2024-01-20T08:38:47,2024-01-20T17:04:17,0.31,Partially cloudy,Partly cloudy throughout the day.,partly-cloudy-day,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-01-21,7.4,-0.1,3.4,2.2,-5.7,-2,-0.6,76,0.201,100,4.17,rain,0,0,66.7,45.1,189.5,1016.4,99.6,34.2,9.9,0.7,0,,2024-01-21T08:37:40,2024-01-21T17:06:00,0.35,"Rain, Overcast",Cloudy skies throughout the day with late afternoon rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-01-22,11.5,7.6,9.5,11.5,3.2,6.8,6.6,82.3,1.635,100,50,rain,0,0,83.1,55.8,228,1005.8,64.2,16.6,38.5,3.3,3,,2024-01-22T08:36:29,2024-01-22T17:07:45,0.38,"Rain, Partially cloudy",Partly cloudy throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-01-23,11.5,6.2,8.1,11.5,2.1,4.4,5.3,83,4.604,100,33.33,rain,0,0,82,57.5,230.6,1018.5,71.9,14.7,26.8,2.3,2,,2024-01-23T08:35:16,2024-01-23T17:09:31,0.42,"Rain, Partially cloudy",Partly cloudy throughout the day with rain.,rain,"06260099999,C0449,06257099999,EHAM,D3248,EHRD,06348099999,06249099999,06240099999,EHLE,EHKD,06269099999,06344099999"
"Amsterdam,Netherlands",2024-01-24,12.2,8.6,10,12.2,4.9,8,6.6,79.2,1.409,100,16.67,rain,0,0,94.2,61.6,247.1,1018.3,78.8,14.1,31.8,2.7,2,,2024-01-24T08:34:01,2024-01-24T17:11:17,0.45,"Rain, Partially cloudy",Partly cloudy throughout the day with rain clearing later.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-01-25,9.6,3.4,6.9,6.8,0.9,4.2,5.7,92.3,1.425,100,33.33,rain,0,0,38.4,26.8,222.3,1026.6,80.5,8.7,20.9,1.8,2,,2024-01-25T08:32:43,2024-01-25T17:13:05,0.5,"Rain, Partially cloudy",Partly cloudy throughout the day with rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-01-26,11.4,3.9,8.5,11.4,1.1,5.7,5.8,84,4.101,100,29.17,rain,0,0,68.2,48.4,256.5,1024.2,59.2,18.1,44.4,3.8,4,,2024-01-26T08:31:22,2024-01-26T17:14:54,0.52,"Rain, Partially cloudy",Partly cloudy throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-01-27,7.9,2,4.2,5.2,-1.7,0.9,2.5,89.1,0.268,100,4.17,rain,0,0,28.1,20.2,207.5,1034.4,56.5,16.7,43.9,3.9,2,,2024-01-27T08:30:00,2024-01-27T17:16:43,0.56,"Rain, Partially cloudy",Partly cloudy throughout the day with morning rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-01-28,8.6,0.8,4.2,5.6,-3.3,0.9,0,74.9,0,0,0,,0,0,30.7,20.7,150.7,1027.6,88.2,33,62,5.3,3,,2024-01-28T08:28:34,2024-01-28T17:18:33,0.59,Partially cloudy,Partly cloudy throughout the day.,partly-cloudy-day,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-01-29,10.5,3,6.4,10.5,-0.2,3.9,4.1,85.4,0,0,0,,0,0,27.8,16.6,171.7,1025.1,99.7,28.6,39.1,3.4,2,,2024-01-29T08:27:07,2024-01-29T17:20:24,0.62,Overcast,Cloudy skies throughout the day.,cloudy,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-01-30,10.5,4.7,7.8,10.5,2.8,5,6.7,92.3,0.644,100,20.83,rain,0,0,58.9,34.3,227.3,1026.7,99.9,17.4,13.5,1.2,1,,2024-01-30T08:25:37,2024-01-30T17:22:15,0.65,"Rain, Overcast",Cloudy skies throughout the day with rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-01-31,8.3,5.1,6.5,5.3,2.5,3.4,3.4,81,0.075,100,8.33,rain,0,0,56.2,37.5,221.6,1030.4,100,34.6,12.7,1.1,1,,2024-01-31T08:24:05,2024-01-31T17:24:07,0.69,"Rain, Overcast",Cloudy skies throughout the day with rain clearing later.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-02-01,9.1,4.4,6.6,5.3,1.3,3.3,4.6,87.4,4.35,100,20.83,rain,0,0,59.4,37,272.7,1029.2,64.5,12.1,56.7,4.9,4,,2024-02-01T08:22:31,2024-02-01T17:25:59,0.72,"Rain, Partially cloudy",Partly cloudy throughout the day with rain clearing later.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06257099999"
"Amsterdam,Netherlands",2024-02-02,9.1,5.9,7.6,5.5,2.4,3.8,6.2,90.6,0,0,0,,0,0,49.7,34.1,237.3,1026.9,99.6,12.7,25,2.1,2,,2024-02-02T08:20:55,2024-02-02T17:27:52,0.75,Overcast,Cloudy skies throughout the day.,cloudy,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06257099999"
"Amsterdam,Netherlands",2024-02-03,10.9,9.1,10,10.9,6,7.7,8.4,89.9,0,0,0,,0,0,54.2,34.1,249.4,1024.4,99.5,23.2,37,3.1,3,,2024-02-03T08:19:17,2024-02-03T17:29:45,0.75,Overcast,Cloudy skies throughout the day.,cloudy,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-02-04,10.5,8.3,9.7,10.5,5.4,8,8.3,91.1,2.126,100,20.83,rain,0,0,61,38.5,252.3,1020.7,99.9,18.6,13.2,1.1,1,,2024-02-04T08:17:37,2024-02-04T17:31:38,0.82,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-02-05,10.4,8.7,9.4,10.4,4.6,5.6,7.1,85.8,0.051,100,12.5,rain,0,0,72.5,50.4,240.1,1017.4,99.8,16.7,22.2,2,1,,2024-02-05T08:15:56,2024-02-05T17:33:32,0.85,"Rain, Overcast",Cloudy skies throughout the day with rain.,rain,"06260099999,06348099999,06249099999,C0449,06240099999,06257099999"
"Amsterdam,Netherlands",2024-02-06,12,7,10.5,12,3.5,10,7.9,84,4.573,100,25,rain,0,0,82.3,57.4,237.3,1007.6,100,14.3,24.6,2.1,2,,2024-02-06T08:14:12,2024-02-06T17:35:25,0.88,"Rain, Overcast",Cloudy skies throughout the day with rain.,rain,"D3248,06260099999,06348099999,06249099999,06240099999,C0449,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-02-07,6.7,1.4,4.8,6.7,1.4,3.2,1.8,82,3.834,100,29.17,rain,0,0,27.8,15.6,345.1,1005.3,100,22.2,46.1,4,3,,2024-02-07T08:12:27,2024-02-07T17:37:19,0.92,"Rain, Overcast",Cloudy skies throughout the day with rain clearing later.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06257099999"
"Amsterdam,Netherlands",2024-02-08,4,0.5,2.4,1.7,-2.7,-0.3,1.6,94.4,8.38,100,45.83,rain,0.4,0,42.8,24.9,92.6,997.7,99.6,11.9,13.1,1.2,1,,2024-02-08T08:10:39,2024-02-08T17:39:13,0.95,"Rain, Overcast",Cloudy skies throughout the day with rain or snow.,snow,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06257099999"
"Amsterdam,Netherlands",2024-02-09,12.2,4.9,10.3,12.2,2,9.1,8.7,90.6,12.645,100,54.17,rain,0,0,44.9,27.6,176.5,983.4,99.8,25.9,20.9,1.7,1,,2024-02-09T08:08:51,2024-02-09T17:41:07,0,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-02-10,11.9,9.4,10.4,11.9,7.3,9.6,8.9,90.6,0.454,100,12.5,rain,0,0,24.3,17.2,137.6,985.9,99.4,31.1,37.3,3.3,2,,2024-02-10T08:07:00,2024-02-10T17:43:01,0.02,"Rain, Overcast",Cloudy skies throughout the day with rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-02-11,10,7.9,8.9,8.7,5.2,6.9,8.1,94.4,3.279,100,54.17,rain,0,0,31.9,20.8,211.1,989.7,99.9,10.5,22.8,2,2,,2024-02-11T08:05:08,2024-02-11T17:44:55,0.05,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-02-12,8.9,3.7,7,7,0.5,4.2,5.4,90.2,0.591,100,20.83,rain,0,0,38,26.6,246,1003.4,76.5,21.8,57.4,4.9,4,,2024-02-12T08:03:15,2024-02-12T17:46:49,0.09,"Rain, Partially cloudy",Partly cloudy throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-02-13,9.1,3.8,6.6,6,0.5,3.1,4.6,87,0.083,100,16.67,rain,0,0,39.1,27.7,200.4,1014.3,95.5,24.5,41.9,3.5,3,,2024-02-13T08:01:20,2024-02-13T17:48:43,0.12,"Rain, Overcast",Cloudy skies throughout the day with late afternoon rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-02-14,11.7,8,10.6,11.7,4.2,9.9,10.1,96.6,11.723,100,70.83,rain,0,0,49.8,34.4,224.9,1013.4,100,8.9,13.6,1.2,1,,2024-02-14T07:59:23,2024-02-14T17:50:36,0.15,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-02-15,15.6,11.2,12.8,15.6,11.2,12.8,11.3,90.8,6.248,100,37.5,rain,0,0,31.9,23.2,180.4,1012.6,99.2,23.2,31.5,2.8,2,,2024-02-15T07:57:26,2024-02-15T17:52:30,0.19,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-02-16,12,9.2,10.7,12,7.2,10.3,9,89.9,2.067,100,20.83,rain,0,0,33,23.6,228.8,1012.9,97.4,28.2,21,1.8,1,,2024-02-16T07:55:26,2024-02-16T17:54:23,0.25,"Rain, Overcast",Cloudy skies throughout the day with rain in the morning and afternoon.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-02-17,11.4,7.9,9.8,11.4,6.2,9.1,8.4,91.4,0.415,100,12.5,rain,0,0,23.8,16.8,228.3,1029.2,99.2,20.9,35.3,3,2,,2024-02-17T07:53:26,2024-02-17T17:56:17,0.26,"Rain, Overcast",Cloudy skies throughout the day with rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-02-18,10.4,8.4,9.4,10.4,4.6,6.9,8.6,94.5,16.3,100,79.17,rain,0,0,56.4,35,225.4,1023.8,100,12.1,10.5,0.8,1,,2024-02-18T07:51:24,2024-02-18T17:58:10,0.29,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-02-19,10.4,5.7,8.7,10.4,3.4,6.2,7.4,92,4.968,100,25,rain,0,0,44.6,33.1,269.7,1026,95,14.2,23.8,2,1,,2024-02-19T07:49:22,2024-02-19T18:00:03,0.33,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-02-20,10.4,5.1,8.3,10.4,2.6,5.6,6.7,90,0.207,100,4.17,rain,0,0,51.2,33.9,231.7,1025.6,99.7,13.7,43.3,3.7,2,,2024-02-20T07:47:18,2024-02-20T18:01:55,0.36,"Rain, Overcast",Cloudy skies throughout the day with morning rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-02-21,10.1,8.7,9.3,10.1,4.8,5.9,7.7,90,5.415,100,37.5,rain,0,0,49.7,37.4,203.7,1011.3,100,15.3,23,1.9,2,,2024-02-21T07:45:13,2024-02-21T18:03:48,0.39,"Rain, Overcast",Cloudy skies throughout the day with rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-02-22,12.5,5.2,9.9,12.5,-0.5,8.1,8.9,93.8,6.403,100,58.33,rain,0,0,67.7,49.2,208.2,986.4,98.1,13.7,27,2.3,1,,2024-02-22T07:43:07,2024-02-22T18:05:40,0.43,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06257099999"
"Amsterdam,Netherlands",2024-02-23,8.2,4.9,6.2,4.6,-0.8,1.8,3.4,82.3,6.364,100,66.67,rain,0,0,69.8,41.3,209.9,988.7,94.9,32.8,34.5,3,3,,2024-02-23T07:40:59,2024-02-23T18:07:32,0.46,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-02-24,6.2,2.7,4.7,3.3,-0.8,1.4,3.2,89.8,4.341,100,29.17,rain,0,0,38.4,27.8,184.4,996.8,96.7,29.3,34.1,3,1,,2024-02-24T07:38:51,2024-02-24T18:09:23,0.5,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-02-25,8.9,4.1,6.2,8.9,1.4,3.6,4.2,87.5,4.063,100,29.17,rain,0,0,36.7,17.6,164.3,999.5,94.9,26.3,44.7,4,3,,2024-02-25T07:36:42,2024-02-25T18:11:15,0.53,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-02-26,6.5,4.6,5.5,2.5,-0.1,1,3,83.9,0.122,100,29.17,rain,0,0,56.3,34.6,41,1006.5,91.3,36.3,37.9,3.3,2,,2024-02-26T07:34:32,2024-02-26T18:13:06,0.57,"Rain, Overcast",Cloudy skies throughout the day with rain in the morning and afternoon.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-02-27,8.1,1.7,4.7,7,-0.8,2.3,1.8,82.1,0.05,100,4.17,rain,0,0,44.8,20.9,22.1,1018.7,55.9,33.1,85.5,7.3,5,,2024-02-27T07:32:22,2024-02-27T18:14:56,0.6,"Rain, Partially cloudy",Partly cloudy throughout the day with morning rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-02-28,9.4,2.8,6.9,6.6,0,4.1,5.4,90.2,0,0,0,,0,0,37.1,23.9,190.2,1019.2,91.5,15.6,29.1,2.5,2,,2024-02-28T07:30:10,2024-02-28T18:16:47,0.63,Overcast,Cloudy skies throughout the day.,cloudy,"06260099999,C0449,06257099999,EHAM,D3248,EHRD,06348099999,06249099999,06240099999,EHLE,EHKD,06269099999,06344099999"
"Amsterdam,Netherlands",2024-02-29,9.1,7,8.3,5.9,3.4,4.9,7.6,95.7,4.966,100,79.17,rain,0,0,35.8,25.3,174.3,1008,100,10,15.8,1.5,1,,2024-02-29T07:27:58,2024-02-29T18:18:37,0.67,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-03-01,9.2,5.1,7.6,6.5,2,4.2,5.4,86,2.291,100,33.33,rain,0,0,57.5,37.6,171.4,999.9,80.7,28.5,55.7,4.8,3,,2024-03-01T07:25:45,2024-03-01T18:20:27,0.7,"Rain, Partially cloudy",Partly cloudy throughout the day with rain.,rain,"06260099999,C0449,06257099999,EHAM,D3248,EHRD,06348099999,06249099999,06240099999,EHLE,EHKD,06269099999,06344099999"
"Amsterdam,Netherlands",2024-03-02,11.5,5.4,8.9,11.5,1.9,6.8,4.2,73.6,0.755,100,20.83,rain,0,0,49.4,37.1,150.7,998.6,72.6,39.8,98.6,8.4,5,,2024-03-02T07:23:31,2024-03-02T18:22:17,0.73,"Rain, Partially cloudy",Partly cloudy throughout the day with rain clearing later.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-03-03,14.3,7.8,10.6,14.3,5,9.6,6.6,77,0,0,0,,0,0,36.1,21.5,143.2,1001.1,99.5,32,76.7,6.6,4,,2024-03-03T07:21:16,2024-03-03T18:24:06,0.75,Overcast,Cloudy skies throughout the day.,cloudy,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-03-04,10.4,4.2,7.5,10.4,1.9,5.6,4.2,81,0,0,0,,0,0,33.7,23.8,306.9,1011.1,98.3,35.7,88.3,7.7,5,,2024-03-04T07:19:01,2024-03-04T18:25:55,0.8,Overcast,Cloudy skies throughout the day.,cloudy,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-03-05,8.2,2.9,6,8.1,1,5.1,5.2,94.6,0.466,100,33.33,rain,0,0,27.8,7.4,77.8,1014.2,91.2,8.8,21.5,1.9,1,,2024-03-05T07:16:45,2024-03-05T18:27:44,0.83,"Rain, Overcast",Cloudy skies throughout the day with rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-03-06,11.3,5.4,7.5,11.3,3.4,6.4,5.4,87.9,0.426,100,8.33,rain,0,0,23.4,13.9,108.3,1022.1,53.8,11.7,96.5,8.5,5,,2024-03-06T07:14:29,2024-03-06T18:29:32,0.87,"Rain, Partially cloudy",Partly cloudy throughout the day with rain clearing later.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-03-07,8.9,3.2,5.6,5.5,-0.3,2.3,2.9,83.5,0,0,0,,0,0,39.5,27.8,75.9,1023.6,27,13.2,117.4,10.1,5,,2024-03-07T07:12:12,2024-03-07T18:31:20,0.9,Partially cloudy,Partly cloudy throughout the day.,partly-cloudy-day,"06260099999,C0449,06257099999,EHAM,D3248,EHRD,06348099999,06249099999,06240099999,EHLE,EHKD,06269099999,06344099999"
"Amsterdam,Netherlands",2024-03-08,9.7,1.8,5.5,6,-3.2,1.3,0.3,70.1,0,0,0,,0,0,47.2,33.1,90.1,1012.6,2.6,17.7,118.2,10.3,5,,2024-03-08T07:09:55,2024-03-08T18:33:08,0.94,Clear,Clear conditions throughout the day.,clear-day,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-03-09,12.5,3.6,7.9,12.5,-0.4,5.6,2.7,70.3,0,0,0,,0,0,36.3,26,97.8,1001.4,78.8,18.6,89.4,7.7,5,,2024-03-09T07:07:37,2024-03-09T18:34:56,0.97,Partially cloudy,Partly cloudy throughout the day.,partly-cloudy-day,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-03-10,11.3,6.2,8.7,11.3,2.5,6.5,4.2,73.5,0,0,0,,0,0,38.8,27.3,71.8,997.1,99.7,18.2,59.8,5.3,3,,2024-03-10T07:05:19,2024-03-10T18:36:44,0,Overcast,Cloudy skies throughout the day.,cloudy,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-03-11,8.3,6.7,7.1,7.2,4.1,5.5,6.1,93.3,3.569,100,58.33,rain,0,0,28.9,13.9,18.7,1002.1,99,5.9,18.2,1.6,1,,2024-03-11T07:03:01,2024-03-11T18:38:31,0.04,"Rain, Overcast",Cloudy skies throughout the day with rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-03-12,10.7,7,8.4,10.7,4,6.3,6.8,90.4,1.414,100,33.33,rain,0,0,31.6,21.5,215.3,1011.9,97.7,6.9,41,3.5,2,,2024-03-12T07:00:42,2024-03-12T18:40:18,0.07,"Rain, Overcast",Cloudy skies throughout the day with rain.,rain,"06260099999,06356099999,C0449,06257099999,EHAM,D3248,06348099999,06249099999,06240099999,06330099999,EHLE,06269099999,06344099999"
"Amsterdam,Netherlands",2024-03-13,12.2,8.8,10.9,12.2,6.6,10.7,9.3,90.2,1.099,100,37.5,rain,0,0,51.2,32.5,225.8,1013.3,99.6,21.2,27,2.2,1,,2024-03-13T06:58:23,2024-03-13T18:42:04,0.1,"Rain, Overcast",Cloudy skies throughout the day with rain clearing later.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-03-14,16.5,8.3,12.5,16.5,6,12,8.6,78.1,0.005,100,4.17,rain,0,0,41.3,27.7,194.2,1010.4,94.5,32.4,116.8,10.2,5,,2024-03-14T06:56:03,2024-03-14T18:43:51,0.14,"Rain, Overcast",Cloudy skies throughout the day with morning rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-03-15,14.2,10.5,12.5,14.2,10.5,12.5,9.8,83.9,0.701,100,25,rain,0,0,57.7,41.3,222.4,1006.2,90.3,21.7,56.8,4.8,2,,2024-03-15T06:53:43,2024-03-15T18:45:37,0.17,"Rain, Overcast",Cloudy skies throughout the day with rain clearing later.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-03-16,11,3.2,7.8,11,1.4,5.8,4.4,79.7,0.87,100,25,rain,0,0,41.1,27.2,296.5,1018.3,99.1,29.7,55.3,4.7,2,,2024-03-16T06:51:23,2024-03-16T18:47:23,0.2,"Rain, Overcast",Cloudy skies throughout the day with rain clearing later.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-03-17,12.8,4.6,9.3,12.8,2.9,8.1,6.6,83.4,2.806,100,25,rain,0,0,35.1,24.2,142.9,1019.3,99.7,26.2,64.8,5.4,3,,2024-03-17T06:49:03,2024-03-17T18:49:09,0.25,"Rain, Overcast",Cloudy skies throughout the day with late afternoon rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06235099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-03-18,13.3,7.2,10.7,13.3,6,10.4,8.4,86.6,0.944,100,12.5,rain,0,0,28.1,19.2,236.5,1015.6,87.9,15.5,129.7,11.2,6,,2024-03-18T06:46:43,2024-03-18T18:50:55,0.27,"Rain, Partially cloudy",Partly cloudy throughout the day with rain clearing later.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-03-19,15.2,7.9,11.4,15.2,6,11,8.2,81.6,0,0,0,,0,0,38.1,27.7,211.3,1017.5,94.3,28.8,91.5,8,6,,2024-03-19T06:44:22,2024-03-19T18:52:41,0.3,Overcast,Cloudy skies throughout the day.,cloudy,"06260099999,C0449,06257099999,EHAM,D3248,EHRD,06348099999,06249099999,06240099999,EHLE,EHKD,06269099999,06344099999"
"Amsterdam,Netherlands",2024-03-20,15,8,11.2,15,6.8,10.9,8.8,85.7,0.021,100,8.33,rain,0,0,17.8,9.9,236.3,1019,99.7,21.7,76.6,6.7,3,,2024-03-20T06:42:01,2024-03-20T18:54:26,0.34,"Rain, Overcast",Cloudy skies throughout the day with rain in the morning and afternoon.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06235099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-03-21,10.5,7.5,8.9,10.5,4.5,7.1,7.1,88.3,0.014,100,4.17,rain,0,0,29.2,20.9,267.2,1023.4,97.9,24.7,48,4,2,,2024-03-21T06:39:41,2024-03-21T18:56:12,0.37,"Rain, Overcast",Cloudy skies throughout the day with morning rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06235099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-03-22,10.8,7.6,9.7,10.8,6.2,8.7,7.9,88.8,0.634,100,37.5,rain,0,0,41.6,27.1,254.5,1016.2,100,10.5,27.6,2.4,1,,2024-03-22T06:37:20,2024-03-22T18:57:57,0.41,"Rain, Overcast",Cloudy skies throughout the day with rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-03-23,8.4,5,6.9,5.9,2.1,3.2,3.1,77.2,2.822,100,54.17,rain,0,0,56.3,40.9,259,1008.1,64,26.7,65.5,5.7,5,,2024-03-23T06:34:59,2024-03-23T18:59:42,0.44,"Rain, Partially cloudy",Partly cloudy throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-03-24,8.1,5.3,6.9,3.9,1.1,2.6,4.5,84.8,7.443,100,91.67,rain,0,0,63,41.3,281.8,1004,93.2,15.7,55.7,4.9,3,,2024-03-24T06:32:38,2024-03-24T19:01:27,0.47,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-03-25,11.4,2.8,7.4,11.4,-0.1,5.8,2.5,73.1,0.855,100,8.33,rain,0,0,28.2,20.2,150.4,1004.7,69.7,26.1,132,11.4,6,,2024-03-25T06:30:18,2024-03-25T19:03:12,0.5,"Rain, Partially cloudy",Partly cloudy throughout the day with rain clearing later.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-03-26,11,4.8,8.3,11,1.1,6.2,3.2,70.2,0.1,100,4.17,rain,0,0,36,21.6,119.1,991.7,96.9,29.6,96.5,8.3,3,,2024-03-26T06:27:57,2024-03-26T19:04:56,0.54,"Rain, Overcast",Cloudy skies throughout the day with late afternoon rain.,rain,"06260099999,06356099999,C0449,06257099999,EHAM,D3248,EHRD,06348099999,06249099999,06240099999,EHLE,EHKD,06275099999,06269099999,06344099999"
"Amsterdam,Netherlands",2024-03-27,12.3,7.1,10,12.3,4.6,9,6,76.7,0.014,100,8.33,rain,0,0,37.4,23.2,175.6,985.5,86.8,24.3,84.4,7.2,4,,2024-03-27T06:25:36,2024-03-27T19:06:41,0.57,"Rain, Partially cloudy",Partly cloudy throughout the day with rain in the morning and afternoon.,rain,"06356099999,06260099999,C0449,EHAM,06257099999,D3248,EHRD,06348099999,06249099999,06240099999,EHLE,EHKD,06269099999,06344099999"
"Amsterdam,Netherlands",2024-03-28,11.8,7,8.8,11.8,3.4,6.8,4.4,74.5,1.6,100,33.33,rain,0,0,63,40.9,178.9,984.6,76.3,10,84.5,7.3,7,,2024-03-28T06:23:16,2024-03-28T19:08:26,0.61,"Rain, Partially cloudy",Partly cloudy throughout the day with rain.,rain,"D3248,EHRD,C0449,EHLE,EHKD,EHAM"
"Amsterdam,Netherlands",2024-03-29,13.9,8,10.7,13.9,4.5,9.1,5.5,70.6,2.4,100,41.67,rain,0,0,51.8,29.8,186,991.4,59.5,10,117.6,10,4,,2024-03-29T06:20:56,2024-03-29T19:10:10,0.64,"Rain, Partially cloudy",Partly cloudy throughout the day with rain.,rain,"D3248,EHRD,C0449,EHLE,EHKD,EHAM"
"Amsterdam,Netherlands",2024-03-30,11.8,5,9,11.8,3.3,7.8,7.9,93.3,4.8,100,50,rain,0,0,25.6,22.6,200.1,996.3,78,8.8,27.3,2.3,1,,2024-03-30T06:18:35,2024-03-30T19:11:55,0.68,"Rain, Partially cloudy",Partly cloudy throughout the day with a chance of rain throughout the day.,rain,"D3248,EHRD,C0449,EHLE,EHKD,EHAM"
"Amsterdam,Netherlands",2024-03-31,14.9,3.8,9.3,14.9,1.4,8,7.9,91.9,5.8,100,54.17,rain,0,0,38.5,21.9,82.6,996.8,69.4,8.5,69.3,5.7,5,,2024-03-31T07:16:16,2024-03-31T20:13:39,0.71,"Rain, Partially cloudy",Partly cloudy throughout the day with rain.,rain,"D3248,EHRD,C0449,EHLE,EHKD,EHAM"
"Amsterdam,Netherlands",2024-04-01,12.8,7.1,10.1,12.8,5.6,9.3,7.7,86.1,0.1,100,4.17,rain,0,0,40.3,30.6,218.9,994.9,50.9,14.7,64,5.8,3,,2024-04-01T07:13:56,2024-04-01T20:15:24,0.75,"Rain, Partially cloudy",Partly cloudy throughout the day with afternoon rain.,rain,"D3248,06260099999,EHRD,06348099999,06249099999,C0449,06240099999,EHLE,EHKD,EHAM,06257099999"
"Amsterdam,Netherlands",2024-04-02,12,7.5,9.7,12,4.6,8.3,7.5,86.3,1.6,100,33.33,rain,0,0,55.4,29.3,218.6,1003.4,48.4,18.4,90.5,7.8,5,,2024-04-02T07:11:37,2024-04-02T20:17:08,0.75,"Rain, Partially cloudy",Partly cloudy throughout the day with rain in the morning and afternoon.,rain,"06260099999,06356099999,C0449,06257099999,EHAM,D3248,EHRD,06348099999,06249099999,06240099999,EHLE,EHKD,06269099999,06344099999"
"Amsterdam,Netherlands",2024-04-03,13.6,9.3,10.9,13.6,7.3,10.1,9.2,89.2,3.521,100,62.5,rain,0,0,62.8,37.6,202.4,1003.4,99.1,21.8,53.3,4.6,3,,2024-04-03T07:09:18,2024-04-03T20:18:52,0.82,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-04-04,13.9,9.1,11.5,13.9,6.2,11,9.1,85.4,4.072,100,45.83,rain,0,0,70.6,47.5,227.4,1004.1,98.1,15.7,111.5,9.5,7,,2024-04-04T07:06:59,2024-04-04T20:20:37,0.85,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-04-05,16.2,11.2,13.2,16.2,11.2,13.2,10.3,83.4,2.471,100,33.33,rain,0,0,66.6,46.8,213.1,1007.4,89.7,20.9,104.5,9.1,6,,2024-04-05T07:04:41,2024-04-05T20:22:21,0.88,"Rain, Partially cloudy",Partly cloudy throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-04-06,23.2,11.3,16.8,23.2,11.3,16.8,10.9,70.7,0.495,100,4.17,rain,0,0,54.6,34.1,174.1,1008.4,97.1,34,143.6,12.5,6,,2024-04-06T07:02:23,2024-04-06T20:24:05,0.92,"Rain, Overcast",Cloudy skies throughout the day with morning rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-04-07,18.4,13.1,15.5,18.4,13.1,15.5,9.3,67.2,0.556,100,20.83,rain,0,0,53.1,37.6,221.2,1011.2,79.3,35.4,183.9,15.9,8,,2024-04-07T07:00:05,2024-04-07T20:25:50,0.95,"Rain, Partially cloudy",Partly cloudy throughout the day with rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-04-08,18.5,10.8,14.6,18.5,10.8,14.6,10.9,79.2,0.068,100,20.83,rain,0,0,25,17.2,140.9,1008.3,89.5,30,113.5,9.6,5,,2024-04-08T06:57:48,2024-04-08T20:27:34,0,"Rain, Partially cloudy",Partly cloudy throughout the day with rain clearing later.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-04-09,15.8,10.3,11.8,15.8,10.3,11.8,8.1,78.2,4.532,100,41.67,rain,0,0,69.8,48,216.7,1007.4,99.9,30.2,54.2,4.8,2,,2024-04-09T06:55:32,2024-04-09T20:29:18,0.02,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06257099999"
"Amsterdam,Netherlands",2024-04-10,14.1,8.3,11.2,14.1,5.9,10.2,5,67.3,0.447,100,25,rain,0,0,61.9,36.1,250,1025.2,76.9,29.4,173.5,15,7,,2024-04-10T06:53:16,2024-04-10T20:31:02,0.05,"Rain, Partially cloudy",Partly cloudy throughout the day with rain clearing later.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-04-11,14.4,11.9,13,14.4,11.9,13,10.3,84.5,0.15,100,20.83,rain,0,0,48.9,33.3,221.4,1029.3,100,25.7,46.4,4,3,,2024-04-11T06:51:00,2024-04-11T20:32:47,0.09,"Rain, Overcast",Cloudy skies throughout the day with rain in the morning and afternoon.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-04-12,17.3,12.9,14.9,17.3,12.9,14.9,11,78.4,0.023,100,4.17,rain,0,0,55.2,35.3,230.2,1029.1,100,26.6,150.5,12.9,6,,2024-04-12T06:48:45,2024-04-12T20:34:31,0.12,"Rain, Overcast",Cloudy skies throughout the day with morning rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-04-13,20.9,11.5,16.3,20.9,11.5,16.3,11,71.6,0,0,0,,0,0,53.2,35,230.4,1022.7,99.9,38.9,181.3,15.7,6,,2024-04-13T06:46:31,2024-04-13T20:36:15,0.15,Overcast,Cloudy skies throughout the day.,cloudy,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-04-14,13.7,8.8,11.3,13.7,7.8,11.1,5,65.5,0,0,0,,0,0,53.1,27.5,279.6,1021.2,99.8,31.5,190.3,16.8,7,,2024-04-14T06:44:17,2024-04-14T20:37:59,0.19,Overcast,Cloudy skies throughout the day.,cloudy,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-04-15,10.2,5.1,8.3,10.2,0.4,5.2,4.9,79.2,7.703,100,50,rain,0,0,87,45.7,238,1006.1,93.5,26.6,65.5,5.7,4,,2024-04-15T06:42:05,2024-04-15T20:39:44,0.25,"Rain, Overcast",Cloudy skies throughout the day with rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-04-16,10.6,5.6,8.4,10.6,0,4.9,5.1,80.2,11.676,100,58.33,rain,0,0,66.1,44,303.1,1003.4,86.1,21.8,91.6,7.9,4,,2024-04-16T06:39:53,2024-04-16T20:41:28,0.25,"Rain, Partially cloudy",Partly cloudy throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-04-17,8.6,4,6.1,7.8,0.3,4.2,3.2,82,10.732,100,62.5,rain,0,0,39.2,23,317.8,1011.9,70.5,32.3,116,10.1,5,,2024-04-17T06:37:41,2024-04-17T20:43:12,0.28,"Rain, Partially cloudy",Partly cloudy throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,06240099999,C0449,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-04-18,10.3,1.8,6.9,10.3,-1,4.8,2.9,77.7,0.122,100,16.67,rain,0,0,34.7,23.7,295.4,1018.5,65,34.9,151.2,13.1,6,,2024-04-18T06:35:31,2024-04-18T20:44:56,0.32,"Rain, Partially cloudy",Partly cloudy throughout the day with rain clearing later.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-04-19,10.3,6.7,8.6,10.3,2.4,4.9,6.4,86,9.469,100,95.83,rain,0,0,66.4,44.9,302,1010.9,98.5,14.6,114.1,9.7,8,,2024-04-19T06:33:21,2024-04-19T20:46:40,0.35,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"D3248,06260099999,06348099999,06249099999,06240099999,C0449,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-04-20,9.7,5.9,7.4,6.1,1.8,3.8,3.5,76.1,2.218,100,54.17,rain,0,0,58.2,34.2,334.4,1021.1,91.6,24.4,172,14.9,8,,2024-04-20T06:31:12,2024-04-20T20:48:24,0.38,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-04-21,10.5,3.2,6.8,10.5,-1.6,3.6,2,72.1,1.675,100,20.83,rain,0,0,54.3,26.2,19.7,1025.1,48.6,34.8,234.3,20.3,8,,2024-04-21T06:29:04,2024-04-21T20:50:08,0.42,"Rain, Partially cloudy",Partly cloudy throughout the day with rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-04-22,9.8,1.9,6,7.1,-0.9,3.5,0.2,68.6,0.269,100,12.5,rain,0,0,36.4,24.5,18.9,1025.9,75.8,38.5,195.3,16.8,8,,2024-04-22T06:26:57,2024-04-22T20:51:52,0.45,"Rain, Partially cloudy",Partly cloudy throughout the day with rain in the morning and afternoon.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-04-23,9.5,-0.3,5.4,9.3,-1.4,3.5,0.1,70.6,1.639,100,20.83,rain,0,0,39.1,29.7,304.8,1020.5,68.7,36.9,172.4,14.9,8,,2024-04-23T06:24:52,2024-04-23T20:53:35,0.48,"Rain, Partially cloudy",Partly cloudy throughout the day with rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-04-24,9.4,4.6,6.4,5.5,0.8,2.9,2.9,78.6,2.51,100,70.83,rain,0,0,56.1,34.2,323.9,1010.6,86,31,117.7,10.2,7,,2024-04-24T06:22:47,2024-04-24T20:55:19,0.5,"Rain, Partially cloudy",Partly cloudy throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-04-25,9.8,3.6,6.2,7,1.6,3.6,2.9,80.1,5.41,100,54.17,rain,0,0,41.3,29.3,225.5,1004.9,91.7,29.7,83.8,7.3,3,,2024-04-25T06:20:43,2024-04-25T20:57:02,0.55,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-04-26,11,4.3,7.8,11,1.3,6.1,3.6,75.5,1.107,100,33.33,rain,0,0,31,20.1,256.5,1003.2,87.7,34.3,176,15.2,7,,2024-04-26T06:18:40,2024-04-26T20:58:46,0.59,"Rain, Partially cloudy",Partly cloudy throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-04-27,15,5.7,10.6,15,4.4,9.8,8,85,2.916,100,37.5,rain,0,0,31,19.2,109.8,1005,99.3,29.7,103,8.9,4,,2024-04-27T06:16:39,2024-04-27T21:00:29,0.62,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-04-28,15.3,7.3,12.8,15.3,4.9,12.6,7.8,72.1,0.788,100,12.5,rain,0,0,69.5,47.2,184.3,1006.3,90.7,41.7,88.7,7.7,4,,2024-04-28T06:14:38,2024-04-28T21:02:12,0.66,"Rain, Overcast",Cloudy skies throughout the day with rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-04-29,18.7,5.6,12.4,18.7,2.9,11.6,7.1,72.4,0.023,100,8.33,rain,0,0,39.4,26.4,172.5,1018.1,35.8,33.7,262.1,22.8,9,,2024-04-29T06:12:39,2024-04-29T21:03:54,0.69,"Rain, Partially cloudy",Becoming cloudy in the afternoon with rain clearing later.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-04-30,20.4,11.9,15.7,20.4,11.9,15.7,11.3,76,0,0,0,,0,0,25.9,19.9,138.3,1015.5,91.5,36.7,180.8,15.4,8,,2024-04-30T06:10:42,2024-04-30T21:05:36,0.73,Overcast,Cloudy skies throughout the day.,cloudy,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-05-01,22.3,13.9,18.1,22.3,13.9,18.1,14.6,80.4,0.7,100,8.33,rain,0,0,30.2,19,5.6,1007.3,53.9,10,237.8,20.6,7,,2024-05-01T06:08:45,2024-05-01T21:07:18,0.75,"Rain, Partially cloudy",Partly cloudy throughout the day with morning rain.,rain,"D3248,EHRD,C0449,EHLE,EHKD,EHAM"
"Amsterdam,Netherlands",2024-05-02,24.4,13.1,17.6,24.4,13.1,17.6,13.3,77.1,0.85,100,29.17,rain,0,0,36.3,24.6,37.4,1000.1,75.7,24.9,228.7,19.8,7,,2024-05-02T06:06:50,2024-05-02T21:09:00,0.8,"Rain, Partially cloudy",Partly cloudy throughout the day with rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-05-03,13.6,9.3,12,13.6,7.7,11.9,10.7,91.5,3.878,100,58.33,rain,0,0,48,33.5,227.4,1007.2,86.7,15.2,33,2.7,1,,2024-05-03T06:04:56,2024-05-03T21:10:42,0.83,"Rain, Partially cloudy",Partly cloudy throughout the day with a chance of rain throughout the day.,rain,"D3248,06260099999,06348099999,06249099999,06240099999,C0449,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-05-04,16.6,6.9,11.5,16.6,5.1,11,8.5,83,4.036,100,25,rain,0,0,47.5,22.2,148,1013.2,92.1,26.6,158.7,13.9,6,,2024-05-04T06:03:04,2024-05-04T21:12:22,0.87,"Rain, Overcast",Cloudy skies throughout the day with rain.,rain,"D3248,06260099999,06348099999,06249099999,06240099999,C0449,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-05-05,15.7,9.3,12.5,15.7,7.3,12.1,8.9,80.5,6.25,100,33.33,rain,0,0,31.2,18,295.4,1009,75.2,33,255.7,22.2,8,,2024-05-05T06:01:14,2024-05-05T21:14:03,0.9,"Rain, Partially cloudy",Partly cloudy throughout the day with rain clearing later.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-05-06,18.1,8.5,13.9,18.1,7.4,13.6,9.3,75.5,0,0,0,,0,0,25.6,17.6,69.7,1008.7,83.8,32.1,165,14.3,7,,2024-05-06T05:59:25,2024-05-06T21:15:43,0.94,Partially cloudy,Partly cloudy throughout the day.,partly-cloudy-day,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-05-07,18,10.6,14.1,18,10.6,14.1,9.5,74.8,0,0,0,,0,0,35.2,26.1,7.3,1018.8,71.5,28.5,194.7,16.7,8,,2024-05-07T05:57:37,2024-05-07T21:17:22,0.97,Partially cloudy,Partly cloudy throughout the day.,partly-cloudy-day,"06260099999,C0449,06257099999,EHAM,D3248,EHRD,06348099999,06249099999,06240099999,EHLE,EHKD,06269099999,06344099999"
"Amsterdam,Netherlands",2024-05-08,15,10.2,12.5,15,10.2,12.5,9.9,84.7,0.058,100,8.33,rain,0,0,23,15.6,340.7,1027.2,89.6,25.1,101.7,8.7,4,,2024-05-08T05:55:52,2024-05-08T21:19:01,0,"Rain, Partially cloudy",Partly cloudy throughout the day with rain.,rain,"06260099999,06356099999,C0449,06257099999,EHAM,06267099999,D3248,06273099999,EHRD,06348099999,06249099999,06240099999,EHLE,EHKD,06269099999,06235099999,06344099999"
"Amsterdam,Netherlands",2024-05-09,17.2,6.3,12.3,17.2,6.3,12.3,9.2,82.3,0,0,0,,0,0,21.3,13.6,301.7,1027.6,50.8,15.5,215.2,18.6,8,,2024-05-09T05:54:08,2024-05-09T21:20:40,0.04,Partially cloudy,Partly cloudy throughout the day.,partly-cloudy-day,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-05-10,19.2,8.5,14.4,19.2,8.5,14.4,10.5,79,0,0,0,,0,0,21.7,17,38,1024.5,80,15.9,237.7,20.5,8,,2024-05-10T05:52:25,2024-05-10T21:22:17,0.07,Partially cloudy,Partly cloudy throughout the day.,partly-cloudy-day,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-05-11,21.7,11.1,16.1,21.7,11.1,16.1,11.4,75.9,0,0,0,,0,0,27.4,18.7,57.5,1022.5,93.5,23.2,247.8,21.3,8,,2024-05-11T05:50:45,2024-05-11T21:23:54,0.11,Overcast,Cloudy skies throughout the day.,cloudy,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-05-12,25,14,19.5,25,14,19.5,11,59.2,0.065,100,4.17,rain,0,0,38.3,24,95.7,1016.1,99.4,37.3,271.5,23.4,7,,2024-05-12T05:49:06,2024-05-12T21:25:30,0.14,"Rain, Overcast",Cloudy skies throughout the day with early morning rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-05-13,22.4,16.8,19.6,22.4,16.8,19.6,14.8,74.4,0.461,100,4.17,rain,0,0,34.6,20.8,147.4,1010,74.1,33.4,170,14.7,7,,2024-05-13T05:47:30,2024-05-13T21:27:05,0.17,"Rain, Partially cloudy",Partly cloudy throughout the day with late afternoon rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-05-14,26.6,15.6,20.2,26.6,15.6,20.2,14.4,72.2,0.962,100,12.5,rain,0,0,48.3,31.2,131.1,1004.9,41.3,31.2,249.6,21.7,8,,2024-05-14T05:45:55,2024-05-14T21:28:40,0.2,"Rain, Partially cloudy",Becoming cloudy in the afternoon with rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-05-15,19.8,12.8,16,19.8,12.8,16,14.3,90.6,6.274,100,37.5,rain,0,0,32.8,19,302.6,1006.1,81.5,12.4,131,11.4,7,,2024-05-15T05:44:22,2024-05-15T21:30:13,0.25,"Rain, Partially cloudy",Partly cloudy throughout the day with rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06235099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-05-16,20.2,13.7,16,20.2,13.7,16,14.1,88.9,3.508,100,20.83,rain,0,0,31.5,26.6,246.5,1004.8,99.7,13.7,155,13.3,8,,2024-05-16T05:42:52,2024-05-16T21:31:46,0.27,"Rain, Overcast",Cloudy skies throughout the day with rain clearing later.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-05-17,17.5,13.2,14.7,17.5,13.2,14.7,13.5,92.8,1.518,100,16.67,rain,0,0,30.7,22.7,318,1008.4,98.6,8.7,143.7,12.4,8,,2024-05-17T05:41:23,2024-05-17T21:33:17,0.3,"Rain, Overcast",Cloudy skies throughout the day with rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-05-18,22.3,13.3,17.5,22.3,13.3,17.5,12.9,77.2,0.214,100,8.33,rain,0,0,27.8,16.6,321.3,1010.3,67.6,18.3,273.8,23.6,8,,2024-05-18T05:39:57,2024-05-18T21:34:47,0.33,"Rain, Partially cloudy",Partly cloudy throughout the day with rain clearing later.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-05-19,21.5,11.3,17,21.5,11.3,17,11.8,74.2,0.717,100,4.17,rain,0,0,41.8,27.9,3.5,1011.2,22.3,22.8,268.6,23.2,8,,2024-05-19T05:38:33,2024-05-19T21:36:16,0.37,"Rain, Partially cloudy",Becoming cloudy in the afternoon with morning rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-05-20,19,13.1,15.7,19,13.1,15.7,13.7,88.2,2.89,100,20.83,rain,0,0,30.8,17.4,353.5,1011.5,89.7,18.8,109.6,9.4,6,,2024-05-20T05:37:11,2024-05-20T21:37:44,0.4,"Rain, Partially cloudy",Partly cloudy throughout the day with rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-05-21,23.1,12.4,17.4,23.1,12.4,17.4,14.1,83.1,8.497,100,29.17,rain,0,0,53.1,25.9,52.3,1008.1,78.8,20.9,207.5,17.8,7,,2024-05-21T05:35:52,2024-05-21T21:39:11,0.43,"Rain, Partially cloudy",Partly cloudy throughout the day with rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-05-22,18.1,14,15.5,18.1,14,15.5,13,85.7,23.183,100,37.5,rain,0,0,46.3,30,223.5,1006.8,95.3,23.1,85.3,7.3,7,,2024-05-22T05:34:35,2024-05-22T21:40:36,0.46,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-05-23,18.1,13.2,15.5,18.1,13.2,15.5,11.6,78.1,0,0,0,,0,0,41.7,26.9,225.1,1013.5,58.9,28.8,183.6,15.7,8,,2024-05-23T05:33:21,2024-05-23T21:41:59,0.5,Partially cloudy,Partly cloudy throughout the day.,partly-cloudy-day,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-05-24,18.7,11.4,14.9,18.7,11.4,14.9,12.8,87.9,5.086,100,37.5,rain,0,0,27.1,17.2,22.9,1018.3,96.7,14.4,113.4,10,4,,2024-05-24T05:32:09,2024-05-24T21:43:21,0.53,"Rain, Overcast",Cloudy skies throughout the day with rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06235099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-05-25,17.7,11.6,15.2,17.7,11.6,15.2,13.8,91.7,31.269,100,45.83,rain,0,0,32.5,21.4,261.1,1016.3,85.4,17.5,98.3,8.3,3,,2024-05-25T05:30:59,2024-05-25T21:44:42,0.57,"Rain, Partially cloudy",Partly cloudy throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-05-26,20.4,11.1,15.6,20.4,11.1,15.6,12.5,82.5,3.309,100,20.83,rain,0,0,48.1,21.3,154.4,1014.7,74.6,24.1,174.7,15.1,7,,2024-05-26T05:29:52,2024-05-26T21:46:01,0.6,"Rain, Partially cloudy",Partly cloudy throughout the day with rain.,rain,"06260099999,D3248,06356099999,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-05-27,17.3,12.7,14.7,17.3,12.7,14.7,10.1,74.9,1.316,100,20.83,rain,0,0,34.5,23.9,232.8,1016,84.4,30.4,219.9,19.2,9,,2024-05-27T05:28:48,2024-05-27T21:47:18,0.64,"Rain, Partially cloudy",Partly cloudy throughout the day with rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-05-28,18.7,10.8,14.2,18.7,10.8,14.2,11.1,82.4,6.213,100,37.5,rain,0,0,44.4,26,198.9,1015.5,84.6,23.1,189,16.4,7,,2024-05-28T05:27:46,2024-05-28T21:48:33,0.67,"Rain, Partially cloudy",Partly cloudy throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-05-29,17,13.9,15.2,17,13.9,15.2,13,87.1,22.194,100,66.67,rain,0,0,45.2,29.9,242,1008.1,88.9,19.3,151.7,13.2,6,,2024-05-29T05:26:48,2024-05-29T21:49:46,0.71,"Rain, Partially cloudy",Partly cloudy throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-05-30,16.6,12.9,14.3,16.6,12.9,14.3,12,86.3,0.621,100,8.33,rain,0,0,32.1,23.9,261.7,1006.6,97.5,24.4,121.6,10.5,5,,2024-05-30T05:25:52,2024-05-30T21:50:57,0.75,"Rain, Overcast",Cloudy skies throughout the day with rain in the morning and afternoon.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-05-31,18.5,12.9,15.4,18.5,12.9,15.4,12.5,83.7,1.511,100,33.33,rain,0,0,42.2,27.7,339.3,1011.5,90.3,24.8,216.6,18.7,9,,2024-05-31T05:24:59,2024-05-31T21:52:07,0.78,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06257099999"
"Amsterdam,Netherlands",2024-06-01,15.7,13.8,14.8,15.7,13.8,14.8,13.6,92.9,2.332,100,33.33,rain,0,0,42.1,26.4,350.1,1018,100,9.3,51,4.5,2,,2024-06-01T05:24:08,2024-06-01T21:53:14,0.82,"Rain, Overcast",Cloudy skies throughout the day with rain clearing later.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-06-02,16.4,12.8,14,16.4,12.8,14,9.5,74.5,0.559,100,16.67,rain,0,0,38.4,23.5,342.8,1023.5,94.8,20.9,198.6,17.4,9,,2024-06-02T05:23:21,2024-06-02T21:54:19,0.85,"Rain, Overcast",Cloudy skies throughout the day with rain in the morning and afternoon.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-06-03,16.3,9.7,13.7,16.3,8.8,13.7,10.6,81.9,0,0,0,,0,0,24.9,14.1,288.4,1020.7,92.4,27.4,141.3,12.2,5,,2024-06-03T05:22:37,2024-06-03T21:55:21,0.89,Overcast,Cloudy skies throughout the day.,cloudy,"06260099999,C0449,06257099999,EHAM,D3248,EHRD,06348099999,06249099999,06240099999,EHLE,EHKD,06269099999,06344099999"
"Amsterdam,Netherlands",2024-06-04,20.4,11.8,16,20.4,11.8,16,13,83.4,0,0,0,,0,0,46.4,27,214.9,1012.6,99.3,16.8,111.2,9.6,6,,2024-06-04T05:21:55,2024-06-04T21:56:22,0.92,Overcast,Cloudy skies throughout the day.,cloudy,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06235099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-06-05,14.8,10.8,13.1,14.8,10.8,13.1,7.4,69.6,3.409,100,12.5,rain,0,0,47.7,34.9,268.9,1012,54.7,26.5,302,26.2,9,,2024-06-05T05:21:17,2024-06-05T21:57:19,0.96,"Rain, Partially cloudy",Partly cloudy throughout the day with rain clearing later.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06235099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-06-06,16.8,9.7,13.2,16.8,8.3,13,7.3,68.9,0,0,0,,0,0,37.6,20.6,254.7,1016.8,79.7,25.1,153.3,13.1,7,,2024-06-06T05:20:42,2024-06-06T21:58:15,0,Partially cloudy,Partly cloudy throughout the day.,partly-cloudy-day,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-06-07,17.8,10,14.3,17.8,10,14.3,8.3,69.3,0,0,0,,0,0,41.2,26.3,241.7,1017.9,45.9,22.3,257.1,22.3,10,,2024-06-07T05:20:09,2024-06-07T21:59:08,0.03,Partially cloudy,Partly cloudy throughout the day.,partly-cloudy-day,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-06-08,17.6,10.2,13.7,17.6,10.2,13.7,10.3,80.3,0.373,100,8.33,rain,0,0,45.4,33.5,243.3,1012.5,65,24.7,189.6,16.4,9,,2024-06-08T05:19:40,2024-06-08T21:59:58,0.06,"Rain, Partially cloudy",Partly cloudy throughout the day with late afternoon rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-06-09,15.3,9,12.8,15.3,7.4,12.5,7.9,73.3,0.62,100,12.5,rain,0,0,46.6,33.8,261.7,1010.9,53.2,32.5,169.3,14.5,7,,2024-06-09T05:19:14,2024-06-09T22:00:45,0.09,"Rain, Partially cloudy",Partly cloudy throughout the day with rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-06-10,14.1,9.4,11.6,14.1,5.7,11.2,10.1,90.4,24.004,100,62.5,rain,0,0,63.1,32.2,274,1005.8,99.9,20.3,72.5,6.4,6,,2024-06-10T05:18:51,2024-06-10T22:01:30,0.13,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-06-11,14.9,9.5,11.9,14.9,7.6,11.5,8.1,78.2,8.244,100,58.33,rain,0,0,41.9,30.4,289.6,1014.7,74.3,30.2,200,17.3,9,,2024-06-11T05:18:32,2024-06-11T22:02:12,0.16,"Rain, Partially cloudy",Partly cloudy throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-06-12,14.5,9.5,11.5,14.5,8.5,11.4,7.8,78.4,2.397,100,37.5,rain,0,0,39.7,25,297.8,1019.4,98.2,33.7,150.4,13,4,,2024-06-12T05:18:15,2024-06-12T22:02:51,0.19,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-06-13,17.5,10.4,14,17.5,10.4,14,8.8,71.8,0.346,100,4.17,rain,0,0,38.6,24.6,228.5,1015.8,89.6,31.8,152.1,13.4,7,,2024-06-13T05:18:02,2024-06-13T22:03:28,0.22,"Rain, Partially cloudy",Partly cloudy throughout the day with morning rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-06-14,17.9,13,15,17.9,13,15,11.9,82.1,1.596,100,25,rain,0,0,39.7,27.3,175.7,1005.8,95.6,29.6,97.8,8.4,3,,2024-06-14T05:17:52,2024-06-14T22:04:01,0.25,"Rain, Overcast",Cloudy skies throughout the day with rain.,rain,"06260099999,D3248,06356099999,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-06-15,17.2,11.9,14.2,17.2,11.9,14.2,11.2,82.9,9.259,100,62.5,rain,0,0,65.6,41.1,208.8,1001.5,77.5,23.7,159.1,13.7,6,,2024-06-15T05:17:45,2024-06-15T22:04:31,0.29,"Rain, Partially cloudy",Partly cloudy throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-06-16,17.2,12.6,14.9,17.2,12.6,14.9,11.3,79.7,2.728,100,37.5,rain,0,0,47.4,30.3,207,1004.5,85.4,34.7,180,15.5,9,,2024-06-16T05:17:42,2024-06-16T22:04:58,0.32,"Rain, Partially cloudy",Partly cloudy throughout the day with a chance of rain throughout the day.,rain,"D3248,06260099999,06348099999,06249099999,06240099999,C0449,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-06-17,19.1,12.3,16,19.1,12.3,16,10.8,72.5,0.555,100,4.17,rain,0,0,38.5,25.3,230.9,1010.4,69.9,29.8,219.5,18.8,9,,2024-06-17T05:17:41,2024-06-17T22:05:23,0.35,"Rain, Partially cloudy",Partly cloudy throughout the day with morning rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-06-18,18.4,10.6,15.3,18.4,10.6,15.3,12.3,82.8,0.608,100,29.17,rain,0,0,22.6,10.5,77.9,1013.9,99.6,29,92.8,8.2,3,,2024-06-18T05:17:44,2024-06-18T22:05:44,0.38,"Rain, Overcast",Cloudy skies throughout the day with rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-06-19,18.8,12.3,15.7,18.8,12.3,15.7,11.6,78.2,0.178,100,4.17,rain,0,0,34,21,4.7,1019,50,26.7,207.2,17.8,9,,2024-06-19T05:17:50,2024-06-19T22:06:02,0.42,"Rain, Partially cloudy",Partly cloudy throughout the day with morning rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-06-20,20.4,9.7,15.3,20.4,8.9,15.3,11.7,79.9,0,0,0,,0,0,27.4,15.3,47.3,1020.4,78.4,34.7,182,15.8,7,,2024-06-20T05:17:59,2024-06-20T22:06:16,0.45,Partially cloudy,Partly cloudy throughout the day.,partly-cloudy-day,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06235099999,06257099999,06344099999,EHAM"
"Amsterdam,Netherlands",2024-06-21,18.7,13.4,15.9,18.7,13.4,15.9,13.9,88.1,0.941,100,20.83,rain,0,0,27.3,15.9,328,1013.2,98,21.5,80.2,6.8,4,,2024-06-21T05:18:12,2024-06-21T22:06:28,0.48,"Rain, Overcast",Cloudy skies throughout the day with rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-06-22,19.3,13.2,16.3,19.3,13.2,16.3,13.1,81.8,0.335,100,4.17,rain,0,0,35.6,23.7,249.4,1012.6,67.1,23.2,268.5,23.1,10,,2024-06-22T05:18:27,2024-06-22T22:06:36,0.5,"Rain, Partially cloudy",Partly cloudy throughout the day with morning rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-06-23,22.5,12.8,17.9,22.5,12.8,17.9,13.4,76.7,0,0,0,,0,0,28.1,17.7,265.5,1018.9,26.8,27.8,279.5,24.3,9,,2024-06-23T05:18:46,2024-06-23T22:06:41,0.55,Partially cloudy,Partly cloudy throughout the day.,partly-cloudy-day,"D3248,06260099999,06348099999,06249099999,06240099999,C0449,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-06-24,24.6,11.8,19.1,24.6,11.8,19.1,14,74.7,0,0,0,,0,0,21.3,13.7,76.8,1020.3,10.9,28.5,308.9,26.5,10,,2024-06-24T05:19:07,2024-06-24T22:06:43,0.59,Clear,Clear conditions throughout the day.,clear-day,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-06-25,27.1,15.9,22.1,27.6,15.9,22.2,16,70.2,0,0,0,,0,0,31.1,20.3,51.6,1016.2,4.1,34.8,288,25,8,,2024-06-25T05:19:32,2024-06-25T22:06:42,0.62,Clear,Clear conditions throughout the day.,clear-day,"06260099999,D3248,06348099999,06249099999,06240099999,C0449,06269099999,06257099999"
"Amsterdam,Netherlands",2024-06-26,28.8,18.6,24.1,28.8,18.6,24.2,16.8,66.1,0,0,0,,0,0,24.9,14.5,54.1,1011.5,0.6,32.5,293.2,25.4,8,,2024-06-26T05:20:00,2024-06-26T22:06:37,0.66,Clear,Clear conditions throughout the day.,clear-day,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-06-27,26.6,18.5,22.1,26.6,18.5,22.1,16.3,71.4,0,0,0,,0,0,41.5,32.1,248.3,1008.3,47.3,27,257,22.2,8,,2024-06-27T05:20:30,2024-06-27T22:06:29,0.69,Partially cloudy,Partly cloudy throughout the day.,partly-cloudy-day,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-06-28,19.3,15.4,17.5,19.3,15.4,17.5,11.7,69,0,0,0,,0,0,45,30.4,250,1014.5,66,30.1,212.2,18.4,10,,2024-06-28T05:21:04,2024-06-28T22:06:18,0.75,Partially cloudy,Partly cloudy throughout the day.,partly-cloudy-day,"D3248,06260099999,06348099999,06249099999,06240099999,C0449,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-06-29,22.9,11.5,17.8,22.9,11.5,17.8,12.4,72.5,0.066,100,8.33,rain,0,0,35.4,19.2,340.9,1014.6,83.1,27.2,292.3,25.1,9,,2024-06-29T05:21:40,2024-06-29T22:06:04,0.76,"Rain, Partially cloudy",Partly cloudy throughout the day with late afternoon rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-06-30,19.9,14.7,17.6,19.9,14.7,17.6,13.6,78.3,0.507,100,12.5,rain,0,0,35,25,315.4,1009.9,99.6,36.1,187.2,16.2,8,,2024-06-30T05:22:19,2024-06-30T22:05:46,0.8,"Rain, Overcast",Cloudy skies throughout the day with rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-07-01,18,12.9,15.8,18,12.9,15.8,11.4,75.4,0.203,100,8.33,rain,0,0,40.8,24.6,285.5,1015.2,87.5,37.3,172.7,14.8,9,,2024-07-01T05:23:01,2024-07-01T22:05:25,0.84,"Rain, Partially cloudy",Partly cloudy throughout the day with rain clearing later.,rain,"D3248,06260099999,06348099999,06249099999,06240099999,C0449,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-07-02,17.3,12.8,15.3,17.3,12.8,15.3,11.6,79.8,3.898,100,37.5,rain,0,0,38,26.8,308.4,1014.9,96.4,25.7,147.6,12.8,6,,2024-07-02T05:23:46,2024-07-02T22:05:01,0.87,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-07-03,16.5,10.6,13.7,16.5,10.6,13.7,10.5,81.5,2.363,100,45.83,rain,0,0,31.1,23,234.1,1009.9,92.6,30,133.4,11.5,7,,2024-07-03T05:24:33,2024-07-03T22:04:34,0.91,"Rain, Overcast",Cloudy skies throughout the day with rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-07-04,16.9,14.2,15.8,16.9,14.2,15.8,10.3,71.2,14.628,100,33.33,rain,0,0,54.6,33.5,256.6,1006.5,72.6,27.1,228.9,19.9,10,,2024-07-04T05:25:23,2024-07-04T22:04:03,0.94,"Rain, Partially cloudy",Partly cloudy throughout the day with rain clearing later.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-07-05,17.2,15.2,16.1,17.2,15.2,16.1,13,82.2,1.173,100,33.33,rain,0,0,46.7,29.3,221.6,1007.9,98.9,21,76.2,6.8,4,,2024-07-05T05:26:15,2024-07-05T22:03:30,0.98,"Rain, Overcast",Cloudy skies throughout the day with rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-07-06,19.5,13.5,16.5,19.5,13.5,16.5,13.2,81.5,9.967,100,45.83,rain,0,0,79.6,54.8,219.8,1001.3,84.2,26.6,206.9,17.7,9,,2024-07-06T05:27:10,2024-07-06T22:02:53,0,"Rain, Partially cloudy",Partly cloudy throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-07-07,17.3,12.4,14.8,17.3,12.4,14.8,11.4,81,4.117,100,50,rain,0,0,46.9,29.9,206.9,1011,84.7,34.9,145.3,12.5,4,,2024-07-07T05:28:07,2024-07-07T22:02:13,0.05,"Rain, Partially cloudy",Partly cloudy throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-07-08,20,12.2,16.5,20,12.2,16.5,12.2,76.8,1.382,100,12.5,rain,0,0,37,17.7,215.1,1016.4,61.9,34.3,160.7,14,8,,2024-07-08T05:29:07,2024-07-08T22:01:30,0.08,"Rain, Partially cloudy",Partly cloudy throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-07-09,26,16.6,20.1,26,16.6,20.1,15.1,74.4,2.33,100,20.83,rain,0,0,76,24.1,86.5,1013.7,99.7,32.7,176.1,15.3,7,,2024-07-09T05:30:08,2024-07-09T22:00:44,0.11,"Rain, Overcast",Cloudy skies throughout the day with rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-07-10,21.1,16.5,18.9,21.1,16.5,18.9,15.5,81.6,16.692,100,20.83,rain,0,0,51,30.5,222.7,1013.6,80.1,24,210.9,18.4,8,,2024-07-10T05:31:12,2024-07-10T21:59:56,0.14,"Rain, Partially cloudy",Partly cloudy throughout the day with a chance of rain throughout the day.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-07-11,19.5,15,17.1,19.5,15,17.1,13,77.2,0,0,0,,0,0,42,24.2,251.2,1016.9,92.8,36.2,199.9,17.5,10,,2024-07-11T05:32:18,2024-07-11T21:59:04,0.18,Overcast,Cloudy skies throughout the day.,cloudy,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-07-12,15.2,13.8,14.7,15.2,13.8,14.7,12.8,88.5,8.476,100,41.67,rain,0,0,32.1,20.7,342.7,1013.8,100,29.2,52,4.5,2,,2024-07-12T05:33:26,2024-07-12T21:58:09,0.21,"Rain, Overcast",Cloudy skies throughout the day with rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-07-13,16,14,15,16,14,15,12.8,87.1,5.368,100,54.17,rain,0,0,54,31,247.7,1010.8,93.8,25.8,106.4,9.4,6,,2024-07-13T05:34:36,2024-07-13T21:57:12,0.24,"Rain, Overcast",Cloudy skies throughout the day with a chance of rain throughout the day.,rain,"06260099999,06356099999,C0449,06257099999,EHAM,D3248,EHRD,06348099999,06249099999,06240099999,EHLE,06269099999,06235099999,06344099999"
"Amsterdam,Netherlands",2024-07-14,19.9,13.1,16.8,19.9,13.1,16.8,11.9,73.8,0.092,100,12.5,rain,0,0,46.2,34,227.6,1011.6,56.1,22.2,272,23.6,9,,2024-07-14T05:35:48,2024-07-14T21:56:12,0.25,"Rain, Partially cloudy",Partly cloudy throughout the day with rain clearing later.,rain,"06260099999,06356099999,C0449,06257099999,EHAM,D3248,EHRD,06348099999,06249099999,06240099999,EHLE,EHKD,06330099999,06275099999,06269099999,06235099999,06344099999"
"Amsterdam,Netherlands",2024-07-15,24.1,12.1,18.4,24.1,12.1,18.4,13.1,73,2.35,100,12.5,rain,0,0,26,14.1,153.3,1010.9,54.7,30.4,235.8,20.1,8,,2024-07-15T05:37:02,2024-07-15T21:55:09,0.31,"Rain, Partially cloudy",Partly cloudy throughout the day with late afternoon rain.,rain,"D3248,06260099999,EHRD,06348099999,06249099999,C0449,06240099999,EHLE,06269099999,06344099999,EHAM,06257099999"
"Amsterdam,Netherlands",2024-07-16,20.3,16.3,18.1,20.3,16.3,18.1,15,82.5,9.575,100,41.67,rain,0,0,43,30.3,223.4,1008.7,84.5,29,207.3,17.7,10,,2024-07-16T05:38:17,2024-07-16T21:54:03,0.34,"Rain, Partially cloudy",Partly cloudy throughout the day with a chance of rain throughout the day.,rain,"D3248,06260099999,06348099999,06249099999,06240099999,C0449,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-07-17,20.6,15,17.7,20.6,15,17.7,14.2,80.8,0.545,100,8.33,rain,0,0,36.7,24.1,272.5,1019.1,72.7,33.2,235.4,20.2,9,,2024-07-17T05:39:34,2024-07-17T21:52:54,0.37,"Rain, Partially cloudy",Partly cloudy throughout the day with rain clearing later.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-07-18,25.3,12.5,19.3,25.3,12.5,19.3,14.6,76.9,0,0,0,,0,0,18,11.2,61.8,1022.3,73.1,19.7,287.3,24.9,10,,2024-07-18T05:40:53,2024-07-18T21:51:44,0.4,Partially cloudy,Partly cloudy throughout the day.,partly-cloudy-day,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-07-19,27.6,17.3,22.3,28.4,17.3,22.4,16.8,72.4,0.005,100,4.17,rain,0,0,18,13.5,100.9,1018.5,87.7,32.6,181.1,15.4,7,,2024-07-19T05:42:13,2024-07-19T21:50:30,0.43,"Rain, Partially cloudy",Partly cloudy throughout the day with morning rain.,rain,"06260099999,D3248,06348099999,06249099999,C0449,06240099999,06269099999,06257099999,06344099999"
"Amsterdam,Netherlands",2024-07-20,29.3,18.2,23.6,29.4,18.2,23.7,16.6,66.1,0.146,100,8.33,rain,0,0,24,19.2,128,1009.7,44.1,28.3,277.4,24,9,,2024-07-20T05:43:34,2024-07-20T21:49:14,0.47,"Rain, Partially cloudy",Becoming cloudy in the afternoon with rain.,rain,"06260099999,06356099999,C0449,06257099999,EHAM,06267099999,D3248,EHRD,06348099999,06249099999,06240099999,06330099999,EHLE,06275099999,06269099
gitextract_lew4f113/
├── .codecov.yml
├── .github/
│ ├── FUNDING.yml
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug_report.md
│ │ └── feature_request.md
│ ├── dependabot.yml
│ ├── pull_request_template.md
│ └── workflows/
│ ├── claude.yml
│ ├── codecov.yml
│ ├── gh-pages.yml
│ ├── pr-title-checker.yml
│ ├── publish.yml
│ └── verification.yml
├── .gitignore
├── .metadata
├── .pubignore
├── .vscode/
│ └── settings.json
├── CHANGELOG.md
├── CLAUDE.md
├── CONTRIBUTING.md
├── LICENSE
├── Makefile
├── README.md
├── SOURCES.md
├── _config.yml
├── analysis_options.yaml
├── example/
│ ├── .gitignore
│ ├── .metadata
│ ├── README.md
│ ├── analysis_options.yaml
│ ├── android/
│ │ ├── .gitignore
│ │ ├── app/
│ │ │ ├── build.gradle.kts
│ │ │ └── src/
│ │ │ ├── debug/
│ │ │ │ └── AndroidManifest.xml
│ │ │ ├── main/
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ ├── kotlin/
│ │ │ │ │ └── dev/
│ │ │ │ │ └── flchart/
│ │ │ │ │ └── app/
│ │ │ │ │ └── MainActivity.kt
│ │ │ │ └── res/
│ │ │ │ ├── drawable/
│ │ │ │ │ └── launch_background.xml
│ │ │ │ ├── drawable-v21/
│ │ │ │ │ └── launch_background.xml
│ │ │ │ ├── mipmap-anydpi-v26/
│ │ │ │ │ ├── ic_launcher.xml
│ │ │ │ │ └── ic_launcher_round.xml
│ │ │ │ ├── values/
│ │ │ │ │ ├── ic_launcher_background.xml
│ │ │ │ │ └── styles.xml
│ │ │ │ └── values-night/
│ │ │ │ └── styles.xml
│ │ │ └── profile/
│ │ │ └── AndroidManifest.xml
│ │ ├── build.gradle.kts
│ │ ├── gradle/
│ │ │ └── wrapper/
│ │ │ └── gradle-wrapper.properties
│ │ ├── gradle.properties
│ │ └── settings.gradle.kts
│ ├── assets/
│ │ └── data/
│ │ ├── amsterdam_2024_weather.csv
│ │ ├── bitcoin_2023-01-01_2023-12-31.csv
│ │ └── btc_last_year_price.json
│ ├── devtools_options.yaml
│ ├── ios/
│ │ ├── .gitignore
│ │ ├── Flutter/
│ │ │ ├── AppFrameworkInfo.plist
│ │ │ ├── Debug.xcconfig
│ │ │ └── Release.xcconfig
│ │ ├── Podfile
│ │ ├── Runner/
│ │ │ ├── AppDelegate.swift
│ │ │ ├── Assets.xcassets/
│ │ │ │ ├── AppIcon.appiconset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Contents.json
│ │ │ │ └── LaunchImage.imageset/
│ │ │ │ ├── Contents.json
│ │ │ │ └── README.md
│ │ │ ├── Base.lproj/
│ │ │ │ ├── LaunchScreen.storyboard
│ │ │ │ └── Main.storyboard
│ │ │ ├── Info.plist
│ │ │ └── Runner-Bridging-Header.h
│ │ ├── Runner.xcodeproj/
│ │ │ ├── project.pbxproj
│ │ │ ├── project.xcworkspace/
│ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ └── xcshareddata/
│ │ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ │ └── WorkspaceSettings.xcsettings
│ │ │ └── xcshareddata/
│ │ │ └── xcschemes/
│ │ │ └── Runner.xcscheme
│ │ ├── Runner.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ │ └── RunnerTests/
│ │ └── RunnerTests.swift
│ ├── lib/
│ │ ├── cubits/
│ │ │ └── app/
│ │ │ ├── app_cubit.dart
│ │ │ └── app_state.dart
│ │ ├── main.dart
│ │ ├── presentation/
│ │ │ ├── menu/
│ │ │ │ ├── app_menu.dart
│ │ │ │ ├── fl_chart_banner.dart
│ │ │ │ └── menu_row.dart
│ │ │ ├── pages/
│ │ │ │ ├── chart_samples_page.dart
│ │ │ │ └── home_page.dart
│ │ │ ├── presentation_utils.dart
│ │ │ ├── resources/
│ │ │ │ ├── app_assets.dart
│ │ │ │ ├── app_colors.dart
│ │ │ │ ├── app_dimens.dart
│ │ │ │ ├── app_resources.dart
│ │ │ │ └── app_texts.dart
│ │ │ ├── router/
│ │ │ │ └── app_router.dart
│ │ │ ├── samples/
│ │ │ │ ├── bar/
│ │ │ │ │ ├── bar_chart_sample1.dart
│ │ │ │ │ ├── bar_chart_sample2.dart
│ │ │ │ │ ├── bar_chart_sample3.dart
│ │ │ │ │ ├── bar_chart_sample4.dart
│ │ │ │ │ ├── bar_chart_sample5.dart
│ │ │ │ │ ├── bar_chart_sample6.dart
│ │ │ │ │ ├── bar_chart_sample7.dart
│ │ │ │ │ └── bar_chart_sample8.dart
│ │ │ │ ├── candlestick/
│ │ │ │ │ └── candlestick_chart_sample1.dart
│ │ │ │ ├── chart_sample.dart
│ │ │ │ ├── chart_samples.dart
│ │ │ │ ├── line/
│ │ │ │ │ ├── line_chart_sample1.dart
│ │ │ │ │ ├── line_chart_sample10.dart
│ │ │ │ │ ├── line_chart_sample11.dart
│ │ │ │ │ ├── line_chart_sample12.dart
│ │ │ │ │ ├── line_chart_sample13.dart
│ │ │ │ │ ├── line_chart_sample2.dart
│ │ │ │ │ ├── line_chart_sample3.dart
│ │ │ │ │ ├── line_chart_sample4.dart
│ │ │ │ │ ├── line_chart_sample5.dart
│ │ │ │ │ ├── line_chart_sample6.dart
│ │ │ │ │ ├── line_chart_sample7.dart
│ │ │ │ │ ├── line_chart_sample8.dart
│ │ │ │ │ └── line_chart_sample9.dart
│ │ │ │ ├── pie/
│ │ │ │ │ ├── pie_chart_sample1.dart
│ │ │ │ │ ├── pie_chart_sample2.dart
│ │ │ │ │ └── pie_chart_sample3.dart
│ │ │ │ ├── radar/
│ │ │ │ │ └── radar_chart_sample1.dart
│ │ │ │ └── scatter/
│ │ │ │ ├── scatter_chart_sample1.dart
│ │ │ │ └── scatter_chart_sample2.dart
│ │ │ └── widgets/
│ │ │ ├── chart_holder.dart
│ │ │ ├── download_native_app_button.dart
│ │ │ ├── indicator.dart
│ │ │ └── legend_widget.dart
│ │ ├── urls.dart
│ │ └── util/
│ │ ├── app_helper.dart
│ │ ├── app_utils.dart
│ │ ├── csv_parser.dart
│ │ ├── device_info.dart
│ │ └── extensions/
│ │ ├── color_extensions.dart
│ │ ├── iterable_extensions.dart
│ │ └── list_extensions.dart
│ ├── linux/
│ │ ├── .gitignore
│ │ ├── CMakeLists.txt
│ │ ├── flutter/
│ │ │ ├── CMakeLists.txt
│ │ │ ├── generated_plugin_registrant.cc
│ │ │ ├── generated_plugin_registrant.h
│ │ │ └── generated_plugins.cmake
│ │ ├── main.cc
│ │ ├── my_application.cc
│ │ ├── my_application.h
│ │ └── runner/
│ │ ├── CMakeLists.txt
│ │ ├── main.cc
│ │ ├── my_application.cc
│ │ └── my_application.h
│ ├── macos/
│ │ ├── .gitignore
│ │ ├── Flutter/
│ │ │ ├── Flutter-Debug.xcconfig
│ │ │ ├── Flutter-Release.xcconfig
│ │ │ └── GeneratedPluginRegistrant.swift
│ │ ├── Podfile
│ │ ├── Runner/
│ │ │ ├── AppDelegate.swift
│ │ │ ├── Assets.xcassets/
│ │ │ │ └── AppIcon.appiconset/
│ │ │ │ └── Contents.json
│ │ │ ├── Base.lproj/
│ │ │ │ └── MainMenu.xib
│ │ │ ├── Configs/
│ │ │ │ ├── AppInfo.xcconfig
│ │ │ │ ├── Debug.xcconfig
│ │ │ │ ├── Release.xcconfig
│ │ │ │ └── Warnings.xcconfig
│ │ │ ├── DebugProfile.entitlements
│ │ │ ├── Info.plist
│ │ │ ├── MainFlutterWindow.swift
│ │ │ └── Release.entitlements
│ │ ├── Runner.xcodeproj/
│ │ │ ├── project.pbxproj
│ │ │ ├── project.xcworkspace/
│ │ │ │ └── xcshareddata/
│ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ └── xcshareddata/
│ │ │ └── xcschemes/
│ │ │ └── Runner.xcscheme
│ │ ├── Runner.xcworkspace/
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata/
│ │ │ └── IDEWorkspaceChecks.plist
│ │ └── RunnerTests/
│ │ └── RunnerTests.swift
│ ├── pubspec.yaml
│ ├── web/
│ │ ├── CNAME
│ │ ├── index.html
│ │ └── manifest.json
│ └── windows/
│ ├── .gitignore
│ ├── CMakeLists.txt
│ ├── flutter/
│ │ ├── CMakeLists.txt
│ │ ├── generated_plugin_registrant.cc
│ │ ├── generated_plugin_registrant.h
│ │ └── generated_plugins.cmake
│ └── runner/
│ ├── CMakeLists.txt
│ ├── Runner.rc
│ ├── flutter_window.cpp
│ ├── flutter_window.h
│ ├── main.cpp
│ ├── resource.h
│ ├── runner.exe.manifest
│ ├── utils.cpp
│ ├── utils.h
│ ├── win32_window.cpp
│ └── win32_window.h
├── fl_chart.iml
├── lib/
│ ├── fl_chart.dart
│ └── src/
│ ├── chart/
│ │ ├── bar_chart/
│ │ │ ├── bar_chart.dart
│ │ │ ├── bar_chart_data.dart
│ │ │ ├── bar_chart_helper.dart
│ │ │ ├── bar_chart_painter.dart
│ │ │ └── bar_chart_renderer.dart
│ │ ├── base/
│ │ │ ├── axis_chart/
│ │ │ │ ├── axis_chart_data.dart
│ │ │ │ ├── axis_chart_extensions.dart
│ │ │ │ ├── axis_chart_helper.dart
│ │ │ │ ├── axis_chart_painter.dart
│ │ │ │ ├── axis_chart_scaffold_widget.dart
│ │ │ │ ├── axis_chart_widgets.dart
│ │ │ │ ├── scale_axis.dart
│ │ │ │ ├── side_titles/
│ │ │ │ │ ├── side_titles_flex.dart
│ │ │ │ │ └── side_titles_widget.dart
│ │ │ │ └── transformation_config.dart
│ │ │ ├── base_chart/
│ │ │ │ ├── base_chart_data.dart
│ │ │ │ ├── base_chart_painter.dart
│ │ │ │ ├── fl_touch_event.dart
│ │ │ │ └── render_base_chart.dart
│ │ │ ├── custom_interactive_viewer.dart
│ │ │ └── line.dart
│ │ ├── candlestick_chart/
│ │ │ ├── candlestick_chart.dart
│ │ │ ├── candlestick_chart_data.dart
│ │ │ ├── candlestick_chart_helper.dart
│ │ │ ├── candlestick_chart_painter.dart
│ │ │ └── candlestick_chart_renderer.dart
│ │ ├── line_chart/
│ │ │ ├── line_chart.dart
│ │ │ ├── line_chart_data.dart
│ │ │ ├── line_chart_helper.dart
│ │ │ ├── line_chart_painter.dart
│ │ │ └── line_chart_renderer.dart
│ │ ├── pie_chart/
│ │ │ ├── pie_chart.dart
│ │ │ ├── pie_chart_data.dart
│ │ │ ├── pie_chart_helper.dart
│ │ │ ├── pie_chart_painter.dart
│ │ │ └── pie_chart_renderer.dart
│ │ ├── radar_chart/
│ │ │ ├── radar_chart.dart
│ │ │ ├── radar_chart_data.dart
│ │ │ ├── radar_chart_painter.dart
│ │ │ ├── radar_chart_renderer.dart
│ │ │ └── radar_extension.dart
│ │ └── scatter_chart/
│ │ ├── scatter_chart.dart
│ │ ├── scatter_chart_data.dart
│ │ ├── scatter_chart_helper.dart
│ │ ├── scatter_chart_painter.dart
│ │ └── scatter_chart_renderer.dart
│ ├── extensions/
│ │ ├── bar_chart_data_extension.dart
│ │ ├── border_extension.dart
│ │ ├── color_extension.dart
│ │ ├── edge_insets_extension.dart
│ │ ├── fl_border_data_extension.dart
│ │ ├── fl_titles_data_extension.dart
│ │ ├── gradient_extension.dart
│ │ ├── paint_extension.dart
│ │ ├── path_extension.dart
│ │ ├── rrect_extension.dart
│ │ ├── side_titles_extension.dart
│ │ ├── size_extension.dart
│ │ └── text_align_extension.dart
│ └── utils/
│ ├── canvas_wrapper.dart
│ ├── lerp.dart
│ ├── path_drawing/
│ │ └── dash_path.dart
│ └── utils.dart
├── pubspec.yaml
├── repo_files/
│ ├── documentations/
│ │ ├── bar_chart.md
│ │ ├── base_chart.md
│ │ ├── candlestick_chart.md
│ │ ├── handle_animations.md
│ │ ├── handle_touches.md
│ │ ├── handle_transformations.md
│ │ ├── index.md
│ │ ├── line_chart.md
│ │ ├── migration_guides/
│ │ │ ├── 0.50.0/
│ │ │ │ └── MIGRATION_00_50_00.md
│ │ │ ├── 0.55.0/
│ │ │ │ └── MIGRATION_00_55_00.md
│ │ │ ├── 0.67.0/
│ │ │ │ └── MIGRATION_00_67_00.md
│ │ │ ├── 0.70.0/
│ │ │ │ └── MIGRATION_00_70_00.md
│ │ │ └── INDEX.md
│ │ ├── pie_chart.md
│ │ ├── radar_chart.md
│ │ └── scatter_chart.md
│ ├── drawio/
│ │ └── flchart.drawio
│ └── images/
│ └── architecture/
│ └── fl_chart_architecture.txt
├── scripts/
│ └── makefile_scripts.sh
└── test/
├── chart/
│ ├── bar_chart/
│ │ ├── bar_chart_data_test.dart
│ │ ├── bar_chart_helper_test.dart
│ │ ├── bar_chart_painter_test.dart
│ │ ├── bar_chart_painter_test.mocks.dart
│ │ ├── bar_chart_renderer_test.dart
│ │ ├── bar_chart_renderer_test.mocks.dart
│ │ └── bar_chart_test.dart
│ ├── base/
│ │ ├── axis_chart/
│ │ │ ├── axis_chart_data_test.dart
│ │ │ ├── axis_chart_data_test.mocks.dart
│ │ │ ├── axis_chart_extensions_test.dart
│ │ │ ├── axis_chart_helper_test.dart
│ │ │ ├── axis_chart_scaffold_widget_test.dart
│ │ │ ├── axis_chart_widgets_test.dart
│ │ │ ├── base_chart_data_test.dart
│ │ │ ├── side_titles/
│ │ │ │ ├── side_titles_flex_test.dart
│ │ │ │ ├── side_titles_test.dart
│ │ │ │ └── side_titles_widget_test.dart
│ │ │ └── transformation_config_test.dart
│ │ ├── line_test.dart
│ │ ├── render_base_chart_test.dart
│ │ └── render_base_chart_test.mocks.dart
│ ├── candlestick_chart/
│ │ ├── candlestick_chart_data_test.dart
│ │ ├── candlestick_chart_helper_test.dart
│ │ ├── candlestick_chart_painter_test.dart
│ │ ├── candlestick_chart_painter_test.mocks.dart
│ │ ├── candlestick_chart_renderer_test.dart
│ │ ├── candlestick_chart_renderer_test.mocks.dart
│ │ └── candlestick_chart_test.dart
│ ├── data_pool.dart
│ ├── line_chart/
│ │ ├── line_chart_data_test.dart
│ │ ├── line_chart_helper_test.dart
│ │ ├── line_chart_painter_test.dart
│ │ ├── line_chart_painter_test.mocks.dart
│ │ ├── line_chart_renderer_test.dart
│ │ ├── line_chart_renderer_test.mocks.dart
│ │ └── line_chart_test.dart
│ ├── pie_chart/
│ │ ├── pie_chart_data_test.dart
│ │ ├── pie_chart_helper_test.dart
│ │ ├── pie_chart_painter_test.dart
│ │ ├── pie_chart_painter_test.mocks.dart
│ │ ├── pie_chart_renderer_test.dart
│ │ └── pie_chart_renderer_test.mocks.dart
│ ├── radar_chart/
│ │ ├── radar_chart_data_test.dart
│ │ ├── radar_chart_painter_test.dart
│ │ ├── radar_chart_painter_test.mocks.dart
│ │ ├── radar_chart_renderer_test.dart
│ │ └── radar_chart_renderer_test.mocks.dart
│ └── scatter_chart/
│ ├── scatter_chart_data_test.dart
│ ├── scatter_chart_helper_test.dart
│ ├── scatter_chart_painter_test.dart
│ ├── scatter_chart_painter_test.mocks.dart
│ ├── scatter_chart_renderer_test.dart
│ ├── scatter_chart_renderer_test.mocks.dart
│ └── scatter_chart_test.dart
├── extensions/
│ ├── bar_chart_data_extensions_test.dart
│ ├── border_extension_test.dart
│ ├── color_extensions_test.dart
│ ├── edge_insets_extension_test.dart
│ ├── fl_border_data_extension_test.dart
│ ├── fl_titles_data_extension_test.dart
│ ├── gradient_extension_test.dart
│ ├── paint_extension_test.dart
│ ├── path_extension_test.dart
│ ├── rrect_extension_test.dart
│ ├── side_titles_extension_test.dart
│ ├── size_extension_test.dart
│ └── text_align_extension_test.dart
├── helper_methods.dart
├── matchers.dart
└── utils/
├── canvas_wrapper_test.dart
├── canvas_wrapper_test.mocks.dart
├── lerp_test.dart
├── utils_test.dart
└── utils_test.mocks.dart
Showing preview only (213K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (2704 symbols across 198 files)
FILE: example/lib/cubits/app/app_cubit.dart
class AppCubit (line 10) | class AppCubit extends Cubit<AppState> {
method initialize (line 15) | void initialize()
method onVersionClicked (line 25) | void onVersionClicked()
method hideDownloadNativeAppButton (line 31) | void hideDownloadNativeAppButton()
class BuildConstants (line 38) | class BuildConstants {
FILE: example/lib/cubits/app/app_state.dart
class AppState (line 3) | class AppState extends Equatable {
method copyWith (line 18) | AppState copyWith({
FILE: example/lib/main.dart
function main (line 9) | void main()
class MyApp (line 13) | class MyApp extends StatelessWidget {
method build (line 17) | Widget build(BuildContext context)
FILE: example/lib/presentation/menu/app_menu.dart
class AppMenu (line 15) | class AppMenu extends StatefulWidget {
method createState (line 30) | AppMenuState createState()
class AppMenuState (line 33) | class AppMenuState extends State<AppMenu> {
method build (line 35) | Widget build(BuildContext context)
class _AppVersionRow (line 80) | class _AppVersionRow extends StatelessWidget {
method build (line 84) | Widget build(BuildContext context)
class ChartMenuItem (line 160) | class ChartMenuItem {
FILE: example/lib/presentation/menu/fl_chart_banner.dart
class FlChartBanner (line 5) | class FlChartBanner extends StatelessWidget {
method build (line 9) | Widget build(BuildContext context)
FILE: example/lib/presentation/menu/menu_row.dart
class MenuRow (line 5) | class MenuRow extends StatefulWidget {
method createState (line 22) | State<MenuRow> createState()
class _MenuRowState (line 25) | class _MenuRowState extends State<MenuRow> {
method build (line 31) | Widget build(BuildContext context)
class _DocumentationIcon (line 78) | class _DocumentationIcon extends StatelessWidget {
method build (line 85) | Widget build(BuildContext context)
FILE: example/lib/presentation/pages/chart_samples_page.dart
class ChartSamplesPage (line 8) | class ChartSamplesPage extends StatelessWidget {
method build (line 19) | Widget build(BuildContext context)
FILE: example/lib/presentation/pages/home_page.dart
class HomePage (line 15) | class HomePage extends StatelessWidget {
method _initMenuItems (line 23) | void _initMenuItems()
method build (line 42) | Widget build(BuildContext context)
FILE: example/lib/presentation/presentation_utils.dart
class AppUtils (line 4) | class AppUtils {
method getFormattedCurrency (line 5) | String getFormattedCurrency(
FILE: example/lib/presentation/resources/app_assets.dart
class AppAssets (line 3) | class AppAssets {
method getChartIcon (line 4) | String getChartIcon(ChartType type)
FILE: example/lib/presentation/resources/app_colors.dart
class AppColors (line 3) | class AppColors {
FILE: example/lib/presentation/resources/app_dimens.dart
class AppDimens (line 1) | class AppDimens {
FILE: example/lib/presentation/resources/app_texts.dart
class AppTexts (line 1) | class AppTexts {
FILE: example/lib/presentation/samples/bar/bar_chart_sample1.dart
class BarChartSample1 (line 9) | class BarChartSample1 extends StatefulWidget {
method createState (line 27) | State<StatefulWidget> createState()
class BarChartSample1State (line 30) | class BarChartSample1State extends State<BarChartSample1> {
method build (line 38) | Widget build(BuildContext context)
method makeGroupData (line 110) | BarChartGroupData makeGroupData(
method showingGroups (line 140) | List<BarChartGroupData> showingGroups()
method mainBarData (line 154) | BarChartData mainBarData()
method getTitles (line 234) | Widget getTitles(double value, TitleMeta meta)
method randomData (line 257) | BarChartData randomData()
method refreshState (line 303) | Future<dynamic> refreshState()
FILE: example/lib/presentation/samples/bar/bar_chart_sample2.dart
class BarChartSample2 (line 6) | class BarChartSample2 extends StatefulWidget {
method createState (line 15) | State<StatefulWidget> createState()
class BarChartSample2State (line 18) | class BarChartSample2State extends State<BarChartSample2> {
method initState (line 27) | void initState()
method build (line 53) | Widget build(BuildContext context)
method leftTitles (line 181) | Widget leftTitles(double value, TitleMeta meta)
method bottomTitles (line 204) | Widget bottomTitles(double value, TitleMeta meta)
method makeLabel (line 223) | BarChartRodLabel makeLabel(
method makeGroupData (line 241) | BarChartGroupData makeGroupData(int x, double y1, double y2)
method makeTransactionsIcon (line 262) | Widget makeTransactionsIcon()
FILE: example/lib/presentation/samples/bar/bar_chart_sample3.dart
class BarChartSample3 (line 6) | class BarChartSample3 extends StatefulWidget {
method createState (line 10) | State<StatefulWidget> createState()
class BarChartSample3State (line 13) | class BarChartSample3State extends State<BarChartSample3> {
method getTitles (line 30) | Widget getTitles(double value, TitleMeta meta)
method build (line 111) | Widget build(BuildContext context)
FILE: example/lib/presentation/samples/bar/bar_chart_sample4.dart
class BarChartSample4 (line 6) | class BarChartSample4 extends StatefulWidget {
method createState (line 14) | State<StatefulWidget> createState()
class BarChartSample4State (line 17) | class BarChartSample4State extends State<BarChartSample4> {
method bottomTitles (line 18) | Widget bottomTitles(double value, TitleMeta meta)
method leftTitles (line 34) | Widget leftTitles(double value, TitleMeta meta)
method build (line 51) | Widget build(BuildContext context)
method getData (line 111) | List<BarChartGroupData> getData(double barsWidth, double barsSpace)
FILE: example/lib/presentation/samples/bar/bar_chart_sample5.dart
class BarChartSample5 (line 6) | class BarChartSample5 extends StatefulWidget {
method createState (line 10) | State<StatefulWidget> createState()
class BarChartSample5State (line 13) | class BarChartSample5State extends State<BarChartSample5> {
method initState (line 28) | void initState()
method bottomTitles (line 32) | Widget bottomTitles(double value, TitleMeta meta)
method topTitles (line 50) | Widget topTitles(double value, TitleMeta meta)
method leftTitles (line 68) | Widget leftTitles(double value, TitleMeta meta)
method rightTitles (line 88) | Widget rightTitles(double value, TitleMeta meta)
method generateGroup (line 108) | BarChartGroupData generateGroup(
method isShadowBar (line 276) | bool isShadowBar(int rodIndex)
method build (line 279) | Widget build(BuildContext context)
FILE: example/lib/presentation/samples/bar/bar_chart_sample6.dart
class BarChartSample6 (line 6) | class BarChartSample6 extends StatelessWidget {
method generateGroupData (line 14) | BarChartGroupData generateGroupData(
method bottomTitles (line 46) | Widget bottomTitles(double value, TitleMeta meta)
method build (line 70) | Widget build(BuildContext context)
FILE: example/lib/presentation/samples/bar/bar_chart_sample7.dart
class BarChartSample7 (line 7) | class BarChartSample7 extends StatefulWidget {
method createState (line 21) | State<BarChartSample7> createState()
class _BarChartSample7State (line 24) | class _BarChartSample7State extends State<BarChartSample7> {
method generateBarGroup (line 25) | BarChartGroupData generateBarGroup(
method build (line 69) | Widget build(BuildContext context)
class _BarData (line 193) | class _BarData {
class _IconWidget (line 201) | class _IconWidget extends ImplicitlyAnimatedWidget {
method createState (line 210) | ImplicitlyAnimatedWidgetState<ImplicitlyAnimatedWidget> createState()
class _IconWidgetState (line 214) | class _IconWidgetState extends AnimatedWidgetBaseState<_IconWidget> {
method build (line 218) | Widget build(BuildContext context)
method forEachTween (line 234) | void forEachTween(TweenVisitor<dynamic> visitor)
FILE: example/lib/presentation/samples/bar/bar_chart_sample8.dart
class BarChartSample8 (line 8) | class BarChartSample8 extends StatefulWidget {
method createState (line 16) | State<StatefulWidget> createState()
class BarChartSample1State (line 19) | class BarChartSample1State extends State<BarChartSample8> {
method build (line 21) | Widget build(BuildContext context)
method makeGroupData (line 61) | BarChartGroupData makeGroupData(
method getTitles (line 82) | Widget getTitles(double value, TitleMeta meta)
method randomData (line 102) | BarChartData randomData()
method _errorPainter (line 164) | FlSpotErrorRangePainter _errorPainter(
FILE: example/lib/presentation/samples/candlestick/candlestick_chart_sample1.dart
class CandlestickChartSample1 (line 8) | class CandlestickChartSample1 extends StatefulWidget {
method createState (line 12) | State<StatefulWidget> createState()
class CandlestickChartSample1State (line 15) | class CandlestickChartSample1State extends State<CandlestickChartSample1> {
method initState (line 26) | void initState()
method _loadData (line 50) | void _loadData()
method build (line 83) | Widget build(BuildContext context)
method _previousMonth (line 261) | void _previousMonth()
method _nextMonth (line 271) | void _nextMonth()
method _bottomTitles (line 280) | Widget _bottomTitles(double value, TitleMeta meta)
method _leftTitles (line 302) | Widget _leftTitles(double value, TitleMeta meta)
class _BtcCandlestickData (line 317) | class _BtcCandlestickData with EquatableMixin {
FILE: example/lib/presentation/samples/chart_sample.dart
class ChartSample (line 5) | abstract class ChartSample {
class LineChartSample (line 14) | class LineChartSample extends ChartSample {
class BarChartSample (line 20) | class BarChartSample extends ChartSample {
class PieChartSample (line 26) | class PieChartSample extends ChartSample {
class ScatterChartSample (line 32) | class ScatterChartSample extends ChartSample {
class RadarChartSample (line 38) | class RadarChartSample extends ChartSample {
class CandlestickChartSample (line 44) | class CandlestickChartSample extends ChartSample {
FILE: example/lib/presentation/samples/chart_samples.dart
class ChartSamples (line 33) | class ChartSamples {
FILE: example/lib/presentation/samples/line/line_chart_sample1.dart
class _LineChart (line 5) | class _LineChart extends StatelessWidget {
method build (line 11) | Widget build(BuildContext context)
method leftTitleWidgets (line 96) | Widget leftTitleWidgets(double value, TitleMeta meta)
method leftTitles (line 119) | SideTitles leftTitles()
method bottomTitleWidgets (line 126) | Widget bottomTitleWidgets(double value, TitleMeta meta)
class LineChartSample1 (line 276) | class LineChartSample1 extends StatefulWidget {
method createState (line 280) | State<StatefulWidget> createState()
class LineChartSample1State (line 283) | class LineChartSample1State extends State<LineChartSample1> {
method initState (line 287) | void initState()
method build (line 293) | Widget build(BuildContext context)
FILE: example/lib/presentation/samples/line/line_chart_sample10.dart
class LineChartSample10 (line 8) | class LineChartSample10 extends StatefulWidget {
method createState (line 15) | State<LineChartSample10> createState()
class _LineChartSample10State (line 18) | class _LineChartSample10State extends State<LineChartSample10> {
method initState (line 29) | void initState()
method build (line 45) | Widget build(BuildContext context)
method sinLine (line 111) | LineChartBarData sinLine(List<FlSpot> points)
method cosLine (line 126) | LineChartBarData cosLine(List<FlSpot> points)
method dispose (line 142) | void dispose()
FILE: example/lib/presentation/samples/line/line_chart_sample11.dart
class LineChartSample11 (line 4) | class LineChartSample11 extends StatefulWidget {
method createState (line 8) | State<LineChartSample11> createState()
class _LineChartSample11State (line 11) | class _LineChartSample11State extends State<LineChartSample11> {
method build (line 16) | Widget build(BuildContext context)
class _Chart (line 69) | class _Chart extends StatelessWidget {
method getHorizontalTitles (line 75) | Widget getHorizontalTitles(double value, TitleMeta meta)
method getVerticalTitles (line 95) | Widget getVerticalTitles(double value, TitleMeta meta)
method getHorizontalVerticalLine (line 116) | FlLine getHorizontalVerticalLine(double value)
method getVerticalVerticalLine (line 132) | FlLine getVerticalVerticalLine(double value)
method build (line 149) | Widget build(BuildContext context)
FILE: example/lib/presentation/samples/line/line_chart_sample12.dart
class LineChartSample12 (line 10) | class LineChartSample12 extends StatefulWidget {
method createState (line 14) | State<LineChartSample12> createState()
class _LineChartSample12State (line 17) | class _LineChartSample12State extends State<LineChartSample12> {
method initState (line 24) | void initState()
method _reloadData (line 30) | void _reloadData()
method build (line 48) | Widget build(BuildContext context)
method dispose (line 274) | void dispose()
class _ChartTitle (line 280) | class _ChartTitle extends StatelessWidget {
method build (line 284) | Widget build(BuildContext context)
class _TransformationButtons (line 311) | class _TransformationButtons extends StatelessWidget {
method build (line 319) | Widget build(BuildContext context)
method _transformationReset (line 381) | void _transformationReset()
method _transformationZoomIn (line 385) | void _transformationZoomIn()
method _transformationMoveLeft (line 393) | void _transformationMoveLeft()
method _transformationMoveRight (line 401) | void _transformationMoveRight()
method _transformationZoomOut (line 409) | void _transformationZoomOut()
FILE: example/lib/presentation/samples/line/line_chart_sample13.dart
class LineChartSample13 (line 9) | class LineChartSample13 extends StatefulWidget {
method createState (line 13) | State<LineChartSample13> createState()
class _LineChartSample13State (line 16) | class _LineChartSample13State extends State<LineChartSample13> {
method initState (line 29) | void initState()
method _loadWeatherData (line 48) | void _loadWeatherData()
method build (line 74) | Widget build(BuildContext context)
method _previousMonth (line 262) | void _previousMonth()
method _nextMonth (line 272) | void _nextMonth()
method _errorPainter (line 281) | FlSpotErrorRangePainter _errorPainter(
method _horizontalGridLines (line 292) | FlLine _horizontalGridLines(double value)
method _bottomTitles (line 301) | Widget _bottomTitles(double value, TitleMeta meta)
method _touchCallback (line 327) | void _touchCallback(FlTouchEvent event, LineTouchResponse? touchResponse)
method dispose (line 343) | void dispose()
class _WeatherData (line 348) | class _WeatherData with EquatableMixin {
FILE: example/lib/presentation/samples/line/line_chart_sample2.dart
class LineChartSample2 (line 5) | class LineChartSample2 extends StatefulWidget {
method createState (line 9) | State<LineChartSample2> createState()
class _LineChartSample2State (line 12) | class _LineChartSample2State extends State<LineChartSample2> {
method build (line 21) | Widget build(BuildContext context)
method bottomTitleWidgets (line 62) | Widget bottomTitleWidgets(double value, TitleMeta meta)
method leftTitleWidgets (line 79) | Widget leftTitleWidgets(double value, TitleMeta meta)
method mainData (line 94) | LineChartData mainData()
method avgData (line 180) | LineChartData avgData()
FILE: example/lib/presentation/samples/line/line_chart_sample3.dart
class LineChartSample3 (line 5) | class LineChartSample3 extends StatefulWidget {
method createState (line 53) | State createState()
class _LineChartSample3State (line 56) | class _LineChartSample3State extends State<LineChartSample3> {
method initState (line 63) | void initState()
method leftTitleWidgets (line 68) | Widget leftTitleWidgets(double value, TitleMeta meta)
method bottomTitleWidgets (line 94) | Widget bottomTitleWidgets(double value, TitleMeta meta)
method build (line 118) | Widget build(BuildContext context)
FILE: example/lib/presentation/samples/line/line_chart_sample4.dart
class LineChartSample4 (line 5) | class LineChartSample4 extends StatelessWidget {
method bottomTitleWidgets (line 22) | Widget bottomTitleWidgets(double value, TitleMeta meta)
method leftTitleWidgets (line 53) | Widget leftTitleWidgets(double value, TitleMeta meta)
method build (line 65) | Widget build(BuildContext context)
FILE: example/lib/presentation/samples/line/line_chart_sample5.dart
class LineChartSample5 (line 5) | class LineChartSample5 extends StatefulWidget {
method createState (line 23) | State<LineChartSample5> createState()
class _LineChartSample5State (line 26) | class _LineChartSample5State extends State<LineChartSample5> {
method bottomTitleWidgets (line 39) | Widget bottomTitleWidgets(double value, TitleMeta meta, double chartWi...
method build (line 66) | Widget build(BuildContext context)
function lerpGradient (line 245) | Color lerpGradient(List<Color> colors, List<double> stops, double t)
FILE: example/lib/presentation/samples/line/line_chart_sample6.dart
class LineChartSample6 (line 7) | class LineChartSample6 extends StatelessWidget {
method leftTitleWidgets (line 66) | Widget leftTitleWidgets(double value, TitleMeta meta)
method rightTitleWidgets (line 89) | Widget rightTitleWidgets(double value, TitleMeta meta)
method topTitleWidgets (line 104) | Widget topTitleWidgets(double value, TitleMeta meta)
method build (line 119) | Widget build(BuildContext context)
method reverseY (line 277) | double reverseY(double y, double minX, double maxX)
method reverseSpots (line 281) | List<FlSpot> reverseSpots(List<FlSpot> inputSpots, double minY, double...
FILE: example/lib/presentation/samples/line/line_chart_sample7.dart
class LineChartSample7 (line 5) | class LineChartSample7 extends StatelessWidget {
method bottomTitleWidgets (line 20) | Widget bottomTitleWidgets(double value, TitleMeta meta)
method leftTitleWidgets (line 48) | Widget leftTitleWidgets(double value, TitleMeta meta)
method build (line 61) | Widget build(BuildContext context)
FILE: example/lib/presentation/samples/line/line_chart_sample8.dart
class LineChartSample8 (line 10) | class LineChartSample8 extends StatefulWidget {
method createState (line 14) | State<LineChartSample8> createState()
class _LineChartSample8State (line 17) | class _LineChartSample8State extends State<LineChartSample8> {
method loadImage (line 25) | Future<ui.Image> loadImage(String asset)
method loadSvg (line 32) | Future<SizedPicture> loadSvg()
method build (line 44) | Widget build(BuildContext context)
method bottomTitleWidgets (line 74) | Widget bottomTitleWidgets(double value, TitleMeta meta)
method leftTitleWidgets (line 85) | Widget leftTitleWidgets(double value, TitleMeta meta)
method mainData (line 118) | LineChartData mainData(SizedPicture sizedPicture)
FILE: example/lib/presentation/samples/line/line_chart_sample9.dart
class LineChartSample9 (line 8) | class LineChartSample9 extends StatelessWidget {
method bottomTitleWidgets (line 15) | Widget bottomTitleWidgets(double value, TitleMeta meta, double chartWi...
method leftTitleWidgets (line 31) | Widget leftTitleWidgets(double value, TitleMeta meta, double chartWidth)
method build (line 45) | Widget build(BuildContext context)
FILE: example/lib/presentation/samples/pie/pie_chart_sample1.dart
class PieChartSample1 (line 6) | class PieChartSample1 extends StatefulWidget {
method createState (line 10) | State<StatefulWidget> createState()
class PieChartSample1State (line 13) | class PieChartSample1State extends State {
method build (line 17) | Widget build(BuildContext context)
method showingSections (line 104) | List<PieChartSectionData> showingSections()
FILE: example/lib/presentation/samples/pie/pie_chart_sample2.dart
class PieChartSample2 (line 6) | class PieChartSample2 extends StatefulWidget {
method createState (line 10) | State<StatefulWidget> createState()
class PieChart2State (line 13) | class PieChart2State extends State {
method build (line 17) | Widget build(BuildContext context)
method showingSections (line 100) | List<PieChartSectionData> showingSections()
FILE: example/lib/presentation/samples/pie/pie_chart_sample3.dart
class PieChartSample3 (line 6) | class PieChartSample3 extends StatefulWidget {
method createState (line 10) | State<StatefulWidget> createState()
class PieChartSample3State (line 13) | class PieChartSample3State extends State {
method build (line 17) | Widget build(BuildContext context)
method showingSections (line 50) | List<PieChartSectionData> showingSections()
class _Badge (line 141) | class _Badge extends StatelessWidget {
method build (line 152) | Widget build(BuildContext context)
FILE: example/lib/presentation/samples/radar/radar_chart_sample1.dart
class RadarChartSample1 (line 6) | class RadarChartSample1 extends StatefulWidget {
method createState (line 18) | State<RadarChartSample1> createState()
class _RadarChartSample1State (line 21) | class _RadarChartSample1State extends State<RadarChartSample1> {
method build (line 27) | Widget build(BuildContext context)
method showingDataSets (line 194) | List<RadarDataSet> showingDataSets()
method rawDataSets (line 220) | List<RawDataSet> rawDataSets()
class RawDataSet (line 271) | class RawDataSet {
FILE: example/lib/presentation/samples/scatter/scatter_chart_sample1.dart
class ScatterChartSample1 (line 7) | class ScatterChartSample1 extends StatefulWidget {
method createState (line 14) | State<StatefulWidget> createState()
class ScatterChartSample1State (line 17) | class ScatterChartSample1State extends State<ScatterChartSample1> {
method build (line 25) | Widget build(BuildContext context)
method flutterLogoData (line 61) | List<ScatterSpot> flutterLogoData()
method randomData (line 492) | List<ScatterSpot> randomData()
FILE: example/lib/presentation/samples/scatter/scatter_chart_sample2.dart
class ScatterChartSample2 (line 7) | class ScatterChartSample2 extends StatefulWidget {
method createState (line 11) | State<StatefulWidget> createState()
class _ScatterChartSample2State (line 14) | class _ScatterChartSample2State extends State {
method _getPaint (line 36) | FlDotPainter _getPaint(PainterType type, double size, Color color)
method build (line 59) | Widget build(BuildContext context)
type PainterType (line 234) | enum PainterType {
FILE: example/lib/presentation/widgets/chart_holder.dart
class ChartHolder (line 6) | class ChartHolder extends StatelessWidget {
method build (line 15) | Widget build(BuildContext context)
FILE: example/lib/presentation/widgets/download_native_app_button.dart
class DownloadNativeAppButton (line 4) | class DownloadNativeAppButton extends StatelessWidget {
method build (line 15) | Widget build(BuildContext context)
FILE: example/lib/presentation/widgets/indicator.dart
class Indicator (line 3) | class Indicator extends StatelessWidget {
method build (line 19) | Widget build(BuildContext context)
FILE: example/lib/presentation/widgets/legend_widget.dart
class LegendWidget (line 3) | class LegendWidget extends StatelessWidget {
method build (line 13) | Widget build(BuildContext context)
class LegendsListWidget (line 38) | class LegendsListWidget extends StatelessWidget {
method build (line 46) | Widget build(BuildContext context)
class Legend (line 61) | class Legend {
FILE: example/lib/urls.dart
class Urls (line 3) | class Urls {
method getChartSourceCodeUrl (line 11) | String getChartSourceCodeUrl(ChartType chartType, int sampleNumber)
method getChartDocumentationUrl (line 16) | String getChartDocumentationUrl(ChartType chartType)
method getVersionReleaseUrl (line 21) | String getVersionReleaseUrl(String version)
FILE: example/lib/util/app_helper.dart
type ChartType (line 4) | enum ChartType { line, bar, pie, scatter, radar, candlestick }
FILE: example/lib/util/app_utils.dart
class AppUtils (line 5) | class AppUtils {
method degreeToRadian (line 13) | double degreeToRadian(double degree)
method radianToDegree (line 17) | double radianToDegree(double radian)
method tryToLaunchUrl (line 21) | Future<bool> tryToLaunchUrl(String url)
FILE: example/lib/util/csv_parser.dart
class CsvParser (line 1) | class CsvParser {
method parse (line 2) | List<List<String>> parse(String rawCsvData)
method _parseCsvLine (line 13) | List<String> _parseCsvLine(String line)
FILE: example/lib/util/device_info.dart
type FormFactorType (line 5) | enum FormFactorType { monitor, smallPhone, largePhone, tablet }
class DeviceOS (line 8) | class DeviceOS {
class DeviceScreen (line 24) | class DeviceScreen {
method get (line 27) | FormFactorType get(BuildContext context)
method isPhone (line 36) | bool isPhone(BuildContext context)
method isTablet (line 38) | bool isTablet(BuildContext context)
method isMonitor (line 40) | bool isMonitor(BuildContext context)
method isSmallPhone (line 42) | bool isSmallPhone(BuildContext context)
method isLargePhone (line 44) | bool isLargePhone(BuildContext context)
FILE: example/lib/util/extensions/color_extensions.dart
function darken (line 5) | Color darken([int percent = 40])
function lighten (line 16) | Color lighten([int percent = 40])
function avg (line 27) | Color avg(Color other)
function _floatToInt8 (line 40) | int _floatToInt8(double x)
FILE: example/linux/flutter/generated_plugin_registrant.cc
function fl_register_plugins (line 11) | void fl_register_plugins(FlPluginRegistry* registry) {
FILE: example/linux/main.cc
function main (line 3) | int main(int argc, char** argv) {
FILE: example/linux/my_application.cc
type _MyApplication (line 10) | struct _MyApplication {
function my_application_activate (line 18) | static void my_application_activate(GApplication* application) {
function gboolean (line 66) | static gboolean my_application_local_command_line(GApplication* applicat...
function my_application_dispose (line 85) | static void my_application_dispose(GObject* object) {
function my_application_class_init (line 91) | static void my_application_class_init(MyApplicationClass* klass) {
function my_application_init (line 97) | static void my_application_init(MyApplication* self) {}
function MyApplication (line 99) | MyApplication* my_application_new() {
FILE: example/linux/runner/main.cc
function main (line 3) | int main(int argc, char** argv) {
FILE: example/linux/runner/my_application.cc
type _MyApplication (line 10) | struct _MyApplication {
function first_frame_cb (line 18) | static void first_frame_cb(MyApplication* self, FlView *view)
function my_application_activate (line 24) | static void my_application_activate(GApplication* application) {
function gboolean (line 80) | static gboolean my_application_local_command_line(GApplication* applicat...
function my_application_startup (line 99) | static void my_application_startup(GApplication* application) {
function my_application_shutdown (line 108) | static void my_application_shutdown(GApplication* application) {
function my_application_dispose (line 117) | static void my_application_dispose(GObject* object) {
function my_application_class_init (line 123) | static void my_application_class_init(MyApplicationClass* klass) {
function my_application_init (line 131) | static void my_application_init(MyApplication* self) {}
function MyApplication (line 133) | MyApplication* my_application_new() {
FILE: example/windows/flutter/generated_plugin_registrant.cc
function RegisterPlugins (line 11) | void RegisterPlugins(flutter::PluginRegistry* registry) {
FILE: example/windows/runner/flutter_window.cpp
function LRESULT (line 50) | LRESULT
FILE: example/windows/runner/flutter_window.h
function class (line 12) | class FlutterWindow : public Win32Window {
FILE: example/windows/runner/main.cpp
function wWinMain (line 8) | int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev,
FILE: example/windows/runner/utils.cpp
function CreateAndAttachConsole (line 10) | void CreateAndAttachConsole() {
function GetCommandLineArguments (line 24) | std::vector<std::string> GetCommandLineArguments() {
function Utf8FromUtf16 (line 44) | std::string Utf8FromUtf16(const wchar_t* utf16_string) {
FILE: example/windows/runner/win32_window.cpp
function Scale (line 36) | int Scale(int source, double scale_factor) {
function EnableFullDpiSupportIfAvailable (line 42) | void EnableFullDpiSupportIfAvailable(HWND hwnd) {
class WindowClassRegistrar (line 59) | class WindowClassRegistrar {
method WindowClassRegistrar (line 64) | static WindowClassRegistrar* GetInstance() {
method WindowClassRegistrar (line 80) | WindowClassRegistrar() = default;
function wchar_t (line 89) | const wchar_t* WindowClassRegistrar::GetWindowClass() {
function LRESULT (line 157) | LRESULT CALLBACK Win32Window::WndProc(HWND const window,
function LRESULT (line 176) | LRESULT
function Win32Window (line 236) | Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept {
function RECT (line 252) | RECT Win32Window::GetClientArea() {
function HWND (line 258) | HWND Win32Window::GetHandle() {
FILE: example/windows/runner/win32_window.h
type Size (line 21) | struct Size {
FILE: lib/src/chart/bar_chart/bar_chart.dart
class BarChart (line 12) | class BarChart extends ImplicitlyAnimatedWidget {
method createState (line 57) | _BarChartState createState()
class _BarChartState (line 60) | class _BarChartState extends AnimatedWidgetBaseState<BarChart> {
method build (line 74) | Widget build(BuildContext context)
method _withTouchedIndicators (line 90) | BarChartData _withTouchedIndicators(BarChartData barChartData)
method _getData (line 112) | BarChartData _getData()
method _handleBuiltInTouch (line 134) | void _handleBuiltInTouch(
method forEachTween (line 160) | void forEachTween(TweenVisitor<dynamic> visitor)
FILE: lib/src/chart/bar_chart/bar_chart_data.dart
class BarChartData (line 16) | class BarChartData extends AxisChartData with EquatableMixin {
method copyWith (line 89) | BarChartData copyWith({
method lerp (line 127) | BarChartData lerp(BaseChartData a, BaseChartData b, double t)
type BarChartAlignment (line 179) | enum BarChartAlignment {
class BarChartGroupData (line 193) | class BarChartGroupData with EquatableMixin {
method copyWith (line 257) | BarChartGroupData copyWith({
method lerp (line 274) | BarChartGroupData lerp(
class BarChartRodData (line 303) | class BarChartRodData with EquatableMixin {
method isUpward (line 403) | bool isUpward()
method copyWith (line 407) | BarChartRodData copyWith({
method lerp (line 437) | BarChartRodData lerp(BarChartRodData a, BarChartRodData b, double t)
class BarChartRodStackItem (line 480) | class BarChartRodStackItem with EquatableMixin {
method copyWith (line 527) | BarChartRodStackItem copyWith({
method lerp (line 547) | BarChartRodStackItem lerp(
class BackgroundBarChartRodData (line 573) | class BackgroundBarChartRodData with EquatableMixin {
method lerp (line 610) | BackgroundBarChartRodData lerp(
class BarTouchData (line 639) | class BarTouchData extends FlTouchData<BarTouchResponse> with EquatableM...
method copyWith (line 691) | BarTouchData copyWith({
type TooltipDirection (line 728) | enum TooltipDirection {
class BarTouchTooltipData (line 740) | class BarTouchTooltipData with EquatableMixin {
type GetBarTooltipItem (line 854) | typedef GetBarTooltipItem = BarTooltipItem? Function(
function defaultBarTooltipItem (line 862) | BarTooltipItem? defaultBarTooltipItem(
class BarTooltipItem (line 878) | class BarTooltipItem with EquatableMixin {
type GetBarTooltipColor (line 920) | typedef GetBarTooltipColor = Color Function(
function defaultBarTooltipColor (line 925) | Color defaultBarTooltipColor(BarChartGroupData group)
class BarTouchResponse (line 932) | class BarTouchResponse extends AxisBaseTouchResponse {
method copyWith (line 946) | BarTouchResponse copyWith({
class BarTouchedSpot (line 959) | class BarTouchedSpot extends TouchedSpot with EquatableMixin {
class BarChartSpotErrorRangeCallbackInput (line 1014) | class BarChartSpotErrorRangeCallbackInput
class BarChartRodLabel (line 1045) | class BarChartRodLabel extends FlLabel {
method lerpBarChartRodLabel (line 1060) | BarChartRodLabel lerpBarChartRodLabel(
method copyWith (line 1076) | BarChartRodLabel copyWith({
class BarChartDataTween (line 1098) | class BarChartDataTween extends Tween<BarChartData> {
method lerp (line 1104) | BarChartData lerp(double t)
FILE: lib/src/chart/bar_chart/bar_chart_helper.dart
class BarChartHelper (line 6) | class BarChartHelper {
method calculateMaxAxisValues (line 9) | (double minY, double maxY) calculateMaxAxisValues(
FILE: lib/src/chart/bar_chart/bar_chart_painter.dart
class BarChartPainter (line 16) | class BarChartPainter extends AxisChartPainter<BarChartData> {
method paint (line 51) | void paint(
method calculateGroupAndBarsPosition (line 138) | List<GroupBarsPosition> calculateGroupAndBarsPosition(
method drawBars (line 174) | void drawBars(
method drawBarLabels (line 420) | void drawBarLabels(
method drawErrorIndicatorData (line 475) | void drawErrorIndicatorData(
method drawTouchTooltip (line 544) | void drawTouchTooltip(
method drawStackItemBorderStroke (line 762) | void drawStackItemBorderStroke(
method handleTouch (line 828) | BarTouchedSpot? handleTouch(
class GroupBarsPosition (line 971) | @visibleForTesting
FILE: lib/src/chart/bar_chart/bar_chart_renderer.dart
class BarChartLeaf (line 11) | class BarChartLeaf extends LeafRenderObjectWidget {
method createRenderObject (line 26) | RenderBarChart createRenderObject(BuildContext context)
method updateRenderObject (line 36) | void updateRenderObject(BuildContext context, RenderBarChart renderObj...
class RenderBarChart (line 49) | class RenderBarChart extends RenderBaseChart<BarTouchResponse> {
method paint (line 111) | void paint(PaintingContext context, Offset offset)
method hitTestSelf (line 124) | bool hitTestSelf(Offset position)
method getResponseAtLocation (line 132) | BarTouchResponse getResponseAtLocation(Offset localPosition)
FILE: lib/src/chart/base/axis_chart/axis_chart_data.dart
class AxisChartData (line 19) | abstract class AxisChartData extends BaseChartData with EquatableMixin {
class AxisBaseTouchResponse (line 92) | abstract class AxisBaseTouchResponse extends BaseTouchResponse {
type AxisSide (line 103) | enum AxisSide {
type SideTitleAlignment (line 116) | enum SideTitleAlignment { outside, border, inside }
class TitleMeta (line 119) | class TitleMeta {
type GetTitleWidgetFunction (line 167) | typedef GetTitleWidgetFunction = Widget Function(double value, TitleMeta...
function defaultGetTitle (line 172) | Widget defaultGetTitle(double value, TitleMeta meta)
class SideTitles (line 182) | class SideTitles with EquatableMixin {
method lerp (line 236) | SideTitles lerp(SideTitles a, SideTitles b, double t)
method copyWith (line 247) | SideTitles copyWith({
class SideTitleFitInsideData (line 282) | class SideTitleFitInsideData with EquatableMixin {
class AxisTitles (line 349) | class AxisTitles with EquatableMixin {
method lerp (line 390) | AxisTitles lerp(AxisTitles a, AxisTitles b, double t)
method copyWith (line 400) | AxisTitles copyWith({
class FlTitlesData (line 427) | class FlTitlesData with EquatableMixin {
method lerp (line 466) | FlTitlesData lerp(FlTitlesData a, FlTitlesData b, double t)
method copyWith (line 477) | FlTitlesData copyWith({
class FlSpot (line 504) | @immutable
method copyWith (line 526) | FlSpot copyWith({
method toString (line 541) | String toString()
method isNull (line 550) | bool isNull()
method isNotNull (line 553) | bool isNotNull()
method lerp (line 556) | FlSpot lerp(FlSpot a, FlSpot b, double t)
class FlErrorRange (line 602) | class FlErrorRange with EquatableMixin {
method lerp (line 625) | FlErrorRange? lerp(FlErrorRange? a, FlErrorRange? b, double t)
class FlGridData (line 641) | class FlGridData with EquatableMixin {
method lerp (line 711) | FlGridData lerp(FlGridData a, FlGridData b, double t)
method copyWith (line 726) | FlGridData copyWith({
type CheckToShowGrid (line 769) | typedef CheckToShowGrid = bool Function(double value);
function showAllGrids (line 772) | bool showAllGrids(double value)
type GetDrawingGridLine (line 778) | typedef GetDrawingGridLine = FlLine Function(double value);
function defaultGridLine (line 781) | FlLine defaultGridLine(double value)
class FlLine (line 788) | class FlLine with EquatableMixin {
method lerp (line 820) | FlLine lerp(FlLine a, FlLine b, double t)
method copyWith (line 829) | FlLine copyWith({
class TouchedSpot (line 853) | abstract class TouchedSpot with EquatableMixin {
class RangeAnnotations (line 881) | class RangeAnnotations with EquatableMixin {
method lerp (line 893) | RangeAnnotations lerp(
method copyWith (line 913) | RangeAnnotations copyWith({
class HorizontalRangeAnnotation (line 933) | class HorizontalRangeAnnotation with EquatableMixin {
method lerp (line 963) | HorizontalRangeAnnotation lerp(
method copyWith (line 977) | HorizontalRangeAnnotation copyWith({
class VerticalRangeAnnotation (line 1001) | class VerticalRangeAnnotation with EquatableMixin {
method lerp (line 1031) | VerticalRangeAnnotation lerp(
method copyWith (line 1045) | VerticalRangeAnnotation copyWith({
class HorizontalLine (line 1072) | class HorizontalLine extends FlLine with EquatableMixin {
method lerp (line 1112) | HorizontalLine lerp(HorizontalLine a, HorizontalLine b, double t)
class VerticalLine (line 1143) | class VerticalLine extends FlLine with EquatableMixin {
method lerp (line 1183) | VerticalLine lerp(VerticalLine a, VerticalLine b, double t)
method copyVerticalLineWith (line 1198) | VerticalLine copyVerticalLineWith({
class HorizontalLineLabel (line 1234) | class HorizontalLineLabel extends FlLineLabel with EquatableMixin {
method defaultLineLabelResolver (line 1255) | String defaultLineLabelResolver(HorizontalLine line)
method lerp (line 1259) | HorizontalLineLabel lerp(
class VerticalLineLabel (line 1290) | class VerticalLineLabel extends FlLineLabel with EquatableMixin {
method defaultLineLabelResolver (line 1315) | String defaultLineLabelResolver(VerticalLine line)
method lerp (line 1319) | VerticalLineLabel lerp(
class SizedPicture (line 1360) | class SizedPicture with EquatableMixin {
class ExtraLinesData (line 1391) | class ExtraLinesData with EquatableMixin {
method lerp (line 1410) | ExtraLinesData lerp(ExtraLinesData a, ExtraLinesData b, double t)
class FlDotPainter (line 1435) | abstract class FlDotPainter with EquatableMixin {
method draw (line 1439) | void draw(Canvas canvas, FlSpot spot, Offset offsetInCanvas)
method getSize (line 1442) | Size getSize(FlSpot spot)
method lerp (line 1447) | FlDotPainter lerp(FlDotPainter a, FlDotPainter b, double t)
method hitTest (line 1452) | bool hitTest(
class FlDotCirclePainter (line 1471) | class FlDotCirclePainter extends FlDotPainter {
method draw (line 1498) | void draw(Canvas canvas, FlSpot spot, Offset offsetInCanvas)
method getSize (line 1520) | Size getSize(FlSpot spot)
method _lerp (line 1525) | FlDotCirclePainter _lerp(
method lerp (line 1538) | FlDotPainter lerp(FlDotPainter a, FlDotPainter b, double t)
method hitTest (line 1546) | bool hitTest(
class FlDotSquarePainter (line 1568) | class FlDotSquarePainter extends FlDotPainter {
method draw (line 1595) | void draw(Canvas canvas, FlSpot spot, Offset offsetInCanvas)
method getSize (line 1621) | Size getSize(FlSpot spot)
method _lerp (line 1635) | FlDotSquarePainter _lerp(
method lerp (line 1648) | FlDotPainter lerp(FlDotPainter a, FlDotPainter b, double t)
class FlDotCrossPainter (line 1658) | class FlDotCrossPainter extends FlDotPainter {
method draw (line 1678) | void draw(Canvas canvas, FlSpot spot, Offset offsetInCanvas)
method getSize (line 1697) | Size getSize(FlSpot spot)
method _lerp (line 1702) | FlDotCrossPainter _lerp(
method lerp (line 1714) | FlDotPainter lerp(FlDotPainter a, FlDotPainter b, double t)
class FlErrorIndicatorData (line 1749) | class FlErrorIndicatorData<T extends FlSpotErrorRangeCallbackInput>
method lerp (line 1764) | FlErrorIndicatorData<T> lerp<T extends FlSpotErrorRangeCallbackInput>(
type GetSpotRangeErrorPainter (line 1786) | typedef GetSpotRangeErrorPainter<T extends FlSpotErrorRangeCallbackInput>
function _defaultGetSpotRangeErrorPainter (line 1793) | FlSpotErrorRangePainter _defaultGetSpotRangeErrorPainter(
class FlSpotErrorRangePainter (line 1808) | abstract class FlSpotErrorRangePainter with EquatableMixin {
method draw (line 1825) | void draw(
class FlSimpleErrorPainter (line 1847) | class FlSimpleErrorPainter extends FlSpotErrorRangePainter with Equatabl...
method draw (line 1895) | void draw(
method _drawDirectErrorLine (line 1982) | void _drawDirectErrorLine(Canvas canvas, Offset from, Offset to)
method _drawErrorText (line 2035) | void _drawErrorText({
class FlSpotErrorRangeCallbackInput (line 2091) | abstract class FlSpotErrorRangeCallbackInput with EquatableMixin {}
type ValueInCanvasProvider (line 2093) | typedef ValueInCanvasProvider = double Function(double axisValue);
class AxisSpotIndicator (line 2111) | class AxisSpotIndicator with EquatableMixin {
method lerp (line 2123) | AxisSpotIndicator lerp(
class AxisSpotIndicatorPainter (line 2151) | abstract class AxisSpotIndicatorPainter {
method paint (line 2155) | void paint(
method lerp (line 2166) | AxisSpotIndicatorPainter lerp(
class AxisLinesIndicatorPainter (line 2175) | class AxisLinesIndicatorPainter extends AxisSpotIndicatorPainter {
method _drawHorizontalLine (line 2191) | void _drawHorizontalLine(
method _drawVerticalLine (line 2288) | void _drawVerticalLine(
method paint (line 2389) | void paint(
method _lerp (line 2446) | AxisLinesIndicatorPainter _lerp(
method lerp (line 2457) | AxisSpotIndicatorPainter lerp(
FILE: lib/src/chart/base/axis_chart/axis_chart_extensions.dart
function splitByNullSpots (line 5) | List<List<FlSpot>> splitByNullSpots()
FILE: lib/src/chart/base/axis_chart/axis_chart_helper.dart
class AxisChartHelper (line 5) | class AxisChartHelper {
method iterateThroughAxis (line 23) | Iterable<double> iterateThroughAxis({
method calcFitInsideOffset (line 65) | Offset calcFitInsideOffset({
FILE: lib/src/chart/base/axis_chart/axis_chart_painter.dart
class AxisChartPainter (line 16) | abstract class AxisChartPainter<D extends AxisChartData>
method paint (line 43) | void paint(
method drawGrid (line 55) | void drawGrid(CanvasWrapper canvasWrapper, PaintHolder<D> holder)
method drawBackground (line 157) | void drawBackground(CanvasWrapper canvasWrapper, PaintHolder<D> holder)
method drawRangeAnnotation (line 172) | void drawRangeAnnotation(CanvasWrapper canvasWrapper, PaintHolder<D> h...
method drawExtraLines (line 218) | void drawExtraLines(
method drawHorizontalLines (line 249) | void drawHorizontalLines(
method drawVerticalLines (line 371) | void drawVerticalLines(
method getPixelX (line 497) | double getPixelX(
method _getPixelX (line 512) | double _getPixelX(double spotX, D data, Size usableSize)
method getPixelY (line 522) | double getPixelY(
method _getPixelY (line 537) | double _getPixelY(double spotY, D data, Size usableSize)
method getXForPixel (line 547) | double getXForPixel(
method getYForPixel (line 563) | double getYForPixel(
method getChartCoordinateFromPixel (line 579) | Offset getChartCoordinateFromPixel(
method getTooltipLeft (line 591) | double getTooltipLeft(
FILE: lib/src/chart/base/axis_chart/axis_chart_scaffold_widget.dart
type ChartBuilder (line 14) | typedef ChartBuilder = Widget Function(
class AxisChartScaffoldWidget (line 36) | class AxisChartScaffoldWidget extends StatefulWidget {
method createState (line 58) | State<AxisChartScaffoldWidget> createState()
class _AxisChartScaffoldWidgetState (line 62) | class _AxisChartScaffoldWidgetState extends State<AxisChartScaffoldWidge...
method initState (line 79) | void initState()
method dispose (line 88) | void dispose()
method didUpdateWidget (line 97) | void didUpdateWidget(AxisChartScaffoldWidget oldWidget)
method _transformationControllerListener (line 131) | void _transformationControllerListener()
method _calculateAdjustedRect (line 142) | Rect? _calculateAdjustedRect(Rect rect)
method _stackWidgets (line 202) | List<Widget> _stackWidgets(BoxConstraints constraints)
method insertIndex (line 259) | int insertIndex(bool drawBelow)
method build (line 312) | Widget build(BuildContext context)
FILE: lib/src/chart/base/axis_chart/axis_chart_widgets.dart
class SideTitleWidget (line 15) | class SideTitleWidget extends StatefulWidget {
method createState (line 52) | State<SideTitleWidget> createState()
class _SideTitleWidgetState (line 55) | class _SideTitleWidgetState extends State<SideTitleWidget> {
method _getAlignment (line 56) | Alignment _getAlignment()
method _getMargin (line 63) | EdgeInsets _getMargin()
method _getChildSize (line 74) | void _getChildSize(Duration duration)
method initState (line 97) | void initState()
method didUpdateWidget (line 103) | void didUpdateWidget(covariant SideTitleWidget oldWidget)
method build (line 109) | Widget build(BuildContext context)
FILE: lib/src/chart/base/axis_chart/scale_axis.dart
type FlScaleAxis (line 1) | enum FlScaleAxis {
FILE: lib/src/chart/base/axis_chart/side_titles/side_titles_flex.dart
class SideTitlesFlex (line 8) | class SideTitlesFlex extends MultiChildRenderObjectWidget {
method createRenderObject (line 23) | AxisSideTitlesRenderFlex createRenderObject(BuildContext context)
method updateRenderObject (line 32) | void updateRenderObject(
method debugFillProperties (line 43) | void debugFillProperties(DiagnosticPropertiesBuilder properties)
class AxisSideTitlesRenderFlex (line 49) | class AxisSideTitlesRenderFlex extends RenderBox
method setupParentData (line 94) | void setupParentData(RenderBox child)
method computeDistanceToActualBaseline (line 104) | double? computeDistanceToActualBaseline(TextBaseline baseline)
method _getCrossSize (line 111) | double _getCrossSize(Size size)
method _getMainSize (line 120) | double _getMainSize(Size size)
method computeDryLayout (line 130) | Size computeDryLayout(BoxConstraints constraints)
method _computeSizes (line 144) | _LayoutSizes _computeSizes({
method performLayout (line 186) | void performLayout()
method hitTestChildren (line 230) | bool hitTestChildren(BoxHitTestResult result, {required Offset position})
method paint (line 235) | void paint(PaintingContext context, Offset offset)
method dispose (line 249) | void dispose()
method debugFillProperties (line 255) | void debugFillProperties(DiagnosticPropertiesBuilder properties)
class _LayoutSizes (line 261) | class _LayoutSizes {
class AxisSideMetaData (line 273) | class AxisSideMetaData {
class AxisSideTitleMetaData (line 282) | class AxisSideTitleMetaData with EquatableMixin {
class AxisSideTitleWidgetHolder (line 294) | class AxisSideTitleWidgetHolder {
FILE: lib/src/chart/base/axis_chart/side_titles/side_titles_widget.dart
class SideTitlesWidget (line 12) | class SideTitlesWidget extends StatefulWidget {
method createState (line 27) | State<SideTitlesWidget> createState()
class _SideTitlesWidgetState (line 30) | class _SideTitlesWidgetState extends State<SideTitlesWidget> {
method makeWidgets (line 135) | List<AxisSideTitleWidgetHolder> makeWidgets(
method _getPositionsWithinChartRange (line 212) | List<AxisSideTitleMetaData> _getPositionsWithinChartRange(
method build (line 237) | Widget build(BuildContext context)
class _AxisTitleWidget (line 287) | class _AxisTitleWidget extends StatelessWidget {
method build (line 308) | Widget build(BuildContext context)
FILE: lib/src/chart/base/axis_chart/transformation_config.dart
class FlTransformationConfig (line 5) | class FlTransformationConfig {
FILE: lib/src/chart/base/base_chart/base_chart_data.dart
class BaseChartData (line 15) | abstract class BaseChartData with EquatableMixin {
method lerp (line 25) | BaseChartData lerp(BaseChartData a, BaseChartData b, double t)
class FlBorderData (line 35) | class FlBorderData with EquatableMixin {
method isVisible (line 47) | bool isVisible()
method lerp (line 50) | FlBorderData lerp(FlBorderData a, FlBorderData b, double t)
method copyWith (line 58) | FlBorderData copyWith({
class FlTouchData (line 80) | abstract class FlTouchData<R extends BaseTouchResponse> with EquatableMi...
class FlClipData (line 117) | class FlClipData with EquatableMixin {
method copyWith (line 152) | FlClipData copyWith({
type BaseTouchCallback (line 171) | typedef BaseTouchCallback<R extends BaseTouchResponse> = void Function(
type MouseCursorResolver (line 179) | typedef MouseCursorResolver<R extends BaseTouchResponse> = MouseCursor F...
class BaseTouchResponse (line 185) | abstract class BaseTouchResponse {
class FlLabel (line 195) | class FlLabel with EquatableMixin {
method lerp (line 220) | FlLabel lerp(FlLabel a, FlLabel b, double t)
method copyWith (line 230) | FlLabel copyWith({
type FLHorizontalAlignment (line 251) | enum FLHorizontalAlignment {
FILE: lib/src/chart/base/base_chart/base_chart_painter.dart
class BaseChartPainter (line 7) | class BaseChartPainter<D extends BaseChartData> {
method paint (line 12) | void paint(
class PaintHolder (line 20) | class PaintHolder<Data extends BaseChartData> {
method getChartUsableSize (line 57) | Size getChartUsableSize(Size viewSize)
FILE: lib/src/chart/base/base_chart/fl_touch_event.dart
class FlTouchEvent (line 7) | abstract class FlTouchEvent {
class FlPanDownEvent (line 45) | class FlPanDownEvent extends FlTouchEvent {
class FlPanStartEvent (line 61) | class FlPanStartEvent extends FlTouchEvent {
class FlPanUpdateEvent (line 79) | class FlPanUpdateEvent extends FlTouchEvent {
class FlPanCancelEvent (line 92) | class FlPanCancelEvent extends FlTouchEvent {
class FlPanEndEvent (line 102) | class FlPanEndEvent extends FlTouchEvent {
class FlTapDownEvent (line 115) | class FlTapDownEvent extends FlTouchEvent {
class FlTapCancelEvent (line 128) | class FlTapCancelEvent extends FlTouchEvent {
class FlTapUpEvent (line 138) | class FlTapUpEvent extends FlTouchEvent {
class FlLongPressStart (line 155) | class FlLongPressStart extends FlTouchEvent {
class FlLongPressMoveUpdate (line 173) | class FlLongPressMoveUpdate extends FlTouchEvent {
class FlLongPressEnd (line 191) | class FlLongPressEnd extends FlTouchEvent {
class FlPointerEnterEvent (line 208) | class FlPointerEnterEvent extends FlTouchEvent {
class FlPointerHoverEvent (line 225) | class FlPointerHoverEvent extends FlTouchEvent {
class FlPointerExitEvent (line 240) | class FlPointerExitEvent extends FlTouchEvent {
FILE: lib/src/chart/base/base_chart/render_base_chart.dart
class RenderBaseChart (line 10) | abstract class RenderBaseChart<R extends BaseTouchResponse> extends Rend...
method updateBaseTouchData (line 40) | void updateBaseTouchData(FlTouchData<R>? value)
method initGestureRecognizers (line 67) | void initGestureRecognizers()
method performLayout (line 114) | void performLayout()
method computeDryLayout (line 119) | Size computeDryLayout(BoxConstraints constraints)
method hitTestSelf (line 124) | bool hitTestSelf(Offset position)
method handleEvent (line 134) | void handleEvent(PointerEvent event, covariant BoxHitTestEntry entry)
method _notifyTouchEvent (line 164) | void _notifyTouchEvent(FlTouchEvent event)
method getResponseAtLocation (line 194) | R getResponseAtLocation(Offset localPosition)
method attach (line 197) | void attach(PipelineOwner owner)
method detach (line 203) | void detach()
FILE: lib/src/chart/base/custom_interactive_viewer.dart
type CustomInteractiveViewerWidgetBuilder (line 22) | typedef CustomInteractiveViewerWidgetBuilder = Widget Function(
class CustomInteractiveViewer (line 27) | @immutable
method getNearestPointOnLine (line 138) | Vector3 getNearestPointOnLine(Vector3 point, Vector3 l1, Vector3 l2)
method axisAlignedBoundingBox (line 157) | Rect axisAlignedBoundingBox(Quad quad)
method getAxisAlignedBoundingBox (line 185) | Quad getAxisAlignedBoundingBox(Quad quad)
method pointIsInside (line 238) | bool pointIsInside(Vector3 point, Quad quad)
method getNearestPointInside (line 254) | Vector3 getNearestPointInside(Vector3 point, Quad quad)
method transformViewport (line 303) | Quad transformViewport(Matrix4 matrix, Rect viewport)
method createState (line 338) | State<CustomInteractiveViewer> createState()
class _CustomInteractiveViewerState (line 342) | class _CustomInteractiveViewerState extends State<CustomInteractiveViewer>
method _matrixTranslate (line 401) | Matrix4 _matrixTranslate(Matrix4 matrix, Offset translation)
method _matrixScale (line 510) | Matrix4 _matrixScale(Matrix4 matrix, double scale)
method _gestureIsSupported (line 539) | bool _gestureIsSupported(_GestureType? gestureType)
method _getGestureType (line 550) | _GestureType _getGestureType(ScaleUpdateDetails details)
method _onScaleStart (line 561) | void _onScaleStart(ScaleStartDetails details)
method _onScaleUpdate (line 589) | void _onScaleUpdate(ScaleUpdateDetails details)
method _onScaleEnd (line 673) | void _onScaleEnd(ScaleEndDetails details)
method _receivedPointerSignal (line 757) | void _receivedPointerSignal(PointerSignalEvent event)
method _onAnimate (line 870) | void _onAnimate()
method _onScaleAnimate (line 895) | void _onScaleAnimate()
method _onTransformationControllerChange (line 927) | void _onTransformationControllerChange()
method initState (line 934) | void initState()
method didUpdateWidget (line 947) | void didUpdateWidget(CustomInteractiveViewer oldWidget)
method dispose (line 979) | void dispose()
method build (line 991) | Widget build(BuildContext context)
class _CustomInteractiveViewerBuilt (line 1046) | class _CustomInteractiveViewerBuilt extends StatelessWidget {
method build (line 1064) | Widget build(BuildContext context)
type _GestureType (line 1090) | enum _GestureType {
function _getFinalTime (line 1097) | double _getFinalTime(
function _getMatrixTranslation (line 1106) | Offset _getMatrixTranslation(Matrix4 matrix)
function _getAxisAlignedBoundingBoxWithRotation (line 1113) | Quad _getAxisAlignedBoundingBoxWithRotation(Rect rect, double rotation)
function _exceedsBy (line 1130) | Offset _exceedsBy(Quad boundary, Quad viewport)
function _round (line 1158) | Offset _round(Offset offset)
function _alignAxis (line 1167) | Offset _alignAxis(Offset offset, Axis axis)
function _getPanAxis (line 1176) | Axis? _getPanAxis(Offset point1, Offset point2)
FILE: lib/src/chart/base/line.dart
class Line (line 6) | class Line {
method magnitude (line 16) | double magnitude()
method direction (line 24) | double direction()
method normalize (line 30) | Offset normalize()
FILE: lib/src/chart/candlestick_chart/candlestick_chart.dart
class CandlestickChart (line 7) | class CandlestickChart extends ImplicitlyAnimatedWidget {
method createState (line 40) | _CandlestickChartState createState()
class _CandlestickChartState (line 43) | class _CandlestickChartState extends AnimatedWidgetBaseState<Candlestick...
method build (line 58) | Widget build(BuildContext context)
method _withTouchedIndicators (line 76) | CandlestickChartData _withTouchedIndicators(
method _getData (line 126) | CandlestickChartData _getData()
method _handleBuiltInTouch (line 139) | void _handleBuiltInTouch(
method forEachTween (line 174) | void forEachTween(TweenVisitor<dynamic> visitor)
FILE: lib/src/chart/candlestick_chart/candlestick_chart_data.dart
class CandlestickChartData (line 16) | class CandlestickChartData extends AxisChartData with EquatableMixin {
method lerp (line 113) | CandlestickChartData lerp(BaseChartData a, BaseChartData b, double t)
method copyWith (line 155) | CandlestickChartData copyWith({
class CandlestickSpot (line 223) | class CandlestickSpot extends FlSpot with EquatableMixin {
method copyWith (line 268) | CandlestickSpot copyWith({
method lerp (line 302) | CandlestickSpot lerp(CandlestickSpot a, CandlestickSpot b, double t)
class CandlestickTouchData (line 329) | class CandlestickTouchData extends FlTouchData<CandlestickTouchResponse>
method copyWith (line 376) | CandlestickTouchData copyWith({
type CandlestickTouchCallback (line 409) | typedef CandlestickTouchCallback = void Function(CandlestickTouchResponse);
class CandlestickTouchResponse (line 415) | class CandlestickTouchResponse extends AxisBaseTouchResponse {
method copyWith (line 431) | CandlestickTouchResponse copyWith({
class CandlestickTouchedSpot (line 444) | class CandlestickTouchedSpot with EquatableMixin {
method copyWith (line 464) | CandlestickTouchedSpot copyWith({
class CandlestickTouchTooltipData (line 472) | class CandlestickTouchTooltipData with EquatableMixin {
method copyWith (line 569) | CandlestickTouchTooltipData copyWith({
type GetCandlestickTooltipItems (line 606) | typedef GetCandlestickTooltipItems = CandlestickTooltipItem? Function(
function defaultCandlestickTooltipItem (line 613) | CandlestickTooltipItem? defaultCandlestickTooltipItem(
type GetCandlestickTooltipColor (line 679) | typedef GetCandlestickTooltipColor = Color Function(
function defaultCandlestickTooltipColor (line 684) | Color defaultCandlestickTooltipColor(CandlestickSpot touchedSpot)
class CandlestickTooltipItem (line 688) | class CandlestickTooltipItem with EquatableMixin {
method copyWith (line 733) | CandlestickTooltipItem copyWith({
class FlCandlestickPainter (line 752) | abstract class FlCandlestickPainter with EquatableMixin {
method paint (line 756) | void paint(
method getMainColor (line 765) | Color getMainColor({
method lerp (line 770) | FlCandlestickPainter lerp(
method hitTest (line 779) | (bool, double) hitTest(
type CandlestickStyleProvider (line 792) | typedef CandlestickStyleProvider = CandlestickStyle Function(
class DefaultCandlestickPainter (line 818) | class DefaultCandlestickPainter extends FlCandlestickPainter {
method paint (line 831) | void paint(
method lerp (line 902) | FlCandlestickPainter lerp(
method getMainColor (line 916) | Color getMainColor({
class CandlestickStyle (line 929) | class CandlestickStyle with EquatableMixin {
method lerp (line 962) | CandlestickStyle lerp(
class CandlestickChartDataTween (line 990) | class CandlestickChartDataTween extends Tween<CandlestickChartData> {
method lerp (line 998) | CandlestickChartData lerp(double t)
FILE: lib/src/chart/candlestick_chart/candlestick_chart_helper.dart
class CandlestickChartHelper (line 4) | class CandlestickChartHelper {
method calculateMaxAxisValues (line 7) | (
FILE: lib/src/chart/candlestick_chart/candlestick_chart_painter.dart
class CandlestickChartPainter (line 9) | class CandlestickChartPainter extends AxisChartPainter<CandlestickChartD...
method paint (line 30) | void paint(
method drawCandlesticks (line 55) | void drawCandlesticks(
method drawTouchTooltips (line 122) | void drawTouchTooltips(
method drawTouchTooltip (line 146) | void drawTouchTooltip(
method drawAxisSpotIndicator (line 309) | void drawAxisSpotIndicator(
method handleTouch (line 338) | CandlestickTouchedSpot? handleTouch(
FILE: lib/src/chart/candlestick_chart/candlestick_chart_renderer.dart
class CandlestickChartLeaf (line 11) | class CandlestickChartLeaf extends LeafRenderObjectWidget {
method createRenderObject (line 26) | RenderCandlestickChart createRenderObject(BuildContext context)
method updateRenderObject (line 37) | void updateRenderObject(
class RenderCandlestickChart (line 53) | class RenderCandlestickChart extends RenderBaseChart<CandlestickTouchRes...
method paint (line 119) | void paint(PaintingContext context, Offset offset)
method hitTestSelf (line 132) | bool hitTestSelf(Offset position)
method getResponseAtLocation (line 140) | CandlestickTouchResponse getResponseAtLocation(Offset localPosition)
FILE: lib/src/chart/line_chart/line_chart.dart
class LineChart (line 13) | class LineChart extends ImplicitlyAnimatedWidget {
method createState (line 40) | _LineChartState createState()
class _LineChartState (line 43) | class _LineChartState extends AnimatedWidgetBaseState<LineChart> {
method build (line 59) | Widget build(BuildContext context)
method _withTouchedIndicators (line 77) | LineChartData _withTouchedIndicators(LineChartData lineChartData)
method _getData (line 94) | LineChartData _getData()
method _handleBuiltInTouch (line 126) | void _handleBuiltInTouch(
method forEachTween (line 163) | void forEachTween(TweenVisitor<dynamic> visitor)
FILE: lib/src/chart/line_chart/line_chart_data.dart
class LineChartData (line 15) | class LineChartData extends AxisChartData with EquatableMixin {
method lerp (line 88) | LineChartData lerp(BaseChartData a, BaseChartData b, double t)
method copyWith (line 121) | LineChartData copyWith({
type LineChartGradientArea (line 187) | enum LineChartGradientArea {
class LineChartBarData (line 197) | class LineChartBarData with EquatableMixin {
method lerp (line 394) | LineChartBarData lerp(
method copyWith (line 434) | LineChartBarData copyWith({
class LineChartStepData (line 512) | class LineChartStepData with EquatableMixin {
method lerp (line 529) | LineChartStepData lerp(
class BarAreaData (line 544) | class BarAreaData with EquatableMixin {
method lerp (line 593) | BarAreaData lerp(BarAreaData a, BarAreaData b, double t)
class BetweenBarsData (line 616) | class BetweenBarsData with EquatableMixin {
method lerp (line 644) | BetweenBarsData lerp(BetweenBarsData a, BetweenBarsData b, double t)
class BarAreaSpotsLine (line 664) | class BarAreaSpotsLine with EquatableMixin {
method lerp (line 688) | BarAreaSpotsLine lerp(
type CheckToShowSpotLine (line 714) | typedef CheckToShowSpotLine = bool Function(FlSpot spot);
function showAllSpotsBelowLine (line 717) | bool showAllSpotsBelowLine(FlSpot spot)
type GetDotColorCallback (line 725) | typedef GetDotColorCallback = Color Function(FlSpot, double, LineChartBa...
function _defaultGetDotColor (line 729) | Color _defaultGetDotColor(FlSpot _, double xPercentage, LineChartBarData...
function _defaultGetDotStrokeColor (line 742) | Color _defaultGetDotStrokeColor(
type GetDotPainterCallback (line 766) | typedef GetDotPainterCallback = FlDotPainter Function(
function _defaultGetDotPainter (line 773) | FlDotPainter _defaultGetDotPainter(
class FlDotData (line 787) | class FlDotData with EquatableMixin {
method lerp (line 808) | FlDotData lerp(FlDotData a, FlDotData b, double t)
type CheckToShowDot (line 827) | typedef CheckToShowDot = bool Function(FlSpot spot, LineChartBarData bar...
function showAllDots (line 830) | bool showAllDots(FlSpot spot, LineChartBarData barData)
type LabelDirection (line 832) | enum LabelDirection {
class FlLineLabel (line 840) | abstract class FlLineLabel with EquatableMixin {
class LineTouchData (line 885) | class LineTouchData extends FlTouchData<LineTouchResponse> with Equatabl...
method copyWith (line 948) | LineTouchData copyWith({
type GetTouchedSpotIndicator (line 999) | typedef GetTouchedSpotIndicator = List<TouchedSpotIndicatorData?> Function(
type GetTouchLineY (line 1005) | typedef GetTouchLineY = double Function(
type CalculateTouchDistance (line 1011) | typedef CalculateTouchDistance = double Function(
function _xDistance (line 1017) | double _xDistance(Offset touchPoint, Offset spotPixelCoordinates)
function defaultTouchedIndicators (line 1021) | List<TouchedSpotIndicatorData> defaultTouchedIndicators(
function defaultGetTouchLineStart (line 1048) | double defaultGetTouchLineStart(LineChartBarData barData, int spotIndex)
function defaultGetTouchLineEnd (line 1053) | double defaultGetTouchLineEnd(LineChartBarData barData, int spotIndex)
class LineTouchTooltipData (line 1057) | class LineTouchTooltipData with EquatableMixin {
type GetLineTooltipItems (line 1157) | typedef GetLineTooltipItems = List<LineTooltipItem?> Function(
function defaultLineTooltipItem (line 1162) | List<LineTooltipItem> defaultLineTooltipItem(List<LineBarSpot> touchedSp...
type GetLineTooltipColor (line 1180) | typedef GetLineTooltipColor = Color Function(
function defaultLineTooltipColor (line 1185) | Color defaultLineTooltipColor(LineBarSpot touchedSpot)
class LineBarSpot (line 1189) | class LineBarSpot extends FlSpot with EquatableMixin {
class TouchLineBarSpot (line 1222) | class TouchLineBarSpot extends LineBarSpot {
class LineTooltipItem (line 1235) | class LineTooltipItem with EquatableMixin {
class TouchedSpotIndicatorData (line 1275) | class TouchedSpotIndicatorData with EquatableMixin {
class ShowingTooltipIndicators (line 1301) | class ShowingTooltipIndicators with EquatableMixin {
class LineTouchResponse (line 1318) | class LineTouchResponse extends AxisBaseTouchResponse {
method copyWith (line 1334) | LineTouchResponse copyWith({
class LineChartSpotErrorRangeCallbackInput (line 1352) | class LineChartSpotErrorRangeCallbackInput
class LineChartDataTween (line 1373) | class LineChartDataTween extends Tween<LineChartData> {
method lerp (line 1378) | LineChartData lerp(double t)
FILE: lib/src/chart/line_chart/line_chart_helper.dart
class LineChartHelper (line 4) | class LineChartHelper {
method calculateMaxAxisValues (line 7) | (double minX, double maxX, double minY, double maxY) calculateMaxAxisV...
FILE: lib/src/chart/line_chart/line_chart_painter.dart
class LineChartPainter (line 15) | class LineChartPainter extends AxisChartPainter<LineChartData> {
method paint (line 63) | void paint(
method clipToBorder (line 197) | void clipToBorder(
method drawBarLine (line 232) | void drawBarLine(
method drawBetweenBarsArea (line 289) | void drawBetweenBarsArea(
method drawDots (line 350) | void drawDots(
method drawErrorIndicatorData (line 377) | void drawErrorIndicatorData(
method drawTouchedSpotsIndicator (line 439) | void drawTouchedSpotsIndicator(
method generateBarPath (line 530) | Path generateBarPath(
method generateNormalBarPath (line 565) | Path generateNormalBarPath(
method generateStepBarPath (line 645) | Path generateStepBarPath(
method generateBelowBarPath (line 698) | Path generateBelowBarPath(
method generateAboveBarPath (line 742) | Path generateAboveBarPath(
method drawBelowBar (line 785) | void drawBelowBar(
method drawAboveBar (line 879) | void drawAboveBar(
method drawBetweenBar (line 970) | void drawBetweenBar(
method drawBarShadow (line 996) | void drawBarShadow(
method drawBar (line 1033) | void drawBar(
method drawTouchTooltip (line 1072) | void drawTouchTooltip(
method getBarLineXLength (line 1310) | double getBarLineXLength(
method handleTouch (line 1333) | List<TouchLineBarSpot>? handleTouch(
method getNearestTouchedSpot (line 1375) | TouchLineBarSpot? getNearestTouchedSpot(
method _getDotHeight (line 1425) | double _getDotHeight({
class LineIndexDrawingInfo (line 1458) | @visibleForTesting
FILE: lib/src/chart/line_chart/line_chart_renderer.dart
class LineChartLeaf (line 12) | class LineChartLeaf extends LeafRenderObjectWidget {
method createRenderObject (line 27) | RenderLineChart createRenderObject(BuildContext context)
method updateRenderObject (line 37) | void updateRenderObject(BuildContext context, RenderLineChart renderOb...
class RenderLineChart (line 50) | class RenderLineChart extends RenderBaseChart<LineTouchResponse> {
method paint (line 112) | void paint(PaintingContext context, Offset offset)
method hitTestSelf (line 125) | bool hitTestSelf(Offset position)
method getResponseAtLocation (line 133) | LineTouchResponse getResponseAtLocation(Offset localPosition)
FILE: lib/src/chart/pie_chart/pie_chart.dart
class PieChart (line 6) | class PieChart extends ImplicitlyAnimatedWidget {
method createState (line 33) | _PieChartState createState()
class _PieChartState (line 36) | class _PieChartState extends AnimatedWidgetBaseState<PieChart> {
method initState (line 42) | void initState()
method build (line 54) | Widget build(BuildContext context)
method _getData (line 65) | PieChartData _getData()
method forEachTween (line 70) | void forEachTween(TweenVisitor<dynamic> visitor)
class BadgeWidgetsDelegate (line 81) | class BadgeWidgetsDelegate extends MultiChildLayoutDelegate {
method performLayout (line 91) | void performLayout(Size size)
method shouldRelayout (line 114) | bool shouldRelayout(BadgeWidgetsDelegate oldDelegate)
FILE: lib/src/chart/pie_chart/pie_chart_data.dart
class PieChartData (line 13) | class PieChartData extends BaseChartData with EquatableMixin {
method copyWith (line 76) | PieChartData copyWith({
method lerp (line 99) | PieChartData lerp(BaseChartData a, BaseChartData b, double t)
class PieChartSectionData (line 136) | class PieChartSectionData with EquatableMixin {
method copyWith (line 234) | PieChartSectionData copyWith({
method lerp (line 266) | PieChartSectionData lerp(
class PieTouchData (line 317) | class PieTouchData extends FlTouchData<PieTouchResponse> with EquatableM...
class PieTouchedSection (line 349) | class PieTouchedSection with EquatableMixin {
class PieTouchResponse (line 387) | class PieTouchResponse extends BaseTouchResponse {
method copyWith (line 399) | PieTouchResponse copyWith({
class PieChartDataTween (line 410) | class PieChartDataTween extends Tween<PieChartData> {
method lerp (line 416) | PieChartData lerp(double t)
FILE: lib/src/chart/pie_chart/pie_chart_helper.dart
function toWidgets (line 5) | List<Widget> toWidgets()
FILE: lib/src/chart/pie_chart/pie_chart_painter.dart
class PieChartPainter (line 13) | class PieChartPainter extends BaseChartPainter<PieChartData> {
method paint (line 43) | void paint(
method calculateSectionsAngle (line 63) | List<double> calculateSectionsAngle(
method drawCenterSpace (line 77) | void drawCenterSpace(
method drawSections (line 96) | void drawSections(
method generateSectionPath (line 186) | Path generateSectionPath(
method generateRoundedSectionPath (line 301) | Path generateRoundedSectionPath(
method createRectPathAroundLine (line 515) | Path createRectPathAroundLine(Line line, double width)
method drawSection (line 560) | void drawSection(
method drawSectionStroke (line 576) | void drawSectionStroke(
method drawTexts (line 606) | void drawTexts(
method sectionCenter (line 636) | Offset sectionCenter(double percentageOffset)
method calculateCenterRadius (line 673) | double calculateCenterRadius(
method handleTouch (line 691) | PieTouchedSection handleTouch(
method getBadgeOffsets (line 759) | Map<int, Offset> getBadgeOffsets(
method sectionCenter (line 781) | Offset sectionCenter(double percentageOffset)
FILE: lib/src/chart/pie_chart/pie_chart_renderer.dart
class PieChartLeaf (line 14) | class PieChartLeaf extends MultiChildRenderObjectWidget {
method createRenderObject (line 25) | RenderPieChart createRenderObject(BuildContext context)
method updateRenderObject (line 33) | void updateRenderObject(BuildContext context, RenderPieChart renderObj...
class RenderPieChart (line 44) | class RenderPieChart extends RenderBaseChart<PieTouchResponse>
method setupParentData (line 100) | void setupParentData(RenderBox child)
method performLayout (line 107) | void performLayout()
method hitTestChildren (line 132) | bool hitTestChildren(BoxHitTestResult result, {required Offset position})
method paint (line 136) | void paint(PaintingContext context, Offset offset)
method badgeWidgetPaint (line 149) | void badgeWidgetPaint(PaintingContext context, Offset offset)
method hitTestSelf (line 163) | bool hitTestSelf(Offset position)
method getResponseAtLocation (line 171) | PieTouchResponse getResponseAtLocation(Offset localPosition)
method visitChildrenForSemantics (line 183) | void visitChildrenForSemantics(RenderObjectVisitor visitor)
FILE: lib/src/chart/radar_chart/radar_chart.dart
class RadarChart (line 6) | class RadarChart extends ImplicitlyAnimatedWidget {
method createState (line 29) | _RadarChartState createState()
class _RadarChartState (line 32) | class _RadarChartState extends AnimatedWidgetBaseState<RadarChart> {
method build (line 38) | Widget build(BuildContext context)
method _getDate (line 47) | RadarChartData _getDate()
method forEachTween (line 50) | void forEachTween(TweenVisitor<dynamic> visitor)
FILE: lib/src/chart/radar_chart/radar_chart_data.dart
type GetTitleByIndexFunction (line 10) | typedef GetTitleByIndexFunction = RadarChartTitle Function(
type RadarShape (line 15) | enum RadarShape {
class RadarChartTitle (line 20) | class RadarChartTitle {
class RadarChartData (line 48) | class RadarChartData extends BaseChartData with EquatableMixin {
method copyWith (line 195) | RadarChartData copyWith({
method lerp (line 231) | RadarChartData lerp(BaseChartData a, BaseChartData b, double t)
class RadarDataSet (line 281) | class RadarDataSet with EquatableMixin {
method copyWith (line 330) | RadarDataSet copyWith({
method lerp (line 348) | RadarDataSet lerp(RadarDataSet a, RadarDataSet b, double t)
class RadarEntry (line 371) | class RadarEntry with EquatableMixin {
method copyWith (line 379) | RadarEntry copyWith({double? value})
method lerp (line 383) | RadarEntry lerp(RadarEntry a, RadarEntry b, double t)
class RadarTouchData (line 396) | class RadarTouchData extends FlTouchData<RadarTouchResponse>
class RadarTouchResponse (line 439) | class RadarTouchResponse extends BaseTouchResponse {
method copyWith (line 452) | RadarTouchResponse copyWith({
class RadarTouchedSpot (line 463) | class RadarTouchedSpot extends TouchedSpot with EquatableMixin {
class RadarChartDataTween (line 497) | class RadarChartDataTween extends Tween<RadarChartData> {
method lerp (line 505) | RadarChartData lerp(double t)
FILE: lib/src/chart/radar_chart/radar_chart_painter.dart
class RadarChartPainter (line 10) | class RadarChartPainter extends BaseChartPainter<RadarChartData> {
method paint (line 51) | void paint(
method getDefaultChartCenterValue (line 72) | double getDefaultChartCenterValue()
method getChartCenterValue (line 74) | double getChartCenterValue(RadarChartData data)
method getScaledPoint (line 91) | double getScaledPoint(RadarEntry point, double radius, RadarChartData ...
method getFirstTickValue (line 104) | double getFirstTickValue(RadarChartData data)
method getSpaceBetweenTicks (line 120) | double getSpaceBetweenTicks(RadarChartData data)
method drawTicks (line 137) | void drawTicks(
method _generatePolygonPath (line 223) | Path _generatePolygonPath(
method drawGrids (line 240) | void drawGrids(
method drawTitles (line 271) | void drawTitles(
method drawDataSets (line 342) | void drawDataSets(
method handleTouch (line 413) | RadarTouchedSpot? handleTouch(
method radarCenterY (line 444) | double radarCenterY(Size size)
method radarCenterX (line 447) | double radarCenterX(Size size)
method radarRadius (line 450) | double radarRadius(Size size)
method calculateDataSetsPosition (line 454) | List<RadarDataSetsPosition> calculateDataSetsPosition(
class RadarDataSetsPosition (line 495) | class RadarDataSetsPosition {
FILE: lib/src/chart/radar_chart/radar_chart_renderer.dart
class RadarChartLeaf (line 11) | class RadarChartLeaf extends LeafRenderObjectWidget {
method createRenderObject (line 22) | RenderRadarChart createRenderObject(BuildContext context)
method updateRenderObject (line 30) | void updateRenderObject(BuildContext context, RenderRadarChart renderO...
class RenderRadarChart (line 41) | class RenderRadarChart extends RenderBaseChart<RadarTouchResponse> {
method paint (line 91) | void paint(PaintingContext context, Offset offset)
method hitTestSelf (line 104) | bool hitTestSelf(Offset position)
method getResponseAtLocation (line 112) | RadarTouchResponse getResponseAtLocation(Offset localPosition)
FILE: lib/src/chart/scatter_chart/scatter_chart.dart
class ScatterChart (line 7) | class ScatterChart extends ImplicitlyAnimatedWidget {
method createState (line 40) | _ScatterChartState createState()
class _ScatterChartState (line 43) | class _ScatterChartState extends AnimatedWidgetBaseState<ScatterChart> {
method build (line 55) | Widget build(BuildContext context)
method _withTouchedIndicators (line 72) | ScatterChartData _withTouchedIndicators(ScatterChartData scatterChartD...
method _getData (line 83) | ScatterChartData _getData()
method _handleBuiltInTouch (line 95) | void _handleBuiltInTouch(
method forEachTween (line 120) | void forEachTween(TweenVisitor<dynamic> visitor)
FILE: lib/src/chart/scatter_chart/scatter_chart_data.dart
class ScatterChartData (line 15) | class ScatterChartData extends AxisChartData with EquatableMixin {
method lerp (line 99) | ScatterChartData lerp(BaseChartData a, BaseChartData b, double t)
method copyWith (line 139) | ScatterChartData copyWith({
class ScatterSpot (line 206) | class ScatterSpot extends FlSpot with EquatableMixin {
method copyWith (line 247) | ScatterSpot copyWith({
method lerp (line 267) | ScatterSpot lerp(ScatterSpot a, ScatterSpot b, double t)
class ScatterTouchData (line 297) | class ScatterTouchData extends FlTouchData<ScatterTouchResponse>
method copyWith (line 344) | ScatterTouchData copyWith({
type ScatterTouchCallback (line 377) | typedef ScatterTouchCallback = void Function(ScatterTouchResponse);
class ScatterTouchResponse (line 383) | class ScatterTouchResponse extends AxisBaseTouchResponse {
method copyWith (line 399) | ScatterTouchResponse copyWith({
class ScatterTouchedSpot (line 412) | class ScatterTouchedSpot with EquatableMixin {
method copyWith (line 432) | ScatterTouchedSpot copyWith({
class ScatterTouchTooltipData (line 440) | class ScatterTouchTooltipData with EquatableMixin {
method copyWith (line 535) | ScatterTouchTooltipData copyWith({
type GetScatterTooltipItems (line 570) | typedef GetScatterTooltipItems = ScatterTooltipItem? Function(
function defaultScatterTooltipItem (line 575) | ScatterTooltipItem? defaultScatterTooltipItem(ScatterSpot touchedSpot)
type GetScatterTooltipColor (line 599) | typedef GetScatterTooltipColor = Color Function(
function defaultScatterTooltipColor (line 604) | Color defaultScatterTooltipColor(ScatterSpot touchedSpot)
class ScatterTooltipItem (line 608) | class ScatterTooltipItem with EquatableMixin {
method copyWith (line 653) | ScatterTooltipItem copyWith({
class ScatterChartDataTween (line 672) | class ScatterChartDataTween extends Tween<ScatterChartData> {
method lerp (line 680) | ScatterChartData lerp(double t)
type GetLabelTextStyleFunction (line 684) | typedef GetLabelTextStyleFunction = TextStyle? Function(
type GetLabelFunction (line 690) | typedef GetLabelFunction = String Function(
function getDefaultLabelTextStyleFunction (line 696) | TextStyle? getDefaultLabelTextStyleFunction(
function getDefaultLabelFunction (line 704) | String getDefaultLabelFunction(
class ScatterLabelSettings (line 711) | class ScatterLabelSettings with EquatableMixin {
method copyWith (line 737) | ScatterLabelSettings copyWith({
method lerp (line 753) | ScatterLabelSettings lerp(
class ScatterChartSpotErrorRangeCallbackInput (line 781) | class ScatterChartSpotErrorRangeCallbackInput
FILE: lib/src/chart/scatter_chart/scatter_chart_helper.dart
class ScatterChartHelper (line 4) | class ScatterChartHelper {
method calculateMaxAxisValues (line 7) | (
FILE: lib/src/chart/scatter_chart/scatter_chart_painter.dart
class ScatterChartPainter (line 9) | class ScatterChartPainter extends AxisChartPainter<ScatterChartData> {
method paint (line 37) | void paint(
method drawSpots (line 61) | void drawSpots(
method drawScatterErrorBars (line 197) | void drawScatterErrorBars(
method drawTouchTooltips (line 256) | void drawTouchTooltips(
method drawTouchTooltip (line 279) | void drawTouchTooltip(
method handleTouch (line 445) | ScatterTouchedSpot? handleTouch(
FILE: lib/src/chart/scatter_chart/scatter_chart_renderer.dart
class ScatterChartLeaf (line 11) | class ScatterChartLeaf extends LeafRenderObjectWidget {
method createRenderObject (line 26) | RenderScatterChart createRenderObject(BuildContext context)
method updateRenderObject (line 37) | void updateRenderObject(
class RenderScatterChart (line 53) | class RenderScatterChart extends RenderBaseChart<ScatterTouchResponse> {
method paint (line 115) | void paint(PaintingContext context, Offset offset)
method hitTestSelf (line 128) | bool hitTestSelf(Offset position)
method getResponseAtLocation (line 136) | ScatterTouchResponse getResponseAtLocation(Offset localPosition)
FILE: lib/src/extensions/bar_chart_data_extension.dart
function calculateGroupsX (line 4) | List<double> calculateGroupsX(double viewWidth)
function spaceEvenly (line 12) | void spaceEvenly()
FILE: lib/src/extensions/border_extension.dart
function isVisible (line 4) | bool isVisible()
FILE: lib/src/extensions/color_extension.dart
function darken (line 5) | Color darken([int percent = 40])
function _floatToInt8 (line 21) | int _floatToInt8(double x)
FILE: lib/src/extensions/fl_titles_data_extension.dart
function _getPadding (line 25) | double _getPadding(SideTitleAlignment alignment, double reservedSize)
FILE: lib/src/extensions/gradient_extension.dart
function getSafeColorStops (line 11) | List<double> getSafeColorStops()
FILE: lib/src/extensions/paint_extension.dart
function transparentIfWidthIsZero (line 5) | void transparentIfWidthIsZero()
function setColorOrGradient (line 12) | void setColorOrGradient(Color? color, Gradient? gradient, Rect rect)
function setColorOrGradientForLine (line 22) | void setColorOrGradientForLine(
FILE: lib/src/extensions/path_extension.dart
function toDashedPath (line 12) | Path toDashedPath(List<int>? dashArray)
FILE: lib/src/extensions/rrect_extension.dart
function getRect (line 6) | Rect getRect()
FILE: lib/src/extensions/size_extension.dart
function rotateByQuarterTurns (line 4) | Size rotateByQuarterTurns(int quarterTurns)
FILE: lib/src/extensions/text_align_extension.dart
type HorizontalAlignment (line 3) | enum HorizontalAlignment { left, center, right }
function getFinalHorizontalAlignment (line 6) | HorizontalAlignment getFinalHorizontalAlignment(TextDirection? direction)
FILE: lib/src/utils/canvas_wrapper.dart
type DrawCallback (line 8) | typedef DrawCallback = void Function();
class CanvasWrapper (line 14) | class CanvasWrapper {
method drawRRect (line 24) | void drawRRect(RRect rrect, Paint paint)
method save (line 27) | void save()
method restore (line 30) | void restore()
method clipRect (line 33) | void clipRect(
method translate (line 41) | void translate(double dx, double dy)
method rotate (line 44) | void rotate(double radius)
method drawPath (line 47) | void drawPath(Path path, Paint paint)
method saveLayer (line 50) | void saveLayer(Rect bounds, Paint paint)
method drawPicture (line 53) | void drawPicture(Picture picture)
method drawImage (line 56) | void drawImage(Image image, Offset offset, Paint paint)
method clipPath (line 60) | void clipPath(Path path, {bool doAntiAlias = true})
method drawRect (line 64) | void drawRect(Rect rect, Paint paint)
method drawLine (line 67) | void drawLine(Offset p1, Offset p2, Paint paint)
method drawCircle (line 71) | void drawCircle(Offset center, double radius, Paint paint)
method drawArc (line 75) | void drawArc(
method drawText (line 87) | void drawText(TextPainter tp, Offset offset, [double? rotateAngle])
method drawVerticalText (line 105) | void drawVerticalText(
method drawDot (line 122) | void drawDot(FlDotPainter painter, FlSpot spot, Offset offset)
method drawErrorIndicator (line 127) | void drawErrorIndicator(
method drawRotated (line 138) | void drawRotated({
method drawDashedLine (line 160) | void drawDashedLine(
FILE: lib/src/utils/lerp.dart
function lerpList (line 7) | List<T>? lerpList<T>(
function lerpColorList (line 27) | List<Color>? lerpColorList(List<Color>? a, List<Color>? b, double t)
function lerpColor (line 31) | Color lerpColor(Color a, Color b, double t)
function lerpDoubleAllowInfinity (line 34) | double? lerpDoubleAllowInfinity(double? a, double? b, double t)
function lerpDoubleList (line 49) | List<double>? lerpDoubleList(List<double>? a, List<double>? b, double t)
function lerpIntList (line 53) | List<int>? lerpIntList(List<int>? a, List<int>? b, double t)
function lerpInt (line 57) | int lerpInt(int a, int b, double t)
function lerpNonNullDouble (line 60) | double lerpNonNullDouble(double a, double b, double t)
function lerpFlSpotList (line 63) | List<FlSpot>? lerpFlSpotList(List<FlSpot>? a, List<FlSpot>? b, double t)
function lerpHorizontalLineList (line 67) | List<HorizontalLine>? lerpHorizontalLineList(
function lerpVerticalLineList (line 75) | List<VerticalLine>? lerpVerticalLineList(
function lerpHorizontalRangeAnnotationList (line 83) | List<HorizontalRangeAnnotation>? lerpHorizontalRangeAnnotationList(
function lerpVerticalRangeAnnotationList (line 91) | List<VerticalRangeAnnotation>? lerpVerticalRangeAnnotationList(
function lerpLineChartBarDataList (line 99) | List<LineChartBarData>? lerpLineChartBarDataList(
function lerpBetweenBarsDataList (line 107) | List<BetweenBarsData>? lerpBetweenBarsDataList(
function lerpBarChartGroupDataList (line 115) | List<BarChartGroupData>? lerpBarChartGroupDataList(
function lerpBarChartRodDataList (line 123) | List<BarChartRodData>? lerpBarChartRodDataList(
function lerpPieChartSectionDataList (line 131) | List<PieChartSectionData>? lerpPieChartSectionDataList(
function lerpScatterSpotList (line 139) | List<ScatterSpot>? lerpScatterSpotList(
function lerpCandleSpotList (line 147) | List<CandlestickSpot>? lerpCandleSpotList(
function lerpBarChartRodStackList (line 155) | List<BarChartRodStackItem>? lerpBarChartRodStackList(
function lerpRadarDataSetList (line 163) | List<RadarDataSet>? lerpRadarDataSetList(
function lerpRadarEntryList (line 171) | List<RadarEntry>? lerpRadarEntryList(
function lerpGradient (line 179) | Color lerpGradient(List<Color> colors, List<double> stops, double t)
FILE: lib/src/utils/path_drawing/dash_path.dart
function dashPath (line 12) | Path dashPath(
type _DashOffsetType (line 37) | enum _DashOffsetType { absolute, percentage }
class DashOffset (line 43) | class DashOffset {
method _calculate (line 61) | double _calculate(double length)
class CircularIntervalList (line 74) | class CircularIntervalList<T> {
FILE: lib/src/utils/utils.dart
class Utils (line 5) | class Utils {
method changeInstance (line 14) | void changeInstance(Utils val)
method radians (line 19) | double radians(double degrees)
method degrees (line 24) | double degrees(double radians)
method translateRotatedPosition (line 27) | double translateRotatedPosition(double size, double degree)
method calculateRotationOffset (line 31) | Offset calculateRotationOffset(Size size, double degree)
method normalizeBorderRadius (line 43) | BorderRadius? normalizeBorderRadius(
method normalizeBorderSide (line 95) | BorderSide normalizeBorderSide(BorderSide? borderSide, double width)
method getEfficientInterval (line 117) | double getEfficientInterval(
method roundInterval (line 135) | double roundInterval(double input)
method _roundIntervalBelowOne (line 142) | double _roundIntervalBelowOne(double input)
method _roundIntervalAboveOne (line 171) | double _roundIntervalAboveOne(double input)
method getFractionDigits (line 200) | int getFractionDigits(double value)
method formatNumber (line 232) | String formatNumber(double axisMin, double axisMax, double axisValue)
method getThemeAwareTextStyle (line 274) | TextStyle getThemeAwareTextStyle(
method getBestInitialIntervalValue (line 295) | double getBestInitialIntervalValue(
method convertRadiusToSigma (line 313) | double convertRadiusToSigma(double radius)
FILE: test/chart/bar_chart/bar_chart_data_test.dart
function main (line 7) | void main()
FILE: test/chart/bar_chart/bar_chart_helper_test.dart
function main (line 7) | void main()
FILE: test/chart/bar_chart/bar_chart_painter_test.dart
function main (line 21) | void main()
function callWithAlignment (line 609) | List<double> callWithAlignment(BarChartAlignment alignment)
function callWithAlignment (line 726) | List<GroupBarsPosition> callWithAlignment(BarChartAlignment alignment)
FILE: test/chart/bar_chart/bar_chart_painter_test.mocks.dart
class _FakeRect_0 (line 32) | class _FakeRect_0 extends _i1.SmartFake implements _i2.Rect {
class _FakeCanvas_1 (line 42) | class _FakeCanvas_1 extends _i1.SmartFake implements _i2.Canvas {
class _FakeSize_2 (line 52) | class _FakeSize_2 extends _i1.SmartFake implements _i2.Size {
class _FakeWidget_3 (line 62) | class _FakeWidget_3 extends _i1.SmartFake implements _i3.Widget {
method toString (line 72) | String toString({_i3.DiagnosticLevel? minLevel = _i3.DiagnosticLevel.i...
class _FakeInheritedWidget_4 (line 76) | class _FakeInheritedWidget_4 extends _i1.SmartFake
method toString (line 87) | String toString({_i3.DiagnosticLevel? minLevel = _i3.DiagnosticLevel.i...
class _FakeDiagnosticsNode_5 (line 91) | class _FakeDiagnosticsNode_5 extends _i1.SmartFake
method toString (line 102) | String toString({
class _FakeOffset_6 (line 109) | class _FakeOffset_6 extends _i1.SmartFake implements _i2.Offset {
class _FakeBorderSide_7 (line 119) | class _FakeBorderSide_7 extends _i1.SmartFake implements _i3.BorderSide {
method toString (line 129) | String toString({_i3.DiagnosticLevel? minLevel = _i3.DiagnosticLevel.i...
class _FakeTextStyle_8 (line 133) | class _FakeTextStyle_8 extends _i1.SmartFake implements _i3.TextStyle {
method toString (line 143) | String toString({_i3.DiagnosticLevel? minLevel = _i3.DiagnosticLevel.i...
class MockCanvas (line 150) | class MockCanvas extends _i1.Mock implements _i2.Canvas {
method save (line 156) | void save()
method saveLayer (line 165) | void saveLayer(
method restore (line 181) | void restore()
method restoreToCount (line 190) | void restoreToCount(int? count)
method getSaveCount (line 199) | int getSaveCount()
method translate (line 208) | void translate(
method scale (line 224) | void scale(
method rotate (line 240) | void rotate(double? radians)
method skew (line 249) | void skew(
method transform (line 265) | void transform(_i5.Float64List? matrix4)
method getTransform (line 274) | _i5.Float64List getTransform()
method clipRect (line 283) | void clipRect(
method clipRRect (line 301) | void clipRRect(
method clipRSuperellipse (line 315) | void clipRSuperellipse(
method clipPath (line 329) | void clipPath(
method getLocalClipBounds (line 343) | _i2.Rect getLocalClipBounds()
method getDestinationClipBounds (line 358) | _i2.Rect getDestinationClipBounds()
method drawColor (line 373) | void drawColor(
method drawLine (line 389) | void drawLine(
method drawPaint (line 407) | void drawPaint(_i2.Paint? paint)
method drawRect (line 416) | void drawRect(
method drawRRect (line 432) | void drawRRect(
method drawDRRect (line 448) | void drawDRRect(
method drawRSuperellipse (line 466) | void drawRSuperellipse(
method drawOval (line 482) | void drawOval(
method drawCircle (line 498) | void drawCircle(
method drawArc (line 516) | void drawArc(
method drawPath (line 538) | void drawPath(
method drawImage (line 554) | void drawImage(
method drawImageRect (line 572) | void drawImageRect(
method drawImageNine (line 592) | void drawImageNine(
method drawPicture (line 612) | void drawPicture(_i2.Picture? picture)
method drawParagraph (line 621) | void drawParagraph(
method drawPoints (line 637) | void drawPoints(
method drawRawPoints (line 655) | void drawRawPoints(
method drawVertices (line 673) | void drawVertices(
method drawAtlas (line 691) | void drawAtlas(
method drawRawAtlas (line 717) | void drawRawAtlas(
method drawShadow (line 743) | void drawShadow(
class MockCanvasWrapper (line 766) | class MockCanvasWrapper extends _i1.Mock implements _i6.CanvasWrapper {
method drawRRect (line 790) | void drawRRect(
method save (line 806) | void save()
method restore (line 815) | void restore()
method clipRect (line 824) | void clipRect(
method translate (line 842) | void translate(
method rotate (line 858) | void rotate(double? radius)
method drawPath (line 867) | void drawPath(
method saveLayer (line 883) | void saveLayer(
method drawPicture (line 899) | void drawPicture(_i2.Picture? picture)
method drawImage (line 908) | void drawImage(
method clipPath (line 926) | void clipPath(
method drawRect (line 940) | void drawRect(
method drawLine (line 956) | void drawLine(
method drawCircle (line 974) | void drawCircle(
method drawArc (line 992) | void drawArc(
method drawText (line 1014) | void drawText(
method drawVerticalText (line 1032) | void drawVerticalText(
method drawDot (line 1050) | void drawDot(
method drawErrorIndicator (line 1068) | void drawErrorIndicator(
method drawRotated (line 1090) | void drawRotated({
method drawDashedLine (line 1113) | void drawDashedLine(
class MockBuildContext (line 1136) | class MockBuildContext extends _i1.Mock implements _i3.BuildContext {
method dependOnInheritedElement (line 1163) | _i3.InheritedWidget dependOnInheritedElement(
method visitAncestorElements (line 1184) | void visitAncestorElements(_i3.ConditionalElementVisitor? visitor)
method visitChildElements (line 1194) | void visitChildElements(_i3.ElementVisitor? visitor)
method dispatchNotification (line 1203) | void dispatchNotification(_i3.Notification? notification)
method describeElement (line 1213) | _i3.DiagnosticsNode describeElement(
method describeWidget (line 1234) | _i3.DiagnosticsNode describeWidget(
method describeMissingAncestor (line 1255) | List<_i3.DiagnosticsNode> describeMissingAncestor(
method describeOwnershipChain (line 1267) | _i3.DiagnosticsNode describeOwnershipChain(String? name)
class MockUtils (line 1286) | class MockUtils extends _i1.Mock implements _i8.Utils {
method radians (line 1292) | double radians(double? degrees)
method degrees (line 1301) | double degrees(double? radians)
method translateRotatedPosition (line 1310) | double translateRotatedPosition(
method calculateRotationOffset (line 1326) | _i2.Offset calculateRotationOffset(
method normalizeBorderRadius (line 1351) | _i3.BorderRadius? normalizeBorderRadius(
method normalizeBorderSide (line 1364) | _i3.BorderSide normalizeBorderSide(
method getEfficientInterval (line 1389) | double getEfficientInterval(
method roundInterval (line 1407) | double roundInterval(double? input)
method getFractionDigits (line 1416) | int getFractionDigits(double? value)
method formatNumber (line 1425) | String formatNumber(
method getThemeAwareTextStyle (line 1453) | _i3.TextStyle getThemeAwareTextStyle(
method getBestInitialIntervalValue (line 1478) | double getBestInitialIntervalValue(
method convertRadiusToSigma (line 1498) | double convertRadiusToSigma(double? radius)
FILE: test/chart/bar_chart/bar_chart_renderer_test.dart
function main (line 15) | void main()
FILE: test/chart/bar_chart/bar_chart_renderer_test.mocks.dart
class _FakeRect_0 (line 37) | class _FakeRect_0 extends _i1.SmartFake implements _i2.Rect {
class _FakeCanvas_1 (line 47) | class _FakeCanvas_1 extends _i1.SmartFake implements _i2.Canvas {
class _FakePaintingContext_2 (line 57) | class _FakePaintingContext_2 extends _i1.SmartFake
class _FakeColorFilterLayer_3 (line 68) | class _FakeColorFilterLayer_3 extends _i1.SmartFake
method toString (line 79) | String toString({_i5.DiagnosticLevel? minLevel = _i5.DiagnosticLevel.i...
class _FakeOpacityLayer_4 (line 83) | class _FakeOpacityLayer_4 extends _i1.SmartFake implements _i4.OpacityLa...
method toString (line 93) | String toString({_i5.DiagnosticLevel? minLevel = _i5.DiagnosticLevel.i...
class _FakeWidget_5 (line 97) | class _FakeWidget_5 extends _i1.SmartFake implements _i6.Widget {
method toString (line 107) | String toString({_i5.DiagnosticLevel? minLevel = _i5.DiagnosticLevel.i...
class _FakeInheritedWidget_6 (line 111) | class _FakeInheritedWidget_6 extends _i1.SmartFake
method toString (line 122) | String toString({_i5.DiagnosticLevel? minLevel = _i5.DiagnosticLevel.i...
class _FakeDiagnosticsNode_7 (line 126) | class _FakeDiagnosticsNode_7 extends _i1.SmartFake
method toString (line 137) | String toString({
class _FakeOffset_8 (line 144) | class _FakeOffset_8 extends _i1.SmartFake implements _i2.Offset {
class MockCanvas (line 157) | class MockCanvas extends _i1.Mock implements _i2.Canvas {
method save (line 163) | void save()
method saveLayer (line 172) | void saveLayer(
method restore (line 188) | void restore()
method restoreToCount (line 197) | void restoreToCount(int? count)
method getSaveCount (line 206) | int getSaveCount()
method translate (line 215) | void translate(
method scale (line 231) | void scale(
method rotate (line 247) | void rotate(double? radians)
method skew (line 256) | void skew(
method transform (line 272) | void transform(_i7.Float64List? matrix4)
method getTransform (line 281) | _i7.Float64List getTransform()
method clipRect (line 290) | void clipRect(
method clipRRect (line 308) | void clipRRect(
method clipRSuperellipse (line 322) | void clipRSuperellipse(
method clipPath (line 336) | void clipPath(
method getLocalClipBounds (line 350) | _i2.Rect getLocalClipBounds()
method getDestinationClipBounds (line 365) | _i2.Rect getDestinationClipBounds()
method drawColor (line 380) | void drawColor(
method drawLine (line 396) | void drawLine(
method drawPaint (line 414) | void drawPaint(_i2.Paint? paint)
method drawRect (line 423) | void drawRect(
method drawRRect (line 439) | void drawRRect(
method drawDRRect (line 455) | void drawDRRect(
method drawRSuperellipse (line 473) | void drawRSuperellipse(
method drawOval (line 489) | void drawOval(
method drawCircle (line 505) | void drawCircle(
method drawArc (line 523) | void drawArc(
method drawPath (line 545) | void drawPath(
method drawImage (line 561) | void drawImage(
method drawImageRect (line 579) | void drawImageRect(
method drawImageNine (line 599) | void drawImageNine(
method drawPicture (line 619) | void drawPicture(_i2.Picture? picture)
method drawParagraph (line 628) | void drawParagraph(
method drawPoints (line 644) | void drawPoints(
method drawRawPoints (line 662) | void drawRawPoints(
method drawVertices (line 680) | void drawVertices(
method drawAtlas (line 698) | void drawAtlas(
method drawRawAtlas (line 724) | void drawRawAtlas(
method drawShadow (line 750) | void drawShadow(
class MockPaintingContext (line 773) | class MockPaintingContext extends _i1.Mock implements _i3.PaintingContext {
method paintChild (line 797) | void paintChild(
method appendLayer (line 813) | void appendLayer(_i4.Layer? layer)
method addCompositionCallback (line 822) | _i2.VoidCallback addCompositionCallback(_i4.CompositionCallback? callb...
method stopRecordingIfNeeded (line 832) | void stopRecordingIfNeeded()
method setIsComplexHint (line 841) | void setIsComplexHint()
method setWillChangeHint (line 850) | void setWillChangeHint()
method addLayer (line 859) | void addLayer(_i4.Layer? layer)
method pushLayer (line 868) | void pushLayer(
method createChildContext (line 888) | _i3.PaintingContext createChildContext(
method pushClipRect (line 913) | _i4.ClipRectLayer? pushClipRect(
method pushClipRRect (line 936) | _i4.ClipRRectLayer? pushClipRRect(
method pushClipRSuperellipse (line 961) | _i4.ClipRSuperellipseLayer? pushClipRSuperellipse(
method pushClipPath (line 986) | _i4.ClipPathLayer? pushClipPath(
method pushColorFilter (line 1011) | _i4.ColorFilterLayer pushColorFilter(
method pushTransform (line 1042) | _i4.TransformLayer? pushTransform(
method pushOpacity (line 1061) | _i4.OpacityLayer pushOpacity(
method clipPathAndPaint (line 1092) | void clipPathAndPaint(
method clipRRectAndPaint (line 1112) | void clipRRectAndPaint(
method clipRSuperellipseAndPaint (line 1132) | void clipRSuperellipseAndPaint(
method clipRectAndPaint (line 1152) | void clipRectAndPaint(
class MockBuildContext (line 1175) | class MockBuildContext extends _i1.Mock implements _i6.BuildContext {
method dependOnInheritedElement (line 1202) | _i6.InheritedWidget dependOnInheritedElement(
method visitAncestorElements (line 1223) | void visitAncestorElements(_i6.ConditionalElementVisitor? visitor)
method visitChildElements (line 1233) | void visitChildElements(_i6.ElementVisitor? visitor)
method dispatchNotification (line 1242) | void dispatchNotification(_i9.Notification? notification)
method describeElement (line 1252) | _i5.DiagnosticsNode describeElement(
method describeWidget (line 1273) | _i5.DiagnosticsNode describeWidget(
method describeMissingAncestor (line 1294) | List<_i5.DiagnosticsNode> describeMissingAncestor(
method describeOwnershipChain (line 1306) | _i5.DiagnosticsNode describeOwnershipChain(String? name)
class MockBarChartPainter (line 1325) | class MockBarChartPainter extends _i1.Mock implements _i10.BarChartPaint...
method paint (line 1331) | void paint(
method calculateGroupAndBarsPosition (line 1349) | List<_i10.GroupBarsPosition> calculateGroupAndBarsPosition(
method drawBars (line 1367) | void drawBars(
method drawErrorIndicatorData (line 1385) | void drawErrorIndicatorData(
method drawTouchTooltip (line 1403) | void drawTouchTooltip(
method drawStackItemBorderStroke (line 1433) | void drawStackItemBorderStroke(
method handleTouch (line 1461) | _i13.BarTouchedSpot? handleTouch(
method drawGrid (line 1476) | void drawGrid(
method drawBackground (line 1492) | void drawBackground(
method drawRangeAnnotation (line 1508) | void drawRangeAnnotation(
method drawExtraLines (line 1524) | void drawExtraLines(
method drawHorizontalLines (line 1542) | void drawHorizontalLines(
method drawVerticalLines (line 1562) | void drawVerticalLines(
method getPixelX (line 1582) | double getPixelX(
method getPixelY (line 1600) | double getPixelY(
method getXForPixel (line 1618) | double getXForPixel(
method getYForPixel (line 1636) | double getYForPixel(
method getChartCoordinateFromPixel (line 1654) | _i2.Offset getChartCoordinateFromPixel(
method getTooltipLeft (line 1682) | double getTooltipLeft(
FILE: test/chart/bar_chart/bar_chart_test.dart
function main (line 11) | void main()
function createTestWidget (line 12) | Widget createTestWidget({
FILE: test/chart/base/axis_chart/axis_chart_data_test.dart
function main (line 10) | void main()
FILE: test/chart/base/axis_chart/axis_chart_data_test.mocks.dart
class _FakeRect_0 (line 26) | class _FakeRect_0 extends _i1.SmartFake implements _i2.Rect {
class MockCanvas (line 39) | class MockCanvas extends _i1.Mock implements _i2.Canvas {
method save (line 45) | void save()
method saveLayer (line 54) | void saveLayer(
method restore (line 70) | void restore()
method restoreToCount (line 79) | void restoreToCount(int? count)
method getSaveCount (line 88) | int getSaveCount()
method translate (line 97) | void translate(
method scale (line 113) | void scale(
method rotate (line 129) | void rotate(double? radians)
method skew (line 138) | void skew(
method transform (line 154) | void transform(_i3.Float64List? matrix4)
method getTransform (line 163) | _i3.Float64List getTransform()
method clipRect (line 172) | void clipRect(
method clipRRect (line 190) | void clipRRect(
method clipRSuperellipse (line 204) | void clipRSuperellipse(
method clipPath (line 218) | void clipPath(
method getLocalClipBounds (line 232) | _i2.Rect getLocalClipBounds()
method getDestinationClipBounds (line 247) | _i2.Rect getDestinationClipBounds()
method drawColor (line 262) | void drawColor(
method drawLine (line 278) | void drawLine(
method drawPaint (line 296) | void drawPaint(_i2.Paint? paint)
method drawRect (line 305) | void drawRect(
method drawRRect (line 321) | void drawRRect(
method drawDRRect (line 337) | void drawDRRect(
method drawRSuperellipse (line 355) | void drawRSuperellipse(
method drawOval (line 371) | void drawOval(
method drawCircle (line 387) | void drawCircle(
method drawArc (line 405) | void drawArc(
method drawPath (line 427) | void drawPath(
method drawImage (line 443) | void drawImage(
method drawImageRect (line 461) | void drawImageRect(
method drawImageNine (line 481) | void drawImageNine(
method drawPicture (line 501) | void drawPicture(_i2.Picture? picture)
method drawParagraph (line 510) | void drawParagraph(
method drawPoints (line 526) | void drawPoints(
method drawRawPoints (line 544) | void drawRawPoints(
method drawVertices (line 562) | void drawVertices(
method drawAtlas (line 580) | void drawAtlas(
method drawRawAtlas (line 606) | void drawRawAtlas(
method drawShadow (line 632) | void drawShadow(
FILE: test/chart/base/axis_chart/axis_chart_extensions_test.dart
function main (line 7) | void main()
FILE: test/chart/base/axis_chart/axis_chart_helper_test.dart
function main (line 5) | void main()
FILE: test/chart/base/axis_chart/axis_chart_scaffold_widget_test.dart
function main (line 10) | void main()
function checkSide (line 229) | Future<void> checkSide(AxisSide side)
function pumpTestWidget (line 483) | Future<void> pumpTestWidget(AxisChartScaffoldWidget widget)
function createTestWidget (line 1294) | Widget createTestWidget({
function getTransformationController (line 1317) | TransformationController? getTransformationController(
FILE: test/chart/base/axis_chart/axis_chart_widgets_test.dart
function main (line 5) | void main()
function getTitleMeta (line 6) | TitleMeta getTitleMeta(AxisSide axisSide)
FILE: test/chart/base/axis_chart/base_chart_data_test.dart
function main (line 6) | void main()
FILE: test/chart/base/axis_chart/side_titles/side_titles_flex_test.dart
function main (line 7) | void main()
function oneToNineWidgetHolders (line 235) | List<AxisSideTitleWidgetHolder> oneToNineWidgetHolders(double viewSize)
function oneToNineSideTitleMetaData (line 246) | List<AxisSideTitleMetaData> oneToNineSideTitleMetaData(double viewSize)
FILE: test/chart/base/axis_chart/side_titles/side_titles_test.dart
function main (line 5) | void main()
FILE: test/chart/base/axis_chart/side_titles/side_titles_widget_test.dart
function main (line 7) | void main()
function createBarChartDataWithOnlyRightTitles (line 150) | BarChartData createBarChartDataWithOnlyRightTitles()
function createBarChartDataWithEmptyGroups (line 201) | BarChartData createBarChartDataWithEmptyGroups()
function checkSide (line 260) | Future<void> checkSide(AxisSide side)
FILE: test/chart/base/axis_chart/transformation_config_test.dart
function main (line 5) | void main()
FILE: test/chart/base/line_test.dart
function main (line 5) | void main()
FILE: test/chart/base/render_base_chart_test.dart
function main (line 20) | void main()
function touchCallback (line 27) | void touchCallback(_, __)
function callback (line 115) | void callback(FlTouchEvent event, LineTouchResponse? response)
class TestRenderBaseChart (line 149) | class TestRenderBaseChart extends RenderBaseChart<LineTouchResponse> {
method initGestureRecognizers (line 164) | void initGestureRecognizers()
method getResponseAtLocation (line 172) | LineTouchResponse getResponseAtLocation(Offset localPosition)
class TestTouchData (line 181) | class TestTouchData extends FlTouchData<LineTouchResponse> {
FILE: test/chart/base/render_base_chart_test.mocks.dart
class _FakeWidget_0 (line 37) | class _FakeWidget_0 extends _i1.SmartFake implements _i2.Widget {
method toString (line 47) | String toString({_i3.DiagnosticLevel? minLevel = _i3.DiagnosticLevel.i...
class _FakeInheritedWidget_1 (line 51) | class _FakeInheritedWidget_1 extends _i1.SmartFake
method toString (line 62) | String toString({_i3.DiagnosticLevel? minLevel = _i3.DiagnosticLevel.i...
class _FakeDiagnosticsNode_2 (line 66) | class _FakeDiagnosticsNode_2 extends _i1.SmartFake
method toString (line 77) | String toString({
class _FakeVelocityTracker_3 (line 84) | class _FakeVelocityTracker_3 extends _i1.SmartFake
class _FakeOffsetPair_4 (line 95) | class _FakeOffsetPair_4 extends _i1.SmartFake implements _i5.OffsetPair {
class MockBuildContext (line 108) | class MockBuildContext extends _i1.Mock implements _i2.BuildContext {
method dependOnInheritedElement (line 135) | _i2.InheritedWidget dependOnInheritedElement(
method visitAncestorElements (line 156) | void visitAncestorElements(_i2.ConditionalElementVisitor? visitor)
method visitChildElements (line 166) | void visitChildElements(_i2.ElementVisitor? visitor)
method dispatchNotification (line 175) | void dispatchNotification(_i6.Notification? notification)
method describeElement (line 185) | _i3.DiagnosticsNode describeElement(
method describeWidget (line 206) | _i3.DiagnosticsNode describeWidget(
method describeMissingAncestor (line 227) | List<_i3.DiagnosticsNode> describeMissingAncestor(
method describeOwnershipChain (line 239) | _i3.DiagnosticsNode describeOwnershipChain(String? name)
class MockPanGestureRecognizer (line 258) | class MockPanGestureRecognizer extends _i1.Mock
method isFlingGesture (line 461) | bool isFlingGesture(
method considerFling (line 477) | _i10.DragEndDetails? considerFling(
method hasSufficientGlobalDistanceToAccept (line 490) | bool hasSufficientGlobalDistanceToAccept(
method isPointerAllowed (line 506) | bool isPointerAllowed(_i9.PointerEvent? event)
method addAllowedPointer (line 515) | void addAllowedPointer(_i9.PointerDownEvent? event)
method addAllowedPointerPanZoom (line 524) | void addAllowedPointerPanZoom(_i11.PointerPanZoomStartEvent? event)
method handleEvent (line 534) | void handleEvent(_i9.PointerEvent? event)
method acceptGesture (line 543) | void acceptGesture(int? pointer)
method rejectGesture (line 552) | void rejectGesture(int? pointer)
method didStopTrackingLastPointer (line 561) | void didStopTrackingLastPointer(int? pointer)
method dispose (line 570) | void dispose()
method debugFillProperties (line 579) | void debugFillProperties(_i3.DiagnosticPropertiesBuilder? properties)
method handleNonAllowedPointer (line 589) | void handleNonAllowedPointer(_i9.PointerDownEvent? event)
method resolve (line 599) | void resolve(_i5.GestureDisposition? disposition)
method resolvePointer (line 608) | void resolvePointer(
method startTrackingPointer (line 624) | void startTrackingPointer(
method stopTrackingPointer (line 640) | void stopTrackingPointer(int? pointer)
method stopTrackingIfPointerNoLongerDown (line 649) | void stopTrackingIfPointerNoLongerDown(_i9.PointerEvent? event)
method addPointerPanZoom (line 659) | void addPointerPanZoom(_i11.PointerPanZoomStartEvent? event)
method addPointer (line 669) | void addPointer(_i9.PointerDownEvent? event)
method handleNonAllowedPointerPanZoom (line 678) | void handleNonAllowedPointerPanZoom(_i11.PointerPanZoomStartEvent? event)
method isPointerPanZoomAllowed (line 688) | bool isPointerPanZoomAllowed(_i11.PointerPanZoomStartEvent? event)
method getKindForPointer (line 698) | _i12.PointerDeviceKind getKindForPointer(int? pointer)
method invokeCallback (line 707) | T? invokeCallback<T>(
method toString (line 722) | String toString({_i3.DiagnosticLevel? minLevel = _i3.DiagnosticLevel.i...
method toStringShallow (line 726) | String toStringShallow({
method toStringDeep (line 753) | String toStringDeep({
method toStringShort (line 786) | String toStringShort()
method toDiagnosticsNode (line 801) | _i3.DiagnosticsNode toDiagnosticsNode({
method debugDescribeChildren (line 828) | List<_i3.DiagnosticsNode> debugDescribeChildren()
class MockTapGestureRecognizer (line 840) | class MockTapGestureRecognizer extends _i1.Mock
method isPointerAllowed (line 1008) | bool isPointerAllowed(_i9.PointerDownEvent? event)
method handleTapDown (line 1017) | void handleTapDown({required _i9.PointerDownEvent? down})
method handleTapUp (line 1028) | void handleTapUp({
method handleTapMove (line 1045) | void handleTapMove({required _i9.PointerMoveEvent? move})
method handleTapCancel (line 1056) | void handleTapCancel({
method addAllowedPointer (line 1075) | void addAllowedPointer(_i9.PointerDownEvent? event)
method startTrackingPointer (line 1084) | void startTrackingPointer(
method handlePrimaryPointer (line 1100) | void handlePrimaryPointer(_i9.PointerEvent? event)
method resolve (line 1109) | void resolve(_i5.GestureDisposition? disposition)
method didExceedDeadline (line 1118) | void didExceedDeadline()
method acceptGesture (line 1127) | void acceptGesture(int? pointer)
method rejectGesture (line 1136) | void rejectGesture(int? pointer)
method debugFillProperties (line 1145) | void debugFillProperties(_i3.DiagnosticPropertiesBuilder? properties)
method handleNonAllowedPointer (line 1155) | void handleNonAllowedPointer(_i9.PointerDownEvent? event)
method handleEvent (line 1165) | void handleEvent(_i9.PointerEvent? event)
method didExceedDeadlineWithEvent (line 1174) | void didExceedDeadlineWithEvent(_i9.PointerDownEvent? event)
method didStopTrackingLastPointer (line 1184) | void didStopTrackingLastPointer(int? pointer)
method dispose (line 1193) | void dispose()
method resolvePointer (line 1202) | void resolvePointer(
method stopTrackingPointer (line 1218) | void stopTrackingPointer(int? pointer)
method stopTrackingIfPointerNoLongerDown (line 1227) | void stopTrackingIfPointerNoLongerDown(_i9.PointerEvent? event)
method addPointerPanZoom (line 1237) | void addPointerPanZoom(_i11.PointerPanZoomStartEvent? event)
method addAllowedPointerPanZoom (line 1247) | void addAllowedPointerPanZoom(_i11.PointerPanZoomStartEvent? event)
method addPointer (line 1257) | void addPointer(_i9.PointerDownEvent? event)
method handleNonAllowedPointerPanZoom (line 1266) | void handleNonAllowedPointerPanZoom(_i11.PointerPanZoomStartEvent? event)
method isPointerPanZoomAllowed (line 1276) | bool isPointerPanZoomAllowed(_i11.PointerPanZoomStartEvent? event)
method getKindForPointer (line 1286) | _i12.PointerDeviceKind getKindForPointer(int? pointer)
method invokeCallback (line 1295) | T? invokeCallback<T>(
method toString (line 1310) | String toString({_i3.DiagnosticLevel? minLevel = _i3.DiagnosticLevel.i...
method toStringShallow (line 1314) | String toStringShallow({
method toStringDeep (line 1341) | String toStringDeep({
method toStringShort (line 1374) | String toStringShort()
method toDiagnosticsNode (line 1389) | _i3.DiagnosticsNode toDiagnosticsNode({
method debugDescribeChildren (line 1416) | List<_i3.DiagnosticsNode> debugDescribeChildren()
class MockLongPressGestureRecognizer (line 1428) | class MockLongPressGestureRecognizer extends _i1.Mock
method isPointerAllowed (line 1695) | bool isPointerAllowed(_i9.PointerDownEvent? event)
method didExceedDeadline (line 1704) | void didExceedDeadline()
method handlePrimaryPointer (line 1713) | void handlePrimaryPointer(_i9.PointerEvent? event)
method resolve (line 1722) | void resolve(_i5.GestureDisposition? disposition)
method acceptGesture (line 1731) | void acceptGesture(int? pointer)
method addAllowedPointer (line 1740) | void addAllowedPointer(_i9.PointerDownEvent? event)
method handleNonAllowedPointer (line 1749) | void handleNonAllowedPointer(_i9.PointerDownEvent? event)
method handleEvent (line 1759) | void handleEvent(_i9.PointerEvent? event)
method didExceedDeadlineWithEvent (line 1768) | void didExceedDeadlineWithEvent(_i9.PointerDownEvent? event)
method rejectGesture (line 1778) | void rejectGesture(int? pointer)
method didStopTrackingLastPointer (line 1787) | void didStopTrackingLastPointer(int? pointer)
method dispose (line 1796) | void dispose()
method debugFillProperties (line 1805) | void debugFillProperties(_i3.DiagnosticPropertiesBuilder? properties)
method resolvePointer (line 1815) | void resolvePointer(
method startTrackingPointer (line 1831) | void startTrackingPointer(
method stopTrackingPointer (line 1847) | void stopTrackingPointer(int? pointer)
method stopTrackingIfPointerNoLongerDown (line 1856) | void stopTrackingIfPointerNoLongerDown(_i9.PointerEvent? event)
method addPointerPanZoom (line 1866) | void addPointerPanZoom(_i11.PointerPanZoomStartEvent? event)
method addAllowedPointerPanZoom (line 1876) | void addAllowedPointerPanZoom(_i11.PointerPanZoomStartEvent? event)
method addPointer (line 1886) | void addPointer(_i9.PointerDownEvent? event)
method handleNonAllowedPointerPanZoom (line 1895) | void handleNonAllowedPointerPanZoom(_i11.PointerPanZoomStartEvent? event)
method isPointerPanZoomAllowed (line 1905) | bool isPointerPanZoomAllowed(_i11.PointerPanZoomStartEvent? event)
method getKindForPointer (line 1915) | _i12.PointerDeviceKind getKindForPointer(int? pointer)
method invokeCallback (line 1924) | T? invokeCallback<T>(
method toString (line 1939) | String toString({_i3.DiagnosticLevel? minLevel = _i3.DiagnosticLevel.i...
method toStringShallow (line 1943) | String toStringShallow({
method toStringDeep (line 1970) | String toStringDeep({
method toStringShort (line 2003) | String toStringShort()
method toDiagnosticsNode (line 2018) | _i3.DiagnosticsNode toDiagnosticsNode({
method debugDescribeChildren (line 2045) | List<_i3.DiagnosticsNode> debugDescribeChildren()
FILE: test/chart/candlestick_chart/candlestick_chart_data_test.dart
function main (line 7) | void main()
FILE: test/chart/candlestick_chart/candlestick_chart_helper_test.dart
function main (line 7) | void main()
FILE: test/chart/candlestick_chart/candlestick_chart_painter_test.dart
function main (line 17) | void main()
FILE: test/chart/candlestick_chart/candlestick_chart_painter_test.mocks.dart
class _FakeRect_0 (line 32) | class _FakeRect_0 extends _i1.SmartFake implements _i2.Rect {
class _FakeCanvas_1 (line 42) | class _FakeCanvas_1 extends _i1.SmartFake implements _i2.Canvas {
class _FakeSize_2 (line 52) | class _FakeSize_2 extends _i1.SmartFake implements _i2.Size {
class _FakeWidget_3 (line 62) | class _FakeWidget_3 extends _i1.SmartFake implements _i3.Widget {
method toString (line 72) | String toString({_i3.DiagnosticLevel? minLevel = _i3.DiagnosticLevel.i...
class _FakeInheritedWidget_4 (line 76) | class _FakeInheritedWidget_4 extends _i1.SmartFake
method toString (line 87) | String toString({_i3.DiagnosticLevel? minLevel = _i3.DiagnosticLevel.i...
class _FakeDiagnosticsNode_5 (line 91) | class _FakeDiagnosticsNode_5 extends _i1.SmartFake
method toString (line 102) | String toString({
class _FakeOffset_6 (line 109) | class _FakeOffset_6 extends _i1.SmartFake implements _i2.Offset {
class _FakeBorderSide_7 (line 119) | class _FakeBorderSide_7 extends _i1.SmartFake implements _i3.BorderSide {
method toString (line 129) | String toString({_i3.DiagnosticLevel? minLevel = _i3.DiagnosticLevel.i...
class _FakeTextStyle_8 (line 133) | class _FakeTextStyle_8 extends _i1.SmartFake implements _i3.TextStyle {
method toString (line 143) | String toString({_i3.DiagnosticLevel? minLevel = _i3.DiagnosticLevel.i...
class MockCanvas (line 150) | class MockCanvas extends _i1.Mock implements _i2.Canvas {
method save (line 156) | void save()
method saveLayer (line 165) | void saveLayer(
method restore (line 181) | void restore()
method restoreToCount (line 190) | void restoreToCount(int? count)
method getSaveCount (line 199) | int getSaveCount()
method translate (line 208) | void translate(
method scale (line 224) | void scale(
method rotate (line 240) | void rotate(double? radians)
method skew (line 249) | void skew(
method transform (line 265) | void transform(_i5.Float64List? matrix4)
method getTransform (line 274) | _i5.Float64List getTransform()
method clipRect (line 283) | void clipRect(
method clipRRect (line 301) | void clipRRect(
method clipRSuperellipse (line 315) | void clipRSuperellipse(
method clipPath (line 329) | void clipPath(
method getLocalClipBounds (line 343) | _i2.Rect getLocalClipBounds()
method getDestinationClipBounds (line 358) | _i2.Rect getDestinationClipBounds()
method drawColor (line 373) | void drawColor(
method drawLine (line 389) | void drawLine(
method drawPaint (line 407) | void drawPaint(_i2.Paint? paint)
method drawRect (line 416) | void drawRect(
method drawRRect (line 432) | void drawRRect(
method drawDRRect (line 448) | void drawDRRect(
method drawRSuperellipse (line 466) | void drawRSuperellipse(
method drawOval (line 482) | void drawOval(
method drawCircle (line 498) | void drawCircle(
method drawArc (line 516) | void drawArc(
method drawPath (line 538) | void drawPath(
method drawImage (line 554) | void drawImage(
method drawImageRect (line 572) | void drawImageRect(
method drawImageNine (line 592) | void drawImageNine(
method drawPicture (line 612) | void drawPicture(_i2.Picture? picture)
method drawParagraph (line 621) | void drawParagraph(
method drawPoints (line 637) | void drawPoints(
method drawRawPoints (line 655) | void drawRawPoints(
method drawVertices (line 673) | void drawVertices(
method drawAtlas (line 691) | void drawAtlas(
method drawRawAtlas (line 717) | void drawRawAtlas(
method drawShadow (line 743) | void drawShadow(
class MockCanvasWrapper (line 766) | class MockCanvasWrapper extends _i1.Mock implements _i6.CanvasWrapper {
method drawRRect (line 790) | void drawRRect(
method save (line 806) | void save()
method restore (line 815) | void restore()
method clipRect (line 824) | void clipRect(
method translate (line 842) | void translate(
method rotate (line 858) | void rotate(double? radius)
method drawPath (line 867) | void drawPath(
method saveLayer (line 883) | void saveLayer(
method drawPicture (line 899) | void drawPicture(_i2.Picture? picture)
method drawImage (line 908) | void drawImage(
method clipPath (line 926) | void clipPath(
method drawRect (line 940) | void drawRect(
method drawLine (line 956) | void drawLine(
method drawCircle (line 974) | void drawCircle(
method drawArc (line 992) | void drawArc(
method drawText (line 1014) | void drawText(
method drawVerticalText (line 1032) | void drawVerticalText(
method drawDot (line 1050) | void drawDot(
method drawErrorIndicator (line 1068) | void drawErrorIndicator(
method drawRotated (line 1090) | void drawRotated({
method drawDashedLine (line 1113) | void drawDashedLine(
class MockBuildContext (line 1136) | class MockBuildContext extends _i1.Mock implements _i3.BuildContext {
method dependOnInheritedElement (line 1163) | _i3.InheritedWidget dependOnInheritedElement(
method visitAncestorElements (line 1184) | void visitAncestorElements(_i3.ConditionalElementVisitor? visitor)
method visitChildElements (line 1194) | void visitChildElements(_i3.ElementVisitor? visitor)
method dispatchNotification (line 1203) | void dispatchNotification(_i3.Notification? notification)
method describeElement (line 1213) | _i3.DiagnosticsNode describeElement(
method describeWidget (line 1234) | _i3.DiagnosticsNode describeWidget(
method describeMissingAncestor (line 1255) | List<_i3.DiagnosticsNode> describeMissingAncestor(
method describeOwnershipChain (line 1267) | _i3.DiagnosticsNode describeOwnershipChain(String? name)
class MockUtils (line 1286) | class MockUtils extends _i1.Mock implements _i8.Utils {
method radians (line 1292) | double radians(double? degrees)
method degrees (line 1301) | double degrees(double? radians)
method translateRotatedPosition (line 1310) | double translateRotatedPosition(
method calculateRotationOffset (line 1326) | _i2.Offset calculateRotationOffset(
method normalizeBorderRadius (line 1351) | _i3.BorderRadius? normalizeBorderRadius(
method normalizeBorderSide (line 1364) | _i3.BorderSide normalizeBorderSide(
method getEfficientInterval (line 1389) | double getEfficientInterval(
method roundInterval (line 1407) | double roundInterval(double? input)
method getFractionDigits (line 1416) | int getFractionDigits(double? value)
method formatNumber (line 1425) | String formatNumber(
method getThemeAwareTextStyle (line 1453) | _i3.TextStyle getThemeAwareTextStyle(
method getBestInitialIntervalValue (line 1478) | double getBestInitialIntervalValue(
method convertRadiusToSigma (line 1498) | double convertRadiusToSigma(double? radius)
FILE: test/chart/candlestick_chart/candlestick_chart_renderer_test.dart
function main (line 15) | void main()
FILE: test/chart/candlestick_chart/candlestick_chart_renderer_test.mocks.dart
class _FakeRect_0 (line 38) | class _FakeRect_0 extends _i1.SmartFake implements _i2.Rect {
class _FakeCanvas_1 (line 48) | class _FakeCanvas_1 extends _i1.SmartFake implements _i2.Canvas {
class _FakePaintingContext_2 (line 58) | class _FakePaintingContext_2 extends _i1.SmartFake
class _FakeColorFilterLayer_3 (line 69) | class _FakeColorFilterLayer_3 extends _i1.SmartFake
method toString (line 80) | String toString({_i5.DiagnosticLevel? minLevel = _i5.DiagnosticLevel.i...
class _FakeOpacityLayer_4 (line 84) | class _FakeOpacityLayer_4 extends _i1.SmartFake implements _i4.OpacityLa...
method toString (line 94) | String toString({_i5.DiagnosticLevel? minLevel = _i5.DiagnosticLevel.i...
class _FakeWidget_5 (line 98) | class _FakeWidget_5 extends _i1.SmartFake implements _i6.Widget {
method toString (line 108) | String toString({_i5.DiagnosticLevel? minLevel = _i5.DiagnosticLevel.i...
class _FakeInheritedWidget_6 (line 112) | class _FakeInheritedWidget_6 extends _i1.SmartFake
method toString (line 123) | String toString({_i5.DiagnosticLevel? minLevel = _i5.DiagnosticLevel.i...
class _FakeDiagnosticsNode_7 (line 127) | class _FakeDiagnosticsNode_7 extends _i1.SmartFake
method toString (line 138) | String toString({
class _FakeOffset_8 (line 145) | class _FakeOffset_8 extends _i1.SmartFake implements _i2.Offset {
class MockCanvas (line 158) | class MockCanvas extends _i1.Mock implements _i2.Canvas {
method save (line 164) | void save()
method saveLayer (line 173) | void saveLayer(
method restore (line 189) | void restore()
method restoreToCount (line 198) | void restoreToCount(int? count)
method getSaveCount (line 207) | int getSaveCount()
method translate (line 216) | void translate(
method scale (line 232) | void scale(
method rotate (line 248) | void rotate(double? radians)
method skew (line 257) | void skew(
method transform (line 273) | void transform(_i7.Float64List? matrix4)
method getTransform (line 282) | _i7.Float64List getTransform()
method clipRect (line 291) | void clipRect(
method clipRRect (line 309) | void clipRRect(
method clipRSuperellipse (line 323) | void clipRSuperellipse(
method clipPath (line 337) | void clipPath(
method getLocalClipBounds (line 351) | _i2.Rect getLocalClipBounds()
method getDestinationClipBounds (line 366) | _i2.Rect getDestinationClipBounds()
method drawColor (line 381) | void drawColor(
method drawLine (line 397) | void drawLine(
method drawPaint (line 415) | void drawPaint(_i2.Paint? paint)
method drawRect (line 424) | void drawRect(
method drawRRect (line 440) | void drawRRect(
method drawDRRect (line 456) | void drawDRRect(
method drawRSuperellipse (line 474) | void drawRSuperellipse(
method drawOval (line 490) | void drawOval(
method drawCircle (line 506) | void drawCircle(
method drawArc (line 524) | void drawArc(
method drawPath (line 546) | void drawPath(
method drawImage (line 562) | void drawImage(
method drawImageRect (line 580) | void drawImageRect(
method drawImageNine (line 600) | void drawImageNine(
method drawPicture (line 620) | void drawPicture(_i2.Picture? picture)
method drawParagraph (line 629) | void drawParagraph(
method drawPoints (line 645) | void drawPoints(
method drawRawPoints (line 663) | void drawRawPoints(
method drawVertices (line 681) | void drawVertices(
method drawAtlas (line 699) | void drawAtlas(
method drawRawAtlas (line 725) | void drawRawAtlas(
method drawShadow (line 751) | void drawShadow(
class MockPaintingContext (line 774) | class MockPaintingContext extends _i1.Mock implements _i3.PaintingContext {
method paintChild (line 798) | void paintChild(
method appendLayer (line 814) | void appendLayer(_i4.Layer? layer)
method addCompositionCallback (line 823) | _i2.VoidCallback addCompositionCallback(_i4.CompositionCallback? callb...
method stopRecordingIfNeeded (line 833) | void stopRecordingIfNeeded()
method setIsComplexHint (line 842) | void setIsComplexHint()
method setWillChangeHint (line 851) | void setWillChangeHint()
method addLayer (line 860) | void addLayer(_i4.Layer? layer)
method pushLayer (line 869) | void pushLayer(
method createChildContext (line 889) | _i3.PaintingContext createChildContext(
method pushClipRect (line 914) | _i4.ClipRectLayer? pushClipRect(
method pushClipRRect (line 937) | _i4.ClipRRectLayer? pushClipRRect(
method pushClipRSuperellipse (line 962) | _i4.ClipRSuperellipseLayer? pushClipRSuperellipse(
method pushClipPath (line 987) | _i4.ClipPathLayer? pushClipPath(
method pushColorFilter (line 1012) | _i4.ColorFilterLayer pushColorFilter(
method pushTransform (line 1043) | _i4.TransformLayer? pushTransform(
method pushOpacity (line 1062) | _i4.OpacityLayer pushOpacity(
method clipPathAndPaint (line 1093) | void clipPathAndPaint(
method clipRRectAndPaint (line 1113) | void clipRRectAndPaint(
method clipRSuperellipseAndPaint (line 1133) | void clipRSuperellipseAndPaint(
method clipRectAndPaint (line 1153) | void clipRectAndPaint(
class MockBuildContext (line 1176) | class MockBuildContext extends _i1.Mock implements _i6.BuildContext {
method dependOnInheritedElement (line 1203) | _i6.InheritedWidget dependOnInheritedElement(
method visitAncestorElements (line 1224) | void visitAncestorElements(_i6.ConditionalElementVisitor? visitor)
method visitChildElements (line 1234) | void visitChildElements(_i6.ElementVisitor? visitor)
method dispatchNotification (line 1243) | void dispatchNotification(_i9.Notification? notification)
method describeElement (line 1253) | _i5.DiagnosticsNode describeElement(
method describeWidget (line 1274) | _i5.DiagnosticsNode describeWidget(
method describeMissingAncestor (line 1295) | List<_i5.DiagnosticsNode> describeMissingAncestor(
method describeOwnershipChain (line 1307) | _i5.DiagnosticsNode describeOwnershipChain(String? name)
class MockCandlestickChartPainter (line 1326) | class MockCandlestickChartPainter extends _i1.Mock
method paint (line 1333) | void paint(
method drawCandlesticks (line 1351) | void drawCandlesticks(
method drawTouchTooltips (line 1369) | void drawTouchTooltips(
method drawTouchTooltip (line 1387) | void drawTouchTooltip(
method drawAxisSpotIndicator (line 1411) | void drawAxisSpotIndicator(
method handleTouch (line 1429) | _i13.CandlestickTouchedSpot? handleTouch(
method drawGrid (line 1444) | void drawGrid(
method drawBackground (line 1460) | void drawBackground(
method drawRangeAnnotation (line 1476) | void drawRangeAnnotation(
method drawExtraLines (line 1492) | void drawExtraLines(
method drawHorizontalLines (line 1510) | void drawHorizontalLines(
method drawVerticalLines (line 1530) | void drawVerticalLines(
method getPixelX (line 1550) | double getPixelX(
method getPixelY (line 1568) | double getPixelY(
method getXForPixel (line 1586) | double getXForPixel(
method getYForPixel (line 1604) | double getYForPixel(
method getChartCoordinateFromPixel (line 1622) | _i2.Offset getChartCoordinateFromPixel(
method getTooltipLeft (line 1650) | double getTooltipLeft(
FILE: test/chart/candlestick_chart/candlestick_chart_test.dart
function main (line 11) | void main()
function createTestWidget (line 12) | Widget createTestWidget({
FILE: test/chart/data_pool.dart
class MockData (line 7) | class MockData {
method picture1 (line 114) | Picture picture1()
method image1 (line 126) | Image image1()
function checkToShowLine (line 574) | bool checkToShowLine(double value)
function getDrawingLine (line 576) | FlLine getDrawingLine(double value)
function getTitles (line 588) | Widget getTitles(double value, TitleMeta meta)
function getTextStyles (line 590) | TextStyle getTextStyles(BuildContext context, double value)
function checkToShowSpotLine (line 648) | bool checkToShowSpotLine(FlSpot spot)
function checkToShowDot (line 716) | bool checkToShowDot(FlSpot spot, LineChartBarData barData)
function getDotDrawer (line 718) | FlDotCirclePainter getDotDrawer(
function getDotDrawer5 (line 726) | FlDotCirclePainter getDotDrawer5(
function getDotDrawer6 (line 734) | FlDotCirclePainter getDotDrawer6(
function getDotDrawerTouched (line 742) | FlDotCirclePainter getDotDrawerTouched(
function getDotDrawerTouched4 (line 750) | FlDotCirclePainter getDotDrawerTouched4(
function getDotDrawerTouched6 (line 758) | FlDotCirclePainter getDotDrawerTouched6(
function lineChartGetTooltipItems (line 1213) | List<LineTooltipItem?> lineChartGetTooltipItems(List<LineBarSpot> list)
function lineChartGetGreenColor (line 1217) | Color lineChartGetGreenColor(LineBarSpot touchedSpot)
function lineChartGetRedColor (line 1221) | Color lineChartGetRedColor(LineBarSpot touchedSpot)
function lineTouchCallback (line 1314) | void lineTouchCallback(FlTouchEvent event, LineTouchResponse? response)
function getTouchedSpotIndicator (line 1316) | List<TouchedSpotIndicatorData?> getTouchedSpotIndicator(
function horizontalLabelResolver (line 1385) | String horizontalLabelResolver(HorizontalLine horizontalLine)
function verticalLabelResolver (line 1387) | String verticalLabelResolver(VerticalLine horizontalLine)
function gridCheckToShowLine (line 2288) | bool gridCheckToShowLine(double value)
function gridGetDrawingLine (line 2290) | FlLine gridGetDrawingLine(double value)
function scatterChartGetTooltipItems (line 2292) | ScatterTooltipItem? scatterChartGetTooltipItems(ScatterSpot spots)
function scatterChartGetTooltipGreenColor (line 2300) | Color scatterChartGetTooltipGreenColor(ScatterSpot spots)
function scatterChartGetTooltipRedColor (line 2304) | Color scatterChartGetTooltipRedColor(ScatterSpot spots)
function getLabel (line 2315) | String getLabel(int spotIndex, ScatterSpot spot)
function getLabelTextStyle (line 2317) | TextStyle getLabelTextStyle(int spotIndex, ScatterSpot spot)
function getTooltipItem (line 2843) | BarTooltipItem getTooltipItem(
function getTooltipGreenColor (line 2857) | Color getTooltipGreenColor(
function getTooltipBlueColor (line 2863) | Color getTooltipBlueColor(
function barTouchCallback (line 3009) | void barTouchCallback(FlTouchEvent event, BarTouchResponse? response)
function scatterTouchCallback (line 3011) | void scatterTouchCallback(FlTouchEvent event, ScatterTouchResponse? resp...
function radarTouchCallback (line 3217) | void radarTouchCallback(FlTouchEvent event, RadarTouchResponse? response)
function candlestickChartGetTooltipRedColor (line 3435) | Color candlestickChartGetTooltipRedColor(CandlestickSpot spots)
function candlestickChartGetTooltipGreenColor (line 3437) | Color candlestickChartGetTooltipGreenColor(CandlestickSpot spots)
function candlestickChartGetTooltipItems (line 3440) | CandlestickTooltipItem? candlestickChartGetTooltipItems(
FILE: test/chart/line_chart/line_chart_data_test.dart
function main (line 6) | void main()
FILE: test/chart/line_chart/line_chart_helper_test.dart
function main (line 7) | void main()
FILE: test/chart/line_chart/line_chart_painter_test.dart
function main (line 22) | void main()
function getDrawingInfo (line 982) | List<LineIndexDrawingInfo> getDrawingInfo(LineChartData data)
function horizontalLabelResolver (line 2635) | String horizontalLabelResolver(HorizontalLine line)
function verticalLabelResolver (line 2639) | String verticalLabelResolver(VerticalLine line)
FILE: test/chart/line_chart/line_chart_painter_test.mocks.dart
class _FakeRect_0 (line 35) | class _FakeRect_0 extends _i1.SmartFake implements _i2.Rect {
class _FakeCanvas_1 (line 45) | class _FakeCanvas_1 extends _i1.SmartFake implements _i2.Canvas {
class _FakeSize_2 (line 55) | class _FakeSize_2 extends _i1.SmartFake implements _i2.Size {
class _FakeWidget_3 (line 65) | class _FakeWidget_3 extends _i1.SmartFake implements _i3.Widget {
method toString (line 75) | String toString({_i3.DiagnosticLevel? minLevel = _i3.DiagnosticLevel.i...
class _FakeInheritedWidget_4 (line 79) | class _FakeInheritedWidget_4 extends _i1.SmartFake
method toString (line 90) | String toString({_i3.DiagnosticLevel? minLevel = _i3.DiagnosticLevel.i...
class _FakeDiagnosticsNode_5 (line 94) | class _FakeDiagnosticsNode_5 extends _i1.SmartFake
method toString (line 105) | String toString({
class _FakeOffset_6 (line 112) | class _FakeOffset_6 extends _i1.SmartFake implements _i2.Offset {
class _FakeBorderSide_7 (line 122) | class _FakeBorderSide_7 extends _i1.SmartFake implements _i3.BorderSide {
method toString (line 132) | String toString({_i3.DiagnosticLevel? minLevel = _i3.DiagnosticLevel.i...
class _FakeTextStyle_8 (line 136) | class _FakeTextStyle_8 extends _i1.SmartFake implements _i3.TextStyle {
method toString (line 146) | String toString({_i3.DiagnosticLevel? minLevel = _i3.DiagnosticLevel.i...
class _FakePath_9 (line 150) | class _FakePath_9 extends _i1.SmartFake implements _i2.Path {
class _FakeAlignmentGeometry_10 (line 160) | class _FakeAlignmentGeometry_10 extends _i1.SmartFake
class _FakeLinearGradient_11 (line 171) | class _FakeLinearGradient_11 extends _i1.SmartFake
class MockCanvas (line 185) | class MockCanvas extends _i1.Mock implements _i2.Canvas {
method save (line 191) | void save()
method saveLayer (line 200) | void saveLayer(
method restore (line 216) | void restore()
method restoreToCount (line 225) | void restoreToCount(int? count)
method getSaveCount (line 234) | int getSaveCount()
method translate (line 243) | void translate(
method scale (line 259) | void scale(
method rotate (line 275) | void rotate(double? radians)
method skew (line 284) | void skew(
method transform (line 300) | void transform(_i5.Float64List? matrix4)
method getTransform (line 309) | _i5.Float64List getTransform()
method clipRect (line 318) | void clipRect(
method clipRRect (line 336) | void clipRRect(
method clipRSuperellipse (line 350) | void clipRSuperellipse(
method clipPath (line 364) | void clipPath(
method getLocalClipBounds (line 378) | _i2.Rect getLocalClipBounds()
method getDestinationClipBounds (line 393) | _i2.Rect getDestinationClipBounds()
method drawColor (line 408) | void drawColor(
method drawLine (line 424) | void drawLine(
method drawPaint (line 442) | void drawPaint(_i2.Paint? paint)
method drawRect (line 451) | void drawRect(
method drawRRect (line 467) | void drawRRect(
method drawDRRect (line 483) | void drawDRRect(
method drawRSuperellipse (line 501) | void drawRSuperellipse(
method drawOval (line 517) | void drawOval(
method drawCircle (line 533) | void drawCircle(
method drawArc (line 551) | void drawArc(
method drawPath (line 573) | void drawPath(
method drawImage (line 589) | void drawImage(
method drawImageRect (line 607) | void drawImageRect(
method drawImageNine (line 627) | void drawImageNine(
method drawPicture (line 647) | void drawPicture(_i2.Picture? picture)
method drawParagraph (line 656) | void drawParagraph(
method drawPoints (line 672) | void drawPoints(
method drawRawPoints (line 690) | void drawRawPoints(
method drawVertices (line 708) | void drawVertices(
method drawAtlas (line 726) | void drawAtlas(
method drawRawAtlas (line 752) | void drawRawAtlas(
method drawShadow (line 778) | void drawShadow(
class MockCanvasWrapper (line 801) | class MockCanvasWrapper extends _i1.Mock implements _i6.CanvasWrapper {
method drawRRect (line 825) | void drawRRect(
method save (line 841) | void save()
method restore (line 850) | void restore()
method clipRect (line 859) | void clipRect(
method translate (line 877) | void translate(
method rotate (line 893) | void rotate(double? radius)
method drawPath (line 902) | void drawPath(
method saveLayer (line 918) | void saveLayer(
method drawPicture (line 934) | void drawPicture(_i2.Picture? picture)
method drawImage (line 943) | void drawImage(
method clipPath (line 961) | void clipPath(
method drawRect (line 975) | void drawRect(
method drawLine (line 991) | void drawLine(
method drawCircle (line 1009) | void drawCircle(
method drawArc (line 1027) | void drawArc(
method drawText (line 1049) | void drawText(
method drawVerticalText (line 1067) | void drawVerticalText(
method drawDot (line 1085) | void drawDot(
method drawErrorIndicator (line 1103) | void drawErrorIndicator(
method drawRotated (line 1125) | void drawRotated({
method drawDashedLine (line 1148) | void drawDashedLine(
class MockBuildContext (line 1171) | class MockBuildContext extends _i1.Mock implements _i3.BuildContext {
method dependOnInheritedElement (line 1198) | _i3.InheritedWidget dependOnInheritedElement(
method visitAncestorElements (line 1219) | void visitAncestorElements(_i3.ConditionalElementVisitor? visitor)
method visitChildElements (line 1229) | void visitChildElements(_i3.ElementVisitor? visitor)
method dispatchNotification (line 1238) | void dispatchNotification(_i3.Notification? notification)
method describeElement (line 1248) | _i3.DiagnosticsNode describeElement(
method describeWidget (line 1269) | _i3.DiagnosticsNode describeWidget(
method describeMissingAncestor (line 1290) | List<_i3.DiagnosticsNode> describeMissingAncestor(
method describeOwnershipChain (line 1302) | _i3.DiagnosticsNode describeOwnershipChain(String? name)
class MockUtils (line 1321) | class MockUtils extends _i1.Mock implements _i8.Utils {
method radians (line 1327) | double radians(double? degrees)
method degrees (line 1336) | double degrees(double? radians)
method translateRotatedPosition (line 1345) | double translateRotatedPosition(
method calculateRotationOffset (line 1361) | _i2.Offset calculateRotationOffset(
method normalizeBorderRadius (line 1386) | _i3.BorderRadius? normalizeBorderRadius(
method normalizeBorderSide (line 1399) | _i3.BorderSide normalizeBorderSide(
method getEfficientInterval (line 1424) | double getEfficientInterval(
method roundInterval (line 1442) | double roundInterval(double? input)
method getFractionDigits (line 1451) | int getFractionDigits(double? value)
method formatNumber (line 1460) | String formatNumber(
method getThemeAwareTextStyle (line 1488) | _i3.TextStyle getThemeAwareTextStyle(
method getBestInitialIntervalValue (line 1513) | double getBestInitialIntervalValue(
method convertRadiusToSigma (line 1533) | double convertRadiusToSigma(double? radius)
class MockLineChartPainter (line 1545) | class MockLineChartPainter extends _i1.Mock implements _i10.LineChartPai...
method paint (line 1551) | void paint(
method clipToBorder (line 1569) | void clipToBorder(
method drawBarLine (line 1585) | void drawBarLine(
method drawBetweenBarsArea (line 1603) | void drawBetweenBarsArea(
method drawDots (line 1623) | void drawDots(
method drawErrorIndicatorData (line 1641) | void drawErrorIndicatorData(
method drawTouchedSpotsIndicator (line 1659) | void drawTouchedSpotsIndicator(
method generateBarPath (line 1677) | _i2.Path generateBarPath(
method generateNormalBarPath (line 1711) | _i2.Path generateNormalBarPath(
method generateStepBarPath (line 1745) | _i2.Path generateStepBarPath(
method generateBelowBarPath (line 1779) | _i2.Path generateBelowBarPath(
method generateAboveBarPath (line 1816) | _i2.Path generateAboveBarPath(
method drawBelowBar (line 1853) | void drawBelowBar(
method drawAboveBar (line 1875) | void drawAboveBar(
method drawBetweenBar (line 1897) | void drawBetweenBar(
method drawBarShadow (line 1919) | void drawBarShadow(
method drawBar (line 1937) | void drawBar(
method drawTouchTooltip (line 1957) | void drawTouchTooltip(
method getBarLineXLength (line 1981) | double getBarLineXLength(
method handleTouch (line 1999) | List<_i7.TouchLineBarSpot>? handleTouch(
method getNearestTouchedSpot (line 2014) | _i7.TouchLineBarSpot? getNearestTouchedSpot(
method drawGrid (line 2033) | void drawGrid(
method drawBackground (line 2049) | void drawBackground(
method drawRangeAnnotation (line 2065) | void drawRangeAnnotation(
method drawExtraLines (line 2081) | void drawExtraLines(
method drawHorizontalLines (line 2099) | void drawHorizontalLines(
method drawVerticalLines (line 2119) | void drawVerticalLines(
method getPixelX (line 2139) | double getPixelX(
method getPixelY (line 2157) | double getPixelY(
method getXForPixel (line 2175) | double getXForPixel(
method getYForPixel (line 2193) | double getYForPixel(
method getChartCoordinateFromPixel (line 2211) | _i2.Offset getChartCoordinateFromPixel(
method getTooltipLeft (line 2239) | double getTooltipLeft(
class MockLinearGradient (line 2262) | class MockLinearGradient extends _i1.Mock implements _i3.LinearGradient {
method createShader (line 2304) | _i2.Shader createShader(
method scale (line 2333) | _i3.LinearGradient scale(double? factor)
method lerpFrom (line 2355) | _i3.Gradient? lerpFrom(
method lerpTo (line 2371) | _i3.Gradient? lerpTo(
method withOpacity (line 2387) | _i3.LinearGradient withOpacity(double? opacity)
FILE: test/chart/line_chart/line_chart_renderer_test.dart
function main (line 15) | void main()
FILE: test/chart/line_chart/line_chart_renderer_test.mocks.dart
class _FakeRect_0 (line 37) | class _FakeRect_0 extends _i1.SmartFake implements _i2.Rect {
class _FakeCanvas_1 (line 47) | class _FakeCanvas_1 extends _i1.SmartFake implements _i2.Canvas {
class _FakePaintingContext_2 (line 57) | class _FakePaintingContext_2 extends _i1.SmartFake
class _FakeColorFilterLayer_3 (line 68) | class _FakeColorFilterLayer_3 extends _i1.SmartFake
method toString (line 79) | String toString({_i5.DiagnosticLevel? minLevel = _i5.DiagnosticLevel.i...
class _FakeOpacityLayer_4 (line 83) | class _FakeOpacityLayer_4 extends _i1.SmartFake implements _i4.OpacityLa...
method toString (line 93) | String toString({_i5.DiagnosticLevel? minLevel = _i5.DiagnosticLevel.i...
class _FakeWidget_5 (line 97) | class _FakeWidget_5 extends _i1.SmartFake implements _i6.Widget {
method toString (line 107) | String toString({_i5.DiagnosticLevel? minLevel = _i5.DiagnosticLevel.i...
class _FakeInheritedWidget_6 (line 111) | class _FakeInheritedWidget_6 extends _i1.SmartFake
method toString (line 122) | String toString({_i5.DiagnosticLevel? minLevel = _i5.DiagnosticLevel.i...
class _FakeDiagnosticsNode_7 (line 126) | class _FakeDiagnosticsNode_7 extends _i1.SmartFake
method toString (line 137) | String toString({
class _FakePath_8 (line 144) | class _FakePath_8 extends _i1.SmartFake implements _i2.Path {
class _FakeOffset_9 (line 154) | class _FakeOffset_9 extends _i1.SmartFake implements _i2.Offset {
class MockCanvas (line 167) | class MockCanvas extends _i1.Mock implements _i2.Canvas {
method save (line 173) | void save()
method saveLayer (line 182) | void saveLayer(
method restore (line 198) | void restore()
method restoreToCount (line 207) | void restoreToCount(int? count)
method getSaveCount (line 216) | int getSaveCount()
method translate (line 225) | void translate(
method scale (line 241) | void scale(
method rotate (line 257) | void rotate(double? radians)
method skew (line 266) | void skew(
method transform (line 282) | void transform(_i7.Float64List? matrix4)
method getTransform (line 291) | _i7.Float64List getTransform()
method clipRect (line 300) | void clipRect(
method clipRRect (line 318) | void clipRRect(
method clipRSuperellipse (line 332) | void clipRSuperellipse(
method clipPath (line 346) | void clipPath(
method getLocalClipBounds (line 360) | _i2.Rect getLocalClipBounds()
method getDestinationClipBounds (line 375) | _i2.Rect getDestinationClipBounds()
method drawColor (line 390) | void drawColor(
method drawLine (line 406) | void drawLine(
method drawPaint (line 424) | void drawPaint(_i2.Paint? paint)
method drawRect (line 433) | void drawRect(
method drawRRect (line 449) | void drawRRect(
method drawDRRect (line 465) | void drawDRRect(
method drawRSuperellipse (line 483) | void drawRSuperellipse(
method drawOval (line 499) | void drawOval(
method drawCircle (line 515) | void drawCircle(
method drawArc (line 533) | void drawArc(
method drawPath (line 555) | void drawPath(
method drawImage (line 571) | void drawImage(
method drawImageRect (line 589) | void drawImageRect(
method drawImageNine (line 609) | void drawImageNine(
method drawPicture (line 629) | void drawPicture(_i2.Picture? picture)
method drawParagraph (line 638) | void drawParagraph(
method drawPoints (line 654) | void drawPoints(
method drawRawPoints (line 672) | void drawRawPoints(
method drawVertices (line 690) | void drawVertices(
method drawAtlas (line 708) | void drawAtlas(
method drawRawAtlas (line 734) | void drawRawAtlas(
method drawShadow (line 760) | void drawShadow(
class MockPaintingContext (line 783) | class MockPaintingContext extends _i1.Mock implements _i3.PaintingContext {
method paintChild (line 807) | void paintChild(
method appendLayer (line 823) | void appendLayer(_i4.Layer? layer)
method addCompositionCallback (line 832) | _i2.VoidCallback addCompositionCallback(_i4.CompositionCallback? callb...
method stopRecordingIfNeeded (line 842) | void stopRecordingIfNeeded()
method setIsComplexHint (line 851) | void setIsComplexHint()
method setWillChangeHint (line 860) | void setWillChangeHint()
method addLayer (line 869) | void addLayer(_i4.Layer? layer)
method pushLayer (line 878) | void pushLayer(
method createChildContext (line 898) | _i3.PaintingContext createChildContext(
method pushClipRect (line 923) | _i4.ClipRectLayer? pushClipRect(
method pushClipRRect (line 946) | _i4.ClipRRectLayer? pushClipRRect(
method pushClipRSuperellipse (line 971) | _i4.ClipRSuperellipseLayer? pushClipRSuperellipse(
method pushClipPath (line 996) | _i4.ClipPathLayer? pushClipPath(
method pushColorFilter (line 1021) | _i4.ColorFilterLayer pushColorFilter(
method pushTransform (line 1052) | _i4.TransformLayer? pushTransform(
method pushOpacity (line 1071) | _i4.OpacityLayer pushOpacity(
method clipPathAndPaint (line 1102) | void clipPathAndPaint(
method clipRRectAndPaint (line 1122) | void clipRRectAndPaint(
method clipRSuperellipseAndPaint (line 1142) | void clipRSuperellipseAndPaint(
method clipRectAndPaint (line 1162) | void clipRectAndPaint(
class MockBuildContext (line 1185) | class MockBuildContext extends _i1.Mock implements _i6.BuildContext {
method dependOnInheritedElement (line 1212) | _i6.InheritedWidget dependOnInheritedElement(
method visitAncestorElements (line 1233) | void visitAncestorElements(_i6.ConditionalElementVisitor? visitor)
method visitChildElements (line 1243) | void visitChildElements(_i6.ElementVisitor? visitor)
method dispatchNotification (line 1252) | void dispatchNotification(_i9.Notification? notification)
method describeElement (line 1262) | _i5.DiagnosticsNode describeElement(
method describeWidget (line 1283) | _i5.DiagnosticsNode describeWidget(
method describeMissingAncestor (line 1304) | List<_i5.DiagnosticsNode> describeMissingAncestor(
method describeOwnershipChain (line 1316) | _i5.DiagnosticsNode describeOwnershipChain(String? name)
class MockLineChartPainter (line 1335) | class MockLineChartPainter extends _i1.Mock implements _i10.LineChartPai...
method paint (line 1341) | void paint(
method clipToBorder (line 1359) | void clipToBorder(
method drawBarLine (line 1375) | void drawBarLine(
method drawBetweenBarsArea (line 1393) | void drawBetweenBarsArea(
method drawDots (line 1413) | void drawDots(
method drawErrorIndicatorData (line 1431) | void drawErrorIndicatorData(
method drawTouchedSpotsIndicator (line 1449) | void drawTouchedSpotsIndicator(
method generateBarPath (line 1467) | _i2.Path generateBarPath(
method generateNormalBarPath (line 1501) | _i2.Path generateNormalBarPath(
method generateStepBarPath (line 1535) | _i2.Path generateStepBarPath(
method generateBelowBarPath (line 1569) | _i2.Path generateBelowBarPath(
method generateAboveBarPath (line 1606) | _i2.Path generateAboveBarPath(
method drawBelowBar (line 1643) | void drawBelowBar(
method drawAboveBar (line 1665) | void drawAboveBar(
method drawBetweenBar (line 1687) | void drawBetweenBar(
method drawBarShadow (line 1709) | void drawBarShadow(
method drawBar (line 1727) | void drawBar(
method drawTouchTooltip (line 1747) | void drawTouchTooltip(
method getBarLineXLength (line 1771) | double getBarLineXLength(
method handleTouch (line 1789) | List<_i13.TouchLineBarSpot>? handleTouch(
method getNearestTouchedSpot (line 1804) | _i13.TouchLineBarSpot? getNearestTouchedSpot(
method drawGrid (line 1823) | void drawGrid(
method drawBackground (line 1839) | void drawBackground(
method drawRangeAnnotation (line 1855) | void drawRangeAnnotation(
method drawExtraLines (line 1871) | void drawExtraLines(
method drawHorizontalLines (line 1889) | void drawHorizontalLines(
method drawVerticalLines (line 1909) | void drawVerticalLines(
method getPixelX (line 1929) | double getPixelX(
method getPixelY (line 1947) | double getPixelY(
method getXForPixel (line 1965) | double getXForPixel(
method getYForPixel (line 1983) | double getYForPixel(
method getChartCoordinateFromPixel (line 2001) | _i2.Offset getChartCoordinateFromPixel(
method getTooltipLeft (line 2029) | double getTooltipLeft(
FILE: test/chart/line_chart/line_chart_test.dart
function main (line 11) | void main()
function createTestWidget (line 12) | Widget createTestWidget({
FILE: test/chart/pie_chart/pie_chart_data_test.dart
function main (line 7) | void main()
FILE: test/chart/pie_chart/pie_chart_helper_test.dart
function main (line 6) | void main()
FILE: test/chart/pie_chart/pie_chart_painter_test.dart
function main (line 20) | void main()
FILE: test/chart/pie_chart/pie_chart_painter_test.mocks.dart
class _FakeRect_0 (line 32) | class _FakeRect_0 extends _i1.SmartFake implements _i2.Rect {
class _FakeCanvas_1 (line 42) | class _FakeCanvas_1 extends _i1.SmartFake implements _i2.Canvas {
class _FakeSize_2 (line 52) | class _FakeSize_2 extends _i1.SmartFake implements _i2.Size {
class _FakeWidget_3 (line 62) | class _FakeWidget_3 extends _i1.SmartFake implements _i3.Widget {
method toString (line 72) | String toString({_i3.DiagnosticLevel? minLevel = _i3.DiagnosticLevel.i...
class _FakeInheritedWidget_4 (line 76) | class _FakeInheritedWidget_4 extends _i1.SmartFake
method toString (line 87) | String toString({_i3.DiagnosticLevel? minLevel = _i3.DiagnosticLevel.i...
class _FakeDiagnosticsNode_5 (line 91) | class _FakeDiagnosticsNode_5 extends _i1.SmartFake
method toString (line 102) | String toString({
class _FakeOffset_6 (line 109) | class _FakeOffset_6 extends _i1.SmartFake implements _i2.Offset {
class _FakeBorderSide_7 (line 119) | class _FakeBorderSide_7 extends _i1.SmartFake implements _i3.BorderSide {
method toString (line 129) | String toString({_i3.DiagnosticLevel? minLevel = _i3.DiagnosticLevel.i...
class _FakeTextStyle_8 (line 133) | class _FakeTextStyle_8 extends _i1.SmartFake implements _i3.TextStyle {
method toString (line 143) | String toString({_i3.DiagnosticLevel? minLevel = _i3.DiagnosticLevel.i...
class MockCanvas (line 150) | class MockCanvas extends _i1.Mock implements _i2.Canvas {
method save (line 156) | void save()
method saveLayer (line 165) | void saveLayer(
method restore (line 181) | void restore()
method restoreToCount (line 190) | void restoreToCount(int? count)
method getSaveCount (line 199) | int getSaveCount()
method translate (line 208) | void translate(
method scale (line 224) | void scale(
method rotate (line 240) | void rotate(double? radians)
method skew (line 249) | void skew(
method transform (line 265) | void transform(_i5.Float64List? matrix4)
method getTransform (line 274) | _i5.Float64List getTransform()
method clipRect (line 283) | void clipRect(
method clipRRect (line 301) | void clipRRect(
method clipRSuperellipse (line 315) | void clipRSuperellipse(
method clipPath (line 329) | void clipPath(
method getLocalClipBounds (line 343) | _i2.Rect getLocalClipBounds()
method getDestinationClipBounds (line 358) | _i2.Rect getDestinationClipBounds()
method drawColor (line 373) | void drawColor(
method drawLine (line 389) | void drawLine(
method drawPaint (line 407) | void drawPaint(_i2.Paint? paint)
method drawRect (line 416) | void drawRect(
method drawRRect (line 432) | void drawRRect(
method drawDRRect (line 448) | void drawDRRect(
method drawRSuperellipse (line 466) | void drawRSuperellipse(
method drawOval (line 482) | void drawOval(
method drawCircle (line 498) | void drawCircle(
method drawArc (line 516) | void drawArc(
method drawPath (line 538) | void drawPath(
method drawImage (line 554) | void drawImage(
method drawImageRect (line 572) | void drawImageRect(
method drawImageNine (line 592) | void drawImageNine(
method drawPicture (line 612) | void drawPicture(_i2.Picture? picture)
method drawParagraph (line 621) | void drawParagraph(
method drawPoints (line 637) | void drawPoints(
method drawRawPoints (line 655) | void drawRawPoints(
method drawVertices (line 673) | void drawVertices(
method drawAtlas (line 691) | void drawAtlas(
method drawRawAtlas (line 717) | void drawRawAtlas(
method drawShadow (line 743) | void drawShadow(
class MockCanvasWrapper (line 766) | class MockCanvasWrapper extends _i1.Mock implements _i6.CanvasWrapper {
method drawRRect (line 790) | void drawRRect(
method save (line 806) | void save()
method restore (line 815) | void restore()
method clipRect (line 824) | void clipRect(
method translate (line 842) | void translate(
method rotate (line 858) | void rotate(double? radius)
method drawPath (line 867) | void drawPath(
method saveLayer (line 883) | void saveLayer(
method drawPicture (line 899) | void drawPicture(_i2.Picture? picture)
method drawImage (line 908) | void drawImage(
method clipPath (line 926) | void clipPath(
method drawRect (line 940) | void drawRect(
method drawLine (line 956) | void drawLine(
method drawCircle (line 974) | void drawCircle(
method drawArc (line 992) | void drawArc(
method drawText (line 1014) | void drawText(
method drawVerticalText (line 1032) | void drawVerticalText(
method drawDot (line 1050) | void drawDot(
method drawErrorIndicator (line 1068) | void drawErrorIndicator(
method drawRotated (line 1090) | void drawRotated({
method drawDashedLine (line 1113) | void drawDashedLine(
class MockBuildContext (line 1136) | class MockBuildContext extends _i1.Mock implements _i3.BuildContext {
method dependOnInheritedElement (line 1163) | _i3.InheritedWidget dependOnInheritedElement(
method visitAncestorElements (line 1184) | void visitAncestorElements(_i3.ConditionalElementVisitor? visitor)
method visitChildElements (line 1194) | void visitChildElements(_i3.ElementVisitor? visitor)
method dispatchNotification (line 1203) | void dispatchNotification(_i3.Notification? notification)
method describeElement (line 1213) | _i3.DiagnosticsNode describeElement(
method describeWidget (line 1234) | _i3.DiagnosticsNode describeWidget(
method describeMissingAncestor (line 1255) | List<_i3.DiagnosticsNode> describeMissingAncestor(
method describeOwnershipChain (line 1267) | _i3.DiagnosticsNode describeOwnershipChain(String? name)
class MockUtils (line 1286) | class MockUtils extends _i1.Mock implements _i8.Utils {
method radians (line 1292) | double radians(double? degrees)
method degrees (line 1301) | double degrees(double? radians)
method translateRotatedPosition (line 1310) | double translateRotatedPosition(
method calculateRotationOffset (line 1326) | _i2.Offset calculateRotationOffset(
method normalizeBorderRadius (line 1351) | _i3.BorderRadius? normalizeBorderRadius(
method normalizeBorderSide (line 1364) | _i3.BorderSide normalizeBorderSide(
method getEfficientInterval (line 1389) | double getEfficientInterval(
method roundInterval (line 1407) | double roundInterval(double? input)
method getFractionDigits (line 1416) | int getFractionDigits(double? value)
method formatNumber (line 1425) | String formatNumber(
method getThemeAwareTextStyle (line 1453) | _i3.TextStyle getThemeAwareTextStyle(
method getBestInitialIntervalValue (line 1478) | double getBestInitialIntervalValue(
method convertRadiusToSigma (line 1498) | double convertRadiusToSigma(double? radius)
FILE: test/chart/pie_chart/pie_chart_renderer_test.dart
function main (line 15) | void main()
FILE: test/chart/pie_chart/pie_chart_renderer_test.mocks.dart
class _FakeRect_0 (line 38) | class _FakeRect_0 extends _i1.SmartFake implements _i2.Rect {
class _FakeCanvas_1 (line 48) | class _FakeCanvas_1 extends _i1.SmartFake implements _i2.Canvas {
class _FakePaintingContext_2 (line 58) | class _FakePaintingContext_2 extends _i1.SmartFake
class _FakeColorFilterLayer_3 (line 69) | class _FakeColorFilterLayer_3 extends _i1.SmartFake
method toString (line 80) | String toString({_i5.DiagnosticLevel? minLevel = _i5.DiagnosticLevel.i...
class _FakeOpacityLayer_4 (line 84) | class _FakeOpacityLayer_4 extends _i1.SmartFake implements _i4.OpacityLa...
method toString (line 94) | String toString({_i5.DiagnosticLevel? minLevel = _i5.DiagnosticLevel.i...
class _FakeWidget_5 (line 98) | class _FakeWidget_5 extends _i1.SmartFake implements _i6.Widget {
method toString (line 108) | String toString({_i5.DiagnosticLevel? minLevel = _i5.DiagnosticLevel.i...
class _FakeInheritedWidget_6 (line 112) | class _FakeInheritedWidget_6 extends _i1.SmartFake
method toString (line 123) | String toString({_i5.DiagnosticLevel? minLevel = _i5.DiagnosticLevel.i...
class _FakeDiagnosticsNode_7 (line 127) | class _FakeDiagnosticsNode_7 extends _i1.SmartFake
method toString (line 138) | String toString({
class _FakePath_8 (line 145) | class _FakePath_8 extends _i1.SmartFake implements _i2.Path {
class _FakePieTouchedSection_9 (line 155) | class _FakePieTouchedSection_9 extends _i1.SmartFake
class MockCanvas (line 169) | class MockCanvas extends _i1.Mock implements _i2.Canvas {
method save (line 175) | void save()
method saveLayer (line 184) | void saveLayer(
method restore (line 200) | void restore()
method restoreToCount (line 209) | void restoreToCount(int? count)
method getSaveCount (line 218) | int getSaveCount()
method translate (line 227) | void translate(
method scale (line 243) | void scale(
method rotate (line 259) | void rotate(double? radians)
method skew (line 268) | void skew(
method transform (line 284) | void transform(_i8.Float64List? matrix4)
method getTransform (line 293) | _i8.Float64List getTransform()
method clipRect (line 302) | void clipRect(
method clipRRect (line 320) | void clipRRect(
method clipRSuperellipse (line 334) | void clipRSuperellipse(
method clipPath (line 348) | void clipPath(
method getLocalClipBounds (line 362) | _i2.Rect getLocalClipBounds()
method getDestinationClipBounds (line 377) | _i2.Rect getDestinationClipBounds()
method drawColor (line 392) | void drawColor(
method drawLine (line 408) | void drawLine(
method drawPaint (line 426) | void drawPaint(_i2.Paint? paint)
method drawRect (line 435) | void drawRect(
method drawRRect (line 451) | void drawRRect(
method drawDRRect (line 467) | void drawDRRect(
method drawRSuperellipse (line 485) | void drawRSuperellipse(
method drawOval (line 501) | void drawOval(
method drawCircle (line 517) | void drawCircle(
method drawArc (line 535) | void drawArc(
method drawPath (line 557) | void drawPath(
method drawImage (line 573) | void drawImage(
method drawImageRect (line 591) | void drawImageRect(
method drawImageNine (line 611) | void drawImageNine(
method drawPicture (line 631) | void drawPicture(_i2.Picture? picture)
method drawParagraph (line 640) | void drawParagraph(
method drawPoints (line 656) | void drawPoints(
method drawRawPoints (line 674) | void drawRawPoints(
method drawVertices (line 692) | void drawVertices(
method drawAtlas (line 710) | void drawAtlas(
method drawRawAtlas (line 736) | void drawRawAtlas(
method drawShadow (line 762) | void drawShadow(
class MockPaintingContext (line 785) | class MockPaintingContext extends _i1.Mock implements _i3.PaintingContext {
method paintChild (line 809) | void paintChild(
method appendLayer (line 825) | void appendLayer(_i4.Layer? layer)
method addCompositionCallback (line 834) | _i2.VoidCallback addCompositionCallback(_i4.CompositionCallback? callb...
method stopRecordingIfNeeded (line 844) | void stopRecordingIfNeeded()
method setIsComplexHint (line 853) | void setIsComplexHint()
method setWillChangeHint (line 862) | void setWillChangeHint()
method addLayer (line 871) | void addLayer(_i4.Layer? layer)
method pushLayer (line 880) | void pushLayer(
method createChildContext (line 900) | _i3.PaintingContext createChildContext(
method pushClipRect (line 925) | _i4.ClipRectLayer? pushClipRect(
method pushClipRRect (line 948) | _i4.ClipRRectLayer? pushClipRRect(
method pushClipRSuperellipse (line 973) | _i4.ClipRSuperellipseLayer? pushClipRSuperellipse(
method pushClipPath (line 998) | _i4.ClipPathLayer? pushClipPath(
method pushColorFilter (line 1023) | _i4.ColorFilterLayer pushColorFilter(
method pushTransform (line 1054) | _i4.TransformLayer? pushTransform(
method pushOpacity (line 1073) | _i4.OpacityLayer pushOpacity(
method clipPathAndPaint (line 1104) | void clipPathAndPaint(
method clipRRectAndPaint (line 1124) | void clipRRectAndPaint(
method clipRSuperellipseAndPaint (line 1144) | void clipRSuperellipseAndPaint(
method clipRectAndPaint (line 1164) | void clipRectAndPaint(
class MockBuildContext (line 1187) | class MockBuildContext extends _i1.Mock implements _i6.BuildContext {
method dependOnInheritedElement (line 1214) | _i6.InheritedWidget dependOnInheritedElement(
method visitAncestorElements (line 1235) | void visitAncestorElements(_i6.ConditionalElementVisitor? visitor)
method visitChildElements (line 1245) | void visitChildElements(_i6.ElementVisitor? visitor)
method dispatchNotification (line 1254) | void dispatchNotification(_i10.Notification? notification)
method describeElement (line 1264) | _i5.DiagnosticsNode describeElement(
method describeWidget (line 1285) | _i5.DiagnosticsNode describeWidget(
method describeMissingAncestor (line 1306) | List<_i5.DiagnosticsNode> describeMissingAncestor(
method describeOwnershipChain (line 1318) | _i5.DiagnosticsNode describeOwnershipChain(String? name)
class MockPieChartPainter (line 1337) | class MockPieChartPainter extends _i1.Mock implements _i11.PieChartPaint...
method paint (line 1343) | void paint(
method calculateSectionsAngle (line 1361) | List<double> calculateSectionsAngle(
method drawCenterSpace (line 1377) | void drawCenterSpace(
method drawSections (line 1395) | void drawSections(
method generateSectionPath (line 1415) | _i2.Path generateSectionPath(
method createRectPathAroundLine (line 1452) | _i2.Path createRectPathAroundLine(
method drawSection (line 1477) | void drawSection(
method drawSectionStroke (line 1495) | void drawSectionStroke(
method drawTexts (line 1515) | void drawTexts(
method calculateCenterRadius (line 1535) | double calculateCenterRadius(
method handleTouch (line 1551) | _i7.PieTouchedSection handleTouch(
method getBadgeOffsets (line 1579) | Map<int, _i2.Offset> getBadgeOffsets(
FILE: test/chart/radar_chart/radar_chart_data_test.dart
function main (line 7) | void main()
FILE: test/chart/radar_chart/radar_chart_painter_test.dart
function main (line 15) | void main()
FILE: test/chart/radar_chart/radar_chart_painter_test.mocks.dart
class _FakeRect_0 (line 32) | class _FakeRect_0 extends _i1.SmartFake implements _i2.Rect {
class _FakeCanvas_1 (line 42) | class _FakeCanvas_1 extends _i1.SmartFake implements _i2.Canvas {
class _FakeSize_2 (line 52) | class _FakeSize_2 extends _i1.SmartFake implements _i2.Size {
class _FakeWidget_3 (line 62) | class _FakeWidget_3 extends _i1.SmartFake implements _i3.Widget {
method toString (line 72) | String toString({_i3.DiagnosticLevel? minLevel = _i3.DiagnosticLevel.i...
class _FakeInheritedWidget_4 (line 76) | class _FakeInheritedWidget_4 extends _i1.SmartFake
method toString (line 87) | String toString({_i3.DiagnosticLevel? minLevel = _i3.DiagnosticLevel.i...
class _FakeDiagnosticsNode_5 (line 91) | class _FakeDiagnosticsNode_5 extends _i1.SmartFake
method toString (line 102) | String toString({
class _FakeOffset_6 (line 109) | class _FakeOffset_6 extends _i1.SmartFake implements _i2.Offset {
class _FakeBorderSide_7 (line 119) | class _FakeBorderSide_7 extends _i1.SmartFake implements _i3.BorderSide {
method toString (line 129) | String toString({_i3.DiagnosticLevel? minLevel = _i3.DiagnosticLevel.i...
class _FakeTextStyle_8 (line 133) | class _FakeTextStyle_8 extends _i1.SmartFake implements _i3.TextStyle {
method toString (line 143) | String toString({_i3.DiagnosticLevel? minLevel = _i3.DiagnosticLevel.i...
class MockCanvas (line 150) | class MockCanvas extends _i1.Mock implements _i2.Canvas {
method save (line 156) | void save()
method saveLayer (line 165) | void saveLayer(
method restore (line 181) | void restore()
method restoreToCount (line 190) | void restoreToCount(int? count)
method getSaveCount (line 199) | int getSaveCount()
method translate (line 208) | void translate(
method scale (line 224) | void scale(
method rotate (line 240) | void rotate(double? radians)
method skew (line 249) | void skew(
method transform (line 265) | void transform(_i5.Float64List? matrix4)
method getTransform (line 274) | _i5.Float64List getTransform()
method clipRect (line 283) | void clipRect(
method clipRRect (line 301) | void clipRRect(
method clipRSuperellipse (line 315) | void clipRSuperellipse(
method clipPath (line 329) | void clipPath(
method getLocalClipBounds (line 343) | _i2.Rect getLocalClipBounds()
method getDestinationClipBounds (line 358) | _i2.Rect getDestinationClipBounds()
method drawColor (line 373) | void drawColor(
method drawLine (line 389) | void drawLine(
method drawPaint (line 407) | void drawPaint(_i2.Paint? paint)
method drawRect (line 416) | void drawRect(
method drawRRect (line 432) | void drawRRect(
method drawDRRect (line 448) | void drawDRRect(
method drawRSuperellipse (line 466) | void drawRSuperellipse(
method drawOval (line 482) | void drawOval(
method drawCircle (line 498) | void drawCircle(
method drawArc (line 516) | void drawArc(
method drawPath (line 538) | void drawPath(
method drawImage (line 554) | void drawImage(
method drawImageRect (line 572) | void drawImageRect(
method drawImageNine (line 592) | void drawImageNine(
method drawPicture (line 612) | void drawPicture(_i2.Picture? picture)
method drawParagraph (line 621) | void drawParagraph(
method drawPoints (line 637) | void drawPoints(
method drawRawPoints (line 655) | void drawRawPoints(
method drawVertices (line 673) | void drawVertices(
method drawAtlas (line 691) | void drawAtlas(
method drawRawAtlas (line 717) | void drawRawAtlas(
method drawShadow (line 743) | void drawShadow(
class MockCanvasWrapper (line 766) | class MockCanvasWrapper extends _i1.Mock implements _i6.CanvasWrapper {
method drawRRect (line 790) | void drawRRect(
method save (line 806) | void save()
method restore (line 815) | void restore()
method clipRect (line 824) | void clipRect(
method translate (line 842) | void translate(
method rotate (line 858) | void rotate(double? radius)
method drawPath (line 867) | void drawPath(
method saveLayer (line 883) | void saveLayer(
method drawPicture (line 899) | void drawPicture(_i2.Picture? picture)
method drawImage (line 908) | void drawImage(
method clipPath (line 926) | void clipPath(
method drawRect (line 940) | void drawRect(
method drawLine (line 956) | void drawLine(
method drawCircle (line 974) | void drawCircle(
method drawArc (line 992) | void drawArc(
method drawText (line 1014) | void drawText(
method drawVerticalText (line 1032) | void drawVerticalText(
method drawDot (line 1050) | void drawDot(
method drawErrorIndicator (line 1068) | void drawErrorIndicator(
method drawRotated (line 1090) | void drawRotated({
method drawDashedLine (line 1113) | void drawDashedLine(
class MockBuildContext (line 1136) | class MockBuildContext extends _i1.Mock implements _i3.BuildContext {
method dependOnInheritedElement (line 1163) | _i3.InheritedWidget dependOnInheritedElement(
method visitAncestorElements (line 1184) | void visitAncestorElements(_i3.ConditionalElementVisitor? visitor)
method visitChildElements (line 1194) | void visitChildElements(_i3.ElementVisitor? visitor)
method dispatchNotification (line 1203) | void dispatchNotification(_i3.Notification? notification)
method describeElement (line 1213) | _i3.DiagnosticsNode describeElement(
method describeWidget (line 1234) | _i3.DiagnosticsNode describeWidget(
method describeMissingAncestor (line 1255) | List<_i3.DiagnosticsNode> describeMissingAncestor(
method describeOwnershipChain (line 1267) | _i3.DiagnosticsNode describeOwnershipChain(String? name)
class MockUtils (line 1286) | class MockUtils extends _i1.Mock implements _i8.Utils {
method radians (line 1292) | double radians(double? degrees)
method degrees (line 1301) | double degrees(double? radians)
method translateRotatedPosition (line 1310) | double translateRotatedPosition(
method calculateRotationOffset (line 1326) | _i2.Offset calculateRotationOffset(
method normalizeBorderRadius (line 1351) | _i3.BorderRadius? normalizeBorderRadius(
method normalizeBorderSide (line 1364) | _i3.BorderSide normalizeBorderSide(
method getEfficientInterval (line 1389) | double getEfficientInterval(
method roundInterval (line 1407) | double roundInterval(double? input)
method getFractionDigits (line 1416) | int getFractionDigits(double? value)
method formatNumber (line 1425) | String formatNumber(
method getThemeAwareTextStyle (line 1453) | _i3.TextStyle getThemeAwareTextStyle(
method getBestInitialIntervalValue (line 1478) | double getBestInitialIntervalValue(
method convertRadiusToSigma (line 1498) | double convertRadiusToSigma(double? radius)
FILE: test/chart/radar_chart/radar_chart_renderer_test.dart
function main (line 15) | void main()
FILE: test/chart/radar_chart/radar_chart_renderer_test.mocks.dart
class _FakeRect_0 (line 38) | class _FakeRect_0 extends _i1.SmartFake implements _i2.Rect {
class _FakeCanvas_1 (line 48) | class _FakeCanvas_1 extends _i1.SmartFake implements _i2.Canvas {
class _FakePaintingContext_2 (line 58) | class _FakePaintingContext_2 extends _i1.SmartFake
class _FakeColorFilterLayer_3 (line 69) | class _FakeColorFilterLayer_3 extends _i1.SmartFake
method toString (line 80) | String toString({_i5.DiagnosticLevel? minLevel = _i5.DiagnosticLevel.i...
class _FakeOpacityLayer_4 (line 84) | class _FakeOpacityLayer_4 extends _i1.SmartFake implements _i4.OpacityLa...
method toString (line 94) | String toString({_i5.DiagnosticLevel? minLevel = _i5.DiagnosticLevel.i...
class _FakeWidget_5 (line 98) | class _FakeWidget_5 extends _i1.SmartFake implements _i6.Widget {
method toString (line 108) | String toString({_i5.DiagnosticLevel? minLevel = _i5.DiagnosticLevel.i...
class _FakeInheritedWidget_6 (line 112) | class _FakeInheritedWidget_6 extends _i1.SmartFake
method toString (line 123) | String toString({_i5.DiagnosticLevel? minLevel = _i5.DiagnosticLevel.i...
class _FakeDiagnosticsNode_7 (line 127) | class _FakeDiagnosticsNode_7 extends _i1.SmartFake
method toString (line 138) | String toString({
class MockCanvas (line 148) | class MockCanvas extends _i1.Mock implements _i2.Canvas {
method save (line 154) | void save()
method saveLayer (line 163) | void saveLayer(
method restore (line 179) | void restore()
method restoreToCount (line 188) | void restoreToCount(int? count)
method getSaveCount (line 197) | int getSaveCount()
method translate (line 206) | void translate(
method scale (line 222) | void scale(
method rotate (line 238) | void rotate(double? radians)
method skew (line 247) | void skew(
method transform (line 263) | void transform(_i7.Float64List? matrix4)
method getTransform (line 272) | _i7.Float64List getTransform()
method clipRect (line 281) | void clipRect(
method clipRRect (line 299) | void clipRRect(
method clipRSuperellipse (line 313) | void clipRSuperellipse(
method clipPath (line 327) | void clipPath(
method getLocalClipBounds (line 341) | _i2.Rect getLocalClipBounds()
method getDestinationClipBounds (line 356) | _i2.Rect getDestinationClipBounds()
method drawColor (line 371) | void drawColor(
method drawLine (line 387) | void drawLine(
method drawPaint (line 405) | void drawPaint(_i2.Paint? paint)
method drawRect (line 414) | void drawRect(
method drawRRect (line 430) | void drawRRect(
method drawDRRect (line 446) | void drawDRRect(
method drawRSuperellipse (line 464) | void drawRSuperellipse(
method drawOval (line 480) | void drawOval(
method drawCircle (line 496) | void drawCircle(
method drawArc (line 514) | void drawArc(
method drawPath (line 536) | void drawPath(
method drawImage (line 552) | void drawImage(
method drawImageRect (line 570) | void drawImageRect(
method drawImageNine (line 590) | void drawImageNine(
method drawPicture (line 610) | void drawPicture(_i2.Picture? picture)
method drawParagraph (line 619) | void drawParagraph(
method drawPoints (line 635) | void drawPoints(
method drawRawPoints (line 653) | void drawRawPoints(
method drawVertices (line 671) | void drawVertices(
method drawAtlas (line 689) | void drawAtlas(
method drawRawAtlas (line 715) | void drawRawAtlas(
method drawShadow (line 741) | void drawShadow(
class MockPaintingContext (line 764) | class MockPaintingContext extends _i1.Mock implements _i3.PaintingContext {
method paintChild (line 788) | void paintChild(
method appendLayer (line 804) | void appendLayer(_i4.Layer? layer)
method addCompositionCallback (line 813) | _i2.VoidCallback addCompositionCallback(_i4.CompositionCallback? callb...
method stopRecordingIfNeeded (line 823) | void stopRecordingIfNeeded()
method setIsComplexHint (line 832) | void setIsComplexHint()
method setWillChangeHint (line 841) | void setWillChangeHint()
method addLayer (line 850) | void addLayer(_i4.Layer? layer)
method pushLayer (line 859) | void pushLayer(
method createChildContext (line 879) | _i3.PaintingContext createChildContext(
method pushClipRect (line 904) | _i4.ClipRectLayer? pushClipRect(
method pushClipRRect (line 927) | _i4.ClipRRectLayer? pushClipRRect(
method pushClipRSuperellipse (line 952) | _i4.ClipRSuperellipseLayer? pushClipRSuperellipse(
method pushClipPath (line 977) | _i4.ClipPathLayer? pushClipPath(
method pushColorFilter (line 1002) | _i4.ColorFilterLayer pushColorFilter(
method pushTransform (line 1033) | _i4.TransformLayer? pushTransform(
method pushOpacity (line 1052) | _i4.OpacityLayer pushOpacity(
method clipPathAndPaint (line 1083) | void clipPathAndPaint(
method clipRRectAndPaint (line 1103) | void clipRRectAndPaint(
method clipRSuperellipseAndPaint (line 1123) | void clipRSuperellipseAndPaint(
method clipRectAndPaint (line 1143) | void clipRectAndPaint(
class MockBuildContext (line 1166) | class MockBuildContext extends _i1.Mock implements _i6.BuildContext {
method dependOnInheritedElement (line 1193) | _i6.InheritedWidget dependOnInheritedElement(
method visitAncestorElements (line 1214) | void visitAncestorElements(_i6.ConditionalElementVisitor? visitor)
method visitChildElements (line 1224) | void visitChildElements(_i6.ElementVisitor? visitor)
method dispatchNotification (line 1233) | void dispatchNotification(_i9.Notification? notification)
method describeElement (line 1243) | _i5.DiagnosticsNode describeElement(
method describeWidget (line 1264) | _i5.DiagnosticsNode describeWidget(
method describeMissingAncestor (line 1285) | List<_i5.DiagnosticsNode> describeMissingAncestor(
method describeOwnershipChain (line 1297) | _i5.DiagnosticsNode describeOwnershipChain(String? name)
class MockRadarChartPainter (line 1316) | class MockRadarChartPainter extends _i1.Mock implements _i10.RadarChartP...
method paint (line 1332) | void paint(
method getDefaultChartCenterValue (line 1350) | double getDefaultChartCenterValue()
method getChartCenterValue (line 1359) | double getChartCenterValue(_i13.RadarChartData? data)
method getScaledPoint (line 1368) | double getScaledPoint(
method getFirstTickValue (line 1386) | double getFirstTickValue(_i13.RadarChartData? data)
method getSpaceBetweenTicks (line 1395) | double getSpaceBetweenTicks(_i13.RadarChartData? data)
method drawTicks (line 1404) | void drawTicks(
method drawGrids (line 1422) | void drawGrids(
method drawTitles (line 1438) | void drawTitles(
method drawDataSets (line 1456) | void drawDataSets(
method handleTouch (line 1472) | _i13.RadarTouchedSpot? handleTouch(
method radarCenterY (line 1487) | double radarCenterY(_i2.Size? size)
method radarCenterX (line 1496) | double radarCenterX(_i2.Size? size)
method radarRadius (line 1505) | double radarRadius(_i2.Size? size)
method calculateDataSetsPosition (line 1514) | List<_i10.RadarDataSetsPosition> calculateDataSetsPosition(
FILE: test/chart/scatter_chart/scatter_chart_data_test.dart
function main (line 7) | void main()
FILE: test/chart/scatter_chart/scatter_chart_helper_test.dart
function main (line 7) | void main()
FILE: test/chart/scatter_chart/scatter_chart_painter_test.dart
function main (line 17) | void main()
FILE: test/chart/scatter_chart/scatter_chart_painter_test.mocks.dart
class _FakeRect_0 (line 32) | class _FakeRect_0 extends _i1.SmartFake implements _i2.Rect {
class _FakeCanvas_1 (line 42) | class _FakeCanvas_1 extends _i1.SmartFake implements _i2.Canvas {
class _FakeSize_2 (line 52) | class _FakeSize_2 extends _i1.SmartFake implements _i2.Size {
class _FakeWidget_3 (line 62) | class _FakeWidget_3 extends _i1.SmartFake implements _i3.Widget {
method toString (line 72) | String toString({_i3.DiagnosticLevel? minLevel = _i3.DiagnosticLevel.i...
class _FakeInheritedWidget_4 (line 76) | class _FakeInheritedWidget_4 extends _i1.SmartFake
method toString (line 87) | String toString({_i3.DiagnosticLevel? minLevel = _i3.DiagnosticLevel.i...
class _FakeDiagnosticsNode_5 (line 91) | class _FakeDiagnosticsNode_5 extends _i1.SmartFake
method toString (line 102) | String toString({
class _FakeOffset_6 (line 109) | class _FakeOffset_6 extends _i1.SmartFake implements _i2.Offset {
class _FakeBorderSide_7 (line 119) | class _FakeBorderSide_7 extends _i1.SmartFake implements _i3.BorderSide {
method toString (line 129) | String toString({_i3.DiagnosticLevel? minLevel = _i3.DiagnosticLevel.i...
class _FakeTextStyle_8 (line 133) | class _FakeTextStyle_8 extends _i1.SmartFake implements _i3.TextStyle {
method toString (line 143) | String toString({_i3.DiagnosticLevel? minLevel = _i3.DiagnosticLevel.i...
class MockCanvas (line 150) | class MockCanvas extends _i1.Mock implements _i2.Canvas {
method save (line 156) | void save()
method saveLayer (line 165) | void saveLayer(
method restore (line 181) | void restore()
method restoreToCount (line 190) | void restoreToCount(int? count)
method getSaveCount (line 199) | int getSaveCount()
method translate (line 208) | void translate(
method scale (line 224) | void scale(
method rotate (line 240) | void rotate(double? radians)
method skew (line 249) | void skew(
method transform (line 265) | void transform(_i5.Float64List? matrix4)
method getTransform (line 274) | _i5.Float64List getTransform()
method clipRect (line 283) | void clipRect(
method clipRRect (line 301) | void clipRRect(
method clipRSuperellipse (line 315) | void clipRSuperellipse(
method clipPath (line 329) | void clipPath(
method getLocalClipBounds (line 343) | _i2.Rect getLocalClipBounds()
method getDestinationClipBounds (line 358) | _i2.Rect getDestinationClipBounds()
method drawColor (line 373) | void drawColor(
method drawLine (line 389) | void drawLine(
method drawPaint (line 407) | void drawPaint(_i2.Paint? paint)
method drawRect (line 416) | void drawRect(
method drawRRect (line 432) | void drawRRect(
method drawDRRect (line 448) | void drawDRRect(
method drawRSuperellipse (line 466) | void drawRSuperellipse(
method drawOval (line 482) | void drawOval(
method drawCircle (line 498) | void drawCircle(
method drawArc (line 516) | void drawArc(
method drawPath (line 538) | void drawPath(
method drawImage (line 554) | void drawImage(
method drawImageRect (line 572) | void drawImageRect(
method drawImageNine (line 592) | void drawImageNine(
method drawPicture (line 612) | void drawPicture(_i2.Picture? picture)
method drawParagraph (line 621) | void drawParagraph(
method drawPoints (line 637) | void drawPoints(
method drawRawPoints (line 655) | void drawRawPoints(
method drawVertices (line 673) | void drawVertices(
method drawAtlas (line 691) | void drawAtlas(
method drawRawAtlas (line 717) | void drawRawAtlas(
method drawShadow (line 743) | void drawShadow(
class MockCanvasWrapper (line 766) | class MockCanvasWrapper extends _i1.Mock implements _i6.CanvasWrapper {
method drawRRect (line 790) | void drawRRect(
method save (line 806) | void save()
method restore (line 815) | void restore()
method clipRect (line 824) | void clipRect(
method translate (line 842) | void translate(
method rotate (line 858) | void rotate(double? radius)
method drawPath (line 867) | void drawPath(
method saveLayer (line 883) | void saveLayer(
method drawPicture (line 899) | void drawPicture(_i2.Picture? picture)
method drawImage (line 908) | void drawImage(
method clipPath (line 926) | void clipPath(
method drawRect (line 940) | void drawRect(
method drawLine (line 956) | void drawLine(
method drawCircle (line 974) | void drawCircle(
method drawArc (line 992) | void drawArc(
method drawText (line 1014) | void drawText(
method drawVerticalText (line 1032) | void drawVerticalText(
method drawDot (line 1050) | void drawDot(
method drawErrorIndicator (line 1068) | void drawErrorIndicator(
method drawRotated (line 1090) | void drawRotated({
method drawDashedLine (line 1113) | void drawDashedLine(
class MockBuildContext (line 1136) | class MockBuildContext extends _i1.Mock implements _i3.BuildContext {
method dependOnInheritedElement (line 1163) | _i3.InheritedWidget dependOnInheritedElement(
method visitAncestorElements (line 1184) | void visitAncestorElements(_i3.ConditionalElementVisitor? visitor)
method visitChildElements (line 1194) | void visitChildElements(_i3.ElementVisitor? visitor)
method dispatchNotification (line 1203) | void dispatchNotification(_i3.Notification? notification)
method describeElement (line 1213) | _i3.DiagnosticsNode describeElement(
method describeWidget (line 1234) | _i3.DiagnosticsNode describeWidget(
method describeMissingAncestor (line 1255) | List<_i3.DiagnosticsNode> describeMissingAncestor(
method describeOwnershipChain (line 1267) | _i3.DiagnosticsNode describeOwnershipChain(String? name)
class MockUtils (line 1286) | class MockUtils extends _i1.Mock implements _i8.Utils {
method radians (line 1292) | double radians(double? degrees)
method degrees (line 1301) | double degrees(double? radians)
method translateRotatedPosition (line 1310) | double translateRotatedPosition(
method calculateRotationOffset (line 1326) | _i2.Offset calculateRotationOffset(
method normalizeBorderRadius (line 1351) | _i3.BorderRadius? normalizeBorderRadius(
method normalizeBorderSide (line 1364) | _i3.BorderSide normalizeBorderSide(
method getEfficientInterval (line 1389) | double getEfficientInterval(
method roundInterval (line 1407) | double roundInterval(double? input)
method getFractionDigits (line 1416) | int getFractionDigits(double? value)
method formatNumber (line 1425) | String formatNumber(
method getThemeAwareTextStyle (line 1453) | _i3.TextStyle getThemeAwareTextStyle(
method getBestInitialIntervalValue (line 1478) | double getBestInitialIntervalValue(
method convertRadiusToSigma (line 1498) | double convertRadiusToSigma(double? radius)
FILE: test/chart/scatter_chart/scatter_chart_renderer_test.dart
function main (line 15) | void main()
FILE: test/chart/scatter_chart/scatter_chart_renderer_test.mocks.dart
class _FakeRect_0 (line 38) | class _FakeRect_0 extends _i1.SmartFake implements _i2.Rect {
class _FakeCanvas_1 (line 48) | class _FakeCanvas_1 extends _i1.SmartFake implements _i2.Canvas {
class _FakePaintingContext_2 (line 58) | class _FakePaintingContext_2 extends _i1.SmartFake
class _FakeColorFilterLayer_3 (line 69) | class _FakeColorFilterLayer_3 extends _i1.SmartFake
method toString (line 80) | String toString({_i5.DiagnosticLevel? minLevel = _i5.DiagnosticLevel.i...
class _FakeOpacityLayer_4 (line 84) | class _FakeOpacityLayer_4 extends _i1.SmartFake implements _i4.OpacityLa...
method toString (line 94) | String toString({_i5.DiagnosticLevel? minLevel = _i5.DiagnosticLevel.i...
class _FakeWidget_5 (line 98) | class _FakeWidget_5 extends _i1.SmartFake implements _i6.Widget {
method toString (line 108) | String toString({_i5.DiagnosticLevel? minLevel = _i5.DiagnosticLevel.i...
class _FakeInheritedWidget_6 (line 112) | class _FakeInheritedWidget_6 extends _i1.SmartFake
method toString (line 123) | String toString({_i5.DiagnosticLevel? minLevel = _i5.DiagnosticLevel.i...
class _FakeDiagnosticsNode_7 (line 127) | class _FakeDiagnosticsNode_7 extends _i1.SmartFake
method toString (line 138) | String toString({
class _FakeOffset_8 (line 145) | class _FakeOffset_8 extends _i1.SmartFake implements _i2.Offset {
class MockCanvas (line 158) | class MockCanvas extends _i1.Mock implements _i2.Canvas {
method save (line 164) | void save()
method saveLayer (line 173) | void saveLayer(
method restore (line 189) | void restore()
method restoreToCount (line 198) | void restoreToCount(int? count)
method getSaveCount (line 207) | int getSaveCount()
method translate (line 216) | void translate(
method scale (line 232) | void scale(
method rotate (line 248) | void rotate(double? radians)
method skew (line 257) | void skew(
method transform (line 273) | void transform(_i7.Float64List? matrix4)
method getTransform (line 282) | _i7.Float64List getTransform()
method clipRect (line 291) | void clipRect(
method clipRRect (line 309) | void clipRRect(
method clipRSuperellipse (line 323) | void clipRSuperellipse(
method clipPath (line 337) | void clipPath(
method getLocalClipBounds (line 351) | _i2.Rect getLocalClipBounds()
method getDestinationClipBounds (line 366) | _i2.Rect getDestinationClipBounds()
method drawColor (line 381) | void drawColor(
method drawLine (line 397) | void drawLine(
method drawPaint (line 415) | void drawPaint(_i2.Paint? paint)
method drawRect (line 424) | void drawRect(
method drawRRect (line 440) | void drawRRect(
method drawDRRect (line 456) | void drawDRRect(
method drawRSuperellipse (line 474) | void drawRSuperellipse(
method drawOval (line 490) | void drawOval(
method drawCircle (line 506) | void drawCircle(
method drawArc (line 524) | void drawArc(
method drawPath (line 546) | void drawPath(
method drawImage (line 562) | void drawImage(
method drawImageRect (line 580) | void drawImageRect(
method drawImageNine (line 600) | void drawImageNine(
method drawPicture (line 620) | void drawPicture(_i2.Picture? picture)
method drawParagraph (line 629) | void drawParagraph(
method drawPoints (line 645) | void drawPoints(
method drawRawPoints (line 663) | void drawRawPoints(
method drawVertices (line 681) | void drawVertices(
method drawAtlas (line 699) | void drawAtlas(
method drawRawAtlas (line 725) | void drawRawAtlas(
method drawShadow (line 751) | void drawShadow(
class MockPaintingContext (line 774) | class MockPaintingContext extends _i1.Mock implements _i3.PaintingContext {
method paintChild (line 798) | void paintChild(
method appendLayer (line 814) | void appendLayer(_i4.Layer? layer)
method addCompositionCallback (line 823) | _i2.VoidCallback addCompositionCallback(_i4.CompositionCallback? callb...
method stopRecordingIfNeeded (line 833) | void stopRecordingIfNeeded()
method setIsComplexHint (line 842) | void setIsComplexHint()
method setWillChangeHint (line 851) | void setWillChangeHint()
method addLayer (line 860) | void addLayer(_i4.Layer? layer)
method pushLayer (line 869) | void pushLayer(
method createChildContext (line 889) | _i3.PaintingContext createChildContext(
method pushClipRect (line 914) | _i4.ClipRectLayer? pushClipRect(
method pushClipRRect (line 937) | _i4.ClipRRectLayer? pushClipRRect(
method pushClipRSuperellipse (line 962) | _i4.ClipRSuperellipseLayer? pushClipRSuperellipse(
method pushClipPath (line 987) | _i4.ClipPathLayer? pushClipPath(
method pushColorFilter (line 1012) | _i4.ColorFilterLayer pushColorFilter(
method pushTransform (line 1043) | _i4.TransformLayer? pushTransform(
method pushOpacity (line 1062) | _i4.OpacityLayer pushOpacity(
method clipPathAndPaint (line 1093) | void clipPathAndPaint(
method clipRRec
Condensed preview — 345 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (3,049K chars).
[
{
"path": " .codecov.yml",
"chars": 362,
"preview": "comment:\n require_changes: true\n\ncoverage:\n status:\n project:\n default:\n target: auto\n threshold"
},
{
"path": ".github/FUNDING.yml",
"chars": 68,
"preview": "github: [imaNNeo]\ncustom: [\"https://www.buymeacoffee.com/fl_chart\"]\n"
},
{
"path": ".github/ISSUE_TEMPLATE/bug_report.md",
"chars": 659,
"preview": "---\nname: Bug report\nabout: Create a report to help us improve\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\n** Don't make a "
},
{
"path": ".github/ISSUE_TEMPLATE/feature_request.md",
"chars": 724,
"preview": "---\nname: Feature request\nabout: Suggest an idea for this project\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\n** Don't make"
},
{
"path": ".github/dependabot.yml",
"chars": 686,
"preview": "# To get started with Dependabot version updates, you'll need to specify which\n# package ecosystems to update and where "
},
{
"path": ".github/pull_request_template.md",
"chars": 2349,
"preview": "<!-- Exclude from commit message -->\n<!--\nThe title of your PR on the line above should start with a [Conventional Commi"
},
{
"path": ".github/workflows/claude.yml",
"chars": 1886,
"preview": "name: Claude Code\n\non:\n issue_comment:\n types: [created]\n pull_request_review_comment:\n types: [created]\n issue"
},
{
"path": ".github/workflows/codecov.yml",
"chars": 570,
"preview": "name: Code Coverage\n\non: [ push, pull_request ]\n\njobs:\n upload:\n runs-on: ubuntu-latest\n steps:\n - uses: act"
},
{
"path": ".github/workflows/gh-pages.yml",
"chars": 1095,
"preview": "name: Gh-Pages\n\non:\n push:\n branches: [ main ]\n\njobs:\n build:\n runs-on: ubuntu-latest\n\n steps:\n - uses: "
},
{
"path": ".github/workflows/pr-title-checker.yml",
"chars": 1106,
"preview": "name: \"Lint PR Title\"\n\non:\n pull_request_target:\n types:\n - opened\n - edited\n - synchronize\n\njobs:\n "
},
{
"path": ".github/workflows/publish.yml",
"chars": 322,
"preview": "name: Publish plugin\n\non:\n release:\n types: [ published ]\n\njobs:\n publish:\n\n runs-on: ubuntu-latest\n\n steps:\n"
},
{
"path": ".github/workflows/verification.yml",
"chars": 580,
"preview": "name: Code Verification\n\non: [ push, pull_request ]\n\njobs:\n verify:\n runs-on: ubuntu-latest\n steps:\n - name:"
},
{
"path": ".gitignore",
"chars": 471,
"preview": ".DS_Store\n.dart_tool/\n.idea/\n.packages\n.pub/\n\nbuild/\nios/.generated/\nios/Flutter/Generated.xcconfig\nios/Runner/Generated"
},
{
"path": ".metadata",
"chars": 307,
"preview": "# This file tracks properties of this Flutter project.\n# Used by Flutter tool to assess capabilities and perform upgrade"
},
{
"path": ".pubignore",
"chars": 21,
"preview": "/docs/*\n/repo_files/*"
},
{
"path": ".vscode/settings.json",
"chars": 319,
"preview": "{\n \"dart.lineLength\": 80,\n \"editor.formatOnSave\": true,\n \"editor.formatOnType\": true,\n \"editor.suggest.snippetsPreve"
},
{
"path": "CHANGELOG.md",
"chars": 68775,
"preview": "## 1.2.0\n* **BUGFIX** (by @imaNNeo) Consider the `enabled` property in [LineTouchData](https://github.com/imaNNeo/fl_cha"
},
{
"path": "CLAUDE.md",
"chars": 3709,
"preview": "# CLAUDE.md\n\nThis file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.\n\n## "
},
{
"path": "CONTRIBUTING.md",
"chars": 6362,
"preview": "# Contributing\nHello, we are glad to have a contributor like you here. \n\nDon't forget that `open-source` makes no sense"
},
{
"path": "LICENSE",
"chars": 1070,
"preview": "MIT License\n\nCopyright (c) 2022 Flutter 4 Fun\n\nPermission is hereby granted, free of charge, to any person obtaining a c"
},
{
"path": "Makefile",
"chars": 1110,
"preview": "ifeq ($(OS),Windows_NT)\n FIND_CMD=dir /S /B lib\\*.dart test\\*.dart | findstr /V .mocks.dart\nelse\n FIND_CMD=find lib te"
},
{
"path": "README.md",
"chars": 10284,
"preview": "\n\n[\n"
},
{
"path": "example/analysis_options.yaml",
"chars": 1420,
"preview": "# This file configures the analyzer, which statically analyzes Dart code to\n# check for errors, warnings, and lints.\n#\n#"
},
{
"path": "example/android/.gitignore",
"chars": 253,
"preview": "gradle-wrapper.jar\n/.gradle\n/captures/\n/gradlew\n/gradlew.bat\n/local.properties\nGeneratedPluginRegistrant.java\n.cxx/\n\n# R"
},
{
"path": "example/android/app/build.gradle.kts",
"chars": 1558,
"preview": "import java.util.Properties\nimport java.io.FileInputStream\n\nplugins {\n id(\"com.android.application\")\n id(\"kotlin-a"
},
{
"path": "example/android/app/src/debug/AndroidManifest.xml",
"chars": 378,
"preview": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\">\n <!-- The INTERNET permission is required for d"
},
{
"path": "example/android/app/src/main/AndroidManifest.xml",
"chars": 2557,
"preview": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\">\n <uses-permission android:name=\"android.permiss"
},
{
"path": "example/android/app/src/main/kotlin/dev/flchart/app/MainActivity.kt",
"chars": 117,
"preview": "package dev.flchart.app\n\nimport io.flutter.embedding.android.FlutterActivity\n\nclass MainActivity : FlutterActivity()\n"
},
{
"path": "example/android/app/src/main/res/drawable/launch_background.xml",
"chars": 434,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Modify this file to customize your launch splash screen -->\n<layer-list xmln"
},
{
"path": "example/android/app/src/main/res/drawable-v21/launch_background.xml",
"chars": 438,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Modify this file to customize your launch splash screen -->\n<layer-list xmln"
},
{
"path": "example/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml",
"chars": 265,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<adaptive-icon xmlns:android=\"http://schemas.android.com/apk/res/android\">\n <b"
},
{
"path": "example/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml",
"chars": 265,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<adaptive-icon xmlns:android=\"http://schemas.android.com/apk/res/android\">\n <b"
},
{
"path": "example/android/app/src/main/res/values/ic_launcher_background.xml",
"chars": 120,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n <color name=\"ic_launcher_background\">#282E45</color>\n</resources>"
},
{
"path": "example/android/app/src/main/res/values/styles.xml",
"chars": 996,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n <!-- Theme applied to the Android Window while the process is sta"
},
{
"path": "example/android/app/src/main/res/values-night/styles.xml",
"chars": 995,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n <!-- Theme applied to the Android Window while the process is sta"
},
{
"path": "example/android/app/src/profile/AndroidManifest.xml",
"chars": 378,
"preview": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\">\n <!-- The INTERNET permission is required for d"
},
{
"path": "example/android/build.gradle.kts",
"chars": 537,
"preview": "allprojects {\n repositories {\n google()\n mavenCentral()\n }\n}\n\nval newBuildDir: Directory =\n rootP"
},
{
"path": "example/android/gradle/wrapper/gradle-wrapper.properties",
"chars": 201,
"preview": "distributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\nzipStoreBase=GRADLE_USER_HOME\nzipStorePath=wrapper/dist"
},
{
"path": "example/android/gradle.properties",
"chars": 166,
"preview": "org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError\nandroid"
},
{
"path": "example/android/settings.gradle.kts",
"chars": 770,
"preview": "pluginManagement {\n val flutterSdkPath =\n run {\n val properties = java.util.Properties()\n "
},
{
"path": "example/assets/data/amsterdam_2024_weather.csv",
"chars": 133382,
"preview": "name,datetime,tempmax,tempmin,temp,feelslikemax,feelslikemin,feelslike,dew,humidity,precip,precipprob,precipcover,precip"
},
{
"path": "example/assets/data/bitcoin_2023-01-01_2023-12-31.csv",
"chars": 48541,
"preview": "Start,End,Open,High,Low,Close,Volume,Market Cap\n2023-12-31,2024-01-01,37100.9041846051,37694.17078259951,36977.38217867"
},
{
"path": "example/assets/data/btc_last_year_price.json",
"chars": 37900,
"preview": "{\n \"url\": \"https://api.coingecko.com/api/v3/coins/bitcoin/market_chart?vs_currency=eur&days=365\",\n \"prices\":[[17029440"
},
{
"path": "example/devtools_options.yaml",
"chars": 12,
"preview": "extensions:\n"
},
{
"path": "example/ios/.gitignore",
"chars": 569,
"preview": "**/dgph\n*.mode1v3\n*.mode2v3\n*.moved-aside\n*.pbxuser\n*.perspectivev3\n**/*sync/\n.sconsign.dblite\n.tags*\n**/.vagrant/\n**/De"
},
{
"path": "example/ios/Flutter/AppFrameworkInfo.plist",
"chars": 720,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "example/ios/Flutter/Debug.xcconfig",
"chars": 107,
"preview": "#include? \"Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig\"\n#include \"Generated.xcconfig\"\n"
},
{
"path": "example/ios/Flutter/Release.xcconfig",
"chars": 109,
"preview": "#include? \"Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig\"\n#include \"Generated.xcconfig\"\n"
},
{
"path": "example/ios/Podfile",
"chars": 1355,
"preview": "# Uncomment this line to define a global platform for your project\n# platform :ios, '13.0'\n\n# CocoaPods analytics sends "
},
{
"path": "example/ios/Runner/AppDelegate.swift",
"chars": 539,
"preview": "import Flutter\nimport UIKit\n\n@main\n@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate {\n overri"
},
{
"path": "example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json",
"chars": 217,
"preview": "{\n \"images\" : [\n {\n \"filename\" : \"app_logo_1024.jpg\",\n \"idiom\" : \"universal\",\n \"platform\" : \"ios\",\n "
},
{
"path": "example/ios/Runner/Assets.xcassets/Contents.json",
"chars": 63,
"preview": "{\n \"info\" : {\n \"author\" : \"xcode\",\n \"version\" : 1\n }\n}\n"
},
{
"path": "example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json",
"chars": 391,
"preview": "{\n \"images\" : [\n {\n \"idiom\" : \"universal\",\n \"filename\" : \"LaunchImage.png\",\n \"scale\" : \"1x\"\n },\n "
},
{
"path": "example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md",
"chars": 336,
"preview": "# Launch Screen Assets\n\nYou can customize the launch screen with your own desired assets by replacing the image files in"
},
{
"path": "example/ios/Runner/Base.lproj/LaunchScreen.storyboard",
"chars": 2377,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard"
},
{
"path": "example/ios/Runner/Base.lproj/Main.storyboard",
"chars": 1605,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard"
},
{
"path": "example/ios/Runner/Info.plist",
"chars": 2202,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "example/ios/Runner/Runner-Bridging-Header.h",
"chars": 38,
"preview": "#import \"GeneratedPluginRegistrant.h\"\n"
},
{
"path": "example/ios/Runner.xcodeproj/project.pbxproj",
"chars": 27227,
"preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 54;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
},
{
"path": "example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
"chars": 135,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n version = \"1.0\">\n <FileRef\n location = \"self:\">\n </FileRef"
},
{
"path": "example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
"chars": 238,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings",
"chars": 226,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme",
"chars": 3833,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n LastUpgradeVersion = \"1510\"\n version = \"1.3\">\n <BuildAction\n "
},
{
"path": "example/ios/Runner.xcworkspace/contents.xcworkspacedata",
"chars": 224,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n version = \"1.0\">\n <FileRef\n location = \"group:Runner.xcodepr"
},
{
"path": "example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
"chars": 238,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings",
"chars": 226,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "example/ios/RunnerTests/RunnerTests.swift",
"chars": 285,
"preview": "import Flutter\nimport UIKit\nimport XCTest\n\nclass RunnerTests: XCTestCase {\n\n func testExample() {\n // If you add cod"
},
{
"path": "example/lib/cubits/app/app_cubit.dart",
"chars": 1139,
"preview": "import 'package:fl_chart_app/urls.dart';\nimport 'package:fl_chart_app/util/app_utils.dart';\nimport 'package:flutter/foun"
},
{
"path": "example/lib/cubits/app/app_state.dart",
"chars": 1092,
"preview": "part of 'app_cubit.dart';\n\nclass AppState extends Equatable {\n final PackageInfo? currentPackageInfo;\n final String av"
},
{
"path": "example/lib/main.dart",
"chars": 1093,
"preview": "import 'package:fl_chart_app/cubits/app/app_cubit.dart';\nimport 'package:fl_chart_app/presentation/resources/app_resourc"
},
{
"path": "example/lib/presentation/menu/app_menu.dart",
"chars": 5450,
"preview": "import 'package:dartx/dartx.dart';\nimport 'package:fl_chart_app/cubits/app/app_cubit.dart';\nimport 'package:fl_chart_app"
},
{
"path": "example/lib/presentation/menu/fl_chart_banner.dart",
"chars": 959,
"preview": "import 'package:fl_chart_app/presentation/resources/app_resources.dart';\nimport 'package:flutter/material.dart';\nimport "
},
{
"path": "example/lib/presentation/menu/menu_row.dart",
"chars": 2549,
"preview": "import 'package:fl_chart_app/presentation/resources/app_resources.dart';\nimport 'package:flutter/material.dart';\nimport "
},
{
"path": "example/lib/presentation/pages/chart_samples_page.dart",
"chars": 1441,
"preview": "import 'package:fl_chart_app/presentation/resources/app_resources.dart';\nimport 'package:fl_chart_app/presentation/sampl"
},
{
"path": "example/lib/presentation/pages/home_page.dart",
"chars": 3853,
"preview": "import 'package:dartx/dartx.dart';\nimport 'package:fl_chart_app/cubits/app/app_cubit.dart';\nimport 'package:fl_chart_app"
},
{
"path": "example/lib/presentation/presentation_utils.dart",
"chars": 389,
"preview": "import 'package:flutter/cupertino.dart';\nimport 'package:intl/intl.dart';\n\nclass AppUtils {\n static String getFormatted"
},
{
"path": "example/lib/presentation/resources/app_assets.dart",
"chars": 764,
"preview": "import 'package:fl_chart_app/util/app_helper.dart';\n\nclass AppAssets {\n static String getChartIcon(ChartType type) {\n "
},
{
"path": "example/lib/presentation/resources/app_colors.dart",
"chars": 1196,
"preview": "import 'package:flutter/material.dart';\n\nclass AppColors {\n static const Color primary = contentColorCyan;\n static con"
},
{
"path": "example/lib/presentation/resources/app_dimens.dart",
"chars": 433,
"preview": "class AppDimens {\n static const double menuMaxNeededWidth = 304;\n static const double menuRowHeight = 74;\n static con"
},
{
"path": "example/lib/presentation/resources/app_resources.dart",
"chars": 103,
"preview": "export 'app_colors.dart';\nexport 'app_assets.dart';\nexport 'app_dimens.dart';\nexport 'app_texts.dart';\n"
},
{
"path": "example/lib/presentation/resources/app_texts.dart",
"chars": 60,
"preview": "class AppTexts {\n static const appName = 'FL Chart App';\n}\n"
},
{
"path": "example/lib/presentation/router/app_router.dart",
"chars": 1248,
"preview": "import 'package:fl_chart_app/presentation/pages/home_page.dart';\nimport 'package:fl_chart_app/presentation/resources/app"
},
{
"path": "example/lib/presentation/samples/bar/bar_chart_sample1.dart",
"chars": 9030,
"preview": "import 'dart:async';\nimport 'dart:math';\n\nimport 'package:fl_chart_app/presentation/resources/app_resources.dart';\nimpor"
},
{
"path": "example/lib/presentation/samples/bar/bar_chart_sample2.dart",
"chars": 9062,
"preview": "import 'package:fl_chart/fl_chart.dart';\nimport 'package:fl_chart_app/presentation/resources/app_resources.dart';\nimport"
},
{
"path": "example/lib/presentation/samples/bar/bar_chart_sample3.dart",
"chars": 3576,
"preview": "import 'package:fl_chart_app/presentation/resources/app_resources.dart';\nimport 'package:fl_chart_app/util/extensions/co"
},
{
"path": "example/lib/presentation/samples/bar/bar_chart_sample4.dart",
"chars": 12082,
"preview": "import 'package:fl_chart/fl_chart.dart';\nimport 'package:fl_chart_app/presentation/resources/app_resources.dart';\nimport"
},
{
"path": "example/lib/presentation/samples/bar/bar_chart_sample5.dart",
"chars": 12022,
"preview": "import 'package:fl_chart/fl_chart.dart';\nimport 'package:fl_chart_app/presentation/resources/app_resources.dart';\nimport"
},
{
"path": "example/lib/presentation/samples/bar/bar_chart_sample6.dart",
"chars": 4932,
"preview": "import 'package:fl_chart_app/presentation/resources/app_resources.dart';\nimport 'package:fl_chart_app/presentation/widge"
},
{
"path": "example/lib/presentation/samples/bar/bar_chart_sample7.dart",
"chars": 7471,
"preview": "import 'dart:math' as math;\n\nimport 'package:fl_chart/fl_chart.dart';\nimport 'package:fl_chart_app/presentation/resource"
},
{
"path": "example/lib/presentation/samples/bar/bar_chart_sample8.dart",
"chars": 4536,
"preview": "import 'dart:math';\n\nimport 'package:fl_chart/fl_chart.dart';\nimport 'package:fl_chart_app/presentation/resources/app_re"
},
{
"path": "example/lib/presentation/samples/candlestick/candlestick_chart_sample1.dart",
"chars": 10657,
"preview": "import 'package:equatable/equatable.dart';\nimport 'package:fl_chart/fl_chart.dart';\nimport 'package:fl_chart_app/present"
},
{
"path": "example/lib/presentation/samples/chart_sample.dart",
"chars": 1311,
"preview": "import 'package:fl_chart_app/urls.dart';\nimport 'package:fl_chart_app/util/app_helper.dart';\nimport 'package:flutter/cup"
},
{
"path": "example/lib/presentation/samples/chart_samples.dart",
"chars": 3259,
"preview": "import 'package:fl_chart_app/presentation/samples/candlestick/candlestick_chart_sample1.dart';\nimport 'package:fl_chart_"
},
{
"path": "example/lib/presentation/samples/line/line_chart_sample1.dart",
"chars": 9190,
"preview": "import 'package:fl_chart/fl_chart.dart';\nimport 'package:fl_chart_app/presentation/resources/app_resources.dart';\nimport"
},
{
"path": "example/lib/presentation/samples/line/line_chart_sample10.dart",
"chars": 4195,
"preview": "import 'dart:async';\nimport 'dart:math' as math;\n\nimport 'package:fl_chart/fl_chart.dart';\nimport 'package:fl_chart_app/"
},
{
"path": "example/lib/presentation/samples/line/line_chart_sample11.dart",
"chars": 5114,
"preview": "import 'package:fl_chart/fl_chart.dart';\nimport 'package:flutter/material.dart';\n\nclass LineChartSample11 extends Statef"
},
{
"path": "example/lib/presentation/samples/line/line_chart_sample12.dart",
"chars": 13423,
"preview": "import 'dart:convert';\n\nimport 'package:fl_chart/fl_chart.dart';\nimport 'package:fl_chart_app/presentation/presentation_"
},
{
"path": "example/lib/presentation/samples/line/line_chart_sample13.dart",
"chars": 15678,
"preview": "import 'package:equatable/equatable.dart';\nimport 'package:fl_chart/fl_chart.dart';\nimport 'package:fl_chart_app/present"
},
{
"path": "example/lib/presentation/samples/line/line_chart_sample2.dart",
"chars": 7198,
"preview": "import 'package:fl_chart/fl_chart.dart';\nimport 'package:fl_chart_app/presentation/resources/app_resources.dart';\nimport"
},
{
"path": "example/lib/presentation/samples/line/line_chart_sample3.dart",
"chars": 15785,
"preview": "import 'package:fl_chart/fl_chart.dart';\nimport 'package:fl_chart_app/presentation/resources/app_resources.dart';\nimport"
},
{
"path": "example/lib/presentation/samples/line/line_chart_sample4.dart",
"chars": 5039,
"preview": "import 'package:fl_chart/fl_chart.dart';\nimport 'package:fl_chart_app/presentation/resources/app_resources.dart';\nimport"
},
{
"path": "example/lib/presentation/samples/line/line_chart_sample5.dart",
"chars": 9076,
"preview": "import 'package:fl_chart/fl_chart.dart';\nimport 'package:fl_chart_app/presentation/resources/app_resources.dart';\nimport"
},
{
"path": "example/lib/presentation/samples/line/line_chart_sample6.dart",
"chars": 8626,
"preview": "import 'package:fl_chart_app/presentation/resources/app_resources.dart';\nimport 'package:fl_chart_app/util/extensions/co"
},
{
"path": "example/lib/presentation/samples/line/line_chart_sample7.dart",
"chars": 4608,
"preview": "import 'package:fl_chart/fl_chart.dart';\nimport 'package:fl_chart_app/presentation/resources/app_resources.dart';\nimport"
},
{
"path": "example/lib/presentation/samples/line/line_chart_sample8.dart",
"chars": 8746,
"preview": "import 'dart:async';\nimport 'dart:ui' as ui;\n\nimport 'package:fl_chart/fl_chart.dart';\nimport 'package:fl_chart_app/pres"
},
{
"path": "example/lib/presentation/samples/line/line_chart_sample9.dart",
"chars": 5382,
"preview": "import 'dart:math';\n\nimport 'package:fl_chart/fl_chart.dart';\nimport 'package:fl_chart_app/presentation/resources/app_re"
},
{
"path": "example/lib/presentation/samples/pie/pie_chart_sample1.dart",
"chars": 4388,
"preview": "import 'package:fl_chart/fl_chart.dart';\nimport 'package:fl_chart_app/presentation/resources/app_resources.dart';\nimport"
},
{
"path": "example/lib/presentation/samples/pie/pie_chart_sample2.dart",
"chars": 4815,
"preview": "import 'package:fl_chart_app/presentation/resources/app_resources.dart';\nimport 'package:fl_chart/fl_chart.dart';\nimport"
},
{
"path": "example/lib/presentation/samples/pie/pie_chart_sample3.dart",
"chars": 5421,
"preview": "import 'package:fl_chart_app/presentation/resources/app_resources.dart';\nimport 'package:fl_chart/fl_chart.dart';\nimport"
},
{
"path": "example/lib/presentation/samples/radar/radar_chart_sample1.dart",
"chars": 9161,
"preview": "import 'package:fl_chart_app/presentation/resources/app_resources.dart';\nimport 'package:fl_chart_app/util/extensions/co"
},
{
"path": "example/lib/presentation/samples/scatter/scatter_chart_sample1.dart",
"chars": 12523,
"preview": "import 'dart:math';\n\nimport 'package:fl_chart_app/presentation/resources/app_resources.dart';\nimport 'package:fl_chart/f"
},
{
"path": "example/lib/presentation/samples/scatter/scatter_chart_sample2.dart",
"chars": 7973,
"preview": "import 'dart:math';\n\nimport 'package:fl_chart_app/presentation/resources/app_resources.dart';\nimport 'package:fl_chart/f"
},
{
"path": "example/lib/presentation/widgets/chart_holder.dart",
"chars": 1553,
"preview": "import 'package:fl_chart_app/presentation/resources/app_resources.dart';\nimport 'package:fl_chart_app/presentation/sampl"
},
{
"path": "example/lib/presentation/widgets/download_native_app_button.dart",
"chars": 1841,
"preview": "import 'package:fl_chart_app/presentation/resources/app_colors.dart';\nimport 'package:flutter/material.dart';\n\nclass Dow"
},
{
"path": "example/lib/presentation/widgets/indicator.dart",
"chars": 923,
"preview": "import 'package:flutter/material.dart';\n\nclass Indicator extends StatelessWidget {\n const Indicator({\n super.key,\n "
},
{
"path": "example/lib/presentation/widgets/legend_widget.dart",
"chars": 1268,
"preview": "import 'package:flutter/material.dart';\n\nclass LegendWidget extends StatelessWidget {\n const LegendWidget({\n super.k"
},
{
"path": "example/lib/urls.dart",
"chars": 920,
"preview": "import 'package:fl_chart_app/util/app_helper.dart';\n\nclass Urls {\n static const flChartUrl = 'https://flchart.dev';\n s"
},
{
"path": "example/lib/util/app_helper.dart",
"chars": 677,
"preview": "import 'package:fl_chart_app/presentation/resources/app_resources.dart';\nimport 'package:fl_chart_app/urls.dart';\n\nenum "
},
{
"path": "example/lib/util/app_utils.dart",
"chars": 575,
"preview": "import 'dart:math' as math;\n\nimport 'package:url_launcher/url_launcher.dart';\n\nclass AppUtils {\n factory AppUtils() {\n "
},
{
"path": "example/lib/util/csv_parser.dart",
"chars": 1153,
"preview": "class CsvParser {\n static List<List<String>> parse(String rawCsvData) {\n final lines =\n rawCsvData.split('\\n'"
},
{
"path": "example/lib/util/device_info.dart",
"chars": 2051,
"preview": "import 'package:flutter/cupertino.dart';\nimport 'package:flutter/foundation.dart';\nimport 'package:universal_platform/un"
},
{
"path": "example/lib/util/extensions/color_extensions.dart",
"chars": 1433,
"preview": "import 'dart:ui';\n\nextension ColorExtension on Color {\n /// Convert the color to a darken color based on the [percent]\n"
},
{
"path": "example/lib/util/extensions/iterable_extensions.dart",
"chars": 119,
"preview": "extension IterableToMapExtension<K, V> on Iterable<MapEntry<K, V>> {\n Map<K, V> get asMap => Map.fromEntries(this);\n}\n"
},
{
"path": "example/lib/util/extensions/list_extensions.dart",
"chars": 111,
"preview": "extension ListToMapExtension<K, V> on List<MapEntry<K, V>> {\n Map<K, V> get asMap => Map.fromEntries(this);\n}\n"
},
{
"path": "example/linux/.gitignore",
"chars": 18,
"preview": "flutter/ephemeral\n"
},
{
"path": "example/linux/CMakeLists.txt",
"chars": 4752,
"preview": "# Project-level configuration.\ncmake_minimum_required(VERSION 3.13)\nproject(runner LANGUAGES CXX)\n\n# The name of the exe"
},
{
"path": "example/linux/flutter/CMakeLists.txt",
"chars": 2815,
"preview": "# This file controls Flutter-level build steps. It should not be edited.\ncmake_minimum_required(VERSION 3.10)\n\nset(EPHEM"
},
{
"path": "example/linux/flutter/generated_plugin_registrant.cc",
"chars": 434,
"preview": "//\n// Generated file. Do not edit.\n//\n\n// clang-format off\n\n#include \"generated_plugin_registrant.h\"\n\n#include <url_lau"
},
{
"path": "example/linux/flutter/generated_plugin_registrant.h",
"chars": 303,
"preview": "//\n// Generated file. Do not edit.\n//\n\n// clang-format off\n\n#ifndef GENERATED_PLUGIN_REGISTRANT_\n#define GENERATED_PLUG"
},
{
"path": "example/linux/flutter/generated_plugins.cmake",
"chars": 760,
"preview": "#\n# Generated file, do not edit.\n#\n\nlist(APPEND FLUTTER_PLUGIN_LIST\n url_launcher_linux\n)\n\nlist(APPEND FLUTTER_FFI_PLUG"
},
{
"path": "example/linux/main.cc",
"chars": 180,
"preview": "#include \"my_application.h\"\n\nint main(int argc, char** argv) {\n g_autoptr(MyApplication) app = my_application_new();\n "
},
{
"path": "example/linux/my_application.cc",
"chars": 3722,
"preview": "#include \"my_application.h\"\n\n#include <flutter_linux/flutter_linux.h>\n#ifdef GDK_WINDOWING_X11\n#include <gdk/gdkx.h>\n#en"
},
{
"path": "example/linux/my_application.h",
"chars": 388,
"preview": "#ifndef FLUTTER_MY_APPLICATION_H_\n#define FLUTTER_MY_APPLICATION_H_\n\n#include <gtk/gtk.h>\n\nG_DECLARE_FINAL_TYPE(MyApplic"
},
{
"path": "example/linux/runner/CMakeLists.txt",
"chars": 974,
"preview": "cmake_minimum_required(VERSION 3.13)\nproject(runner LANGUAGES CXX)\n\n# Define the application target. To change its name,"
},
{
"path": "example/linux/runner/main.cc",
"chars": 180,
"preview": "#include \"my_application.h\"\n\nint main(int argc, char** argv) {\n g_autoptr(MyApplication) app = my_application_new();\n "
},
{
"path": "example/linux/runner/my_application.cc",
"chars": 5356,
"preview": "#include \"my_application.h\"\n\n#include <flutter_linux/flutter_linux.h>\n#ifdef GDK_WINDOWING_X11\n#include <gdk/gdkx.h>\n#en"
},
{
"path": "example/linux/runner/my_application.h",
"chars": 388,
"preview": "#ifndef FLUTTER_MY_APPLICATION_H_\n#define FLUTTER_MY_APPLICATION_H_\n\n#include <gtk/gtk.h>\n\nG_DECLARE_FINAL_TYPE(MyApplic"
},
{
"path": "example/macos/.gitignore",
"chars": 89,
"preview": "# Flutter-related\n**/Flutter/ephemeral/\n**/Pods/\n\n# Xcode-related\n**/dgph\n**/xcuserdata/\n"
},
{
"path": "example/macos/Flutter/Flutter-Debug.xcconfig",
"chars": 125,
"preview": "#include? \"Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig\"\n#include \"ephemeral/Flutter-Generated.xccon"
},
{
"path": "example/macos/Flutter/Flutter-Release.xcconfig",
"chars": 127,
"preview": "#include? \"Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig\"\n#include \"ephemeral/Flutter-Generated.xcc"
},
{
"path": "example/macos/Flutter/GeneratedPluginRegistrant.swift",
"chars": 507,
"preview": "//\n// Generated file. Do not edit.\n//\n\nimport FlutterMacOS\nimport Foundation\n\nimport package_info_plus\nimport path_prov"
},
{
"path": "example/macos/Podfile",
"chars": 1330,
"preview": "platform :osx, '10.15'\n\n# CocoaPods analytics sends network stats synchronously affecting flutter build latency.\nENV['CO"
},
{
"path": "example/macos/Runner/AppDelegate.swift",
"chars": 311,
"preview": "import Cocoa\nimport FlutterMacOS\n\n@main\nclass AppDelegate: FlutterAppDelegate {\n override func applicationShouldTermina"
},
{
"path": "example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json",
"chars": 1291,
"preview": "{\n \"images\" : [\n {\n \"size\" : \"16x16\",\n \"idiom\" : \"mac\",\n \"filename\" : \"app_icon_16.png\",\n \"scale"
},
{
"path": "example/macos/Runner/Base.lproj/MainMenu.xib",
"chars": 23723,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.Cocoa.XIB\" version=\"3.0\" toolsVersion"
},
{
"path": "example/macos/Runner/Configs/AppInfo.xcconfig",
"chars": 616,
"preview": "// Application-level settings for the Runner target.\n//\n// This may be replaced with something auto-generated from metad"
},
{
"path": "example/macos/Runner/Configs/Debug.xcconfig",
"chars": 77,
"preview": "#include \"../../Flutter/Flutter-Debug.xcconfig\"\n#include \"Warnings.xcconfig\"\n"
},
{
"path": "example/macos/Runner/Configs/Release.xcconfig",
"chars": 79,
"preview": "#include \"../../Flutter/Flutter-Release.xcconfig\"\n#include \"Warnings.xcconfig\"\n"
},
{
"path": "example/macos/Runner/Configs/Warnings.xcconfig",
"chars": 580,
"preview": "WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverl"
},
{
"path": "example/macos/Runner/DebugProfile.entitlements",
"chars": 406,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "example/macos/Runner/Info.plist",
"chars": 1060,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "example/macos/Runner/MainFlutterWindow.swift",
"chars": 388,
"preview": "import Cocoa\nimport FlutterMacOS\n\nclass MainFlutterWindow: NSWindow {\n override func awakeFromNib() {\n let flutterVi"
},
{
"path": "example/macos/Runner/Release.entitlements",
"chars": 240,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "example/macos/Runner.xcodeproj/project.pbxproj",
"chars": 24869,
"preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 54;\n\tobjects = {\n\n/* Begin PBXAggregateTarget sec"
},
{
"path": "example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
"chars": 238,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme",
"chars": 3691,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n LastUpgradeVersion = \"1510\"\n version = \"1.3\">\n <BuildAction\n "
},
{
"path": "example/macos/Runner.xcworkspace/contents.xcworkspacedata",
"chars": 224,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n version = \"1.0\">\n <FileRef\n location = \"group:Runner.xcodepr"
},
{
"path": "example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
"chars": 238,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
},
{
"path": "example/macos/RunnerTests/RunnerTests.swift",
"chars": 290,
"preview": "import Cocoa\nimport FlutterMacOS\nimport XCTest\n\nclass RunnerTests: XCTestCase {\n\n func testExample() {\n // If you ad"
},
{
"path": "example/pubspec.yaml",
"chars": 872,
"preview": "name: fl_chart_app\ndescription: FL Chart App is an application to demonstrate samples of the fl_chart (A Flutter package"
},
{
"path": "example/web/CNAME",
"chars": 15,
"preview": "app.flchart.dev"
},
{
"path": "example/web/index.html",
"chars": 2773,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n <!--\n If you are serving your web app in a path other than the root, change the\n h"
},
{
"path": "example/web/manifest.json",
"chars": 920,
"preview": "{\n \"name\": \"FL Chart App\",\n \"short_name\": \"FL Chart App\",\n \"start_url\": \".\",\n \"display\": \"standalone\",\n \""
},
{
"path": "example/windows/.gitignore",
"chars": 291,
"preview": "flutter/ephemeral/\n\n# Visual Studio user-specific files.\n*.suo\n*.user\n*.userosscache\n*.sln.docstates\n\n# Visual Studio bu"
},
{
"path": "example/windows/CMakeLists.txt",
"chars": 4010,
"preview": "# Project-level configuration.\r\ncmake_minimum_required(VERSION 3.14)\r\nproject(fl_chart_app LANGUAGES CXX)\r\n\r\n# The name "
},
{
"path": "example/windows/flutter/CMakeLists.txt",
"chars": 3742,
"preview": "# This file controls Flutter-level build steps. It should not be edited.\ncmake_minimum_required(VERSION 3.14)\n\nset(EPHEM"
},
{
"path": "example/windows/flutter/generated_plugin_registrant.cc",
"chars": 324,
"preview": "//\n// Generated file. Do not edit.\n//\n\n// clang-format off\n\n#include \"generated_plugin_registrant.h\"\n\n#include <url_lau"
},
{
"path": "example/windows/flutter/generated_plugin_registrant.h",
"chars": 302,
"preview": "//\n// Generated file. Do not edit.\n//\n\n// clang-format off\n\n#ifndef GENERATED_PLUGIN_REGISTRANT_\n#define GENERATED_PLUG"
},
{
"path": "example/windows/flutter/generated_plugins.cmake",
"chars": 766,
"preview": "#\n# Generated file, do not edit.\n#\n\nlist(APPEND FLUTTER_PLUGIN_LIST\n url_launcher_windows\n)\n\nlist(APPEND FLUTTER_FFI_PL"
},
{
"path": "example/windows/runner/CMakeLists.txt",
"chars": 1836,
"preview": "cmake_minimum_required(VERSION 3.14)\r\nproject(runner LANGUAGES CXX)\r\n\r\n# Define the application target. To change its na"
},
{
"path": "example/windows/runner/Runner.rc",
"chars": 3053,
"preview": "// Microsoft Visual C++ generated resource script.\n//\n#pragma code_page(65001)\n#include \"resource.h\"\n\n#define APSTUDIO_R"
},
{
"path": "example/windows/runner/flutter_window.cpp",
"chars": 2193,
"preview": "#include \"flutter_window.h\"\r\n\r\n#include <optional>\r\n\r\n#include \"flutter/generated_plugin_registrant.h\"\r\n\r\nFlutterWindow:"
},
{
"path": "example/windows/runner/flutter_window.h",
"chars": 928,
"preview": "#ifndef RUNNER_FLUTTER_WINDOW_H_\n#define RUNNER_FLUTTER_WINDOW_H_\n\n#include <flutter/dart_project.h>\n#include <flutter/f"
},
{
"path": "example/windows/runner/main.cpp",
"chars": 1308,
"preview": "#include <flutter/dart_project.h>\r\n#include <flutter/flutter_view_controller.h>\r\n#include <windows.h>\r\n\r\n#include \"flutt"
},
{
"path": "example/windows/runner/resource.h",
"chars": 432,
"preview": "//{{NO_DEPENDENCIES}}\n// Microsoft Visual C++ generated include file.\n// Used by Runner.rc\n//\n#define IDI_APP_ICON "
},
{
"path": "example/windows/runner/runner.exe.manifest",
"chars": 874,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<assembly xmlns=\"urn:schemas-microsoft-com:asm.v1\" manifestVersi"
},
{
"path": "example/windows/runner/utils.cpp",
"chars": 1691,
"preview": "#include \"utils.h\"\n\n#include <flutter_windows.h>\n#include <io.h>\n#include <stdio.h>\n#include <windows.h>\n\n#include <iost"
},
{
"path": "example/windows/runner/utils.h",
"chars": 672,
"preview": "#ifndef RUNNER_UTILS_H_\n#define RUNNER_UTILS_H_\n\n#include <string>\n#include <vector>\n\n// Creates a console for the proce"
},
{
"path": "example/windows/runner/win32_window.cpp",
"chars": 8821,
"preview": "#include \"win32_window.h\"\r\n\r\n#include <dwmapi.h>\r\n#include <flutter_windows.h>\r\n\r\n#include \"resource.h\"\r\n\r\nnamespace {\r\n"
},
{
"path": "example/windows/runner/win32_window.h",
"chars": 3628,
"preview": "#ifndef RUNNER_WIN32_WINDOW_H_\r\n#define RUNNER_WIN32_WINDOW_H_\r\n\r\n#include <windows.h>\r\n\r\n#include <functional>\r\n#includ"
},
{
"path": "fl_chart.iml",
"chars": 854,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<module type=\"JAVA_MODULE\" version=\"4\">\n <component name=\"NewModuleRootManager\" "
},
{
"path": "lib/fl_chart.dart",
"chars": 975,
"preview": "export 'src/chart/bar_chart/bar_chart.dart';\nexport 'src/chart/bar_chart/bar_chart_data.dart';\nexport 'src/chart/base/ax"
},
{
"path": "lib/src/chart/bar_chart/bar_chart.dart",
"chars": 5851,
"preview": "import 'package:fl_chart/src/chart/bar_chart/bar_chart_data.dart';\nimport 'package:fl_chart/src/chart/bar_chart/bar_char"
},
{
"path": "lib/src/chart/bar_chart/bar_chart_data.dart",
"chars": 39487,
"preview": "// coverage:ignore-file\nimport 'dart:math';\nimport 'dart:ui';\n\nimport 'package:equatable/equatable.dart';\nimport 'packag"
},
{
"path": "lib/src/chart/bar_chart/bar_chart_helper.dart",
"chars": 1459,
"preview": "import 'dart:math';\n\nimport 'package:fl_chart/src/chart/bar_chart/bar_chart_data.dart';\n\n/// Contains anything that help"
},
{
"path": "lib/src/chart/bar_chart/bar_chart_painter.dart",
"chars": 31386,
"preview": "import 'dart:core';\nimport 'dart:math';\n\nimport 'package:fl_chart/fl_chart.dart';\nimport 'package:fl_chart/src/chart/bas"
},
{
"path": "lib/src/chart/bar_chart/bar_chart_renderer.dart",
"chars": 3931,
"preview": "import 'package:fl_chart/fl_chart.dart';\nimport 'package:fl_chart/src/chart/bar_chart/bar_chart_painter.dart';\nimport 'p"
},
{
"path": "lib/src/chart/base/axis_chart/axis_chart_data.dart",
"chars": 76558,
"preview": "// coverage:ignore-file\nimport 'dart:ui';\n\nimport 'package:equatable/equatable.dart';\nimport 'package:fl_chart/fl_chart."
},
{
"path": "lib/src/chart/base/axis_chart/axis_chart_extensions.dart",
"chars": 672,
"preview": "import 'package:fl_chart/fl_chart.dart';\n\nextension FlSpotListExtension on List<FlSpot> {\n /// Splits a line by [FlSpot"
},
{
"path": "lib/src/chart/base/axis_chart/axis_chart_helper.dart",
"chars": 3369,
"preview": "import 'package:fl_chart/fl_chart.dart';\nimport 'package:fl_chart/src/utils/utils.dart';\nimport 'package:flutter/materia"
},
{
"path": "lib/src/chart/base/axis_chart/axis_chart_painter.dart",
"chars": 18703,
"preview": "import 'package:fl_chart/fl_chart.dart';\nimport 'package:fl_chart/src/chart/bar_chart/bar_chart_painter.dart';\nimport 'p"
},
{
"path": "lib/src/chart/base/axis_chart/axis_chart_scaffold_widget.dart",
"chars": 10621,
"preview": "import 'package:fl_chart/src/chart/base/axis_chart/axis_chart_data.dart';\nimport 'package:fl_chart/src/chart/base/axis_c"
},
{
"path": "lib/src/chart/base/axis_chart/axis_chart_widgets.dart",
"chars": 4447,
"preview": "import 'package:fl_chart/fl_chart.dart';\nimport 'package:fl_chart/src/chart/base/axis_chart/axis_chart_helper.dart';\nimp"
},
{
"path": "lib/src/chart/base/axis_chart/scale_axis.dart",
"chars": 343,
"preview": "enum FlScaleAxis {\n /// Scales the horizontal axis.\n horizontal,\n\n /// Scales the vertical axis.\n vertical,\n\n /// S"
}
]
// ... and 145 more files (download for full content)
About this extraction
This page contains the full source code of the imaNNeo/fl_chart GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 345 files (2.8 MB), approximately 749.5k tokens, and a symbol index with 2704 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.