Como eu posso “achatar” um gráfico de dispersão de PDF com muitos pontos gerados com R?

1

Eu tenho um gráfico de dispersão que eu criei com R, ele mostra muitos milhares de pontos sobrepostos. Eu preciso anotar graficamente o PDF gerado, em formato PDF, com o Inkscape. No entanto, simplesmente não é prático trabalhar com este arquivo, pois há muitos pontos (o Inkscape falha, torna-se muito lento para trabalhar de qualquer maneira, os pontos são muito difíceis de selecionar, etc.).

Eu quero "achatar" o PDF, ou seja. remover todas as informações que não são mostradas de qualquer maneira (pontos escondidos sob montes de outros pontos, etc.).

Eu ainda quero manter as informações vetoriais, não quero rasterizar a figura.

Isso tem que ser feito com ferramentas disponíveis gratuitamente, e eu não tenho o Acrobat X.

Pesquisei o achatamento do PDF em um contexto bash / linux, mas depois encontrei ferramentas relacionadas ao processamento de formulários PDF, o que é um tópico absolutamente diferente.

    
por gojira 16.04.2013 / 11:42

1 resposta

3

Este é um exemplo perfeito de um grande problema para resolver, mas a pergunta errada a ser feita. Você já está trabalhando com os dados de entrada em R, então por que não processá-los lá? O PDF é essencialmente binário, então você está sem sorte em fazer qualquer coisa com ele como está.

Sua melhor aposta é pré-processar os dados em R antes de criar o PDF (é para isso que o R foi criado, afinal de contas). A melhor maneira de resolver isso seria percorrer seus dados de entrada e excluir todos os outros pontos que compartilham as mesmas coordenadas dentro de um determinado limite. Eu iria envolvê-lo em uma função, então você poderia experimentar com diferentes limites - mas tenho certeza que você entendeu a idéia.

Não complique demais as coisas, introduzindo níveis desnecessários de abstração e formatos de arquivo adicionais. Você já tem os dados , trabalha com os dados .

Acredito que as seguintes perguntas do Stack Overflow podem ajudar:

como remover duplicatas parciais de um quadro de dados?

Identifique dados duplicados com um limite

Por último, você pode considerar o uso de um heat-map, se aplicável, pois isso pode mostrar as mesmas informações (a cor representa a densidade de pontos encontrados em determinadas áreas), embora sem a necessidade de renderizar individualmente cada ponto de dados. / p>     
por 16.04.2013 / 22:57