Skip to content

Instantly share code, notes, and snippets.

@metal3d
Last active March 24, 2018 12:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save metal3d/8ead241628bfe340f2fb6a0e53ed2cd9 to your computer and use it in GitHub Desktop.
Save metal3d/8ead241628bfe340f2fb6a0e53ed2cd9 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import (\n",
" \"math\"\n",
" \"math/rand\"\n",
" \"fmt\"\n",
" \"bytes\"\n",
" \n",
" \"gonum.org/v1/gonum/mat\"\n",
" \"gonum.org/v1/plot\"\n",
" \"gonum.org/v1/plot/plotter\"\n",
" \"gonum.org/v1/plot/plotutil\"\n",
" \"gonum.org/v1/plot/vg\"\n",
" \"jplot\" // my own package\n",
")\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"// create a plot\n",
"p, _ := plot.New() \n",
"p.Title.Text = \"Test the plot\"\n",
"\n",
"// give values\n",
"pts := plotter.XYs{ \n",
" {X: -1, Y: 5},\n",
" {X: 0, Y: 1},\n",
" {X: 1, Y: 3},\n",
" {X: 2, Y: 2},\n",
"}\n",
"\n",
"// draw!\n",
"plotutil.AddLinePoints(p, \"First\", pts)\n",
"jplot.Plot(p) "
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"p, _ := plot.New()\n",
"\n",
"// Compute sin(x) in a matrices\n",
"// Note: that's a test, and not the good way\n",
"sins := []float64{}\n",
"for i:=-2.0; i <= 2.0; i+=.1 {\n",
" sins = append(sins, i, math.Sin(i*math.Pi))\n",
"}\n",
"\n",
"zero := mat.NewDense(len(sins)/2, 2, sins)\n",
"r, c := zero.Dims()\n",
"\n",
"xy := plotter.XYs{}\n",
"for i:=0; i < r; i++ {\n",
" xy = append(xy, struct{\n",
" X float64 \n",
" Y float64}{\n",
" X: zero.At(i, 0),\n",
" Y: zero.At(i, 1),\n",
" })\n",
" \n",
"}\n",
"\n",
"plotutil.AddLines(p, xy)\n",
"jplot.Plot(p)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Go (lgo)",
"language": "go",
"name": "lgo"
},
"language_info": {
"file_extension": "",
"mimetype": "",
"name": "go",
"version": ""
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment