Julia可视化展示伦敦天气,比Python更简单数据分析
bigegpt 2024-12-17 11:24 44 浏览
Julia语言最近呼声特别高,被称作是代替Python新一代语言。在之前的文章我们已经跟Python、R的性能进行了测试,强悍的性能让Julia 应对大数据更加高效,结果参见这篇文章。
数据分析是机器学习的重要一环,而数据可视化能给人最直观的呈现。那 Julia 如何做数据可视化呢?别急,我们一步一步来上手,用好玩儿可视化来分析伦敦的气象。
配置环境
工欲善其事必先利其器,Julia 开发工具很多,那这里我们推荐用VSCode来开发。微软出品的 VSCode大家都不陌生了吧,简单好用且开源免费。那我们简单的配置一下环境,步骤如下:
- 访问 Julia官网,直接下载安装,步骤很简单,直接跟着说明走就OK了。
- 访问 VSCode官网,直接下载安装开发工具。
- 然后打开 VSCode,在左边的插件搜索栏里直接输入Julia。就可以搜索到Julia插件,点击安装即可。
使用REPL
在开发之前,我们得先引入一些所需库,只需要安装一次即可。
首先,打开terminal终端,在命令中输入 julia 命令,你就会启动一个 REPL,
其次,同时按住快捷键,快捷键如下:
- window系统的快捷键: Ctrl+Shift+P
- mac系统的快捷键: command + shift + P
最后,打开后会出现一系列命令,输入Julia关键字,找到后点击就可以打开终端了。
我用的是Mac OS,所以截图如下:
Julia 引入库
在Julia终端输入如下
julia> using Pkg
这句代码的意思是使用包管理,接着输入如下代码:
julia> Pkg.add("Plots")
接着继续添加包
julia> Pkg.add("CSV")
julia> Pkg.add("DataFrames")
别急,这些包添加完,一会儿就会用到。
我们在vscode里创建一个文件,命名为:myPlots.jl(Julia的扩展名是 jl)
确保你的命令窗口是也是开着的。你会看到如下界面:
Julia 图表
Julia 和其他语言一样,安装包之后,需要导入包来做数据可视化。使用代码如下:
using Plots
Plots 就是我们要使用的包。继续敲代码,我们来完成第一个可视化案例。
using Plots
x = 1:10; y = rand(10); # 生成绘图的数据
plot(x,y, label="my label")
运行代码,如下:
这段代码很简单,x 轴的范围(1到10),y 轴的rand随机数范围(0到1)。
饼状图
饼状图,跟上面的例子一样简单,代码如下:
x = 1:5; y = rand(5); # 绘制饼状图数据,rand随机5个数(范围0到1)
pie(x,y)
运行这段代码,生成饼状图如下:
下面我们用一些真实的数据,简单的对伦敦的气象进行数据分析。
天气数据
这组气象数据是来自英国气象局提供的,记录过去几十年伦敦的气象。这组数据按月统计,包含:
- 年
- 月
- 最高温
- 最低温
- 降雨量
- 日照时间
下面的例子仅仅是2018年的数据集,这里我们先导入 CSV 包。
using CSV
d = CSV.read("/juliaplot/london2018.csv")
print(d)
运行这段代码,读取的结果就下表一样:
月度最高温(柱状图)
获取到每一个月的最高温度,用柱状图展示,代码如下:
using Plots
using CSV
d = CSV.read("/juliaplot/london2018.csv")
bar(d.Month,d.Tmax)
这段代码很简单,运行代码,柱状图展示如下:
折线图
横轴 x 表示每个月,纵轴 y 表示温度。我们也可以用折线图来展示,代码如下:
plot(d.Month, d.Tmax)
如果你想获取最高温和最低温,代码改动如下:
plot(d.Month, [d.Tmax, d.Tmin], label=["Tmax","Tmin"])
散点图
散点图常常用来寻找一组数据的规律。这次我们用散点图来绘制,看看光照和温度的规律:
- 横轴展示温度变化
- 纵轴展示光照时长
scatter(d.Tmax, d.Sun)
通过散点图观察,可以看到光照时间越长,温度越高。
直方图
这里我们导入伦敦最近几十年的气象数据。用直方图展示大数据量,来反应降水量的等级分布,代码如下 :
using Plots
using CSV
d2 = CSV.read("/juliaplot/londonweather.csv")
histogram(d2.Rain, label="Rainfall")
运行这段代码,展示降雨量等级分布,直方图呈现如下:
保存图表
这些图表不仅仅可以在 VSCode里呈现,也可以保存到我们自己的文件夹里。保存文件代码如下:
histogram(d2.Rain, label="Rainfall")
savefig("/juliaplot/myhistogram.png")
这里我们用伦敦气象数据,来简单做了几组好玩儿的数据分析。主要目的是演示Plots图表库,也展示一下Julia的简洁语法,确实很好玩。这里只是抛砖引玉,大家可以用Julia 进行更复杂的数据分析,用Plots来展示几组复杂的图表案例。
彩蛋
最后把上述用到的两组数据集分享出来,供大家练手,都是CSV格式的。除了Julia,我会用终端来玩一些有趣的 AI 案例,比如:
- Angular + TensorFlow
- Flutter + TensorFlow
- Julia 量化交易
对人工智能感兴趣的小伙伴可以关注我哟~
伦敦2018年的气象数据集:
https://raw.githubusercontent.com/alanjones2/dataviz/master/london2018.csv
伦敦几十年的气象数据集:https://raw.githubusercontent.com/alanjones2/dataviz/995f48b31ab4b9a1af32352042b5e6cfe83ebf3b/londonweather.csv
参考:https://towardsdatascience.com/data-visualization-with-julia-and-vscode-168a69f7ddf8
相关推荐
- 了解Linux目录,那你就了解了一半的Linux系统
-
大到公司或者社群再小到个人要利用Linux来开发产品的人实在是多如牛毛,每个人都用自己的标准来配置文件或者设置目录,那么未来的Linux则就是一团乱麻,也对管理造成许多麻烦。后来,就有所谓的FHS(F...
- Linux命令,这些操作要注意!(linux命令?)
-
刚玩Linux的人总觉得自己在演黑客电影,直到手滑输错命令把公司服务器删库,这才发现命令行根本不是随便乱用的,而是“生死簿”。今天直接上干货,告诉你哪些命令用好了封神!喜欢的一键三连,谢谢观众老爷!!...
- Linux 命令速查手册:这 30 个高频指令,拯救 90% 的运维小白!
-
在Linux系统的世界里,命令行是强大的武器。对于运维小白而言,掌握一些高频使用的Linux命令,能极大提升工作效率,轻松应对各种系统管理任务。今天,就为大家奉上精心整理的30个Linu...
- linux必学的60个命令(linux必学的20个命令)
-
以下是Linux必学的20个基础命令:1.cd:切换目录2.ls:列出文件和目录3.mkdir:创建目录4.rm:删除文件或目录5.cp:复制文件或目录6.mv:移动/重命名文件或目录7....
- 提高工作效率的--Linux常用命令,能够决解95%以上的问题
-
点击上方关注,第一时间接受干货转发,点赞,收藏,不如一次关注评论区第一条注意查看回复:Linux命令获取linux常用命令大全pdf+Linux命令行大全pdf为什么要学习Linux命令?1、因为Li...
- 15 个实用 Linux 命令(linux命令用法及举例)
-
Linux命令行是系统管理员、开发者和技术爱好者的强大工具。掌握实用命令不仅能提高效率,还能解锁Linux系统的无限潜力,本文将深入介绍15个实用Linux命令。ls-列出目录内容l...
- Linux 常用命令集合(linux常用命令全集)
-
系统信息arch显示机器的处理器架构(1)uname-m显示机器的处理器架构(2)uname-r显示正在使用的内核版本dmidecode-q显示硬件系统部件-(SMBIOS/DM...
- Linux的常用命令就是记不住,怎么办?
-
1.帮助命令1.1help命令#语法格式:命令--help#作用:查看某个命令的帮助信息#示例:#ls--help查看ls命令的帮助信息#netst...
- Linux常用文件操作命令(linux常用文件操作命令有哪些)
-
ls命令在Linux维护工作中,经常使用ls这个命令,这是最基本的命令,来写几条常用的ls命令。先来查看一下使用的ls版本#ls--versionls(GNUcoreutils)8.4...
- Linux 常用命令(linux常用命令)
-
日志排查类操作命令查看日志cat/var/log/messages、tail-fxxx.log搜索关键词grep"error"xxx.log多条件过滤`grep-E...
- 简单粗暴收藏版:Linux常用命令大汇总
-
号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部下午好,我的网工朋友在Linux系统中,命令行界面(CLI)是管理员和开发人员最常用的工具之一。通过命令行,用户可...
- 「Linux」linux常用基本命令(linux常用基本命令和用法)
-
Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用的基本命令分享给大家一下,希望可以帮助你们。总结送免费学习资料(包含视频、技术学习路线图谱、文档等)1、显示日期的指令:d...
- Linux的常用命令就是记不住,怎么办?于是推出了这套教程
-
1.帮助命令1.1help命令#语法格式:命令--help#作用:查看某个命令的帮助信息#示例:#ls--help查看ls命令的帮助信息#netst...
- Linux的30个常用命令汇总,运维大神必掌握技能!
-
以下是Linux系统中最常用的30个命令,精简版覆盖日常操作核心需求,适合快速掌握:一、文件/目录操作1.`ls`-列出目录内容`ls-l`(详细信息)|`ls-a`(显示隐藏文件)...
- Linux/Unix 系统中非常常用的命令
-
Linux/Unix系统中非常常用的命令,它们是进行文件操作、文本处理、权限管理等任务的基础。下面是对这些命令的简要说明:**文件操作类:*****`ls`(list):**列出目录内容,显...
- 一周热门
- 最近发表
- 标签列表
-
- mybatiscollection (79)
- mqtt服务器 (88)
- keyerror (78)
- c#map (65)
- resize函数 (64)
- xftp6 (83)
- bt搜索 (75)
- c#var (76)
- mybatis大于等于 (64)
- xcode-select (66)
- mysql授权 (74)
- 下载测试 (70)
- linuxlink (65)
- pythonwget (67)
- androidinclude (65)
- logstashinput (65)
- hadoop端口 (65)
- vue阻止冒泡 (67)
- oracle时间戳转换日期 (64)
- jquery跨域 (68)
- php写入文件 (73)
- kafkatools (66)
- mysql导出数据库 (66)
- jquery鼠标移入移出 (71)
- 取小数点后两位的函数 (73)