Ir para conteúdo
Fórum Script Brasil
  • 0

Plotar gráfico com PHPLOT


Jeanfson Dutra

Pergunta

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 para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...