Skip to content

@feds01/graphika


@feds01/graphika / utils/coordinates

utils/coordinates

Interfaces

GraphLike

Defined in: utils/coordinates.ts:118

Properties

PropertyTypeDefined in
axisManager{ xAxis: CoordinateAxis; yAxis: CoordinateAxis; }utils/coordinates.ts:129
axisManager.xAxisCoordinateAxisutils/coordinates.ts:130
axisManager.yAxisCoordinateAxisutils/coordinates.ts:131
gridRectSize{ x: number; y: number; }utils/coordinates.ts:125
gridRectSize.xnumberutils/coordinates.ts:126
gridRectSize.ynumberutils/coordinates.ts:127
lengths{ xBegin: number; xEnd: number; yBegin: number; yLength: number; }utils/coordinates.ts:119
lengths.xBeginnumberutils/coordinates.ts:120
lengths.xEndnumberutils/coordinates.ts:121
lengths.yBeginnumberutils/coordinates.ts:122
lengths.yLengthnumberutils/coordinates.ts:123

Type Aliases

CoordinateAxis

ts
type CoordinateAxis = {
  roundedMin: number;
  scaleStep: number;
  yStart: number;
};

Defined in: utils/coordinates.ts:15

Required axis properties for coordinate conversion.

Properties

PropertyTypeDefined in
roundedMinnumberutils/coordinates.ts:16
scaleStepnumberutils/coordinates.ts:17
yStartnumberutils/coordinates.ts:18

CoordinateContext

ts
type CoordinateContext = {
  gridRectSize: {
     x: number;
     y: number;
  };
  lengths: {
     xBegin: number;
     xEnd: number;
     yBegin: number;
     yLength: number;
  };
  xAxis: CoordinateAxis;
  yAxis: CoordinateAxis;
};

Defined in: utils/coordinates.ts:22

Required graph properties for coordinate conversion.

Properties

PropertyTypeDefined in
gridRectSize{ x: number; y: number; }utils/coordinates.ts:29
gridRectSize.xnumberutils/coordinates.ts:30
gridRectSize.ynumberutils/coordinates.ts:31
lengths{ xBegin: number; xEnd: number; yBegin: number; yLength: number; }utils/coordinates.ts:23
lengths.xBeginnumberutils/coordinates.ts:24
lengths.xEndnumberutils/coordinates.ts:25
lengths.yBeginnumberutils/coordinates.ts:26
lengths.yLengthnumberutils/coordinates.ts:27
xAxisCoordinateAxisutils/coordinates.ts:33
yAxisCoordinateAxisutils/coordinates.ts:34

Functions

canvasXToDataX()

ts
function canvasXToDataX(ctx, canvasX): number;

Defined in: utils/coordinates.ts:88

Convert canvas X coordinate to data X value.

This is the inverse of dataXToCanvasX.

Parameters

ParameterTypeDescription
ctxCoordinateContextThe coordinate context containing graph measurements.
canvasXnumberThe canvas X coordinate to convert.

Returns

number

The data X value.


createCoordinateContext()

ts
function createCoordinateContext(graph): CoordinateContext;

Defined in: utils/coordinates.ts:144

Create a coordinate context from a graph instance.

This helper extracts the necessary properties from a graph to create a CoordinateContext that can be used with the coordinate conversion functions.

Parameters

ParameterTypeDescription
graphGraphLikeAn object with lengths, gridRectSize, and axisManager properties.

Returns

CoordinateContext

A CoordinateContext for use with coordinate conversion functions.


dataXToCanvasX()

ts
function dataXToCanvasX(ctx, dataX): number;

Defined in: utils/coordinates.ts:44

Convert data X value to canvas X coordinate.

Parameters

ParameterTypeDescription
ctxCoordinateContextThe coordinate context containing graph measurements.
dataXnumberThe data X value to convert.

Returns

number

The canvas X coordinate.


dataYToCanvasY()

ts
function dataYToCanvasY(ctx, dataY): number;

Defined in: utils/coordinates.ts:65

Convert data Y value to canvas Y coordinate.

Parameters

ParameterTypeDescription
ctxCoordinateContextThe coordinate context containing graph measurements.
dataYnumberThe data Y value to convert.

Returns

number

The canvas Y coordinate.


isWithinGraphArea()

ts
function isWithinGraphArea(
   ctx, 
   canvasX, 
   canvasY): boolean;

Defined in: utils/coordinates.ts:107

Check if canvas coordinates are within the graph plotting area.

Parameters

ParameterTypeDescription
ctxCoordinateContextThe coordinate context containing graph measurements.
canvasXnumberThe canvas X coordinate to check.
canvasYnumberThe canvas Y coordinate to check.

Returns

boolean

True if the coordinates are within the graph area.

Released under the ISC License.