perangkat lunak yang baik (gratis) untuk menghasilkan gambar yang dapat diterbitkan?

11

Saya menghasilkan gambar 1d dan 2d menggunakan Matlab sekarang untuk perbandingan akurasi terhadap model yang diberikan. Saya perlu membandingkan metode saya dengan model Gaussian .wfn standar dan saya akan melakukannya dengan menganalisis kepadatan molekul serta laplacian.

Saya tertarik untuk menghasilkan gambar 2-D dari perbedaan perkiraan saya dengan perkiraan .wfn (mungkin melalui peta kontur?) Dan saya juga tertarik pada properti (kepadatan, laplacian, dll.) Di sepanjang jalur ikatan dan jalur langsung antara dua atom.

Seperti yang saya katakan sebelumnya, saya saat ini menggunakan Matlab untuk menghasilkan gambar saya, meskipun gambar ini sebagian besar untuk saya dan rekan saya. Mereka sepertinya bukan tipe gambar yang sering saya lihat di koran dan publikasi lain.

Perangkat lunak apa yang harus saya gunakan (atau yang orang lain gunakan) untuk menghasilkan grafik dan gambar berkualitas publikasi?

drjrm3
sumber
Dalam publikasi ilmiah koherensi gaya biasanya penting: misalnya huruf grafik harus dalam font dan format yang sama seperti pada teks utama. Untuk mendapatkan jawaban yang lebih fokus, Anda juga harus menentukan sistem persiapan dokumen mana ( , , sistem pengolah kata umum) yang akan Anda gunakan. TEXL.SEBUAHTEX
Stefano M

Jawaban:

14

Saya pribadi datang dari Gnuplot ke Matplotlib dengan PGFPlots sebagai langkah perantara.

Saya akan mencoba menyebutkan semua aspek Matplotlib yang saya sukai.

  • Sangat fleksibel. Anda tidak terbatas pada plot garis atau sebar, Anda dapat dengan mudah melakukan plot bar, gambar (visualisasi matriks!), Plot 3D dasar dan bahkan beberapa animasi.

  • Anda dapat menggunakan Matplotlib sebagai GUI untuk aplikasi Python Anda.

  • LaTeX didukung.
  • Ini mendukung banyak format output (cobalah untuk mendapatkan PDF tanpa rasa sakit dengan Gnuplot).
  • Basis pengguna Matplotlib luas. Anda mendapat banyak bantuan di internet.
  • Cukup mudah dipelajari.
  • Menjadi pustaka Python, Anda memiliki kekuatan Python (yang artinya misalnya Anda dapat dengan mudah memuat teks atau data HDF5 atau, menggunakan pembungkus seperti Cython / f2py, memuat data biner yang ditulis oleh program terkompilasi yang ditulis dalam C / Fortan) .

Namun, saya selalu menyukai figur yang terintegrasi dengan mulus ke dalam dokumen LaTeX. Di sini, pada prinsipnya, PGFPlots unggul. Namun, ini lambat dan (dibandingkan dengan Matplotlib) terbatas.

Itu sebabnya saya lebih memilih solusi baru: backend PGF (percobaan) untuk Matplotlib. Dengan menggunakan ini, plot itu sendiri dibuat oleh Matplotlib, sedangkan sumbu dan label diatur oleh PGFPlots dan akhirnya digambar oleh LaTeX. Anda dapat menggunakan ini untuk output PDF tanpa menyertakan dokumen LaTeX atau untuk output PGF yang dapat Anda sertakan dalam dokumen LaTeX Anda.

Saya memiliki perasaan bahwa solusi saya jelaskan di atas adalah yang solusi untuk kasus penggunaan saya (untuk saat ini).

AlexE
sumber
matplotlib dapat dibuat untuk membuat beberapa plot yang indah. Lihat matplotlib.org/gallery.html
meawoppl
7

Saya sering menggunakan Matlab dan kemudian menyimpan hasilnya sebagai epsfile melalui print -depsc2 -f1 fig. Ini menyimpan angka 1 sebagai epsfile bernama fig.eps. Ada juga Plot2Svg dari pertukaran file matlab yang dapat disimpan sebagai svg. Ini sangat bagus karena Anda kemudian dapat membuka file dalam Inkscapeatau perangkat lunak grafik vektor lainnya dan mengeditnya.

Jika Anda mau mempelajari alat-alat baru, ada juga matplotlib yang pada dasarnya adalah paket python. Saya belum menggunakannya secara pribadi, tetapi banyak teman saya yang menggunakannya dan cenderung menghasilkan grafik yang sangat bagus. Anda dapat memeriksa galeri mereka.

Akhirnya, jika Anda bersedia membayar untuk perangkat lunak tersebut, Anda bisa menggunakan TecPlot tetapi itu akan membuat Anda kehilangan uang!

GradGuy
sumber
1
Sebelum menggunakan TecPlot, gunakan Kunjungi atau ParaView. Mereka sama kuat dan bebas. Mereka juga dapat menghasilkan visualisasi berkualitas tinggi.
Wolfgang Bangerth
@ Wolfgang - Dalam pengalaman saya, TecPlot lebih baik. Ini memungkinkan Anda untuk menyimpan format vektor (Paraview tidak), dan itu menghasilkan plot vektor yang lebih bagus.
akid
@akid: Saya harus mengakui bahwa saya tidak mengenal ParaView dengan sangat baik. Saya menggunakan Visit yang menghasilkan plot vektor yang sangat bagus. Saya tidak tahu tentang format vektor. Ini dapat menyimpan plot dalam resolusi tinggi.
Wolfgang Bangerth
7

Jika Anda ingin mengatasi kurva pembelajaran Gnuplot , Anda dapat menghasilkan angka berkualitas tinggi dengannya (seperti dicontohkan dalam http://www.gnuplotting.org/ ). Secara khusus, saya akan merekomendasikan menggunakan terminal epslatex karena memungkinkan Anda untuk menggunakan LaTeX untuk membuat semua teks dalam gambar (termasuk notasi matematika yang mungkin ingin Anda masukan).

Jika Anda ingin tetap menggunakan MATLAB, Anda mungkin ingin mencoba matlab2tikz . Ini adalah skrip yang mengubah angka MATLAB ke ilustrasi Tikz .

Juan M. Bello-Rivas
sumber