ไลบรารีแผนภูมิจาวาโอเพนซอร์สที่ดีที่สุดคืออะไร (นอกเหนือจาก jfreechart) [ปิด]


136

เหตุใดจึงไม่มีโอเพนซอร์สไลบรารีการสร้างแผนภูมิที่ใช้งานง่ายสำหรับ Java อีก โครงการโอเพนซอร์ซที่ประสบความสำเร็จเพียงโครงการเดียวในพื้นที่นี้ดูเหมือนจะเป็น jfreechart และไม่มีเอกสารประกอบหรือตัวอย่างใด ๆ


ฟรี Java กรอบการสร้างแผนภูมิสำหรับ Java Swing: frontangle.com/#/icharts คุณสามารถสร้างแผนภูมิได้เกือบทุกประเภทในนี้
Oliver Watkins

คำตอบ:


57

มีchart4jซึ่งเป็นแผนภูมิและกราฟ API ช่วยให้นักพัฒนาสร้างแผนภูมิที่มีอยู่ในGoogle Chart APIโดยใช้โปรแกรมผ่าน Java API ที่ตรงไปตรงมาและใช้งานง่าย

Disclaimer: ผมเขียนcharts4j เราจะทำการเปิดตัวครั้งสำคัญอีกครั้งในอีกไม่กี่สัปดาห์ข้างหน้า


11
เก่งมาก! ข้อเสียเพียงอย่างเดียวคือความจำเป็นในการเชื่อมต่ออินเทอร์เน็ตแม้ว่าฉันจะจำไม่ได้ว่าครั้งสุดท้ายที่ฉันถูกตัดการเชื่อมต่อคือเมื่อใด ;-)
fccoelho

19
@pyinsci: ร้านค้าบางแห่งป้องกันไม่ให้เซิร์ฟเวอร์เชื่อมต่อกับเซิร์ฟเวอร์อินเทอร์เน็ตภายนอก (แม้ว่าเซิร์ฟเวอร์จะเข้าถึงได้จากอินเทอร์เน็ตก็ตาม) ด้วยเหตุผลด้านความปลอดภัย
Joachim Sauer

4
โปรดสังเกตว่า API ของแผนภูมิคงที่ของ Google เลิกใช้งานแล้วตั้งแต่วันที่ 20 เมษายน 2555
David Rabinowitz

7
API ที่ทางเลือกที่ไม่ต้องเชื่อมต่อกับอินเทอร์เน็ตเซิร์ฟเวอร์ภายนอกXChart
herrtim

หากคุณกำหนดเป้าหมายเว็บเบราว์เซอร์ที่คุณสามารถดูที่แผนภูมิ ZK
Tom Yeh

58

มีไม่มากนักเพราะพวกเขาจะแข่งขันกับJFreeChartและมันยอดเยี่ยมมาก คุณจะได้รับเอกสารและตัวอย่างโดยการดาวน์โหลดคู่มือของนักพัฒนา นอกจากนี้ยังมีบทเรียนออนไลน์ฟรีมากมายหากคุณค้นหา


2
การมีส่วนร่วมอย่างหนึ่งที่มีประโยชน์มากสำหรับ jfreechart คือ API แบบง่ายที่จะช่วยให้คุณสร้างพล็อตด้วยการเรียกใช้ฟังก์ชันง่ายๆดังนี้: plot (array) และรับวัตถุแผนภูมิซึ่งคุณสามารถปรับแต่งได้ในอนาคตเช่นเพิ่มชื่อเรื่องเส้นตาราง ฯลฯ ...
fccoelho

3
สำหรับบางสิ่ง (การพล็อตทางคณิตศาสตร์ความเร็วสูง) jfreechart นั้นปานกลางไม่น่ากลัว
Jason S

2
ฉันไม่ไม่ใช่ใน Java ฉันพบว่า JChart2D ดีกว่า JFreeChart แต่ก็มีข้อ จำกัด เช่นกัน สำหรับโปรเจ็กต์หนึ่งฉันลงเอยด้วยการสร้างห้องสมุดกราฟของตัวเองเป็นประสบการณ์ที่เจ็บปวด แต่มันก็ทำในสิ่งที่ฉันต้องการ ฉันหวังว่าพอร์ตของ matplotlib ของ Python จะพร้อมใช้งานใน Java
Jason S

