Как я могу сделать графическое изображение последовательности чисел от стандартного входа?

Попробовать service NetworkManager stop. Это просто вмешается в любую попытку к руководству, настраивают и отлаживают установку.

Теперь попробуйте iwconfig. Надо надеяться, Вы видите упоминание об интерфейсе, который не описан с "никакими беспроводными расширениями". Предположение, которое является wlan0 (это могло быть что-то еще), попробуйте:

ifconfig wlan0 up && iwlist wlan0 scanning

Необходимо видеть, что некоторый обильный вывод детализирует обнаруженные сети Wi-Fi, что означает, что драйвер работает или работает достаточно хорошо для сканирования. Который не обязательно означает, что это работает достаточно хорошо, чтобы быть полезным вне этого, но это, вероятно. Следующий шаг должен попытаться настроить интерфейс для соединения с сетью...

41
15.03.2015, 22:04
6 ответов

Вы можете использовать GNUPLOT для этого:

 primes 1 100 |gnuplot -p -e 'plot "/dev/stdin"'

производит что-то вроде

enter image description here

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

46
27.01.2020, 19:35

Я бы сделал это в R . Вам придется установить его, но он будет доступен в репозиториях дистрибутивов. Для систем на основе Debian Run

sudo apt-get install r-base

также следует привести в R-BACE-CORE , но если он не будет, запустить Sudo APT-Get Установить R-Base-Core также. Как только у вас установлено R R , вы можете написать простой r Script для этого:

#!/usr/bin/env Rscript
args <- commandArgs(TRUE)
## Read the input data
a<-read.table(args[1])
## Set the output file name/type
pdf(file="output.pdf")
## Plot your data
plot(a$V2,a$V1,ylab="line number",xlab="value")
## Close the graphics device (write to the output file)
dev.off()

Вышеупомянутый скрипт создаст файл, называемый выходом .pdf . Я тестировал следующим образом:

## Create a file with 100 random numbers and add line numbers (cat -n)
for i in {1..100}; do echo $RANDOM; done | cat -n > file 
## Run the R script
./foo.R file

на случайных данных, которые я использовал, что производит:

enter image description here

Я не совсем уверен, что вы хотите записать, но это должно, по крайней мере, указать на вас в правильном направлении.

14
27.01.2020, 19:35

Если может быть достаточно простой распечатки терминала, и вас могут удовлетворить перевернутые оси, рассмотрим следующее:

seq 1000   |
grep -n 11 |
while IFS=: read -r n match
do  printf "%0$((n/10))s\n" "$match"
done

Вышеприведенные графики отображают перевернутую тенденцию на 10%-ной шкале для каждого вхождения образца 11 в выходной сигнал seq 1000.

Например:

11
        110
        111
        112
        113
        114
        115
        116
        117
        118
        119
                  211
                            311
                                      411
                                                511
                                                          611
                                                                    711
                                                                              811
                                                                                        911

При подсчете точек и числа вхождений это может быть:

seq 1000    |
grep -n 11  | {
i=0
while IFS=: read -r n match
do    printf "%02d%0$((n/10))s\n" "$((i+=1))" .
done; }

... что печатает....

01 .
02           .
03           .
04           .
05           .
06           .
07           .
08           .
09           .
10           .
11           .
12                     .
13                               .
14                                         .
15                                                   .
16                                                             .
17                                                                       .
18                                                                                 .
19                                                                                           .

С большим количеством работы можно получить оси, подобные вашему примеру и tput - для перемещения курсора вверх по строке для каждого вхождения необходимо выполнить экранирование \033[A escape (или его эквивалент, совместимый с вашим терминальным эмулятором).

Если awk printf поддерживает пробелы, как это делает POSIX-оболочка printf, то вы можете использовать его, чтобы сделать то же самое - и, скорее всего, гораздо эффективнее. Однако я не знаю, как использовать awk.

11
27.01.2020, 19:35

Улучшение ответа Нейта для вывода PDF-файлов и построения линий (требуется rsvg-convert ):

| gnuplot -p -e 'set term svg; set output "|rsvg-convert -f pdf -o out.pdf /dev/stdin"; plot "/dev/stdin" with lines'
1
27.01.2020, 19:35

Проверьте пакетplotext , который позволяет отображать данные непосредственно на терминале с помощью python3. Он очень интуитивно понятен, так как его использование очень похоже на пакет matplotlib .

Вот простой пример:

enter image description here

Вы можете установить его с помощью следующей команды:

sudo -H pip install plotext

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

Вот код для создания графика, показанного выше:

import plotext.plot as plx
import numpy as np

l=3000
x=np.arange(0, l)
y=np.sin(4*np.pi/l*np.array(x))*np.exp(-0.5*np.pi/l*x)

plx.scatter(x, y, rows = 17, cols = 70)
plx.show(clear = 0)

Опция clear=Trueвнутри showиспользуется для очистки терминала перед построением графика. :это полезно, например, при построении непрерывного потока данных. Пример построения непрерывного потока данных показан здесь :.enter image description here

Описание пакета содержит дополнительную информацию о настройке графика. Пакет был протестирован на Ubuntu 16, где он отлично работает. Возможные будущие разработки (по запросу )могут включать расширение до python2 и других графических интерфейсов (, например. Юпитер ). Пожалуйста, дайте мне знать, если у вас возникнут проблемы с его использованием. Спасибо.

Надеюсь, это решит вашу проблему.

8
03.05.2020, 22:39

Возможный способ, он поддерживает все виды диаграмм, а не только линейные

plot="{chart:[line,{x: a},{y: b}],data:{a:[1,2,3],b:[2,4,1]}}"
curl -s http://pl0t.com/view.html | sed "s/{data}/$plot/" > play.html
open play.html

enter image description here

П.С. Я автор этого инструмента.

0
16.09.2021, 05:29

Теги

Похожие вопросы