40 lines
1.1 KiB
Markdown
40 lines
1.1 KiB
Markdown
# contour_plot
|
|
|
|
A D3 plugin to draw contour plots of 2D functions.
|
|
|
|
Uses the marching squares algorithm from d3.geom.contour to generate contour lines.
|
|
|
|
This project is a work in progress, and not ready for public consumption. Notably this doesn't
|
|
generate
|
|
|
|
## Installing
|
|
|
|
If you use NPM, `npm install contour_plot`. Otherwise, download the [latest
|
|
release](https://github.com/benfred/contour_plot/releases/latest).
|
|
|
|
## Example
|
|
|
|
Draw the [Goldstein Price](https://en.wikipedia.org/wiki/File:Goldstein_Price_function.pdf) function:
|
|
|
|
```javascript
|
|
function goldsteinPrice(x, y) {
|
|
return (1. + Math.pow(x + y + 1, 2) *
|
|
(19 - 14*x + 3*x*x - 14 * y + 6 * x * x + 3 * y * y))
|
|
* (30 + Math.pow(2*x-3*y, 2)*(18 - 32*x + 12 * x * x + 48*y - 36 * x * y + 27 * y* y));
|
|
}
|
|
|
|
var plot = contour_plot.ContourPlot()
|
|
.f(goldsteinPrice)
|
|
.drawAxis(true)
|
|
.xDomain([-2, 2])
|
|
.yDomain([1, -2])
|
|
.colourRange(["white", "green"]);
|
|
|
|
var elements = plot(d3.select("#contour_graph"));
|
|
```
|
|
|
|
Should produce something like:
|
|
|
|

|
|
|