پرتوپرتو

نمودار خطی (Line Chart)

کامپوننت نمودار خطی برای نمایش روند

معرفی

نمودار خطی برای نمایش روند داده‌ها در طول زمان استفاده می‌شود.

پیش‌نمایش

استفاده

import { PartoLineChart } from '@parto/ui';

const data = [
  {
    id: 'فروش',
    data: [
      { x: 'فروردین', y: 50 },
      { x: 'اردیبهشت', y: 75 },
      { x: 'خرداد', y: 60 },
      { x: 'تیر', y: 90 },
    ],
  },
];

<div className="h-[400px]">
  <PartoLineChart
    data={data}
    margin={{ top: 20, right: 20, bottom: 50, left: 50 }}
    xScale={{ type: 'point' }}
    yScale={{ type: 'linear' }}
    axisBottom={{
      tickSize: 5,
      tickPadding: 5,
      tickRotation: 0,
    }}
    axisLeft={{
      tickSize: 5,
      tickPadding: 5,
      tickRotation: 0,
    }}
    pointSize={10}
    useMesh={true}
  />
</div>

چند خط

const multiData = [
  {
    id: 'فروش',
    data: [
      { x: 'فروردین', y: 50 },
      { x: 'اردیبهشت', y: 75 },
      { x: 'خرداد', y: 60 },
    ],
  },
  {
    id: 'سود',
    data: [
      { x: 'فروردین', y: 30 },
      { x: 'اردیبهشت', y: 45 },
      { x: 'خرداد', y: 40 },
    ],
  },
];

Props مهم

PropTypeDescription
dataarrayداده‌های نمودار
marginobjectحاشیه‌های نمودار
xScaleobjectتنظیمات محور X
yScaleobjectتنظیمات محور Y
axisBottomobjectتنظیمات محور پایین
axisLeftobjectتنظیمات محور چپ
pointSizenumberاندازه نقاط
useMeshbooleanفعال‌سازی mesh برای hover

ویژگی‌ها

  • تم خودکار: رنگ‌ها به صورت خودکار با تم سیستم هماهنگ می‌شوند
  • RTL: پشتیبانی کامل از راست به چپ
  • Responsive: در تمام اندازه‌های صفحه به خوبی نمایش داده می‌شود
  • Interactive: قابلیت hover و نمایش tooltip

نکات

  • همیشه نمودار را در یک div با ارتفاع مشخص قرار دهید
  • از margin مناسب برای نمایش محورها استفاده کنید
  • برای داده‌های زیاد از useMesh={true} استفاده کنید
  • عنوان محورها را مشخص کنید