Виходячи з того, що ви говорите, мова сценаріїв загального призначення - це, мабуть, найкраща ставка, якщо вона має певну можливість графіки, до якої ви можете отримати доступ (будь то вбудований чи імпортований).
У цьому ключі MATLAB працюватиме, хоча вам доведеться грати з шириною ліній, символами та осями для графіків якості презентації. З огляду на ваші критерії, я б сказав, що велика слабкість MATLAB полягає в детальній математичній наборі; MATLAB може використовувати деякі TeX-мітки, але є деякі команди LaTeX, з якими він не може працювати, тому я пам’ятаю, що мені потрібно було повертатись і вирізати і вставити деякі мітки LaTeX з PDF в Adobe Illustrator.
Python + NumPy працюватиме над імпортом даних, оскільки numpy.loadtxt
імпорт текстових даних безболісний. У цей момент ви можете вибрати між matplotlib та Gnuplot (у якого інтерфейс Python через Gnuplot.py ; немає активної розробки інтерфейсу з 2008 року, але знову ж таки, чи Gnuplot змінить все так багато більше, хоча він продовжує додавати релізи? ). Обгортка PyAsy MatthewEmmett також може працювати, залежно від того, що ви хочете зробити. Matplotlib має чудовий математичний набір (як зазначив Баррон), і маніпуляції з даними можна проводити за допомогою NumPy, SciPy або будь-якого іншого пакета Python, який ви хочете перекинути на свої дані.
Проблема, яка була у мене з gnuplot сама по собі, полягає в тому, що він дійсно створений лише для побудови сюжетів. Мені не видно було, як маніпулювати даними в мові сценаріїв gnuplot. По суті, я всі свої дані маніпулював заздалегідь, перш ніж виводити їх у текст, тому що не міг зрозуміти, як це зробити інакше. Ви можете використовувати gnuplot для оцінки формул і робити деякі маніпуляції, але для мене Python має набагато більше природного синтаксису і має більшу загальну корисність, ніж gnuplot. Мені не хочеться вивчати іншу мову просто для того, щоб займатися однією справою, якщо це справді природна, легка для засвоєння мова. (Або якщо мене не змусять.)
Tecplot 360 має подібну проблему. Tecplot 360 створює дивовижні сюжети, особливо в 3D. З Tecplot 360 ви можете зробити щось, використовуючи досить простий у навчанні графічний інтерфейс, що вам, мабуть, важко зробити в іншому пакетному плані. Востаннє я використовував Tecplot 6 чи 7 років тому; мабуть, вони додали багато функціоналу з тих пір. Маніпулювання даними може здійснюватися через індексацію, нарізку або встановлення зон. Отримані величини можна обчислити, використовуючи рівняння. Ви також можете взяти перетворення Фур'є своїх даних, здійснити інтерполяцію (або крігінг) та виконати ряд інших речей. Незрозуміло, як робити математичні набори. Я думаю, ви можете зламати вихід HTML з Tecplot і додати MathJax або MathML? На мою думку, недоліки щодо Tecplot полягають у тому, що він не безкоштовний (це означає, що як інструмент, можливо, ви не зможете взяти його з собою з роботи на роботу), якщо математичне набір тексту iffy, а для того, щоб складати складні маніпуляції з даними, потрібно вивчити макро мову Tecplot. Основна перевага полягає в тому, що його 3D-графічна здатність випереджає matplotlib та MATLAB дальньою стрілкою. Можна групувати дані ділянок за допомогою мови макро / сценаріїв Tecplot та викликати зовнішні сценарії Python (з деякою обмеженою функціональністю). Крім того, подібно до MATLAB, є графічний інтерфейс, на який можна повернутися, якщо ви не хочете вивчати сценарії Tecplot. (Графічний інтерфейс Tecplot набагато більш повнофункціональний, ніж MATLAB.) Основна перевага полягає в тому, що його 3D-графічна здатність випереджає matplotlib та MATLAB дальньою стрілкою. Можна групувати дані ділянок за допомогою мови макро / сценаріїв Tecplot та викликати зовнішні сценарії Python (з деякою обмеженою функціональністю). Крім того, подібно до MATLAB, є графічний інтерфейс, на який можна повернутися, якщо ви не хочете вивчати сценарії Tecplot. (Графічний інтерфейс Tecplot набагато більш повнофункціональний, ніж MATLAB.) Основна перевага полягає в тому, що його 3D-графічна здатність випереджає matplotlib та MATLAB дальньою стрілкою. Можна групувати дані ділянок за допомогою мови макро / сценаріїв Tecplot та викликати зовнішні сценарії Python (з деякою обмеженою функціональністю). Крім того, подібно до MATLAB, є графічний інтерфейс, на який можна повернутися, якщо ви не хочете вивчати сценарії Tecplot. (Графічний інтерфейс Tecplot набагато більш повнофункціональний, ніж MATLAB.)
Інструменти на основі LaTeX, такі як TikZ та PGFPlots, схоже, не створені для вашого використання. Слабкий момент тут - маніпулювання даними; TikZ та PGFPlots - чудові інструменти LaTeX. Я б хотів, щоб я знав, як їх краще використовувати. Оскільки вони є LaTeX, я здогадуюсь, що робочий процес вирізає та вставляє необхідні дані в LaTeX і малює їх. Можна виконувати програми всередині LaTeX, але я не бачу, як ця можливість обов'язково допоможе вам, враховуючи, що для презентації чи документа випадок використання, який ви описуєте, говорить про те, що ви, ймовірно, збираєтесь лише зберегти закінчений продукт. Можливо, ти добре з цим робочим процесом; обидва інструменти мають репутацію хорошого проектування та виготовлення високоякісних фігур.
Нарешті, Adobe Illustrator - це прекрасний інструмент для торкання сюжетів, як ви вже говорили; недоліки - це, як ви вже говорили, відсутність можливостей написання або повторюваності, але нічого не перемагає програма редагування графіки, якщо ви хочете робити невеликі зміни.