Data in ECharts is stored mostly in three formats.
Data storage in echarty follows the same three
formats.
Below are live examples with source code.
Command ec.clmn() is used to set
symbolSize
and tooltip
formatter.
Browse the code (under Show button) and move mouse over
charts to see tooltips.
library(echarty); library(dplyr)
# data for the first two charts
df <- Orange |> filter(Tree==4) |>
mutate(size=paste0(round(circumference/167*100),'%'), Tree=NULL)
# image of a tree
treeDataURI <- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAA2CAYAAADUOvnEAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA5tJREFUeNrcWE1oE0EUnp0kbWyUpCiNYEpCFSpIMdpLRTD15s2ePHixnj00N4/GoyfTg2fbiwdvvagHC1UQ66GQUIQKKgn1UAqSSFua38b3prPJZDs7s5ufKn0w7CaZ2W/fe9/73kyMRqNB3Nrj1zdn4RJ6du9T2u1a2iHYSxjP4d41oOHGQwAIwSUHIyh8/RA8XeiXh0kLGFoaXiTecw/hoTG4ZCSAaFkY0+BpsZceLtiAoV2FkepZSDk5EpppczBvpuuQCqx0YnkYcVVoqQYMyeCG+lFdaGkXeVOFNu4aEBalOBk6sbQrQF7gSdK5JXjuHXuYVIVyr0TZ0FjKDeCs6km7JYMUdrWAUVmZUBtmRnVPK+x6nIR2xomH06R35ggwJPeofWphr/W5UjPIxq8B2bKgE8C4HVHWvg+2gZjXj19PkdFztY7bk9TDCH/g6oafDPpaoMvZIRI5WyMB/0Hv++HkpTKE0kM+A+h20cPAfN4GuRyp9G+LMTW+z8rCLI8b46XO9zRcYZTde/j0AZm8WGb3Y2F9KLlE2nqYkjFLJAsDOl/lea0q55mqxXcL7YBc++bsCPMe8mUyU2ZIpnCoblca6TZA/ga2Co8PGg7UGUlEDd0ueptglbrRZLLE7poti6pCaWUo2pu1oaYI1CF9b9cCZPO3F8ikJQ/rPpQT5YETht26ss+uCIL2Y8vHwJGpA96GI5mjOlaKhowUy6BcNcgIhDviTGWCGFaqEuufWz4pgcbCh+w0gEOyOjTlTtYYlIWPYWKEsLDzOs+nhzaO1KEpd+MXpOoTUgKiNyhdy5aSMPNVqxtSsJFgza5EWA4zKtCJ2OGbLn0JSLu8+SL4G86p1Fpr7ABXdGFF/UTD4rfmFYFw4G9VAJ9SM3aF8l3yok4/J6IV9sDVb36ynmtJ2M5+CwxTYBdKNMBaocKGV2nYgkz6r+cHBP30MzAfi4Sy+BebSoPIOi8PW1PpCCvr/KOD4k9Zu0WSH0Y0+SxJ2awp/nlwKtcGyHOJ8vNHtRJzhPlsHr8MogtlVtwUU0tSM1x58upSKbfJnSKUR07GVMKkDNfXpzpv0RTHy3nZMVx5IOWdZIaPabGFvfpwpjnvfmJHXLaEvZUTseu/TeLc+xgAPhEAb/PbjO6PBaOTf6LQRh/dERde23zxLtOXbaKNhfq2L/1fAOPHDUhOpIf5485h7l+GNHHiSYPKE3Myz9sFxoJuAyazvwIMAItferha5LTqAAAAAElFTkSuQmCC';
Done by calling ec.data(df, 'dataset'), or just
ec.data(df). Note that when a data.frame is
chained (like df |> ec.init()), it creates a dataset
with the same format.
ec.init(
xAxis= list(splitLine=list(show=FALSE), name='days'),
yAxis= list(show=FALSE), tooltip= list(show=T),
series.param= list( type= 'pictorialBar',
data= ec.data(df),
symbol= paste0('image://',treeDataURI),
symbolSize= ec.clmn('size'),
tooltip= list(formatter= ec.clmn('%@ days<br>circumf. %@ mm', 'age','circumference')) )
) |> ec.theme('dark-mushroom')
Done with data = ec.data(df, "values"). Each data item
is represented by a named list with a single name ‘value’ containing a
character vector of values.
ec.init(
xAxis= list(splitLine=list(show=FALSE), name='days'),
yAxis= list(show=FALSE), tooltip= list(show=T),
series.param= list( type= 'pictorialBar',
data= ec.data(df, 'values'), # keep before ec.clmn() calls
symbol= paste0('image://',treeDataURI),
symbolSize= ec.clmn('size'),
tooltip= list(formatter= ec.clmn('%@ days<br>circumf. %@ mm', 'age','circumference')) )
) |> ec.theme('dark-mushroom')
Done with data = ec.data(isl, "names"). Used also to
customize data items with properties like ‘itemStyle’, ‘label’, etc.
isl <- data.frame(name= names(islands), value=islands) |> filter(value>100) |> arrange(value)
ec.init(
title= list(text= "Landmasses over 100,000 mi\u00B2", left='center'),
tooltip= list(trigger='item'),
series= list(list( type= 'pie',
data= ec.data(isl, 'names'),
tooltip= list(formatter= ec.clmn("<h3>%@</h3>%L@ mi\u00B2", 'name','value')) ))
,color= rainbow(16, start=0.2, alpha=0.9)
)