Reputation: 135
I just found the GD::Graph module, but it prints graph into file.
I want to create a kind of a monitor which prints on to terminal.
For example how could i print a graph (not exactly, but similar so it fits to terminal) like this onto a terminal?
Updated
use strict;
use GD::Graph::bars;
use GD::Graph::hbars;
use GD::Graph::Data;
require 'save.pl';
my $data = GD::Graph::Data->new([
["1st","2nd","3rd","4th","5th","6th","7th", "8th", "9th"],
[ 1, 2, 5, 6, 3, 1.5, 1, 3, 4],
]) or die GD::Graph::Data->error;
my @names = qw/sample11 sample11-h/;
for my $my_graph (GD::Graph::bars->new, GD::Graph::hbars->new)
{
my $name = shift @names;
print STDERR "Processing $name\n";
$my_graph->set(
x_label => 'X Label',
y_label => 'Y label',
title => 'A Simple Bar Chart',
#y_max_value => 8,
#y_tick_number => 8,
#y_label_skip => 2,
#x_labels_vertical => 1,
# shadows
bar_spacing => 8,
shadow_depth => 4,
shadowclr => 'dred',
transparent => 0,
)
or warn $my_graph->error;
$my_graph->plot($data) or die $my_graph->error;
save_chart($my_graph, $name);
}
Upvotes: 0
Views: 1331
Reputation: 1
Could you do what you need with Graph::Easy ?
Graph::Easy - Convert or render graphs (as ASCII, HTML, SVG or via
Graphviz)
Upvotes: 0
Reputation: 6592
You could try hbar and modify it to suit your needs:
https://github.com/xxfelixxx/perl-term-colormap/blob/master/bin/hbar
echo '
1 one
1 one
2 two
5 five
8 eight
13 thirteen
21 twenty one
' | hbar
Upvotes: 2
Reputation: 69244
Well, it's simple enough to print the graph to STDOUT. Instead of calling save_chart()
, you'd just do something like:
print $my_graph->png;
But it's very unlikely that your monitor can understand raw PNG data being thrown at it. You'll want to write the plot to an image file and display the file in some way.
But it's hard to be more helpful without knowing more about what you're trying to do.
Upvotes: 3