ซอฟต์แวร์ที่ดี (ฟรี) สำหรับการผลิตภาพที่เผยแพร่ได้หรือไม่


11

ตอนนี้ฉันกำลังผลิตภาพ 1d และ 2d โดยใช้ Matlab เพื่อเปรียบเทียบความแม่นยำกับรุ่นที่กำหนด ฉันต้องเปรียบเทียบวิธีการของฉันกับแบบจำลอง. wfn แบบ Gaussian มาตรฐานและฉันจะทำเช่นนั้นโดยการวิเคราะห์ความหนาแน่นของโมเลกุลเช่นเดียวกับ laplacian

ฉันสนใจที่จะสร้างภาพสองมิติที่มีความแตกต่างในการประมาณของฉันไปยังการประมาณ. wfn (อาจผ่านทางแผนที่เส้นโค้ง) และฉันก็สนใจในคุณสมบัติ (ความหนาแน่น, laplacian ฯลฯ ) ตามเส้นทางพันธบัตรและเส้นตรงระหว่างสองอะตอม

ตามที่ฉันได้กล่าวไปก่อนหน้านี้ฉันกำลังใช้ Matlab เพื่อสร้างภาพของฉันแม้ว่าภาพเหล่านี้ส่วนใหญ่จะเป็นของฉันและผู้ร่วมงานของฉัน พวกเขาดูเหมือนจะไม่เป็นประเภทของภาพที่ฉันมักจะเห็นในเอกสารและสิ่งพิมพ์อื่น ๆ

ซอฟต์แวร์ประเภทใดที่ฉันควรใช้ (หรือผู้อื่นใช้) เพื่อสร้างกราฟและภาพสิ่งพิมพ์คุณภาพ?


TEXLATEX

คำตอบ:


14

โดยส่วนตัวฉันมาจากGnuplotถึงMatplotlibโดยมีPGFPlotsเป็นขั้นตอนกลาง

ฉันจะพยายามตั้งชื่อทุกแง่มุมของ Matplotlib ที่ฉันชอบ

  • มันอเนกประสงค์มาก คุณไม่ได้ จำกัด อยู่ที่การวางเส้นหรือการกระจายคุณสามารถทำแผนภูมิแท่งภาพ (การสร้างภาพเมทริกซ์!) การพล็อต 3D พื้นฐานและแม้แต่ภาพเคลื่อนไหวบางอย่างได้อย่างง่ายดาย

  • คุณสามารถใช้ Matplotlib เป็น GUI สำหรับแอพพลิเคชั่น Python ของคุณ

  • รองรับ LaTeX
  • รองรับรูปแบบเอาต์พุตจำนวนมาก (ลองรับ PDF ที่ปราศจากความเจ็บปวดด้วย Gnuplot)
  • ฐานผู้ใช้ของ Matplotlib นั้นกว้างขวาง คุณได้รับความช่วยเหลือจากอินเทอร์เน็ตอย่างสมเหตุสมผล
  • มันง่ายต่อการเรียนรู้อย่างสมเหตุสมผล
  • เป็นห้องสมุด Python คุณมีพลังของ Python ในมือ (ซึ่งหมายความว่าคุณสามารถโหลดข้อความหรือข้อมูล HDF5 หรือใช้ wrappers เช่น Cython / f2py โหลดข้อมูลไบนารีที่เขียนโดยโปรแกรมคอมไพล์ที่เขียนใน C / Fortan) .

อย่างไรก็ตามฉันรักตัวเลขที่รวมเข้ากับเอกสาร LaTeX อย่างราบรื่น ที่นี่ตามหลักการแล้ว PGFPlots จะเป็นเลิศ อย่างไรก็ตามมันช้าและ (เมื่อเทียบกับ Matplotlib) จำกัด

