LINUX.ORG.RU

Ищу прогу для геренарации горизонтальных гистограмм

 , ,


0

1

Нужно что-то типа: https://developers.google.com/chart/interactive/docs/gallery/barchart

Но мне нужно запускать его из консоли и получать результат в нужном формате (png/svg). Интерактивность тоже не важна.

Гугл подсказывает gnuplot, но в нём горизонтальные гистограммы только через какие-то хаки работают, и всё равно криво.

Вроде бы задача примитивная, а утилит 0.

★★★★★

Matplotlib для python не подходит?

pol01
()

Вот пример с их сайта (matplotlib):

"""
Simple demo of a horizontal bar chart.
"""
import matplotlib.pyplot as plt
plt.rcdefaults()
import numpy as np
import matplotlib.pyplot as plt


# Example data
people = ('Tom', 'Dick', 'Harry', 'Slim', 'Jim')
y_pos = np.arange(len(people))
performance = 3 + 10 * np.random.rand(len(people))
error = np.random.rand(len(people))

plt.barh(y_pos, performance, xerr=error, align='center', alpha=0.4)
plt.yticks(y_pos, people)
plt.xlabel('Performance')
plt.title('How fast do you want to go today?')

plt.show()

pol01
()
Ответ на: комментарий от pol01

Я в питоне не бум-бум. Попробую подогнать под свои нужды.

RazrFalcon ★★★★★
() автор топика
Ответ на: комментарий от morse

Можно ссылку? Гугл ничего не найдёт по такому запросу.

И мне нужна готовая прога, а не либа. Написать я и так могу.

RazrFalcon ★★★★★
() автор топика
Ответ на: комментарий от RazrFalcon

root - это тоже библиотека. А программы ты такой конечно же не найдешь. Как ты себе это представляешь, целая программа созданная исключительно для того чтобы рисовать один единственный тип графиков?

morse ★★★★★
()
Ответ на: комментарий от morse

Почему бы и нет? Мне вот пригодилась бы.

RazrFalcon ★★★★★
() автор топика
Ответ на: комментарий от registrant

Хм, вроде бы и круто, но у него зависимостей тьма...

RazrFalcon ★★★★★
() автор топика

Нужно что-то типа

а в чём проблема ? вот это самое и юзай, раз ты его понимаешь и результат нравится.. от бобра бодра не ищут :-)

сгенерить страницу на лету - это-ж совсем несложно. И потом любым офлайн-броузером скинуть в png/pdf.

MKuznetsov ★★★★★
()
Ответ на: комментарий от MKuznetsov

Слишком жирно получается. Да и мне SVG бы выдрать, как-то.

Мне проще свой велосипед запилить за пару вечеров. Надеялся, что кто-то уже это сделал.

RazrFalcon ★★★★★
() автор топика
Ответ на: комментарий от RazrFalcon

Для генерации горизонтальных гистограмм тебе не придется сильно много писать, есть даже готовый пример http://www.texample.net/tikz/examples/bar-chart/ — можешь написать код, который бы тебе по аналогии генерировал бы .tex файл, это несложно. Если бы тебе посоветовали вместо латеха использовать некий X который ты тоже не знаешь, чем бы это было бы лучше? В том же Gnuplot (который тебе не подходит) тоже надо разбиратсья, если хочешь что-то нетривиальное построить

Далее, чтобы получить вывод в svg можно указать

\documentclass[tikz,convert={outfile=\jobname.svg}]{standalone}
или воспользоваться pdf2svg, convert или чем-то подобным. Все это можно прочесть по вышеприведенной ссылке https://tex.stackexchange.com/questions/11866/compile-a-latex-document-into-a...

SZT ★★★★★
()
Последнее исправление: SZT (всего исправлений: 2)

В составе библиотеки MathGL есть утилита mglconv.

111.mgl:

list DATA 1 2 3 4 5 4 3 2 1
xrange DATA
barh DATA
write '111.svg'
mglconv -n 111.mgl

cdslow ★★
()
Ответ на: комментарий от anonymous

Тыкал его. Вы попробуйте найти сам скрипт. Там под 20 строк только чтобы повернуть его на бок.

А мне еще нужны аннотации и нормальный SVG.

RazrFalcon ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.