1.0.1 • Published 1 year ago

@evanpatchouli/react-native-radar v1.0.1

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

react-native-radar

A simple radar chart for react-native.

Installation

npm i @evanpatchouli/react-native-radar react-native-svg

Example

const MyRadar = (
  <EvpRadar
    data={[100, 20, 30, 10, 40]}
    labels={["Aaa", "Bbb", "Ccc", "Ddd", "Eee"]}
    radius={100} // default: 100
    backgroundColor="rgba(0, 0, 200, 0.05)" //default: none
    strokeColor="rgba(0, 0, 200, 0.5)" // none
    strokeWidth={1.5} // default: 1
    strokeType="solid" // dashed
    dashArray={[5, 3]} // default: [10, 5]
    fillColor="rgba(0, 255, 255, 0.4)"
    labelProps={{ fill: "rgba(0, 0, 200, 0.3)" }}
    coefficient={1} // default: 1
    labelSpace={40} // default: 0
    border={{
      type: "polygon", // circle, none, default: none
      color: "rgba(0, 0, 200, 0.5)", // default: black
      width: 10, // default: 1
    }}
    Axis={{
      // default: none of axis
      type: "dashed", // solid, none
      width: 1, // default: 1
      color: "rgba(0, 0, 200,  0.2)", // default: grey
      dashArray: [5, 4], // default: [10, 5]
    }}
    ScaleLine={{
      // default: none of scale lines
      type: "solid", // solid, none
      number: 4,
      width: 1, // default: 1
      color: "rgba(0, 0, 200, 0.2)", // default: grey
      dashArray: [5, 4], // default: [20, 5]
    }}
  />
);

Props Api

You can learn from the table or the interface code at bottom.

Table of Props:

PropDescriptionTypeDefault
dataData to be displayed in the radar chartnumber[][]
labelsLabels for each datastring[][]
radiusRadius of the radar chartnumber100
backgroundColorBackground color of the radar chartstring"null"
strokeColorColor of the strokestring"black"
strokeWidthWidth of the strokenumber1
strokeTypeType of the stroke"solid" | "dashed""solid"
dashArrayDash array of the strokenumber, number10, 5
fillColorColor of the fill areastring"null"
labelPropsProps for the labelsTextProps | ((idx: number) => TextProps){}
coefficientCoefficient for the datanumber1
labelSpaceSpace between the label and the radar chartnumber0
borderBorder of the radar chart{ type: "circle" | "polygon" | "none"; width?: number; color?: string; }{ type: "none" }
AxisAxis of the radar chart{ type: "dashed" | "solid" | "none"; color?: string; width?: number; dashArray?: number, number; }{ type: "none" }
ScaleLineScale lines of the radar chart{ number: number; type: "dashed" | "solid" | "none"; color?: string; width?: number; dashArray?: number, number; opacity?: number; }{ type: "none" }

Interface of RadarProps:

interface RadarProps {
  data: number[];
  labels: string[];
  /** @default: 100 */
  radius?: number;
  /** @default "null" */
  backgroundColor?: string;
  strokeColor?: string;
  /** @default 1 */
  strokeWidth?: number;
  /** @default "solid" */
  strokeType?: "solid" | "dashed";
  /** @default [10,5] */
  dashArray?: [number, number];
  /** @default 1 */
  strokeOpacity?: number;
  fillColor?: string;
  labelProps?: TextProps | ((idx: number) => TextProps);
  /** @default 1 */
  coefficient?: number;
  /** @default 0 */
  labelSpace: number;
  border?: {
    type: "circle" | "polygon" | "none";
    /** @default 1 */
    width?: number;
    /** @default "black" */
    color?: string;
  };
  Axis?: {
    type: "dashed" | "solid" | "none";
    color?: string;
    width?: number;
    /** @default [10,5] */
    dashArray?: [number, number];
  };
  ScaleLine?: {
    number: number;
    type: "dashed" | "solid" | "none";
    color?: string;
    width?: number;
    /** @default [20,5] */
    dashArray?: [number, number];
    opacity?: number;
  };
}
1.0.1

1 year ago

1.0.0

1 year ago