Chart Presetsv1.0.0
سهمِ چند جزء از یک کل. برای پنج برش یا کمتر؛ بیشتر از آن میلهای خواناتر است. نمونهٔ بالا تعاملی است: ماه را از Select انتخاب کنید یا روی برش بزنید؛ برش کمی بیرون میزند و عددش وسط مینشیند.
این کامپوننت فعلاً برای ۱ فریمورک از ۴ فریمورک آماده است.
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
نصب
با CLI اختصاصی digdesign کامپوننت را از رجیستری دیگ نصب کنید؛ وابستگیها و فایلها خودکار اضافه میشوند.
npx digdesign@latest add https://docs.digdesign.ir/r/chart-presets.jsonpnpm dlx digdesign@latest add https://docs.digdesign.ir/r/chart-presets.jsonyarn dlx digdesign@latest add https://docs.digdesign.ir/r/chart-presets.jsonbunx --bun digdesign@latest add https://docs.digdesign.ir/r/chart-presets.jsonاین کامپوننت هنوز برای Vue پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
این کامپوننت هنوز برای Svelte پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
این کامپوننت هنوز برای Angular پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
استفاده
import { PieChart } from "@/components/ui/chart-presets"
<PieChart data={payments} nameKey="method" valueKey="orders" donut />این کامپوننت هنوز برای Vue پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
این کامپوننت هنوز برای Svelte پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
این کامپوننت هنوز برای Angular پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
ترکیب اجزا
هر ردیفِ data یک برش است: nameKey نامش و valueKey مقدارش. رنگها به ترتیب از --chart-1 برداشته میشوند. donut وسط را خالی میکند و centerLabel عدد و توضیحِ وسط را مینویسد (خودش دونات را روشن میکند).
labels برچسب را بیرون (با خطِ راهنما) یا داخلِ برش میگذارد و labelContent میگوید مقدار، نام یا درصد. activeIndex یک برش را بیرون میکشد و با onSliceClick حالتِ تعاملی ساخته میشود. برای دوحلقه یا هر چیزِ بیشتر، مستقیم سراغِ ChartContainer بروید (نمونهٔ آخر).
دسترسپذیری
- درصد یا مقدار را با labels روی برش بنویسید؛ مقایسهٔ زاویه با چشم دقیق نیست.
- Select ماه با صفحهکلید کار میکند؛ کلیک روی برش فقط میانبر است، نه تنها راه.
- عددِ وسطِ دونات HTML است، پس صفحهخوان آن را میخواند.
مرجع API
PieChart
| ویژگی | نوع | پیشفرض | توضیح |
|---|---|---|---|
| data | ChartRow[] | — | هر ردیف یک برش. |
| nameKey | string | — | فیلدِ نامِ برش. |
| valueKey | string | — | فیلدِ مقدارِ برش. |
| donut | boolean | false | وسطِ خالی. |
| centerLabel | { value, label? } | — | عدد و توضیحِ وسطِ دونات. |
| labels | "none" | "outside" | "inside" | "none" | جای برچسبِ برشها. |
| labelContent | "value" | "name" | "percent" | "value" | متنِ برچسب. |
| activeIndex | number | — | برشِ برجسته که بیرون میزند. |
| onSliceClick | (index, row) => void | — | کلیک روی برش. |
| separator | boolean | true | فاصلهٔ بینِ برشها به رنگِ پسزمینه. |
| showLegend | boolean | true | راهنما زیرِ نمودار. |
| valueFormatter | (value: number) => string | عددِ فارسی | قالبِ مقدار. |
مشترک
| ویژگی | نوع | پیشفرض | توضیح |
|---|---|---|---|
| tooltip | ChartTooltipOptions | — | ظاهرِ تولتیپ: indicator، hideLabel، labelFormatter، formatValue و showTotal. جزئیات در برگهٔ «تولتیپ». |
| defaultTooltipIndex | number | — | تولتیپِ این اندیس از اول باز باشد؛ مثلاً مقدارِ امروز. |
| className | string | h-72 w-full | ارتفاع را از همینجا بدهید؛ نمودار ارتفاعِ ذاتی ندارد. |
این کامپوننت هنوز برای Vue پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
این کامپوننت هنوز برای Svelte پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
این کامپوننت هنوز برای Angular پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
نمونهها
نمودار دایرهای
سهمِ هر روشِ پرداخت
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
دایرهای بیفاصله
برشها بیخطِ جداکننده
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
دایرهای با برچسب
تعدادِ سفارش بیرونِ دایره
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
دایرهای با درصد
سهمِ هر برش به درصد
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
نام روی برش
نامِ روشِ پرداخت داخلِ خودِ برش
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
دایرهای با راهنما
راهنما زیرِ نمودار
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
دونات
وسطِ خالی؛ سبکتر از دایرهٔ پر
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
دونات با برشِ فعال
برشِ برجسته کمی بیرون میزند
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
دونات با عددِ وسط
جمعِ سفارشها وسطِ دونات
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
دایرهای دوحلقه
سهمِ دستهها از فروش: ۱۴۰۳ داخل، ۱۴۰۴ بیرون
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
کدام نمونه برای کدام موقعیت
| نمونه | کجا به کار میآید |
|---|---|
| نمودار دایرهای | سهمِ هر روشِ پرداخت |
| دایرهای بیفاصله | برشها بیخطِ جداکننده |
| دایرهای با برچسب | تعدادِ سفارش بیرونِ دایره |
| دایرهای با درصد | سهمِ هر برش به درصد |
| نام روی برش | نامِ روشِ پرداخت داخلِ خودِ برش |
| دایرهای با راهنما | راهنما زیرِ نمودار |
| دونات | وسطِ خالی؛ سبکتر از دایرهٔ پر |
| دونات با برشِ فعال | برشِ برجسته کمی بیرون میزند |
| دونات با عددِ وسط | جمعِ سفارشها وسطِ دونات |
| دایرهای دوحلقه | سهمِ دستهها از فروش: ۱۴۰۳ داخل، ۱۴۰۴ بیرون |
دستورالعمل استفاده
جمعِ کل را بنویسید
انجام بده
دونات با عددِ وسط: هم سهم دیده میشود هم کل.
انجام نده
دایرهٔ بیعدد: معلوم نیست کل چقدر است.
برچسب یا راهنما
انجام بده
درصد روی هر برش؛ خواننده چشم را بینِ راهنما و نمودار نمیچرخاند.
انجام نده
فقط راهنما: باید رنگ را جفت کرد تا فهمید کدام برش کدام است.