+++
# -----------------------------------------------------------------------
# Do not edit this file. It is automatically generated by API Documenter.
# -----------------------------------------------------------------------
title = "Graph"
keywords = ["grafana","documentation","sdk","@grafana/ui"]
type = "docs"
+++
## Graph class
Signature
```typescript
export declare class Graph extends PureComponent
```
Import
```typescript
import { Graph } from '@grafana/ui';
```
Properties
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [$element](#_element-property) | | any
| |
| [defaultProps](#defaultprops-property) | static
| {
showLines: boolean;
showPoints: boolean;
showBars: boolean;
isStacked: boolean;
lineWidth: number;
}
| |
| [element](#element-property) | | HTMLElement | null
| |
| [getBarWidth](#getbarwidth-property) | | () => number
| |
| [onPlotClick](#onplotclick-property) | | (event: JQueryEventObject, contextPos: FlotPosition, item?: FlotItem<GraphSeriesXY> | undefined) => void
| |
| [onPlotHover](#onplothover-property) | | (event: JQueryEventObject, pos: FlotPosition, item?: FlotItem<GraphSeriesXY> | undefined) => void
| |
| [onPlotSelected](#onplotselected-property) | | (event: JQueryEventObject, ranges: {
xaxis: {
from: number;
to: number;
};
}) => void
| |
| [renderContextMenu](#rendercontextmenu-property) | | () => JSX.Element | null
| |
| [renderTooltip](#rendertooltip-property) | | () => React.ReactElement<TooltipProps, string | ((props: any) => React.ReactElement<any, string | any | (new (props: any) => React.Component<any, any, any>)> | null) | (new (props: any) => React.Component<any, any, any>)> | null
| |
| [state](#state-property) | | GraphState
| |
Methods
| Method | Modifiers | Description |
| --- | --- | --- |
| [componentDidMount()](#componentdidmount-method) | | |
| [componentDidUpdate(prevProps, prevState)](#componentdidupdate-method) | | |
| [componentWillUnmount()](#componentwillunmount-method) | | |
| [draw()](#draw-method) | | |
| [getYAxes(series)](#getyaxes-method) | | |
| [render()](#render-method) | | |
### $element property
Signature
```typescript
$element: any;
```
### defaultProps property
Signature
```typescript
static defaultProps: {
showLines: boolean;
showPoints: boolean;
showBars: boolean;
isStacked: boolean;
lineWidth: number;
};
```
### element property
Signature
```typescript
element: HTMLElement | null;
```
### getBarWidth property
Signature
```typescript
getBarWidth: () => number;
```
### onPlotClick property
Signature
```typescript
onPlotClick: (event: JQueryEventObject, contextPos: FlotPosition, item?: FlotItem | undefined) => void;
```
### onPlotHover property
Signature
```typescript
onPlotHover: (event: JQueryEventObject, pos: FlotPosition, item?: FlotItem | undefined) => void;
```
### onPlotSelected property
Signature
```typescript
onPlotSelected: (event: JQueryEventObject, ranges: {
xaxis: {
from: number;
to: number;
};
}) => void;
```
### renderContextMenu property
Signature
```typescript
renderContextMenu: () => JSX.Element | null;
```
### renderTooltip property
Signature
```typescript
renderTooltip: () => React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | null;
```
### state property
Signature
```typescript
state: GraphState;
```
### componentDidMount method
Signature
```typescript
componentDidMount(): void;
```
Returns:
`void`
### componentDidUpdate method
Signature
```typescript
componentDidUpdate(prevProps: GraphProps, prevState: GraphState): void;
```
Parameters
| Parameter | Type | Description |
| --- | --- | --- |
| prevProps | GraphProps
| |
| prevState | GraphState
| |
Returns:
`void`
### componentWillUnmount method
Signature
```typescript
componentWillUnmount(): void;
```
Returns:
`void`
### draw method
Signature
```typescript
draw(): void;
```
Returns:
`void`
### getYAxes method
Signature
```typescript
getYAxes(series: GraphSeriesXY[]): {
show: boolean;
index: number;
position: string;
min: import("@grafana/data").DecimalCount;
tickDecimals: import("@grafana/data").DecimalCount;
}[] | {
show: boolean;
min: number;
max: number;
}[];
```
Parameters
| Parameter | Type | Description |
| --- | --- | --- |
| series | GraphSeriesXY[]
| |
Returns:
`{
show: boolean;
index: number;
position: string;
min: import("@grafana/data").DecimalCount;
tickDecimals: import("@grafana/data").DecimalCount;
}[] | {
show: boolean;
min: number;
max: number;
}[]`
### render method
Signature
```typescript
render(): JSX.Element;
```
Returns:
`JSX.Element`