Julia数据可视化

简介: 常见的数据可视化就是绘制图形,比如折线图、柱状图、饼图、面积图、漏斗图以及散点图等。Julia作为一种高性能的科学计算语言,可非常方便的进行数学、工程等数据的处理。其中的数据可视化工具也是非常强悍的。本文就对Julia语言中的可视化工具Plots进行介绍。

   当我们处理数据时,为了发现和探索数据的关联以及内部的特征,往往需要对数据进行处理,并进行可视化,这样可以快速观察到数据的之间的规律。常见的数据可视化就是绘制图形,比如折线图、柱状图、饼图、面积图、漏斗图以及散点图等。Julia作为一种高性能的科学计算语言,可非常方便的进行数学、工程等数据的处理。其中的数据可视化工具也是非常强悍的。本文就对Julia语言中的可视化工具Plots进行介绍。

1 Plots包安装

   在使用前,需要安装对应的包文件。假设你已经成功安装了Julia SDK。那么可以打开Julia命令行工具,输入如下命令进行安装:

julia>importPkgjulia>Pkg.add("Plots")
julia>Pkg.add("GR")
julia>Pkg.add("PGFPlotsX")
julia>Pkg.add("PlotlyJS"); Pkg.add("ORCA")
julia>Pkg.add("PyPlot")
julia>Pkg.add("UnicodePlots")
julia>Pkg.add("InspectDR")
julia>Pkg.add("StatsPlots")
julia>Pkg.add("GraphRecipes")

   这个过程会分析包的依赖性,并从本地仓库中进行查看,会根据需要进行下载。这个过程可能会比较耗时,需要从网络上进行包文件的下载。下载后,还需要进行一些初始化的工作,它会将包文件进行预编译处理。

julia>usingPlotsjulia>usingStatsPlotsjulia>usingGraphRecipes#

2 折线图

   折线图可以观察两个变量之间的关系,是非常常用的一种数据可视化工具,下面给出一个折线图示例:

usingPlotsx=-2pi:0.1:2piy1=cos.(x)
y2=sin.(x)
#plot(x, y1,
c="blue",
linewidth=2,
title="Line Demo",
xlabel="x",
ylabel="sin(x) & cos(x)")
plot!(x, y2, c="red", line=:dash)
plot!(xlims=(-2pi,2pi), ylims=(-2, 2))

此时会显示如下的图形:

1627689250720025809.jpg

3 柱状图

   柱状图也是非常常用的一种数据可视化工具,下面给出一个柱状图示例:

usingPlotsticklabel=string.(collect('a':'l'))
bar(1:12, orientation=:v, xticks=(1:12, ticklabel), yflip=false)
plot!(xlims=(0,15), ylims=(0,20))

4 饼状图

   饼状图是一种可以快速发现各组成部分占比的数据可视化工具,下面给出一个饼状图示例:

usingPlotsx= ["C#","F#","Julia"]
y= [0.25,0.15,0.70]
pie(x, y, title="Pie Demo",l=0.5)

5 散点图

   散点图是一种可以快速发现数据分布区域的数据可视化工具,比如是否有聚集性,下面给出一个散点图示例:

usingPlotsusingRandomRandom.seed!(2021)
n=30x=rand(n)
y=rand(n)
ms=rand(30)*30scatter(x, y, title="Scatter Demo",markersize=ms)

6 等线图

   等线图就是将地表高度相同的点连成一环线直接投影到平面形成水平曲线,不同高度的环线不会相合,下面给出一个等线图示例:

usingPlotsf(x,y) =x^2+y^2x=repeat(range(0, stop=2, length=70), 1, 70)
y=repeat(range(0, stop=2, length=70), 1, 70)'contour( f.(x, y) ,title="Contour Demo")

7 3D Surface 图

   有时候,我们需要绘制3D图形,下面给出一个3D图示例:

usingPlotsf(x,y) =x^2+y^2x=-20:20y=xsurface(x, y, f,title="3D Surface Demo")

   更多图形可参考: https://goropikari.github.io/PlotsGallery.jl

8 动画支持

   数学中公式中的参数变动,会如何影响另外一个变量,通过图形动画可以更加直观的进行显示,下面给出一个动画绘图示例:

usingPlots@gifforiin0:30plot(sin, 0, i*pi,title=string("sin(",i,"pi)"))
end


相关文章
|
2月前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.92 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.92 (macOS, Linux, Windows) - 开源渗透测试框架
267 2
Metasploit Framework 6.4.92 (macOS, Linux, Windows) - 开源渗透测试框架
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的社区智慧养老监护管理平台的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的社区智慧养老监护管理平台的详细设计和实现(源码+lw+部署文档+讲解等)
382 4
|
机器学习/深度学习 开发者 异构计算
机器学习入门-Colab环境
Google Colab(Colaboratory)是一个免费的云端环境,旨在帮助开发者和研究人员轻松进行机器学习和数据科学工作。它提供了许多优势,使得编写、执行和共享代码变得更加简单和高效。Colab在云端提供了预配置的环境,可以直接开始编写代码,并且提供了免费的GPU和TPU资源,这对于训练深度学习模型等计算密集型任务非常有帮助,可以加速模型训练过程。
552 0
|
2月前
|
算法 搜索推荐 JavaScript
基于python智能推荐算法的全屋定制系统
本研究聚焦基于智能推荐算法的全屋定制平台网站设计,旨在解决消费者在个性化定制中面临的选择难题。通过整合Django、Vue、Python与MySQL等技术,构建集家装设计、材料推荐、家具搭配于一体的一站式智能服务平台,提升用户体验与行业数字化水平。
|
2月前
|
机器学习/深度学习 人工智能 API
破译AI“指纹”:如何识别机器生成内容?
破译AI“指纹”:如何识别机器生成内容?
325 117
|
8月前
|
存储 人工智能 安全
AI驱动的幼儿跌倒检测——视频安全系统的技术解析
幼儿跌倒检测系统基于AI视频技术,融合人体姿态识别与实时报警功能,为幼儿园安全管理提供智能化解决方案。系统通过YOLOv9、OpenPose等算法实现高精度跌倒检测(准确率达98%),结合LSTM时间序列分析减少误报,支持目标分类区分幼儿与成人,并具备事件存储、实时通知及开源部署优势。其高效、灵活、隐私合规的特点显著提升安全管理效率,助力优化园所运营。
371 0
AI驱动的幼儿跌倒检测——视频安全系统的技术解析
|
机器学习/深度学习 数据采集 自然语言处理
PyTorch 在自然语言处理中的应用实践
【8月更文第29天】随着深度学习技术的发展,自然语言处理(NLP)领域取得了显著的进步。PyTorch 作为一款强大的深度学习框架,因其灵活性和易用性而被广泛采用。本文将介绍如何利用 PyTorch 构建文本分类模型,并以情感分析为例进行详细介绍。
205 0
|
XML Java 数据库连接
JAVA框架技术之十八节springboot课件上手教程(一)
JAVA框架技术之十八节springboot课件上手教程
732 1
JAVA框架技术之十八节springboot课件上手教程(一)
|
编解码 前端开发 UED
CocosCreator 面试题(十一)Cocos Creator 屏幕适配
CocosCreator 面试题(十一)Cocos Creator 屏幕适配
873 0
|
机器学习/深度学习 算法 PyTorch
【PyTorch深度强化学习】带基线的蒙特卡洛策略梯度法(REINFOECE)在短走廊和CartPole环境下的实战(超详细 附源码)
【PyTorch深度强化学习】带基线的蒙特卡洛策略梯度法(REINFOECE)在短走廊和CartPole环境下的实战(超详细 附源码)
381 0