Julia Pluto中Plots(gr后端)等高线图标签格式与字体自定义
Julia Plots GR后端等高线图标签格式与字体修改方案
核心解决思路
GR后端的等高线标签和右侧颜色条(图例)需要通过专用参数自定义格式与字体,仅用基础clabels参数无法满足需求,具体设置如下:
1. 定义格式化函数
先实现一个格式化函数,输出两位有效数字的指数格式:
using Printf format_func = x -> Printf.@sprintf("%.2e", x)
2. 等高线标签配置
使用GR后端专属参数控制标签的格式与字体:
clabel_formatter:传入自定义格式化函数,指定标签数值的显示格式clabel_fontfamily:设置标签字体(需确保系统已安装对应字体,如Arial、Times New Roman)clabelsize:调整标签字号
3. 右侧颜色条(图例)配置
通过以下参数调整颜色条的刻度格式与字体:
colorbar_tick:传入格式化函数,控制颜色条刻度的显示格式colorbar_tickfontfamily:设置颜色条刻度字体colorbar_tickfontsize:调整颜色条刻度字号
完整示例代码
using Plots, Printf n_values = 50 x_values = range(0.4, 0.75, length=n_values); T_values = range(10.0, 30.0, length=n_values); # 替换为你的实际G_t数据 G_t = [exp(-(x-0.5)^2 - (T-20)^2/10) * 1e-3 for x in x_values, T in T_values] # 两位有效数字指数格式的格式化函数 format_func = x -> Printf.@sprintf("%.2e", x) contour( x_values, T_values, G_t, clabels=true, clabelsize=30, # 等高线标签设置 clabel_formatter=format_func, clabel_fontfamily="Arial", # 基础绘图配置 fill=true, color=:turbo, xlabel="x [-]", ylabel="T0 [-]", # 右侧颜色条设置 colorbar_tick=format_func, colorbar_tickfontfamily="Arial", colorbar_tickfontsize=12 )
注意事项
- 字体名称需与系统已安装字体一致,若字体不存在会自动 fallback 到默认字体
- 若需调整标签颜色,可添加
clabel_color="black"参数自定义
内容的提问来源于stack exchange,提问作者FHT
相关产品推荐
相关产品推荐

