📋 محتويات الصفحة
📖 الوصف
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
🔄 البدائل
أدوات بديلة يمكنك استخدامها
💻 مثال على الاستخدام
كيفية استخدام هذه الأداة
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
قد يعجبك أيضاً
ApexCharts
⭐مكتبة رسوم بيانية JavaScript تفاعلية حديثة (Modern Interactive Charts)
Chart.js
⭐مكتبة رسوم بيانية JavaScript بسيطة وخفيفة (Simple yet Flexible JS Charts)
D3
⭐مكتبة معالجة البيانات وتصويرها منخفضة المستوى (Low-Level Data Visualization Library)
ECharts
⭐مكتبة رسوم بيانية JavaScript مفتوحة المصدر قوية (Powerful Interactive Charting Library)
Highcharts
⭐مكتبة رسوم بيانية JavaScript احترافية (Professional JavaScript Charts)
Nivo
⭐مكتبة رسوم بيانية React غنية بمكونات declarative (Rich Declarative Data Visualization)