W oparciu o to, co mówisz, język skryptowy ogólnego przeznaczenia jest prawdopodobnie najlepszym wyborem, pod warunkiem, że ma on jakąś funkcję graficzną, do której można uzyskać dostęp (zarówno wbudowany, jak i importowany).
W tym duchu MATLAB będzie działał, chociaż będziesz musiał bawić się szerokościami, symbolami i osiami linii, aby uzyskać wykresy o jakości prezentacji. Biorąc pod uwagę twoje kryteria, powiedziałbym, że wielką słabością MATLAB jest szczegółowe skład matematyczny; MATLAB może używać niektórych etykiet TeX, ale są pewne polecenia LaTeX, których nie obsługuje, więc pamiętam, że musiałem cofnąć się i wyciąć i wkleić niektóre etykiety LaTeX z pliku PDF w programie Adobe Illustrator.
Python + NumPy będzie działał przy imporcie danych, ponieważ numpy.loadtxt
sprawia , że importowanie danych tekstowych jest bezbolesne. W tym momencie możesz wybierać między matplotlib i Gnuplot (który ma interfejs Pythona za pośrednictwem Gnuplot.py ; brak aktywnego rozwoju interfejsu od 2008 roku, ale z drugiej strony, czy Gnuplot zmienia się jeszcze bardziej, nawet jeśli wciąż dodaje wydania? ). Owinięcie PyAsy MatthewEmmetta może również działać, w zależności od tego, co chcesz zrobić. Matplotlib ma świetne składanie matematyczne (jak zauważył Barron), a manipulacje danymi można wykonywać za pomocą NumPy, SciPy lub dowolnego innego pakietu Python, który chcesz rzucić na swoje dane.
Problem, który miałem sam z gnuplotem, polega na tym, że jest on naprawdę zbudowany tylko do kreślenia. Nie było dla mnie oczywiste, jak manipulować danymi w języku skryptowym gnuplot. Zasadniczo zrobiłem wszystkie moje operacje na danych wcześniej, zanim wysłałem je do tekstu, ponieważ nie mogłem wymyślić, jak to zrobić inaczej. Możesz użyć gnuplot do oceny formuł i wykonywania pewnych operacji, ale dla mnie Python ma dużo bardziej naturalną składnię i ma większą ogólną użyteczność niż gnuplot. Nie chcę uczyć się innego języka tylko po to, aby robić jedną rzecz, chyba że jest to naprawdę naturalny, łatwy do nauczenia się język. (Lub chyba, że jestem zmuszony.)
Tecplot 360 ma podobny problem. Tecplot 360 produkuje niesamowite wykresy, szczególnie w 3D. Są rzeczy, które możesz zrobić za pomocą Tecplot 360 przy użyciu stosunkowo łatwego do nauczenia GUI, który prawdopodobnie byłby trudny do wykonania w innym pakiecie drukowania. Ostatni raz korzystałem z Tecplot 6 lub 7 lat temu; najwyraźniej od tego czasu dodali wiele funkcji. Manipulowanie danymi może odbywać się poprzez indeksowanie, dzielenie lub tworzenie stref. Ilości pochodne można obliczyć za pomocą równań. Możesz także wykonać transformację Fouriera swoich danych, wykonać interpolację (lub kriging) i wykonać wiele innych czynności. Nie jest jasne, jak wykonywać matematyczne składanie. Myślę, że możesz zhakować dane wyjściowe HTML z Tecplot i dodać MathJax lub MathML? Moim zdaniem wady związane z Tecplot polegają na tym, że nie jest on darmowy (co oznacza, że jako narzędzie, możesz nie być w stanie zabrać go ze sobą do pracy), niepewne matematyczne składanie, a to, że skryptowanie złożonych manipulacji danymi wymaga nauki języka makr Tecplot. Główną zaletą jest to, że jego możliwości drukowania 3D znacznie przewyższają matplotlib i MATLAB. Możliwe jest grupowanie danych wydruku przy użyciu języka makr / skryptów Tecplot oraz wywoływanie zewnętrznych skryptów Pythona (z pewną ograniczoną funkcjonalnością). Podobnie, jak w przypadku MATLAB, istnieje interfejs GUI, na którym można polegać, jeśli nie chcesz uczyć się skryptów Tecplot. (GUI Tecplot jest o wiele bardziej funkcjonalny niż MATLAB.) Główną zaletą jest to, że jego możliwości drukowania 3D znacznie przewyższają matplotlib i MATLAB. Możliwe jest grupowanie danych wydruku przy użyciu języka makr / skryptów Tecplot oraz wywoływanie zewnętrznych skryptów Pythona (z pewną ograniczoną funkcjonalnością). Podobnie, jak w przypadku MATLAB, istnieje interfejs GUI, na którym można polegać, jeśli nie chcesz uczyć się skryptów Tecplot. (GUI Tecplot jest o wiele bardziej funkcjonalny niż MATLAB.) Główną zaletą jest to, że jego możliwości drukowania 3D znacznie przewyższają matplotlib i MATLAB. Możliwe jest grupowanie danych wydruku przy użyciu języka makr / skryptów Tecplot oraz wywoływanie zewnętrznych skryptów Pythona (z pewną ograniczoną funkcjonalnością). Podobnie, jak w przypadku MATLAB, istnieje interfejs GUI, na którym można polegać, jeśli nie chcesz uczyć się skryptów Tecplot. (GUI Tecplot jest o wiele bardziej funkcjonalny niż MATLAB.)
Narzędzia oparte na LaTeX, takie jak TikZ i PGFPlots, nie wydają się być stworzone dla twojego przypadku użycia. Słabym punktem jest tutaj manipulacja danymi; TikZ i PGFPlots to świetne narzędzia LaTeX. Chciałbym wiedzieć, jak lepiej z nich korzystać. Ponieważ są to LaTeX, domyślam się, że przepływ pracy polega na wycinaniu i wklejaniu niezbędnych danych do LaTeX i ich kreśleniu. Możliwe jest uruchamianie programów wewnątrz LaTeX, ale nie widzę, jak ta zdolność koniecznie by ci pomogła, biorąc pod uwagę, że w przypadku prezentacji lub dokumentu opisany przypadek użycia sugeruje, że prawdopodobnie zachowasz tylko ukończony produkt. Może nie masz nic przeciwko temu procesowi; oba narzędzia mają reputację dobrze zaprojektowanych i produkują wysokiej jakości dane.
Adobe Illustrator to także doskonałe narzędzie do poprawiania wykresów, tak jak powiedziałeś; braki to również, jak powiedziałeś, brak skryptowalności lub powtarzalności, ale nic nie przebije programu do edycji grafiki, jeśli chcesz wprowadzić małe poprawki.