Patrząc na klejnot, który dodaje możliwości gtraphing do krewetki, znalazłem this one, ale wydaje się być nieco przestarzałe. Czy jest w tym jakiś bardziej aktywny klejnot?Grafika z krewetką
Odpowiedz
Nie ma nic bardzo aktywnego do tworzenia grafik wewnątrz Prawn bezpośrednio, ale Gruff jest aktywnym klejnotem, który jest wysoce konfigurowalny i pozwoli ci tworzyć wszystkie rodzaje wykresów.
Prawdę mówiąc, krewetka jest w zasadzie opakowaniem wokół gburowatych!
Moja rada polega na użyciu gruffa do wygenerowania wymaganych wykresów i wykresów, a następnie osadzenia ich jako obrazów w dokumencie Prawn.
Więc kod będzie wyglądał tak:
g = Gruff::Line.new(400)
g.title = "Transparent Background"
g.theme = {
:colors => ['black', 'grey'],
:marker_color => 'grey',
:font_color => 'black',
:background_colors => 'transparent'
}
g.labels = {
0 => '5/6',
1 => '5/15',
2 => '5/24',
3 => '5/30',
}
g.data(:apples, [-1, 0, 4, -4])
g.data(:peaches, [10, 8, 6, 3])
g.write(path_to_save)
Prawn::Document.generate("graphed-pdf.pdf") do
text "The image will go right below this line of text."
image "#{path_to_save}"
end
stworzyłem bibliotekę Prawn Graphing nazwie PrawnCharts który zależy tylko od krewetek i nie opiera się na rmagick i ImageMagick. rMagick i ImageMagick są denerwującymi zależnościami (duże pliki, bolesne w instalacji itp.) i tworzą większe pliki w porównaniu z natywnym rozwiązaniem, takim jak PrawnCharts.
Oto przykład wykresu I wytworzonej z PrawnCharts:
Zapraszam do składania zapytań Pull - będę je scalić.
@ eggie5 Odnośnie korzystania gburowaty z krewetek, aby wstawić obraz bez zapisywania go na dysku, to jest całkiem prosta:
image StringIO.new(g.to_blob)
jest jakiś sposób, aby zdać krewetkę obraz bajty zamiast pisać go na dysku i przejście do do krewetki? – eggie5
@ eggie5 not possible imo. –