Created
February 18, 2014 18:20
-
-
Save arsenovic/9076630 to your computer and use it in GitHub Desktop.
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
{ | |
"metadata": { | |
"name": "", | |
"signature": "sha256:b0d05ba123b2b12caabd6d6c1d57c1b78ef8fc08941a7e807f8d81788a6ba543" | |
}, | |
"nbformat": 3, | |
"nbformat_minor": 0, | |
"worksheets": [ | |
{ | |
"cells": [ | |
{ | |
"cell_type": "heading", | |
"level": 1, | |
"metadata": {}, | |
"source": [ | |
"D3 Viewer for Matplotlib" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"This notebook shows a few examples of d3 views of matplotlib plots.\n", | |
"The resulting plots can be panned and zoomed using the mouse.\n", | |
"\n", | |
"See more at http://github.com/jakevdp/mpld3\n", | |
"\n", | |
"Note that not every feature of matplotlib is yet implemented. Here are a few examples:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"%matplotlib inline\n", | |
"import matplotlib.pyplot as plt\n", | |
"import numpy as np" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [], | |
"prompt_number": 33 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"import skrf as rf \n", | |
"from mpld3 import display_d3\n", | |
"from skrf.data import ring_slot\n", | |
"\n", | |
"rf.stylely()\n", | |
"\n", | |
"ring_slot.plot_s_db(title= 'Ring Slot')\n" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"metadata": {}, | |
"output_type": "display_data", | |
"png": "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\nia133bBKUamTvEQzGbGnb6mo91egqEHZIUeINvbb5aWUO1t/nHSG3cQTEyL//1dVVWpqapg/fz79\n+/c/5/kXX3wxTz75JNDQ/bts2TL+9a9/cf311wPw2muv0bdvX/74xz8CcNlllxEMBnnuuefO+r6b\nNm1i/Pjx3HnnnY3Hrr766jOev3fvXj766CNmzZrF1KlTG691+eWXM3v2bObOnUvv3r2xWq0kJycz\ndOjQc362U91///2sW7eOmTNnMnPmTNLT07niiiu477776NmzZ4vfr6PpFC2UHo+HefPm8V//9V/c\ndddd3HfffcycObPJrKqTqqur+f3vf89dd93Fvffey9tvv635hupCNDqxxmNzLZTQsB6lSa+w8lB9\nq1526zE3Tn+4+dZJaCxwT3bJCyG6rszMzPMqJqGhaPuu3r17N/m3efPmzVx++eVNzrniiivO+b4F\nBQUsXbqUl19+mY0bN55zB6JNmzahqirXXXdd4zFFUbj22mspKio6n49yTna7nQULFvDRRx/x4IMP\nkpubywcffMBVV13Ftm3bWuUa0axTtFBWVlaybNkyJk+eTL9+/fD5fPzjH//g8ccfZ+bMmY1jGk7+\n6jEajTzyyCO4XC7effddXC4XDz74oMafQogGQXMWMY4NKCEnqr7p4uIxRh0js+2sOuygyh1odvLM\nhVhxsA6AMWcYP2mQglKIdtEarYhtLTU19bzPPXV/aaPRiM/na3xcVVV12rjD85ncc9ttt+F0Opk7\ndy6zZs0iMTGRO+64g0cffRSd7vS2soqKCmw222mz0FNSUvB4PAQCAYzG1vk+HT58OMOHDwdg+/bt\n3HLLLcyePZv//d//bZX3j1adooUyPT2dOXPmcOuttzJw4EBGjBjB//t//49QKMSyZcsazyssLKSs\nrIxf/OIXDB06lEsvvZR77rmHlStXUl5eruEnEOJbJ4u2M3V7j8tt+IJedcjRKtfzBMKsPuygd7KF\nnHhzs+cYfEcaJuQYOscsTiFEdEhNTaWqqqrJserq6nO+TlEUfvSjH7F8+XLWrVvHT37yE+bMmcPc\nuXObPT8tLQ2Xy4XX621yvKqqipiYmFYrJk81YMAAxo0bx759+9rk/aNJpygozWbzaX8Mdrud1NRU\nampqGo9t2rSJXr16Nfl1NXLkSAwGA5s2bWq3vEKczbczvZsvKIdl2bAYdHzdSt3ehSUOvEGViXnx\n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\nB27MmDEUFhaSlJREfHw8bm5uPP/888yePRsrK9O+spycHBwdHU1WoXt6elJcXExpaSk2NjYWf6/K\n9OjRgx49egBw8uRJRo8eTUJCAh988IFRvoyMDKZOncqECROMFu7cS6/XM3PmTDIzM9m0aZNJfTYl\n0kMpRDOnVbXEWncbhe6OxffYqK+iU7ZAb+1QjyUTQojKeXl5kZuba5SWl5dX5X0KhYJJkyaxd+9e\nDh8+zJQpU1i2bBlJSUlm83t7e3Pnzh1KSkqM0nNzc7G3t6+zYPJ+Xbp0oV+/fpw7d84o/fz580yY\nMIHIyEjeeuutCu9//fXX2blzJ6tXryYoKKheylhXJKAUopn7dWFOThU5f1FWirXmuvROCiFqpLLF\nMtXVtWtXdu3aZZS2Y8eOaj2jVatWTJ8+ncDAQDIzM83mCQ8PR6FQGC0I0uv1fPnll/Tq1cuQZmNj\nYxJ0Wur+wLj8HRcvXjTq1c3OzmbcuHG0bduW5cuXV1ifiYmJfPTRRyQmJtKzZ88alakhyZC3EM2c\n1vaXIxjVWZTat60yv1JzDQVlsiBHCFEjNd2n0Zzp06czYsQIpk6dyjPPPENmZibr1q0DMDt0XW7u\n3Lm4ubnRvXt3nJ2dSUtL48KFC8ybN89s/uDgYEaNGsW8efMoLCwkICCAdevW8eOPP7J48WJDvvbt\n27N3716+/vprWrRoQZs2bXBzcyMuLo74+HiuXLlSYZlmz56NXq9n2LBhBAQEkJ+fz/r16zl9+rRh\nb8ri4mLGjx9PQUEBCxYs4OTJk4b7bW1tCQ0NBWDjxo3885//5JlnnsHHx4cjR44Y8rVt27ZJLsyR\ngFKIZk5r548eBTbFP1Hcom+V+WX+pBCiphQKRYU9avenm8t3//1hYWEsX76cxYsXs2PHDrp27cqi\nRYt47rnncHZ2rrAcERERrFu3jrVr16JWq2nbti1Llixh8ODBFb7/7bffZuHChSQkJFBQUECnTp34\n+OOPjXr/Zs6cSVZWFlOmTOH27dvEx8cTGxtLcXExnp6eldbNxIkTSU5OJiEhgZycHFxcXOjQoQNJ\nSUlERkYCd3sxT506hUKh4He/+53R/f7+/hw8eBCAffv2oVAoSE5ONtqPU6FQsHTpUmJjYystS2NQ\n6Ovyp8YDTK/XG61ME9Xj5eVV6YazomqV1aHbpXew0hVyI/CvUMVwlHPORuwL0skNfIUypWt9FLVJ\n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\nhLmNOWwAAAAASUVORK5CYII=\n", | |
"text": [ | |
"<matplotlib.figure.Figure at 0xba01090>" | |
] | |
} | |
], | |
"prompt_number": 34 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"ring_slot.plot_s_db(title= 'Ring Slot')\n", | |
"display_d3()" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"stream": "stderr", | |
"text": [ | |
"/usr/local/lib/python2.7/dist-packages/mpld3-0.0.2-py2.7.egg/mpld3/_objects.py:414: UserWarning: Ignoring legend element: <matplotlib.offsetbox.VPacker object at 0xb8caf50>\n" | |
] | |
}, | |
{ | |
"html": [ | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
" <style>\n", | |
"\n", | |
"\n", | |
" div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
" .axesbg{\n", | |
" fill: #E5E5E5;\n", | |
" }\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
".axis line, .axis path {\n", | |
" shape-rendering: crispEdges;\n", | |
" stroke: black;\n", | |
" fill: none;\n", | |
"}\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
".axis text {\n", | |
" font-family: sans-serif;\n", | |
" font-size: 9.0px;\n", | |
" fill: black;\n", | |
" stroke: none;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
".axis line, .axis path {\n", | |
" shape-rendering: crispEdges;\n", | |
" stroke: black;\n", | |
" fill: none;\n", | |
"}\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
".axis text {\n", | |
" font-family: sans-serif;\n", | |
" font-size: 9.0px;\n", | |
" fill: black;\n", | |
" stroke: none;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
".grid .tick {\n", | |
" stroke: #FFFFFF;\n", | |
" stroke-dasharray: 10,0;\n", | |
" stroke-opacity: 1.0;\n", | |
"}\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
".grid path {\n", | |
" stroke-width: 0;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
".grid .tick {\n", | |
" stroke: #FFFFFF;\n", | |
" stroke-dasharray: 10,0;\n", | |
" stroke-opacity: 1.0;\n", | |
"}\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
".grid path {\n", | |
" stroke-width: 0;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
".axes1\n", | |
"path.line5 {\n", | |
" stroke: #348ABD;\n", | |
" stroke-width: 1.0;\n", | |
" stroke-dasharray: 10,0;\n", | |
" fill: none;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
".axes1\n", | |
"path.points5 {\n", | |
" stroke-width: 0.5;\n", | |
" stroke: #348ABD;\n", | |
" fill: #348ABD;\n", | |
" fill-opacity: 1;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
".axes1\n", | |
"path.line6 {\n", | |
" stroke: #B74331;\n", | |
" stroke-width: 1.0;\n", | |
" stroke-dasharray: 10,0;\n", | |
" fill: none;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
".axes1\n", | |
"path.points6 {\n", | |
" stroke-width: 0.5;\n", | |
" stroke: #B74331;\n", | |
" fill: #B74331;\n", | |
" fill-opacity: 1;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
".axes1\n", | |
"path.line7 {\n", | |
" stroke: #8EBA42;\n", | |
" stroke-width: 1.0;\n", | |
" stroke-dasharray: 10,0;\n", | |
" fill: none;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
".axes1\n", | |
"path.points7 {\n", | |
" stroke-width: 0.5;\n", | |
" stroke: #8EBA42;\n", | |
" fill: #8EBA42;\n", | |
" fill-opacity: 1;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
".axes1\n", | |
"path.line8 {\n", | |
" stroke: #FBC15E;\n", | |
" stroke-width: 1.0;\n", | |
" stroke-dasharray: 10,0;\n", | |
" fill: none;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
".axes1\n", | |
"path.points8 {\n", | |
" stroke-width: 0.5;\n", | |
" stroke: #FBC15E;\n", | |
" fill: #FBC15E;\n", | |
" fill-opacity: 1;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
"text.textd8b7a13475f54368ac03172ea055f191 {\n", | |
" font-size : 11.0px;\n", | |
" fill : #555555;\n", | |
" opacity : 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
"text.text53e92f55c2f643f7b94e38e05bfeb259 {\n", | |
" font-size : 11.0px;\n", | |
" fill : #555555;\n", | |
" opacity : 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
"text.text33435faf2d6c4780aef21e9c10bed708 {\n", | |
" font-size : 16.0px;\n", | |
" fill : #000000;\n", | |
" opacity : 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
".axes1\n", | |
"path.patch15d70d397d0c4a79a8bf32fffeec9e20 {\n", | |
" stroke: #FFFFFF;\n", | |
" stroke-width: 0.5;\n", | |
" stroke-dasharray: 10,0;\n", | |
" fill: #E5E5E5;\n", | |
" stroke-opacity: 1;\n", | |
" fill-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
".axes1\n", | |
"path.line13 {\n", | |
" stroke: #348ABD;\n", | |
" stroke-width: 1.0;\n", | |
" stroke-dasharray: 10,0;\n", | |
" fill: none;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
".axes1\n", | |
"path.points13 {\n", | |
" stroke-width: 0.5;\n", | |
" stroke: #348ABD;\n", | |
" fill: #348ABD;\n", | |
" fill-opacity: 1;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
".axes1\n", | |
"path.line14 {\n", | |
" stroke: #B74331;\n", | |
" stroke-width: 1.0;\n", | |
" stroke-dasharray: 10,0;\n", | |
" fill: none;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
".axes1\n", | |
"path.points14 {\n", | |
" stroke-width: 0.5;\n", | |
" stroke: #B74331;\n", | |
" fill: #B74331;\n", | |
" fill-opacity: 1;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
".axes1\n", | |
"path.line15 {\n", | |
" stroke: #8EBA42;\n", | |
" stroke-width: 1.0;\n", | |
" stroke-dasharray: 10,0;\n", | |
" fill: none;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
".axes1\n", | |
"path.points15 {\n", | |
" stroke-width: 0.5;\n", | |
" stroke: #8EBA42;\n", | |
" fill: #8EBA42;\n", | |
" fill-opacity: 1;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
".axes1\n", | |
"path.line16 {\n", | |
" stroke: #FBC15E;\n", | |
" stroke-width: 1.0;\n", | |
" stroke-dasharray: 10,0;\n", | |
" fill: none;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
".axes1\n", | |
"path.points16 {\n", | |
" stroke-width: 0.5;\n", | |
" stroke: #FBC15E;\n", | |
" fill: #FBC15E;\n", | |
" fill-opacity: 1;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
"text.texta1c3762b6a2b48e680ade8b38ff1b5ad {\n", | |
" font-size : 9.0px;\n", | |
" fill : #000000;\n", | |
" opacity : 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
"text.text7b108547d7724218a7c9919751634a36 {\n", | |
" font-size : 9.0px;\n", | |
" fill : #000000;\n", | |
" opacity : 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
"text.textd8addb4360bf474985d532735ee846c9 {\n", | |
" font-size : 9.0px;\n", | |
" fill : #000000;\n", | |
" opacity : 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figureb12c942df0d342b98fdec55a6aefdfed\n", | |
"text.textcca6d1c6c4e64b2d9843ab3c7d906a60 {\n", | |
" font-size : 9.0px;\n", | |
" fill : #000000;\n", | |
" opacity : 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
" </style>\n", | |
"\n", | |
"\n", | |
"\n", | |
" <div id='figureb12c942df0d342b98fdec55a6aefdfed'>\n", | |
" </div>\n", | |
" <script type=\"text/javascript\">\n", | |
" var create_figb12c942df0d342b98fdec55a6aefdfed = function(d3, undefined){\n", | |
"\n", | |
"\n", | |
" function Figure(figid, width, height){\n", | |
" this.figid = figid;\n", | |
" this.root = d3.select(figid);\n", | |
" this.width = width;\n", | |
" this.height = height;\n", | |
" this.axes = [];\n", | |
" }\n", | |
"\n", | |
" Figure.prototype.draw = function(){\n", | |
" this.canvas = this.root.append('svg:svg')\n", | |
" .attr('class', 'figure')\n", | |
" .attr('width', this.width)\n", | |
" .attr('height', this.height);\n", | |
" for (var i=0; i<this.axes.length; i++){\n", | |
" this.axes[i].draw();\n", | |
" }\n", | |
" };\n", | |
"\n", | |
" Figure.prototype.reset = function(duration){\n", | |
" duration = (typeof duration !== 'undefined') ? duration : 750;\n", | |
" for (var i=0; i<this.axes.length; i++){\n", | |
" this.axes[i].prep_reset();\n", | |
" }\n", | |
"\n", | |
" var transition = function(t){\n", | |
" for (var i=0; i<this.axes.length; i++){\n", | |
" this.axes[i].xdom(this.axes[i].xdom.domain(this.axes[i].ix(t)));\n", | |
" this.axes[i].ydom(this.axes[i].ydom.domain(this.axes[i].iy(t)));\n", | |
"\n", | |
" // don't propagate: this will be done as part of the loop.\n", | |
" this.axes[i].zoomed(false);\n", | |
" }\n", | |
" }.bind(this)\n", | |
"\n", | |
" d3.transition().duration(duration)\n", | |
" .tween(\"zoom\", function(){return transition;});\n", | |
"\n", | |
" for (var i=0; i<this.axes.length; i++){\n", | |
" this.axes[i].finalize_reset();\n", | |
" }\n", | |
" };\n", | |
"\n", | |
"\n", | |
"\n", | |
" function Axes(fig, bbox,\n", | |
" xlim, ylim,\n", | |
" xscale, yscale,\n", | |
" xdomain, ydomain,\n", | |
" xgridOn, ygridOn,\n", | |
" axclass, clipid,\n", | |
" zoomable){\n", | |
" this.axnum = fig.axes.length;\n", | |
" fig.axes.push(this);\n", | |
"\n", | |
" this.fig = fig;\n", | |
" this.bbox = bbox;\n", | |
" this.xlim = xlim;\n", | |
" this.ylim = ylim;\n", | |
" this.xdomain = xdomain;\n", | |
" this.ydomain = ydomain;\n", | |
" this.xscale = xscale;\n", | |
" this.yscale = yscale;\n", | |
" this.xgridOn = xgridOn;\n", | |
" this.ygridOn = ygridOn;\n", | |
" this.axclass = (typeof axclass !== 'undefined') ? axclass : \"axes\";\n", | |
" this.clipid = (typeof clipid != 'undefined') ? clipid : \"clip\";\n", | |
" this.zoomable = zoomable;\n", | |
"\n", | |
" this.sharex = [];\n", | |
" this.sharey = [];\n", | |
" this.elements = [];\n", | |
"\n", | |
" this.position = [this.bbox[0] * this.fig.width,\n", | |
" (1 - this.bbox[1] - this.bbox[3]) * this.fig.height];\n", | |
" this.width = bbox[2] * this.fig.width;\n", | |
" this.height = bbox[3] * this.fig.height;\n", | |
"\n", | |
" if(this.xscale === 'log'){\n", | |
" this.xdom = d3.scale.log();\n", | |
" }else if(this.xscale === 'date'){\n", | |
" this.xdom = d3.time.scale();\n", | |
" }else{\n", | |
" this.xdom = d3.scale.linear();\n", | |
" }\n", | |
"\n", | |
" if(this.yscale === 'log'){\n", | |
" this.ydom = d3.scale.log();\n", | |
" }else if(this.yscale === 'date'){\n", | |
" this.ydom = d3.time.scale();\n", | |
" }else{\n", | |
" this.ydom = d3.scale.linear();\n", | |
" }\n", | |
"\n", | |
" this.xdom.domain(this.xdomain)\n", | |
" .range([0, this.width]);\n", | |
"\n", | |
" this.ydom.domain(this.ydomain)\n", | |
" .range([this.height, 0]);\n", | |
"\n", | |
" if(this.xscale === 'date'){\n", | |
" this.xmap = d3.time.scale()\n", | |
" .domain(this.xdomain)\n", | |
" .range(this.xlim);\n", | |
" this.x = function(x){return this.xdom(this.xmap.invert(x));}\n", | |
" }else if(this.xscale === 'log'){\n", | |
" this.xmap = this.xdom;\n", | |
" this.x = this.xdom;\n", | |
" }else{\n", | |
" this.xmap = this.xdom;\n", | |
" this.x = this.xdom;\n", | |
" }\n", | |
"\n", | |
" if(this.yscale === 'date'){\n", | |
" this.ymap = d3.time.scale()\n", | |
" .domain(this.ydomain)\n", | |
" .range(this.ylim);\n", | |
" this.y = function(y){return this.ydom(this.ymap.invert(y));}\n", | |
" }else if(this.xscale === 'log'){\n", | |
" this.ymap = this.ydom;\n", | |
" this.y = this.ydom;\n", | |
" }else{\n", | |
" this.ymap = this.ydom;\n", | |
" this.y = this.ydom;\n", | |
" }\n", | |
" }\n", | |
"\n", | |
" Axes.prototype.draw = function(){\n", | |
" this.zoom = d3.behavior.zoom()\n", | |
" .x(this.xdom)\n", | |
" .y(this.ydom)\n", | |
" .on(\"zoom\", this.zoomed.bind(this));\n", | |
"\n", | |
" this.baseaxes = this.fig.canvas.append(\"g\")\n", | |
" .attr('transform', 'translate('\n", | |
" + this.position[0] + ','\n", | |
" + this.position[1] + ')')\n", | |
" .attr('width', this.width)\n", | |
" .attr('height', this.height)\n", | |
" .attr('class', \"baseaxes\");\n", | |
"\n", | |
" if(this.zoomable){\n", | |
" this.baseaxes.call(this.zoom);\n", | |
" }\n", | |
"\n", | |
" this.axesbg = this.baseaxes.append(\"svg:rect\")\n", | |
" .attr(\"width\", this.width)\n", | |
" .attr(\"height\", this.height)\n", | |
" .attr(\"class\", \"axesbg\");\n", | |
"\n", | |
" this.clip = this.baseaxes.append(\"svg:clipPath\")\n", | |
" .attr(\"id\", this.clipid)\n", | |
" .append(\"svg:rect\")\n", | |
" .attr(\"x\", 0)\n", | |
" .attr(\"y\", 0)\n", | |
" .attr(\"width\", this.width)\n", | |
" .attr(\"height\", this.height)\n", | |
"\n", | |
" this.axes = this.baseaxes.append(\"g\")\n", | |
" .attr(\"class\", this.axclass)\n", | |
" .attr(\"clip-path\", \"url(#\" + this.clipid + \")\");\n", | |
"\n", | |
" for(var i=0; i<this.elements.length; i++){\n", | |
" this.elements[i].draw();\n", | |
" }\n", | |
" };\n", | |
"\n", | |
" Axes.prototype.zoomed = function(propagate){\n", | |
" // propagate is a boolean specifying whether to propagate movements\n", | |
" // to shared axes, specified by sharex and sharey. Default is true.\n", | |
" propagate = (typeof propagate == 'undefined') ? true : propagate;\n", | |
"\n", | |
" //console.log(this.zoom.translate());\n", | |
" //console.log(this.zoom.scale());\n", | |
" //console.log(this.zoom.x().domain());\n", | |
" //console.log(this.zoom.y().domain());\n", | |
"\n", | |
" for(var i=0; i<this.elements.length; i++){\n", | |
" this.elements[i].zoomed();\n", | |
" }\n", | |
"\n", | |
" if(propagate){\n", | |
" // update shared x axes\n", | |
" for(var i=0; i<this.sharex.length; i++){\n", | |
" this.sharex[i].zoom.x().domain(this.zoom.x().domain());\n", | |
" this.sharex[i].zoomed(false);\n", | |
" }\n", | |
" // update shared y axes\n", | |
" for(var i=0; i<this.sharey.length; i++){\n", | |
" this.sharey[i].zoom.y().domain(this.zoom.y().domain());\n", | |
" this.sharey[i].zoomed(false);\n", | |
" }\n", | |
" }\n", | |
" };\n", | |
"\n", | |
" Axes.prototype.add_element = function(element){\n", | |
" this.elements.push(element);\n", | |
" };\n", | |
"\n", | |
" Axes.prototype.prep_reset = function(){\n", | |
" // interpolate() does not work on dates, so we map dates to numbers,\n", | |
" // interpolate the numbers, and then invert the map.\n", | |
" // we use the same strategy for log, so the interpolation will be smooth.\n", | |
" // There probably is a cleaner approach...\n", | |
"\n", | |
" if (this.xscale === 'date'){\n", | |
" var start = this.xdom.domain();\n", | |
" var end = this.xdomain;\n", | |
" var interp = d3.interpolate(\n", | |
" [this.xmap(start[0]), this.xmap(start[1])],\n", | |
" [this.xmap(end[0]), this.xmap(end[1])]);\n", | |
" this.ix = function(t){\n", | |
" return [this.xmap.invert(interp(t)[0]),\n", | |
" this.xmap.invert(interp(t)[1])];\n", | |
" }\n", | |
" }else{\n", | |
" this.ix = d3.interpolate(this.xdom.domain(), this.xlim);\n", | |
" }\n", | |
"\n", | |
" if (this.yscale === 'date'){\n", | |
" var start = this.ydom.domain();\n", | |
" var end = this.ydomain;\n", | |
" var interp = d3.interpolate(\n", | |
" [this.ymap(start[0]), this.ymap(start[1])],\n", | |
" [this.ymap(end[0]), this.ymap(end[1])]);\n", | |
" this.iy = function(t){\n", | |
" return [this.ymap.invert(interp(t)[0]),\n", | |
" this.ymap.invert(interp(t)[1])];\n", | |
" }\n", | |
" }else{\n", | |
" this.iy = d3.interpolate(this.ydom.domain(), this.ylim);\n", | |
" }\n", | |
" }\n", | |
"\n", | |
" Axes.prototype.finalize_reset = function(){\n", | |
" this.zoom.scale(1).translate([0, 0]);\n", | |
" }\n", | |
"\n", | |
" Axes.prototype.reset = function(){\n", | |
" this.prep_reset();\n", | |
" d3.transition().duration(750).tween(\"zoom\", function() {\n", | |
" return function(t) {\n", | |
" this.zoom.x(this.xdom.domain(this.ix(t)))\n", | |
" .y(this.ydom.domain(this.iy(t)));\n", | |
" this.zoomed();\n", | |
" };\n", | |
" });\n", | |
" this.finalize_reset();\n", | |
" };\n", | |
"\n", | |
"\n", | |
"\n", | |
" function Axis(axes, position, nticks, tickvalues, tickformat){\n", | |
" this.axes = axes;\n", | |
" this.position = position;\n", | |
" this.nticks = nticks;\n", | |
" this.tickvalues = tickvalues;\n", | |
" this.tickformat = tickformat;\n", | |
" if (position == \"bottom\"){\n", | |
" this.transform = \"translate(0,\" + this.axes.height + \")\";\n", | |
" this.scale = this.axes.xdom;\n", | |
" this.class = \"x axis\";\n", | |
" }else if (position == \"top\"){\n", | |
" this.transform = \"translate(0,0)\"\n", | |
" this.scale = this.axes.xdom;\n", | |
" this.class = \"x axis\";\n", | |
" }else if (position == \"left\"){\n", | |
" this.transform = \"translate(0,0)\";\n", | |
" this.scale = this.axes.ydom;\n", | |
" this.class = \"y axis\";\n", | |
" }else{\n", | |
" this.transform = \"translate(\" + this.axes.width + \",0)\";\n", | |
" this.scale = this.axes.ydom;\n", | |
" this.class = \"y axis\";\n", | |
" }\n", | |
" }\n", | |
"\n", | |
" Axis.prototype.draw = function(){\n", | |
" this.axis = d3.svg.axis()\n", | |
" .scale(this.scale)\n", | |
" .orient(this.position)\n", | |
" .ticks(this.nticks)\n", | |
" .tickValues(this.tickvalues)\n", | |
" .tickFormat(this.tickformat);\n", | |
" this.elem = this.axes.baseaxes.append('g')\n", | |
" .attr(\"transform\", this.transform)\n", | |
" .attr(\"class\", this.class)\n", | |
" .call(this.axis);\n", | |
" };\n", | |
"\n", | |
" Axis.prototype.zoomed = function(){\n", | |
" this.elem.call(this.axis);\n", | |
" };\n", | |
"\n", | |
"\n", | |
"\n", | |
" function Grid(axes, xy){\n", | |
" this.axes = axes;\n", | |
" this.class = xy + \" grid\"\n", | |
" if(xy == \"x\"){\n", | |
" this.transform = \"translate(0,\" + this.axes.height + \")\";\n", | |
" this.position = \"bottom\";\n", | |
" this.scale = this.axes.xdom;\n", | |
" this.tickSize = -this.axes.height;\n", | |
" }else{\n", | |
" this.transform = \"translate(0,0)\";\n", | |
" this.position = \"left\";\n", | |
" this.scale = this.axes.ydom;\n", | |
" this.tickSize = -this.axes.width;\n", | |
" }\n", | |
" }\n", | |
"\n", | |
" Grid.prototype.draw = function(){\n", | |
" this.grid = d3.svg.axis()\n", | |
" .scale(this.scale)\n", | |
" .orient(this.position)\n", | |
" .tickSize(this.tickSize, 0, 0)\n", | |
" .tickFormat(\"\");\n", | |
" this.elem = this.axes.axes.append(\"g\")\n", | |
" .attr(\"class\", this.class)\n", | |
" .attr(\"transform\", this.transform)\n", | |
" .call(this.grid);\n", | |
" };\n", | |
"\n", | |
" Grid.prototype.zoomed = function(){\n", | |
" this.elem.call(this.grid);\n", | |
" };\n", | |
"\n", | |
"\n", | |
"\n", | |
" // This function constructs a mapped SVG path\n", | |
" // from an input data array\n", | |
" var construct_SVG_path = function(data, xmap, ymap){\n", | |
" xmap = (typeof xmap !== 'undefined') ? xmap : function(x){return x;};\n", | |
" ymap = (typeof ymap !== 'undefined') ? ymap : function(y){return y;};\n", | |
" var result = \"\";\n", | |
" for (var i=0;i<data.length;i++){\n", | |
" result += data[i][0];\n", | |
" if(data[i][0] == 'Z'){\n", | |
" continue;\n", | |
" }\n", | |
" for (var j=0;j<data[i][1].length;j++){\n", | |
" if(j % 2 == 0){\n", | |
" result += \" \" + xmap(data[i][1][j]);\n", | |
" }else{\n", | |
" result += \" \" + ymap(data[i][1][j]);\n", | |
" }\n", | |
" }\n", | |
" result += \" \";\n", | |
" }\n", | |
" return result;\n", | |
" };\n", | |
"\n", | |
"\n", | |
" var figwidth = 6.0 * 120.0;\n", | |
" var figheight = 4.0 * 120.0;\n", | |
" var fig = new Figure(\"div#figureb12c942df0d342b98fdec55a6aefdfed\",\n", | |
" figwidth, figheight);\n", | |
"\n", | |
"\n", | |
"\n", | |
" var ax1 = new Axes(fig, [0.12, 0.12, 0.78000000000000003, 0.78000000000000003], [75.0, 110.0], [-25.556646083526079, -0.1960775258306485],\n", | |
" \"linear\", \"linear\",\n", | |
" [75.0, 110.0], [-25.556646083526079, -0.1960775258306485],\n", | |
" true, true,\n", | |
" \"axes1\",\n", | |
" \"clipb12c942df0d342b98fdec55a6aefdfed1\", true);\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add an Axis element\n", | |
"ax1.add_element(new Axis(ax1, \"bottom\",\n", | |
" 8, null,\n", | |
" null));\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add an Axis element\n", | |
"ax1.add_element(new Axis(ax1, \"left\",\n", | |
" 7, null,\n", | |
" null));\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a Grid element\n", | |
"ax1.add_element(new Grid(ax1, \"x\"));\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a Grid element\n", | |
"ax1.add_element(new Grid(ax1, \"y\"));\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a Line2D element\n", | |
"var line57ea5e0c2b14470b944e50bd62568a92 = new function(){\n", | |
" this.data = [[75.0, -3.340824830245869], [75.175, -3.422216702574662], [75.35, -3.5061300699168423], [75.525, -3.5926591261889462], [75.7, -3.6819022446717287], [75.875, -3.7739622082623434], [76.05, -3.868946456643385], [76.225, -3.9669673520212445], [76.4, -4.068142465281051], [76.575, -4.172594884624509], [76.75, -4.280453549005821], [76.925, -4.3918536089608535], [77.1, -4.506936817741849], [77.275, -4.625851956028465], [77.45, -4.7487552938911985], [77.625, -4.875811094141537], [77.8, -5.0071921617212825], [77.975, -5.143080444368927], [78.15, -5.283667690461957], [78.325, -5.4291561706791445], [78.5, -5.579759470965795], [78.675, -5.735703365227035], [78.85, -5.897226777228719], [79.025, -6.064582842359286], [79.2, -6.2380400812071715], [79.375, -6.417883698334518], [79.55, -6.604417021176149], [79.725, -6.797963095641761], [79.9, -6.9988664567135705], [80.075, -7.207495094043508], [80.25, -7.424242634150517], [80.425, -7.649530762121662], [80.6, -7.883811906442695], [80.775, -8.127572210286452], [80.95, -8.381334810590605], [81.125, -8.64566344152189], [81.3, -8.921166369871695], [81.475, -9.208500654144498], [81.65, -9.508376692910385], [81.825, -9.821562985777026], [82.0, -10.148890963483826], [82.175, -10.49125963888892], [82.35, -10.849639667565858], [82.525, -11.225076153663803], [82.7, -11.61868914434853], [82.875, -12.031670147713932], [83.05, -12.465272064723152], [83.225, -12.920788459056203], [83.4, -13.399515811810092], [83.575, -13.902688883592306], [83.75, -14.431373892154141], [83.925, -14.986296025086903], [84.1, -15.567565793568257], [84.275, -16.17425212219452], [84.45, -16.80372982246119], [84.625, -17.450711780855798], [84.8, -18.10588275996923], [84.975, -18.75413343749401], [85.15, -19.372648313504488], [85.325, -19.929649024416033], [85.5, -20.385393732364562], [85.675, -20.697445286335217], [85.85, -20.830800113811886], [86.025, -20.769489863814215], [86.2, -20.522795736224204], [86.375, -20.121561118893432], [86.55, -19.607341493734825], [86.725, -19.021334443418297], [86.9, -18.39771568060051], [87.075, -17.761661462189238], [87.25, -17.130182051706697], [87.425, -16.51396563674342], [87.6, -15.919226351205204], [87.775, -15.34918609602272], [87.95, -14.8051443901218], [88.125, -14.287207698601565], [88.3, -13.794769928345287], [88.475, -13.326821979734527], [88.65, -12.882147752414667], [88.825, -12.45944616753376], [89.0, -12.057405543208686], [89.175, -11.674747532708452], [89.35, -11.3102517608376], [89.525, -10.96276832731097], [89.7, -10.631222779437346], [89.875, -10.31461650245127], [90.05, -10.012024410954808], [90.225, -9.722591139010513], [90.4, -9.445526484210182], [90.575, -9.180100575807945], [90.75, -8.925639053136067], [90.925, -8.681518422290209], [91.1, -8.447161683440953], [91.275, -8.222034273200611], [91.45, -8.005640336564639], [91.625, -7.797519324747664], [91.8, -7.59724290461525], [91.975, -7.404412159672464], [92.15, -7.218655059931206], [92.325, -7.039624177279158], [92.5, -6.866994623449401], [92.675, -6.700462188847461], [92.85, -6.539741662008652], [93.025, -6.384565311131255], [93.2, -6.234681510830859], [93.375, -6.089853498910452], [93.55, -5.949858249498964], [93.725, -5.814485450349909], [93.9, -5.6835365734080066], [94.075, -5.556824028941118], [94.25, -5.4341703946028925], [94.425, -5.315407711747886], [94.6, -5.200376842170589], [94.775, -5.0889268791968085], [94.95, -4.98091460772515], [95.125, -4.876204008410839], [95.3, -4.774665801709187], [95.475, -4.67617702796078], [95.65, -4.580620660112475], [95.825, -4.487885246031037], [96.0, -4.397864577689527], [96.175, -4.310457384791137], [96.35, -4.225567050647779], [96.525, -4.1431013483555725], [96.7, -4.062972195507538], [96.875, -3.9850954258607802], [97.05, -3.9093905765328376], [97.225, -3.8357806894410156], [97.4, -3.76419212582386], [97.575, -3.6945543927941276], [97.75, -3.626799980972814], [97.925, -3.5608642123413974], [98.1, -3.4966850975297197], [98.275, -3.434203201827328], [98.45, -3.3733615192702056], [98.625, -3.314105354212044], [98.8, -3.2563822098405337], [98.975, -3.2001416831456693], [99.15, -3.1453353658887035], [99.325, -3.091916751158216], [99.5, -3.0398411451337837], [99.675, -2.9890655837083084], [99.85, -2.939548753648494], [100.025, -2.891250917997893], [100.2, -2.844133845449731], [100.375, -2.798160743438532], [100.55, -2.7532961947172585], [100.725, -2.7095060972053506], [100.9, -2.666757606907952], [101.075, -2.6250190837214187], [101.25, -2.584260039953552], [101.425, -2.5444510913988285], [101.6, -2.5055639108202894], [101.775, -2.4675711836997416], [101.95, -2.430446566127339], [102.125, -2.394164644710468], [102.3, -2.3587008983894258], [102.475, -2.3240316620550234], [102.65, -2.290134091869884], [102.825, -2.256986132201468], [103.0, -2.2245664840806656], [103.175, -2.192854575105155], [103.35, -2.1618305307116295], [103.525, -2.1314751467458333], [103.7, -2.101769863263265], [103.875, -2.0726967394976747], [104.05, -2.044238429938178], [104.225, -2.0163781614590883], [104.4, -1.9890997114499245], [104.575, -1.9623873868960373], [104.75, -1.9362260043630728], [104.925, -1.9106008708411346], [105.1, -1.885497765406955], [105.275, -1.860902921664682], [105.45, -1.836803010928032], [105.625, -1.8131851261085428], [105.8, -1.790036766276707], [105.975, -1.767345821864272], [106.15, -1.7451005604779335], [106.325, -1.7232896132959983], [106.5, -1.701901962021243], [106.675, -1.6809269263644833], [106.85, -1.6603541520346252], [107.025, -1.640173599212405], [107.2, -1.620375531485891], [107.375, -1.600950505227198], [107.55, -1.5818893593906527], [107.725, -1.563183205713937], [107.9, -1.5448234193041486], [108.075, -1.526801629592247], [108.25, -1.5091097116395478], [108.425, -1.4917397777811066], [108.6, -1.4746841695915316], [108.775, -1.4579354501590953], [108.95, -1.4414863966553326], [109.125, -1.4253299931871857], [109.3, -1.4094594239200502], [109.475, -1.3938680664599916], [109.65, -1.3785494854845672], [109.825, -1.3634974266116155], [110.0, -1.3487058104962317]];\n", | |
" this.ax = ax1;\n", | |
"\n", | |
" this.translate = function(d)\n", | |
" { return \"translate(\" + this.ax.x(d[0]) + \",\"\n", | |
" + this.ax.y(d[1]) + \")\"; };\n", | |
"\n", | |
" this.draw = function(){\n", | |
"\n", | |
" this.line = d3.svg.line()\n", | |
" .x(function(d) {return this.ax.x(d[0]);})\n", | |
" .y(function(d) {return this.ax.y(d[1]);})\n", | |
" .interpolate(\"linear\")\n", | |
" .defined(function (d) {return !isNaN(d[0]) && !isNaN(d[1]); });\n", | |
"\n", | |
" this.lineobj = this.ax.axes.append(\"svg:path\")\n", | |
" .attr(\"d\", this.line(this.data))\n", | |
" .attr('class', 'line5');\n", | |
"\n", | |
"\n", | |
" };\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
"\n", | |
" this.lineobj.attr(\"d\", this.line(this.data));\n", | |
"\n", | |
"\n", | |
"\n", | |
" }\n", | |
"};\n", | |
"\n", | |
"ax1.add_element(line57ea5e0c2b14470b944e50bd62568a92);\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a Line2D element\n", | |
"var line9d478451f07241e39b3f46d430f26ae8 = new function(){\n", | |
" this.data = [[75.0, -2.916996271015514], [75.175, -2.8468335895333063], [75.35, -2.7769819221731336], [75.525, -2.707462714599366], [75.7, -2.6382980674354792], [75.875, -2.5695107379365356], [76.05, -2.5011241401014885], [76.225, -2.4331623430965283], [76.4, -2.3656500678585077], [76.575, -2.2986126817443804], [76.75, -2.2320761910916596], [76.925, -2.166067231553433], [77.1, -2.1006130560724086], [77.275, -2.035741520359174], [77.45, -1.971481065742822], [77.625, -1.907860699265596], [77.8, -1.8449099708985792], [77.975, -1.7826589477624124], [78.15, -1.7211381852452639], [78.325, -1.6603786949205497], [78.5, -1.6004119091792028], [78.675, -1.5412696425047847], [78.85, -1.482984049336125], [79.025, -1.4255875784797836], [79.2, -1.369112924054654], [79.375, -1.31359297297292], [79.55, -1.2590607489853447], [79.725, -1.2055493533445751], [79.9, -1.15309190216745], [80.075, -1.1017214606063712], [80.25, -1.0514709739698223], [80.425, -1.002373195963771], [80.6, -0.954460614257743], [80.775, -0.9077653736120033], [80.95, -0.8623191968354026], [81.125, -0.818153303875522], [81.3, -0.7752983293751086], [81.475, -0.7337842390590206], [81.65, -0.693640245345265], [81.825, -0.6548947226003375], [82.0, -0.6175751224834642], [82.175, -0.5817078898453252], [82.35, -0.5473183796644044], [82.525, -0.514430775517442], [82.7, -0.48306801008943434], [82.875, -0.4532516882327781], [83.05, -0.42500201308403585], [83.225, -0.39833771574039695], [83.4, -0.37327598898606656], [83.575, -0.34983242554115895], [83.75, -0.3280209612826559], [83.925, -0.30785382385849724], [84.1, -0.28934148708191293], [84.275, -0.2724926314546929], [84.45, -0.25731411112465913], [84.625, -0.24381092753561823], [84.8, -0.23198620997720684], [84.975, -0.22184120318892994], [85.15, -0.21337526211690583], [85.325, -0.2065858538650237], [85.5, -0.2014685668251981], [85.675, -0.1980171269134068], [85.85, -0.1962234207828761], [86.025, -0.1960775258306485], [86.2, -0.19756774676215244], [86.375, -0.20068065842935454], [86.55, -0.20540115461320768], [86.725, -0.21171250238004652], [86.9, -0.2195964016058014], [87.075, -0.22903304923076812], [87.25, -0.24000120778211592], [87.425, -0.2524782776813319], [87.6, -0.26644037283915967], [87.775, -0.2818623990318118], [87.95, -0.2987181345486979], [88.125, -0.3169803126038292], [88.3, -0.3366207050095476], [88.475, -0.35761020662297605], [88.65, -0.37991892009117406], [88.825, -0.40351624044018064], [89.0, -0.4283709390765514], [89.175, -0.45445124679518556], [89.35, -0.48172493541565486], [89.525, -0.5101593976991], [89.7, -0.5397217252292404], [89.875, -0.5703787839731316], [90.05, -0.6020972872702722], [90.225, -0.6348438660313818], [90.4, -0.6685851359605441], [90.575, -0.7032877616464411], [90.75, -0.7389185173988838], [90.925, -0.7754443447368164], [91.1, -0.8128324064617807], [91.275, -0.8510501372772186], [91.45, -0.8900652909390938], [91.625, -0.9298459839455084], [91.8, -0.9703607357943245], [91.975, -1.0115785058561695], [92.15, -1.0534687269275127], [92.325, -1.0960013355427913], [92.5, -1.1391467991381434], [92.675, -1.1828761401696137], [92.85, -1.2271609572985385], [93.025, -1.2719734437642578], [93.2, -1.3172864030697697], [93.375, -1.363073262111303], [93.55, -1.4093080818849586], [93.725, -1.4559655659060695], [93.9, -1.5030210664773247], [94.075, -1.5504505889414075], [94.25, -1.5982307940527327], [94.425, -1.6463389986008494], [94.6, -1.6947531744152677], [94.775, -1.743451945878102], [94.95, -1.7924145860674987], [95.125, -1.841621011649859], [95.3, -1.8910517766351305], [95.475, -1.9406880651040648], [95.65, -1.9905116830114433], [95.825, -2.040505049164391], [96.0, -2.0906511854693757], [96.175, -2.14093370653645], [96.35, -2.1913368087240284], [96.525, -2.2418452587023445], [96.7, -2.292444381608672], [96.875, -2.343120048862462], [97.05, -2.3938586657035437], [97.225, -2.4446471585122524], [97.4, -2.4954729619653686], [97.575, -2.5463240060779806], [97.75, -2.597188703176567], [97.925, -2.6480559348454036], [98.1, -2.698915038884131], [98.275, -2.7497557963109593], [98.45, -2.8005684184425803], [98.625, -2.8513435340789672], [98.8, -2.9020721768178044], [98.975, -2.952745772521013], [99.15, -3.0033561269529003], [99.325, -3.0538954136074077], [99.5, -3.1043561617391155], [99.675, -3.154731244611448], [99.85, -3.2050138679726716], [100.025, -3.2551975587693294], [100.2, -3.3052761541045195], [100.375, -3.3552437904473824], [100.55, -3.4050948930984513], [100.725, -3.454824165914636], [100.9, -3.5044265812960513], [101.075, -3.5538973704363714], [101.25, -3.60323201383711], [101.425, -3.6524262320853884], [101.6, -3.701475976894322], [101.775, -3.7503774224042763], [101.95, -3.799126956742459], [102.125, -3.8477211738383117], [102.3, -3.8961568654911787], [102.475, -3.944431013686611], [102.65, -3.992540783157346], [102.825, -4.040483514184466], [103.0, -4.088256715634283], [103.175, -4.135858058226104], [103.35, -4.183285368025693], [103.525, -4.230536620159754], [103.7, -4.277609932745674], [103.875, -4.324503561031637], [104.05, -4.371215891741507], [104.225, -4.417745437619159], [104.4, -4.464090832166795], [104.575, -4.510250824571921], [104.75, -4.556224274817513], [104.925, -4.6020101489700584], [105.1, -4.647607514640171], [105.275, -4.693015536610493], [105.45, -4.7382334726257795], [105.625, -4.783260669340105], [105.8, -4.8280965584159246], [105.975, -4.872740652770476], [106.15, -4.917192542964368], [106.325, -4.961451893727742], [106.5, -5.00551844061952], [106.675, -5.0493919868149515], [106.85, -5.093072400017348], [107.025, -5.136559609489554], [107.2, -5.179853603200985], [107.375, -5.222954425086269], [107.55, -5.2658621724113654], [107.725, -5.308576993243546], [107.9, -5.351099084021291], [108.075, -5.393428687220666], [108.25, -5.435566089114543], [108.425, -5.477511617621352], [108.6, -5.519265640239944], [108.775, -5.560828562067641], [108.95, -5.602200823898011], [109.125, -5.6433829003958], [109.3, -5.684375298345756], [109.475, -5.725178554972819], [109.65, -5.765793236330856], [109.825, -5.806219935757512], [110.0, -5.84645927239226]];\n", | |
" this.ax = ax1;\n", | |
"\n", | |
" this.translate = function(d)\n", | |
" { return \"translate(\" + this.ax.x(d[0]) + \",\"\n", | |
" + this.ax.y(d[1]) + \")\"; };\n", | |
"\n", | |
" this.draw = function(){\n", | |
"\n", | |
" this.line = d3.svg.line()\n", | |
" .x(function(d) {return this.ax.x(d[0]);})\n", | |
" .y(function(d) {return this.ax.y(d[1]);})\n", | |
" .interpolate(\"linear\")\n", | |
" .defined(function (d) {return !isNaN(d[0]) && !isNaN(d[1]); });\n", | |
"\n", | |
" this.lineobj = this.ax.axes.append(\"svg:path\")\n", | |
" .attr(\"d\", this.line(this.data))\n", | |
" .attr('class', 'line6');\n", | |
"\n", | |
"\n", | |
" };\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
"\n", | |
" this.lineobj.attr(\"d\", this.line(this.data));\n", | |
"\n", | |
"\n", | |
"\n", | |
" }\n", | |
"};\n", | |
"\n", | |
"ax1.add_element(line9d478451f07241e39b3f46d430f26ae8);\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a Line2D element\n", | |
"var linee6d73a694fc04f7582c136a820300727 = new function(){\n", | |
" this.data = [[75.0, -2.916996271015502], [75.175, -2.8468335895332957], [75.35, -2.776981922173121], [75.525, -2.7074627145993553], [75.7, -2.638298067435456], [75.875, -2.569510737936524], [76.05, -2.5011241401014765], [76.225, -2.433162343096517], [76.4, -2.365650067858485], [76.575, -2.2986126817443693], [76.75, -2.2320761910916476], [76.925, -2.1660672315534217], [77.1, -2.1006130560723864], [77.275, -2.035741520359152], [77.45, -1.9714810657428017], [77.625, -1.907860699265584], [77.8, -1.8449099708985695], [77.975, -1.7826589477624006], [78.15, -1.7211381852452425], [78.325, -1.660378694920539], [78.5, -1.600411909179191], [78.675, -1.5412696425047745], [78.85, -1.4829840493361148], [79.025, -1.4255875784797645], [79.2, -1.369112924054645], [79.375, -1.313592972972909], [79.55, -1.2590607489853358], [79.725, -1.2055493533445563], [79.9, -1.1530919021674302], [80.075, -1.1017214606063503], [80.25, -1.0514709739698123], [80.425, -1.0023731959637614], [80.6, -0.9544606142577333], [80.775, -0.9077653736119924], [80.95, -0.8623191968353928], [81.125, -0.8181533038755124], [81.3, -0.7752983293751001], [81.475, -0.7337842390590111], [81.65, -0.6936402453452546], [81.825, -0.6548947226003385], [82.0, -0.6175751224834559], [82.175, -0.5817078898453159], [82.35, -0.5473183796644044], [82.525, -0.514430775517442], [82.7, -0.48306801008943434], [82.875, -0.4532516882327781], [83.05, -0.42500201308403585], [83.225, -0.39833771574039695], [83.4, -0.37327598898606656], [83.575, -0.34983242554115895], [83.75, -0.32802096128265684], [83.925, -0.30785382385850624], [84.1, -0.289341487081912], [84.275, -0.2724926314546929], [84.45, -0.25731411112466807], [84.625, -0.24381092753561823], [84.8, -0.23198620997720587], [84.975, -0.22184120318893982], [85.15, -0.21337526211690488], [85.325, -0.2065858538650326], [85.5, -0.201468566825206], [85.675, -0.1980171269134157], [85.85, -0.19622342078288402], [86.025, -0.19607752583065635], [86.2, -0.1975677467621613], [86.375, -0.20068065842936442], [86.55, -0.20540115461322547], [86.725, -0.21171250238005546], [86.9, -0.21959640160580937], [87.075, -0.229033049230777], [87.25, -0.24000120778212483], [87.425, -0.2524782776813508], [87.6, -0.2664403728391776], [87.775, -0.28186239903182175], [87.95, -0.2987181345487159], [88.125, -0.31698031260384724], [88.3, -0.33662070500955665], [88.475, -0.35761020662299414], [88.65, -0.37991892009118317], [88.825, -0.40351624044018974], [89.0, -0.4283709390765605], [89.175, -0.4544512467951947], [89.35, -0.48172493541566397], [89.525, -0.5101593976991092], [89.7, -0.5397217252292497], [89.875, -0.5703787839731419], [90.05, -0.6020972872702806], [90.225, -0.6348438660313818], [90.4, -0.6685851359605535], [90.575, -0.7032877616464505], [90.75, -0.7389185173988838], [90.925, -0.775444344736826], [91.1, -0.8128324064617902], [91.275, -0.8510501372772283], [91.45, -0.8900652909390938], [91.625, -0.929845983945518], [91.8, -0.9703607357943331], [91.975, -1.0115785058561704], [92.15, -1.0534687269275127], [92.325, -1.0960013355427913], [92.5, -1.1391467991381434], [92.675, -1.1828761401696137], [92.85, -1.2271609572985385], [93.025, -1.2719734437642578], [93.2, -1.3172864030697597], [93.375, -1.3630732621113046], [93.55, -1.4093080818849482], [93.725, -1.455965565906059], [93.9, -1.5030210664773247], [94.075, -1.5504505889413969], [94.25, -1.598230794052722], [94.425, -1.6463389986008494], [94.6, -1.6947531744152573], [94.775, -1.743451945878102], [94.95, -1.792414586067488], [95.125, -1.8416210116498473], [95.3, -1.8910517766351098], [95.475, -1.940688065104054], [95.65, -1.9905116830114322], [95.825, -2.04050504916438], [96.0, -2.0906511854693646], [96.175, -2.1409337065364396], [96.35, -2.1913368087240173], [96.525, -2.241845258702333], [96.7, -2.292444381608661], [96.875, -2.343120048862451], [97.05, -2.393858665703532], [97.225, -2.4446471585122294], [97.4, -2.4954729619653566], [97.575, -2.5463240060779695], [97.75, -2.5971887031765553], [97.925, -2.6480559348453796], [98.1, -2.69891503888412], [98.275, -2.7497557963109354], [98.45, -2.8005684184425688], [98.625, -2.8513435340789552], [98.8, -2.9020721768177915], [98.975, -2.9527457725209887], [99.15, -3.0033561269528875], [99.325, -3.0538954136073952], [99.5, -3.104356161739104], [99.675, -3.154731244611435], [99.85, -3.2050138679726587], [100.025, -3.2551975587693165], [100.2, -3.3052761541045066], [100.375, -3.355243790447369], [100.55, -3.4050948930984513], [100.725, -3.454824165914625], [100.9, -3.5044265812960385], [101.075, -3.5538973704363714], [101.25, -3.603232013837097], [101.425, -3.652426232085375], [101.6, -3.701475976894322], [101.775, -3.750377422404263], [101.95, -3.799126956742459], [102.125, -3.8477211738383117], [102.3, -3.8961568654911787], [102.475, -3.9444310136865974], [102.65, -3.9925407831573323], [102.825, -4.0404835141844515], [103.0, -4.088256715634283], [103.175, -4.135858058226104], [103.35, -4.183285368025693], [103.525, -4.230536620159754], [103.7, -4.2776099327456745], [103.875, -4.324503561031637], [104.05, -4.371215891741507], [104.225, -4.417745437619159], [104.4, -4.464090832166795], [104.575, -4.510250824571921], [104.75, -4.556224274817513], [104.925, -4.6020101489700735], [105.1, -4.647607514640171], [105.275, -4.693015536610493], [105.45, -4.7382334726257795], [105.625, -4.783260669340105], [105.8, -4.8280965584159246], [105.975, -4.872740652770476], [106.15, -4.917192542964368], [106.325, -4.961451893727755], [106.5, -5.005518440619534], [106.675, -5.0493919868149675], [106.85, -5.093072400017348], [107.025, -5.136559609489569], [107.2, -5.179853603201002], [107.375, -5.222954425086286], [107.55, -5.2658621724113805], [107.725, -5.30857699324356], [107.9, -5.351099084021308], [108.075, -5.393428687220666], [108.25, -5.435566089114559], [108.425, -5.477511617621369], [108.6, -5.51926564023996], [108.775, -5.560828562067641], [108.95, -5.602200823898028], [109.125, -5.643382900395818], [109.3, -5.684375298345756], [109.475, -5.725178554972818], [109.65, -5.765793236330872], [109.825, -5.806219935757512], [110.0, -5.84645927239226]];\n", | |
" this.ax = ax1;\n", | |
"\n", | |
" this.translate = function(d)\n", | |
" { return \"translate(\" + this.ax.x(d[0]) + \",\"\n", | |
" + this.ax.y(d[1]) + \")\"; };\n", | |
"\n", | |
" this.draw = function(){\n", | |
"\n", | |
" this.line = d3.svg.line()\n", | |
" .x(function(d) {return this.ax.x(d[0]);})\n", | |
" .y(function(d) {return this.ax.y(d[1]);})\n", | |
" .interpolate(\"linear\")\n", | |
" .defined(function (d) {return !isNaN(d[0]) && !isNaN(d[1]); });\n", | |
"\n", | |
" this.lineobj = this.ax.axes.append(\"svg:path\")\n", | |
" .attr(\"d\", this.line(this.data))\n", | |
" .attr('class', 'line7');\n", | |
"\n", | |
"\n", | |
" };\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
"\n", | |
" this.lineobj.attr(\"d\", this.line(this.data));\n", | |
"\n", | |
"\n", | |
"\n", | |
" }\n", | |
"};\n", | |
"\n", | |
"ax1.add_element(linee6d73a694fc04f7582c136a820300727);\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a Line2D element\n", | |
"var line5d7766351e354748927b9bab7bd11457 = new function(){\n", | |
" this.data = [[75.0, -3.3708001371869036], [75.175, -3.453223398863103], [75.35, -3.538219674846102], [75.525, -3.625886669296909], [75.7, -3.7163265645567916], [75.875, -3.809646282496924], [76.05, -3.9059577666118654], [76.225, -4.005378287054504], [76.4, -4.1080307710942146], [76.575, -4.21404416180382], [76.75, -4.323553808154105], [76.925, -4.4367018901234845], [77.1, -4.553637882923719], [77.275, -4.674519065013393], [77.45, -4.799511075230195], [77.625, -4.928788525137558], [77.8, -5.062535673570128], [77.975, -5.200947171396994], [78.15, -5.344228885729331], [78.325, -5.492598814213152], [78.5, -5.646288101706521], [78.675, -5.805542173592261], [78.85, -5.97062200228093], [79.025, -6.141805526183278], [79.2, -6.319389243668166], [79.375, -6.50369000837291], [79.55, -6.695047056835371], [79.725, -6.893824304931536], [79.9, -7.100412956232557], [80.075, -7.3152344733945665], [80.25, -7.538743973375713], [80.425, -7.771434119032124], [80.6, -8.013839593965997], [80.775, -8.266542264999355], [80.95, -8.530177158085701], [81.125, -8.80543939979943], [81.3, -9.093092308925275], [81.475, -9.393976862527465], [81.65, -9.709022809908536], [81.825, -10.039261768012128], [82.0, -10.385842705174525], [82.175, -10.750050308612884], [82.35, -11.13332683573142], [82.525, -11.53729816898224], [82.7, -11.963804922027661], [82.875, -12.414939563186039], [83.05, -12.893090588538653], [83.225, -13.400994700504295], [83.4, -13.941797536726455], [83.575, -14.519122351449827], [83.75, -15.13714335325986], [83.925, -15.800654430558957], [84.1, -16.51511113032427], [84.275, -17.286596295080784], [84.45, -18.12160120175347], [84.625, -19.026389139994798], [84.8, -20.005444180205444], [84.975, -21.0579686196781], [85.15, -22.17040824703514], [85.325, -23.301780649813914], [85.5, -24.359872864423252], [85.675, -25.180317415184806], [85.85, -25.55664608352608], [86.025, -25.365439804098514], [86.2, -24.676929647088244], [86.375, -23.68914039459287], [86.55, -22.58642859215602], [86.725, -21.48148430544293], [86.9, -20.427830498659937], [87.075, -19.44528280693149], [87.25, -18.537411248320502], [87.425, -17.70080114337613], [87.6, -16.929479707557817], [87.775, -16.216910056624535], [87.95, -15.556832781415126], [88.125, -14.943577473272176], [88.3, -14.372137277820789], [88.475, -13.838142841798124], [88.65, -13.337798467424305], [88.825, -12.867808809796344], [89.0, -12.4253082857814], [89.175, -12.007797826909874], [89.35, -11.613090166926803], [89.525, -11.239263359454949], [89.7, -10.884621645770757], [89.875, -10.547662642394135], [90.05, -10.227049854466825], [90.225, -9.921589629587812], [90.4, -9.630211794544545], [90.575, -9.351953340630839], [90.75, -9.085944632743386], [90.925, -8.831397710771983], [91.1, -8.5875963295194], [91.275, -8.353887447283633], [91.45, -8.129673925387157], [91.625, -7.914408243356672], [91.8, -7.707587068913957], [91.975, -7.508746549938494], [92.15, -7.317458218347442], [92.325, -7.133325414416175], [92.5, -6.955980155250481], [92.675, -6.7850803835721365], [92.85, -6.620307543218398], [93.025, -6.46136443620305], [93.2, -6.307973323177159], [93.375, -6.159874234932916], [93.55, -6.016823467430166], [93.725, -5.878592236866144], [93.9, -5.744965474698724], [94.075, -5.61574074538289], [94.25, -5.490727271983943], [94.425, -5.369745056866435], [94.6, -5.252624086382286], [94.775, -5.139203609952214], [94.95, -5.029331485186015], [95.125, -4.92286358176086], [95.3, -4.819663237695685], [95.475, -4.719600762450379], [95.65, -4.622552981960614], [95.825, -4.528402821307237], [96.0, -4.437038921229438], [96.175, -4.3483552851335485], [96.35, -4.262250953633312], [96.525, -4.178629703993932], [96.7, -4.097399772144161], [96.875, -4.018473595177337], [97.05, -3.941767572487004], [97.225, -3.8672018438799287], [97.4, -3.7947000831830846], [97.575, -3.7241893060140803], [97.75, -3.655599690520063], [97.925, -3.5888644100094433], [98.1, -3.523919476506816], [98.275, -3.4607035943558007], [98.45, -3.399158023077809], [98.625, -3.3392264487696357], [98.8, -3.2808548633890178], [98.975, -3.2239914513366372], [99.15, -3.1685864827964934], [99.325, -3.1145922133439337], [99.5, -3.061962789373309], [99.675, -3.0106541589360742], [99.85, -2.9606239876142135], [100.025, -2.9118315790855913], [100.2, -2.8642378000654087], [100.375, -2.817805009334164], [100.55, -2.7724969905847963], [100.725, -2.728278888843201], [100.9, -2.6851171502350004], [101.075, -2.6429794648887217], [101.25, -2.6018347127815433], [101.425, -2.5616529123476814], [101.6, -2.522405171682868], [101.775, -2.4840636421903715], [101.95, -2.4466014745246736], [102.125, -2.409992776699314], [102.3, -2.3742125742343094], [102.475, -2.3392367722273235], [102.65, -2.3050421192401207], [102.825, -2.2716061728996317], [103.0, -2.238907267118815], [103.175, -2.206924480849324], [103.35, -2.1756376082830027], [103.525, -2.1450271304250195], [103.7, -2.115074187965687], [103.875, -2.0857605553830987], [104.05, -2.0570686162122698], [104.225, -2.028981339420893], [104.4, -2.0014822568348754], [104.575, -1.9745554415606625], [104.75, -1.9481854873539985], [104.925, -1.922357488887962], [105.1, -1.8970570228759256], [105.275, -1.8722701300069744], [105.45, -1.847983297654741], [105.625, -1.8241834433215984], [105.8, -1.8008578987832706], [105.975, -1.777994394900231], [106.15, -1.7555810470642472], [106.325, -1.7336063412501463], [106.5, -1.7120591206444744], [106.675, -1.69092857282426], [106.85, -1.670204217460304], [107.025, -1.6498758945209857], [107.2, -1.6299337529537274], [107.375, -1.6103682398223924], [107.55, -1.5911700898799643], [107.725, -1.5723303155571198], [107.9, -1.5538401973479758], [108.075, -1.5356912745754345], [108.25, -1.517875336519395], [108.425, -1.5003844138918268], [108.6, -1.4832107706435391], [108.775, -1.4663468960884105], [108.95, -1.449785497331007], [109.125, -1.4335194919848935], [109.3, -1.4175420011689424], [109.475, -1.401846342769908], [109.65, -1.386426024959948], [109.825, -1.3712747399583662], [110.0, -1.3563863580272253]];\n", | |
" this.ax = ax1;\n", | |
"\n", | |
" this.translate = function(d)\n", | |
" { return \"translate(\" + this.ax.x(d[0]) + \",\"\n", | |
" + this.ax.y(d[1]) + \")\"; };\n", | |
"\n", | |
" this.draw = function(){\n", | |
"\n", | |
" this.line = d3.svg.line()\n", | |
" .x(function(d) {return this.ax.x(d[0]);})\n", | |
" .y(function(d) {return this.ax.y(d[1]);})\n", | |
" .interpolate(\"linear\")\n", | |
" .defined(function (d) {return !isNaN(d[0]) && !isNaN(d[1]); });\n", | |
"\n", | |
" this.lineobj = this.ax.axes.append(\"svg:path\")\n", | |
" .attr(\"d\", this.line(this.data))\n", | |
" .attr('class', 'line8');\n", | |
"\n", | |
"\n", | |
" };\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
"\n", | |
" this.lineobj.attr(\"d\", this.line(this.data));\n", | |
"\n", | |
"\n", | |
"\n", | |
" }\n", | |
"};\n", | |
"\n", | |
"ax1.add_element(line5d7766351e354748927b9bab7bd11457);\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a text element\n", | |
"ax1.add_element(new function(){\n", | |
" this.position = [367.19999999999999, 27.599999999999994];\n", | |
" this.rotation = -0.0;\n", | |
" this.ax = ax1;\n", | |
" this.text = \"Frequency (GHz)\";\n", | |
"\n", | |
" this.draw = function(){\n", | |
"\n", | |
" this.obj = this.ax.fig.canvas.append(\"text\")\n", | |
" .attr(\"x\", this.position[0])\n", | |
" .attr(\"y\", this.ax.fig.height - this.position[1])\n", | |
"\n", | |
" .attr(\"transform\", \"rotate(\" + this.rotation + \",\"\n", | |
" + this.position[0] + \",\"\n", | |
" + (figheight - this.position[1]) + \")\")\n", | |
"\n", | |
"\n", | |
" .attr(\"class\", \"text\")\n", | |
" .text(this.text)\n", | |
" .attr(\"class\", \"textd8b7a13475f54368ac03172ea055f191\")\n", | |
" .attr(\"style\", \"text-anchor: middle;\" +\n", | |
" \"dominant-baseline: hanging\")\n", | |
"\n", | |
" }\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
" }\n", | |
"});\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a text element\n", | |
"ax1.add_element(new function(){\n", | |
" this.position = [42.337499999999984, 244.79999999999998];\n", | |
" this.rotation = -90.0;\n", | |
" this.ax = ax1;\n", | |
" this.text = \"Magnitude (dB)\";\n", | |
"\n", | |
" this.draw = function(){\n", | |
"\n", | |
" this.obj = this.ax.fig.canvas.append(\"text\")\n", | |
" .attr(\"x\", this.position[0])\n", | |
" .attr(\"y\", this.ax.fig.height - this.position[1])\n", | |
"\n", | |
" .attr(\"transform\", \"rotate(\" + this.rotation + \",\"\n", | |
" + this.position[0] + \",\"\n", | |
" + (figheight - this.position[1]) + \")\")\n", | |
"\n", | |
"\n", | |
" .attr(\"class\", \"text\")\n", | |
" .text(this.text)\n", | |
" .attr(\"class\", \"text53e92f55c2f643f7b94e38e05bfeb259\")\n", | |
" .attr(\"style\", \"text-anchor: middle;\" +\n", | |
" \"dominant-baseline: auto\")\n", | |
"\n", | |
" }\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
" }\n", | |
"});\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a text element\n", | |
"ax1.add_element(new function(){\n", | |
" this.position = [367.19999999999999, 440.33333333333331];\n", | |
" this.rotation = -0.0;\n", | |
" this.ax = ax1;\n", | |
" this.text = \"Ring Slot\";\n", | |
"\n", | |
" this.draw = function(){\n", | |
"\n", | |
" this.obj = this.ax.fig.canvas.append(\"text\")\n", | |
" .attr(\"x\", this.position[0])\n", | |
" .attr(\"y\", this.ax.fig.height - this.position[1])\n", | |
"\n", | |
" .attr(\"transform\", \"rotate(\" + this.rotation + \",\"\n", | |
" + this.position[0] + \",\"\n", | |
" + (figheight - this.position[1]) + \")\")\n", | |
"\n", | |
"\n", | |
" .attr(\"class\", \"text\")\n", | |
" .text(this.text)\n", | |
" .attr(\"class\", \"text33435faf2d6c4780aef21e9c10bed708\")\n", | |
" .attr(\"style\", \"text-anchor: middle;\" +\n", | |
" \"dominant-baseline: auto\")\n", | |
"\n", | |
" }\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
" }\n", | |
"});\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a Patch element\n", | |
"var patch15d70d397d0c4a79a8bf32fffeec9e20 = new function(){\n", | |
" this.data = [[\"M\", [100.22324608262107, -25.048621873636343]], [\"L\", [109.34561965811966, -25.048621873636343]], [\"S\", [109.53258547008548, -25.048621873636343, 109.53258547008548, -24.84541218968045]], [\"L\", [109.53258547008548, -18.85072651298161]], [\"S\", [109.53258547008548, -18.64751682902572, 109.34561965811966, -18.64751682902572]], [\"L\", [100.22324608262107, -18.64751682902572]], [\"S\", [100.03628027065527, -18.64751682902572, 100.03628027065527, -18.85072651298161]], [\"L\", [100.03628027065527, -24.84541218968045]], [\"S\", [100.03628027065527, -25.048621873636343, 100.22324608262107, -25.048621873636343]], [\"Z\", [100.22324608262107, -25.048621873636343]]];\n", | |
" this.ax = ax1;\n", | |
"\n", | |
" this.draw = function(){\n", | |
" this.patch = this.ax.axes.append(\"svg:path\")\n", | |
" .attr(\"d\", construct_SVG_path(this.data,\n", | |
" this.ax.x,\n", | |
" this.ax.y))\n", | |
" .attr(\"vector-effect\", \"non-scaling-stroke\")\n", | |
" .attr('class', 'patch15d70d397d0c4a79a8bf32fffeec9e20');\n", | |
" };\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
" };\n", | |
"};\n", | |
"\n", | |
"ax1.add_element(patch15d70d397d0c4a79a8bf32fffeec9e20);\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a Line2D element\n", | |
"var line462c07a7fba44a59aae771480fac1d88 = new function(){\n", | |
" this.data = [[100.69066061253561, -19.511157985838263], [101.99942129629629, -19.511157985838263]];\n", | |
" this.ax = ax1;\n", | |
"\n", | |
" this.translate = function(d)\n", | |
" { return \"translate(\" + this.ax.x(d[0]) + \",\"\n", | |
" + this.ax.y(d[1]) + \")\"; };\n", | |
"\n", | |
" this.draw = function(){\n", | |
"\n", | |
" this.line = d3.svg.line()\n", | |
" .x(function(d) {return this.ax.x(d[0]);})\n", | |
" .y(function(d) {return this.ax.y(d[1]);})\n", | |
" .interpolate(\"linear\")\n", | |
" .defined(function (d) {return !isNaN(d[0]) && !isNaN(d[1]); });\n", | |
"\n", | |
" this.lineobj = this.ax.axes.append(\"svg:path\")\n", | |
" .attr(\"d\", this.line(this.data))\n", | |
" .attr('class', 'line13');\n", | |
"\n", | |
"\n", | |
" };\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
" }\n", | |
"};\n", | |
"\n", | |
"ax1.add_element(line462c07a7fba44a59aae771480fac1d88);\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a Line2D element\n", | |
"var linebd007628a9a841bf9e5c14112594f837 = new function(){\n", | |
" this.data = [[100.69066061253561, -21.03523061550746], [101.99942129629629, -21.03523061550746]];\n", | |
" this.ax = ax1;\n", | |
"\n", | |
" this.translate = function(d)\n", | |
" { return \"translate(\" + this.ax.x(d[0]) + \",\"\n", | |
" + this.ax.y(d[1]) + \")\"; };\n", | |
"\n", | |
" this.draw = function(){\n", | |
"\n", | |
" this.line = d3.svg.line()\n", | |
" .x(function(d) {return this.ax.x(d[0]);})\n", | |
" .y(function(d) {return this.ax.y(d[1]);})\n", | |
" .interpolate(\"linear\")\n", | |
" .defined(function (d) {return !isNaN(d[0]) && !isNaN(d[1]); });\n", | |
"\n", | |
" this.lineobj = this.ax.axes.append(\"svg:path\")\n", | |
" .attr(\"d\", this.line(this.data))\n", | |
" .attr('class', 'line14');\n", | |
"\n", | |
"\n", | |
" };\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
" }\n", | |
"};\n", | |
"\n", | |
"ax1.add_element(linebd007628a9a841bf9e5c14112594f837);\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a Line2D element\n", | |
"var line539d22b4301a48c896c9a4b9c62ee390 = new function(){\n", | |
" this.data = [[100.69066061253561, -22.559303245176654], [101.99942129629629, -22.559303245176654]];\n", | |
" this.ax = ax1;\n", | |
"\n", | |
" this.translate = function(d)\n", | |
" { return \"translate(\" + this.ax.x(d[0]) + \",\"\n", | |
" + this.ax.y(d[1]) + \")\"; };\n", | |
"\n", | |
" this.draw = function(){\n", | |
"\n", | |
" this.line = d3.svg.line()\n", | |
" .x(function(d) {return this.ax.x(d[0]);})\n", | |
" .y(function(d) {return this.ax.y(d[1]);})\n", | |
" .interpolate(\"linear\")\n", | |
" .defined(function (d) {return !isNaN(d[0]) && !isNaN(d[1]); });\n", | |
"\n", | |
" this.lineobj = this.ax.axes.append(\"svg:path\")\n", | |
" .attr(\"d\", this.line(this.data))\n", | |
" .attr('class', 'line15');\n", | |
"\n", | |
"\n", | |
" };\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
" }\n", | |
"};\n", | |
"\n", | |
"ax1.add_element(line539d22b4301a48c896c9a4b9c62ee390);\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a Line2D element\n", | |
"var line7658e21901474b11a63d643ad76826c1 = new function(){\n", | |
" this.data = [[100.69066061253561, -24.083375874845853], [101.99942129629629, -24.083375874845853]];\n", | |
" this.ax = ax1;\n", | |
"\n", | |
" this.translate = function(d)\n", | |
" { return \"translate(\" + this.ax.x(d[0]) + \",\"\n", | |
" + this.ax.y(d[1]) + \")\"; };\n", | |
"\n", | |
" this.draw = function(){\n", | |
"\n", | |
" this.line = d3.svg.line()\n", | |
" .x(function(d) {return this.ax.x(d[0]);})\n", | |
" .y(function(d) {return this.ax.y(d[1]);})\n", | |
" .interpolate(\"linear\")\n", | |
" .defined(function (d) {return !isNaN(d[0]) && !isNaN(d[1]); });\n", | |
"\n", | |
" this.lineobj = this.ax.axes.append(\"svg:path\")\n", | |
" .attr(\"d\", this.line(this.data))\n", | |
" .attr('class', 'line16');\n", | |
"\n", | |
"\n", | |
" };\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
" }\n", | |
"};\n", | |
"\n", | |
"ax1.add_element(line7658e21901474b11a63d643ad76826c1);\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a text element\n", | |
"ax1.add_element(new function(){\n", | |
" this.position = [536.125, 141.59999999999999];\n", | |
" this.rotation = -0.0;\n", | |
" this.ax = ax1;\n", | |
" this.text = \"ring slot, S11\";\n", | |
"\n", | |
" this.draw = function(){\n", | |
"\n", | |
" this.obj = this.ax.fig.canvas.append(\"text\")\n", | |
" .attr(\"x\", this.position[0])\n", | |
" .attr(\"y\", this.ax.fig.height - this.position[1])\n", | |
"\n", | |
" .attr(\"transform\", \"rotate(\" + this.rotation + \",\"\n", | |
" + this.position[0] + \",\"\n", | |
" + (figheight - this.position[1]) + \")\")\n", | |
"\n", | |
"\n", | |
" .attr(\"class\", \"text\")\n", | |
" .text(this.text)\n", | |
" .attr(\"class\", \"texta1c3762b6a2b48e680ade8b38ff1b5ad\")\n", | |
" .attr(\"style\", \"text-anchor: start;\" +\n", | |
" \"dominant-baseline: auto\")\n", | |
"\n", | |
" }\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
" }\n", | |
"});\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a text element\n", | |
"ax1.add_element(new function(){\n", | |
" this.position = [536.125, 119.09999999999999];\n", | |
" this.rotation = -0.0;\n", | |
" this.ax = ax1;\n", | |
" this.text = \"ring slot, S12\";\n", | |
"\n", | |
" this.draw = function(){\n", | |
"\n", | |
" this.obj = this.ax.fig.canvas.append(\"text\")\n", | |
" .attr(\"x\", this.position[0])\n", | |
" .attr(\"y\", this.ax.fig.height - this.position[1])\n", | |
"\n", | |
" .attr(\"transform\", \"rotate(\" + this.rotation + \",\"\n", | |
" + this.position[0] + \",\"\n", | |
" + (figheight - this.position[1]) + \")\")\n", | |
"\n", | |
"\n", | |
" .attr(\"class\", \"text\")\n", | |
" .text(this.text)\n", | |
" .attr(\"class\", \"text7b108547d7724218a7c9919751634a36\")\n", | |
" .attr(\"style\", \"text-anchor: start;\" +\n", | |
" \"dominant-baseline: auto\")\n", | |
"\n", | |
" }\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
" }\n", | |
"});\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a text element\n", | |
"ax1.add_element(new function(){\n", | |
" this.position = [536.125, 96.599999999999994];\n", | |
" this.rotation = -0.0;\n", | |
" this.ax = ax1;\n", | |
" this.text = \"ring slot, S21\";\n", | |
"\n", | |
" this.draw = function(){\n", | |
"\n", | |
" this.obj = this.ax.fig.canvas.append(\"text\")\n", | |
" .attr(\"x\", this.position[0])\n", | |
" .attr(\"y\", this.ax.fig.height - this.position[1])\n", | |
"\n", | |
" .attr(\"transform\", \"rotate(\" + this.rotation + \",\"\n", | |
" + this.position[0] + \",\"\n", | |
" + (figheight - this.position[1]) + \")\")\n", | |
"\n", | |
"\n", | |
" .attr(\"class\", \"text\")\n", | |
" .text(this.text)\n", | |
" .attr(\"class\", \"textd8addb4360bf474985d532735ee846c9\")\n", | |
" .attr(\"style\", \"text-anchor: start;\" +\n", | |
" \"dominant-baseline: auto\")\n", | |
"\n", | |
" }\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
" }\n", | |
"});\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a text element\n", | |
"ax1.add_element(new function(){\n", | |
" this.position = [536.125, 74.099999999999994];\n", | |
" this.rotation = -0.0;\n", | |
" this.ax = ax1;\n", | |
" this.text = \"ring slot, S22\";\n", | |
"\n", | |
" this.draw = function(){\n", | |
"\n", | |
" this.obj = this.ax.fig.canvas.append(\"text\")\n", | |
" .attr(\"x\", this.position[0])\n", | |
" .attr(\"y\", this.ax.fig.height - this.position[1])\n", | |
"\n", | |
" .attr(\"transform\", \"rotate(\" + this.rotation + \",\"\n", | |
" + this.position[0] + \",\"\n", | |
" + (figheight - this.position[1]) + \")\")\n", | |
"\n", | |
"\n", | |
" .attr(\"class\", \"text\")\n", | |
" .text(this.text)\n", | |
" .attr(\"class\", \"textcca6d1c6c4e64b2d9843ab3c7d906a60\")\n", | |
" .attr(\"style\", \"text-anchor: start;\" +\n", | |
" \"dominant-baseline: auto\")\n", | |
"\n", | |
" }\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
" }\n", | |
"});\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
" fig.draw();\n", | |
"\n", | |
"\n", | |
"\n", | |
" return fig\n", | |
" }\n", | |
"\n", | |
" // set a timeout of 0: this makes things work in the IPython notebook\n", | |
" setTimeout(function(){\n", | |
" // we need to call the function, making sure d3 is defined appropriately\n", | |
" if(typeof define === \"function\" && define.amd){\n", | |
" // If require.js is available, use it to load d3\n", | |
" require.config({paths: {d3: \"http://d3js.org/d3.v3.min\"}});\n", | |
" require([\"d3\"], create_figb12c942df0d342b98fdec55a6aefdfed);\n", | |
" }else if(typeof d3 === \"undefined\"){\n", | |
" // No require.js: dynamically load d3\n", | |
" var s = document.createElement('script');\n", | |
" s.src = \"http://d3js.org/d3.v3.min.js\";\n", | |
" s.async = true;\n", | |
" s.onreadystatechange = s.onload = s.onerror = function() {\n", | |
" if(typeof d3 === \"undefined\"){\n", | |
" document.getElementById(\"figureb12c942df0d342b98fdec55a6aefdfed\").innerHTML =\n", | |
" \"<p style='color:red;'>(d3 failed to load)</p>\";\n", | |
" }else{\n", | |
" create_figb12c942df0d342b98fdec55a6aefdfed(d3);\n", | |
" }\n", | |
" };\n", | |
" document.getElementsByTagName(\"head\")[0].appendChild(s);\n", | |
" }else{\n", | |
" // d3 is already globally loaded\n", | |
" create_figb12c942df0d342b98fdec55a6aefdfed(d3);\n", | |
" }\n", | |
" }, 0);\n", | |
"\n", | |
" </script>\n", | |
"\n", | |
"\n", | |
"\n" | |
], | |
"metadata": {}, | |
"output_type": "pyout", | |
"prompt_number": 35, | |
"text": [ | |
"<IPython.core.display.HTML at 0xb8e5250>" | |
] | |
} | |
], | |
"prompt_number": 35 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [ | |
"\n", | |
"rcParams['axes.titlesize'] = 26\n", | |
"rcParams['axes.labelsize'] = 20\n", | |
"rcParams['savefig.dpi'] = 600\n", | |
"ring_slot.plot_s_db(title= 'Ring Slot')\n", | |
"display_d3()" | |
], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"stream": "stderr", | |
"text": [ | |
"/usr/local/lib/python2.7/dist-packages/mpld3-0.0.2-py2.7.egg/mpld3/_objects.py:414: UserWarning: Ignoring legend element: <matplotlib.offsetbox.VPacker object at 0xb8d2190>\n" | |
] | |
}, | |
{ | |
"html": [ | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
" <style>\n", | |
"\n", | |
"\n", | |
" div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
" .axesbg{\n", | |
" fill: #E5E5E5;\n", | |
" }\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
".axis line, .axis path {\n", | |
" shape-rendering: crispEdges;\n", | |
" stroke: black;\n", | |
" fill: none;\n", | |
"}\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
".axis text {\n", | |
" font-family: sans-serif;\n", | |
" font-size: 9.0px;\n", | |
" fill: black;\n", | |
" stroke: none;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
".axis line, .axis path {\n", | |
" shape-rendering: crispEdges;\n", | |
" stroke: black;\n", | |
" fill: none;\n", | |
"}\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
".axis text {\n", | |
" font-family: sans-serif;\n", | |
" font-size: 9.0px;\n", | |
" fill: black;\n", | |
" stroke: none;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
".grid .tick {\n", | |
" stroke: #FFFFFF;\n", | |
" stroke-dasharray: 10,0;\n", | |
" stroke-opacity: 1.0;\n", | |
"}\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
".grid path {\n", | |
" stroke-width: 0;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
".grid .tick {\n", | |
" stroke: #FFFFFF;\n", | |
" stroke-dasharray: 10,0;\n", | |
" stroke-opacity: 1.0;\n", | |
"}\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
".grid path {\n", | |
" stroke-width: 0;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
".axes1\n", | |
"path.line5 {\n", | |
" stroke: #348ABD;\n", | |
" stroke-width: 1.0;\n", | |
" stroke-dasharray: 10,0;\n", | |
" fill: none;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
".axes1\n", | |
"path.points5 {\n", | |
" stroke-width: 0.5;\n", | |
" stroke: #348ABD;\n", | |
" fill: #348ABD;\n", | |
" fill-opacity: 1;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
".axes1\n", | |
"path.line6 {\n", | |
" stroke: #B74331;\n", | |
" stroke-width: 1.0;\n", | |
" stroke-dasharray: 10,0;\n", | |
" fill: none;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
".axes1\n", | |
"path.points6 {\n", | |
" stroke-width: 0.5;\n", | |
" stroke: #B74331;\n", | |
" fill: #B74331;\n", | |
" fill-opacity: 1;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
".axes1\n", | |
"path.line7 {\n", | |
" stroke: #8EBA42;\n", | |
" stroke-width: 1.0;\n", | |
" stroke-dasharray: 10,0;\n", | |
" fill: none;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
".axes1\n", | |
"path.points7 {\n", | |
" stroke-width: 0.5;\n", | |
" stroke: #8EBA42;\n", | |
" fill: #8EBA42;\n", | |
" fill-opacity: 1;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
".axes1\n", | |
"path.line8 {\n", | |
" stroke: #FBC15E;\n", | |
" stroke-width: 1.0;\n", | |
" stroke-dasharray: 10,0;\n", | |
" fill: none;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
".axes1\n", | |
"path.points8 {\n", | |
" stroke-width: 0.5;\n", | |
" stroke: #FBC15E;\n", | |
" fill: #FBC15E;\n", | |
" fill-opacity: 1;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
"text.textfe35d919d6614072807778ac66be123f {\n", | |
" font-size : 20.0px;\n", | |
" fill : #555555;\n", | |
" opacity : 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
"text.textbadcc14d3ba94dd883f61fcf6e77a225 {\n", | |
" font-size : 20.0px;\n", | |
" fill : #555555;\n", | |
" opacity : 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
"text.text55441ecffa144b749b9d48e36c19fff9 {\n", | |
" font-size : 26.0px;\n", | |
" fill : #000000;\n", | |
" opacity : 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
".axes1\n", | |
"path.patch98145e2e5e6049ce8224b1fbb4729307 {\n", | |
" stroke: #FFFFFF;\n", | |
" stroke-width: 0.5;\n", | |
" stroke-dasharray: 10,0;\n", | |
" fill: #E5E5E5;\n", | |
" stroke-opacity: 1;\n", | |
" fill-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
".axes1\n", | |
"path.line13 {\n", | |
" stroke: #348ABD;\n", | |
" stroke-width: 1.0;\n", | |
" stroke-dasharray: 10,0;\n", | |
" fill: none;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
".axes1\n", | |
"path.points13 {\n", | |
" stroke-width: 0.5;\n", | |
" stroke: #348ABD;\n", | |
" fill: #348ABD;\n", | |
" fill-opacity: 1;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
".axes1\n", | |
"path.line14 {\n", | |
" stroke: #B74331;\n", | |
" stroke-width: 1.0;\n", | |
" stroke-dasharray: 10,0;\n", | |
" fill: none;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
".axes1\n", | |
"path.points14 {\n", | |
" stroke-width: 0.5;\n", | |
" stroke: #B74331;\n", | |
" fill: #B74331;\n", | |
" fill-opacity: 1;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
".axes1\n", | |
"path.line15 {\n", | |
" stroke: #8EBA42;\n", | |
" stroke-width: 1.0;\n", | |
" stroke-dasharray: 10,0;\n", | |
" fill: none;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
".axes1\n", | |
"path.points15 {\n", | |
" stroke-width: 0.5;\n", | |
" stroke: #8EBA42;\n", | |
" fill: #8EBA42;\n", | |
" fill-opacity: 1;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
".axes1\n", | |
"path.line16 {\n", | |
" stroke: #FBC15E;\n", | |
" stroke-width: 1.0;\n", | |
" stroke-dasharray: 10,0;\n", | |
" fill: none;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
".axes1\n", | |
"path.points16 {\n", | |
" stroke-width: 0.5;\n", | |
" stroke: #FBC15E;\n", | |
" fill: #FBC15E;\n", | |
" fill-opacity: 1;\n", | |
" stroke-opacity: 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
"text.texta0c2067878c049a995430e5d98407f4c {\n", | |
" font-size : 9.0px;\n", | |
" fill : #000000;\n", | |
" opacity : 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
"text.texte0a11ca016ac4ffcb611bf46c5a4ea7b {\n", | |
" font-size : 9.0px;\n", | |
" fill : #000000;\n", | |
" opacity : 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
"text.textbcbf7ef38ae64c8a98e91bb26261b4a8 {\n", | |
" font-size : 9.0px;\n", | |
" fill : #000000;\n", | |
" opacity : 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"div#figuref0bc05ea63ba4de18ac12a0882353add\n", | |
"text.text5ed73fc4984749d08341978468f06001 {\n", | |
" font-size : 9.0px;\n", | |
" fill : #000000;\n", | |
" opacity : 1;\n", | |
"}\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
" </style>\n", | |
"\n", | |
"\n", | |
"\n", | |
" <div id='figuref0bc05ea63ba4de18ac12a0882353add'>\n", | |
" </div>\n", | |
" <script type=\"text/javascript\">\n", | |
" var create_figf0bc05ea63ba4de18ac12a0882353add = function(d3, undefined){\n", | |
"\n", | |
"\n", | |
" function Figure(figid, width, height){\n", | |
" this.figid = figid;\n", | |
" this.root = d3.select(figid);\n", | |
" this.width = width;\n", | |
" this.height = height;\n", | |
" this.axes = [];\n", | |
" }\n", | |
"\n", | |
" Figure.prototype.draw = function(){\n", | |
" this.canvas = this.root.append('svg:svg')\n", | |
" .attr('class', 'figure')\n", | |
" .attr('width', this.width)\n", | |
" .attr('height', this.height);\n", | |
" for (var i=0; i<this.axes.length; i++){\n", | |
" this.axes[i].draw();\n", | |
" }\n", | |
" };\n", | |
"\n", | |
" Figure.prototype.reset = function(duration){\n", | |
" duration = (typeof duration !== 'undefined') ? duration : 750;\n", | |
" for (var i=0; i<this.axes.length; i++){\n", | |
" this.axes[i].prep_reset();\n", | |
" }\n", | |
"\n", | |
" var transition = function(t){\n", | |
" for (var i=0; i<this.axes.length; i++){\n", | |
" this.axes[i].xdom(this.axes[i].xdom.domain(this.axes[i].ix(t)));\n", | |
" this.axes[i].ydom(this.axes[i].ydom.domain(this.axes[i].iy(t)));\n", | |
"\n", | |
" // don't propagate: this will be done as part of the loop.\n", | |
" this.axes[i].zoomed(false);\n", | |
" }\n", | |
" }.bind(this)\n", | |
"\n", | |
" d3.transition().duration(duration)\n", | |
" .tween(\"zoom\", function(){return transition;});\n", | |
"\n", | |
" for (var i=0; i<this.axes.length; i++){\n", | |
" this.axes[i].finalize_reset();\n", | |
" }\n", | |
" };\n", | |
"\n", | |
"\n", | |
"\n", | |
" function Axes(fig, bbox,\n", | |
" xlim, ylim,\n", | |
" xscale, yscale,\n", | |
" xdomain, ydomain,\n", | |
" xgridOn, ygridOn,\n", | |
" axclass, clipid,\n", | |
" zoomable){\n", | |
" this.axnum = fig.axes.length;\n", | |
" fig.axes.push(this);\n", | |
"\n", | |
" this.fig = fig;\n", | |
" this.bbox = bbox;\n", | |
" this.xlim = xlim;\n", | |
" this.ylim = ylim;\n", | |
" this.xdomain = xdomain;\n", | |
" this.ydomain = ydomain;\n", | |
" this.xscale = xscale;\n", | |
" this.yscale = yscale;\n", | |
" this.xgridOn = xgridOn;\n", | |
" this.ygridOn = ygridOn;\n", | |
" this.axclass = (typeof axclass !== 'undefined') ? axclass : \"axes\";\n", | |
" this.clipid = (typeof clipid != 'undefined') ? clipid : \"clip\";\n", | |
" this.zoomable = zoomable;\n", | |
"\n", | |
" this.sharex = [];\n", | |
" this.sharey = [];\n", | |
" this.elements = [];\n", | |
"\n", | |
" this.position = [this.bbox[0] * this.fig.width,\n", | |
" (1 - this.bbox[1] - this.bbox[3]) * this.fig.height];\n", | |
" this.width = bbox[2] * this.fig.width;\n", | |
" this.height = bbox[3] * this.fig.height;\n", | |
"\n", | |
" if(this.xscale === 'log'){\n", | |
" this.xdom = d3.scale.log();\n", | |
" }else if(this.xscale === 'date'){\n", | |
" this.xdom = d3.time.scale();\n", | |
" }else{\n", | |
" this.xdom = d3.scale.linear();\n", | |
" }\n", | |
"\n", | |
" if(this.yscale === 'log'){\n", | |
" this.ydom = d3.scale.log();\n", | |
" }else if(this.yscale === 'date'){\n", | |
" this.ydom = d3.time.scale();\n", | |
" }else{\n", | |
" this.ydom = d3.scale.linear();\n", | |
" }\n", | |
"\n", | |
" this.xdom.domain(this.xdomain)\n", | |
" .range([0, this.width]);\n", | |
"\n", | |
" this.ydom.domain(this.ydomain)\n", | |
" .range([this.height, 0]);\n", | |
"\n", | |
" if(this.xscale === 'date'){\n", | |
" this.xmap = d3.time.scale()\n", | |
" .domain(this.xdomain)\n", | |
" .range(this.xlim);\n", | |
" this.x = function(x){return this.xdom(this.xmap.invert(x));}\n", | |
" }else if(this.xscale === 'log'){\n", | |
" this.xmap = this.xdom;\n", | |
" this.x = this.xdom;\n", | |
" }else{\n", | |
" this.xmap = this.xdom;\n", | |
" this.x = this.xdom;\n", | |
" }\n", | |
"\n", | |
" if(this.yscale === 'date'){\n", | |
" this.ymap = d3.time.scale()\n", | |
" .domain(this.ydomain)\n", | |
" .range(this.ylim);\n", | |
" this.y = function(y){return this.ydom(this.ymap.invert(y));}\n", | |
" }else if(this.xscale === 'log'){\n", | |
" this.ymap = this.ydom;\n", | |
" this.y = this.ydom;\n", | |
" }else{\n", | |
" this.ymap = this.ydom;\n", | |
" this.y = this.ydom;\n", | |
" }\n", | |
" }\n", | |
"\n", | |
" Axes.prototype.draw = function(){\n", | |
" this.zoom = d3.behavior.zoom()\n", | |
" .x(this.xdom)\n", | |
" .y(this.ydom)\n", | |
" .on(\"zoom\", this.zoomed.bind(this));\n", | |
"\n", | |
" this.baseaxes = this.fig.canvas.append(\"g\")\n", | |
" .attr('transform', 'translate('\n", | |
" + this.position[0] + ','\n", | |
" + this.position[1] + ')')\n", | |
" .attr('width', this.width)\n", | |
" .attr('height', this.height)\n", | |
" .attr('class', \"baseaxes\");\n", | |
"\n", | |
" if(this.zoomable){\n", | |
" this.baseaxes.call(this.zoom);\n", | |
" }\n", | |
"\n", | |
" this.axesbg = this.baseaxes.append(\"svg:rect\")\n", | |
" .attr(\"width\", this.width)\n", | |
" .attr(\"height\", this.height)\n", | |
" .attr(\"class\", \"axesbg\");\n", | |
"\n", | |
" this.clip = this.baseaxes.append(\"svg:clipPath\")\n", | |
" .attr(\"id\", this.clipid)\n", | |
" .append(\"svg:rect\")\n", | |
" .attr(\"x\", 0)\n", | |
" .attr(\"y\", 0)\n", | |
" .attr(\"width\", this.width)\n", | |
" .attr(\"height\", this.height)\n", | |
"\n", | |
" this.axes = this.baseaxes.append(\"g\")\n", | |
" .attr(\"class\", this.axclass)\n", | |
" .attr(\"clip-path\", \"url(#\" + this.clipid + \")\");\n", | |
"\n", | |
" for(var i=0; i<this.elements.length; i++){\n", | |
" this.elements[i].draw();\n", | |
" }\n", | |
" };\n", | |
"\n", | |
" Axes.prototype.zoomed = function(propagate){\n", | |
" // propagate is a boolean specifying whether to propagate movements\n", | |
" // to shared axes, specified by sharex and sharey. Default is true.\n", | |
" propagate = (typeof propagate == 'undefined') ? true : propagate;\n", | |
"\n", | |
" //console.log(this.zoom.translate());\n", | |
" //console.log(this.zoom.scale());\n", | |
" //console.log(this.zoom.x().domain());\n", | |
" //console.log(this.zoom.y().domain());\n", | |
"\n", | |
" for(var i=0; i<this.elements.length; i++){\n", | |
" this.elements[i].zoomed();\n", | |
" }\n", | |
"\n", | |
" if(propagate){\n", | |
" // update shared x axes\n", | |
" for(var i=0; i<this.sharex.length; i++){\n", | |
" this.sharex[i].zoom.x().domain(this.zoom.x().domain());\n", | |
" this.sharex[i].zoomed(false);\n", | |
" }\n", | |
" // update shared y axes\n", | |
" for(var i=0; i<this.sharey.length; i++){\n", | |
" this.sharey[i].zoom.y().domain(this.zoom.y().domain());\n", | |
" this.sharey[i].zoomed(false);\n", | |
" }\n", | |
" }\n", | |
" };\n", | |
"\n", | |
" Axes.prototype.add_element = function(element){\n", | |
" this.elements.push(element);\n", | |
" };\n", | |
"\n", | |
" Axes.prototype.prep_reset = function(){\n", | |
" // interpolate() does not work on dates, so we map dates to numbers,\n", | |
" // interpolate the numbers, and then invert the map.\n", | |
" // we use the same strategy for log, so the interpolation will be smooth.\n", | |
" // There probably is a cleaner approach...\n", | |
"\n", | |
" if (this.xscale === 'date'){\n", | |
" var start = this.xdom.domain();\n", | |
" var end = this.xdomain;\n", | |
" var interp = d3.interpolate(\n", | |
" [this.xmap(start[0]), this.xmap(start[1])],\n", | |
" [this.xmap(end[0]), this.xmap(end[1])]);\n", | |
" this.ix = function(t){\n", | |
" return [this.xmap.invert(interp(t)[0]),\n", | |
" this.xmap.invert(interp(t)[1])];\n", | |
" }\n", | |
" }else{\n", | |
" this.ix = d3.interpolate(this.xdom.domain(), this.xlim);\n", | |
" }\n", | |
"\n", | |
" if (this.yscale === 'date'){\n", | |
" var start = this.ydom.domain();\n", | |
" var end = this.ydomain;\n", | |
" var interp = d3.interpolate(\n", | |
" [this.ymap(start[0]), this.ymap(start[1])],\n", | |
" [this.ymap(end[0]), this.ymap(end[1])]);\n", | |
" this.iy = function(t){\n", | |
" return [this.ymap.invert(interp(t)[0]),\n", | |
" this.ymap.invert(interp(t)[1])];\n", | |
" }\n", | |
" }else{\n", | |
" this.iy = d3.interpolate(this.ydom.domain(), this.ylim);\n", | |
" }\n", | |
" }\n", | |
"\n", | |
" Axes.prototype.finalize_reset = function(){\n", | |
" this.zoom.scale(1).translate([0, 0]);\n", | |
" }\n", | |
"\n", | |
" Axes.prototype.reset = function(){\n", | |
" this.prep_reset();\n", | |
" d3.transition().duration(750).tween(\"zoom\", function() {\n", | |
" return function(t) {\n", | |
" this.zoom.x(this.xdom.domain(this.ix(t)))\n", | |
" .y(this.ydom.domain(this.iy(t)));\n", | |
" this.zoomed();\n", | |
" };\n", | |
" });\n", | |
" this.finalize_reset();\n", | |
" };\n", | |
"\n", | |
"\n", | |
"\n", | |
" function Axis(axes, position, nticks, tickvalues, tickformat){\n", | |
" this.axes = axes;\n", | |
" this.position = position;\n", | |
" this.nticks = nticks;\n", | |
" this.tickvalues = tickvalues;\n", | |
" this.tickformat = tickformat;\n", | |
" if (position == \"bottom\"){\n", | |
" this.transform = \"translate(0,\" + this.axes.height + \")\";\n", | |
" this.scale = this.axes.xdom;\n", | |
" this.class = \"x axis\";\n", | |
" }else if (position == \"top\"){\n", | |
" this.transform = \"translate(0,0)\"\n", | |
" this.scale = this.axes.xdom;\n", | |
" this.class = \"x axis\";\n", | |
" }else if (position == \"left\"){\n", | |
" this.transform = \"translate(0,0)\";\n", | |
" this.scale = this.axes.ydom;\n", | |
" this.class = \"y axis\";\n", | |
" }else{\n", | |
" this.transform = \"translate(\" + this.axes.width + \",0)\";\n", | |
" this.scale = this.axes.ydom;\n", | |
" this.class = \"y axis\";\n", | |
" }\n", | |
" }\n", | |
"\n", | |
" Axis.prototype.draw = function(){\n", | |
" this.axis = d3.svg.axis()\n", | |
" .scale(this.scale)\n", | |
" .orient(this.position)\n", | |
" .ticks(this.nticks)\n", | |
" .tickValues(this.tickvalues)\n", | |
" .tickFormat(this.tickformat);\n", | |
" this.elem = this.axes.baseaxes.append('g')\n", | |
" .attr(\"transform\", this.transform)\n", | |
" .attr(\"class\", this.class)\n", | |
" .call(this.axis);\n", | |
" };\n", | |
"\n", | |
" Axis.prototype.zoomed = function(){\n", | |
" this.elem.call(this.axis);\n", | |
" };\n", | |
"\n", | |
"\n", | |
"\n", | |
" function Grid(axes, xy){\n", | |
" this.axes = axes;\n", | |
" this.class = xy + \" grid\"\n", | |
" if(xy == \"x\"){\n", | |
" this.transform = \"translate(0,\" + this.axes.height + \")\";\n", | |
" this.position = \"bottom\";\n", | |
" this.scale = this.axes.xdom;\n", | |
" this.tickSize = -this.axes.height;\n", | |
" }else{\n", | |
" this.transform = \"translate(0,0)\";\n", | |
" this.position = \"left\";\n", | |
" this.scale = this.axes.ydom;\n", | |
" this.tickSize = -this.axes.width;\n", | |
" }\n", | |
" }\n", | |
"\n", | |
" Grid.prototype.draw = function(){\n", | |
" this.grid = d3.svg.axis()\n", | |
" .scale(this.scale)\n", | |
" .orient(this.position)\n", | |
" .tickSize(this.tickSize, 0, 0)\n", | |
" .tickFormat(\"\");\n", | |
" this.elem = this.axes.axes.append(\"g\")\n", | |
" .attr(\"class\", this.class)\n", | |
" .attr(\"transform\", this.transform)\n", | |
" .call(this.grid);\n", | |
" };\n", | |
"\n", | |
" Grid.prototype.zoomed = function(){\n", | |
" this.elem.call(this.grid);\n", | |
" };\n", | |
"\n", | |
"\n", | |
"\n", | |
" // This function constructs a mapped SVG path\n", | |
" // from an input data array\n", | |
" var construct_SVG_path = function(data, xmap, ymap){\n", | |
" xmap = (typeof xmap !== 'undefined') ? xmap : function(x){return x;};\n", | |
" ymap = (typeof ymap !== 'undefined') ? ymap : function(y){return y;};\n", | |
" var result = \"\";\n", | |
" for (var i=0;i<data.length;i++){\n", | |
" result += data[i][0];\n", | |
" if(data[i][0] == 'Z'){\n", | |
" continue;\n", | |
" }\n", | |
" for (var j=0;j<data[i][1].length;j++){\n", | |
" if(j % 2 == 0){\n", | |
" result += \" \" + xmap(data[i][1][j]);\n", | |
" }else{\n", | |
" result += \" \" + ymap(data[i][1][j]);\n", | |
" }\n", | |
" }\n", | |
" result += \" \";\n", | |
" }\n", | |
" return result;\n", | |
" };\n", | |
"\n", | |
"\n", | |
" var figwidth = 6.0 * 120.0;\n", | |
" var figheight = 4.0 * 120.0;\n", | |
" var fig = new Figure(\"div#figuref0bc05ea63ba4de18ac12a0882353add\",\n", | |
" figwidth, figheight);\n", | |
"\n", | |
"\n", | |
"\n", | |
" var ax1 = new Axes(fig, [0.12, 0.12, 0.78000000000000003, 0.78000000000000003], [75.0, 110.0], [-25.556646083526079, -0.1960775258306485],\n", | |
" \"linear\", \"linear\",\n", | |
" [75.0, 110.0], [-25.556646083526079, -0.1960775258306485],\n", | |
" true, true,\n", | |
" \"axes1\",\n", | |
" \"clipf0bc05ea63ba4de18ac12a0882353add1\", true);\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add an Axis element\n", | |
"ax1.add_element(new Axis(ax1, \"bottom\",\n", | |
" 8, null,\n", | |
" null));\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add an Axis element\n", | |
"ax1.add_element(new Axis(ax1, \"left\",\n", | |
" 7, null,\n", | |
" null));\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a Grid element\n", | |
"ax1.add_element(new Grid(ax1, \"x\"));\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a Grid element\n", | |
"ax1.add_element(new Grid(ax1, \"y\"));\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a Line2D element\n", | |
"var linebb709f2205ef42fab42ebfde7f70f72c = new function(){\n", | |
" this.data = [[75.0, -3.340824830245869], [75.175, -3.422216702574662], [75.35, -3.5061300699168423], [75.525, -3.5926591261889462], [75.7, -3.6819022446717287], [75.875, -3.7739622082623434], [76.05, -3.868946456643385], [76.225, -3.9669673520212445], [76.4, -4.068142465281051], [76.575, -4.172594884624509], [76.75, -4.280453549005821], [76.925, -4.3918536089608535], [77.1, -4.506936817741849], [77.275, -4.625851956028465], [77.45, -4.7487552938911985], [77.625, -4.875811094141537], [77.8, -5.0071921617212825], [77.975, -5.143080444368927], [78.15, -5.283667690461957], [78.325, -5.4291561706791445], [78.5, -5.579759470965795], [78.675, -5.735703365227035], [78.85, -5.897226777228719], [79.025, -6.064582842359286], [79.2, -6.2380400812071715], [79.375, -6.417883698334518], [79.55, -6.604417021176149], [79.725, -6.797963095641761], [79.9, -6.9988664567135705], [80.075, -7.207495094043508], [80.25, -7.424242634150517], [80.425, -7.649530762121662], [80.6, -7.883811906442695], [80.775, -8.127572210286452], [80.95, -8.381334810590605], [81.125, -8.64566344152189], [81.3, -8.921166369871695], [81.475, -9.208500654144498], [81.65, -9.508376692910385], [81.825, -9.821562985777026], [82.0, -10.148890963483826], [82.175, -10.49125963888892], [82.35, -10.849639667565858], [82.525, -11.225076153663803], [82.7, -11.61868914434853], [82.875, -12.031670147713932], [83.05, -12.465272064723152], [83.225, -12.920788459056203], [83.4, -13.399515811810092], [83.575, -13.902688883592306], [83.75, -14.431373892154141], [83.925, -14.986296025086903], [84.1, -15.567565793568257], [84.275, -16.17425212219452], [84.45, -16.80372982246119], [84.625, -17.450711780855798], [84.8, -18.10588275996923], [84.975, -18.75413343749401], [85.15, -19.372648313504488], [85.325, -19.929649024416033], [85.5, -20.385393732364562], [85.675, -20.697445286335217], [85.85, -20.830800113811886], [86.025, -20.769489863814215], [86.2, -20.522795736224204], [86.375, -20.121561118893432], [86.55, -19.607341493734825], [86.725, -19.021334443418297], [86.9, -18.39771568060051], [87.075, -17.761661462189238], [87.25, -17.130182051706697], [87.425, -16.51396563674342], [87.6, -15.919226351205204], [87.775, -15.34918609602272], [87.95, -14.8051443901218], [88.125, -14.287207698601565], [88.3, -13.794769928345287], [88.475, -13.326821979734527], [88.65, -12.882147752414667], [88.825, -12.45944616753376], [89.0, -12.057405543208686], [89.175, -11.674747532708452], [89.35, -11.3102517608376], [89.525, -10.96276832731097], [89.7, -10.631222779437346], [89.875, -10.31461650245127], [90.05, -10.012024410954808], [90.225, -9.722591139010513], [90.4, -9.445526484210182], [90.575, -9.180100575807945], [90.75, -8.925639053136067], [90.925, -8.681518422290209], [91.1, -8.447161683440953], [91.275, -8.222034273200611], [91.45, -8.005640336564639], [91.625, -7.797519324747664], [91.8, -7.59724290461525], [91.975, -7.404412159672464], [92.15, -7.218655059931206], [92.325, -7.039624177279158], [92.5, -6.866994623449401], [92.675, -6.700462188847461], [92.85, -6.539741662008652], [93.025, -6.384565311131255], [93.2, -6.234681510830859], [93.375, -6.089853498910452], [93.55, -5.949858249498964], [93.725, -5.814485450349909], [93.9, -5.6835365734080066], [94.075, -5.556824028941118], [94.25, -5.4341703946028925], [94.425, -5.315407711747886], [94.6, -5.200376842170589], [94.775, -5.0889268791968085], [94.95, -4.98091460772515], [95.125, -4.876204008410839], [95.3, -4.774665801709187], [95.475, -4.67617702796078], [95.65, -4.580620660112475], [95.825, -4.487885246031037], [96.0, -4.397864577689527], [96.175, -4.310457384791137], [96.35, -4.225567050647779], [96.525, -4.1431013483555725], [96.7, -4.062972195507538], [96.875, -3.9850954258607802], [97.05, -3.9093905765328376], [97.225, -3.8357806894410156], [97.4, -3.76419212582386], [97.575, -3.6945543927941276], [97.75, -3.626799980972814], [97.925, -3.5608642123413974], [98.1, -3.4966850975297197], [98.275, -3.434203201827328], [98.45, -3.3733615192702056], [98.625, -3.314105354212044], [98.8, -3.2563822098405337], [98.975, -3.2001416831456693], [99.15, -3.1453353658887035], [99.325, -3.091916751158216], [99.5, -3.0398411451337837], [99.675, -2.9890655837083084], [99.85, -2.939548753648494], [100.025, -2.891250917997893], [100.2, -2.844133845449731], [100.375, -2.798160743438532], [100.55, -2.7532961947172585], [100.725, -2.7095060972053506], [100.9, -2.666757606907952], [101.075, -2.6250190837214187], [101.25, -2.584260039953552], [101.425, -2.5444510913988285], [101.6, -2.5055639108202894], [101.775, -2.4675711836997416], [101.95, -2.430446566127339], [102.125, -2.394164644710468], [102.3, -2.3587008983894258], [102.475, -2.3240316620550234], [102.65, -2.290134091869884], [102.825, -2.256986132201468], [103.0, -2.2245664840806656], [103.175, -2.192854575105155], [103.35, -2.1618305307116295], [103.525, -2.1314751467458333], [103.7, -2.101769863263265], [103.875, -2.0726967394976747], [104.05, -2.044238429938178], [104.225, -2.0163781614590883], [104.4, -1.9890997114499245], [104.575, -1.9623873868960373], [104.75, -1.9362260043630728], [104.925, -1.9106008708411346], [105.1, -1.885497765406955], [105.275, -1.860902921664682], [105.45, -1.836803010928032], [105.625, -1.8131851261085428], [105.8, -1.790036766276707], [105.975, -1.767345821864272], [106.15, -1.7451005604779335], [106.325, -1.7232896132959983], [106.5, -1.701901962021243], [106.675, -1.6809269263644833], [106.85, -1.6603541520346252], [107.025, -1.640173599212405], [107.2, -1.620375531485891], [107.375, -1.600950505227198], [107.55, -1.5818893593906527], [107.725, -1.563183205713937], [107.9, -1.5448234193041486], [108.075, -1.526801629592247], [108.25, -1.5091097116395478], [108.425, -1.4917397777811066], [108.6, -1.4746841695915316], [108.775, -1.4579354501590953], [108.95, -1.4414863966553326], [109.125, -1.4253299931871857], [109.3, -1.4094594239200502], [109.475, -1.3938680664599916], [109.65, -1.3785494854845672], [109.825, -1.3634974266116155], [110.0, -1.3487058104962317]];\n", | |
" this.ax = ax1;\n", | |
"\n", | |
" this.translate = function(d)\n", | |
" { return \"translate(\" + this.ax.x(d[0]) + \",\"\n", | |
" + this.ax.y(d[1]) + \")\"; };\n", | |
"\n", | |
" this.draw = function(){\n", | |
"\n", | |
" this.line = d3.svg.line()\n", | |
" .x(function(d) {return this.ax.x(d[0]);})\n", | |
" .y(function(d) {return this.ax.y(d[1]);})\n", | |
" .interpolate(\"linear\")\n", | |
" .defined(function (d) {return !isNaN(d[0]) && !isNaN(d[1]); });\n", | |
"\n", | |
" this.lineobj = this.ax.axes.append(\"svg:path\")\n", | |
" .attr(\"d\", this.line(this.data))\n", | |
" .attr('class', 'line5');\n", | |
"\n", | |
"\n", | |
" };\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
"\n", | |
" this.lineobj.attr(\"d\", this.line(this.data));\n", | |
"\n", | |
"\n", | |
"\n", | |
" }\n", | |
"};\n", | |
"\n", | |
"ax1.add_element(linebb709f2205ef42fab42ebfde7f70f72c);\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a Line2D element\n", | |
"var line07ede0cdf3344061baefad1aac82e1db = new function(){\n", | |
" this.data = [[75.0, -2.916996271015514], [75.175, -2.8468335895333063], [75.35, -2.7769819221731336], [75.525, -2.707462714599366], [75.7, -2.6382980674354792], [75.875, -2.5695107379365356], [76.05, -2.5011241401014885], [76.225, -2.4331623430965283], [76.4, -2.3656500678585077], [76.575, -2.2986126817443804], [76.75, -2.2320761910916596], [76.925, -2.166067231553433], [77.1, -2.1006130560724086], [77.275, -2.035741520359174], [77.45, -1.971481065742822], [77.625, -1.907860699265596], [77.8, -1.8449099708985792], [77.975, -1.7826589477624124], [78.15, -1.7211381852452639], [78.325, -1.6603786949205497], [78.5, -1.6004119091792028], [78.675, -1.5412696425047847], [78.85, -1.482984049336125], [79.025, -1.4255875784797836], [79.2, -1.369112924054654], [79.375, -1.31359297297292], [79.55, -1.2590607489853447], [79.725, -1.2055493533445751], [79.9, -1.15309190216745], [80.075, -1.1017214606063712], [80.25, -1.0514709739698223], [80.425, -1.002373195963771], [80.6, -0.954460614257743], [80.775, -0.9077653736120033], [80.95, -0.8623191968354026], [81.125, -0.818153303875522], [81.3, -0.7752983293751086], [81.475, -0.7337842390590206], [81.65, -0.693640245345265], [81.825, -0.6548947226003375], [82.0, -0.6175751224834642], [82.175, -0.5817078898453252], [82.35, -0.5473183796644044], [82.525, -0.514430775517442], [82.7, -0.48306801008943434], [82.875, -0.4532516882327781], [83.05, -0.42500201308403585], [83.225, -0.39833771574039695], [83.4, -0.37327598898606656], [83.575, -0.34983242554115895], [83.75, -0.3280209612826559], [83.925, -0.30785382385849724], [84.1, -0.28934148708191293], [84.275, -0.2724926314546929], [84.45, -0.25731411112465913], [84.625, -0.24381092753561823], [84.8, -0.23198620997720684], [84.975, -0.22184120318892994], [85.15, -0.21337526211690583], [85.325, -0.2065858538650237], [85.5, -0.2014685668251981], [85.675, -0.1980171269134068], [85.85, -0.1962234207828761], [86.025, -0.1960775258306485], [86.2, -0.19756774676215244], [86.375, -0.20068065842935454], [86.55, -0.20540115461320768], [86.725, -0.21171250238004652], [86.9, -0.2195964016058014], [87.075, -0.22903304923076812], [87.25, -0.24000120778211592], [87.425, -0.2524782776813319], [87.6, -0.26644037283915967], [87.775, -0.2818623990318118], [87.95, -0.2987181345486979], [88.125, -0.3169803126038292], [88.3, -0.3366207050095476], [88.475, -0.35761020662297605], [88.65, -0.37991892009117406], [88.825, -0.40351624044018064], [89.0, -0.4283709390765514], [89.175, -0.45445124679518556], [89.35, -0.48172493541565486], [89.525, -0.5101593976991], [89.7, -0.5397217252292404], [89.875, -0.5703787839731316], [90.05, -0.6020972872702722], [90.225, -0.6348438660313818], [90.4, -0.6685851359605441], [90.575, -0.7032877616464411], [90.75, -0.7389185173988838], [90.925, -0.7754443447368164], [91.1, -0.8128324064617807], [91.275, -0.8510501372772186], [91.45, -0.8900652909390938], [91.625, -0.9298459839455084], [91.8, -0.9703607357943245], [91.975, -1.0115785058561695], [92.15, -1.0534687269275127], [92.325, -1.0960013355427913], [92.5, -1.1391467991381434], [92.675, -1.1828761401696137], [92.85, -1.2271609572985385], [93.025, -1.2719734437642578], [93.2, -1.3172864030697697], [93.375, -1.363073262111303], [93.55, -1.4093080818849586], [93.725, -1.4559655659060695], [93.9, -1.5030210664773247], [94.075, -1.5504505889414075], [94.25, -1.5982307940527327], [94.425, -1.6463389986008494], [94.6, -1.6947531744152677], [94.775, -1.743451945878102], [94.95, -1.7924145860674987], [95.125, -1.841621011649859], [95.3, -1.8910517766351305], [95.475, -1.9406880651040648], [95.65, -1.9905116830114433], [95.825, -2.040505049164391], [96.0, -2.0906511854693757], [96.175, -2.14093370653645], [96.35, -2.1913368087240284], [96.525, -2.2418452587023445], [96.7, -2.292444381608672], [96.875, -2.343120048862462], [97.05, -2.3938586657035437], [97.225, -2.4446471585122524], [97.4, -2.4954729619653686], [97.575, -2.5463240060779806], [97.75, -2.597188703176567], [97.925, -2.6480559348454036], [98.1, -2.698915038884131], [98.275, -2.7497557963109593], [98.45, -2.8005684184425803], [98.625, -2.8513435340789672], [98.8, -2.9020721768178044], [98.975, -2.952745772521013], [99.15, -3.0033561269529003], [99.325, -3.0538954136074077], [99.5, -3.1043561617391155], [99.675, -3.154731244611448], [99.85, -3.2050138679726716], [100.025, -3.2551975587693294], [100.2, -3.3052761541045195], [100.375, -3.3552437904473824], [100.55, -3.4050948930984513], [100.725, -3.454824165914636], [100.9, -3.5044265812960513], [101.075, -3.5538973704363714], [101.25, -3.60323201383711], [101.425, -3.6524262320853884], [101.6, -3.701475976894322], [101.775, -3.7503774224042763], [101.95, -3.799126956742459], [102.125, -3.8477211738383117], [102.3, -3.8961568654911787], [102.475, -3.944431013686611], [102.65, -3.992540783157346], [102.825, -4.040483514184466], [103.0, -4.088256715634283], [103.175, -4.135858058226104], [103.35, -4.183285368025693], [103.525, -4.230536620159754], [103.7, -4.277609932745674], [103.875, -4.324503561031637], [104.05, -4.371215891741507], [104.225, -4.417745437619159], [104.4, -4.464090832166795], [104.575, -4.510250824571921], [104.75, -4.556224274817513], [104.925, -4.6020101489700584], [105.1, -4.647607514640171], [105.275, -4.693015536610493], [105.45, -4.7382334726257795], [105.625, -4.783260669340105], [105.8, -4.8280965584159246], [105.975, -4.872740652770476], [106.15, -4.917192542964368], [106.325, -4.961451893727742], [106.5, -5.00551844061952], [106.675, -5.0493919868149515], [106.85, -5.093072400017348], [107.025, -5.136559609489554], [107.2, -5.179853603200985], [107.375, -5.222954425086269], [107.55, -5.2658621724113654], [107.725, -5.308576993243546], [107.9, -5.351099084021291], [108.075, -5.393428687220666], [108.25, -5.435566089114543], [108.425, -5.477511617621352], [108.6, -5.519265640239944], [108.775, -5.560828562067641], [108.95, -5.602200823898011], [109.125, -5.6433829003958], [109.3, -5.684375298345756], [109.475, -5.725178554972819], [109.65, -5.765793236330856], [109.825, -5.806219935757512], [110.0, -5.84645927239226]];\n", | |
" this.ax = ax1;\n", | |
"\n", | |
" this.translate = function(d)\n", | |
" { return \"translate(\" + this.ax.x(d[0]) + \",\"\n", | |
" + this.ax.y(d[1]) + \")\"; };\n", | |
"\n", | |
" this.draw = function(){\n", | |
"\n", | |
" this.line = d3.svg.line()\n", | |
" .x(function(d) {return this.ax.x(d[0]);})\n", | |
" .y(function(d) {return this.ax.y(d[1]);})\n", | |
" .interpolate(\"linear\")\n", | |
" .defined(function (d) {return !isNaN(d[0]) && !isNaN(d[1]); });\n", | |
"\n", | |
" this.lineobj = this.ax.axes.append(\"svg:path\")\n", | |
" .attr(\"d\", this.line(this.data))\n", | |
" .attr('class', 'line6');\n", | |
"\n", | |
"\n", | |
" };\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
"\n", | |
" this.lineobj.attr(\"d\", this.line(this.data));\n", | |
"\n", | |
"\n", | |
"\n", | |
" }\n", | |
"};\n", | |
"\n", | |
"ax1.add_element(line07ede0cdf3344061baefad1aac82e1db);\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a Line2D element\n", | |
"var line3466e7a8f69343748ccadf192c50c7fa = new function(){\n", | |
" this.data = [[75.0, -2.916996271015502], [75.175, -2.8468335895332957], [75.35, -2.776981922173121], [75.525, -2.7074627145993553], [75.7, -2.638298067435456], [75.875, -2.569510737936524], [76.05, -2.5011241401014765], [76.225, -2.433162343096517], [76.4, -2.365650067858485], [76.575, -2.2986126817443693], [76.75, -2.2320761910916476], [76.925, -2.1660672315534217], [77.1, -2.1006130560723864], [77.275, -2.035741520359152], [77.45, -1.9714810657428017], [77.625, -1.907860699265584], [77.8, -1.8449099708985695], [77.975, -1.7826589477624006], [78.15, -1.7211381852452425], [78.325, -1.660378694920539], [78.5, -1.600411909179191], [78.675, -1.5412696425047745], [78.85, -1.4829840493361148], [79.025, -1.4255875784797645], [79.2, -1.369112924054645], [79.375, -1.313592972972909], [79.55, -1.2590607489853358], [79.725, -1.2055493533445563], [79.9, -1.1530919021674302], [80.075, -1.1017214606063503], [80.25, -1.0514709739698123], [80.425, -1.0023731959637614], [80.6, -0.9544606142577333], [80.775, -0.9077653736119924], [80.95, -0.8623191968353928], [81.125, -0.8181533038755124], [81.3, -0.7752983293751001], [81.475, -0.7337842390590111], [81.65, -0.6936402453452546], [81.825, -0.6548947226003385], [82.0, -0.6175751224834559], [82.175, -0.5817078898453159], [82.35, -0.5473183796644044], [82.525, -0.514430775517442], [82.7, -0.48306801008943434], [82.875, -0.4532516882327781], [83.05, -0.42500201308403585], [83.225, -0.39833771574039695], [83.4, -0.37327598898606656], [83.575, -0.34983242554115895], [83.75, -0.32802096128265684], [83.925, -0.30785382385850624], [84.1, -0.289341487081912], [84.275, -0.2724926314546929], [84.45, -0.25731411112466807], [84.625, -0.24381092753561823], [84.8, -0.23198620997720587], [84.975, -0.22184120318893982], [85.15, -0.21337526211690488], [85.325, -0.2065858538650326], [85.5, -0.201468566825206], [85.675, -0.1980171269134157], [85.85, -0.19622342078288402], [86.025, -0.19607752583065635], [86.2, -0.1975677467621613], [86.375, -0.20068065842936442], [86.55, -0.20540115461322547], [86.725, -0.21171250238005546], [86.9, -0.21959640160580937], [87.075, -0.229033049230777], [87.25, -0.24000120778212483], [87.425, -0.2524782776813508], [87.6, -0.2664403728391776], [87.775, -0.28186239903182175], [87.95, -0.2987181345487159], [88.125, -0.31698031260384724], [88.3, -0.33662070500955665], [88.475, -0.35761020662299414], [88.65, -0.37991892009118317], [88.825, -0.40351624044018974], [89.0, -0.4283709390765605], [89.175, -0.4544512467951947], [89.35, -0.48172493541566397], [89.525, -0.5101593976991092], [89.7, -0.5397217252292497], [89.875, -0.5703787839731419], [90.05, -0.6020972872702806], [90.225, -0.6348438660313818], [90.4, -0.6685851359605535], [90.575, -0.7032877616464505], [90.75, -0.7389185173988838], [90.925, -0.775444344736826], [91.1, -0.8128324064617902], [91.275, -0.8510501372772283], [91.45, -0.8900652909390938], [91.625, -0.929845983945518], [91.8, -0.9703607357943331], [91.975, -1.0115785058561704], [92.15, -1.0534687269275127], [92.325, -1.0960013355427913], [92.5, -1.1391467991381434], [92.675, -1.1828761401696137], [92.85, -1.2271609572985385], [93.025, -1.2719734437642578], [93.2, -1.3172864030697597], [93.375, -1.3630732621113046], [93.55, -1.4093080818849482], [93.725, -1.455965565906059], [93.9, -1.5030210664773247], [94.075, -1.5504505889413969], [94.25, -1.598230794052722], [94.425, -1.6463389986008494], [94.6, -1.6947531744152573], [94.775, -1.743451945878102], [94.95, -1.792414586067488], [95.125, -1.8416210116498473], [95.3, -1.8910517766351098], [95.475, -1.940688065104054], [95.65, -1.9905116830114322], [95.825, -2.04050504916438], [96.0, -2.0906511854693646], [96.175, -2.1409337065364396], [96.35, -2.1913368087240173], [96.525, -2.241845258702333], [96.7, -2.292444381608661], [96.875, -2.343120048862451], [97.05, -2.393858665703532], [97.225, -2.4446471585122294], [97.4, -2.4954729619653566], [97.575, -2.5463240060779695], [97.75, -2.5971887031765553], [97.925, -2.6480559348453796], [98.1, -2.69891503888412], [98.275, -2.7497557963109354], [98.45, -2.8005684184425688], [98.625, -2.8513435340789552], [98.8, -2.9020721768177915], [98.975, -2.9527457725209887], [99.15, -3.0033561269528875], [99.325, -3.0538954136073952], [99.5, -3.104356161739104], [99.675, -3.154731244611435], [99.85, -3.2050138679726587], [100.025, -3.2551975587693165], [100.2, -3.3052761541045066], [100.375, -3.355243790447369], [100.55, -3.4050948930984513], [100.725, -3.454824165914625], [100.9, -3.5044265812960385], [101.075, -3.5538973704363714], [101.25, -3.603232013837097], [101.425, -3.652426232085375], [101.6, -3.701475976894322], [101.775, -3.750377422404263], [101.95, -3.799126956742459], [102.125, -3.8477211738383117], [102.3, -3.8961568654911787], [102.475, -3.9444310136865974], [102.65, -3.9925407831573323], [102.825, -4.0404835141844515], [103.0, -4.088256715634283], [103.175, -4.135858058226104], [103.35, -4.183285368025693], [103.525, -4.230536620159754], [103.7, -4.2776099327456745], [103.875, -4.324503561031637], [104.05, -4.371215891741507], [104.225, -4.417745437619159], [104.4, -4.464090832166795], [104.575, -4.510250824571921], [104.75, -4.556224274817513], [104.925, -4.6020101489700735], [105.1, -4.647607514640171], [105.275, -4.693015536610493], [105.45, -4.7382334726257795], [105.625, -4.783260669340105], [105.8, -4.8280965584159246], [105.975, -4.872740652770476], [106.15, -4.917192542964368], [106.325, -4.961451893727755], [106.5, -5.005518440619534], [106.675, -5.0493919868149675], [106.85, -5.093072400017348], [107.025, -5.136559609489569], [107.2, -5.179853603201002], [107.375, -5.222954425086286], [107.55, -5.2658621724113805], [107.725, -5.30857699324356], [107.9, -5.351099084021308], [108.075, -5.393428687220666], [108.25, -5.435566089114559], [108.425, -5.477511617621369], [108.6, -5.51926564023996], [108.775, -5.560828562067641], [108.95, -5.602200823898028], [109.125, -5.643382900395818], [109.3, -5.684375298345756], [109.475, -5.725178554972818], [109.65, -5.765793236330872], [109.825, -5.806219935757512], [110.0, -5.84645927239226]];\n", | |
" this.ax = ax1;\n", | |
"\n", | |
" this.translate = function(d)\n", | |
" { return \"translate(\" + this.ax.x(d[0]) + \",\"\n", | |
" + this.ax.y(d[1]) + \")\"; };\n", | |
"\n", | |
" this.draw = function(){\n", | |
"\n", | |
" this.line = d3.svg.line()\n", | |
" .x(function(d) {return this.ax.x(d[0]);})\n", | |
" .y(function(d) {return this.ax.y(d[1]);})\n", | |
" .interpolate(\"linear\")\n", | |
" .defined(function (d) {return !isNaN(d[0]) && !isNaN(d[1]); });\n", | |
"\n", | |
" this.lineobj = this.ax.axes.append(\"svg:path\")\n", | |
" .attr(\"d\", this.line(this.data))\n", | |
" .attr('class', 'line7');\n", | |
"\n", | |
"\n", | |
" };\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
"\n", | |
" this.lineobj.attr(\"d\", this.line(this.data));\n", | |
"\n", | |
"\n", | |
"\n", | |
" }\n", | |
"};\n", | |
"\n", | |
"ax1.add_element(line3466e7a8f69343748ccadf192c50c7fa);\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a Line2D element\n", | |
"var line55b98cc8ecca4878b163b47074115cd1 = new function(){\n", | |
" this.data = [[75.0, -3.3708001371869036], [75.175, -3.453223398863103], [75.35, -3.538219674846102], [75.525, -3.625886669296909], [75.7, -3.7163265645567916], [75.875, -3.809646282496924], [76.05, -3.9059577666118654], [76.225, -4.005378287054504], [76.4, -4.1080307710942146], [76.575, -4.21404416180382], [76.75, -4.323553808154105], [76.925, -4.4367018901234845], [77.1, -4.553637882923719], [77.275, -4.674519065013393], [77.45, -4.799511075230195], [77.625, -4.928788525137558], [77.8, -5.062535673570128], [77.975, -5.200947171396994], [78.15, -5.344228885729331], [78.325, -5.492598814213152], [78.5, -5.646288101706521], [78.675, -5.805542173592261], [78.85, -5.97062200228093], [79.025, -6.141805526183278], [79.2, -6.319389243668166], [79.375, -6.50369000837291], [79.55, -6.695047056835371], [79.725, -6.893824304931536], [79.9, -7.100412956232557], [80.075, -7.3152344733945665], [80.25, -7.538743973375713], [80.425, -7.771434119032124], [80.6, -8.013839593965997], [80.775, -8.266542264999355], [80.95, -8.530177158085701], [81.125, -8.80543939979943], [81.3, -9.093092308925275], [81.475, -9.393976862527465], [81.65, -9.709022809908536], [81.825, -10.039261768012128], [82.0, -10.385842705174525], [82.175, -10.750050308612884], [82.35, -11.13332683573142], [82.525, -11.53729816898224], [82.7, -11.963804922027661], [82.875, -12.414939563186039], [83.05, -12.893090588538653], [83.225, -13.400994700504295], [83.4, -13.941797536726455], [83.575, -14.519122351449827], [83.75, -15.13714335325986], [83.925, -15.800654430558957], [84.1, -16.51511113032427], [84.275, -17.286596295080784], [84.45, -18.12160120175347], [84.625, -19.026389139994798], [84.8, -20.005444180205444], [84.975, -21.0579686196781], [85.15, -22.17040824703514], [85.325, -23.301780649813914], [85.5, -24.359872864423252], [85.675, -25.180317415184806], [85.85, -25.55664608352608], [86.025, -25.365439804098514], [86.2, -24.676929647088244], [86.375, -23.68914039459287], [86.55, -22.58642859215602], [86.725, -21.48148430544293], [86.9, -20.427830498659937], [87.075, -19.44528280693149], [87.25, -18.537411248320502], [87.425, -17.70080114337613], [87.6, -16.929479707557817], [87.775, -16.216910056624535], [87.95, -15.556832781415126], [88.125, -14.943577473272176], [88.3, -14.372137277820789], [88.475, -13.838142841798124], [88.65, -13.337798467424305], [88.825, -12.867808809796344], [89.0, -12.4253082857814], [89.175, -12.007797826909874], [89.35, -11.613090166926803], [89.525, -11.239263359454949], [89.7, -10.884621645770757], [89.875, -10.547662642394135], [90.05, -10.227049854466825], [90.225, -9.921589629587812], [90.4, -9.630211794544545], [90.575, -9.351953340630839], [90.75, -9.085944632743386], [90.925, -8.831397710771983], [91.1, -8.5875963295194], [91.275, -8.353887447283633], [91.45, -8.129673925387157], [91.625, -7.914408243356672], [91.8, -7.707587068913957], [91.975, -7.508746549938494], [92.15, -7.317458218347442], [92.325, -7.133325414416175], [92.5, -6.955980155250481], [92.675, -6.7850803835721365], [92.85, -6.620307543218398], [93.025, -6.46136443620305], [93.2, -6.307973323177159], [93.375, -6.159874234932916], [93.55, -6.016823467430166], [93.725, -5.878592236866144], [93.9, -5.744965474698724], [94.075, -5.61574074538289], [94.25, -5.490727271983943], [94.425, -5.369745056866435], [94.6, -5.252624086382286], [94.775, -5.139203609952214], [94.95, -5.029331485186015], [95.125, -4.92286358176086], [95.3, -4.819663237695685], [95.475, -4.719600762450379], [95.65, -4.622552981960614], [95.825, -4.528402821307237], [96.0, -4.437038921229438], [96.175, -4.3483552851335485], [96.35, -4.262250953633312], [96.525, -4.178629703993932], [96.7, -4.097399772144161], [96.875, -4.018473595177337], [97.05, -3.941767572487004], [97.225, -3.8672018438799287], [97.4, -3.7947000831830846], [97.575, -3.7241893060140803], [97.75, -3.655599690520063], [97.925, -3.5888644100094433], [98.1, -3.523919476506816], [98.275, -3.4607035943558007], [98.45, -3.399158023077809], [98.625, -3.3392264487696357], [98.8, -3.2808548633890178], [98.975, -3.2239914513366372], [99.15, -3.1685864827964934], [99.325, -3.1145922133439337], [99.5, -3.061962789373309], [99.675, -3.0106541589360742], [99.85, -2.9606239876142135], [100.025, -2.9118315790855913], [100.2, -2.8642378000654087], [100.375, -2.817805009334164], [100.55, -2.7724969905847963], [100.725, -2.728278888843201], [100.9, -2.6851171502350004], [101.075, -2.6429794648887217], [101.25, -2.6018347127815433], [101.425, -2.5616529123476814], [101.6, -2.522405171682868], [101.775, -2.4840636421903715], [101.95, -2.4466014745246736], [102.125, -2.409992776699314], [102.3, -2.3742125742343094], [102.475, -2.3392367722273235], [102.65, -2.3050421192401207], [102.825, -2.2716061728996317], [103.0, -2.238907267118815], [103.175, -2.206924480849324], [103.35, -2.1756376082830027], [103.525, -2.1450271304250195], [103.7, -2.115074187965687], [103.875, -2.0857605553830987], [104.05, -2.0570686162122698], [104.225, -2.028981339420893], [104.4, -2.0014822568348754], [104.575, -1.9745554415606625], [104.75, -1.9481854873539985], [104.925, -1.922357488887962], [105.1, -1.8970570228759256], [105.275, -1.8722701300069744], [105.45, -1.847983297654741], [105.625, -1.8241834433215984], [105.8, -1.8008578987832706], [105.975, -1.777994394900231], [106.15, -1.7555810470642472], [106.325, -1.7336063412501463], [106.5, -1.7120591206444744], [106.675, -1.69092857282426], [106.85, -1.670204217460304], [107.025, -1.6498758945209857], [107.2, -1.6299337529537274], [107.375, -1.6103682398223924], [107.55, -1.5911700898799643], [107.725, -1.5723303155571198], [107.9, -1.5538401973479758], [108.075, -1.5356912745754345], [108.25, -1.517875336519395], [108.425, -1.5003844138918268], [108.6, -1.4832107706435391], [108.775, -1.4663468960884105], [108.95, -1.449785497331007], [109.125, -1.4335194919848935], [109.3, -1.4175420011689424], [109.475, -1.401846342769908], [109.65, -1.386426024959948], [109.825, -1.3712747399583662], [110.0, -1.3563863580272253]];\n", | |
" this.ax = ax1;\n", | |
"\n", | |
" this.translate = function(d)\n", | |
" { return \"translate(\" + this.ax.x(d[0]) + \",\"\n", | |
" + this.ax.y(d[1]) + \")\"; };\n", | |
"\n", | |
" this.draw = function(){\n", | |
"\n", | |
" this.line = d3.svg.line()\n", | |
" .x(function(d) {return this.ax.x(d[0]);})\n", | |
" .y(function(d) {return this.ax.y(d[1]);})\n", | |
" .interpolate(\"linear\")\n", | |
" .defined(function (d) {return !isNaN(d[0]) && !isNaN(d[1]); });\n", | |
"\n", | |
" this.lineobj = this.ax.axes.append(\"svg:path\")\n", | |
" .attr(\"d\", this.line(this.data))\n", | |
" .attr('class', 'line8');\n", | |
"\n", | |
"\n", | |
" };\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
"\n", | |
" this.lineobj.attr(\"d\", this.line(this.data));\n", | |
"\n", | |
"\n", | |
"\n", | |
" }\n", | |
"};\n", | |
"\n", | |
"ax1.add_element(line55b98cc8ecca4878b163b47074115cd1);\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a text element\n", | |
"ax1.add_element(new function(){\n", | |
" this.position = [367.19999999999999, 27.599999999999994];\n", | |
" this.rotation = -0.0;\n", | |
" this.ax = ax1;\n", | |
" this.text = \"Frequency (GHz)\";\n", | |
"\n", | |
" this.draw = function(){\n", | |
"\n", | |
" this.obj = this.ax.fig.canvas.append(\"text\")\n", | |
" .attr(\"x\", this.position[0])\n", | |
" .attr(\"y\", this.ax.fig.height - this.position[1])\n", | |
"\n", | |
" .attr(\"transform\", \"rotate(\" + this.rotation + \",\"\n", | |
" + this.position[0] + \",\"\n", | |
" + (figheight - this.position[1]) + \")\")\n", | |
"\n", | |
"\n", | |
" .attr(\"class\", \"text\")\n", | |
" .text(this.text)\n", | |
" .attr(\"class\", \"textfe35d919d6614072807778ac66be123f\")\n", | |
" .attr(\"style\", \"text-anchor: middle;\" +\n", | |
" \"dominant-baseline: hanging\")\n", | |
"\n", | |
" }\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
" }\n", | |
"});\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a text element\n", | |
"ax1.add_element(new function(){\n", | |
" this.position = [42.337499999999984, 244.79999999999998];\n", | |
" this.rotation = -90.0;\n", | |
" this.ax = ax1;\n", | |
" this.text = \"Magnitude (dB)\";\n", | |
"\n", | |
" this.draw = function(){\n", | |
"\n", | |
" this.obj = this.ax.fig.canvas.append(\"text\")\n", | |
" .attr(\"x\", this.position[0])\n", | |
" .attr(\"y\", this.ax.fig.height - this.position[1])\n", | |
"\n", | |
" .attr(\"transform\", \"rotate(\" + this.rotation + \",\"\n", | |
" + this.position[0] + \",\"\n", | |
" + (figheight - this.position[1]) + \")\")\n", | |
"\n", | |
"\n", | |
" .attr(\"class\", \"text\")\n", | |
" .text(this.text)\n", | |
" .attr(\"class\", \"textbadcc14d3ba94dd883f61fcf6e77a225\")\n", | |
" .attr(\"style\", \"text-anchor: middle;\" +\n", | |
" \"dominant-baseline: auto\")\n", | |
"\n", | |
" }\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
" }\n", | |
"});\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a text element\n", | |
"ax1.add_element(new function(){\n", | |
" this.position = [367.19999999999999, 440.33333333333331];\n", | |
" this.rotation = -0.0;\n", | |
" this.ax = ax1;\n", | |
" this.text = \"Ring Slot\";\n", | |
"\n", | |
" this.draw = function(){\n", | |
"\n", | |
" this.obj = this.ax.fig.canvas.append(\"text\")\n", | |
" .attr(\"x\", this.position[0])\n", | |
" .attr(\"y\", this.ax.fig.height - this.position[1])\n", | |
"\n", | |
" .attr(\"transform\", \"rotate(\" + this.rotation + \",\"\n", | |
" + this.position[0] + \",\"\n", | |
" + (figheight - this.position[1]) + \")\")\n", | |
"\n", | |
"\n", | |
" .attr(\"class\", \"text\")\n", | |
" .text(this.text)\n", | |
" .attr(\"class\", \"text55441ecffa144b749b9d48e36c19fff9\")\n", | |
" .attr(\"style\", \"text-anchor: middle;\" +\n", | |
" \"dominant-baseline: auto\")\n", | |
"\n", | |
" }\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
" }\n", | |
"});\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a Patch element\n", | |
"var patch98145e2e5e6049ce8224b1fbb4729307 = new function(){\n", | |
" this.data = [[\"M\", [100.22324608262107, -25.048621873636343]], [\"L\", [109.34561965811966, -25.048621873636343]], [\"S\", [109.53258547008548, -25.048621873636343, 109.53258547008548, -24.84541218968045]], [\"L\", [109.53258547008548, -18.85072651298161]], [\"S\", [109.53258547008548, -18.64751682902572, 109.34561965811966, -18.64751682902572]], [\"L\", [100.22324608262107, -18.64751682902572]], [\"S\", [100.03628027065527, -18.64751682902572, 100.03628027065527, -18.85072651298161]], [\"L\", [100.03628027065527, -24.84541218968045]], [\"S\", [100.03628027065527, -25.048621873636343, 100.22324608262107, -25.048621873636343]], [\"Z\", [100.22324608262107, -25.048621873636343]]];\n", | |
" this.ax = ax1;\n", | |
"\n", | |
" this.draw = function(){\n", | |
" this.patch = this.ax.axes.append(\"svg:path\")\n", | |
" .attr(\"d\", construct_SVG_path(this.data,\n", | |
" this.ax.x,\n", | |
" this.ax.y))\n", | |
" .attr(\"vector-effect\", \"non-scaling-stroke\")\n", | |
" .attr('class', 'patch98145e2e5e6049ce8224b1fbb4729307');\n", | |
" };\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
" };\n", | |
"};\n", | |
"\n", | |
"ax1.add_element(patch98145e2e5e6049ce8224b1fbb4729307);\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a Line2D element\n", | |
"var lineb29477d8a2734fbe9af898a5ab2be69d = new function(){\n", | |
" this.data = [[100.69066061253561, -19.511157985838263], [101.99942129629629, -19.511157985838263]];\n", | |
" this.ax = ax1;\n", | |
"\n", | |
" this.translate = function(d)\n", | |
" { return \"translate(\" + this.ax.x(d[0]) + \",\"\n", | |
" + this.ax.y(d[1]) + \")\"; };\n", | |
"\n", | |
" this.draw = function(){\n", | |
"\n", | |
" this.line = d3.svg.line()\n", | |
" .x(function(d) {return this.ax.x(d[0]);})\n", | |
" .y(function(d) {return this.ax.y(d[1]);})\n", | |
" .interpolate(\"linear\")\n", | |
" .defined(function (d) {return !isNaN(d[0]) && !isNaN(d[1]); });\n", | |
"\n", | |
" this.lineobj = this.ax.axes.append(\"svg:path\")\n", | |
" .attr(\"d\", this.line(this.data))\n", | |
" .attr('class', 'line13');\n", | |
"\n", | |
"\n", | |
" };\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
" }\n", | |
"};\n", | |
"\n", | |
"ax1.add_element(lineb29477d8a2734fbe9af898a5ab2be69d);\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a Line2D element\n", | |
"var line159ecba8621c4340bac40470e6c58d89 = new function(){\n", | |
" this.data = [[100.69066061253561, -21.03523061550746], [101.99942129629629, -21.03523061550746]];\n", | |
" this.ax = ax1;\n", | |
"\n", | |
" this.translate = function(d)\n", | |
" { return \"translate(\" + this.ax.x(d[0]) + \",\"\n", | |
" + this.ax.y(d[1]) + \")\"; };\n", | |
"\n", | |
" this.draw = function(){\n", | |
"\n", | |
" this.line = d3.svg.line()\n", | |
" .x(function(d) {return this.ax.x(d[0]);})\n", | |
" .y(function(d) {return this.ax.y(d[1]);})\n", | |
" .interpolate(\"linear\")\n", | |
" .defined(function (d) {return !isNaN(d[0]) && !isNaN(d[1]); });\n", | |
"\n", | |
" this.lineobj = this.ax.axes.append(\"svg:path\")\n", | |
" .attr(\"d\", this.line(this.data))\n", | |
" .attr('class', 'line14');\n", | |
"\n", | |
"\n", | |
" };\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
" }\n", | |
"};\n", | |
"\n", | |
"ax1.add_element(line159ecba8621c4340bac40470e6c58d89);\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a Line2D element\n", | |
"var line53cf767a6d524e6baac4e2f15ca3f1e0 = new function(){\n", | |
" this.data = [[100.69066061253561, -22.559303245176654], [101.99942129629629, -22.559303245176654]];\n", | |
" this.ax = ax1;\n", | |
"\n", | |
" this.translate = function(d)\n", | |
" { return \"translate(\" + this.ax.x(d[0]) + \",\"\n", | |
" + this.ax.y(d[1]) + \")\"; };\n", | |
"\n", | |
" this.draw = function(){\n", | |
"\n", | |
" this.line = d3.svg.line()\n", | |
" .x(function(d) {return this.ax.x(d[0]);})\n", | |
" .y(function(d) {return this.ax.y(d[1]);})\n", | |
" .interpolate(\"linear\")\n", | |
" .defined(function (d) {return !isNaN(d[0]) && !isNaN(d[1]); });\n", | |
"\n", | |
" this.lineobj = this.ax.axes.append(\"svg:path\")\n", | |
" .attr(\"d\", this.line(this.data))\n", | |
" .attr('class', 'line15');\n", | |
"\n", | |
"\n", | |
" };\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
" }\n", | |
"};\n", | |
"\n", | |
"ax1.add_element(line53cf767a6d524e6baac4e2f15ca3f1e0);\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a Line2D element\n", | |
"var linef390cdb8bc8f4bcf8a6daf7de997832d = new function(){\n", | |
" this.data = [[100.69066061253561, -24.083375874845853], [101.99942129629629, -24.083375874845853]];\n", | |
" this.ax = ax1;\n", | |
"\n", | |
" this.translate = function(d)\n", | |
" { return \"translate(\" + this.ax.x(d[0]) + \",\"\n", | |
" + this.ax.y(d[1]) + \")\"; };\n", | |
"\n", | |
" this.draw = function(){\n", | |
"\n", | |
" this.line = d3.svg.line()\n", | |
" .x(function(d) {return this.ax.x(d[0]);})\n", | |
" .y(function(d) {return this.ax.y(d[1]);})\n", | |
" .interpolate(\"linear\")\n", | |
" .defined(function (d) {return !isNaN(d[0]) && !isNaN(d[1]); });\n", | |
"\n", | |
" this.lineobj = this.ax.axes.append(\"svg:path\")\n", | |
" .attr(\"d\", this.line(this.data))\n", | |
" .attr('class', 'line16');\n", | |
"\n", | |
"\n", | |
" };\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
" }\n", | |
"};\n", | |
"\n", | |
"ax1.add_element(linef390cdb8bc8f4bcf8a6daf7de997832d);\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a text element\n", | |
"ax1.add_element(new function(){\n", | |
" this.position = [536.125, 141.59999999999999];\n", | |
" this.rotation = -0.0;\n", | |
" this.ax = ax1;\n", | |
" this.text = \"ring slot, S11\";\n", | |
"\n", | |
" this.draw = function(){\n", | |
"\n", | |
" this.obj = this.ax.fig.canvas.append(\"text\")\n", | |
" .attr(\"x\", this.position[0])\n", | |
" .attr(\"y\", this.ax.fig.height - this.position[1])\n", | |
"\n", | |
" .attr(\"transform\", \"rotate(\" + this.rotation + \",\"\n", | |
" + this.position[0] + \",\"\n", | |
" + (figheight - this.position[1]) + \")\")\n", | |
"\n", | |
"\n", | |
" .attr(\"class\", \"text\")\n", | |
" .text(this.text)\n", | |
" .attr(\"class\", \"texta0c2067878c049a995430e5d98407f4c\")\n", | |
" .attr(\"style\", \"text-anchor: start;\" +\n", | |
" \"dominant-baseline: auto\")\n", | |
"\n", | |
" }\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
" }\n", | |
"});\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a text element\n", | |
"ax1.add_element(new function(){\n", | |
" this.position = [536.125, 119.09999999999999];\n", | |
" this.rotation = -0.0;\n", | |
" this.ax = ax1;\n", | |
" this.text = \"ring slot, S12\";\n", | |
"\n", | |
" this.draw = function(){\n", | |
"\n", | |
" this.obj = this.ax.fig.canvas.append(\"text\")\n", | |
" .attr(\"x\", this.position[0])\n", | |
" .attr(\"y\", this.ax.fig.height - this.position[1])\n", | |
"\n", | |
" .attr(\"transform\", \"rotate(\" + this.rotation + \",\"\n", | |
" + this.position[0] + \",\"\n", | |
" + (figheight - this.position[1]) + \")\")\n", | |
"\n", | |
"\n", | |
" .attr(\"class\", \"text\")\n", | |
" .text(this.text)\n", | |
" .attr(\"class\", \"texte0a11ca016ac4ffcb611bf46c5a4ea7b\")\n", | |
" .attr(\"style\", \"text-anchor: start;\" +\n", | |
" \"dominant-baseline: auto\")\n", | |
"\n", | |
" }\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
" }\n", | |
"});\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a text element\n", | |
"ax1.add_element(new function(){\n", | |
" this.position = [536.125, 96.599999999999994];\n", | |
" this.rotation = -0.0;\n", | |
" this.ax = ax1;\n", | |
" this.text = \"ring slot, S21\";\n", | |
"\n", | |
" this.draw = function(){\n", | |
"\n", | |
" this.obj = this.ax.fig.canvas.append(\"text\")\n", | |
" .attr(\"x\", this.position[0])\n", | |
" .attr(\"y\", this.ax.fig.height - this.position[1])\n", | |
"\n", | |
" .attr(\"transform\", \"rotate(\" + this.rotation + \",\"\n", | |
" + this.position[0] + \",\"\n", | |
" + (figheight - this.position[1]) + \")\")\n", | |
"\n", | |
"\n", | |
" .attr(\"class\", \"text\")\n", | |
" .text(this.text)\n", | |
" .attr(\"class\", \"textbcbf7ef38ae64c8a98e91bb26261b4a8\")\n", | |
" .attr(\"style\", \"text-anchor: start;\" +\n", | |
" \"dominant-baseline: auto\")\n", | |
"\n", | |
" }\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
" }\n", | |
"});\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"// Add a text element\n", | |
"ax1.add_element(new function(){\n", | |
" this.position = [536.125, 74.099999999999994];\n", | |
" this.rotation = -0.0;\n", | |
" this.ax = ax1;\n", | |
" this.text = \"ring slot, S22\";\n", | |
"\n", | |
" this.draw = function(){\n", | |
"\n", | |
" this.obj = this.ax.fig.canvas.append(\"text\")\n", | |
" .attr(\"x\", this.position[0])\n", | |
" .attr(\"y\", this.ax.fig.height - this.position[1])\n", | |
"\n", | |
" .attr(\"transform\", \"rotate(\" + this.rotation + \",\"\n", | |
" + this.position[0] + \",\"\n", | |
" + (figheight - this.position[1]) + \")\")\n", | |
"\n", | |
"\n", | |
" .attr(\"class\", \"text\")\n", | |
" .text(this.text)\n", | |
" .attr(\"class\", \"text5ed73fc4984749d08341978468f06001\")\n", | |
" .attr(\"style\", \"text-anchor: start;\" +\n", | |
" \"dominant-baseline: auto\")\n", | |
"\n", | |
" }\n", | |
"\n", | |
" this.zoomed = function(){\n", | |
"\n", | |
" }\n", | |
"});\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
"\n", | |
" fig.draw();\n", | |
"\n", | |
"\n", | |
"\n", | |
" return fig\n", | |
" }\n", | |
"\n", | |
" // set a timeout of 0: this makes things work in the IPython notebook\n", | |
" setTimeout(function(){\n", | |
" // we need to call the function, making sure d3 is defined appropriately\n", | |
" if(typeof define === \"function\" && define.amd){\n", | |
" // If require.js is available, use it to load d3\n", | |
" require.config({paths: {d3: \"http://d3js.org/d3.v3.min\"}});\n", | |
" require([\"d3\"], create_figf0bc05ea63ba4de18ac12a0882353add);\n", | |
" }else if(typeof d3 === \"undefined\"){\n", | |
" // No require.js: dynamically load d3\n", | |
" var s = document.createElement('script');\n", | |
" s.src = \"http://d3js.org/d3.v3.min.js\";\n", | |
" s.async = true;\n", | |
" s.onreadystatechange = s.onload = s.onerror = function() {\n", | |
" if(typeof d3 === \"undefined\"){\n", | |
" document.getElementById(\"figuref0bc05ea63ba4de18ac12a0882353add\").innerHTML =\n", | |
" \"<p style='color:red;'>(d3 failed to load)</p>\";\n", | |
" }else{\n", | |
" create_figf0bc05ea63ba4de18ac12a0882353add(d3);\n", | |
" }\n", | |
" };\n", | |
" document.getElementsByTagName(\"head\")[0].appendChild(s);\n", | |
" }else{\n", | |
" // d3 is already globally loaded\n", | |
" create_figf0bc05ea63ba4de18ac12a0882353add(d3);\n", | |
" }\n", | |
" }, 0);\n", | |
"\n", | |
" </script>\n", | |
"\n", | |
"\n", | |
"\n" | |
], | |
"metadata": {}, | |
"output_type": "pyout", | |
"prompt_number": 36, | |
"text": [ | |
"<IPython.core.display.HTML at 0xba1fb90>" | |
] | |
} | |
], | |
"prompt_number": 36 | |
}, | |
{ | |
"cell_type": "code", | |
"collapsed": false, | |
"input": [], | |
"language": "python", | |
"metadata": {}, | |
"outputs": [], | |
"prompt_number": 36 | |
} | |
], | |
"metadata": {} | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment