Qual é a melhor biblioteca de gráficos java de código aberto? (exceto jfreechart) [fechado]

136

Por que não há mais código aberto fácil de usar bibliotecas de gráficos para Java ?. O único projeto de código-fonte aberto bem-sucedido nessa área parece ser o jfreechart e nem sequer possui documentação ou exemplos disponíveis.

fccoelho
fonte
Estrutura gratuita de gráficos java para Java Swing: frontangle.com/#/icharts . Você pode fazer a maioria dos tipos de gráficos neste exemplo
Oliver Watkins

Respostas:

57

Existe o charts4j, que é uma API de tabelas e gráficos. Ele permite que os desenvolvedores criem programaticamente os gráficos disponíveis na API do Google Chart por meio de uma API Java simples e intuitiva.

Disclaimer: Eu escrevi charts4j . Faremos outro grande lançamento nas próximas semanas.

Julien Chastang
fonte
10
Bom trabalho! A única desvantagem é a necessidade de uma conexão à Internet, embora eu não consiga lembrar quando foi a última vez que fui desconectado. ;-)
fccoelho 6/11/08
19
@pyinsci: algumas lojas impedem que os servidores se conectem a servidores externos da Internet (mesmo que os servidores possam ser acessados ​​pela Internet) por motivos de segurança.
Joachim Sauer
4
Observe que a API de gráficos estáticos do Google está obsoleta desde 20 de abril de 2012
David Rabinowitz 21/01
7
Uma API alternativa que não precisa se conectar a servidores externos da Internet é o XChart .
herrtim
Se você está direcionando o navegador da Web, pode ver os gráficos ZK .
Tom Yeh
57

Não há muitos deles porque estariam competindo com o JFreeChart , e é incrível. Você pode obter documentação e exemplos fazendo o download do guia do desenvolvedor . Também há muitos tutoriais on-line gratuitos, se você procurá-los.

Bill the Lizard
fonte
2
Uma contribuição muito útil para o jfreechart foi uma API simples que permitiria gerar um gráfico com uma chamada de função simples, como: plot (array) e obter um objeto gráfico em troca que você poderia personalizar ainda mais, por exemplo, adicionar um título, linhas de grade, etc ...
fccoelho 6/11/08
3
para algumas coisas (plotagem matemática de alta velocidade), o jfreechart é medíocre, não impressionante.
Jason S
2
Eu não, não em Java. Eu achei o JChart2D melhor que o JFreeChart, mas também tinha suas limitações; para um projeto, acabei criando minha própria biblioteca de gráficos, uma experiência dolorosa, mas fez o que eu precisava. Eu gostaria que uma porta do matplotlib do Python estivesse disponível em Java.
Jason S
6
sim download guia do desenvolvedor por US $ 65,00 ....
Totty.js
1
Chamar o JFreeChart de "impressionante" é exagerar. "Impressionante para coisas simples" pode ser mais preciso. +1 para um clone do matplotlib para Java
garyp
15

O EasyCharts é comercial, então eu não poderia usá-lo no meu projeto. Eu usei a biblioteca de gráficos GRAL. Achei muito fácil personalizar e está licenciado sob LGPL, assim como o JFreeChart, para que você possa usá-lo gratuitamente:

http://trac.erichseifert.de/gral

Rick
fonte
1
Sei que é tarde demais, mas estou procurando documentação, não consigo encontrar uma. Você pode compartilhar, se tiver alguma coisa?
precisa saber é o seguinte
1
Confira gráficos de iceberg: frontangle.com/icharts que eu criei. Eu acho que está lá em cima com JFreechart e todo o resto.
Oliver Watkins
14

Boa pergunta, eu estava apenas procurando alternativas para o JFreeChart eu outro dia. O JFreeChart é excelente e muito abrangente, eu o usei em vários projetos. Meu problema recente era que isso significava adicionar 1.6mb de bibliotecas a um applet de 50kb, então eu estava procurando por algo menor.

A própria FAQ do JFreeChart lista alternativas. Comparado ao JFreeChart, a maioria deles é bem básica e alguns bem feia. O mais promissor parece ser o Java Chart Construction Kit e o OpenChart2 .

