如何为Julia中layout布局的子图添加共享图例?
Julia Plots 布局下添加共享图例的解决方法
用Plots包的layout绘制多子图时,默认每个子图都带图例,:shared参数失效的话,试试这两种方法添加共享图例:
方法一:关闭子图图例后手动添加共享图例
先画好4个子图并关闭每个子图的图例,再通过plot!添加全局共享图例,同时指定图例的位置和排列方式:
using Plots # 绘制4个子图,关闭单个子图的图例 p = plot(rand(100, 4), layout = 4, color = [:red :blue :green :yellow], legend = false) # 添加共享图例到顶部外侧,4列排列,给每个系列设置标签 plot!(p, legend = :outertop, legendcolumns = 4, labels = ["系列1" "系列2" "系列3" "系列4"]) display(p)
方法二:直接指定全局图例位置并关闭子图图例
初始绘图时直接设置图例的外部位置,同时关闭子图的图例显示,这种方式更简洁:
using Plots plot(rand(100, 4), layout = 4, color = [:red :blue :green :yellow], legend = false, # 关闭子图的独立图例 legend = :outerbottom, # 把共享图例放在底部外侧 legendcolumns = 2, # 图例分成2列排列 labels = ["数据A" "数据B" "数据C" "数据D"])
关键说明
- 核心是用
legend = false先关掉每个子图的独立图例,避免重复显示 - 通过
legend参数指定图例的外部位置,比如:outertop(顶部外侧)、:outerbottom(底部外侧)、:outerleft(左侧外侧)、:outerright(右侧外侧),让图例作为全局元素显示 - 用
legendcolumns可以调整图例的列数,防止图例太长影响排版
内容的提问来源于stack exchange,提问作者Quinten
相关产品推荐
相关产品推荐

