Squid
Open Source Ruby Library για να σχεδιάσετε γραφήματα σε PDF
Δωρεάν Ruby API που δίνει στους προγραμματιστές λογισμικού τη δυνατότητα να σχεδιάζουν γραφήματα σε αρχεία PDF με μερικές μόνο γραμμές κώδικα Ruby. Υποστηρίζει διαφορετικά είδη τύπων γραφημάτων, όπως γραμμή, σημείο και άλλα.
Το Squid είναι μια βιβλιοθήκη Ruby ανοιχτού κώδικα που διευκολύνει τους προγραμματιστές, βοηθώντας τους να δημιουργήσουν τη δική τους εφαρμογή για να σχεδιάσουν γραφήματα σε αρχείο PDF με μερικές μόνο γραμμές κώδικα Ruby. Η βιβλιοθήκη είναι πολύ εύκολη στη χρήση και παρέχει όλες τις βασικές λειτουργίες για τη δημιουργία γραφημάτων. Επιτρέπει στους προγραμματιστές να σχεδιάζουν την προβολή πλοκής ή μοναδικές ιστοσελίδες, προσθέτοντας ονόματα της σειράς, εισάγοντας ονόματα κατηγοριών, προσαρμόζοντας περίγραμμα, ορίζοντας ύψος, επεξεργάζοντας ετικέτες και πολλά άλλα. Η βιβλιοθήκη υποστηρίζει διαφορετικούς τύπους γραφημάτων, όπως γραμμή, σημείο και άλλα.
Η βιβλιοθήκη Squid επιτρέπει στους προγραμματιστές να επεκτείνουν το Prawn παρέχοντας μέθοδο για εύκολη σχεδίαση γραφημάτων σε αρχεία PDF. Το Prawn είναι επίσης μια πολύ χρήσιμη βιβλιοθήκη Ruby που υποστηρίζει τη δημιουργία εγγράφων PDF και τη διαχείρισή τους, αλλά δεν διαθέτει στοιχεία υψηλού επιπέδου για τη δημιουργία γραφημάτων. Το Squid απλώς προσθέστε μια μόνο μέθοδο στην κλάση Prawn library Document, η οποία μπορεί να χρησιμοποιηθεί από προγραμματιστές για να σχεδιάσουν ένα γράφημα μέσα σε μια σελίδα PDF. Μπορείτε να προσθέσετε δεδομένα σχεδιάζοντας ως κατακερματισμός, με κάθε κλειδί/τιμή να αντιπροσωπεύει μια σειρά. Η βιβλιοθήκη είναι ανοιχτού κώδικα και είναι διαθέσιμη ως άδεια MIT για δημόσια χρήση.
Ξεκινώντας με το Squid
Κατεβάζετε εύκολα τη βιβλιοθήκη Squid και τη χρησιμοποιείτε. Ο προτεινόμενος τρόπος για την εγκατάσταση είναι η χρήση του Rubygem. Χρησιμοποιήστε την ακόλουθη εντολή.
Εγκαταστήστε το Squid μέσω RubyGems
gem install squid
Δημιουργήστε γραφήματα σε PDF χρησιμοποιώντας το Ruby
Η ανοιχτού κώδικα βιβλιοθήκη Ruby Squid επιτρέπει στους προγραμματιστές λογισμικού να δημιουργούν γραφήματα μέσα σε ένα έγγραφο PDF με μερικές γραμμές κώδικα Ruby. Η βιβλιοθήκη καθιστά πολύ εύκολη τη δημιουργία γραφικών σε ένα PDF χρησιμοποιώντας το <code>chart</code> μέθοδος. Μπορείτε εύκολα να παρέχετε έναν κατακερματισμό που περιέχει τα δεδομένα της σειράς και να το σχεδιάσετε χρησιμοποιώντας έναν κωδικό μιας γραμμής. Μπορείτε εύκολα να αναγνωρίσετε τη μορφή των τιμών των αξόνων και να προσθέσετε ετικέτες για το γράφημα.
Δημιουργία αρχείου PDF με γράφημα μέσω Ruby
require 'squid'
Prawn::Document.generate 'web traffic.pdf' do
chart views: {2013 => 182, 2014 => 46, 2015 => 134}
end
Διάφορα γραφικά χαρακτηριστικά σχεδίασης
Η κλάση Plotter αναδιπλώνει ένα αντικείμενο Prawn::Document για να παρέχει μια νέα χρήσιμη μέθοδο για την απεικόνιση στοιχείων γραφήματος. Η βιβλιοθήκη Squid έχει συμπεριλάβει ένα πολύ χρήσιμο σύνολο λειτουργιών για το χειρισμό γραφικών και εικόνων μέσα στις εφαρμογές Ruby. Η βιβλιοθήκη υποστηρίζει λειτουργίες όπως η προσθήκη περιγράμματος γύρω από γραφήματα, η σχεδίαση μιας γραμμής βάσης στο κάτω μέρος του γραφήματος, η σχεδίαση ενός πλαισίου οριοθέτησης του δεδομένου ύψους, η ρύθμιση της μορφής των τιμών των αξόνων, η προσαρμογή του ύψους των γραφημάτων, η εγγραφή ετικετών τιμών στο γράφημα , προσθέτει ένα υπόμνημα στην επάνω δεξιά γωνία, προσθέτοντας χρώμα φόντου, σχεδιάζει μια οριζόντια γραμμή και πολλά άλλα.
Δημιουργία βασικού γραφήματος με το Squid μέσω Ruby
# By default, chart
plots every category on the baseline.
filename = File.basename(__FILE__).gsub('.rb', '.pdf')
Prawn::ManualBuilder::Example.generate(filename) do
data = {views: {'Jan 1' => 12, 'Jan 2' => 13, 'Jan 3' => 21, 'Jan 4' => 42,
'Jan 5' => 32, 'Jan 6' => 45, 'Jan 7' => 62, 'Jan 8' => 22, 'Jan 9' => 31,
'Jan 10' => 11, 'Jan 11' => 40, 'Jan 12' => 6, 'Jan 13' => 9}}
chart data, every: 3
end
Δημιουργήστε γραμμικό γράφημα μέσω Ruby
# You can use the :type
option to plot a line chart instead.
filename = File.basename(__FILE__).gsub('.rb', '.pdf')
Prawn::ManualBuilder::Example.generate(filename) do
data = {views: {'Jan 1' => 12, 'Jan 2' => 13, 'Jan 3' => 21, 'Jan 4' => 42,
'Jan 5' => 32, 'Jan 6' => 45, 'Jan 7' => 62, 'Jan 8' => 22, 'Jan 9' => 31,
'Jan 10' => 11, 'Jan 11' => 40, 'Jan 12' => 6, 'Jan 13' => 9}}
chart data, every: 3
end