Взгляните на лучший вариант Юлии для построения статистических графиков по состоянию на 2020 год.
Введение
Если вы работали с Джулией хотя бы недолго, возможно, вы знакомы с библиотекой построения графиков под названием Plots.jl. Plots.jl - это простая библиотека, которая предоставляет порты для библиотек Python, таких как Plot.ly и Matplotlib, с простыми функциональными методами, такими как plot () и scatter (). Хотя это, безусловно, отличный способ обойтись без создания совершенно новой библиотеки для использования в языке программирования Julia, он также представляет несколько проблем.
Во-первых, что наиболее важно, интерпретация Python с помощью Julia создает множество проблем с производительностью. От простого импорта Plots.jl до построения графиков - производительность с Plots.jl просто ужасна! Помимо того, что он не является Джулианом, в версии Джулии отсутствует много программного обеспечения, а многие функции полностью упускаются из виду. Хотя GR, вероятно, является наиболее многообещающим сервером для Plots.jl, ему не хватает многих замечательных функций, которые могут быть доступны вам с библиотеками Pythonic. Несмотря на это, у меня есть статья, которую вы можете прочитать, чтобы улучшить свои навыки визуализации GR с помощью Plots.jl:
Таким образом, с этими серьезными фундаментальными недостатками в Plots.jl легко понять, почему ученые искали в другом месте отличную статистическую визуализацию на языке Julia. Один из лучших вариантов, на который я смотрел, - это библиотека статистических графиков под названием
Gadfly.jl.
Прежде всего, следует отметить, что Gadfly очень похож на другую библиотеку, создателем которой я являюсь, под названием Hone.jl. Оба используют один и тот же серверный компонент Compose.jl для рисования векторной графики в Julia. На этом сходства не заканчиваются, но между ними есть много ключевых различий, таких как объектно-ориентированная и модульная методология Hone, которая совершенно не соответствует методологии Gadfly. Несмотря на это, Gadfly сам по себе использует очень интересную методологию и работает совершенно иначе, чем другие библиотеки для построения графиков, с которыми вы могли бы провести некоторое сходство.
"ноутбук"
Зачем использовать Овод?
С учетом изложенных альтернатив и часто более популярных среди пользователей Julia, почему вы можете захотеть использовать Gadfly? Во-первых, Овод - это Джулиан. Это, конечно, означает, что он не только быстр, но и хорошо подходит для языка Julia, чего нельзя сказать о его аналогах Plots.jl. Для меня это огромное преимущество, поскольку вам не только не нужно иметь дело с проблемами производительности, о которых заявляет Plots.jl, но и работать с ним становится относительно просто.
Еще одна замечательная вещь в Gadfly - это его готовая интерактивность. Сюжеты интерактивны по своей природе и сравнимы с чем-то вроде Plot.ly. Это концепция, которая обычно не встречается где-либо еще в языке Julia, поэтому она выделена жирным шрифтом и уникальна для Gadfly.
Введение в Овод
Gadfly.jl на поверхности следует простой методологии, с которой знакомо большинство пользователей Julia. Мы можем создать простой график, используя метод plot () с двумя аргументами ключевого слова, X и Y.
using Gadfly data = Dict([:X => [5,10,32,31,51,43], :Y => [82, 33, 21, 26, 11, 22]]) plot(x=data[:X], y=data[:Y])
Здесь все немного иначе. В Gadfly есть экспортированный модуль под названием «Geom.jl.» Вместо того, чтобы использовать отдельный метод для создания линейного графика, мы можем просто использовать тот же метод только с добавленной геометрией из этого модуля.
plot(x=rand(10), y=rand(10), Geom.point, Geom.line)
Точно так же мы могли бы добавить аргумент ключевого слова цвета, чтобы изменить цвет нашей геометрии.
plot(x=data[:X], y=data[:Y], color=data[:Y])
Кроме того, мы могли бы использовать больше геометрии из модуля Geom.jl, например гистограмму:
data = Dict(:Location => ["Africa", "Europe", "Africa", "Americas", "Asia", "Europe"], :Income => [29000, 83000, 56000, 76000, 52000, 46000]) plot(x=data[:Income], color=data[:Location], Geom.histogram)
Вы также можете быстро построить синтаксические результаты с помощью Gadfly, что дает такие быстрые результаты:
plot([sin, cos], 0, 25)
Вывод
Gadfly.jl - фантастическая библиотека для построения графиков, в которой используется интересный подход к проблемам, которые мы видели ранее решенными другими способами. По моему личному мнению, подход, который использует модуль, делает его лучше и намного проще в использовании, чем у многих его конкурентов. Вдобавок ко всему, он, конечно, написан на чистой Julia, что дает ему скорость и простоту использования, которые просто не имеют себе равных с аналогичными пакетами внутри языка.
В целом, я бы сказал, что если вы работаете с большим объемом данных на языке Julia, Gadfly наверняка стоит использовать Pkg.add (). Это даст вам способы просмотра данных, которые значительно улучшат ваше понимание и анализ по сравнению с тем, на что способно что-то вроде Plots.jl. Хотя я бы определенно сказал, что Plots.jl все еще может иметь свое место и, безусловно, имеет свое применение, я также хотел бы иметь в виду, что Овод полностью затмевает его как библиотеку графиков снов Джулии.