新聞中心
Flutter圖表庫fl_chart的使用解析(二)-折線圖
附上開發(fā)環(huán)境:
宣化網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),宣化網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為宣化千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的宣化做網(wǎng)站的公司定做!
折線圖是一個 Widget,和普通 Widget一樣聲明即可:
LineChart 的構(gòu)造參數(shù)是一個 LineChartData,其屬性如下:
配置了三條線,所以 lineBarsData 對應(yīng)的數(shù)組有三個元素。
看下 LineChartBarData 屬性:
圖表四個方向的邊框,有總顯示開關(guān),決定是否顯示和隱藏所有,如果開啟,又想隱藏個別邊框,需要設(shè)置透明色。
FlBorderData 對應(yīng)邊框信息,有兩個參數(shù), show 就是顯示與隱藏的邊框, border 是邊框數(shù)據(jù)。
FlTitlesData 可以配置4條坐標(biāo)軸,也有一個總開關(guān),如果要顯示坐標(biāo)軸,就設(shè)為 true ,然后配置對應(yīng)位置的數(shù)據(jù):
每個位置對應(yīng)的是 SideTitles ,設(shè)置如下:
標(biāo)題是顯示在坐標(biāo)軸后面的文字標(biāo)題,每個軸對應(yīng)一個。
附上源碼
fluttercharts設(shè)置y軸最大值
設(shè)置如下:
輸入OD成本矩陣所需要的輸入元素是至少1個起始點與至少1個目的點。
當(dāng)起始點和目的點都是1個時,就成了最短路徑分析了,只不過看不到代表最短路徑的那條折線了。
通常,我們可以通過批量導(dǎo)入起始點和目的地點,而不用手工去打。
分析設(shè)置
和最短路徑分析類似,在輸出Shape中只有“無”、“直線”兩個選項。
多了兩個新的設(shè)置參數(shù):中斷值和要查找的目的地。
中斷值:當(dāng)超過給定的中斷值(搜索半徑),就認(rèn)為目的點不能到達(dá),就不作為結(jié)果。例如,超過1000km的距離的城市,就不算了,比如北京和廣州。
要查找的目的地:這個數(shù)值要小于等于目的點的個數(shù),默認(rèn)和目的點個數(shù)相等。如果給了一個值n,那么就會取該起始點的前n個最近目的點。
談一談 charts_flutter的折線圖表
記錄一下charts_flutter 的使用過程
1.先在pubspec.yaml添加chart包依賴
我這里使用的版本是
2.定義數(shù)據(jù)類型
3.定義數(shù)據(jù)源
如下圖所示,下圖為兩條線同理可加兩條線
Flutter 56: 圖解自定義 BubbleWidget 氣泡插件
小菜在學(xué)習(xí)時需要用到氣泡效果,為了更加靈活,小菜封裝了一個簡單的 flutter_bubble 氣泡插件,方便日常的使用;
小菜準(zhǔn)備用 Canvas 的 drawPath 進(jìn)行繪制,主要分為三個部分,圓角弧線,普通直線,尖角折線,均可由 drawPath 自帶方法繪制;小菜以前整理過關(guān)于 Canvas 繪制的小博客,實現(xiàn)很簡單;
小菜繪制了一個簡陋的原型圖,整體黑框為 Bubble Widget 整體范圍;藍(lán)色圓弧為圓角位置;紅色尖角可根據(jù)上下左右參數(shù)進(jìn)行配置,且只可展示一個,尖角的高度和角度可自由配置,當(dāng)確定一個尖角位置時,其余三個方向?qū)捀哐由斓胶诳虿糠?;而橙線則是連接圓角與尖角等直線;中間空余部分為子 Widget 位置; Tips: Child Widget 寬高小于等于 Bubble Widget ;
首先在邊角處繪制四個圓弧,直接用 arcTo 即可,需要注意的是:小菜整體以 drawPath 方式實現(xiàn),準(zhǔn)備從左上角開始順時針繪制,所以繪制圓弧時也是順時針方向;
小菜理解, Rect 為繪制圓角的矩形,包括位置及大??; startAngele 為起始角度; sweepAngle 為繪制弧形角度;小菜需要的四個圓弧大小均為 pi/2 ,只需調(diào)整矩形位置與起始角度即可;
其次繪制尖角,小菜的尖角是由 lineTo 兩段直線拼接起來的,只需要處理起點與終點即可;小菜為了更加靈活,可以設(shè)置尖角高度與尖角角度(0 ~ 180),通過三角函數(shù)進(jìn)行計算;
最后就是將處理好的連接起來,小菜為了適應(yīng)更多場景,尖角位置也可自由配置,長度為到圓角的距離,默認(rèn)為邊框中間位置;
小菜將配置邏輯編輯好發(fā)布到 Pub 庫,基本 BubbleWidget 便完成,簡單分析一下可配置項;
自定義 Bubble Widget 是小菜發(fā)布的第二款 Pub 插件,還有很多不完善的地方,如有錯誤請多多指導(dǎo)!
程序員的開源月刊《HelloGitHub》第 68 期
HelloGitHub 分享 GitHub 上有趣、入門級的開源項目。
這里有實戰(zhàn)項目、入門教程、黑 科技 、開源書籍、大廠開源項目等,涵蓋多種編程語言 Python、Java、Go、C/C++、Swift...讓你在短時間內(nèi)感受到開源的魅力,對編程產(chǎn)生興趣!
1、 toybox :該項目將 200 多個常用的 Linux 命令行工具,做成一個可執(zhí)行文件。從而可以讓 Android 這種原本不支持 Linux 命令的系統(tǒng),也得以用上 ls、find、ps 等命令。還可以用于快速構(gòu)建最小的 Linux 環(huán)境
2、 the_silver_searcher :比 ack 更快的命令行搜索工具。速度快、功能強大、使用簡單,支持 Linux、Windows、macOS 操作系統(tǒng),還能夠整合進(jìn) Vim 和 Emacs 等編輯器
3、 WindTerm :支持 SSH/Telnet/Serial/Shell/Sftp 的終端工具。雖然該軟件完全免費,但部分代碼尚未完全開源,對安全敏感的同學(xué)可以再觀望下
4、 wavefunctioncollapse :基于波函數(shù)坍縮 (WFC) 算法,實現(xiàn)的無限城市示例。城市里有房子、樓梯、樹木、連接房屋的通道,你可以在城市中自由移動、跳躍、飛行,但不論你怎么移動都找不到盡頭,因為這座城市會無限延伸
5、 NETworkManager :管理和解決網(wǎng)絡(luò)問題的工具。它集成了 IP 和端口掃描、WiFi 分析器、跟蹤路由、DNS 查詢等工具
6、 ppsspp :能夠運行在 Android 和 PC 上的開源 PSP 模擬器
7、 leocad :用來創(chuàng)建虛擬樂高模型的 CAD 工具。適用于 Windows、Linux 和 macOS 系統(tǒng)
8、 csshake :用 CSS 實現(xiàn)抖動效果
9、 MangoDB :真正開源的 MongoDB 替代品。它底層采用 PostgreSQL 作為存儲引擎,用 Go 語言實現(xiàn)了 MongoDB 協(xié)議,所以幾乎兼容所有的 MongoDB 庫,遷移起來毫無負(fù)擔(dān)。如果你用不到 MongoDB 的高級功能,還受限于它的開源協(xié)議,那么這個項目可作為 MongoDB 的開源替代方案。它才剛剛起步,建議觀望一段時間或做足測試再用于生產(chǎn)環(huán)境
10、 caddy :用 Go 編寫的輕量級 Web 服務(wù)器。它相較于 Apache、Nginx 這些知名 Web 服務(wù)器,獨特點在于提供了編譯好的可執(zhí)行文件,實現(xiàn)了真正的開箱即用。無需任何配置即可擁有免費的 HTTPS、自動把 Markdown 文件轉(zhuǎn)化成 HTML 等人性化的功能。如果是搭建中小型的 Web 服務(wù),它完全夠用而且省時省心
11、 croc :可以讓任意兩臺計算機,安全方便地傳輸文件和文件夾的工具。輕松實現(xiàn)端到端加密的跨平臺文件傳輸,還支持多文件傳輸、傳輸中斷和恢復(fù)等功能
12、 jnativehook :獲取鍵盤和鼠標(biāo)事件的 Java 庫。輕松監(jiān)聽按鍵、鼠標(biāo)移動、點擊等事件
13、 spider-flow :用流程圖的方式編寫爬蟲的平臺。無需寫代碼就可以快速完成一個簡單的爬蟲
14、 greenDAO :高性能的 Android ORM 庫。擁有體積小、易于使用、支持?jǐn)?shù)據(jù)庫加密等特點,通過它 Android 開發(fā)者可以采用面向?qū)ο蟮姆绞讲僮鲾?shù)據(jù)庫,不需要再手寫和拼接 SQL 啦
15、 vue-color-avatar :純前端實現(xiàn)的矢量風(fēng)格頭像生成網(wǎng)站??梢酝ㄟ^搭配不同的素材,生成個性化頭像。該項目使用 Vite + Vue3 開發(fā),能夠幫助前端初學(xué)者熟悉 Vue3 語法并掌握項目搭建的相關(guān)知識
16、 colorfu :自動生成由文字/顏色/圖片/紋理元素組成的壁紙
17、 pm2 :Node.js 的進(jìn)程管理工具。它容易上手操作簡單,可以有效地提高 Node.js 程序運行的穩(wěn)定性,支持自動重啟、負(fù)載均衡、不停服務(wù)重啟、性能監(jiān)控等功能,多用于生產(chǎn)環(huán)境中管理、監(jiān)控 Node.js 進(jìn)程
18、 automa :通過圖形化界面拖拽功能模塊,實現(xiàn)瀏覽器自動操作的擴展工具。輕松實現(xiàn)自動填表、截圖、定時執(zhí)行等操作。讓瀏覽器自動完成預(yù)設(shè)工作流的插件,從而減少重復(fù)性操作提高效率
19、 PyWebIO :快速構(gòu)建 Web 應(yīng)用的 Python 工具。通過該項目你可在不寫 HTML、CSS、JS 代碼的前提下,僅用 Python 快速完成一個包含數(shù)據(jù)展示、表單的小型 Web 應(yīng)用頁面
20、 pottery :以 Python 的方式操作 Redis 的庫。忘記那些 Redis 命令吧,只要你知道如何使用 Python 字典,那么你就會用這個庫操作 Redis
21、 zulip :完全開源的企業(yè)級即時通訊項目。后端采用 Python 語言實現(xiàn)性能足夠強大,功能齊全相當(dāng)于開源、免費的 Slack,擁有拖拽上傳文件、代碼高亮、Markdown 語法、應(yīng)用整合、容易接入的 API 等功能,還支持 Web、PC、iOS 和 Android 主流平臺,眾多知名企業(yè)都在用,能夠有效地提高團(tuán)隊溝通和辦公效率。同時該項目對新手用戶友好,如果你想加入一個不錯的 Python 開源項目,推薦你花時間研究下它一定會有所收獲
22、 webssh :簡單的 SSH 連接服務(wù)器的 Python Web 應(yīng)用。該項目后端采用 Tornado Web 框架和 Python SSH 庫 paramiko,前端是 TypeScript 寫的命令行前端組件 Xterm.js 實現(xiàn)。整個項目簡單還具有實用價值,可作為 Python Web 的實戰(zhàn)項目學(xué)習(xí)
23、 django-debug-toolbar :Django 的調(diào)試工具欄??娠@示當(dāng)前請求和響應(yīng)有關(guān)的各種調(diào)試信息,包括耗時、SQL、配置、性能等信息
24、 hyperfine :命令行基準(zhǔn)測試工具??捎脕聿榭春蛯Ρ让畹暮臅r,支持多次運行的統(tǒng)計分析、結(jié)果導(dǎo)出等功能
25、 xcode-dev-cleaner :用于清理各種 Xcode 的緩存數(shù)據(jù),釋放存儲空間。注意是清除 Xcode 緩存數(shù)據(jù),不是卸載 Xcode 哈
26、 toml :更易讀和易于維護(hù)的配置文件格式。如果你厭倦了 INI 的局限性、層層嵌套的 JSON 和 YAML 令人心驚膽戰(zhàn)的縮進(jìn)語法,不防給 TOML 一個機會,它支持多種數(shù)據(jù)類型、拋棄了縮進(jìn)和嵌套,而且眾多流行編程語言都有對應(yīng)的庫。TOML 已經(jīng)足夠成熟,絕對值得一試
27、 waka-readme-stats :自動在 GitHub 個人首頁展示編程時長的工具。該項目通過 WakaTime 記錄用戶在 IDE 的使用時間,統(tǒng)計編程時長和數(shù)據(jù),然后采用 GitHub Action 自動獲取并動態(tài)更新到 GitHub 個人首頁。輕而易舉地展示自己的編程時長
28、 PathPlanning :常見的路徑規(guī)劃算法集合。項目包含了 Python 代碼實現(xiàn)、運行過程動畫以及相關(guān)論文
29、 howdy :為 Linux 系統(tǒng)提供人臉識別解鎖電腦的工具。通過電腦內(nèi)置的攝像頭和紅外設(shè)備,實現(xiàn)了類似 Windows Hello 風(fēng)格的身份認(rèn)證,可用于登陸、鎖屏、sudo 等任何需要輸入密碼的地方
30、 The-Open-Book :開源的電子水墨屏閱讀設(shè)備。動手能力強的同學(xué)可跟著這個項目,從焊電路板開始親手制作出一個類 Kindle 的 4.2 英寸閱讀設(shè)備
31、 fl_chart :Flutter 圖表庫。它支持折線圖、條形圖、餅圖、散點圖和雷達(dá)圖
32、 ugo-compiler-book :《從頭開發(fā)一個迷你 Go 語言》該書教你從頭實現(xiàn)迷你 Go 語言,內(nèi)容包含了詞法解析、語法樹構(gòu)建、函數(shù)閉包、接口、CGO 的實現(xiàn)等內(nèi)容
33、 archbase :教科書《計算機體系結(jié)構(gòu)基礎(chǔ)》第三版
34、 spring-in-action-v6-translate :《Spring 實戰(zhàn)第 6 版》中文翻譯
35、 best_AI_papers_2021 :2021 年必看的人工智能論文列表。該項目不是簡單的羅列論文,它不僅包含相關(guān)論文的代碼、效果展示,還有深入的文章和講解視頻。通過學(xué)習(xí)這些前沿的人工智能論文,提前了解 AI 在未來更多可能性
36、 AnimeGANv2 :可以將圖片和視頻轉(zhuǎn)換成漫畫風(fēng)格的工具。采用的是神經(jīng)風(fēng)格遷移+生成對抗網(wǎng)絡(luò)(GAN)的組合,轉(zhuǎn)換速度快
感謝您的閱讀,如果覺得內(nèi)容還不錯的話 求贊、求分享 ,您的每一次支持都將讓 HelloGitHub 變得更好!
文章題目:flutter折線,fluent折線圖
轉(zhuǎn)載注明:http://fisionsoft.com.cn/article/dsdsghp.html