นั่นเป็นเหตุผลที่ฉันต้องการโซลูชันใหม่: แบ็กเอนด์ PGF (สำหรับทดลอง) สำหรับ Matplotlib การใช้สิ่งนี้แปลงตัวเองถูกสร้างขึ้นโดย Matplotlib ในขณะที่แกนและฉลากถูกตั้งค่าโดย PGFPlots และในที่สุดก็ถูกลากโดย LaTeX คุณสามารถใช้สิ่งนี้สำหรับทั้ง PDF output โดยไม่ต้องใช้เอกสาร LaTeX หรือสำหรับ PGF output ที่คุณสามารถรวมไว้ในเอกสาร LaTeX ของคุณ

ฉันมีความรู้สึกว่าการแก้ปัญหาที่ผมกล่าวไว้ข้างต้นคือโซลูชั่นสำหรับกรณีการใช้งานของฉัน (เวลาเป็นอยู่)


matplotlib สามารถทำให้บางแปลงสวยงาม ดูmatplotlib.org/gallery.html
meawoppl

7

ฉัน oftem ใช้ Matlab แล้วบันทึกผลเป็นไฟล์ผ่านทางeps print -depsc2 -f1 figนี้ช่วยประหยัดรูปที่ 1 เป็นไฟล์ชื่อeps fig.epsนอกจากนี้ยังมีPlot2Svgจากการแลกเปลี่ยนไฟล์ matlab ที่สามารถบันทึกsvgได้ นี่เป็นสิ่งที่ดีมากเนื่องจากคุณสามารถเปิดไฟล์ในInkscapeหรือซอฟต์แวร์กราฟิกแบบเวกเตอร์อื่น ๆ และแก้ไขได้

หากคุณยินดีที่จะเรียนรู้เครื่องมือใหม่ ๆ ก็มีmatplotlibซึ่งเป็นแพคเกจหลาม ฉันไม่ได้ใช้มันเป็นการส่วนตัว แต่เพื่อนของฉันหลายคนใช้มันและมีแนวโน้มที่จะสร้างกราฟที่ดีจริงๆ คุณสามารถตรวจสอบแกลเลอรี่ของพวกเขา

ท้ายที่สุดถ้าคุณเต็มใจที่จะจ่ายค่าซอฟต์แวร์คุณสามารถใช้TecPlotแต่นั่นจะทำให้คุณเสียแขนและขา!


1
ก่อนที่จะใช้ TecPlot ให้ใช้การเข้าชมหรือ ParaView พวกมันแข็งแกร่งและมีอิสระ พวกเขายังสามารถสร้างภาพข้อมูลคุณภาพสูงมาก
Wolfgang Bangerth

@ Wolfgang - จากประสบการณ์ของฉัน TecPlot ดีกว่า ช่วยให้คุณสามารถบันทึกรูปแบบเวกเตอร์ (Paraview ไม่ได้) และสร้างแปลงเวกเตอร์ที่ดีกว่า
Akid

@ อาคิด: ฉันต้องยอมรับว่าฉันไม่รู้ ParaView ดีมาก ฉันใช้การเข้าชมที่ให้พล็อตเวกเตอร์ที่ดีมาก แม้ว่าฉันไม่รู้เกี่ยวกับรูปแบบเวกเตอร์ มันสามารถบันทึกแปลงด้วยความละเอียดสูงได้
Wolfgang Bangerth

7

หากคุณยินดีที่จะเอาชนะช่วงการเรียนรู้ของGnuplotคุณสามารถสร้างตัวเลขคุณภาพสูงสุดด้วย (ดังที่อธิบายไว้ในhttp://www.gnuplotting.org/ ) โดยเฉพาะอย่างยิ่งฉันขอแนะนำให้ใช้เทอร์มินัล epslatex เนื่องจากช่วยให้คุณใช้ LaTeX เพื่อแสดงข้อความทั้งหมดในรูป (รวมถึงสัญลักษณ์ทางคณิตศาสตร์ที่คุณอาจต้องการใส่)

หากคุณต้องการที่จะติด MATLAB คุณอาจต้องการที่จะลองmatlab2tikz นี่คือสคริปต์ที่แปลงร่าง MATLAB เพื่อภาพประกอบ Tikz


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