Também encontrei o EasyCharts , que é um produto comercial, mas aparentemente gratuito para uso em algumas circunstâncias.

No final, voltei ao JFreeChart, testado e confiável, e usei o Proguard para transformá-lo em um tamanho mais gerenciável.

Sugiro que você dê uma outra olhada no JFreeChart. O guia do usuário está disponível apenas para compra, mas a demonstração mostra o que é possível e é muito fácil descobrir como a partir da documentação da API . Basicamente, você começa com os métodos estáticos ChartFactory e conecta o objeto JFreeChart resultante a um ChartPanel para exibi-lo. Se você ficar preso, tenho certeza de que obterá respostas rápidas para seus problemas no StackOverflow.

Dan Dyer
fonte
Eu criei um simples "plot" invólucro em torno de kit de construção de gráfico java, o que torna muito fácil de usar para parcelas simples bitbucket.org/hughperkins/easyjcckit
Hugh Perkins
5

Para gráficos 2D dinâmicos, tenho usado o JChart2D . É rápido, simples e está sendo atualizado regularmente. O autor foi rápido em responder ao meu único relatório de bug e a algumas solicitações de recursos. Na nossa empresa, preferimos o JFreeChart porque ele foi projetado para uso dinâmico, diferentemente do JFreeChart.

Poik
fonte
5

Você pode experimentar o Jzy3d . Ajuda a desenhar gráficos 3D simples (superfícies, dispersões, barras, etc.) e possui muitas opções para personalizar o layout de eixos, marcações, etc. Existem muitos exemplos e uma documentação no wiki.

É gratuito e de código aberto.

Felicidades,

Martin

Martin
fonte
4

Há uma nova biblioteca de gráficos na cidade: JChartlib JChartLib http://freshmeat.net/projects/jchartlib

suvi
fonte
Parece ótimo!! Leve e sem dependências, uau, bom trabalho. Dei uma olhada no wiki, bem direto. Minha pergunta: permite categorias em vez de valores numéricos no eixo X?
precisa saber é o seguinte
2
Uau, legal obrigado pelo comentário. O número de séries não é realmente limitado nos gráficos de linha. Desenha quantos gráficos você desejar. Acabei de lançar uma nova versão capaz de salvar o gráfico em um arquivo jpg ou png. Mais tipos de gráficos como gráfico de barras, gráfico de barras, gráfico de radar e assim por diante estão no planejamento.
Suvi
Ok, deixe-me tentar um presente antes de ficar velho ...: D
gumuruh
É a GPL. Por favor, você pode torná-lo LGPL? (Ou Apache 2, ou MPL)
Hugh Perkins
A principal razão pela qual eu consideraria usar uma biblioteca de gráficos diferente do jfreechart é que seria bom ter uma biblioteca de gráficos que (i) seja mantida por uma comunidade (ii) possua documentação decente sobre como usá-la disponível gratuitamente. Infelizmente, o jchartlib não oferece nenhuma vantagem em nenhum destes pontos :-(
Hugh Perkins
4

Existe o JChart, que é todo de código aberto. Não tenho certeza exatamente do que você está representando graficamente e como está representado graficamente (servlets, swing, etc.), então eu diria que basta olhar para alguns diferentes e ver o que funciona melhor para você.

http://sourceforge.net/projects/jchart/

Eu também usei o JGraph, mas apenas a versão comercial deles. Eles oferecem uma versão de código aberto no entanto:

http://www.jgraph.com/jgraph.html

BoboTheCodeMonkey
fonte
2

Encontrei esta estrutura: jensoft sw2d, gratuito para uso não comercial (licenciamento duplo)

http://www.jensoft.org

Saudações.

sebastien
fonte
2
Este site menciona que o sw2d é licenciado usando a LGPL; não é gratuito para uso em ferramentas de código aberto e comerciais?
Ewan Heming
1

Eu usei o EasyCharts no passado e ele cumpriu seu nome. Não é tão poderoso quanto o JFreeChart, mas o JAR para EasyCharts é muito menor do que para o JFreeChart.

mjh2007
fonte