2

我试图弄清楚如何更改使用 compose.jl 编写的文本的字体大小。文本是使用 Guide.annotation 在 Gadfly 图中编写的,我可以看到如何更改图中的其他字体大小(即 key_title_font_size 等),但在 Gadfly 中似乎没有“default_font_size”参数。我确定 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])))
)
4

1 回答 1

1

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

您也可以尝试使用个人类型 (sa ),每次创建绘图时都会MyPlotType重写's 变量,但这还涉及扩展多个函数,这会错过“仅设置默认值”的全部要点Gadfly.Theme.

于 2015-11-27T17:52:54.043 回答