Jump to content
Fórum Script Brasil
  • 0

Plotar gráfico com PHPLOT


Jeanfson Dutra

Question

Olá a todos, estou tentando gerar um gráfico com a classe phplot mas não estou conseguindo. dá problema quando descomento a linha 

//$palavras = ProcessaPdf::geraArrayPalavrasChave();

ai não consigo substituir o array $palavras pelo array $data com dados aleatórios.

segue o código do gráfico:

<?php
include_once ("class/ProcessaPdf.class.php");
require_once 'lib/phplot-5.5.0/phplot.php';
 
//$palavras = ProcessaPdf::geraArrayPalavrasChave();
 
    $plot = new PHPlot(640 , 480);
 
    $data = array(
        array('1940' , 6.2 ),
        array('1950' , 6.2 ),
        array('1960' , 6.3 ),
        array('1970' , 5.8 ),
        );
 
    $plot->SetTitle('Grafico da analise de palavras-chave encontradas');
    $plot->SetPlotType("bars");
 
    $plot->SetXLabel("Palavras");
    $plot->SetYLabel("Frequencia");
   
    $plot->SetXLabelFontSize(2);
    $plot->SetAxisFontSize(2);
   
    $plot->SetDataValues($data);
    $plot->SetYDataLabelPos('plotin');
 
    $plot->DrawGraph();
 
?>

segue a função estática que é chamada para retornar os dados para o array $palavras:

static function geraArrayPalavrasChave(){
        $p_chaves = file("./lib/palavras_chave.txt", FILE_TEXT | FILE_IGNORE_NEW_LINES);
 
        // Initialize and load PDF Parser library
        $parser = new \Smalot\PdfParser\Parser();
       
        // Source PDF file to extract text
        $file = 'lib/projeto.pdf';
       
        // Parse pdf file using Parser library
        $pdf = $parser->parseFile($file);
       
        // Extract text from PDF
        $text = $pdf->getText();
 
        for($i=0; $i<count($p_chaves); $i++){
            if(substr_count(' '.$text.' ', ' '.$p_chaves[$i].' ') != ''){
                $dados[$i][] = $p_chaves[$i];
                $dados[$i][] = substr_count(mb_strtoupper(' '.$text.' '), mb_strtoupper(' '.$p_chaves[$i].' '));
            }
        }
 
       for($i=0; $i<count($dados); $i++){
            $key[] = $i;
        }
 
        $arrayPalavras = array_combine($key, $dados);
 
        return $arrayPalavras;
 
    }

Desde já muito obrigado, por quaisquer ajuda.

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Eu não consegui achar o ProcessaPDF.class.php na internet, eu só achei phpplot.php, fiz um teste com esse código:

<?php
//include_once ("ProcessaPdf.class.php");
require_once 'phplot.php';
$palavras = [['Frank',10],['Joao',6],['Pedro',3]];
$plot = new PHPlot(640 , 480);
//$data = [['1940' , 6.2 ],['1950' , 6.2 ],['1960' , 6.3 ],['1970' , 5.8 ]];
$data=$palavras;
$plot->SetTitle('Grafico da analise de palavras-chave encontradas');
$plot->SetPlotType("bars");
$plot->SetXTitle("Palavras vagas do vento");
$plot->SetYTitle("Frequencia");
$plot->SetFont('x_title',2);
$plot->SetFont('y_title',2);
$plot->SetDataValues($data);
$plot->SetYDataLabelPos('plotin');
$plot->DrawGraph();
?>

No final, deixo a imagem do gráfico.

Você sabe onde posso encontrar uma cópia do ProcesaPdf.class.php?

 

Screenshot_1.png

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      651.9k
×
×
  • Create New...