6
ใช่ดาวน์โหลดคู่มือสำหรับนักพัฒนาในราคา $ 65.00 ....
Totty.js

1
การเรียก JFreeChart ว่า "น่ากลัว" เป็นการคุยโว "ยอดเยี่ยมสำหรับของง่ายๆ" อาจถูกต้องกว่า +1 สำหรับโคลน matplotlib สำหรับ Java
garyp

15

EasyCharts เป็นเชิงพาณิชย์ดังนั้นฉันจึงไม่สามารถใช้กับโครงการของฉันได้ ฉันใช้ห้องสมุดกราฟ GRAL แทน ฉันพบว่ามันง่ายมากที่จะปรับแต่งและได้รับอนุญาตภายใต้ LGPL เช่นเดียวกับ JFreeChart ดังนั้นคุณสามารถใช้งานได้ฟรี:

http://trac.erichseifert.de/gral


1
ฉันรู้ว่ามันสายเกินไป แต่ฉันกำลังค้นหาเอกสารไม่พบ คุณสามารถแบ่งปันถ้าคุณมีอะไร?
varunrao321

1
ดูแผนภูมิภูเขาน้ำแข็ง: frontangle.com/icharts ที่ฉันสร้างขึ้น ฉันคิดว่ามันขึ้นอยู่กับ JFreechart และส่วนที่เหลือทั้งหมด
Oliver Watkins

14

เป็นคำถามที่ดีฉันแค่มองหาทางเลือกอื่นสำหรับ JFreeChart ด้วยตัวเองเมื่อวันก่อน JFreeChart นั้นยอดเยี่ยมและครอบคลุมมากฉันใช้มันในหลายโครงการ ปัญหาล่าสุดของฉันคือมันหมายถึงการเพิ่ม 1.6MB ของไลบรารีไปยังแอพเพล็ต 50kb ดังนั้นฉันจึงมองหาสิ่งที่เล็กกว่า

JFreeChart คำถามที่พบบ่อยของตัวเองแสดงรายการทางเลือก เมื่อเทียบกับ JFreeChart ส่วนใหญ่ค่อนข้างธรรมดาและบางส่วนก็ค่อนข้างน่าเกลียด ส่วนใหญ่มีแนวโน้มที่ดูเหมือนจะเป็นแผนภูมิ Java ชุดการก่อสร้างและOpenChart2

ฉันยังพบEasyChartsซึ่งเป็นผลิตภัณฑ์เชิงพาณิชย์ แต่ดูเหมือนจะใช้งานได้ฟรีในบางสถานการณ์

ในท้ายที่สุดฉันก็กลับไปที่ JFreeChart ที่พยายามและเชื่อถือได้และใช้Proguardเพื่อเขียงให้มีขนาดที่จัดการได้มากขึ้น

ผมขอแนะนำให้คุณดู JFreeChart อีกครั้ง คู่มือผู้ใช้จะใช้ได้เฉพาะที่จะซื้อ แต่การสาธิตการแสดงสิ่งที่เป็นไปได้และก็สวยง่ายที่จะทำงานออกว่าจากเอกสาร API โดยทั่วไปคุณเริ่มต้นด้วยเมธอดแบบคงที่ของChartFactoryและเสียบอ็อบเจ็กต์JFreeChart ที่เป็นผลลัพธ์เข้ากับChartPanelเพื่อแสดง หากคุณติดขัดฉันแน่ใจว่าคุณจะได้รับคำตอบอย่างรวดเร็วสำหรับปัญหาของคุณใน StackOverflow


ฉันสร้างกระดาษห่อหุ้ม "พล็อต" แบบง่ายๆรอบ ๆ ชุดการสร้างแผนภูมิ java ซึ่งทำให้ง่ายต่อการใช้งานสำหรับแปลงแบบง่าย ๆbitbucket.org/hughperkins/easyjcckit
Hugh Perkins

5

