如何在Julia的Plots绘图中仅移除轴数值保留刻度线?
Julia Plots包:仅移除轴数值、保留刻度线的实现
R语言中的参考实现
在R语言中,可通过以下代码实现仅移除轴数值,同时保留刻度线与边框的效果:
x <- 1:20 y <- runif(20) plot(x, y, axes=FALSE, frame.plot=TRUE) Axis(side=1, labels=FALSE) Axis(side=2, labels=FALSE)
生成的图表带有完整边框和刻度线,但轴上无任何数值标签。
Julia Plots包的现有方法(同时移除刻度线与数值)
在Julia的Plots包中,若要同时移除轴刻度线和数值,可使用如下代码:
import Pkg Pkg.add("Plots") using Plots # 生成数据向量 x = 1:10 y = rand(10) # 绘图并移除刻度线与数值 plot(x, y, ticks = false)
生成的图表既无刻度线,也无轴数值标签。
实现仅移除轴数值、保留刻度线的方法
完全可以实现和R示例一致的效果。在Plots包中,只需通过自定义ticks参数,指定刻度位置并将标签设为空字符串即可:
using Plots # 生成数据 x = 1:10 y = rand(10) # 自定义轴刻度:保留位置,隐藏标签 plot(x, y, xticks = (1:10, fill("", 10)), # x轴刻度位置设为1-10,标签为空 yticks = (range(minimum(y), maximum(y), length=5), fill("", 5)), # 自动生成5个y轴刻度位置,标签为空 frame = true # 保留图表边框 )
也可以先绘制基础图表,再通过修改函数调整:
p = plot(x, y, frame=true) # 单独修改x轴和y轴的刻度标签 xticks!(p, (1:10, fill("", 10))) yticks!(p, (range(minimum(y), maximum(y), length=5), fill("", 5))) display(p)
上述代码生成的图表会保留边框和刻度线,但不会显示轴数值标签,和R示例的效果完全匹配。
内容的提问来源于stack exchange,提问作者Quinten
相关产品推荐
相关产品推荐

