0.2.0 β€’ Published 9 months ago

@ahmed_alsanadi/react-d3-charts v0.2.0

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

React D3 Charts

A modern, lightweight React charting library built with D3.js.

Features

  • πŸ“Š Line Charts
  • πŸ“Š Bar Charts
  • πŸ•ΈοΈ Interactive Network Graphs
  • 🎨 Customizable colors and dimensions
  • πŸ“± Responsive design
  • πŸ”§ TypeScript support
  • ⚑️ Zero dependencies (except React and D3)

Installation

npm install @ahmed_alsanadi/react-d3-charts

Usage

Line Chart

import { LineChart } from '@ahmed_alsanadi/react-d3-charts';

const data = [
  { x: 0, y: 10 },
  { x: 1, y: 15 },
  { x: 2, y: 35 },
  { x: 3, y: 25 },
];

function App() {
  return (
    <LineChart
      data={data}
      width={600}
      height={400}
      color="#3b82f6"
    />
  );
}

Bar Chart

import { BarChart } from '@ahmed_alsanadi/react-d3-charts';

const data = [
  { x: 'A', y: 10 },
  { x: 'B', y: 15 },
  { x: 'C', y: 35 },
  { x: 'D', y: 25 },
];

function App() {
  return (
    <BarChart
      data={data}
      width={600}
      height={400}
      color="#10b981"
    />
  );
}

Network Graph

import { NetworkGraph } from '@ahmed_alsanadi/react-d3-charts';

const data = {
  id: 'root',
  label: 'Root',
  children: [
    {
      id: 'group1',
      label: 'Group 1',
      children: [
        { id: 'node1', label: 'Node 1' },
        { id: 'node2', label: 'Node 2' },
      ],
    },
    // ... more nodes
  ],
};

function App() {
  return (
    <NetworkGraph
      data={data}
      width={800}
      height={600}
      nodeColor="#6366f1"
    />
  );
}

API Reference

LineChart Props

PropTypeDefaultDescription
dataLineDataPoint[]requiredArray of data points
widthnumber600Chart width
heightnumber400Chart height
marginMargin{ top: 20, right: 30, bottom: 30, left: 40 }Chart margins
xAccessor(d: DataPoint) => numberd => d.xFunction to access x values
yAccessor(d: DataPoint) => numberd => d.yFunction to access y values
colorstring'steelblue'Line color
classNamestring''Additional CSS classes

BarChart Props

PropTypeDefaultDescription
dataBarDataPoint[]requiredArray of data points
widthnumber600Chart width
heightnumber400Chart height
marginMargin{ top: 20, right: 30, bottom: 30, left: 40 }Chart margins
xAccessor(d: DataPoint) => stringd => d.xFunction to access x values
yAccessor(d: DataPoint) => numberd => d.yFunction to access y values
colorstring'steelblue'Bar color
classNamestring''Additional CSS classes

NetworkGraph Props

PropTypeDefaultDescription
dataNetworkNoderequiredRoot node of the network
widthnumber800Graph width
heightnumber600Graph height
nodeRadiusnumber20Radius of nodes
nodeColorstring'#3b82f6'Color of nodes
linkColorstring'#94a3b8'Color of links
linkWidthnumber2Width of links
classNamestring''Additional CSS classes

License

MIT