如何在Julia的Plots库中调整x轴与y轴的轴线粗细?
Julia Plots库调整坐标轴轴线粗细的实现方法
该需求目前已经可以原生实现,无需切换其他绘图库,也不需要大规模修改原有代码:
Plots.jl v1.30及以上稳定版本已经新增了framewidth关键字参数,专门用于设置坐标轴外框(即x/y轴线)的粗细,直接传入数值即可调整,数值越大轴线越粗。
以下是修改后的可运行示例:
using Plots Nx, Ny = 101,101 x = LinRange(0, 100, Nx) y = LinRange(0, 100, Ny) foo(x,y; x0=50, y0=50, sigma =1) = exp(- ((x-x0)^2 + (y-y0)^2)/(2*sigma^2) ) NA = [CartesianIndex()] # 对应“newaxis”功能 Z = foo.(x[:,NA], y[NA,:], sigma=10); hm = heatmap(x, y, Z, xlabel="x", ylabel="y", c=cgrad(:Blues_9), clim=(0,1)) # framewidth参数控制轴线粗细,可根据需要调整数值 plot(hm, tickfontsize=10, labelfontsize=14, framewidth=2)
补充说明:
- 如果当前环境Plots版本过低,可在Julia REPL中执行
] update Plots升级到最新稳定版即可使用该参数 - 该参数对GR、PlotlyJS等绝大多数常用Plots后端均生效,无需额外适配
- 若需要单独调整某一条轴线的粗细,可结合对应后端的底层接口实现,通用场景下使用
framewidth即可满足需求
内容的提问来源于stack exchange,提问作者Mirko Czentovic
相关产品推荐
相关产品推荐

