Graflume · Alpha
Vector field · Basic implementation · Common features
Encode direction and magnitude at each coordinate with arrow angle and length. Start with only the required data and family encoding. Expand the code to run the same example. Use the tabs to compare header, tooltip, theme, legend, highlight, callout, selection, view controls, and accessibility one feature at a time.
Chart family · Specialized families
Vector field
Encode direction and magnitude at each coordinate with arrow angle and length.
- Quick API
vectorField()- Browser snapshot
graflume/complete- mark
vector- Presets
- 2
Basic implementation
The smallest runnable chart
Start with only the required data and family encoding. Expand the code to run the same example.
Basic example
Encode direction and magnitude at each coordinate with arrow angle and length.
StatusLoading
minimal-implementation
Loading
Basic example · Row data
Row data and zero-copy TypedArray columns share one data contract.
xquantitative | yquantitative | directionquantitative | magnitudequantitative |
|---|---|---|---|
| -4 | -3 | 310.267 | 2.228 |
| -3 | -3 | 322.357 | 1.998 |
| -2 | -3 | 335.932 | 1.815 |
| -1 | -3 | 350.937 | 1.651 |
| 0 | -3 | 8.269000000000005 | 1.53 |
| 1 | -3 | 27.187000000000012 | 1.532 |
| 2 | -3 | 43.389999999999986 | 1.718 |
| 3 | -3 | 53.60000000000002 | 2.062 |
| 4 | -3 | 58.69999999999999 | 2.504 |
| -4 | -2 | 298.909 | 1.986 |
| -3 | -2 | 311.202 | 1.673 |
| -2 | -2 | 326.516 | 1.411 |
| -1 | -2 | 345.451 | 1.188 |
| 0 | -2 | 9.963000000000022 | 1.05 |
| 1 | -2 | 36.84699999999998 | 1.103 |
| 2 | -2 | 56.06 | 1.376 |
| 3 | -2 | 65.358 | 1.784 |
| 4 | -2 | 68.65899999999999 | 2.256 |
| -4 | -1 | 284.619 | 1.902 |
| -3 | -1 | 294.563 | 1.496 |
| -2 | -1 | 308.364 | 1.123 |
| -1 | -1 | 329.141 | 0.78 |
| 0 | -1 | 8.192999999999984 | 0.559 |
| 1 | -1 | 54.25799999999998 | 0.69 |
| 2 | -1 | 74.50400000000002 | 1.079 |
| 3 | -1 | 80.14999999999998 | 1.542 |
| 4 | -1 | 80.31900000000002 | 2.029 |
| -4 | 0 | 270 | 1.97 |
| -3 | 0 | 275.434 | 1.497 |
| -2 | 0 | 282.115 | 1.033 |
| -1 | 0 | 289.714 | 0.563 |
| 0 | 0 | 325.853 | 0.089 |
| 1 | 0 | 100.17399999999998 | 0.437 |
| 2 | 0 | 101.899 | 0.93 |
| 3 | 0 | 98.83800000000002 | 1.407 |
| 4 | 0 | 94.24700000000001 | 1.875 |
| -4 | 1 | 257.019 | 2.137 |
| -3 | 1 | 258.078 | 1.638 |
| -2 | 1 | 256.801 | 1.153 |
| -1 | 1 | 245.691 | 0.705 |
| 0 | 1 | 201.766 | 0.437 |
| 1 | 1 | 150.30200000000002 | 0.641 |
| 2 | 1 | 130.098 | 1.043 |
| 3 | 1 | 118.582 | 1.455 |
| 4 | 1 | 109.39600000000002 | 1.864 |
| -4 | 2 | 245.817 | 2.343 |
| -3 | 2 | 243.73 | 1.849 |
| -2 | 2 | 237.748 | 1.393 |
| -1 | 2 | 222.18 | 1.039 |
| 0 | 2 | 193.806 | 0.913 |
| 1 | 2 | 165.813 | 1.07 |
| 2 | 2 | 147.202 | 1.37 |
| 3 | 2 | 133.89999999999998 | 1.696 |
| 4 | 2 | 122.84500000000003 | 2.026 |
| -4 | 3 | 235.78 | 2.561 |
| -3 | 3 | 231.588 | 2.09 |
| -2 | 3 | 223.414 | 1.684 |
| -1 | 3 | 208.448 | 1.422 |
| 0 | 3 | 188.216 | 1.38 |
| 1 | 3 | 169.44399999999996 | 1.543 |
| 2 | 3 | 154.94799999999998 | 1.801 |
| 3 | 3 | 143.11700000000002 | 2.071 |
| 4 | 3 | 132.505 | 2.337 |
Browser API · Portable schema
Browser API
Graflume.vector()
const data = [
{
"direction": 310.267,
"high": -1.7,
"magnitude": 2.228,
"value": 1.44,
"x": -4,
"y": -3
},
{
"direction": 322.357,
"high": -1.22,
"magnitude": 1.998,
"value": 1.582,
"x": -3,
"y": -3
},
{
"direction": 335.932,
"high": -0.74,
"magnitude": 1.815,
"value": 1.657,
"x": -2,
"y": -3
},
{
"direction": 350.937,
"high": -0.26,
"magnitude": 1.651,
"value": 1.63,
"x": -1,
"y": -3
},
{
"direction": 8.269000000000005,
"high": 0.22,
"magnitude": 1.53,
"value": 1.514,
"x": 0,
"y": -3
},
{
"direction": 27.187000000000012,
"high": 0.7,
"magnitude": 1.532,
"value": 1.363,
"x": 1,
"y": -3
},
{
"direction": 43.389999999999986,
"high": 1.18,
"magnitude": 1.718,
"value": 1.248,
"x": 2,
"y": -3
},
{
"direction": 53.60000000000002,
"high": 1.66,
"magnitude": 2.062,
"value": 1.224,
"x": 3,
"y": -3
},
{
"direction": 58.69999999999999,
"high": 2.14,
"magnitude": 2.504,
"value": 1.301,
"x": 4,
"y": -3
},
{
"direction": 298.909,
"high": -1.738,
"magnitude": 1.986,
"value": 0.96,
"x": -4,
"y": -2
},
{
"direction": 311.202,
"high": -1.258,
"magnitude": 1.673,
"value": 1.102,
"x": -3,
"y": -2
},
{
"direction": 326.516,
"high": -0.778,
"magnitude": 1.411,
"value": 1.177,
"x": -2,
"y": -2
},
{
"direction": 345.451,
"high": -0.298,
"magnitude": 1.188,
"value": 1.15,
"x": -1,
"y": -2
},
{
"direction": 9.963000000000022,
"high": 0.182,
"magnitude": 1.05,
"value": 1.034,
"x": 0,
"y": -2
},
{
"direction": 36.84699999999998,
"high": 0.662,
"magnitude": 1.103,
"value": 0.883,
"x": 1,
"y": -2
},
{
"direction": 56.06,
"high": 1.142,
"magnitude": 1.376,
"value": 0.768,
"x": 2,
"y": -2
},
{
"direction": 65.358,
"high": 1.622,
"magnitude": 1.784,
"value": 0.744,
"x": 3,
"y": -2
},
{
"direction": 68.65899999999999,
"high": 2.102,
"magnitude": 2.256,
"value": 0.821,
"x": 4,
"y": -2
},
{
"direction": 284.619,
"high": -1.84,
"magnitude": 1.902,
"value": 0.48,
"x": -4,
"y": -1
},
{
"direction": 294.563,
"high": -1.36,
"magnitude": 1.496,
"value": 0.622,
"x": -3,
"y": -1
},
{
"direction": 308.364,
"high": -0.88,
"magnitude": 1.123,
"value": 0.697,
"x": -2,
"y": -1
},
{
"direction": 329.141,
"high": -0.4,
"magnitude": 0.78,
"value": 0.67,
"x": -1,
"y": -1
},
{
"direction": 8.192999999999984,
"high": 0.08,
"magnitude": 0.559,
"value": 0.554,
"x": 0,
"y": -1
},
{
"direction": 54.25799999999998,
"high": 0.56,
"magnitude": 0.69,
"value": 0.403,
"x": 1,
"y": -1
},
{
"direction": 74.50400000000002,
"high": 1.04,
"magnitude": 1.079,
"value": 0.288,
"x": 2,
"y": -1
},
{
"direction": 80.14999999999998,
"high": 1.52,
"magnitude": 1.542,
"value": 0.264,
"x": 3,
"y": -1
},
{
"direction": 80.31900000000002,
"high": 2,
"magnitude": 2.029,
"value": 0.341,
"x": 4,
"y": -1
},
{
"direction": 270,
"high": -1.97,
"magnitude": 1.97,
"value": 0,
"x": -4,
"y": 0
},
{
"direction": 275.434,
"high": -1.49,
"magnitude": 1.497,
"value": 0.142,
"x": -3,
"y": 0
},
{
"direction": 282.115,
"high": -1.01,
"magnitude": 1.033,
"value": 0.217,
"x": -2,
"y": 0
},
{
"direction": 289.714,
"high": -0.53,
"magnitude": 0.563,
"value": 0.19,
"x": -1,
"y": 0
},
{
"direction": 325.853,
"high": -0.05,
"magnitude": 0.089,
"value": 0.074,
"x": 0,
"y": 0
},
{
"direction": 100.17399999999998,
"high": 0.43,
"magnitude": 0.437,
"value": -0.077,
"x": 1,
"y": 0
},
{
"direction": 101.899,
"high": 0.91,
"magnitude": 0.93,
"value": -0.192,
"x": 2,
"y": 0
},
{
"direction": 98.83800000000002,
"high": 1.39,
"magnitude": 1.407,
"value": -0.216,
"x": 3,
"y": 0
},
{
"direction": 94.24700000000001,
"high": 1.87,
"magnitude": 1.875,
"value": -0.139,
"x": 4,
"y": 0
},
{
"direction": 257.019,
"high": -2.082,
"magnitude": 2.137,
"value": -0.48,
"x": -4,
"y": 1
},
{
"direction": 258.078,
"high": -1.602,
"magnitude": 1.638,
"value": -0.338,
"x": -3,
"y": 1
},
{
"direction": 256.801,
"high": -1.122,
"magnitude": 1.153,
"value": -0.263,
"x": -2,
"y": 1
},
{
"direction": 245.691,
"high": -0.642,
"magnitude": 0.705,
"value": -0.29,
"x": -1,
"y": 1
},
{
"direction": 201.766,
"high": -0.162,
"magnitude": 0.437,
"value": -0.406,
"x": 0,
"y": 1
},
{
"direction": 150.30200000000002,
"high": 0.318,
"magnitude": 0.641,
"value": -0.557,
"x": 1,
"y": 1
},
{
"direction": 130.098,
"high": 0.798,
"magnitude": 1.043,
"value": -0.672,
"x": 2,
"y": 1
},
{
"direction": 118.582,
"high": 1.278,
"magnitude": 1.455,
"value": -0.696,
"x": 3,
"y": 1
},
{
"direction": 109.39600000000002,
"high": 1.758,
"magnitude": 1.864,
"value": -0.619,
"x": 4,
"y": 1
},
{
"direction": 245.817,
"high": -2.138,
"magnitude": 2.343,
"value": -0.96,
"x": -4,
"y": 2
},
{
"direction": 243.73,
"high": -1.658,
"magnitude": 1.849,
"value": -0.818,
"x": -3,
"y": 2
},
{
"direction": 237.748,
"high": -1.178,
"magnitude": 1.393,
"value": -0.743,
"x": -2,
"y": 2
},
{
"direction": 222.18,
"high": -0.698,
"magnitude": 1.039,
"value": -0.77,
"x": -1,
"y": 2
},
{
"direction": 193.806,
"high": -0.218,
"magnitude": 0.913,
"value": -0.886,
"x": 0,
"y": 2
},
{
"direction": 165.813,
"high": 0.262,
"magnitude": 1.07,
"value": -1.037,
"x": 1,
"y": 2
},
{
"direction": 147.202,
"high": 0.742,
"magnitude": 1.37,
"value": -1.152,
"x": 2,
"y": 2
},
{
"direction": 133.89999999999998,
"high": 1.222,
"magnitude": 1.696,
"value": -1.176,
"x": 3,
"y": 2
},
{
"direction": 122.84500000000003,
"high": 1.702,
"magnitude": 2.026,
"value": -1.099,
"x": 4,
"y": 2
},
{
"direction": 235.78,
"high": -2.117,
"magnitude": 2.561,
"value": -1.44,
"x": -4,
"y": 3
},
{
"direction": 231.588,
"high": -1.637,
"magnitude": 2.09,
"value": -1.298,
"x": -3,
"y": 3
},
{
"direction": 223.414,
"high": -1.157,
"magnitude": 1.684,
"value": -1.223,
"x": -2,
"y": 3
},
{
"direction": 208.448,
"high": -0.677,
"magnitude": 1.422,
"value": -1.25,
"x": -1,
"y": 3
},
{
"direction": 188.216,
"high": -0.197,
"magnitude": 1.38,
"value": -1.366,
"x": 0,
"y": 3
},
{
"direction": 169.44399999999996,
"high": 0.283,
"magnitude": 1.543,
"value": -1.517,
"x": 1,
"y": 3
},
{
"direction": 154.94799999999998,
"high": 0.763,
"magnitude": 1.801,
"value": -1.632,
"x": 2,
"y": 3
},
{
"direction": 143.11700000000002,
"high": 1.243,
"magnitude": 2.071,
"value": -1.656,
"x": 3,
"y": 3
},
{
"direction": 132.505,
"high": 1.723,
"magnitude": 2.337,
"value": -1.579,
"x": 4,
"y": 3
}
];
const options = {
"height": 620,
"locale": "en",
"mark": {
"fields": {
"direction": "direction",
"magnitude": "magnitude"
}
},
"width": "container",
"x": {
"field": "x",
"title": "Horizontal position",
"type": "quantitative"
},
"y": {
"field": "y",
"title": "Vertical position",
"type": "quantitative"
}
};
Graflume.vector('#chart', data, options);Portable schema
ChartSpec 0.1 · options
{
"height": 620,
"locale": "en",
"mark": {
"fields": {
"direction": "direction",
"magnitude": "magnitude"
}
},
"width": "container",
"x": {
"field": "x",
"title": "Horizontal position",
"type": "quantitative"
},
"y": {
"field": "y",
"title": "Vertical position",
"type": "quantitative"
}
}Common features
Features shared by every chart
Use the tabs to compare header, tooltip, theme, legend, highlight, callout, selection, view controls, and accessibility one feature at a time. Hover over a data mark. On supported charts, move the pointer along the axis to see the nearest value. All exact values are available in the table below.
Header
Add a chart title and supporting description inside the visualization.
StatusLoading
header
Loading
Header · Row data
Row data and zero-copy TypedArray columns share one data contract.
xquantitative | yquantitative | directionquantitative | magnitudequantitative |
|---|---|---|---|
| -4 | -3 | 310.267 | 2.228 |
| -3 | -3 | 322.357 | 1.998 |
| -2 | -3 | 335.932 | 1.815 |
| -1 | -3 | 350.937 | 1.651 |
| 0 | -3 | 8.269000000000005 | 1.53 |
| 1 | -3 | 27.187000000000012 | 1.532 |
| 2 | -3 | 43.389999999999986 | 1.718 |
| 3 | -3 | 53.60000000000002 | 2.062 |
| 4 | -3 | 58.69999999999999 | 2.504 |
| -4 | -2 | 298.909 | 1.986 |
| -3 | -2 | 311.202 | 1.673 |
| -2 | -2 | 326.516 | 1.411 |
| -1 | -2 | 345.451 | 1.188 |
| 0 | -2 | 9.963000000000022 | 1.05 |
| 1 | -2 | 36.84699999999998 | 1.103 |
| 2 | -2 | 56.06 | 1.376 |
| 3 | -2 | 65.358 | 1.784 |
| 4 | -2 | 68.65899999999999 | 2.256 |
| -4 | -1 | 284.619 | 1.902 |
| -3 | -1 | 294.563 | 1.496 |
| -2 | -1 | 308.364 | 1.123 |
| -1 | -1 | 329.141 | 0.78 |
| 0 | -1 | 8.192999999999984 | 0.559 |
| 1 | -1 | 54.25799999999998 | 0.69 |
| 2 | -1 | 74.50400000000002 | 1.079 |
| 3 | -1 | 80.14999999999998 | 1.542 |
| 4 | -1 | 80.31900000000002 | 2.029 |
| -4 | 0 | 270 | 1.97 |
| -3 | 0 | 275.434 | 1.497 |
| -2 | 0 | 282.115 | 1.033 |
| -1 | 0 | 289.714 | 0.563 |
| 0 | 0 | 325.853 | 0.089 |
| 1 | 0 | 100.17399999999998 | 0.437 |
| 2 | 0 | 101.899 | 0.93 |
| 3 | 0 | 98.83800000000002 | 1.407 |
| 4 | 0 | 94.24700000000001 | 1.875 |
| -4 | 1 | 257.019 | 2.137 |
| -3 | 1 | 258.078 | 1.638 |
| -2 | 1 | 256.801 | 1.153 |
| -1 | 1 | 245.691 | 0.705 |
| 0 | 1 | 201.766 | 0.437 |
| 1 | 1 | 150.30200000000002 | 0.641 |
| 2 | 1 | 130.098 | 1.043 |
| 3 | 1 | 118.582 | 1.455 |
| 4 | 1 | 109.39600000000002 | 1.864 |
| -4 | 2 | 245.817 | 2.343 |
| -3 | 2 | 243.73 | 1.849 |
| -2 | 2 | 237.748 | 1.393 |
| -1 | 2 | 222.18 | 1.039 |
| 0 | 2 | 193.806 | 0.913 |
| 1 | 2 | 165.813 | 1.07 |
| 2 | 2 | 147.202 | 1.37 |
| 3 | 2 | 133.89999999999998 | 1.696 |
| 4 | 2 | 122.84500000000003 | 2.026 |
| -4 | 3 | 235.78 | 2.561 |
| -3 | 3 | 231.588 | 2.09 |
| -2 | 3 | 223.414 | 1.684 |
| -1 | 3 | 208.448 | 1.422 |
| 0 | 3 | 188.216 | 1.38 |
| 1 | 3 | 169.44399999999996 | 1.543 |
| 2 | 3 | 154.94799999999998 | 1.801 |
| 3 | 3 | 143.11700000000002 | 2.071 |
| 4 | 3 | 132.505 | 2.337 |
Browser API · Portable schema
Browser API
Graflume.vector()
const data = [
{
"direction": 310.267,
"high": -1.7,
"magnitude": 2.228,
"value": 1.44,
"x": -4,
"y": -3
},
{
"direction": 322.357,
"high": -1.22,
"magnitude": 1.998,
"value": 1.582,
"x": -3,
"y": -3
},
{
"direction": 335.932,
"high": -0.74,
"magnitude": 1.815,
"value": 1.657,
"x": -2,
"y": -3
},
{
"direction": 350.937,
"high": -0.26,
"magnitude": 1.651,
"value": 1.63,
"x": -1,
"y": -3
},
{
"direction": 8.269000000000005,
"high": 0.22,
"magnitude": 1.53,
"value": 1.514,
"x": 0,
"y": -3
},
{
"direction": 27.187000000000012,
"high": 0.7,
"magnitude": 1.532,
"value": 1.363,
"x": 1,
"y": -3
},
{
"direction": 43.389999999999986,
"high": 1.18,
"magnitude": 1.718,
"value": 1.248,
"x": 2,
"y": -3
},
{
"direction": 53.60000000000002,
"high": 1.66,
"magnitude": 2.062,
"value": 1.224,
"x": 3,
"y": -3
},
{
"direction": 58.69999999999999,
"high": 2.14,
"magnitude": 2.504,
"value": 1.301,
"x": 4,
"y": -3
},
{
"direction": 298.909,
"high": -1.738,
"magnitude": 1.986,
"value": 0.96,
"x": -4,
"y": -2
},
{
"direction": 311.202,
"high": -1.258,
"magnitude": 1.673,
"value": 1.102,
"x": -3,
"y": -2
},
{
"direction": 326.516,
"high": -0.778,
"magnitude": 1.411,
"value": 1.177,
"x": -2,
"y": -2
},
{
"direction": 345.451,
"high": -0.298,
"magnitude": 1.188,
"value": 1.15,
"x": -1,
"y": -2
},
{
"direction": 9.963000000000022,
"high": 0.182,
"magnitude": 1.05,
"value": 1.034,
"x": 0,
"y": -2
},
{
"direction": 36.84699999999998,
"high": 0.662,
"magnitude": 1.103,
"value": 0.883,
"x": 1,
"y": -2
},
{
"direction": 56.06,
"high": 1.142,
"magnitude": 1.376,
"value": 0.768,
"x": 2,
"y": -2
},
{
"direction": 65.358,
"high": 1.622,
"magnitude": 1.784,
"value": 0.744,
"x": 3,
"y": -2
},
{
"direction": 68.65899999999999,
"high": 2.102,
"magnitude": 2.256,
"value": 0.821,
"x": 4,
"y": -2
},
{
"direction": 284.619,
"high": -1.84,
"magnitude": 1.902,
"value": 0.48,
"x": -4,
"y": -1
},
{
"direction": 294.563,
"high": -1.36,
"magnitude": 1.496,
"value": 0.622,
"x": -3,
"y": -1
},
{
"direction": 308.364,
"high": -0.88,
"magnitude": 1.123,
"value": 0.697,
"x": -2,
"y": -1
},
{
"direction": 329.141,
"high": -0.4,
"magnitude": 0.78,
"value": 0.67,
"x": -1,
"y": -1
},
{
"direction": 8.192999999999984,
"high": 0.08,
"magnitude": 0.559,
"value": 0.554,
"x": 0,
"y": -1
},
{
"direction": 54.25799999999998,
"high": 0.56,
"magnitude": 0.69,
"value": 0.403,
"x": 1,
"y": -1
},
{
"direction": 74.50400000000002,
"high": 1.04,
"magnitude": 1.079,
"value": 0.288,
"x": 2,
"y": -1
},
{
"direction": 80.14999999999998,
"high": 1.52,
"magnitude": 1.542,
"value": 0.264,
"x": 3,
"y": -1
},
{
"direction": 80.31900000000002,
"high": 2,
"magnitude": 2.029,
"value": 0.341,
"x": 4,
"y": -1
},
{
"direction": 270,
"high": -1.97,
"magnitude": 1.97,
"value": 0,
"x": -4,
"y": 0
},
{
"direction": 275.434,
"high": -1.49,
"magnitude": 1.497,
"value": 0.142,
"x": -3,
"y": 0
},
{
"direction": 282.115,
"high": -1.01,
"magnitude": 1.033,
"value": 0.217,
"x": -2,
"y": 0
},
{
"direction": 289.714,
"high": -0.53,
"magnitude": 0.563,
"value": 0.19,
"x": -1,
"y": 0
},
{
"direction": 325.853,
"high": -0.05,
"magnitude": 0.089,
"value": 0.074,
"x": 0,
"y": 0
},
{
"direction": 100.17399999999998,
"high": 0.43,
"magnitude": 0.437,
"value": -0.077,
"x": 1,
"y": 0
},
{
"direction": 101.899,
"high": 0.91,
"magnitude": 0.93,
"value": -0.192,
"x": 2,
"y": 0
},
{
"direction": 98.83800000000002,
"high": 1.39,
"magnitude": 1.407,
"value": -0.216,
"x": 3,
"y": 0
},
{
"direction": 94.24700000000001,
"high": 1.87,
"magnitude": 1.875,
"value": -0.139,
"x": 4,
"y": 0
},
{
"direction": 257.019,
"high": -2.082,
"magnitude": 2.137,
"value": -0.48,
"x": -4,
"y": 1
},
{
"direction": 258.078,
"high": -1.602,
"magnitude": 1.638,
"value": -0.338,
"x": -3,
"y": 1
},
{
"direction": 256.801,
"high": -1.122,
"magnitude": 1.153,
"value": -0.263,
"x": -2,
"y": 1
},
{
"direction": 245.691,
"high": -0.642,
"magnitude": 0.705,
"value": -0.29,
"x": -1,
"y": 1
},
{
"direction": 201.766,
"high": -0.162,
"magnitude": 0.437,
"value": -0.406,
"x": 0,
"y": 1
},
{
"direction": 150.30200000000002,
"high": 0.318,
"magnitude": 0.641,
"value": -0.557,
"x": 1,
"y": 1
},
{
"direction": 130.098,
"high": 0.798,
"magnitude": 1.043,
"value": -0.672,
"x": 2,
"y": 1
},
{
"direction": 118.582,
"high": 1.278,
"magnitude": 1.455,
"value": -0.696,
"x": 3,
"y": 1
},
{
"direction": 109.39600000000002,
"high": 1.758,
"magnitude": 1.864,
"value": -0.619,
"x": 4,
"y": 1
},
{
"direction": 245.817,
"high": -2.138,
"magnitude": 2.343,
"value": -0.96,
"x": -4,
"y": 2
},
{
"direction": 243.73,
"high": -1.658,
"magnitude": 1.849,
"value": -0.818,
"x": -3,
"y": 2
},
{
"direction": 237.748,
"high": -1.178,
"magnitude": 1.393,
"value": -0.743,
"x": -2,
"y": 2
},
{
"direction": 222.18,
"high": -0.698,
"magnitude": 1.039,
"value": -0.77,
"x": -1,
"y": 2
},
{
"direction": 193.806,
"high": -0.218,
"magnitude": 0.913,
"value": -0.886,
"x": 0,
"y": 2
},
{
"direction": 165.813,
"high": 0.262,
"magnitude": 1.07,
"value": -1.037,
"x": 1,
"y": 2
},
{
"direction": 147.202,
"high": 0.742,
"magnitude": 1.37,
"value": -1.152,
"x": 2,
"y": 2
},
{
"direction": 133.89999999999998,
"high": 1.222,
"magnitude": 1.696,
"value": -1.176,
"x": 3,
"y": 2
},
{
"direction": 122.84500000000003,
"high": 1.702,
"magnitude": 2.026,
"value": -1.099,
"x": 4,
"y": 2
},
{
"direction": 235.78,
"high": -2.117,
"magnitude": 2.561,
"value": -1.44,
"x": -4,
"y": 3
},
{
"direction": 231.588,
"high": -1.637,
"magnitude": 2.09,
"value": -1.298,
"x": -3,
"y": 3
},
{
"direction": 223.414,
"high": -1.157,
"magnitude": 1.684,
"value": -1.223,
"x": -2,
"y": 3
},
{
"direction": 208.448,
"high": -0.677,
"magnitude": 1.422,
"value": -1.25,
"x": -1,
"y": 3
},
{
"direction": 188.216,
"high": -0.197,
"magnitude": 1.38,
"value": -1.366,
"x": 0,
"y": 3
},
{
"direction": 169.44399999999996,
"high": 0.283,
"magnitude": 1.543,
"value": -1.517,
"x": 1,
"y": 3
},
{
"direction": 154.94799999999998,
"high": 0.763,
"magnitude": 1.801,
"value": -1.632,
"x": 2,
"y": 3
},
{
"direction": 143.11700000000002,
"high": 1.243,
"magnitude": 2.071,
"value": -1.656,
"x": 3,
"y": 3
},
{
"direction": 132.505,
"high": 1.723,
"magnitude": 2.337,
"value": -1.579,
"x": 4,
"y": 3
}
];
const options = {
"height": 620,
"locale": "en",
"mark": {
"fields": {
"direction": "direction",
"magnitude": "magnitude"
}
},
"title": {
"subtitle": "Vector field chart uses runnable data and options to demonstrate direction and magnitude arrows; magnitude size and width.",
"text": "Vector field"
},
"width": "container",
"x": {
"field": "x",
"title": "Horizontal position",
"type": "quantitative"
},
"y": {
"field": "y",
"title": "Vertical position",
"type": "quantitative"
}
};
Graflume.vector('#chart', data, options);Portable schema
ChartSpec 0.1 · options
{
"height": 620,
"locale": "en",
"mark": {
"fields": {
"direction": "direction",
"magnitude": "magnitude"
}
},
"title": {
"subtitle": "Vector field chart uses runnable data and options to demonstrate direction and magnitude arrows; magnitude size and width.",
"text": "Vector field"
},
"width": "container",
"x": {
"field": "x",
"title": "Horizontal position",
"type": "quantitative"
},
"y": {
"field": "y",
"title": "Vertical position",
"type": "quantitative"
}
}Tooltip
Reveal exact values from a mark or axis position. Authors can choose locale-aware date/time styles and a time zone with declarative options.
StatusLoading
tooltip
Loading
Tooltip · Row data
Row data and zero-copy TypedArray columns share one data contract.
xquantitative | yquantitative | directionquantitative | magnitudequantitative |
|---|---|---|---|
| -4 | -3 | 310.267 | 2.228 |
| -3 | -3 | 322.357 | 1.998 |
| -2 | -3 | 335.932 | 1.815 |
| -1 | -3 | 350.937 | 1.651 |
| 0 | -3 | 8.269000000000005 | 1.53 |
| 1 | -3 | 27.187000000000012 | 1.532 |
| 2 | -3 | 43.389999999999986 | 1.718 |
| 3 | -3 | 53.60000000000002 | 2.062 |
| 4 | -3 | 58.69999999999999 | 2.504 |
| -4 | -2 | 298.909 | 1.986 |
| -3 | -2 | 311.202 | 1.673 |
| -2 | -2 | 326.516 | 1.411 |
| -1 | -2 | 345.451 | 1.188 |
| 0 | -2 | 9.963000000000022 | 1.05 |
| 1 | -2 | 36.84699999999998 | 1.103 |
| 2 | -2 | 56.06 | 1.376 |
| 3 | -2 | 65.358 | 1.784 |
| 4 | -2 | 68.65899999999999 | 2.256 |
| -4 | -1 | 284.619 | 1.902 |
| -3 | -1 | 294.563 | 1.496 |
| -2 | -1 | 308.364 | 1.123 |
| -1 | -1 | 329.141 | 0.78 |
| 0 | -1 | 8.192999999999984 | 0.559 |
| 1 | -1 | 54.25799999999998 | 0.69 |
| 2 | -1 | 74.50400000000002 | 1.079 |
| 3 | -1 | 80.14999999999998 | 1.542 |
| 4 | -1 | 80.31900000000002 | 2.029 |
| -4 | 0 | 270 | 1.97 |
| -3 | 0 | 275.434 | 1.497 |
| -2 | 0 | 282.115 | 1.033 |
| -1 | 0 | 289.714 | 0.563 |
| 0 | 0 | 325.853 | 0.089 |
| 1 | 0 | 100.17399999999998 | 0.437 |
| 2 | 0 | 101.899 | 0.93 |
| 3 | 0 | 98.83800000000002 | 1.407 |
| 4 | 0 | 94.24700000000001 | 1.875 |
| -4 | 1 | 257.019 | 2.137 |
| -3 | 1 | 258.078 | 1.638 |
| -2 | 1 | 256.801 | 1.153 |
| -1 | 1 | 245.691 | 0.705 |
| 0 | 1 | 201.766 | 0.437 |
| 1 | 1 | 150.30200000000002 | 0.641 |
| 2 | 1 | 130.098 | 1.043 |
| 3 | 1 | 118.582 | 1.455 |
| 4 | 1 | 109.39600000000002 | 1.864 |
| -4 | 2 | 245.817 | 2.343 |
| -3 | 2 | 243.73 | 1.849 |
| -2 | 2 | 237.748 | 1.393 |
| -1 | 2 | 222.18 | 1.039 |
| 0 | 2 | 193.806 | 0.913 |
| 1 | 2 | 165.813 | 1.07 |
| 2 | 2 | 147.202 | 1.37 |
| 3 | 2 | 133.89999999999998 | 1.696 |
| 4 | 2 | 122.84500000000003 | 2.026 |
| -4 | 3 | 235.78 | 2.561 |
| -3 | 3 | 231.588 | 2.09 |
| -2 | 3 | 223.414 | 1.684 |
| -1 | 3 | 208.448 | 1.422 |
| 0 | 3 | 188.216 | 1.38 |
| 1 | 3 | 169.44399999999996 | 1.543 |
| 2 | 3 | 154.94799999999998 | 1.801 |
| 3 | 3 | 143.11700000000002 | 2.071 |
| 4 | 3 | 132.505 | 2.337 |
Browser API · Portable schema
Browser API
Graflume.vector()
const data = [
{
"direction": 310.267,
"high": -1.7,
"magnitude": 2.228,
"value": 1.44,
"x": -4,
"y": -3
},
{
"direction": 322.357,
"high": -1.22,
"magnitude": 1.998,
"value": 1.582,
"x": -3,
"y": -3
},
{
"direction": 335.932,
"high": -0.74,
"magnitude": 1.815,
"value": 1.657,
"x": -2,
"y": -3
},
{
"direction": 350.937,
"high": -0.26,
"magnitude": 1.651,
"value": 1.63,
"x": -1,
"y": -3
},
{
"direction": 8.269000000000005,
"high": 0.22,
"magnitude": 1.53,
"value": 1.514,
"x": 0,
"y": -3
},
{
"direction": 27.187000000000012,
"high": 0.7,
"magnitude": 1.532,
"value": 1.363,
"x": 1,
"y": -3
},
{
"direction": 43.389999999999986,
"high": 1.18,
"magnitude": 1.718,
"value": 1.248,
"x": 2,
"y": -3
},
{
"direction": 53.60000000000002,
"high": 1.66,
"magnitude": 2.062,
"value": 1.224,
"x": 3,
"y": -3
},
{
"direction": 58.69999999999999,
"high": 2.14,
"magnitude": 2.504,
"value": 1.301,
"x": 4,
"y": -3
},
{
"direction": 298.909,
"high": -1.738,
"magnitude": 1.986,
"value": 0.96,
"x": -4,
"y": -2
},
{
"direction": 311.202,
"high": -1.258,
"magnitude": 1.673,
"value": 1.102,
"x": -3,
"y": -2
},
{
"direction": 326.516,
"high": -0.778,
"magnitude": 1.411,
"value": 1.177,
"x": -2,
"y": -2
},
{
"direction": 345.451,
"high": -0.298,
"magnitude": 1.188,
"value": 1.15,
"x": -1,
"y": -2
},
{
"direction": 9.963000000000022,
"high": 0.182,
"magnitude": 1.05,
"value": 1.034,
"x": 0,
"y": -2
},
{
"direction": 36.84699999999998,
"high": 0.662,
"magnitude": 1.103,
"value": 0.883,
"x": 1,
"y": -2
},
{
"direction": 56.06,
"high": 1.142,
"magnitude": 1.376,
"value": 0.768,
"x": 2,
"y": -2
},
{
"direction": 65.358,
"high": 1.622,
"magnitude": 1.784,
"value": 0.744,
"x": 3,
"y": -2
},
{
"direction": 68.65899999999999,
"high": 2.102,
"magnitude": 2.256,
"value": 0.821,
"x": 4,
"y": -2
},
{
"direction": 284.619,
"high": -1.84,
"magnitude": 1.902,
"value": 0.48,
"x": -4,
"y": -1
},
{
"direction": 294.563,
"high": -1.36,
"magnitude": 1.496,
"value": 0.622,
"x": -3,
"y": -1
},
{
"direction": 308.364,
"high": -0.88,
"magnitude": 1.123,
"value": 0.697,
"x": -2,
"y": -1
},
{
"direction": 329.141,
"high": -0.4,
"magnitude": 0.78,
"value": 0.67,
"x": -1,
"y": -1
},
{
"direction": 8.192999999999984,
"high": 0.08,
"magnitude": 0.559,
"value": 0.554,
"x": 0,
"y": -1
},
{
"direction": 54.25799999999998,
"high": 0.56,
"magnitude": 0.69,
"value": 0.403,
"x": 1,
"y": -1
},
{
"direction": 74.50400000000002,
"high": 1.04,
"magnitude": 1.079,
"value": 0.288,
"x": 2,
"y": -1
},
{
"direction": 80.14999999999998,
"high": 1.52,
"magnitude": 1.542,
"value": 0.264,
"x": 3,
"y": -1
},
{
"direction": 80.31900000000002,
"high": 2,
"magnitude": 2.029,
"value": 0.341,
"x": 4,
"y": -1
},
{
"direction": 270,
"high": -1.97,
"magnitude": 1.97,
"value": 0,
"x": -4,
"y": 0
},
{
"direction": 275.434,
"high": -1.49,
"magnitude": 1.497,
"value": 0.142,
"x": -3,
"y": 0
},
{
"direction": 282.115,
"high": -1.01,
"magnitude": 1.033,
"value": 0.217,
"x": -2,
"y": 0
},
{
"direction": 289.714,
"high": -0.53,
"magnitude": 0.563,
"value": 0.19,
"x": -1,
"y": 0
},
{
"direction": 325.853,
"high": -0.05,
"magnitude": 0.089,
"value": 0.074,
"x": 0,
"y": 0
},
{
"direction": 100.17399999999998,
"high": 0.43,
"magnitude": 0.437,
"value": -0.077,
"x": 1,
"y": 0
},
{
"direction": 101.899,
"high": 0.91,
"magnitude": 0.93,
"value": -0.192,
"x": 2,
"y": 0
},
{
"direction": 98.83800000000002,
"high": 1.39,
"magnitude": 1.407,
"value": -0.216,
"x": 3,
"y": 0
},
{
"direction": 94.24700000000001,
"high": 1.87,
"magnitude": 1.875,
"value": -0.139,
"x": 4,
"y": 0
},
{
"direction": 257.019,
"high": -2.082,
"magnitude": 2.137,
"value": -0.48,
"x": -4,
"y": 1
},
{
"direction": 258.078,
"high": -1.602,
"magnitude": 1.638,
"value": -0.338,
"x": -3,
"y": 1
},
{
"direction": 256.801,
"high": -1.122,
"magnitude": 1.153,
"value": -0.263,
"x": -2,
"y": 1
},
{
"direction": 245.691,
"high": -0.642,
"magnitude": 0.705,
"value": -0.29,
"x": -1,
"y": 1
},
{
"direction": 201.766,
"high": -0.162,
"magnitude": 0.437,
"value": -0.406,
"x": 0,
"y": 1
},
{
"direction": 150.30200000000002,
"high": 0.318,
"magnitude": 0.641,
"value": -0.557,
"x": 1,
"y": 1
},
{
"direction": 130.098,
"high": 0.798,
"magnitude": 1.043,
"value": -0.672,
"x": 2,
"y": 1
},
{
"direction": 118.582,
"high": 1.278,
"magnitude": 1.455,
"value": -0.696,
"x": 3,
"y": 1
},
{
"direction": 109.39600000000002,
"high": 1.758,
"magnitude": 1.864,
"value": -0.619,
"x": 4,
"y": 1
},
{
"direction": 245.817,
"high": -2.138,
"magnitude": 2.343,
"value": -0.96,
"x": -4,
"y": 2
},
{
"direction": 243.73,
"high": -1.658,
"magnitude": 1.849,
"value": -0.818,
"x": -3,
"y": 2
},
{
"direction": 237.748,
"high": -1.178,
"magnitude": 1.393,
"value": -0.743,
"x": -2,
"y": 2
},
{
"direction": 222.18,
"high": -0.698,
"magnitude": 1.039,
"value": -0.77,
"x": -1,
"y": 2
},
{
"direction": 193.806,
"high": -0.218,
"magnitude": 0.913,
"value": -0.886,
"x": 0,
"y": 2
},
{
"direction": 165.813,
"high": 0.262,
"magnitude": 1.07,
"value": -1.037,
"x": 1,
"y": 2
},
{
"direction": 147.202,
"high": 0.742,
"magnitude": 1.37,
"value": -1.152,
"x": 2,
"y": 2
},
{
"direction": 133.89999999999998,
"high": 1.222,
"magnitude": 1.696,
"value": -1.176,
"x": 3,
"y": 2
},
{
"direction": 122.84500000000003,
"high": 1.702,
"magnitude": 2.026,
"value": -1.099,
"x": 4,
"y": 2
},
{
"direction": 235.78,
"high": -2.117,
"magnitude": 2.561,
"value": -1.44,
"x": -4,
"y": 3
},
{
"direction": 231.588,
"high": -1.637,
"magnitude": 2.09,
"value": -1.298,
"x": -3,
"y": 3
},
{
"direction": 223.414,
"high": -1.157,
"magnitude": 1.684,
"value": -1.223,
"x": -2,
"y": 3
},
{
"direction": 208.448,
"high": -0.677,
"magnitude": 1.422,
"value": -1.25,
"x": -1,
"y": 3
},
{
"direction": 188.216,
"high": -0.197,
"magnitude": 1.38,
"value": -1.366,
"x": 0,
"y": 3
},
{
"direction": 169.44399999999996,
"high": 0.283,
"magnitude": 1.543,
"value": -1.517,
"x": 1,
"y": 3
},
{
"direction": 154.94799999999998,
"high": 0.763,
"magnitude": 1.801,
"value": -1.632,
"x": 2,
"y": 3
},
{
"direction": 143.11700000000002,
"high": 1.243,
"magnitude": 2.071,
"value": -1.656,
"x": 3,
"y": 3
},
{
"direction": 132.505,
"high": 1.723,
"magnitude": 2.337,
"value": -1.579,
"x": 4,
"y": 3
}
];
const options = {
"height": 620,
"interaction": {
"hover": true,
"tooltip": {
"fields": [
{
"field": "x",
"format": "number",
"label": "X"
},
{
"field": "y",
"format": "number",
"label": "Y"
},
{
"field": "direction",
"format": "number",
"fractionDigits": 0,
"label": "Direction",
"suffix": "°"
},
{
"field": "magnitude",
"format": "number",
"label": "Magnitude"
}
],
"title": "Vector field · Tooltip",
"trigger": "mark"
}
},
"locale": "en",
"mark": {
"fields": {
"direction": "direction",
"magnitude": "magnitude"
}
},
"width": "container",
"x": {
"field": "x",
"title": "Horizontal position",
"type": "quantitative"
},
"y": {
"field": "y",
"title": "Vertical position",
"type": "quantitative"
}
};
Graflume.vector('#chart', data, options);Portable schema
ChartSpec 0.1 · options
{
"height": 620,
"interaction": {
"hover": true,
"tooltip": {
"fields": [
{
"field": "x",
"format": "number",
"label": "X"
},
{
"field": "y",
"format": "number",
"label": "Y"
},
{
"field": "direction",
"format": "number",
"fractionDigits": 0,
"label": "Direction",
"suffix": "°"
},
{
"field": "magnitude",
"format": "number",
"label": "Magnitude"
}
],
"title": "Vector field · Tooltip",
"trigger": "mark"
}
},
"locale": "en",
"mark": {
"fields": {
"direction": "direction",
"magnitude": "magnitude"
}
},
"width": "container",
"x": {
"field": "x",
"title": "Horizontal position",
"type": "quantitative"
},
"y": {
"field": "y",
"title": "Vertical position",
"type": "quantitative"
}
}Theme
Apply the current built-in theme from the selector and update every active example together.
StatusLoading
theme
Loading
Theme · Row data
Row data and zero-copy TypedArray columns share one data contract.
xquantitative | yquantitative | directionquantitative | magnitudequantitative |
|---|---|---|---|
| -4 | -3 | 310.267 | 2.228 |
| -3 | -3 | 322.357 | 1.998 |
| -2 | -3 | 335.932 | 1.815 |
| -1 | -3 | 350.937 | 1.651 |
| 0 | -3 | 8.269000000000005 | 1.53 |
| 1 | -3 | 27.187000000000012 | 1.532 |
| 2 | -3 | 43.389999999999986 | 1.718 |
| 3 | -3 | 53.60000000000002 | 2.062 |
| 4 | -3 | 58.69999999999999 | 2.504 |
| -4 | -2 | 298.909 | 1.986 |
| -3 | -2 | 311.202 | 1.673 |
| -2 | -2 | 326.516 | 1.411 |
| -1 | -2 | 345.451 | 1.188 |
| 0 | -2 | 9.963000000000022 | 1.05 |
| 1 | -2 | 36.84699999999998 | 1.103 |
| 2 | -2 | 56.06 | 1.376 |
| 3 | -2 | 65.358 | 1.784 |
| 4 | -2 | 68.65899999999999 | 2.256 |
| -4 | -1 | 284.619 | 1.902 |
| -3 | -1 | 294.563 | 1.496 |
| -2 | -1 | 308.364 | 1.123 |
| -1 | -1 | 329.141 | 0.78 |
| 0 | -1 | 8.192999999999984 | 0.559 |
| 1 | -1 | 54.25799999999998 | 0.69 |
| 2 | -1 | 74.50400000000002 | 1.079 |
| 3 | -1 | 80.14999999999998 | 1.542 |
| 4 | -1 | 80.31900000000002 | 2.029 |
| -4 | 0 | 270 | 1.97 |
| -3 | 0 | 275.434 | 1.497 |
| -2 | 0 | 282.115 | 1.033 |
| -1 | 0 | 289.714 | 0.563 |
| 0 | 0 | 325.853 | 0.089 |
| 1 | 0 | 100.17399999999998 | 0.437 |
| 2 | 0 | 101.899 | 0.93 |
| 3 | 0 | 98.83800000000002 | 1.407 |
| 4 | 0 | 94.24700000000001 | 1.875 |
| -4 | 1 | 257.019 | 2.137 |
| -3 | 1 | 258.078 | 1.638 |
| -2 | 1 | 256.801 | 1.153 |
| -1 | 1 | 245.691 | 0.705 |
| 0 | 1 | 201.766 | 0.437 |
| 1 | 1 | 150.30200000000002 | 0.641 |
| 2 | 1 | 130.098 | 1.043 |
| 3 | 1 | 118.582 | 1.455 |
| 4 | 1 | 109.39600000000002 | 1.864 |
| -4 | 2 | 245.817 | 2.343 |
| -3 | 2 | 243.73 | 1.849 |
| -2 | 2 | 237.748 | 1.393 |
| -1 | 2 | 222.18 | 1.039 |
| 0 | 2 | 193.806 | 0.913 |
| 1 | 2 | 165.813 | 1.07 |
| 2 | 2 | 147.202 | 1.37 |
| 3 | 2 | 133.89999999999998 | 1.696 |
| 4 | 2 | 122.84500000000003 | 2.026 |
| -4 | 3 | 235.78 | 2.561 |
| -3 | 3 | 231.588 | 2.09 |
| -2 | 3 | 223.414 | 1.684 |
| -1 | 3 | 208.448 | 1.422 |
| 0 | 3 | 188.216 | 1.38 |
| 1 | 3 | 169.44399999999996 | 1.543 |
| 2 | 3 | 154.94799999999998 | 1.801 |
| 3 | 3 | 143.11700000000002 | 2.071 |
| 4 | 3 | 132.505 | 2.337 |
Browser API · Portable schema
Browser API
Graflume.vector()
const data = [
{
"direction": 310.267,
"high": -1.7,
"magnitude": 2.228,
"value": 1.44,
"x": -4,
"y": -3
},
{
"direction": 322.357,
"high": -1.22,
"magnitude": 1.998,
"value": 1.582,
"x": -3,
"y": -3
},
{
"direction": 335.932,
"high": -0.74,
"magnitude": 1.815,
"value": 1.657,
"x": -2,
"y": -3
},
{
"direction": 350.937,
"high": -0.26,
"magnitude": 1.651,
"value": 1.63,
"x": -1,
"y": -3
},
{
"direction": 8.269000000000005,
"high": 0.22,
"magnitude": 1.53,
"value": 1.514,
"x": 0,
"y": -3
},
{
"direction": 27.187000000000012,
"high": 0.7,
"magnitude": 1.532,
"value": 1.363,
"x": 1,
"y": -3
},
{
"direction": 43.389999999999986,
"high": 1.18,
"magnitude": 1.718,
"value": 1.248,
"x": 2,
"y": -3
},
{
"direction": 53.60000000000002,
"high": 1.66,
"magnitude": 2.062,
"value": 1.224,
"x": 3,
"y": -3
},
{
"direction": 58.69999999999999,
"high": 2.14,
"magnitude": 2.504,
"value": 1.301,
"x": 4,
"y": -3
},
{
"direction": 298.909,
"high": -1.738,
"magnitude": 1.986,
"value": 0.96,
"x": -4,
"y": -2
},
{
"direction": 311.202,
"high": -1.258,
"magnitude": 1.673,
"value": 1.102,
"x": -3,
"y": -2
},
{
"direction": 326.516,
"high": -0.778,
"magnitude": 1.411,
"value": 1.177,
"x": -2,
"y": -2
},
{
"direction": 345.451,
"high": -0.298,
"magnitude": 1.188,
"value": 1.15,
"x": -1,
"y": -2
},
{
"direction": 9.963000000000022,
"high": 0.182,
"magnitude": 1.05,
"value": 1.034,
"x": 0,
"y": -2
},
{
"direction": 36.84699999999998,
"high": 0.662,
"magnitude": 1.103,
"value": 0.883,
"x": 1,
"y": -2
},
{
"direction": 56.06,
"high": 1.142,
"magnitude": 1.376,
"value": 0.768,
"x": 2,
"y": -2
},
{
"direction": 65.358,
"high": 1.622,
"magnitude": 1.784,
"value": 0.744,
"x": 3,
"y": -2
},
{
"direction": 68.65899999999999,
"high": 2.102,
"magnitude": 2.256,
"value": 0.821,
"x": 4,
"y": -2
},
{
"direction": 284.619,
"high": -1.84,
"magnitude": 1.902,
"value": 0.48,
"x": -4,
"y": -1
},
{
"direction": 294.563,
"high": -1.36,
"magnitude": 1.496,
"value": 0.622,
"x": -3,
"y": -1
},
{
"direction": 308.364,
"high": -0.88,
"magnitude": 1.123,
"value": 0.697,
"x": -2,
"y": -1
},
{
"direction": 329.141,
"high": -0.4,
"magnitude": 0.78,
"value": 0.67,
"x": -1,
"y": -1
},
{
"direction": 8.192999999999984,
"high": 0.08,
"magnitude": 0.559,
"value": 0.554,
"x": 0,
"y": -1
},
{
"direction": 54.25799999999998,
"high": 0.56,
"magnitude": 0.69,
"value": 0.403,
"x": 1,
"y": -1
},
{
"direction": 74.50400000000002,
"high": 1.04,
"magnitude": 1.079,
"value": 0.288,
"x": 2,
"y": -1
},
{
"direction": 80.14999999999998,
"high": 1.52,
"magnitude": 1.542,
"value": 0.264,
"x": 3,
"y": -1
},
{
"direction": 80.31900000000002,
"high": 2,
"magnitude": 2.029,
"value": 0.341,
"x": 4,
"y": -1
},
{
"direction": 270,
"high": -1.97,
"magnitude": 1.97,
"value": 0,
"x": -4,
"y": 0
},
{
"direction": 275.434,
"high": -1.49,
"magnitude": 1.497,
"value": 0.142,
"x": -3,
"y": 0
},
{
"direction": 282.115,
"high": -1.01,
"magnitude": 1.033,
"value": 0.217,
"x": -2,
"y": 0
},
{
"direction": 289.714,
"high": -0.53,
"magnitude": 0.563,
"value": 0.19,
"x": -1,
"y": 0
},
{
"direction": 325.853,
"high": -0.05,
"magnitude": 0.089,
"value": 0.074,
"x": 0,
"y": 0
},
{
"direction": 100.17399999999998,
"high": 0.43,
"magnitude": 0.437,
"value": -0.077,
"x": 1,
"y": 0
},
{
"direction": 101.899,
"high": 0.91,
"magnitude": 0.93,
"value": -0.192,
"x": 2,
"y": 0
},
{
"direction": 98.83800000000002,
"high": 1.39,
"magnitude": 1.407,
"value": -0.216,
"x": 3,
"y": 0
},
{
"direction": 94.24700000000001,
"high": 1.87,
"magnitude": 1.875,
"value": -0.139,
"x": 4,
"y": 0
},
{
"direction": 257.019,
"high": -2.082,
"magnitude": 2.137,
"value": -0.48,
"x": -4,
"y": 1
},
{
"direction": 258.078,
"high": -1.602,
"magnitude": 1.638,
"value": -0.338,
"x": -3,
"y": 1
},
{
"direction": 256.801,
"high": -1.122,
"magnitude": 1.153,
"value": -0.263,
"x": -2,
"y": 1
},
{
"direction": 245.691,
"high": -0.642,
"magnitude": 0.705,
"value": -0.29,
"x": -1,
"y": 1
},
{
"direction": 201.766,
"high": -0.162,
"magnitude": 0.437,
"value": -0.406,
"x": 0,
"y": 1
},
{
"direction": 150.30200000000002,
"high": 0.318,
"magnitude": 0.641,
"value": -0.557,
"x": 1,
"y": 1
},
{
"direction": 130.098,
"high": 0.798,
"magnitude": 1.043,
"value": -0.672,
"x": 2,
"y": 1
},
{
"direction": 118.582,
"high": 1.278,
"magnitude": 1.455,
"value": -0.696,
"x": 3,
"y": 1
},
{
"direction": 109.39600000000002,
"high": 1.758,
"magnitude": 1.864,
"value": -0.619,
"x": 4,
"y": 1
},
{
"direction": 245.817,
"high": -2.138,
"magnitude": 2.343,
"value": -0.96,
"x": -4,
"y": 2
},
{
"direction": 243.73,
"high": -1.658,
"magnitude": 1.849,
"value": -0.818,
"x": -3,
"y": 2
},
{
"direction": 237.748,
"high": -1.178,
"magnitude": 1.393,
"value": -0.743,
"x": -2,
"y": 2
},
{
"direction": 222.18,
"high": -0.698,
"magnitude": 1.039,
"value": -0.77,
"x": -1,
"y": 2
},
{
"direction": 193.806,
"high": -0.218,
"magnitude": 0.913,
"value": -0.886,
"x": 0,
"y": 2
},
{
"direction": 165.813,
"high": 0.262,
"magnitude": 1.07,
"value": -1.037,
"x": 1,
"y": 2
},
{
"direction": 147.202,
"high": 0.742,
"magnitude": 1.37,
"value": -1.152,
"x": 2,
"y": 2
},
{
"direction": 133.89999999999998,
"high": 1.222,
"magnitude": 1.696,
"value": -1.176,
"x": 3,
"y": 2
},
{
"direction": 122.84500000000003,
"high": 1.702,
"magnitude": 2.026,
"value": -1.099,
"x": 4,
"y": 2
},
{
"direction": 235.78,
"high": -2.117,
"magnitude": 2.561,
"value": -1.44,
"x": -4,
"y": 3
},
{
"direction": 231.588,
"high": -1.637,
"magnitude": 2.09,
"value": -1.298,
"x": -3,
"y": 3
},
{
"direction": 223.414,
"high": -1.157,
"magnitude": 1.684,
"value": -1.223,
"x": -2,
"y": 3
},
{
"direction": 208.448,
"high": -0.677,
"magnitude": 1.422,
"value": -1.25,
"x": -1,
"y": 3
},
{
"direction": 188.216,
"high": -0.197,
"magnitude": 1.38,
"value": -1.366,
"x": 0,
"y": 3
},
{
"direction": 169.44399999999996,
"high": 0.283,
"magnitude": 1.543,
"value": -1.517,
"x": 1,
"y": 3
},
{
"direction": 154.94799999999998,
"high": 0.763,
"magnitude": 1.801,
"value": -1.632,
"x": 2,
"y": 3
},
{
"direction": 143.11700000000002,
"high": 1.243,
"magnitude": 2.071,
"value": -1.656,
"x": 3,
"y": 3
},
{
"direction": 132.505,
"high": 1.723,
"magnitude": 2.337,
"value": -1.579,
"x": 4,
"y": 3
}
];
const options = {
"height": 620,
"locale": "en",
"mark": {
"fields": {
"direction": "direction",
"magnitude": "magnitude"
}
},
"theme": "graflume-light",
"width": "container",
"x": {
"field": "x",
"title": "Horizontal position",
"type": "quantitative"
},
"y": {
"field": "y",
"title": "Vertical position",
"type": "quantitative"
}
};
Graflume.vector('#chart', data, options);Portable schema
ChartSpec 0.1 · options
{
"height": 620,
"locale": "en",
"mark": {
"fields": {
"direction": "direction",
"magnitude": "magnitude"
}
},
"theme": "graflume-light",
"width": "container",
"x": {
"field": "x",
"title": "Horizontal position",
"type": "quantitative"
},
"y": {
"field": "y",
"title": "Vertical position",
"type": "quantitative"
}
}Legend
Explain the visual meaning of layers, categories, or continuous values.
StatusLoading
legend
- Legend:
legend · explicit · 1 channels
Loading
Legend · Row data
Row data and zero-copy TypedArray columns share one data contract.
xquantitative | yquantitative | directionquantitative | magnitudequantitative |
|---|---|---|---|
| -4 | -3 | 310.267 | 2.228 |
| -3 | -3 | 322.357 | 1.998 |
| -2 | -3 | 335.932 | 1.815 |
| -1 | -3 | 350.937 | 1.651 |
| 0 | -3 | 8.269000000000005 | 1.53 |
| 1 | -3 | 27.187000000000012 | 1.532 |
| 2 | -3 | 43.389999999999986 | 1.718 |
| 3 | -3 | 53.60000000000002 | 2.062 |
| 4 | -3 | 58.69999999999999 | 2.504 |
| -4 | -2 | 298.909 | 1.986 |
| -3 | -2 | 311.202 | 1.673 |
| -2 | -2 | 326.516 | 1.411 |
| -1 | -2 | 345.451 | 1.188 |
| 0 | -2 | 9.963000000000022 | 1.05 |
| 1 | -2 | 36.84699999999998 | 1.103 |
| 2 | -2 | 56.06 | 1.376 |
| 3 | -2 | 65.358 | 1.784 |
| 4 | -2 | 68.65899999999999 | 2.256 |
| -4 | -1 | 284.619 | 1.902 |
| -3 | -1 | 294.563 | 1.496 |
| -2 | -1 | 308.364 | 1.123 |
| -1 | -1 | 329.141 | 0.78 |
| 0 | -1 | 8.192999999999984 | 0.559 |
| 1 | -1 | 54.25799999999998 | 0.69 |
| 2 | -1 | 74.50400000000002 | 1.079 |
| 3 | -1 | 80.14999999999998 | 1.542 |
| 4 | -1 | 80.31900000000002 | 2.029 |
| -4 | 0 | 270 | 1.97 |
| -3 | 0 | 275.434 | 1.497 |
| -2 | 0 | 282.115 | 1.033 |
| -1 | 0 | 289.714 | 0.563 |
| 0 | 0 | 325.853 | 0.089 |
| 1 | 0 | 100.17399999999998 | 0.437 |
| 2 | 0 | 101.899 | 0.93 |
| 3 | 0 | 98.83800000000002 | 1.407 |
| 4 | 0 | 94.24700000000001 | 1.875 |
| -4 | 1 | 257.019 | 2.137 |
| -3 | 1 | 258.078 | 1.638 |
| -2 | 1 | 256.801 | 1.153 |
| -1 | 1 | 245.691 | 0.705 |
| 0 | 1 | 201.766 | 0.437 |
| 1 | 1 | 150.30200000000002 | 0.641 |
| 2 | 1 | 130.098 | 1.043 |
| 3 | 1 | 118.582 | 1.455 |
| 4 | 1 | 109.39600000000002 | 1.864 |
| -4 | 2 | 245.817 | 2.343 |
| -3 | 2 | 243.73 | 1.849 |
| -2 | 2 | 237.748 | 1.393 |
| -1 | 2 | 222.18 | 1.039 |
| 0 | 2 | 193.806 | 0.913 |
| 1 | 2 | 165.813 | 1.07 |
| 2 | 2 | 147.202 | 1.37 |
| 3 | 2 | 133.89999999999998 | 1.696 |
| 4 | 2 | 122.84500000000003 | 2.026 |
| -4 | 3 | 235.78 | 2.561 |
| -3 | 3 | 231.588 | 2.09 |
| -2 | 3 | 223.414 | 1.684 |
| -1 | 3 | 208.448 | 1.422 |
| 0 | 3 | 188.216 | 1.38 |
| 1 | 3 | 169.44399999999996 | 1.543 |
| 2 | 3 | 154.94799999999998 | 1.801 |
| 3 | 3 | 143.11700000000002 | 2.071 |
| 4 | 3 | 132.505 | 2.337 |
Browser API · Portable schema
Browser API
Graflume.vector()
const data = [
{
"direction": 310.267,
"high": -1.7,
"magnitude": 2.228,
"value": 1.44,
"x": -4,
"y": -3
},
{
"direction": 322.357,
"high": -1.22,
"magnitude": 1.998,
"value": 1.582,
"x": -3,
"y": -3
},
{
"direction": 335.932,
"high": -0.74,
"magnitude": 1.815,
"value": 1.657,
"x": -2,
"y": -3
},
{
"direction": 350.937,
"high": -0.26,
"magnitude": 1.651,
"value": 1.63,
"x": -1,
"y": -3
},
{
"direction": 8.269000000000005,
"high": 0.22,
"magnitude": 1.53,
"value": 1.514,
"x": 0,
"y": -3
},
{
"direction": 27.187000000000012,
"high": 0.7,
"magnitude": 1.532,
"value": 1.363,
"x": 1,
"y": -3
},
{
"direction": 43.389999999999986,
"high": 1.18,
"magnitude": 1.718,
"value": 1.248,
"x": 2,
"y": -3
},
{
"direction": 53.60000000000002,
"high": 1.66,
"magnitude": 2.062,
"value": 1.224,
"x": 3,
"y": -3
},
{
"direction": 58.69999999999999,
"high": 2.14,
"magnitude": 2.504,
"value": 1.301,
"x": 4,
"y": -3
},
{
"direction": 298.909,
"high": -1.738,
"magnitude": 1.986,
"value": 0.96,
"x": -4,
"y": -2
},
{
"direction": 311.202,
"high": -1.258,
"magnitude": 1.673,
"value": 1.102,
"x": -3,
"y": -2
},
{
"direction": 326.516,
"high": -0.778,
"magnitude": 1.411,
"value": 1.177,
"x": -2,
"y": -2
},
{
"direction": 345.451,
"high": -0.298,
"magnitude": 1.188,
"value": 1.15,
"x": -1,
"y": -2
},
{
"direction": 9.963000000000022,
"high": 0.182,
"magnitude": 1.05,
"value": 1.034,
"x": 0,
"y": -2
},
{
"direction": 36.84699999999998,
"high": 0.662,
"magnitude": 1.103,
"value": 0.883,
"x": 1,
"y": -2
},
{
"direction": 56.06,
"high": 1.142,
"magnitude": 1.376,
"value": 0.768,
"x": 2,
"y": -2
},
{
"direction": 65.358,
"high": 1.622,
"magnitude": 1.784,
"value": 0.744,
"x": 3,
"y": -2
},
{
"direction": 68.65899999999999,
"high": 2.102,
"magnitude": 2.256,
"value": 0.821,
"x": 4,
"y": -2
},
{
"direction": 284.619,
"high": -1.84,
"magnitude": 1.902,
"value": 0.48,
"x": -4,
"y": -1
},
{
"direction": 294.563,
"high": -1.36,
"magnitude": 1.496,
"value": 0.622,
"x": -3,
"y": -1
},
{
"direction": 308.364,
"high": -0.88,
"magnitude": 1.123,
"value": 0.697,
"x": -2,
"y": -1
},
{
"direction": 329.141,
"high": -0.4,
"magnitude": 0.78,
"value": 0.67,
"x": -1,
"y": -1
},
{
"direction": 8.192999999999984,
"high": 0.08,
"magnitude": 0.559,
"value": 0.554,
"x": 0,
"y": -1
},
{
"direction": 54.25799999999998,
"high": 0.56,
"magnitude": 0.69,
"value": 0.403,
"x": 1,
"y": -1
},
{
"direction": 74.50400000000002,
"high": 1.04,
"magnitude": 1.079,
"value": 0.288,
"x": 2,
"y": -1
},
{
"direction": 80.14999999999998,
"high": 1.52,
"magnitude": 1.542,
"value": 0.264,
"x": 3,
"y": -1
},
{
"direction": 80.31900000000002,
"high": 2,
"magnitude": 2.029,
"value": 0.341,
"x": 4,
"y": -1
},
{
"direction": 270,
"high": -1.97,
"magnitude": 1.97,
"value": 0,
"x": -4,
"y": 0
},
{
"direction": 275.434,
"high": -1.49,
"magnitude": 1.497,
"value": 0.142,
"x": -3,
"y": 0
},
{
"direction": 282.115,
"high": -1.01,
"magnitude": 1.033,
"value": 0.217,
"x": -2,
"y": 0
},
{
"direction": 289.714,
"high": -0.53,
"magnitude": 0.563,
"value": 0.19,
"x": -1,
"y": 0
},
{
"direction": 325.853,
"high": -0.05,
"magnitude": 0.089,
"value": 0.074,
"x": 0,
"y": 0
},
{
"direction": 100.17399999999998,
"high": 0.43,
"magnitude": 0.437,
"value": -0.077,
"x": 1,
"y": 0
},
{
"direction": 101.899,
"high": 0.91,
"magnitude": 0.93,
"value": -0.192,
"x": 2,
"y": 0
},
{
"direction": 98.83800000000002,
"high": 1.39,
"magnitude": 1.407,
"value": -0.216,
"x": 3,
"y": 0
},
{
"direction": 94.24700000000001,
"high": 1.87,
"magnitude": 1.875,
"value": -0.139,
"x": 4,
"y": 0
},
{
"direction": 257.019,
"high": -2.082,
"magnitude": 2.137,
"value": -0.48,
"x": -4,
"y": 1
},
{
"direction": 258.078,
"high": -1.602,
"magnitude": 1.638,
"value": -0.338,
"x": -3,
"y": 1
},
{
"direction": 256.801,
"high": -1.122,
"magnitude": 1.153,
"value": -0.263,
"x": -2,
"y": 1
},
{
"direction": 245.691,
"high": -0.642,
"magnitude": 0.705,
"value": -0.29,
"x": -1,
"y": 1
},
{
"direction": 201.766,
"high": -0.162,
"magnitude": 0.437,
"value": -0.406,
"x": 0,
"y": 1
},
{
"direction": 150.30200000000002,
"high": 0.318,
"magnitude": 0.641,
"value": -0.557,
"x": 1,
"y": 1
},
{
"direction": 130.098,
"high": 0.798,
"magnitude": 1.043,
"value": -0.672,
"x": 2,
"y": 1
},
{
"direction": 118.582,
"high": 1.278,
"magnitude": 1.455,
"value": -0.696,
"x": 3,
"y": 1
},
{
"direction": 109.39600000000002,
"high": 1.758,
"magnitude": 1.864,
"value": -0.619,
"x": 4,
"y": 1
},
{
"direction": 245.817,
"high": -2.138,
"magnitude": 2.343,
"value": -0.96,
"x": -4,
"y": 2
},
{
"direction": 243.73,
"high": -1.658,
"magnitude": 1.849,
"value": -0.818,
"x": -3,
"y": 2
},
{
"direction": 237.748,
"high": -1.178,
"magnitude": 1.393,
"value": -0.743,
"x": -2,
"y": 2
},
{
"direction": 222.18,
"high": -0.698,
"magnitude": 1.039,
"value": -0.77,
"x": -1,
"y": 2
},
{
"direction": 193.806,
"high": -0.218,
"magnitude": 0.913,
"value": -0.886,
"x": 0,
"y": 2
},
{
"direction": 165.813,
"high": 0.262,
"magnitude": 1.07,
"value": -1.037,
"x": 1,
"y": 2
},
{
"direction": 147.202,
"high": 0.742,
"magnitude": 1.37,
"value": -1.152,
"x": 2,
"y": 2
},
{
"direction": 133.89999999999998,
"high": 1.222,
"magnitude": 1.696,
"value": -1.176,
"x": 3,
"y": 2
},
{
"direction": 122.84500000000003,
"high": 1.702,
"magnitude": 2.026,
"value": -1.099,
"x": 4,
"y": 2
},
{
"direction": 235.78,
"high": -2.117,
"magnitude": 2.561,
"value": -1.44,
"x": -4,
"y": 3
},
{
"direction": 231.588,
"high": -1.637,
"magnitude": 2.09,
"value": -1.298,
"x": -3,
"y": 3
},
{
"direction": 223.414,
"high": -1.157,
"magnitude": 1.684,
"value": -1.223,
"x": -2,
"y": 3
},
{
"direction": 208.448,
"high": -0.677,
"magnitude": 1.422,
"value": -1.25,
"x": -1,
"y": 3
},
{
"direction": 188.216,
"high": -0.197,
"magnitude": 1.38,
"value": -1.366,
"x": 0,
"y": 3
},
{
"direction": 169.44399999999996,
"high": 0.283,
"magnitude": 1.543,
"value": -1.517,
"x": 1,
"y": 3
},
{
"direction": 154.94799999999998,
"high": 0.763,
"magnitude": 1.801,
"value": -1.632,
"x": 2,
"y": 3
},
{
"direction": 143.11700000000002,
"high": 1.243,
"magnitude": 2.071,
"value": -1.656,
"x": 3,
"y": 3
},
{
"direction": 132.505,
"high": 1.723,
"magnitude": 2.337,
"value": -1.579,
"x": 4,
"y": 3
}
];
const options = {
"height": 620,
"legend": {
"interactive": false,
"items": [
{
"id": "semantic-0",
"label": "Magnitude · length"
}
],
"labels": {
"hide": "Hide",
"show": "Show"
},
"maxItems": 8,
"mode": "layers",
"orientation": "horizontal",
"position": "bottom",
"title": "Vector field · Legend",
"visible": true
},
"locale": "en",
"mark": {
"fields": {
"direction": "direction",
"magnitude": "magnitude"
}
},
"width": "container",
"x": {
"field": "x",
"title": "Horizontal position",
"type": "quantitative"
},
"y": {
"field": "y",
"title": "Vertical position",
"type": "quantitative"
}
};
Graflume.vector('#chart', data, options);Portable schema
ChartSpec 0.1 · options
{
"height": 620,
"legend": {
"interactive": false,
"items": [
{
"id": "semantic-0",
"label": "Magnitude · length"
}
],
"labels": {
"hide": "Hide",
"show": "Show"
},
"maxItems": 8,
"mode": "layers",
"orientation": "horizontal",
"position": "bottom",
"title": "Vector field · Legend",
"visible": true
},
"locale": "en",
"mark": {
"fields": {
"direction": "direction",
"magnitude": "magnitude"
}
},
"width": "container",
"x": {
"field": "x",
"title": "Horizontal position",
"type": "quantitative"
},
"y": {
"field": "y",
"title": "Vertical position",
"type": "quantitative"
}
}Highlight
Emphasize a representative datum or spatial position to guide inspection.
StatusLoading
highlight
- Point and range highlights:
highlights[] · datum · direction
Loading
Highlight · Row data
Row data and zero-copy TypedArray columns share one data contract.
xquantitative | yquantitative | directionquantitative | magnitudequantitative |
|---|---|---|---|
| -4 | -3 | 310.267 | 2.228 |
| -3 | -3 | 322.357 | 1.998 |
| -2 | -3 | 335.932 | 1.815 |
| -1 | -3 | 350.937 | 1.651 |
| 0 | -3 | 8.269000000000005 | 1.53 |
| 1 | -3 | 27.187000000000012 | 1.532 |
| 2 | -3 | 43.389999999999986 | 1.718 |
| 3 | -3 | 53.60000000000002 | 2.062 |
| 4 | -3 | 58.69999999999999 | 2.504 |
| -4 | -2 | 298.909 | 1.986 |
| -3 | -2 | 311.202 | 1.673 |
| -2 | -2 | 326.516 | 1.411 |
| -1 | -2 | 345.451 | 1.188 |
| 0 | -2 | 9.963000000000022 | 1.05 |
| 1 | -2 | 36.84699999999998 | 1.103 |
| 2 | -2 | 56.06 | 1.376 |
| 3 | -2 | 65.358 | 1.784 |
| 4 | -2 | 68.65899999999999 | 2.256 |
| -4 | -1 | 284.619 | 1.902 |
| -3 | -1 | 294.563 | 1.496 |
| -2 | -1 | 308.364 | 1.123 |
| -1 | -1 | 329.141 | 0.78 |
| 0 | -1 | 8.192999999999984 | 0.559 |
| 1 | -1 | 54.25799999999998 | 0.69 |
| 2 | -1 | 74.50400000000002 | 1.079 |
| 3 | -1 | 80.14999999999998 | 1.542 |
| 4 | -1 | 80.31900000000002 | 2.029 |
| -4 | 0 | 270 | 1.97 |
| -3 | 0 | 275.434 | 1.497 |
| -2 | 0 | 282.115 | 1.033 |
| -1 | 0 | 289.714 | 0.563 |
| 0 | 0 | 325.853 | 0.089 |
| 1 | 0 | 100.17399999999998 | 0.437 |
| 2 | 0 | 101.899 | 0.93 |
| 3 | 0 | 98.83800000000002 | 1.407 |
| 4 | 0 | 94.24700000000001 | 1.875 |
| -4 | 1 | 257.019 | 2.137 |
| -3 | 1 | 258.078 | 1.638 |
| -2 | 1 | 256.801 | 1.153 |
| -1 | 1 | 245.691 | 0.705 |
| 0 | 1 | 201.766 | 0.437 |
| 1 | 1 | 150.30200000000002 | 0.641 |
| 2 | 1 | 130.098 | 1.043 |
| 3 | 1 | 118.582 | 1.455 |
| 4 | 1 | 109.39600000000002 | 1.864 |
| -4 | 2 | 245.817 | 2.343 |
| -3 | 2 | 243.73 | 1.849 |
| -2 | 2 | 237.748 | 1.393 |
| -1 | 2 | 222.18 | 1.039 |
| 0 | 2 | 193.806 | 0.913 |
| 1 | 2 | 165.813 | 1.07 |
| 2 | 2 | 147.202 | 1.37 |
| 3 | 2 | 133.89999999999998 | 1.696 |
| 4 | 2 | 122.84500000000003 | 2.026 |
| -4 | 3 | 235.78 | 2.561 |
| -3 | 3 | 231.588 | 2.09 |
| -2 | 3 | 223.414 | 1.684 |
| -1 | 3 | 208.448 | 1.422 |
| 0 | 3 | 188.216 | 1.38 |
| 1 | 3 | 169.44399999999996 | 1.543 |
| 2 | 3 | 154.94799999999998 | 1.801 |
| 3 | 3 | 143.11700000000002 | 2.071 |
| 4 | 3 | 132.505 | 2.337 |
Browser API · Portable schema
Browser API
Graflume.vector()
const data = [
{
"direction": 310.267,
"high": -1.7,
"magnitude": 2.228,
"value": 1.44,
"x": -4,
"y": -3
},
{
"direction": 322.357,
"high": -1.22,
"magnitude": 1.998,
"value": 1.582,
"x": -3,
"y": -3
},
{
"direction": 335.932,
"high": -0.74,
"magnitude": 1.815,
"value": 1.657,
"x": -2,
"y": -3
},
{
"direction": 350.937,
"high": -0.26,
"magnitude": 1.651,
"value": 1.63,
"x": -1,
"y": -3
},
{
"direction": 8.269000000000005,
"high": 0.22,
"magnitude": 1.53,
"value": 1.514,
"x": 0,
"y": -3
},
{
"direction": 27.187000000000012,
"high": 0.7,
"magnitude": 1.532,
"value": 1.363,
"x": 1,
"y": -3
},
{
"direction": 43.389999999999986,
"high": 1.18,
"magnitude": 1.718,
"value": 1.248,
"x": 2,
"y": -3
},
{
"direction": 53.60000000000002,
"high": 1.66,
"magnitude": 2.062,
"value": 1.224,
"x": 3,
"y": -3
},
{
"direction": 58.69999999999999,
"high": 2.14,
"magnitude": 2.504,
"value": 1.301,
"x": 4,
"y": -3
},
{
"direction": 298.909,
"high": -1.738,
"magnitude": 1.986,
"value": 0.96,
"x": -4,
"y": -2
},
{
"direction": 311.202,
"high": -1.258,
"magnitude": 1.673,
"value": 1.102,
"x": -3,
"y": -2
},
{
"direction": 326.516,
"high": -0.778,
"magnitude": 1.411,
"value": 1.177,
"x": -2,
"y": -2
},
{
"direction": 345.451,
"high": -0.298,
"magnitude": 1.188,
"value": 1.15,
"x": -1,
"y": -2
},
{
"direction": 9.963000000000022,
"high": 0.182,
"magnitude": 1.05,
"value": 1.034,
"x": 0,
"y": -2
},
{
"direction": 36.84699999999998,
"high": 0.662,
"magnitude": 1.103,
"value": 0.883,
"x": 1,
"y": -2
},
{
"direction": 56.06,
"high": 1.142,
"magnitude": 1.376,
"value": 0.768,
"x": 2,
"y": -2
},
{
"direction": 65.358,
"high": 1.622,
"magnitude": 1.784,
"value": 0.744,
"x": 3,
"y": -2
},
{
"direction": 68.65899999999999,
"high": 2.102,
"magnitude": 2.256,
"value": 0.821,
"x": 4,
"y": -2
},
{
"direction": 284.619,
"high": -1.84,
"magnitude": 1.902,
"value": 0.48,
"x": -4,
"y": -1
},
{
"direction": 294.563,
"high": -1.36,
"magnitude": 1.496,
"value": 0.622,
"x": -3,
"y": -1
},
{
"direction": 308.364,
"high": -0.88,
"magnitude": 1.123,
"value": 0.697,
"x": -2,
"y": -1
},
{
"direction": 329.141,
"high": -0.4,
"magnitude": 0.78,
"value": 0.67,
"x": -1,
"y": -1
},
{
"direction": 8.192999999999984,
"high": 0.08,
"magnitude": 0.559,
"value": 0.554,
"x": 0,
"y": -1
},
{
"direction": 54.25799999999998,
"high": 0.56,
"magnitude": 0.69,
"value": 0.403,
"x": 1,
"y": -1
},
{
"direction": 74.50400000000002,
"high": 1.04,
"magnitude": 1.079,
"value": 0.288,
"x": 2,
"y": -1
},
{
"direction": 80.14999999999998,
"high": 1.52,
"magnitude": 1.542,
"value": 0.264,
"x": 3,
"y": -1
},
{
"direction": 80.31900000000002,
"high": 2,
"magnitude": 2.029,
"value": 0.341,
"x": 4,
"y": -1
},
{
"direction": 270,
"high": -1.97,
"magnitude": 1.97,
"value": 0,
"x": -4,
"y": 0
},
{
"direction": 275.434,
"high": -1.49,
"magnitude": 1.497,
"value": 0.142,
"x": -3,
"y": 0
},
{
"direction": 282.115,
"high": -1.01,
"magnitude": 1.033,
"value": 0.217,
"x": -2,
"y": 0
},
{
"direction": 289.714,
"high": -0.53,
"magnitude": 0.563,
"value": 0.19,
"x": -1,
"y": 0
},
{
"direction": 325.853,
"high": -0.05,
"magnitude": 0.089,
"value": 0.074,
"x": 0,
"y": 0
},
{
"direction": 100.17399999999998,
"high": 0.43,
"magnitude": 0.437,
"value": -0.077,
"x": 1,
"y": 0
},
{
"direction": 101.899,
"high": 0.91,
"magnitude": 0.93,
"value": -0.192,
"x": 2,
"y": 0
},
{
"direction": 98.83800000000002,
"high": 1.39,
"magnitude": 1.407,
"value": -0.216,
"x": 3,
"y": 0
},
{
"direction": 94.24700000000001,
"high": 1.87,
"magnitude": 1.875,
"value": -0.139,
"x": 4,
"y": 0
},
{
"direction": 257.019,
"high": -2.082,
"magnitude": 2.137,
"value": -0.48,
"x": -4,
"y": 1
},
{
"direction": 258.078,
"high": -1.602,
"magnitude": 1.638,
"value": -0.338,
"x": -3,
"y": 1
},
{
"direction": 256.801,
"high": -1.122,
"magnitude": 1.153,
"value": -0.263,
"x": -2,
"y": 1
},
{
"direction": 245.691,
"high": -0.642,
"magnitude": 0.705,
"value": -0.29,
"x": -1,
"y": 1
},
{
"direction": 201.766,
"high": -0.162,
"magnitude": 0.437,
"value": -0.406,
"x": 0,
"y": 1
},
{
"direction": 150.30200000000002,
"high": 0.318,
"magnitude": 0.641,
"value": -0.557,
"x": 1,
"y": 1
},
{
"direction": 130.098,
"high": 0.798,
"magnitude": 1.043,
"value": -0.672,
"x": 2,
"y": 1
},
{
"direction": 118.582,
"high": 1.278,
"magnitude": 1.455,
"value": -0.696,
"x": 3,
"y": 1
},
{
"direction": 109.39600000000002,
"high": 1.758,
"magnitude": 1.864,
"value": -0.619,
"x": 4,
"y": 1
},
{
"direction": 245.817,
"high": -2.138,
"magnitude": 2.343,
"value": -0.96,
"x": -4,
"y": 2
},
{
"direction": 243.73,
"high": -1.658,
"magnitude": 1.849,
"value": -0.818,
"x": -3,
"y": 2
},
{
"direction": 237.748,
"high": -1.178,
"magnitude": 1.393,
"value": -0.743,
"x": -2,
"y": 2
},
{
"direction": 222.18,
"high": -0.698,
"magnitude": 1.039,
"value": -0.77,
"x": -1,
"y": 2
},
{
"direction": 193.806,
"high": -0.218,
"magnitude": 0.913,
"value": -0.886,
"x": 0,
"y": 2
},
{
"direction": 165.813,
"high": 0.262,
"magnitude": 1.07,
"value": -1.037,
"x": 1,
"y": 2
},
{
"direction": 147.202,
"high": 0.742,
"magnitude": 1.37,
"value": -1.152,
"x": 2,
"y": 2
},
{
"direction": 133.89999999999998,
"high": 1.222,
"magnitude": 1.696,
"value": -1.176,
"x": 3,
"y": 2
},
{
"direction": 122.84500000000003,
"high": 1.702,
"magnitude": 2.026,
"value": -1.099,
"x": 4,
"y": 2
},
{
"direction": 235.78,
"high": -2.117,
"magnitude": 2.561,
"value": -1.44,
"x": -4,
"y": 3
},
{
"direction": 231.588,
"high": -1.637,
"magnitude": 2.09,
"value": -1.298,
"x": -3,
"y": 3
},
{
"direction": 223.414,
"high": -1.157,
"magnitude": 1.684,
"value": -1.223,
"x": -2,
"y": 3
},
{
"direction": 208.448,
"high": -0.677,
"magnitude": 1.422,
"value": -1.25,
"x": -1,
"y": 3
},
{
"direction": 188.216,
"high": -0.197,
"magnitude": 1.38,
"value": -1.366,
"x": 0,
"y": 3
},
{
"direction": 169.44399999999996,
"high": 0.283,
"magnitude": 1.543,
"value": -1.517,
"x": 1,
"y": 3
},
{
"direction": 154.94799999999998,
"high": 0.763,
"magnitude": 1.801,
"value": -1.632,
"x": 2,
"y": 3
},
{
"direction": 143.11700000000002,
"high": 1.243,
"magnitude": 2.071,
"value": -1.656,
"x": 3,
"y": 3
},
{
"direction": 132.505,
"high": 1.723,
"magnitude": 2.337,
"value": -1.579,
"x": 4,
"y": 3
}
];
const options = {
"height": 620,
"highlights": [
{
"id": "manual-focus",
"padding": 7,
"target": {
"field": "direction",
"type": "datum",
"value": 325.853
}
}
],
"locale": "en",
"mark": {
"fields": {
"direction": "direction",
"magnitude": "magnitude"
}
},
"width": "container",
"x": {
"field": "x",
"title": "Horizontal position",
"type": "quantitative"
},
"y": {
"field": "y",
"title": "Vertical position",
"type": "quantitative"
}
};
Graflume.vector('#chart', data, options);Portable schema
ChartSpec 0.1 · options
{
"height": 620,
"highlights": [
{
"id": "manual-focus",
"padding": 7,
"target": {
"field": "direction",
"type": "datum",
"value": 325.853
}
}
],
"locale": "en",
"mark": {
"fields": {
"direction": "direction",
"magnitude": "magnitude"
}
},
"width": "container",
"x": {
"field": "x",
"title": "Horizontal position",
"type": "quantitative"
},
"y": {
"field": "y",
"title": "Vertical position",
"type": "quantitative"
}
}Callout
Show an explanatory callout with automatic collision avoidance and multilingual wrapping.
StatusLoading
callout
- Custom callouts:
annotations[] · datum · direction · callout · placement:auto
Loading
Callout · Row data
Row data and zero-copy TypedArray columns share one data contract.
xquantitative | yquantitative | directionquantitative | magnitudequantitative |
|---|---|---|---|
| -4 | -3 | 310.267 | 2.228 |
| -3 | -3 | 322.357 | 1.998 |
| -2 | -3 | 335.932 | 1.815 |
| -1 | -3 | 350.937 | 1.651 |
| 0 | -3 | 8.269000000000005 | 1.53 |
| 1 | -3 | 27.187000000000012 | 1.532 |
| 2 | -3 | 43.389999999999986 | 1.718 |
| 3 | -3 | 53.60000000000002 | 2.062 |
| 4 | -3 | 58.69999999999999 | 2.504 |
| -4 | -2 | 298.909 | 1.986 |
| -3 | -2 | 311.202 | 1.673 |
| -2 | -2 | 326.516 | 1.411 |
| -1 | -2 | 345.451 | 1.188 |
| 0 | -2 | 9.963000000000022 | 1.05 |
| 1 | -2 | 36.84699999999998 | 1.103 |
| 2 | -2 | 56.06 | 1.376 |
| 3 | -2 | 65.358 | 1.784 |
| 4 | -2 | 68.65899999999999 | 2.256 |
| -4 | -1 | 284.619 | 1.902 |
| -3 | -1 | 294.563 | 1.496 |
| -2 | -1 | 308.364 | 1.123 |
| -1 | -1 | 329.141 | 0.78 |
| 0 | -1 | 8.192999999999984 | 0.559 |
| 1 | -1 | 54.25799999999998 | 0.69 |
| 2 | -1 | 74.50400000000002 | 1.079 |
| 3 | -1 | 80.14999999999998 | 1.542 |
| 4 | -1 | 80.31900000000002 | 2.029 |
| -4 | 0 | 270 | 1.97 |
| -3 | 0 | 275.434 | 1.497 |
| -2 | 0 | 282.115 | 1.033 |
| -1 | 0 | 289.714 | 0.563 |
| 0 | 0 | 325.853 | 0.089 |
| 1 | 0 | 100.17399999999998 | 0.437 |
| 2 | 0 | 101.899 | 0.93 |
| 3 | 0 | 98.83800000000002 | 1.407 |
| 4 | 0 | 94.24700000000001 | 1.875 |
| -4 | 1 | 257.019 | 2.137 |
| -3 | 1 | 258.078 | 1.638 |
| -2 | 1 | 256.801 | 1.153 |
| -1 | 1 | 245.691 | 0.705 |
| 0 | 1 | 201.766 | 0.437 |
| 1 | 1 | 150.30200000000002 | 0.641 |
| 2 | 1 | 130.098 | 1.043 |
| 3 | 1 | 118.582 | 1.455 |
| 4 | 1 | 109.39600000000002 | 1.864 |
| -4 | 2 | 245.817 | 2.343 |
| -3 | 2 | 243.73 | 1.849 |
| -2 | 2 | 237.748 | 1.393 |
| -1 | 2 | 222.18 | 1.039 |
| 0 | 2 | 193.806 | 0.913 |
| 1 | 2 | 165.813 | 1.07 |
| 2 | 2 | 147.202 | 1.37 |
| 3 | 2 | 133.89999999999998 | 1.696 |
| 4 | 2 | 122.84500000000003 | 2.026 |
| -4 | 3 | 235.78 | 2.561 |
| -3 | 3 | 231.588 | 2.09 |
| -2 | 3 | 223.414 | 1.684 |
| -1 | 3 | 208.448 | 1.422 |
| 0 | 3 | 188.216 | 1.38 |
| 1 | 3 | 169.44399999999996 | 1.543 |
| 2 | 3 | 154.94799999999998 | 1.801 |
| 3 | 3 | 143.11700000000002 | 2.071 |
| 4 | 3 | 132.505 | 2.337 |
Browser API · Portable schema
Browser API
Graflume.vector()
const data = [
{
"direction": 310.267,
"high": -1.7,
"magnitude": 2.228,
"value": 1.44,
"x": -4,
"y": -3
},
{
"direction": 322.357,
"high": -1.22,
"magnitude": 1.998,
"value": 1.582,
"x": -3,
"y": -3
},
{
"direction": 335.932,
"high": -0.74,
"magnitude": 1.815,
"value": 1.657,
"x": -2,
"y": -3
},
{
"direction": 350.937,
"high": -0.26,
"magnitude": 1.651,
"value": 1.63,
"x": -1,
"y": -3
},
{
"direction": 8.269000000000005,
"high": 0.22,
"magnitude": 1.53,
"value": 1.514,
"x": 0,
"y": -3
},
{
"direction": 27.187000000000012,
"high": 0.7,
"magnitude": 1.532,
"value": 1.363,
"x": 1,
"y": -3
},
{
"direction": 43.389999999999986,
"high": 1.18,
"magnitude": 1.718,
"value": 1.248,
"x": 2,
"y": -3
},
{
"direction": 53.60000000000002,
"high": 1.66,
"magnitude": 2.062,
"value": 1.224,
"x": 3,
"y": -3
},
{
"direction": 58.69999999999999,
"high": 2.14,
"magnitude": 2.504,
"value": 1.301,
"x": 4,
"y": -3
},
{
"direction": 298.909,
"high": -1.738,
"magnitude": 1.986,
"value": 0.96,
"x": -4,
"y": -2
},
{
"direction": 311.202,
"high": -1.258,
"magnitude": 1.673,
"value": 1.102,
"x": -3,
"y": -2
},
{
"direction": 326.516,
"high": -0.778,
"magnitude": 1.411,
"value": 1.177,
"x": -2,
"y": -2
},
{
"direction": 345.451,
"high": -0.298,
"magnitude": 1.188,
"value": 1.15,
"x": -1,
"y": -2
},
{
"direction": 9.963000000000022,
"high": 0.182,
"magnitude": 1.05,
"value": 1.034,
"x": 0,
"y": -2
},
{
"direction": 36.84699999999998,
"high": 0.662,
"magnitude": 1.103,
"value": 0.883,
"x": 1,
"y": -2
},
{
"direction": 56.06,
"high": 1.142,
"magnitude": 1.376,
"value": 0.768,
"x": 2,
"y": -2
},
{
"direction": 65.358,
"high": 1.622,
"magnitude": 1.784,
"value": 0.744,
"x": 3,
"y": -2
},
{
"direction": 68.65899999999999,
"high": 2.102,
"magnitude": 2.256,
"value": 0.821,
"x": 4,
"y": -2
},
{
"direction": 284.619,
"high": -1.84,
"magnitude": 1.902,
"value": 0.48,
"x": -4,
"y": -1
},
{
"direction": 294.563,
"high": -1.36,
"magnitude": 1.496,
"value": 0.622,
"x": -3,
"y": -1
},
{
"direction": 308.364,
"high": -0.88,
"magnitude": 1.123,
"value": 0.697,
"x": -2,
"y": -1
},
{
"direction": 329.141,
"high": -0.4,
"magnitude": 0.78,
"value": 0.67,
"x": -1,
"y": -1
},
{
"direction": 8.192999999999984,
"high": 0.08,
"magnitude": 0.559,
"value": 0.554,
"x": 0,
"y": -1
},
{
"direction": 54.25799999999998,
"high": 0.56,
"magnitude": 0.69,
"value": 0.403,
"x": 1,
"y": -1
},
{
"direction": 74.50400000000002,
"high": 1.04,
"magnitude": 1.079,
"value": 0.288,
"x": 2,
"y": -1
},
{
"direction": 80.14999999999998,
"high": 1.52,
"magnitude": 1.542,
"value": 0.264,
"x": 3,
"y": -1
},
{
"direction": 80.31900000000002,
"high": 2,
"magnitude": 2.029,
"value": 0.341,
"x": 4,
"y": -1
},
{
"direction": 270,
"high": -1.97,
"magnitude": 1.97,
"value": 0,
"x": -4,
"y": 0
},
{
"direction": 275.434,
"high": -1.49,
"magnitude": 1.497,
"value": 0.142,
"x": -3,
"y": 0
},
{
"direction": 282.115,
"high": -1.01,
"magnitude": 1.033,
"value": 0.217,
"x": -2,
"y": 0
},
{
"direction": 289.714,
"high": -0.53,
"magnitude": 0.563,
"value": 0.19,
"x": -1,
"y": 0
},
{
"direction": 325.853,
"high": -0.05,
"magnitude": 0.089,
"value": 0.074,
"x": 0,
"y": 0
},
{
"direction": 100.17399999999998,
"high": 0.43,
"magnitude": 0.437,
"value": -0.077,
"x": 1,
"y": 0
},
{
"direction": 101.899,
"high": 0.91,
"magnitude": 0.93,
"value": -0.192,
"x": 2,
"y": 0
},
{
"direction": 98.83800000000002,
"high": 1.39,
"magnitude": 1.407,
"value": -0.216,
"x": 3,
"y": 0
},
{
"direction": 94.24700000000001,
"high": 1.87,
"magnitude": 1.875,
"value": -0.139,
"x": 4,
"y": 0
},
{
"direction": 257.019,
"high": -2.082,
"magnitude": 2.137,
"value": -0.48,
"x": -4,
"y": 1
},
{
"direction": 258.078,
"high": -1.602,
"magnitude": 1.638,
"value": -0.338,
"x": -3,
"y": 1
},
{
"direction": 256.801,
"high": -1.122,
"magnitude": 1.153,
"value": -0.263,
"x": -2,
"y": 1
},
{
"direction": 245.691,
"high": -0.642,
"magnitude": 0.705,
"value": -0.29,
"x": -1,
"y": 1
},
{
"direction": 201.766,
"high": -0.162,
"magnitude": 0.437,
"value": -0.406,
"x": 0,
"y": 1
},
{
"direction": 150.30200000000002,
"high": 0.318,
"magnitude": 0.641,
"value": -0.557,
"x": 1,
"y": 1
},
{
"direction": 130.098,
"high": 0.798,
"magnitude": 1.043,
"value": -0.672,
"x": 2,
"y": 1
},
{
"direction": 118.582,
"high": 1.278,
"magnitude": 1.455,
"value": -0.696,
"x": 3,
"y": 1
},
{
"direction": 109.39600000000002,
"high": 1.758,
"magnitude": 1.864,
"value": -0.619,
"x": 4,
"y": 1
},
{
"direction": 245.817,
"high": -2.138,
"magnitude": 2.343,
"value": -0.96,
"x": -4,
"y": 2
},
{
"direction": 243.73,
"high": -1.658,
"magnitude": 1.849,
"value": -0.818,
"x": -3,
"y": 2
},
{
"direction": 237.748,
"high": -1.178,
"magnitude": 1.393,
"value": -0.743,
"x": -2,
"y": 2
},
{
"direction": 222.18,
"high": -0.698,
"magnitude": 1.039,
"value": -0.77,
"x": -1,
"y": 2
},
{
"direction": 193.806,
"high": -0.218,
"magnitude": 0.913,
"value": -0.886,
"x": 0,
"y": 2
},
{
"direction": 165.813,
"high": 0.262,
"magnitude": 1.07,
"value": -1.037,
"x": 1,
"y": 2
},
{
"direction": 147.202,
"high": 0.742,
"magnitude": 1.37,
"value": -1.152,
"x": 2,
"y": 2
},
{
"direction": 133.89999999999998,
"high": 1.222,
"magnitude": 1.696,
"value": -1.176,
"x": 3,
"y": 2
},
{
"direction": 122.84500000000003,
"high": 1.702,
"magnitude": 2.026,
"value": -1.099,
"x": 4,
"y": 2
},
{
"direction": 235.78,
"high": -2.117,
"magnitude": 2.561,
"value": -1.44,
"x": -4,
"y": 3
},
{
"direction": 231.588,
"high": -1.637,
"magnitude": 2.09,
"value": -1.298,
"x": -3,
"y": 3
},
{
"direction": 223.414,
"high": -1.157,
"magnitude": 1.684,
"value": -1.223,
"x": -2,
"y": 3
},
{
"direction": 208.448,
"high": -0.677,
"magnitude": 1.422,
"value": -1.25,
"x": -1,
"y": 3
},
{
"direction": 188.216,
"high": -0.197,
"magnitude": 1.38,
"value": -1.366,
"x": 0,
"y": 3
},
{
"direction": 169.44399999999996,
"high": 0.283,
"magnitude": 1.543,
"value": -1.517,
"x": 1,
"y": 3
},
{
"direction": 154.94799999999998,
"high": 0.763,
"magnitude": 1.801,
"value": -1.632,
"x": 2,
"y": 3
},
{
"direction": 143.11700000000002,
"high": 1.243,
"magnitude": 2.071,
"value": -1.656,
"x": 3,
"y": 3
},
{
"direction": 132.505,
"high": 1.723,
"magnitude": 2.337,
"value": -1.579,
"x": 4,
"y": 3
}
];
const options = {
"annotations": [
{
"connector": {
"visible": true
},
"detail": "Attach user-authored safe text to a datum, axis range, or normalized plot position.",
"id": "manual-callout",
"placement": "auto",
"style": {
"maxWidth": 220,
"padding": 8
},
"target": {
"field": "direction",
"type": "datum",
"value": 325.853
},
"text": "Point and range highlights · 0"
}
],
"height": 620,
"interaction": {
"controls": {
"annotations": true,
"labels": {
"controls": "Chart controls",
"enterFullscreen": "Enter fullscreen",
"exitFullscreen": "Exit fullscreen",
"exportPng": "Download PNG",
"hideAnnotations": "Hide callouts",
"loop": "Loop playback",
"nextFrame": "Next frame",
"pause": "Pause",
"play": "Play",
"previousFrame": "Previous frame",
"reset": "Reset view",
"seek": "Playback position",
"showAnnotations": "Show callouts",
"speed": "Playback speed",
"zoomIn": "Zoom in",
"zoomOut": "Zoom out"
}
}
},
"locale": "en",
"mark": {
"fields": {
"direction": "direction",
"magnitude": "magnitude"
}
},
"width": "container",
"x": {
"field": "x",
"title": "Horizontal position",
"type": "quantitative"
},
"y": {
"field": "y",
"title": "Vertical position",
"type": "quantitative"
}
};
Graflume.vector('#chart', data, options);Portable schema
ChartSpec 0.1 · options
{
"annotations": [
{
"connector": {
"visible": true
},
"detail": "Attach user-authored safe text to a datum, axis range, or normalized plot position.",
"id": "manual-callout",
"placement": "auto",
"style": {
"maxWidth": 220,
"padding": 8
},
"target": {
"field": "direction",
"type": "datum",
"value": 325.853
},
"text": "Point and range highlights · 0"
}
],
"height": 620,
"interaction": {
"controls": {
"annotations": true,
"labels": {
"controls": "Chart controls",
"enterFullscreen": "Enter fullscreen",
"exitFullscreen": "Exit fullscreen",
"exportPng": "Download PNG",
"hideAnnotations": "Hide callouts",
"loop": "Loop playback",
"nextFrame": "Next frame",
"pause": "Pause",
"play": "Play",
"previousFrame": "Previous frame",
"reset": "Reset view",
"seek": "Playback position",
"showAnnotations": "Show callouts",
"speed": "Playback speed",
"zoomIn": "Zoom in",
"zoomOut": "Zoom out"
}
}
},
"locale": "en",
"mark": {
"fields": {
"direction": "direction",
"magnitude": "magnitude"
}
},
"width": "container",
"x": {
"field": "x",
"title": "Horizontal position",
"type": "quantitative"
},
"y": {
"field": "y",
"title": "Vertical position",
"type": "quantitative"
}
}Selection
Select and toggle data, then clear it from the background or Escape key.
StatusLoading
selection
- Interactive selection:
selection · multiple · toggle
Loading
Selection · Row data
Row data and zero-copy TypedArray columns share one data contract.
xquantitative | yquantitative | directionquantitative | magnitudequantitative |
|---|---|---|---|
| -4 | -3 | 310.267 | 2.228 |
| -3 | -3 | 322.357 | 1.998 |
| -2 | -3 | 335.932 | 1.815 |
| -1 | -3 | 350.937 | 1.651 |
| 0 | -3 | 8.269000000000005 | 1.53 |
| 1 | -3 | 27.187000000000012 | 1.532 |
| 2 | -3 | 43.389999999999986 | 1.718 |
| 3 | -3 | 53.60000000000002 | 2.062 |
| 4 | -3 | 58.69999999999999 | 2.504 |
| -4 | -2 | 298.909 | 1.986 |
| -3 | -2 | 311.202 | 1.673 |
| -2 | -2 | 326.516 | 1.411 |
| -1 | -2 | 345.451 | 1.188 |
| 0 | -2 | 9.963000000000022 | 1.05 |
| 1 | -2 | 36.84699999999998 | 1.103 |
| 2 | -2 | 56.06 | 1.376 |
| 3 | -2 | 65.358 | 1.784 |
| 4 | -2 | 68.65899999999999 | 2.256 |
| -4 | -1 | 284.619 | 1.902 |
| -3 | -1 | 294.563 | 1.496 |
| -2 | -1 | 308.364 | 1.123 |
| -1 | -1 | 329.141 | 0.78 |
| 0 | -1 | 8.192999999999984 | 0.559 |
| 1 | -1 | 54.25799999999998 | 0.69 |
| 2 | -1 | 74.50400000000002 | 1.079 |
| 3 | -1 | 80.14999999999998 | 1.542 |
| 4 | -1 | 80.31900000000002 | 2.029 |
| -4 | 0 | 270 | 1.97 |
| -3 | 0 | 275.434 | 1.497 |
| -2 | 0 | 282.115 | 1.033 |
| -1 | 0 | 289.714 | 0.563 |
| 0 | 0 | 325.853 | 0.089 |
| 1 | 0 | 100.17399999999998 | 0.437 |
| 2 | 0 | 101.899 | 0.93 |
| 3 | 0 | 98.83800000000002 | 1.407 |
| 4 | 0 | 94.24700000000001 | 1.875 |
| -4 | 1 | 257.019 | 2.137 |
| -3 | 1 | 258.078 | 1.638 |
| -2 | 1 | 256.801 | 1.153 |
| -1 | 1 | 245.691 | 0.705 |
| 0 | 1 | 201.766 | 0.437 |
| 1 | 1 | 150.30200000000002 | 0.641 |
| 2 | 1 | 130.098 | 1.043 |
| 3 | 1 | 118.582 | 1.455 |
| 4 | 1 | 109.39600000000002 | 1.864 |
| -4 | 2 | 245.817 | 2.343 |
| -3 | 2 | 243.73 | 1.849 |
| -2 | 2 | 237.748 | 1.393 |
| -1 | 2 | 222.18 | 1.039 |
| 0 | 2 | 193.806 | 0.913 |
| 1 | 2 | 165.813 | 1.07 |
| 2 | 2 | 147.202 | 1.37 |
| 3 | 2 | 133.89999999999998 | 1.696 |
| 4 | 2 | 122.84500000000003 | 2.026 |
| -4 | 3 | 235.78 | 2.561 |
| -3 | 3 | 231.588 | 2.09 |
| -2 | 3 | 223.414 | 1.684 |
| -1 | 3 | 208.448 | 1.422 |
| 0 | 3 | 188.216 | 1.38 |
| 1 | 3 | 169.44399999999996 | 1.543 |
| 2 | 3 | 154.94799999999998 | 1.801 |
| 3 | 3 | 143.11700000000002 | 2.071 |
| 4 | 3 | 132.505 | 2.337 |
Browser API · Portable schema
Browser API
Graflume.vector()
const data = [
{
"direction": 310.267,
"high": -1.7,
"magnitude": 2.228,
"value": 1.44,
"x": -4,
"y": -3
},
{
"direction": 322.357,
"high": -1.22,
"magnitude": 1.998,
"value": 1.582,
"x": -3,
"y": -3
},
{
"direction": 335.932,
"high": -0.74,
"magnitude": 1.815,
"value": 1.657,
"x": -2,
"y": -3
},
{
"direction": 350.937,
"high": -0.26,
"magnitude": 1.651,
"value": 1.63,
"x": -1,
"y": -3
},
{
"direction": 8.269000000000005,
"high": 0.22,
"magnitude": 1.53,
"value": 1.514,
"x": 0,
"y": -3
},
{
"direction": 27.187000000000012,
"high": 0.7,
"magnitude": 1.532,
"value": 1.363,
"x": 1,
"y": -3
},
{
"direction": 43.389999999999986,
"high": 1.18,
"magnitude": 1.718,
"value": 1.248,
"x": 2,
"y": -3
},
{
"direction": 53.60000000000002,
"high": 1.66,
"magnitude": 2.062,
"value": 1.224,
"x": 3,
"y": -3
},
{
"direction": 58.69999999999999,
"high": 2.14,
"magnitude": 2.504,
"value": 1.301,
"x": 4,
"y": -3
},
{
"direction": 298.909,
"high": -1.738,
"magnitude": 1.986,
"value": 0.96,
"x": -4,
"y": -2
},
{
"direction": 311.202,
"high": -1.258,
"magnitude": 1.673,
"value": 1.102,
"x": -3,
"y": -2
},
{
"direction": 326.516,
"high": -0.778,
"magnitude": 1.411,
"value": 1.177,
"x": -2,
"y": -2
},
{
"direction": 345.451,
"high": -0.298,
"magnitude": 1.188,
"value": 1.15,
"x": -1,
"y": -2
},
{
"direction": 9.963000000000022,
"high": 0.182,
"magnitude": 1.05,
"value": 1.034,
"x": 0,
"y": -2
},
{
"direction": 36.84699999999998,
"high": 0.662,
"magnitude": 1.103,
"value": 0.883,
"x": 1,
"y": -2
},
{
"direction": 56.06,
"high": 1.142,
"magnitude": 1.376,
"value": 0.768,
"x": 2,
"y": -2
},
{
"direction": 65.358,
"high": 1.622,
"magnitude": 1.784,
"value": 0.744,
"x": 3,
"y": -2
},
{
"direction": 68.65899999999999,
"high": 2.102,
"magnitude": 2.256,
"value": 0.821,
"x": 4,
"y": -2
},
{
"direction": 284.619,
"high": -1.84,
"magnitude": 1.902,
"value": 0.48,
"x": -4,
"y": -1
},
{
"direction": 294.563,
"high": -1.36,
"magnitude": 1.496,
"value": 0.622,
"x": -3,
"y": -1
},
{
"direction": 308.364,
"high": -0.88,
"magnitude": 1.123,
"value": 0.697,
"x": -2,
"y": -1
},
{
"direction": 329.141,
"high": -0.4,
"magnitude": 0.78,
"value": 0.67,
"x": -1,
"y": -1
},
{
"direction": 8.192999999999984,
"high": 0.08,
"magnitude": 0.559,
"value": 0.554,
"x": 0,
"y": -1
},
{
"direction": 54.25799999999998,
"high": 0.56,
"magnitude": 0.69,
"value": 0.403,
"x": 1,
"y": -1
},
{
"direction": 74.50400000000002,
"high": 1.04,
"magnitude": 1.079,
"value": 0.288,
"x": 2,
"y": -1
},
{
"direction": 80.14999999999998,
"high": 1.52,
"magnitude": 1.542,
"value": 0.264,
"x": 3,
"y": -1
},
{
"direction": 80.31900000000002,
"high": 2,
"magnitude": 2.029,
"value": 0.341,
"x": 4,
"y": -1
},
{
"direction": 270,
"high": -1.97,
"magnitude": 1.97,
"value": 0,
"x": -4,
"y": 0
},
{
"direction": 275.434,
"high": -1.49,
"magnitude": 1.497,
"value": 0.142,
"x": -3,
"y": 0
},
{
"direction": 282.115,
"high": -1.01,
"magnitude": 1.033,
"value": 0.217,
"x": -2,
"y": 0
},
{
"direction": 289.714,
"high": -0.53,
"magnitude": 0.563,
"value": 0.19,
"x": -1,
"y": 0
},
{
"direction": 325.853,
"high": -0.05,
"magnitude": 0.089,
"value": 0.074,
"x": 0,
"y": 0
},
{
"direction": 100.17399999999998,
"high": 0.43,
"magnitude": 0.437,
"value": -0.077,
"x": 1,
"y": 0
},
{
"direction": 101.899,
"high": 0.91,
"magnitude": 0.93,
"value": -0.192,
"x": 2,
"y": 0
},
{
"direction": 98.83800000000002,
"high": 1.39,
"magnitude": 1.407,
"value": -0.216,
"x": 3,
"y": 0
},
{
"direction": 94.24700000000001,
"high": 1.87,
"magnitude": 1.875,
"value": -0.139,
"x": 4,
"y": 0
},
{
"direction": 257.019,
"high": -2.082,
"magnitude": 2.137,
"value": -0.48,
"x": -4,
"y": 1
},
{
"direction": 258.078,
"high": -1.602,
"magnitude": 1.638,
"value": -0.338,
"x": -3,
"y": 1
},
{
"direction": 256.801,
"high": -1.122,
"magnitude": 1.153,
"value": -0.263,
"x": -2,
"y": 1
},
{
"direction": 245.691,
"high": -0.642,
"magnitude": 0.705,
"value": -0.29,
"x": -1,
"y": 1
},
{
"direction": 201.766,
"high": -0.162,
"magnitude": 0.437,
"value": -0.406,
"x": 0,
"y": 1
},
{
"direction": 150.30200000000002,
"high": 0.318,
"magnitude": 0.641,
"value": -0.557,
"x": 1,
"y": 1
},
{
"direction": 130.098,
"high": 0.798,
"magnitude": 1.043,
"value": -0.672,
"x": 2,
"y": 1
},
{
"direction": 118.582,
"high": 1.278,
"magnitude": 1.455,
"value": -0.696,
"x": 3,
"y": 1
},
{
"direction": 109.39600000000002,
"high": 1.758,
"magnitude": 1.864,
"value": -0.619,
"x": 4,
"y": 1
},
{
"direction": 245.817,
"high": -2.138,
"magnitude": 2.343,
"value": -0.96,
"x": -4,
"y": 2
},
{
"direction": 243.73,
"high": -1.658,
"magnitude": 1.849,
"value": -0.818,
"x": -3,
"y": 2
},
{
"direction": 237.748,
"high": -1.178,
"magnitude": 1.393,
"value": -0.743,
"x": -2,
"y": 2
},
{
"direction": 222.18,
"high": -0.698,
"magnitude": 1.039,
"value": -0.77,
"x": -1,
"y": 2
},
{
"direction": 193.806,
"high": -0.218,
"magnitude": 0.913,
"value": -0.886,
"x": 0,
"y": 2
},
{
"direction": 165.813,
"high": 0.262,
"magnitude": 1.07,
"value": -1.037,
"x": 1,
"y": 2
},
{
"direction": 147.202,
"high": 0.742,
"magnitude": 1.37,
"value": -1.152,
"x": 2,
"y": 2
},
{
"direction": 133.89999999999998,
"high": 1.222,
"magnitude": 1.696,
"value": -1.176,
"x": 3,
"y": 2
},
{
"direction": 122.84500000000003,
"high": 1.702,
"magnitude": 2.026,
"value": -1.099,
"x": 4,
"y": 2
},
{
"direction": 235.78,
"high": -2.117,
"magnitude": 2.561,
"value": -1.44,
"x": -4,
"y": 3
},
{
"direction": 231.588,
"high": -1.637,
"magnitude": 2.09,
"value": -1.298,
"x": -3,
"y": 3
},
{
"direction": 223.414,
"high": -1.157,
"magnitude": 1.684,
"value": -1.223,
"x": -2,
"y": 3
},
{
"direction": 208.448,
"high": -0.677,
"magnitude": 1.422,
"value": -1.25,
"x": -1,
"y": 3
},
{
"direction": 188.216,
"high": -0.197,
"magnitude": 1.38,
"value": -1.366,
"x": 0,
"y": 3
},
{
"direction": 169.44399999999996,
"high": 0.283,
"magnitude": 1.543,
"value": -1.517,
"x": 1,
"y": 3
},
{
"direction": 154.94799999999998,
"high": 0.763,
"magnitude": 1.801,
"value": -1.632,
"x": 2,
"y": 3
},
{
"direction": 143.11700000000002,
"high": 1.243,
"magnitude": 2.071,
"value": -1.656,
"x": 3,
"y": 3
},
{
"direction": 132.505,
"high": 1.723,
"magnitude": 2.337,
"value": -1.579,
"x": 4,
"y": 3
}
];
const options = {
"height": 620,
"interaction": {
"selection": {
"ariaLabel": "Interactive selection",
"clearOnBackground": true,
"clearOnEscape": true,
"highlight": {
"padding": 5
},
"key": "direction",
"mode": "multiple",
"toggle": true
}
},
"locale": "en",
"mark": {
"fields": {
"direction": "direction",
"magnitude": "magnitude"
}
},
"width": "container",
"x": {
"field": "x",
"title": "Horizontal position",
"type": "quantitative"
},
"y": {
"field": "y",
"title": "Vertical position",
"type": "quantitative"
}
};
Graflume.vector('#chart', data, options);Portable schema
ChartSpec 0.1 · options
{
"height": 620,
"interaction": {
"selection": {
"ariaLabel": "Interactive selection",
"clearOnBackground": true,
"clearOnEscape": true,
"highlight": {
"padding": 5
},
"key": "direction",
"mode": "multiple",
"toggle": true
}
},
"locale": "en",
"mark": {
"fields": {
"direction": "direction",
"magnitude": "magnitude"
}
},
"width": "container",
"x": {
"field": "x",
"title": "Horizontal position",
"type": "quantitative"
},
"y": {
"field": "y",
"title": "Vertical position",
"type": "quantitative"
}
}View controls
Show or hide zoom, pan, reset, projection, fullscreen, and PNG export one menu at a time. Set controls: false to remove the entire toolbar.
StatusLoading
controls
Loading
View controls · Row data
Row data and zero-copy TypedArray columns share one data contract.
xquantitative | yquantitative | directionquantitative | magnitudequantitative |
|---|---|---|---|
| -4 | -3 | 310.267 | 2.228 |
| -3 | -3 | 322.357 | 1.998 |
| -2 | -3 | 335.932 | 1.815 |
| -1 | -3 | 350.937 | 1.651 |
| 0 | -3 | 8.269000000000005 | 1.53 |
| 1 | -3 | 27.187000000000012 | 1.532 |
| 2 | -3 | 43.389999999999986 | 1.718 |
| 3 | -3 | 53.60000000000002 | 2.062 |
| 4 | -3 | 58.69999999999999 | 2.504 |
| -4 | -2 | 298.909 | 1.986 |
| -3 | -2 | 311.202 | 1.673 |
| -2 | -2 | 326.516 | 1.411 |
| -1 | -2 | 345.451 | 1.188 |
| 0 | -2 | 9.963000000000022 | 1.05 |
| 1 | -2 | 36.84699999999998 | 1.103 |
| 2 | -2 | 56.06 | 1.376 |
| 3 | -2 | 65.358 | 1.784 |
| 4 | -2 | 68.65899999999999 | 2.256 |
| -4 | -1 | 284.619 | 1.902 |
| -3 | -1 | 294.563 | 1.496 |
| -2 | -1 | 308.364 | 1.123 |
| -1 | -1 | 329.141 | 0.78 |
| 0 | -1 | 8.192999999999984 | 0.559 |
| 1 | -1 | 54.25799999999998 | 0.69 |
| 2 | -1 | 74.50400000000002 | 1.079 |
| 3 | -1 | 80.14999999999998 | 1.542 |
| 4 | -1 | 80.31900000000002 | 2.029 |
| -4 | 0 | 270 | 1.97 |
| -3 | 0 | 275.434 | 1.497 |
| -2 | 0 | 282.115 | 1.033 |
| -1 | 0 | 289.714 | 0.563 |
| 0 | 0 | 325.853 | 0.089 |
| 1 | 0 | 100.17399999999998 | 0.437 |
| 2 | 0 | 101.899 | 0.93 |
| 3 | 0 | 98.83800000000002 | 1.407 |
| 4 | 0 | 94.24700000000001 | 1.875 |
| -4 | 1 | 257.019 | 2.137 |
| -3 | 1 | 258.078 | 1.638 |
| -2 | 1 | 256.801 | 1.153 |
| -1 | 1 | 245.691 | 0.705 |
| 0 | 1 | 201.766 | 0.437 |
| 1 | 1 | 150.30200000000002 | 0.641 |
| 2 | 1 | 130.098 | 1.043 |
| 3 | 1 | 118.582 | 1.455 |
| 4 | 1 | 109.39600000000002 | 1.864 |
| -4 | 2 | 245.817 | 2.343 |
| -3 | 2 | 243.73 | 1.849 |
| -2 | 2 | 237.748 | 1.393 |
| -1 | 2 | 222.18 | 1.039 |
| 0 | 2 | 193.806 | 0.913 |
| 1 | 2 | 165.813 | 1.07 |
| 2 | 2 | 147.202 | 1.37 |
| 3 | 2 | 133.89999999999998 | 1.696 |
| 4 | 2 | 122.84500000000003 | 2.026 |
| -4 | 3 | 235.78 | 2.561 |
| -3 | 3 | 231.588 | 2.09 |
| -2 | 3 | 223.414 | 1.684 |
| -1 | 3 | 208.448 | 1.422 |
| 0 | 3 | 188.216 | 1.38 |
| 1 | 3 | 169.44399999999996 | 1.543 |
| 2 | 3 | 154.94799999999998 | 1.801 |
| 3 | 3 | 143.11700000000002 | 2.071 |
| 4 | 3 | 132.505 | 2.337 |
Browser API · Portable schema
Browser API
Graflume.vector()
const data = [
{
"direction": 310.267,
"high": -1.7,
"magnitude": 2.228,
"value": 1.44,
"x": -4,
"y": -3
},
{
"direction": 322.357,
"high": -1.22,
"magnitude": 1.998,
"value": 1.582,
"x": -3,
"y": -3
},
{
"direction": 335.932,
"high": -0.74,
"magnitude": 1.815,
"value": 1.657,
"x": -2,
"y": -3
},
{
"direction": 350.937,
"high": -0.26,
"magnitude": 1.651,
"value": 1.63,
"x": -1,
"y": -3
},
{
"direction": 8.269000000000005,
"high": 0.22,
"magnitude": 1.53,
"value": 1.514,
"x": 0,
"y": -3
},
{
"direction": 27.187000000000012,
"high": 0.7,
"magnitude": 1.532,
"value": 1.363,
"x": 1,
"y": -3
},
{
"direction": 43.389999999999986,
"high": 1.18,
"magnitude": 1.718,
"value": 1.248,
"x": 2,
"y": -3
},
{
"direction": 53.60000000000002,
"high": 1.66,
"magnitude": 2.062,
"value": 1.224,
"x": 3,
"y": -3
},
{
"direction": 58.69999999999999,
"high": 2.14,
"magnitude": 2.504,
"value": 1.301,
"x": 4,
"y": -3
},
{
"direction": 298.909,
"high": -1.738,
"magnitude": 1.986,
"value": 0.96,
"x": -4,
"y": -2
},
{
"direction": 311.202,
"high": -1.258,
"magnitude": 1.673,
"value": 1.102,
"x": -3,
"y": -2
},
{
"direction": 326.516,
"high": -0.778,
"magnitude": 1.411,
"value": 1.177,
"x": -2,
"y": -2
},
{
"direction": 345.451,
"high": -0.298,
"magnitude": 1.188,
"value": 1.15,
"x": -1,
"y": -2
},
{
"direction": 9.963000000000022,
"high": 0.182,
"magnitude": 1.05,
"value": 1.034,
"x": 0,
"y": -2
},
{
"direction": 36.84699999999998,
"high": 0.662,
"magnitude": 1.103,
"value": 0.883,
"x": 1,
"y": -2
},
{
"direction": 56.06,
"high": 1.142,
"magnitude": 1.376,
"value": 0.768,
"x": 2,
"y": -2
},
{
"direction": 65.358,
"high": 1.622,
"magnitude": 1.784,
"value": 0.744,
"x": 3,
"y": -2
},
{
"direction": 68.65899999999999,
"high": 2.102,
"magnitude": 2.256,
"value": 0.821,
"x": 4,
"y": -2
},
{
"direction": 284.619,
"high": -1.84,
"magnitude": 1.902,
"value": 0.48,
"x": -4,
"y": -1
},
{
"direction": 294.563,
"high": -1.36,
"magnitude": 1.496,
"value": 0.622,
"x": -3,
"y": -1
},
{
"direction": 308.364,
"high": -0.88,
"magnitude": 1.123,
"value": 0.697,
"x": -2,
"y": -1
},
{
"direction": 329.141,
"high": -0.4,
"magnitude": 0.78,
"value": 0.67,
"x": -1,
"y": -1
},
{
"direction": 8.192999999999984,
"high": 0.08,
"magnitude": 0.559,
"value": 0.554,
"x": 0,
"y": -1
},
{
"direction": 54.25799999999998,
"high": 0.56,
"magnitude": 0.69,
"value": 0.403,
"x": 1,
"y": -1
},
{
"direction": 74.50400000000002,
"high": 1.04,
"magnitude": 1.079,
"value": 0.288,
"x": 2,
"y": -1
},
{
"direction": 80.14999999999998,
"high": 1.52,
"magnitude": 1.542,
"value": 0.264,
"x": 3,
"y": -1
},
{
"direction": 80.31900000000002,
"high": 2,
"magnitude": 2.029,
"value": 0.341,
"x": 4,
"y": -1
},
{
"direction": 270,
"high": -1.97,
"magnitude": 1.97,
"value": 0,
"x": -4,
"y": 0
},
{
"direction": 275.434,
"high": -1.49,
"magnitude": 1.497,
"value": 0.142,
"x": -3,
"y": 0
},
{
"direction": 282.115,
"high": -1.01,
"magnitude": 1.033,
"value": 0.217,
"x": -2,
"y": 0
},
{
"direction": 289.714,
"high": -0.53,
"magnitude": 0.563,
"value": 0.19,
"x": -1,
"y": 0
},
{
"direction": 325.853,
"high": -0.05,
"magnitude": 0.089,
"value": 0.074,
"x": 0,
"y": 0
},
{
"direction": 100.17399999999998,
"high": 0.43,
"magnitude": 0.437,
"value": -0.077,
"x": 1,
"y": 0
},
{
"direction": 101.899,
"high": 0.91,
"magnitude": 0.93,
"value": -0.192,
"x": 2,
"y": 0
},
{
"direction": 98.83800000000002,
"high": 1.39,
"magnitude": 1.407,
"value": -0.216,
"x": 3,
"y": 0
},
{
"direction": 94.24700000000001,
"high": 1.87,
"magnitude": 1.875,
"value": -0.139,
"x": 4,
"y": 0
},
{
"direction": 257.019,
"high": -2.082,
"magnitude": 2.137,
"value": -0.48,
"x": -4,
"y": 1
},
{
"direction": 258.078,
"high": -1.602,
"magnitude": 1.638,
"value": -0.338,
"x": -3,
"y": 1
},
{
"direction": 256.801,
"high": -1.122,
"magnitude": 1.153,
"value": -0.263,
"x": -2,
"y": 1
},
{
"direction": 245.691,
"high": -0.642,
"magnitude": 0.705,
"value": -0.29,
"x": -1,
"y": 1
},
{
"direction": 201.766,
"high": -0.162,
"magnitude": 0.437,
"value": -0.406,
"x": 0,
"y": 1
},
{
"direction": 150.30200000000002,
"high": 0.318,
"magnitude": 0.641,
"value": -0.557,
"x": 1,
"y": 1
},
{
"direction": 130.098,
"high": 0.798,
"magnitude": 1.043,
"value": -0.672,
"x": 2,
"y": 1
},
{
"direction": 118.582,
"high": 1.278,
"magnitude": 1.455,
"value": -0.696,
"x": 3,
"y": 1
},
{
"direction": 109.39600000000002,
"high": 1.758,
"magnitude": 1.864,
"value": -0.619,
"x": 4,
"y": 1
},
{
"direction": 245.817,
"high": -2.138,
"magnitude": 2.343,
"value": -0.96,
"x": -4,
"y": 2
},
{
"direction": 243.73,
"high": -1.658,
"magnitude": 1.849,
"value": -0.818,
"x": -3,
"y": 2
},
{
"direction": 237.748,
"high": -1.178,
"magnitude": 1.393,
"value": -0.743,
"x": -2,
"y": 2
},
{
"direction": 222.18,
"high": -0.698,
"magnitude": 1.039,
"value": -0.77,
"x": -1,
"y": 2
},
{
"direction": 193.806,
"high": -0.218,
"magnitude": 0.913,
"value": -0.886,
"x": 0,
"y": 2
},
{
"direction": 165.813,
"high": 0.262,
"magnitude": 1.07,
"value": -1.037,
"x": 1,
"y": 2
},
{
"direction": 147.202,
"high": 0.742,
"magnitude": 1.37,
"value": -1.152,
"x": 2,
"y": 2
},
{
"direction": 133.89999999999998,
"high": 1.222,
"magnitude": 1.696,
"value": -1.176,
"x": 3,
"y": 2
},
{
"direction": 122.84500000000003,
"high": 1.702,
"magnitude": 2.026,
"value": -1.099,
"x": 4,
"y": 2
},
{
"direction": 235.78,
"high": -2.117,
"magnitude": 2.561,
"value": -1.44,
"x": -4,
"y": 3
},
{
"direction": 231.588,
"high": -1.637,
"magnitude": 2.09,
"value": -1.298,
"x": -3,
"y": 3
},
{
"direction": 223.414,
"high": -1.157,
"magnitude": 1.684,
"value": -1.223,
"x": -2,
"y": 3
},
{
"direction": 208.448,
"high": -0.677,
"magnitude": 1.422,
"value": -1.25,
"x": -1,
"y": 3
},
{
"direction": 188.216,
"high": -0.197,
"magnitude": 1.38,
"value": -1.366,
"x": 0,
"y": 3
},
{
"direction": 169.44399999999996,
"high": 0.283,
"magnitude": 1.543,
"value": -1.517,
"x": 1,
"y": 3
},
{
"direction": 154.94799999999998,
"high": 0.763,
"magnitude": 1.801,
"value": -1.632,
"x": 2,
"y": 3
},
{
"direction": 143.11700000000002,
"high": 1.243,
"magnitude": 2.071,
"value": -1.656,
"x": 3,
"y": 3
},
{
"direction": 132.505,
"high": 1.723,
"magnitude": 2.337,
"value": -1.579,
"x": 4,
"y": 3
}
];
const options = {
"height": 620,
"interaction": {
"controls": {
"annotations": false,
"export": true,
"fullscreen": true,
"labels": {
"controls": "Chart controls",
"enterFullscreen": "Enter fullscreen",
"exitFullscreen": "Exit fullscreen",
"exportPng": "Download PNG",
"hideAnnotations": "Hide callouts",
"loop": "Loop playback",
"nextFrame": "Next frame",
"pause": "Pause",
"play": "Play",
"previousFrame": "Previous frame",
"reset": "Reset view",
"seek": "Playback position",
"showAnnotations": "Show callouts",
"speed": "Playback speed",
"zoomIn": "Zoom in",
"zoomOut": "Zoom out"
},
"playback": false,
"reset": true,
"zoom": true
},
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
}
},
"locale": "en",
"mark": {
"fields": {
"direction": "direction",
"magnitude": "magnitude"
}
},
"padding": {
"top": 52
},
"width": "container",
"x": {
"field": "x",
"title": "Horizontal position",
"type": "quantitative"
},
"y": {
"field": "y",
"title": "Vertical position",
"type": "quantitative"
}
};
Graflume.vector('#chart', data, options);Portable schema
ChartSpec 0.1 · options
{
"height": 620,
"interaction": {
"controls": {
"annotations": false,
"export": true,
"fullscreen": true,
"labels": {
"controls": "Chart controls",
"enterFullscreen": "Enter fullscreen",
"exitFullscreen": "Exit fullscreen",
"exportPng": "Download PNG",
"hideAnnotations": "Hide callouts",
"loop": "Loop playback",
"nextFrame": "Next frame",
"pause": "Pause",
"play": "Play",
"previousFrame": "Previous frame",
"reset": "Reset view",
"seek": "Playback position",
"showAnnotations": "Show callouts",
"speed": "Playback speed",
"zoomIn": "Zoom in",
"zoomOut": "Zoom out"
},
"playback": false,
"reset": true,
"zoom": true
},
"navigation": {
"drag": true,
"keyboard": true,
"maxZoom": 6,
"minZoom": 1,
"pinch": true,
"wheel": "modifier"
}
},
"locale": "en",
"mark": {
"fields": {
"direction": "direction",
"magnitude": "magnitude"
}
},
"padding": {
"top": 52
},
"width": "container",
"x": {
"field": "x",
"title": "Horizontal position",
"type": "quantitative"
},
"y": {
"field": "y",
"title": "Vertical position",
"type": "quantitative"
}
}Accessibility
Pair ARIA descriptions and keyboard guidance with a semantic data table.
StatusLoading
accessibility
Loading
Accessibility · Row data
Row data and zero-copy TypedArray columns share one data contract.
xquantitative | yquantitative | directionquantitative | magnitudequantitative |
|---|---|---|---|
| -4 | -3 | 310.267 | 2.228 |
| -3 | -3 | 322.357 | 1.998 |
| -2 | -3 | 335.932 | 1.815 |
| -1 | -3 | 350.937 | 1.651 |
| 0 | -3 | 8.269000000000005 | 1.53 |
| 1 | -3 | 27.187000000000012 | 1.532 |
| 2 | -3 | 43.389999999999986 | 1.718 |
| 3 | -3 | 53.60000000000002 | 2.062 |
| 4 | -3 | 58.69999999999999 | 2.504 |
| -4 | -2 | 298.909 | 1.986 |
| -3 | -2 | 311.202 | 1.673 |
| -2 | -2 | 326.516 | 1.411 |
| -1 | -2 | 345.451 | 1.188 |
| 0 | -2 | 9.963000000000022 | 1.05 |
| 1 | -2 | 36.84699999999998 | 1.103 |
| 2 | -2 | 56.06 | 1.376 |
| 3 | -2 | 65.358 | 1.784 |
| 4 | -2 | 68.65899999999999 | 2.256 |
| -4 | -1 | 284.619 | 1.902 |
| -3 | -1 | 294.563 | 1.496 |
| -2 | -1 | 308.364 | 1.123 |
| -1 | -1 | 329.141 | 0.78 |
| 0 | -1 | 8.192999999999984 | 0.559 |
| 1 | -1 | 54.25799999999998 | 0.69 |
| 2 | -1 | 74.50400000000002 | 1.079 |
| 3 | -1 | 80.14999999999998 | 1.542 |
| 4 | -1 | 80.31900000000002 | 2.029 |
| -4 | 0 | 270 | 1.97 |
| -3 | 0 | 275.434 | 1.497 |
| -2 | 0 | 282.115 | 1.033 |
| -1 | 0 | 289.714 | 0.563 |
| 0 | 0 | 325.853 | 0.089 |
| 1 | 0 | 100.17399999999998 | 0.437 |
| 2 | 0 | 101.899 | 0.93 |
| 3 | 0 | 98.83800000000002 | 1.407 |
| 4 | 0 | 94.24700000000001 | 1.875 |
| -4 | 1 | 257.019 | 2.137 |
| -3 | 1 | 258.078 | 1.638 |
| -2 | 1 | 256.801 | 1.153 |
| -1 | 1 | 245.691 | 0.705 |
| 0 | 1 | 201.766 | 0.437 |
| 1 | 1 | 150.30200000000002 | 0.641 |
| 2 | 1 | 130.098 | 1.043 |
| 3 | 1 | 118.582 | 1.455 |
| 4 | 1 | 109.39600000000002 | 1.864 |
| -4 | 2 | 245.817 | 2.343 |
| -3 | 2 | 243.73 | 1.849 |
| -2 | 2 | 237.748 | 1.393 |
| -1 | 2 | 222.18 | 1.039 |
| 0 | 2 | 193.806 | 0.913 |
| 1 | 2 | 165.813 | 1.07 |
| 2 | 2 | 147.202 | 1.37 |
| 3 | 2 | 133.89999999999998 | 1.696 |
| 4 | 2 | 122.84500000000003 | 2.026 |
| -4 | 3 | 235.78 | 2.561 |
| -3 | 3 | 231.588 | 2.09 |
| -2 | 3 | 223.414 | 1.684 |
| -1 | 3 | 208.448 | 1.422 |
| 0 | 3 | 188.216 | 1.38 |
| 1 | 3 | 169.44399999999996 | 1.543 |
| 2 | 3 | 154.94799999999998 | 1.801 |
| 3 | 3 | 143.11700000000002 | 2.071 |
| 4 | 3 | 132.505 | 2.337 |
Browser API · Portable schema
Browser API
Graflume.vector()
const data = [
{
"direction": 310.267,
"high": -1.7,
"magnitude": 2.228,
"value": 1.44,
"x": -4,
"y": -3
},
{
"direction": 322.357,
"high": -1.22,
"magnitude": 1.998,
"value": 1.582,
"x": -3,
"y": -3
},
{
"direction": 335.932,
"high": -0.74,
"magnitude": 1.815,
"value": 1.657,
"x": -2,
"y": -3
},
{
"direction": 350.937,
"high": -0.26,
"magnitude": 1.651,
"value": 1.63,
"x": -1,
"y": -3
},
{
"direction": 8.269000000000005,
"high": 0.22,
"magnitude": 1.53,
"value": 1.514,
"x": 0,
"y": -3
},
{
"direction": 27.187000000000012,
"high": 0.7,
"magnitude": 1.532,
"value": 1.363,
"x": 1,
"y": -3
},
{
"direction": 43.389999999999986,
"high": 1.18,
"magnitude": 1.718,
"value": 1.248,
"x": 2,
"y": -3
},
{
"direction": 53.60000000000002,
"high": 1.66,
"magnitude": 2.062,
"value": 1.224,
"x": 3,
"y": -3
},
{
"direction": 58.69999999999999,
"high": 2.14,
"magnitude": 2.504,
"value": 1.301,
"x": 4,
"y": -3
},
{
"direction": 298.909,
"high": -1.738,
"magnitude": 1.986,
"value": 0.96,
"x": -4,
"y": -2
},
{
"direction": 311.202,
"high": -1.258,
"magnitude": 1.673,
"value": 1.102,
"x": -3,
"y": -2
},
{
"direction": 326.516,
"high": -0.778,
"magnitude": 1.411,
"value": 1.177,
"x": -2,
"y": -2
},
{
"direction": 345.451,
"high": -0.298,
"magnitude": 1.188,
"value": 1.15,
"x": -1,
"y": -2
},
{
"direction": 9.963000000000022,
"high": 0.182,
"magnitude": 1.05,
"value": 1.034,
"x": 0,
"y": -2
},
{
"direction": 36.84699999999998,
"high": 0.662,
"magnitude": 1.103,
"value": 0.883,
"x": 1,
"y": -2
},
{
"direction": 56.06,
"high": 1.142,
"magnitude": 1.376,
"value": 0.768,
"x": 2,
"y": -2
},
{
"direction": 65.358,
"high": 1.622,
"magnitude": 1.784,
"value": 0.744,
"x": 3,
"y": -2
},
{
"direction": 68.65899999999999,
"high": 2.102,
"magnitude": 2.256,
"value": 0.821,
"x": 4,
"y": -2
},
{
"direction": 284.619,
"high": -1.84,
"magnitude": 1.902,
"value": 0.48,
"x": -4,
"y": -1
},
{
"direction": 294.563,
"high": -1.36,
"magnitude": 1.496,
"value": 0.622,
"x": -3,
"y": -1
},
{
"direction": 308.364,
"high": -0.88,
"magnitude": 1.123,
"value": 0.697,
"x": -2,
"y": -1
},
{
"direction": 329.141,
"high": -0.4,
"magnitude": 0.78,
"value": 0.67,
"x": -1,
"y": -1
},
{
"direction": 8.192999999999984,
"high": 0.08,
"magnitude": 0.559,
"value": 0.554,
"x": 0,
"y": -1
},
{
"direction": 54.25799999999998,
"high": 0.56,
"magnitude": 0.69,
"value": 0.403,
"x": 1,
"y": -1
},
{
"direction": 74.50400000000002,
"high": 1.04,
"magnitude": 1.079,
"value": 0.288,
"x": 2,
"y": -1
},
{
"direction": 80.14999999999998,
"high": 1.52,
"magnitude": 1.542,
"value": 0.264,
"x": 3,
"y": -1
},
{
"direction": 80.31900000000002,
"high": 2,
"magnitude": 2.029,
"value": 0.341,
"x": 4,
"y": -1
},
{
"direction": 270,
"high": -1.97,
"magnitude": 1.97,
"value": 0,
"x": -4,
"y": 0
},
{
"direction": 275.434,
"high": -1.49,
"magnitude": 1.497,
"value": 0.142,
"x": -3,
"y": 0
},
{
"direction": 282.115,
"high": -1.01,
"magnitude": 1.033,
"value": 0.217,
"x": -2,
"y": 0
},
{
"direction": 289.714,
"high": -0.53,
"magnitude": 0.563,
"value": 0.19,
"x": -1,
"y": 0
},
{
"direction": 325.853,
"high": -0.05,
"magnitude": 0.089,
"value": 0.074,
"x": 0,
"y": 0
},
{
"direction": 100.17399999999998,
"high": 0.43,
"magnitude": 0.437,
"value": -0.077,
"x": 1,
"y": 0
},
{
"direction": 101.899,
"high": 0.91,
"magnitude": 0.93,
"value": -0.192,
"x": 2,
"y": 0
},
{
"direction": 98.83800000000002,
"high": 1.39,
"magnitude": 1.407,
"value": -0.216,
"x": 3,
"y": 0
},
{
"direction": 94.24700000000001,
"high": 1.87,
"magnitude": 1.875,
"value": -0.139,
"x": 4,
"y": 0
},
{
"direction": 257.019,
"high": -2.082,
"magnitude": 2.137,
"value": -0.48,
"x": -4,
"y": 1
},
{
"direction": 258.078,
"high": -1.602,
"magnitude": 1.638,
"value": -0.338,
"x": -3,
"y": 1
},
{
"direction": 256.801,
"high": -1.122,
"magnitude": 1.153,
"value": -0.263,
"x": -2,
"y": 1
},
{
"direction": 245.691,
"high": -0.642,
"magnitude": 0.705,
"value": -0.29,
"x": -1,
"y": 1
},
{
"direction": 201.766,
"high": -0.162,
"magnitude": 0.437,
"value": -0.406,
"x": 0,
"y": 1
},
{
"direction": 150.30200000000002,
"high": 0.318,
"magnitude": 0.641,
"value": -0.557,
"x": 1,
"y": 1
},
{
"direction": 130.098,
"high": 0.798,
"magnitude": 1.043,
"value": -0.672,
"x": 2,
"y": 1
},
{
"direction": 118.582,
"high": 1.278,
"magnitude": 1.455,
"value": -0.696,
"x": 3,
"y": 1
},
{
"direction": 109.39600000000002,
"high": 1.758,
"magnitude": 1.864,
"value": -0.619,
"x": 4,
"y": 1
},
{
"direction": 245.817,
"high": -2.138,
"magnitude": 2.343,
"value": -0.96,
"x": -4,
"y": 2
},
{
"direction": 243.73,
"high": -1.658,
"magnitude": 1.849,
"value": -0.818,
"x": -3,
"y": 2
},
{
"direction": 237.748,
"high": -1.178,
"magnitude": 1.393,
"value": -0.743,
"x": -2,
"y": 2
},
{
"direction": 222.18,
"high": -0.698,
"magnitude": 1.039,
"value": -0.77,
"x": -1,
"y": 2
},
{
"direction": 193.806,
"high": -0.218,
"magnitude": 0.913,
"value": -0.886,
"x": 0,
"y": 2
},
{
"direction": 165.813,
"high": 0.262,
"magnitude": 1.07,
"value": -1.037,
"x": 1,
"y": 2
},
{
"direction": 147.202,
"high": 0.742,
"magnitude": 1.37,
"value": -1.152,
"x": 2,
"y": 2
},
{
"direction": 133.89999999999998,
"high": 1.222,
"magnitude": 1.696,
"value": -1.176,
"x": 3,
"y": 2
},
{
"direction": 122.84500000000003,
"high": 1.702,
"magnitude": 2.026,
"value": -1.099,
"x": 4,
"y": 2
},
{
"direction": 235.78,
"high": -2.117,
"magnitude": 2.561,
"value": -1.44,
"x": -4,
"y": 3
},
{
"direction": 231.588,
"high": -1.637,
"magnitude": 2.09,
"value": -1.298,
"x": -3,
"y": 3
},
{
"direction": 223.414,
"high": -1.157,
"magnitude": 1.684,
"value": -1.223,
"x": -2,
"y": 3
},
{
"direction": 208.448,
"high": -0.677,
"magnitude": 1.422,
"value": -1.25,
"x": -1,
"y": 3
},
{
"direction": 188.216,
"high": -0.197,
"magnitude": 1.38,
"value": -1.366,
"x": 0,
"y": 3
},
{
"direction": 169.44399999999996,
"high": 0.283,
"magnitude": 1.543,
"value": -1.517,
"x": 1,
"y": 3
},
{
"direction": 154.94799999999998,
"high": 0.763,
"magnitude": 1.801,
"value": -1.632,
"x": 2,
"y": 3
},
{
"direction": 143.11700000000002,
"high": 1.243,
"magnitude": 2.071,
"value": -1.656,
"x": 3,
"y": 3
},
{
"direction": 132.505,
"high": 1.723,
"magnitude": 2.337,
"value": -1.579,
"x": 4,
"y": 3
}
];
const options = {
"accessibility": {
"description": "Zoom and pan inspect the rendered surface without changing data axes or values. When playback controls are available, they move through real steps in the order each unique value first appears in the source data.",
"label": "Vector field · Accessibility example"
},
"height": 620,
"locale": "en",
"mark": {
"fields": {
"direction": "direction",
"magnitude": "magnitude"
}
},
"width": "container",
"x": {
"field": "x",
"title": "Horizontal position",
"type": "quantitative"
},
"y": {
"field": "y",
"title": "Vertical position",
"type": "quantitative"
}
};
Graflume.vector('#chart', data, options);Portable schema
ChartSpec 0.1 · options
{
"accessibility": {
"description": "Zoom and pan inspect the rendered surface without changing data axes or values. When playback controls are available, they move through real steps in the order each unique value first appears in the source data.",
"label": "Vector field · Accessibility example"
},
"height": 620,
"locale": "en",
"mark": {
"fields": {
"direction": "direction",
"magnitude": "magnitude"
}
},
"width": "container",
"x": {
"field": "x",
"title": "Horizontal position",
"type": "quantitative"
},
"y": {
"field": "y",
"title": "Vertical position",
"type": "quantitative"
}
}