Julia语言最近呼声特别高,被称作是代替Python新一代语言。在之前的文章我们已经跟Python、R的性能进行了测试,强悍的性能让Julia 应对大数据更加高效,结果参见这篇文章。
《向Python、R宣战,Julia读取CSV性能大比拼》

Julia 数据可视化
数据分析是机器学习的重要一环,而数据可视化能给人最直观的呈现。那 Julia 如何做数据可视化呢?别急,我们一步一步来上手,用好玩儿可视化来分析伦敦的气象。
配置环境
工欲善其事必先利其器,Julia 开发工具很多,那这里我们推荐用VSCode来开发。微软出品的 VSCode大家都不陌生了吧,简单好用且开源免费。那我们简单的配置一下环境,步骤如下:
- 访问 Julia官网,直接下载安装,步骤很简单,直接跟着说明走就OK了。
- 访问 VSCode官网,直接下载安装开发工具。
- 然后打开 VSCode,在左边的插件搜索栏里直接输入Julia。就可以搜索到Julia插件,点击安装即可。

Julia插件
使用REPL
在开发之前,我们得先引入一些所需库,只需要安装一次即可。
首先,打开terminal终端,在命令中输入 julia 命令,你就会启动一个 REPL,
其次,同时按住快捷键,快捷键如下:
- window系统的快捷键: Ctrl+Shift+P
- mac系统的快捷键: command + shift + P
最后,打开后会出现一系列命令,输入Julia关键字,找到后点击就可以打开终端了。
我用的是Mac OS,所以截图如下:

Mac 下使用快捷键
Julia 引入库
在Julia终端输入如下
julia> using Pkg这句代码的意思是使用包管理,接着输入如下代码:
julia> Pkg.add("Plots")接着继续添加包
julia> Pkg.add("CSV")julia> Pkg.add("DataFrames")别急,这些包添加完,一会儿就会用到。
我们在vscode里创建一个文件,命名为:myPlots.jl(Julia的扩展名是 jl)
确保你的命令窗口是也是开着的。你会看到如下界面:

myPlots代码界面
Julia 图表
Julia 和其他语言一样,安装包之后,需要导入包来做数据可视化。使用代码如下:
using PlotsPlots 就是我们要使用的包。继续敲代码,我们来完成第一个可视化案例。
using Plotsx = 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 CSVd = CSV.read("/juliaplot/london2018.csv")print(d)运行这段代码,读取的结果就下表一样:

2018年伦敦天气
月度最高温(柱状图)
获取到每一个月的最高温度,用柱状图展示,代码如下:
using Plotsusing CSVd = CSV.read("/juliaplot/london2018.csv")bar(d.Month,d.Tmax)这段代码很简单,运行代码,柱状图展示如下:

2018年伦敦12个月的最高温
折线图
横轴 x 表示每个月,纵轴 y 表示温度。我们也可以用折线图来展示,代码如下:
plot(d.Month, d.Tmax)
2018年伦敦12个月的最高温
如果你想获取最高温和最低温,代码改动如下:
plot(d.Month, [d.Tmax, d.Tmin], label=["Tmax","Tmin"])
2018年伦敦12个月的最高温和最低温
散点图
散点图常常用来寻找一组数据的规律。这次我们用散点图来绘制,看看光照和温度的规律:
- 横轴展示温度变化
- 纵轴展示光照时长
scatter(d.Tmax, d.Sun)
散点图展示温度和光照时长规律
通过散点图观察,可以看到光照时间越长,温度越高。
直方图
这里我们导入伦敦最近几十年的气象数据。用直方图展示大数据量,来反应降水量的等级分布,代码如下 :
using Plotsusing CSVd2 = 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
523

被折叠的 条评论
为什么被折叠?



