datastorm-open / rAmCharts

API for Amcharts
48 stars 16 forks source link

Formatting Legend Query #53

Closed debsush closed 8 years ago

debsush commented 8 years ago

Hi,

I would like my stockchart legend to look like:

Date: YYYY-MM-DD Open: xxx High: xxx Low: xxx Close: xxx

What should be the syntax used in setStockLegend function?

I tried the below code but when I select 2 data sets, the legend overlaps with the date

data('data_stock1')

stock_chart <- pipeR::pipeline(
  amStockChart(startDuration = 0),
  setExport(),
  addDataSet(
    pipeR::pipeline(
      dataSet(title = 'first data set', categoryField = 'date',
              dataProvider = data_stock1$chartData1),
      addFieldMapping(fromField = 'value', toField = 'value'),
      addFieldMapping(fromField = 'volume', toField = 'volume'))
  ),
  addDataSet(
    pipeR::pipeline(dataSet(title = 'second data set', categoryField = 'date',
                            dataProvider = data_stock1$chartData2),
                    addFieldMapping(fromField = 'value', toField = 'value'),
                    addFieldMapping(fromField = 'volume', toField = 'volume'))
  ),
  addDataSet(
    pipeR::pipeline(dataSet(title = 'third data set', categoryField = 'date',
                            dataProvider = data_stock1$chartData3),
                    addFieldMapping(fromField = 'value', toField = 'value'),
                    addFieldMapping(fromField = 'volume', toField = 'volume'))
  ),
  addDataSet(
    pipeR::pipeline(dataSet(title = 'fourth data set', categoryField = 'date',
                            dataProvider = data_stock1$chartData4),
                    addFieldMapping(fromField = 'value', toField = 'value'),
                    addFieldMapping(fromField = 'volume', toField = 'volume'))
  ),
  addPanel(
    pipeR::pipeline(
      stockPanel(showCategoryAxis = FALSE, title = 'Value', percentHeight = 70),
      addStockGraph(id = 'g1', valueField = 'value', comparable = TRUE,
                    compareField = 'value', balloonText = '[[title]] =<b>[[value]]</b>',
                    compareGraphBalloonText = '[[title]] =<b>[[value]]</b>'),
      setStockLegend(valueTextRegular = '[[date]] [[value.close]]'))
  ),
  addPanel(
    pipeR::pipeline(stockPanel(title = 'Volume', percentHeight = 30),
                    addStockGraph(valueField = 'volume', type = 'column', fillAlphas = 1),
                    setStockLegend(periodValueTextRegular = '[[value.close]]'))
  ),
  setChartScrollbarSettings(graph = 'g1'),
  setChartCursorSettings(valueBalloonsEnabled = TRUE, fullWidth = TRUE,
                         cursorAlpha = 0.1, valueLineBalloonEnabled = TRUE,
                         valueLineEnabled = TRUE, valueLineAlpha = 0.5),
  setPeriodSelector(
    pipeR::pipeline(periodSelector(position = 'left'),
                    addPeriod(period = 'DD', selected = TRUE, count = 7, label = '1 week'),
                    addPeriod(period = 'MAX', label = 'MAX'))
  ),
  setDataSetSelector(position = 'left'),
  setPanelsSettings(recalculateToPercents = FALSE)
)

plot(stock_chart) 

image