Программное обеспечение для «набросков» графиков

Я ищу бесплатное программное обеспечение для Windows или веб-приложение, которое позволяет мне составлять простые графики в стиле «эскиз», как если бы они были нарисованы от руки. Я хочу использовать их, чтобы проиллюстрировать моменты, сделанные в тексте (блоге).

Требования:

  • Цвет, возможно стили
  • Уметь ставить галочки/точки данных на оси
  • Различные типы графиков (линии, столбцы); 2D достаточно хорошо
  • Возможность добавить текст в том же стиле (хотя, вероятно, это можно будет сделать позже в любом графическом редакторе)
  • Публикация графиков бесплатная, небольшой угловой логотип/водяной знак подойдет.
  • Я бы в первую очередь использовал его для «рисования от руки» графика, но, возможно, фактический ввод данных, который генерирует график, тоже пригодится.

Несколько примеров, которые я нашел при поиске изображений в Google по запросу «график эскиза»:

Ответы (1)

Python с numpy и matplotlib позволит вам быстро рисовать широкий спектр графиков и включает стиль построения графиков xkcd ( на основе мультфильмов XKCD ).

Все вышеперечисленное:

  • Бесплатно, бесплатно и с открытым исходным кодом
  • Кроссплатформенный

Чтобы удовлетворить ваши требования:

  • Цвет, возможно фасоны Цвет однозначно
  • Уметь ставить галочки/точки данных на оси Нет проблем
  • Различные типы графиков (линии, столбцы); 2D достаточно хорош. Стиль XKCD можно применить практически к любому из типов 2D и 3D-графиков matplotlib, вы даже можете иметь анимированные графики 2/3D.
  • Возможность добавить текст в том же стиле (хотя это, наверное, можно будет сделать позже в любом графическом редакторе) Она уже есть.
  • Бесплатно для публикации графиков, небольшой угловой логотип / водяной знак будет в порядке . Совершенно бесплатно, без логотипа или водяного знака, если вы не решите добавить их.
  • Я бы в первую очередь использовал его для «рисования от руки» графика, но, возможно, фактический ввод данных, который генерирует график, тоже пригодится Нет от руки, но вы можете очень быстро подключить грубые данные выборки. обратите внимание, что вы также можете использовать python для запросов к сети, базе данных, файлу или физическим источникам.

Обратите внимание, что вы можете сохранять свои графики в форматах png, eps, jpeg, pdf, pgf, ps, svg, tiff и т. д.

Пример кода

Демо из галереи

import matplotlib.pyplot as plt
import numpy as np

with plt.xkcd():
    # Based on "Stove Ownership" from XKCD by Randall Monroe
    # http://xkcd.com/418/

    fig = plt.figure()
    ax = fig.add_axes((0.1, 0.2, 0.8, 0.7))
    ax.spines['right'].set_color('none')
    ax.spines['top'].set_color('none')
    plt.xticks([])
    plt.yticks([])
    ax.set_ylim([-30, 10])

    data = np.ones(100)
    data[70:] -= np.arange(30)

    plt.annotate(
        'THE DAY I REALIZED\nI COULD COOK BACON\nWHENEVER I WANTED',
        xy=(70, 1), arrowprops=dict(arrowstyle='->'), xytext=(15, -10))

    plt.plot(data)

    plt.xlabel('time')
    plt.ylabel('my overall health')
    fig.text(
        0.5, 0.05,
        '"Stove Ownership" from xkcd by Randall Monroe',
        ha='center')

    # Based on "The Data So Far" from XKCD by Randall Monroe
    # http://xkcd.com/373/

    fig = plt.figure()
    ax = fig.add_axes((0.1, 0.2, 0.8, 0.7))
    ax.bar([-0.125, 1.0 - 0.125], [0, 100], 0.25)
    ax.spines['right'].set_color('none')
    ax.spines['top'].set_color('none')
    ax.xaxis.set_ticks_position('bottom')
    ax.set_xticks([0, 1])
    ax.set_xlim([-0.5, 1.5])
    ax.set_ylim([0, 110])
    ax.set_xticklabels(['CONFIRMED BY\nEXPERIMENT', 'REFUTED BY\nEXPERIMENT'])
    plt.yticks([])

    plt.title("CLAIMS OF SUPERNATURAL POWERS")

    fig.text(
        0.5, 0.05,
        '"The Data So Far" from xkcd by Randall Monroe',
        ha='center')

plt.show()

введите описание изображения здесь введите описание изображения здесь

Он даже работает с 3D-графиками, как показано в процессе разработки на этом билете :введите описание изображения здесь

Ммммм, я не особенно доволен изучением еще одного языка программирования, но я вижу, что это дает мне широкий диапазон контроля.
@ Ян, это Python, а не какой-то случайный жаргон. Вы, вероятно, уже знаете это. :)
@AndreaLazzarotto Судя по его комментарию, скорее всего, нет.
@Jeremy, OP попросил решение для построения данных. Чтобы это сделать, нужно проделать определенную работу. В Италии мы говорим: «Вы не можете иметь кувшин, полный вина, и пьяную жену одновременно».