📊 مميز

Recharts

مكتبة رسوم بيانية React مبنية على D3 (React Charting Library)

(5/5)
👁️ 3 مشاهدة
📅 02 Jul 2026
🌐 عام

مستوى الخبرة المطلوب:

🌱 مبتدئ ⚡ متوسط 🚀 محترف
🔗 زيارة الموقع الرسمي
5
تقييم المستخدمين
التصنيف 📊 Charts
المشاهدات 3
تاريخ الإضافة 02/07/2026
آخر تحديث 02/07/2026

📖 الوصف

Recharts هي المكتبة الأكثر شعبية للرسوم البيانية في React، مبنية على D3.js وتقدم مكونات React بسيطة وقابلة لإعادة الاستخدام. صُممت لتكون سهلة التعلم مع declarative API، مما يسمح بإنشاء رسوم بيانية جميلة بكود قليل جداً. تدعم الرسوم البيانية الأساسية (Line, Bar, Pie, Area, Scatter, Radar) مع animatio...

🎯 يستخدم في

مجالات استخدام هذه الأداة

Dashboards تحليلية

Admin panels

تطبيقات SaaS

تقارير المبيعات والمالية

Analytics widgets

المميزات

أبرز مميزات هذه الأداة

مبنية على React components (declarative)

سهلة التعلم والاستخدام

Animations سلسة مدمجة

Responsive charts

Tooltips تفاعلية

TypeScript support

Large ecosystem & community

Active development maintained

Good documentation

Composable components

⚠️ العيوب

نقاط يجب مراعاتها

×

React only (لا تدعم Vue/Angular)

×

مخصصة لرسوم بسيطة ومتوسطة

×

Customization محدود مقارنة بـ D3

×

Performance مع بيانات ضخمة (>10k points) يمكن أن يكون بطيء

×

بعض الأنواع المفقودة (heatmap

×

sankey)

×

Bundle size ~100KB gzipped

🔄 البدائل

أدوات بديلة يمكنك استخدامها

Chart.js
Victory
Visx
ApexCharts
D3

💻 مثال على الاستخدام

كيفية استخدام هذه الأداة

Example Code
import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer } from 'recharts';

const data = [
  { name: 'يناير', مبيعات: 4000, أرباح: 2400 },
  { name: 'فبراير', مبيعات: 3000, أرباح: 1398 },
  { name: 'مارس', مبيعات: 2000, أرباح: 9800 },
  { name: 'أبريل', مبيعات: 2780, أرباح: 3908 },
  { name: 'مايو', مبيعات: 1890, أرباح: 4800 },
];

function SalesChart() {
  return (
    <ResponsiveContainer width="100%" height={300}>
      <LineChart data={data}>
        <CartesianGrid strokeDasharray="3 3" />
        <XAxis dataKey="name" />
        <YAxis />
        <Tooltip 
          contentStyle={{ direction: 'rtl', textAlign: 'right' }}
          formatter={(value, name) => [`${value} ر.س`, name]}
        />
        <Legend />
        <Line type="monotone" dataKey="مبيعات" stroke="#8884d8" strokeWidth={2} />
        <Line type="monotone" dataKey="أرباح" stroke="#82ca9d" strokeWidth={2} />
      </LineChart>
    </ResponsiveContainer>
  );
}

// Pie Chart
import { PieChart, Pie, Cell } from 'recharts';

const pieData = [
  { name: 'منتج أ', value: 400 },
  { name: 'منتج ب', value: 300 },
  { name: 'منتج ج', value: 300 },
  { name: 'منتج د', value: 200 },
];

const COLORS = ['#0088FE', '#00C49F', '#FFBB28', '#FF8042'];

function ProductPie() {
  return (
    <PieChart width={400} height={400}>
      <Pie
        data={pieData}
        cx={200}
        cy={200}
        labelLine={false}
        label={({ name, percent }) => `${name}: ${(percent * 100).toFixed(0)}%`}
        outerRadius={80}
        fill="#8884d8"
        dataKey="value"
      >
        {pieData.map((entry, index) => (
          <Cell key={`cell-${index}`} fill={COLORS[index % COLORS.length]} />
        ))}
      </Pie>
    </PieChart>
  );
}

📚 أدوات أخرى في Charts

قد يعجبك أيضاً