Как изменить размер шрифта для текста при составлении графика Овода?

Я пытаюсь понять, как изменить размер шрифта для текста, написанного с помощью compose.jl. Текст записывается на графике Gadfly с использованием Guide.annotation, и я вижу, как изменить другие размеры шрифта на графике (например, 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])))
)

Я был бы признателен за любого, кто мог бы указать мне в правильном направлении.

РЕДАКТИРОВАТЬ: я попытался добавить «point_label_font_size» в Gadfly, но это не меняет размер шрифта для текста, напечатанного в 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])))
)

person Ian Marshall    schedule 26.11.2015    source источник


Ответы (1)


К сожалению, тема по умолчанию для Gadfly.jl жестко закодирован и не может быть перезаписан. Вы можете перезаписать свою установку Gadfly на ~/.julia/v.0.4/Gadfly, но только для личного использования.

Вы также можете попробовать использовать персональный тип (sa MyPlotType), который перезаписывает переменную Gadfly.Theme каждый раз, когда вы создаете график, но это также потребует расширения нескольких функций, что как бы упускает весь смысл «просто установки значения по умолчанию» .

person Felipe Lema    schedule 27.11.2015
comment
Спасибо за это, но я не вижу, где в теме указывается размер шрифта для текста в аннотациях (т. е. не конкретная метка оси или размер шрифта заголовка, а просто размер шрифта для дополнительного текста, написанного с использованием Guide.annotation вместе с функция составления). Должен быть какой-то способ указать размер шрифта в функции compose.jl, не так ли? - person Ian Marshall; 01.12.2015
comment
это будет point_label_font. Как я уже упоминал, есть и другие способы обернуть функции вокруг Gadfly API, но я не могу сказать, сколько LOC это займет. - person Felipe Lema; 02.12.2015