2016-07-19 5 views
1

Ich benutze gnuplotrb (0.3.4) und möchte die Schriftart und Farbe des Titels unabhängig vom Rest des Diagramms einstellen. Bis jetzt ohne Erfolg. Das folgende Beispiel ist eine leicht modifizierte Version des sample code. (Ich habe dem Titel einen \ n hinzugefügt und die Option title_font hinzugefügt).Kann Diagrammtitel nicht in gnuplotrb (ruby) formatieren

Hier sind meine Fragen in Bezug auf gnuplotrb:

  1. Wie kann ich Titel Schriftart, Farbe, usw.?
  2. Kann ich mehrzeilige Titel verwenden? (Ich habe '\ n' zum Titel hinzugefügt, aber dies schneidet nur die Zeichenfolge ab)?
  3. Wie setze ich Etiketten in meinem Plot mit gnuplotrb?
  4. Gibt es eine Möglichkeit, das generierte gnuplot-Skript zu untersuchen (nicht das resultierende Plot, sondern das eigentliche Gnuplot-Skript, das an gnuplot übergeben wird)?

`

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

Sie sollten diese den gnuplot-Tag geben, damit die Menschen gnuplot wissen sehen es. –

Antwort

1
  1. Die Schriftart Titel wird mit title_font gesetzt, aber Sie müssen um den Wert zusätzliche Anführungszeichen enthalten:

    title_font: '",20"' 
    

    Die Werte einiger Optionen (wie title , xlabel usw. werden automatisch mit einem doppelten Anführungszeichen von gnuplotrb umschlossen).

    Um die Titelfarbe festzulegen, verwenden Sie z.

    title_tc_rgb: '"red"' 
    
  2. Entfliehen Sie dem Backslash der Newline einen Zeilenumbruch in der Ausgabe kann

    title: "First line\\nSecond line" 
    
  3. Labels wie andere Optionen eingestellt werden, bekommen

    label: "at graph 0.1, graph 0.8 'My Label'" 
    
  4. Ich habe nicht gefunden eine Option, um die Befehle in eine Datei umzuleiten.

So ein funktionierendes Beispiel auf Ihrem Skript basiert

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") 

mit der Ausgabedatei

enter image description here

Verwandte Themen