สำหรับแบบไดนามิก 2D แผนภูมิฉันได้ใช้JChart2D รวดเร็วง่ายและได้รับการอัปเดตเป็นประจำ ผู้เขียนตอบสนองต่อรายงานข้อบกพร่องหนึ่งฉบับของฉันและคำขอคุณลักษณะเพียงไม่กี่รายการอย่างรวดเร็ว ที่ บริษัท ของเราชอบมากกว่า JFreeChart เพราะออกแบบมาเพื่อการใช้งานแบบไดนามิกซึ่งแตกต่างจาก JFreeChart


5

คุณสามารถลองJzy3d ช่วยวาดแผนภูมิ 3 มิติอย่างง่าย (พื้นผิวกระจายแท่ง ฯลฯ ) และมีตัวเลือกมากมายสำหรับปรับแต่งเค้าโครงของแกนเห็บ ฯลฯ มีตัวอย่างและเอกสารประกอบในวิกิมากมาย

ฟรีและโอเพ่นซอร์ส

ไชโย

มาร์ติน


4

มีห้องสมุดแผนภูมิใหม่ในเมือง: JChartlib JChartLib http://freshmeat.net/projects/jchartlib


มันดูดี!! น้ำหนักเบาและไม่มีการพึ่งพาว้าวดีมาก ฉันดูวิกิที่ค่อนข้างตรงไปตรงมา คำถามของฉัน: อนุญาตให้ใช้หมวดหมู่แทนค่าตัวเลขบนแกน X หรือไม่
Gigab0rt

2
ว้าวขอบคุณมากสำหรับความคิดเห็น จำนวนซีรีส์ไม่ได้ จำกัด อยู่ในแผนภูมิเส้น วาดแผนภูมิได้มากเท่าที่คุณต้องการ ฉันเพิ่งเปิดตัวเวอร์ชันใหม่ที่สามารถบันทึกแผนภูมิเป็นไฟล์ jpg หรือ png ได้ ประเภทแผนภูมิเพิ่มเติมเช่น barchart, cakechart, radarchart และอื่น ๆ อยู่ในการวางแผน
suvi

โอเคให้ฉันลองก่อนที่มันจะเก่า ... : D
gumuruh

มันคือ GPL ช่วยทำให้เป็น LGPL ได้ไหม (หรือ Apache 2 หรือ MPL)
Hugh Perkins

เหตุผลหลักที่ฉันจะพิจารณาใช้ไลบรารีแผนภูมิอื่นนอกเหนือจาก jfreechart ก็คือการมีไลบรารีแผนภูมิที่ (i) ดูแลโดยชุมชน (ii) มีเอกสารที่ดีเกี่ยวกับวิธีการใช้งานฟรี น่าเสียดายที่ jchartlib ไม่มีข้อได้เปรียบในข้อใดข้อหนึ่งเหล่านี้ :-(
Hugh Perkins

4

มี JChart ซึ่งเป็นโอเพ่นซอร์สทั้งหมด ฉันไม่แน่ใจว่าคุณกำลังสร้างกราฟอย่างไรและคุณกำลังสร้างกราฟอย่างไร (servlets, swing, ฯลฯ ) ดังนั้นฉันจะบอกว่าแค่ดูคู่ที่แตกต่างกันและดูว่าตัวไหนเหมาะกับคุณ

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

ฉันยังใช้ JGraph แต่ฉันใช้เวอร์ชันเชิงพาณิชย์เท่านั้น พวกเขาเสนอเวอร์ชันโอเพ่นซอร์สอย่างไรก็ตาม:

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


2

ฉันพบกรอบนี้: jensoft sw2d ฟรีสำหรับการใช้งานที่ไม่ใช่เชิงพาณิชย์ (การออกใบอนุญาตคู่)

http://www.jensoft.org

ความนับถือ.


2
ไซต์นี้ระบุว่า sw2d ได้รับอนุญาตให้ใช้ LGPL ไม่ฟรีที่จะใช้ทั้งในเครื่องมือโอเพ่นซอร์สและเชิงพาณิชย์
Ewan Heming

1

ฉันเคยใช้ EasyCharts มาก่อนและมันก็เป็นไปตามชื่อ มันไม่ทรงพลังเท่า JFreeChart แต่ JAR สำหรับ EasyCharts นั้นเล็กกว่า JFreeChart มาก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.