Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
purescript-gargantext
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
142
Issues
142
List
Board
Labels
Milestones
Merge Requests
4
Merge Requests
4
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
gargantext
purescript-gargantext
Commits
0747ebfd
Commit
0747ebfd
authored
Sep 08, 2018
by
Alexandre Delanoë
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[TYPES] Heteregenous Series Array and uniformization before rending it (method).
parent
5507abf5
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
164 additions
and
42 deletions
+164
-42
Series.purs
src/Gargantext/Components/Charts/Options/Series.purs
+152
-2
Dashboard.purs
src/Gargantext/Pages/Corpus/Doc/Facets/Dashboard.purs
+12
-40
No files found.
src/Gargantext/Components/Charts/Options/Series.purs
View file @
0747ebfd
module Gargantext.Components.Charts.Options.Series where
import Unsafe.Coerce (unsafeCoerce)
import Prelude
import Gargantext.Components.Charts.Options.Data (DataS)
newtype SeriesType = SeriesType String
type SeriesName = String
...
...
@@ -42,16 +44,164 @@ seriesType :: SeriesShape -> SeriesType
seriesType = SeriesType <<< show
data Series = SeriesD1 D1 | SeriesD2 D2
type Series = {}
data Series' = SeriesD1 D1 | SeriesD2 D2
type D1 =
{ name :: String
, "data" :: Array DataS
, "type" :: SeriesType
, "data" :: Array DataS
}
-- | Scatter Dimension 2 data
type D2 =
{ "symbolSize" :: Number
, "data" :: Array (Array Number)
, "type" :: SeriesType
}
toSeries :: Series' -> Series
toSeries (SeriesD1 a) = unsafeCoerce a
toSeries (SeriesD2 a) = unsafeCoerce a
-- https://ecomfe.github.io/echarts-examples/public/editor.html?c=sankey-simple
-- type Sankey = { "type" :: SeriesType
-- , "layout" :: String
-- ,
-- option = {
-- series: {
-- type: 'sankey',
-- layout:'none',
-- data: [{
-- name: 'a'
-- }, {
-- name: 'b'
-- }, {
-- name: 'a1'
-- }, {
-- name: 'a2'
-- }, {
-- name: 'b1'
-- }, {
-- name: 'c'
-- }],
-- links: [{
-- source: 'a',
-- target: 'a1',
-- value: 5
-- }, {
-- source: 'a',
-- target: 'a2',
-- value: 3
-- }, {
-- source: 'b',
-- target: 'b1',
-- value: 8
-- }, {
-- source: 'a',
-- target: 'b1',
-- value: 3
-- }, {
-- source: 'b1',
-- target: 'a1',
-- value: 1
-- }, {
-- source: 'b1',
-- target: 'c',
-- value: 2
-- }]
-- }
-- };
--
--https://ecomfe.github.io/echarts-examples/public/editor.html?c=treemap-simple
--
--option = {
-- series: [{
-- type: 'treemap',
-- data: [{
-- name: 'nodeA', // First tree
-- value: 10,
-- children: [{
-- name: 'nodeAa', // First leaf of first tree
-- value: 4
-- }, {
-- name: 'nodeAb', // Second leaf of first tree
-- value: 6
-- }]
-- }, {
-- name: 'nodeB', // Second tree
-- value: 20,
-- children: [{
-- name: 'nodeBa', // Son of first tree
-- value: 20,
-- children: [{
-- name: 'nodeBa1', // Granson of first tree
-- value: 20
-- }]
-- }]
-- }]
-- }]
--};
--
--
-- https://ecomfe.github.io/echarts-examples/public/data/asset/data/flare.json
-- https://ecomfe.github.io/echarts-examples/public/editor.html?c=tree-radial
-- https://ecomfe.github.io/echarts-examples/public/data/asset/data/life-expectancy-table.json
-- https://ecomfe.github.io/echarts-examples/public/editor.html?c=scatter3D-dataset&gl=1
src/Gargantext/Pages/Corpus/Doc/Facets/Dashboard.purs
View file @
0747ebfd
...
...
@@ -33,19 +33,20 @@ render dispatch _ state _ = [
, div [className "row"] (map (\school -> div [className "col-md-4 content"] [chart $ focus school])
[ "Télécom Bretagne", "Mines Nantes", "Eurecom"]
)
--
, chart scatterEx
, chart scatterEx
]
where
myData = [toSeries $ SeriesD1 $ series Bar "Bar Data" [ {name: "val1", value: 50.0}
, {name: "val2", value: 70.0}
, {name: "val3", value: 80.0}
]
]
focus :: String -> Options
focus school = Options { mainTitle : ("Focus " <> school)
, subTitle : "Total scientific publications"
, xAxis : xAxis ["2015", "2016", "2017"]
, yAxis : [SeriesD1 $ series Bar "Bar Data" [ {name: "val1", value: 50.0}
, {name: "val2", value: 70.0}
, {name: "val3", value: 80.0}
]
]
, yAxis : myData
, yAxisFormat : (YAxisFormat { position : "left"
, visible : true
})
...
...
@@ -53,7 +54,6 @@ render dispatch _ state _ = [
, addZoom : false
}
-----------------------------------------------------------------------------------------------------------
naturePublis_x = ["Com","Articles","Thèses","Reports"]
...
...
@@ -65,7 +65,7 @@ naturePublis :: Options
naturePublis = Options { mainTitle : "Nature of publications"
, subTitle : "Distribution by type"
, xAxis : xAxis []
, yAxis : [SeriesD1 $ series Funnel "Funnel Data" naturePublis_y]
, yAxis : [
toSeries $
SeriesD1 $ series Funnel "Funnel Data" naturePublis_y]
, yAxisFormat : (YAxisFormat { position : "left"
, visible : false
})
...
...
@@ -82,7 +82,7 @@ globalPublis :: Options
globalPublis = (Options { mainTitle : "Global Scientific Publications"
, subTitle : "Distribution of scientific publications by IMT's Schools over time"
, xAxis : xAxis (map show globalPublis_x)
, yAxis : [SeriesD1 $ series Bar "Number of publication of IMT / year" $ map (\n -> {name: "", value: toNumber n }) globalPublis_y]
, yAxis : [
toSeries $
SeriesD1 $ series Bar "Number of publication of IMT / year" $ map (\n -> {name: "", value: toNumber n }) globalPublis_y]
, yAxisFormat : (YAxisFormat { position : "left"
, visible : true
})
...
...
@@ -98,7 +98,7 @@ distriBySchool :: Options
distriBySchool = Options { mainTitle : "School production in 2017"
, subTitle : "Distribution by school"
, xAxis : xAxis []
, yAxis : [ SeriesD1 $ series Pie "Pie data" (map (\(Tuple n v) -> {name: n, value: toNumber v}) distriBySchool_y)]
, yAxis : [
toSeries $
SeriesD1 $ series Pie "Pie data" (map (\(Tuple n v) -> {name: n, value: toNumber v}) distriBySchool_y)]
, yAxisFormat : (YAxisFormat { position : ""
, visible : false
})
...
...
@@ -109,41 +109,13 @@ scatterEx :: Options
scatterEx = Options { mainTitle : "Scatter test"
, subTitle : "Scatter subtitle"
, xAxis : xAxis []
, yAxis : [ SeriesD2 $ seriesD2 Scatter 20.0 [[2.0,3.0],[3.0,4.0]]]
, yAxis : [
toSeries $
SeriesD2 $ seriesD2 Scatter 20.0 [[2.0,3.0],[3.0,4.0]]]
, yAxisFormat : (YAxisFormat { position : ""
, visible :
fals
e
, visible :
tru
e
})
, addZoom : false
}
--scatterEx :: Options
--scatterEx = { -- title: "title"
-- xAxis : {}
-- , yAxis : {}
-- , "data" : []
-- , series : [ { "symbolSize" : 20
-- , data : [[1,2]]
-- , "type" : "scatter"
-- }
-- ]
-- }
-- Option {mainTitle : "Scatter ex"
-- , subTitle : "Subtitle"
-- , xAxis : xAxis []
-- , yAxis : []
-- , yAxisFormat : (YAxisFormat { position : ""
-- , visible : false
-- })
-- --, series : [SeriesD2 20 [[2,2]] Scatter]
--
-- , addZoom : false
-- }
layoutDashboard :: forall props. Spec State props Action
layoutDashboard = simpleSpec performAction render
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment