2015-06-04 3 views
0

В основном я хотел бы использовать график рассеяния, чтобы показать, как человек использует количество часов для выполнения задачи. Таким образом, ось Y - это время (час), а ось X - день (нерегулярный набор данных). Мой вопрос заключается в том, могу ли я группировать группы по оси X, чтобы данные (время) могли быть заполнены правильно?rCharts HighCharts X-axs grouping

Day Time Task 
---------------------------- 
Mon 1.3  A 
Mon 0.6  B 
Tue 2.1  A 
Wed 1.5  C 
Fri 0.4  C 
Sun 0.2  B 

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

a <- hPlot(Time~ Day, data =dat, group= 'Task' ,type = "scatter", title = "Data chart") 

Выход для кода выше в состоянии к группе X-оси на день, но данные времени не будут следовать и не правильно заселение. Он покажет Mon = 1,3, Tue = 0,6, ср = 2,1 и т. Д.

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

a$series(name = 'task plot', type = 'scatter', color= 'blue' ,data =???) 

Это может также построить график рассеяния, используя rcharts highchart, но я не знаю, как обрабатывать данные = ??? в R-коде, поэтому highchart получит данные, как показано ниже, в highchart, чтобы обеспечить правильную группировку по оси X с данными Time. Значения x соответствуют массиву категорий, определенному по оси, в соответствии с тем, как работает высокая производительность.

xAxis: { 
      categories: ['Mon','Tue','Wed','Thu'] 
     }, 
... 
series: [{ 
       type: 'scatter', 
       data: [ 
        [0,1.3], // Mon 1.3 
        [0,0.6], // Mon 0.6 
        [1,2.1], // Tue 2.1 
        [2,1.5] // Wed 1.5 
    ... 

ответ

0

Этот форум, кажется, не так уж много активных пользователей. :)
Мне удалось решить мою собственную проблему после дальнейшего изучения поведения rcharts и highcharts для обоих методов выше. Вот подход к преимуществам всех, кто заинтересован сделать то же самое.

Если вы изучаете поведение группировки по горизонтали X-X, он будет группировать, если вы назначаете каждому X значение вместо строки. Поэтому для обоих методов я должен сначала создать группировку индексов на основе Дня, которая будет служить моим значением X для графика. Я использую функцию «match», чтобы создать новый столбец «Индекс», как показано ниже, соответствующий «День».

Day Time Task Index 
---------------------------- 
Mon 1.3  A  0 
Mon 0.6  B  0 
Tue 2.1  A  1 
Wed 1.5  C  2 
Fri 0.4  C  3 
Sun 0.2  B  4 

Способ № 1, в hPlot подходе, я должен использовать индекс, как мой X значение, так что сюжет будет делать X-ось группировки и значение Y (Time) будет заполнить правильно.

a <- hPlot(Time~ Index, data =dat, group= 'Task' ,type = "scatter", title = "Data chart") 

После участка вы увидите метку оси X по значению индекса. Затем вы можете просто переписать их с помощью кода ниже. Я должен использовать уникальный, поскольку День является нерегулярным набором данных и повторяется, как вы можете видеть.

a$xAxis(categories=unique(dat$Day)) 

Метод № 2, используя R для высоких карт, у меня есть свое собственное новое обучение (возможно, я новичок). Вместо использования $ series я меняю его на использование $ data, которое может принимать значения x и y для ввода данных в график.

a$data(name = 'task plot', type = 'scatter', x=dat$Index, y=dat$Time) 

И конечно же, как метод # 1, необходимо повторно маркировать в $ XAxis, используя уникальный день.

Теперь у меня есть оба метода, которые могут работать для сюжета, который я хотел, и он отлично работает.

Смежные вопросы