Last active
April 17, 2020 06:55
-
-
Save vsivsi/f63be32d037e3effcd7c0e04aacda2cf to your computer and use it in GitHub Desktop.
Gophernotes + VegaLite = Awesome
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"g := []byte(`\n", | |
" {\n", | |
" \"$schema\": \"https://vega.github.io/schema/vega-lite/v2.0.json\",\n", | |
" \"description\": \"A simple bar chart with embedded data.\",\n", | |
" \"data\": {\n", | |
" \"values\": [\n", | |
" {\"a\": \"A\", \"b\": 28},\n", | |
" {\"a\": \"B\", \"b\": 55},\n", | |
" {\"a\": \"C\", \"b\": 43},\n", | |
" {\"a\": \"D\", \"b\": 91},\n", | |
" {\"a\": \"E\", \"b\": 81},\n", | |
" {\"a\": \"F\", \"b\": 53},\n", | |
" {\"a\": \"G\", \"b\": 19},\n", | |
" {\"a\": \"H\", \"b\": 87},\n", | |
" {\"a\": \"I\", \"b\": 52}\n", | |
" ]\n", | |
" },\n", | |
" \"mark\": \"bar\",\n", | |
" \"encoding\": {\n", | |
" \"x\": {\"field\": \"a\", \"type\": \"ordinal\"},\n", | |
" \"y\": {\"field\": \"b\", \"type\": \"quantitative\"}\n", | |
" }\n", | |
" }`)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"type VegaLite struct { \n", | |
" Json map[string]interface{}\n", | |
"}\n", | |
"\n", | |
"func (vl VegaLite) SimpleRender() display.MIMEMap {\n", | |
" return display.MIMEMap{\n", | |
" `application/vnd.vegalite.v4+json`: vl.Json,\n", | |
" `text/plain`: \"<VegaLite 4 object>\",\n", | |
" }\n", | |
"}" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"application/vnd.vegalite.v4+json": { | |
"$schema": "https://vega.github.io/schema/vega-lite/v2.0.json", | |
"data": { | |
"values": [ | |
{ | |
"a": "A", | |
"b": 28 | |
}, | |
{ | |
"a": "B", | |
"b": 55 | |
}, | |
{ | |
"a": "C", | |
"b": 43 | |
}, | |
{ | |
"a": "D", | |
"b": 91 | |
}, | |
{ | |
"a": "E", | |
"b": 81 | |
}, | |
{ | |
"a": "F", | |
"b": 53 | |
}, | |
{ | |
"a": "G", | |
"b": 19 | |
}, | |
{ | |
"a": "H", | |
"b": 87 | |
}, | |
{ | |
"a": "I", | |
"b": 52 | |
} | |
] | |
}, | |
"description": "A simple bar chart with embedded data.", | |
"encoding": { | |
"x": { | |
"field": "a", | |
"type": "ordinal" | |
}, | |
"y": { | |
"field": "b", | |
"type": "quantitative" | |
} | |
}, | |
"mark": "bar" | |
}, | |
"image/png": "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", | |
"text/plain": [ | |
"<VegaLite 4 object>" | |
] | |
}, | |
"execution_count": 3, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"import \"encoding/json\"\n", | |
"\n", | |
"vl := VegaLite{}\n", | |
"\n", | |
"err := json.Unmarshal(g, &vl.Json)\n", | |
"\n", | |
"vl" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Go", | |
"language": "go", | |
"name": "gophernotes" | |
}, | |
"language_info": { | |
"codemirror_mode": "", | |
"file_extension": ".go", | |
"mimetype": "", | |
"name": "go", | |
"nbconvert_exporter": "", | |
"pygments_lexer": "", | |
"version": "go1.14.2" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 4 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment