如何在Gadfly绘图中更改撰写中文本的字体大小



我正试图找出如何更改使用compose.jl编写的文本的字体大小。文本是使用Guide.annotation在Gadfly绘图中编写的,我可以看到如何更改绘图中的其他字体大小(如key_title_font_size等),但Gadfly中似乎没有"default_font_ssize"参数。我确信compose()一定有一些字体大小参数,但我看不出它是什么

modelplot = plot(all_data_to_plot, x=:value,y=:sample, colour=:PFAM_Model, Geom.bar(position=:dodge,orientation=:horizontal),
Guide.ylabel(""),
Guide.xlabel("rpoB equivalents"),
Theme(bar_highlight=color(colorant"black"),
key_position=:none,
default_color=color(colorant"black"),
panel_stroke=color(colorant"black"),
grid_color=color(colorant"gray"),
major_label_font="Helvetica",
major_label_color=color(colorant"black"),
key_title_color=color(colorant"white"),
minor_label_font="Helvetica",
key_label_font="Helvetica",
minor_label_color=color(colorant"black")),
Guide.annotation(compose(context(),
text(all_data_to_plot[:value]+0.01,all_data_to_plot[:read_plot_pos],all_data_to_plot[:reads],[hleft])))
)

如果有人能给我指明正确的方向,我将不胜感激。

编辑:我试着在Gadfly中添加一个"point_label_font_size",但这不会改变Guide.annotation中打印的文本的任何字体大小,所以我仍然不知道如何做到这一点:

modelplot = plot(all_data_to_plot, x=:value,y=:sample, colour=:PFAM_Model, Geom.bar(position=:dodge,orientation=:horizontal),
Guide.ylabel(""),
Guide.xlabel("rpoB equivalents"),
    Theme(bar_highlight=color(colorant"black"),
    key_position=:bottom,
    default_color=color(colorant"black"),
    panel_stroke=color(colorant"black"),
    grid_color=color(colorant"gray"),
    major_label_font="Helvetica",
    major_label_color=color(colorant"black"),
    key_title_color=color(colorant"white"),
    minor_label_font="Helvetica",
    key_label_font="Helvetica",
    minor_label_color=color(colorant"black"),
    point_label_font_size=32pt),
Guide.annotation(compose(context(),
text(all_data_to_plot[:value]+0.01,all_data_to_plot[:read_plot_pos],all_data_to_plot[:reads],[hleft])))
)

不幸的是,Gadfly.jl的默认主题是硬编码的,无法覆盖。您可以在~/.julia/v.0.4/Gadfly上覆盖您的Gadfly安装,但仅限于您个人使用。

你也可以尝试使用个人类型(sa MyPlotType),每次创建绘图时都会重写Gadfly.Theme的变量,但这也涉及到扩展几个函数,这有点忽略了"只设置默认值"的全部意义。

最新更新