Chart Presetsv1.0.0
تولتیپِ مشترکِ همهٔ نمودارهای دیگ؛ با پراپِ tooltip روی هر نمودار تنظیم میشود. راستبهچپ، با عددِ فارسی و رنگِ همان سری. در نمونهها تولتیپ از اول باز است (defaultTooltipIndex)؛ روی میلهها حرکت کنید.
این کامپوننت فعلاً برای ۱ فریمورک از ۴ فریمورک آماده است.
این نمونه هنوز برای 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 پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
استفاده
<BarChart
data={data}
categoryKey="day"
series={series}
tooltip={{
indicator: "line",
showTotal: "جمعِ روز",
formatValue: (value) => `${formatNumber(Number(value))} تیکت`,
}}
/>این کامپوننت هنوز برای Vue پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
این کامپوننت هنوز برای Svelte پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
این کامپوننت هنوز برای Angular پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
ترکیب اجزا
همهٔ نمودارها (Area، Bar، Line، Pie، Radar، Radial) پراپِ tooltip میگیرند. indicator شکلِ نشانگرِ رنگ است: dot، line (نوارِ عمودی کنارِ ردیفها)، dashed یا none. hideLabel تیتر را برمیدارد و labelFormatter آن را بازنویسی میکند؛ مثلاً محورِ کوتاهِ «ش» در تولتیپ «شنبه، ۳۰ شهریور» شود.
formatValue قالبِ هر ردیف است (واحد، تومان، درصد) و از valueFormatter نمودار جداست تا محور کوتاه بماند و تولتیپ کامل. showTotal ردیفِ جمع را با خطِ جداکننده پایین میگذارد. اگر سری icon داشته باشد، آیکون جای نشانگرِ رنگ مینشیند.
در ChartContainer سطحپایین همین گزینهها با پراپِ tooltip کار میکنند و renderChartTooltip برای فرمترِ کاملاً سفارشی صادر شده است.
دسترسپذیری
- تولتیپ با صفحهکلید و صفحهخوان در دسترس نیست؛ عددِ مهم را جای دیگری هم بنویسید.
- تولتیپ داخلِ کادرِ نمودار میماند (confine) و روی میله نمیافتد، تا داده را نپوشاند.
مرجع API
ChartTooltipOptions
| ویژگی | نوع | پیشفرض | توضیح |
|---|---|---|---|
| indicator | "dot" | "line" | "dashed" | "none" | "dot" | شکلِ نشانگرِ رنگِ هر ردیف. |
| hideLabel | boolean | false | تیترِ دسته پنهان. |
| labelFormatter | (label: string) => ReactNode | — | بازنویسیِ تیتر. |
| formatValue | (value, key) => ReactNode | valueFormatterِ نمودار | قالبِ مقدارِ هر ردیف. |
| showTotal | boolean | string | false | ردیفِ جمع؛ رشته یعنی برچسبِ دلخواه. |
روی نمودار
| ویژگی | نوع | پیشفرض | توضیح |
|---|---|---|---|
| tooltip | ChartTooltipOptions | — | گزینههای بالا. |
| cursor | "line" | "band" | "none" | "line" | نشانگرِ دستهٔ زیرِ ماوس. |
| defaultTooltipIndex | number | — | تولتیپِ این اندیس از اول باز باشد. |
این کامپوننت هنوز برای Vue پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
این کامپوننت هنوز برای Svelte پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
این کامپوننت هنوز برای Angular پورت نشده است.
نسخهٔ ریاکت آماده است؛ پورت این فریمورک در دست کار است.
نمونهها
نشانگرِ خطی
indicator: line
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
بینشانگر
indicator: none
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
تیترِ سفارشی
labelFormatter: تیتر را بازنویسی میکند
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
تیتر با تاریخِ کامل
محور کوتاه، تولتیپ تاریخِ کاملِ شمسی
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
بیتیتر
hideLabel؛ وقتی دسته از خودِ نمودار پیداست
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
قالبِ مقدار
مقدار با واحد: «۷۲ تیکت»
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
تولتیپ با آیکون
آیکونِ هر کانال بهجای نشانگرِ رنگ
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
تولتیپ با جمع
واحد، نشانگرِ خطی و ردیفِ جمع
این نمونه هنوز برای Vue پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Svelte پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
این نمونه هنوز برای Angular پورت نشده است؛ آنچه میبینید نسخهٔ ریاکت است.
کدام نمونه برای کدام موقعیت
| نمونه | کجا به کار میآید |
|---|---|
| نشانگرِ خطی | indicator: line |
| بینشانگر | indicator: none |
| تیترِ سفارشی | labelFormatter: تیتر را بازنویسی میکند |
| تیتر با تاریخِ کامل | محور کوتاه، تولتیپ تاریخِ کاملِ شمسی |
| بیتیتر | hideLabel؛ وقتی دسته از خودِ نمودار پیداست |
| قالبِ مقدار | مقدار با واحد: «۷۲ تیکت» |
| تولتیپ با آیکون | آیکونِ هر کانال بهجای نشانگرِ رنگ |
| تولتیپ با جمع | واحد، نشانگرِ خطی و ردیفِ جمع |
دستورالعمل استفاده
واحد و جمع وقتی معنا دارد
انجام بده
واحد کنارِ عدد و جمعِ روز؛ خواننده حساب نمیکند.
انجام نده
عددِ خالی؛ معلوم نیست تیکت است یا دقیقه.
تیتر را بیدلیل برندارید
انجام بده
با چند سری، تیترِ دسته میگوید این عددها مالِ کدام روزند.
انجام نده
بیتیتر، فقط وقتی دسته از جای ماوس پیداست.