Julia:Plots 包的属性汇总

简介: 这篇文章是 Julia 的 Plots 包的各种属性的汇总

这篇文章是 Julia 的 Plots 包的各种属性的汇总,实际上应该算是文档里面的一个翻译和整理。

1/ 属性

1.1/ 属性的介绍

在 Plots 上,输入的数据都有固定的位置(例如,在 plot(y) 里面的 y),而属性是以关键词的方式传递的(例如,plot(y, color=:blue))。在 REPL 中执行 using Plots 之后,可以使用 plotattr() 打印 series, plots, subplots, axes 的所有的属性进行查看:

# Valid Operations
plotattr(:Plot)
plotattr(:Series)
plotattr(:Subplot)
plotattr(:Axis)

获得属性列表后,您可以使用特定属性的别名或调查特定属性以打印该属性的别名及其描述。

julia> # Specific Attribute Example
       plotattr("size")
size {NTuple{2,Int}}
sizes, windowsize, wsize

(width_px, height_px) of the whole Plot
Plot attribute,  default: (600, 400)

1.2/ 别名(Aliases)

关键字可以通过别名机制(alias mechanic),或者可以叫做「缩写」,采用一系列值。 例如,plot(y, color=:blue) 实际上被解释为 plot(y, seriescolor=:blue)。 每个属性都有许多别名(请参见下面的图表),可以使用这些别名来避免因忘记参数名称而不断查找绘图 API 文档的痛苦。 ccolorseriescolor 都表示相同的意思,实际上它们最终会转换为更精确的属性 linecolormarkercolormarkerstrokecolorfillcolor(如果需要改变这些属性的话,也可以覆盖它们)。

一些建议:如果只是为了某个例子的可视化,不会大量重复的用到,可以用别名去指定关键词,但是对于一些长期代码,需要稳定性的代码(像是代码库),最好还是使用属性的全称,避免混淆。

1.3/ 魔术参数(Magic Arguments)

一些参数包含用于同时设置许多相关参数的智能简写。Plots 使用类型检查和多重分派来巧妙地「找出」哪些值适用于哪个参数。 传入一组值。 在处理之前,单个值将首先包装在一个元组中。

axis (and xaxis/yaxis/zaxis)

传入一个 xaxis 参数设定的元组可以快速地定义 xlabel, xlims, xticks, xscale, xflip, xtickfont,下面的两个表达是等价的:

plot(y, xaxis = ("my label", (0,10), 0:0.5:10, :log, :flip, font(20, "Courier")))

plot(y,
    xlabel = "my label",
    xlims = (0,10),
    xticks = 0:0.5:10,
    xscale = :log,
    xflip = true,
    xtickfont = font(20, "Courier")
)
yaxiszaxis 的工作机制是类似的,而如果使用 axis 则会对所有的坐标轴都起作用。

给参数 xticks(或 ytickszticks)传入一个元组来改变坐标轴刻度和标签的位置:

plot!(xticks = ([0:π:3*π;], ["0", "\\pi", "2\\pi"]))
yticks!([-1:1:1;], ["min", "zero", "max"])

line

为线条设置属性。缩写:l. 以下表达等价:

plot(y, line = (:steppre, :dot, :arrow, 0.5, 4, :red))

plot(y,
    seriestype = :steppre,
    linestyle = :dot,
    arrow = :arrow,
    linealpha = 0.5,
    linewidth = 4,
    linecolor = :red
)

fill

区域填充的属性设置。缩写:f, area. 以下表达等价:

plot(y, fill = (0, 0.5, :red))

plot(y,
    fillrange = 0,
    fillalpha = 0.5,
    fillcolor = :red
)

marker

为 marker 设置属性。缩写:m, mark. 以下表达等价:

scatter(y, marker = (:hexagon, 20, 0.6, :green, stroke(3, 0.2, :black, :dot)))

scatter(y,
    markershape = :hexagon,
    markersize = 20,
    markeralpha = 0.6,
    markercolor = :green,
    markerstrokewidth = 3,
    markerstrokealpha = 0.2,
    markerstrokecolor = :black,
    markerstrokestyle = :dot
)

1.4/ 需注意的参数

以下一些参数可能是不常注意到的重要参数:

