2016-07-19 4 views
1

Я использую gnuplotrb (0.3.4) и хочу установить шрифт и цвет названия независимо от остальной части графика. Пока что безуспешно.Невозможно форматировать название диаграммы в gnuplotrb (ruby)

Приведенный ниже пример представляет собой слегка измененную версию sample code. (я добавил \ n в заголовок и добавил параметр title_font).

Вот мои вопросы касаемо gnuplotrb:

  1. Как установить Название: шрифт, цвет и т.д.?
  2. Могу ли я использовать многострочные заголовки (я добавил '\ n' в заголовок, но это просто усекает строку)?
  3. Как установить метки в моем заговоре с помощью gnuplotrb?
  4. Есть ли способ проверить сгенерированный скрипт gnuplot (а не итоговый график, но фактический скрипт gnuplot, который передается в gnuplot)?

`

require 'gnuplotrb' 
include GnuplotRB 

titles = %w{decade Build Test Deploy Overall} 
data = [ 
    [1, 312, 525, 215, 1052], 
    [2, 630, 1050, 441, 2121], 
    [3, 315, 701, 370, 1386], 
    [4, 312, 514, 220, 1046] 
] 
x = data.map(&:first) 
datasets = (1..4).map do |col| 
    y = data.map { |row| row[col] } 
    Dataset.new([x, y], using: '2:xtic(1)', title: titles[col], file: true) 
end 

plot = Plot.new(
    *datasets, 
    style_data: 'histograms', 
    style_fill: 'pattern border', 
    yrange: 0..2200, 
    xlabel: 'Number of test', 
    ylabel: 'Time, s', 
    title: "Time spent\nto run deploy pipeline", 
    title_font: 'System,20' 
) 

plot.to_png("test.png") 
+0

Вы должны дать этому GNUPLOT тег так, чтобы люди, знающие GNUPLOT будет видеть Это. –

ответ

1
  1. шрифта, указанное в заголовке имеет значение с title_font, но вы должны включать в себя дополнительные кавычки значения:

    title_font: '",20"' 
    

    Значения некоторых параметров (например, title , xlabel и т. Д. Автоматически обертываются парой двойных кавычек на gnuplotrb).

    Чтобы установить цвет заголовка, используйте, например,

    title_tc_rgb: '"red"' 
    
  2. избежать обратной косой черты в новой строки, чтобы получить разрыв строки в выводе

    title: "First line\\nSecond line" 
    
  3. Наклейки могут быть установлены, как и другие варианты

    label: "at graph 0.1, graph 0.8 'My Label'" 
    
  4. Я не нашел возможность перенаправления команд в файл.

Таким образом, рабочий пример, основанный на вашем скрипте

require 'gnuplotrb' 
include GnuplotRB 

titles = %w{decade Build Test Deploy Overall} 
data = [ 
    [1, 312, 525, 215, 1052], 
    [2, 630, 1050, 441, 2121], 
    [3, 315, 701, 370, 1386], 
    [4, 312, 514, 220, 1046] 
] 
x = data.map(&:first) 
datasets = (1..4).map do |col| 
    y = data.map { |row| row[col] } 
    Dataset.new([x, y], using: '2:xtic(1)', title: titles[col], file: true) 
end 

plot = Plot.new(
    *datasets, 
    style_data: 'histograms', 
    style_fill: 'pattern border', 
    yrange: 0..2200, 
    xlabel: 'Number of test', 
    ylabel: 'Time, s', 
    label: 'at graph 0.1, graph 0.8 "MyLabel"', 
    title: "Time spent\\nto run deploy pipeline", 
    title_font: '",20"', 
    title_tc_rgb: '"red"' 
) 

plot.to_png("test.png") 

с выходной файл

enter image description here

Смежные вопросы