Подписка на блог

В Телеграме помимо ссылок на заметки делюсь околодизайнерскими наблюдениями.

В Твиттере помимо ссылок на заметки пишу всякую чушь.

В Тумблере и Же-же есть автоматические трансляции. Если не работает, напишите мне: ilyabirman@ilyabirman.ru.

По РСС и Джейсон-фиду трансляции для автоматических читалок

Иллюстратор и Джаваскрипт

Любой человек с мозгом программиста противится рутинной работе. Он понимает в душе, что делает то, что должна делать машина. Достаточно ведь написать код один раз и завернуть в цикл.

Я обожаю придумывать дизайн графиков, диаграмм и таблиц, но все автоматические инструменты строят уродство, а не графики.

Иногда нужно табличные данные вставить и покрасить каждое значение оттенком, зависящим от этого значения. Иногда нужно во всей таблице взять и во всех значения после запятой оставить ровно два знака, набрав их шрифтом чуть меньше. Иногда нужно классы чисел разделить полупробелами. Иногда придуманный удачный формат для каких-то данных хочется опробовать для других данных (например, таблицеграфик каких-то спортивных результатов перестроить для другого матча или заплыва).

Всё это довольно муторная работа, которую хочется автоматизировать.

Так вот, кто-нибудь знает, как это сделать лучше всего? Кажется, адобовские программы как-то поддерживают Джаваскрипт. Как этим воспользоваться? Где задокументированна их объектная модель? Есть ли там консольный режим? Типа, пишешь команду — она сразу же выполняется по энтеру.

Хочется строить график в Иллюстраторе так:

if (line = document.layerNamed ('rus medals')) line.clear ()
else line = document.layers.add ('rus medals')
line.select ()
document.pen (0, 0)
for (i = 0; i <= 16; ++ i) {
  document.pen (i * 10, -medalsByCountryAndDate ('RUS', i + 12))
}


Ну или что-то вроде того. То есть пишем, что хотим от машины, а не делаем это руками. Я чувствую, как вам хочется придраться к этому коду или придумать свой, но это никому не интересная хрень. Смысл в другом: захотели построить график Новергии — бац, построили. Решили, что 10 пикселей плохое расстояние — исправили на 12, перестроили. Захотели поставить восклицательный знак на графике каждый раз, когда его поднимает золотая медаль — дописали строчку. Захотели воткнуть грустный норвежский флаг везде, где проиграли золото Бьёрндалену — дописали ещё пару строчек.

Кто так умеет, научите меня, а?
Подписаться на блог
Поделиться
Отправить
14 комментариев
Takkmoil
Вот как-то так: http://www.adobe.com/devnet/illustrator/scripting/ (не люблю тыкать в мануалы, но лучше не объясню).

Кстати, куда делась галочка «видно только автору блога»?
Илья Бирман
О, круто, оно работает. Спасибо!
Алисей Лебедев
Я тоже в поиске. Когда нужно обработать большой набор данных хитрым способом, то я механическую часть делаю в HTML, потом скриншот вставляю куда нужно и добавляю подписи, либо, если HTML не тянет объем данных — карта из 100 000 кликов, механическую часть делаю в  Cairo, он очень быстрый и может генерить как векторные, так и растровые изображения. Потом это я могу вставить куда угодно, наложить эффекты.

Некоторые, говорят, с успехом пользуются Processing, он поддерживает экспорт в вектор. И чудеса в нем действительно творят неземной красоты: http://www.generative-gestaltung.de/
Bolk
Как выглядит такой JS, ты можешь посмотреть у меня в «Бутылках пива» :)
Дмитрий
В Excel 2007 есть неплохое условное форматирование.
Ярослав Патрикеев
Да-да, я вот тоже этим давно интересуюсь. Расскажешь, когда добьёшься чего-то в этом?
Виктор
>Я обожаю придумывать дизайн графиков, диаграмм и таблиц, но все автоматические инструменты стоят уродство, а не графики.

Не совсем уловил смысл этой фразы. Каким образом первая часть предложения согласуется со второй? Это примерно тоже самое, что «я люблю ходить, но на улице дождь». Кроме того, в слове «стоят» буква «р» пропущена.
Илья Бирман
Согласен, фраза кривовата.
Kalan
Рисуй в SVG.
Сергей
Чем actionscript плох?
Илья Бирман
Это же что-то про Флеш вроде?
Сергей
Флеш, да. Но, наверное, неуместное предложение. Не уверен, что во флеше можно быстро рисовать хорошую инфографику.
Иван Семенов
Есть чудесный язык — Пайтон. И пара простеньких програмок:
http://nodebox.net/code/index.php/Home
http://drawbot.com/
Там есть необходимые мануалы и примеры. Полученные картинки можно сохранить в векторном формате и открыть Иллюстратором.
Валерий Сибиковский
Есть вот такая штука еще:
http://scriptographer.org/

Это джаваскриптовый фреймворк для иллюстратора (насколько я понимаю), там люди свои инструменты пишут.
Анатолий Rr Буров
Для подобных штук использую питон, сохраняющий в svg.
Михаил Баранов
Есть подозрение, что Adobe довольно сильно задвигает Illustrator (графики там до сих пор черно-белые по умолчанию, например).

Синтаксис AdobeScript нужно искать на сайте самой Adobe, и он там был, когда я копал скрипты для Photoshop.
DnV
Может не совсем то, но есть Google Chart API (http://code.google.com/intl/ru/apis/chart/image_charts.html).
Генерить можно и джаваскриптом (http://dnv.net23.net/mstest.html).
Есть у них и более крутая штука, Visualization API (http://code.google.com/intl/ru/apis/visualization/interactive_charts.html), она так вообще полностью на джаваскрипте.

Пользовательский интерфейс
Доступны три раздела
электронного учебника

Популярное