scatter(y, thickness_scaling = 2)  # 将字体大小和线宽增加 2 倍
# 适合演示文稿和海报
# 如果后端不支持此功能,请使用缩放默认字体
# 大小的函数 scalefontsizes(2)。


scatter(y, ticks=:native)  # 让后端自己计算刻度。
# 如果使用交互式后端执行鼠标缩放的话推荐这样

scatter(rand(100), smooth=true)  # 将回归线添加到图中
目录
相关文章
|
算法 调度 芯片
NR CSI(二) the workflow of CSI report
本篇内容是对CSI report相关流程的整理,其描述主要集中在R16 38.331 38.321 38.214中,以实网中的一个配置开始,看下相关定义。
|
12月前
|
域名解析 运维 负载均衡
LVS+Keepalived 负载均衡(二)28-1
【8月更文挑战第28天】LVS+Keepalived 负载均衡 配置 LVS VIP
179 5
|
Prometheus 监控 关系型数据库
数据库同步革命:MySQL GTID模式下主从配置的全面解析
数据库同步革命:MySQL GTID模式下主从配置的全面解析
1231 0
|
JavaScript
Vue3评分(Rate)
这是一个基于 Vue 3 的评分组件 `Rate.vue`,支持多种自定义设置,包括是否允许清除、半选状态、星星总数、字符样式、字符大小、选中颜色、字符间距及是否禁用等。组件内置四种 SVG 图标,并允许使用自定义字符。通过 `v-model:value` 实现双向绑定,并提供了 `change` 和 `hoverChange` 事件回调。 组件演示了不同的使用场景,如禁用状态、不同形状的图标、自定义字符和颜色等。同时提供了一个评分配置器,可以动态调整各项参数以满足不同需求。在线预览效果展示了各种配置下的评分显示样式。
241 0
Vue3评分(Rate)
|
供应链 监控 算法
ERP系统中的库存优化与库存周转率分析解析
【7月更文挑战第25天】 ERP系统中的库存优化与库存周转率分析解析
1116 1
|
10月前
|
SQL 关系型数据库 MySQL
定时任务频繁插入数据导致锁表问题 -> 查询mysql进程
定时任务频繁插入数据导致锁表问题 -> 查询mysql进程
141 1
|
消息中间件 NoSQL 领域建模
这些年背过的面试题——领域模型落地篇
本文是技术人面试系列领域模型落地篇,也是面试题系列的完结篇,感谢大家对本系列文章的支持~面试中关于领域模型落地都需要了解哪些内容?一文带你详细了解,欢迎收藏!
176 11
|
安全 网络协议 Linux
【专栏】Linux系统中ping命令的使用,包括其基本语法、输出信息、常用参数及高级用法
【4月更文挑战第28天】本文详细介绍了Linux系统中ping命令的使用,包括其基本语法、输出信息、常用参数及高级用法。通过ping,用户可测试网络连通性、诊断故障及评估性能。此外,文章还讨论了ping在不同协议、模拟网络环境及与其他命令结合使用时的场景。注意防火墙和网络环境可能影响ping结果,理解错误信息有助于网络问题排查。熟练掌握ping命令,能助你成为Linux网络专家。不断学习和实践,提升网络技能,为构建稳定网络环境贡献力量。
950 0
|
存储 数据采集 大数据
大数据必知必会系列——数仓分层架构及三层架构流程[新星计划]
大数据必知必会系列——数仓分层架构及三层架构流程[新星计划]
1963 0
|
弹性计算 大数据 测试技术
2024年企业云服务器价格多少钱,1000-3000元预算阿里云服务器配置说明
2024年企业云服务器价格多少钱?租用阿里云服务器怎么收费?阿里云服务器配置不同一年价格也不同,来看看1000-3000元预算阿里云服务器配置说明。云服务器ECS经济型e实例2核2G、3M固定带宽99元一年、ECS u1实例2核4G、5M固定带宽、80G ESSD Entry盘优惠价格199元一年,轻量应用服务器2核2G3M带宽轻量服务器一年61元、2核4G4M带宽轻量服务器一年165元12个月、2核4G服务器30元3个月,幻兽帕鲁4核16G和8核32G服务器配置,云服务器ECS可以选择经济型e实例、通用算力u1实例、ECS计算型c7、通用型g7、c8i、g8i等企业级实例规格。