توزیع (Distribution)

سهم هر دسته از یک مقیاس — احساس، هیجان یا موضع مخاطبان — در ردیف‌های میله‌ای، یک نوار چندبخشی یا تراشه‌های درون‌خطی

معرفی

Distribution نشان می‌دهد مجموعه‌ای از مطالب میان دسته‌های یک مقیاس چطور پخش شده است. مقیاس را kind تعیین می‌کند:

  • kind="sentiment" — مثبت، خنثی، ترکیبی، منفی، و «نامشخص» (تحلیل‌نشده) در انتها
  • kind="emotion" — نه هیجان؛ در نمای bars و compact فقط topN دستهٔ بزرگ‌تر (پیش‌فرض 5) و بقیه در «بقیه»
  • kind="flow" — پنج موضع مخاطب؛ در نمای bars و compact به ترتیب تعداد

عددهای ورودی خودکار به درصد تبدیل می‌شوند (با گرد کردن به روش بیشترین باقی‌مانده، تا جمعشان دقیقاً 100 باشد)؛ دسته‌ای که مطلبی ندارد نمایش داده نمی‌شود و اگر هیچ دسته‌ای مطلب نداشته باشد، همین را می‌گوید.

از 5.0 این کامپوننت جای کامپوننت‌های نسخهٔ 4 SentimentDistribution، EmotionDistribution و FlowDistribution را گرفته است (npx --no parto-migrate-v5 کد آن‌ها را به Distribution با kind مناسب تبدیل می‌کند).

چه زمانی استفاده کنیم:

  • نسبت مثبت/منفی/خنثی نظرهای یک پست یا کمپین
  • ترکیب هیجان‌ها یا موضع مخاطبان یک موضوع در داشبورد یا گزارش
  • ستون توزیع در جدول (از طریق SentimentCell و FlowCell)

چه زمانی استفاده نکنیم:

  • روند در طول زمان — PartoLineChart یا PartoAreaChart
  • احساس یک مطلب — SentimentBadge، EmotionBadge یا FlowBadge
مثبت
58٪
خنثی
27٪
منفی
15٪

زمین بازی

زمین بازی
مثبت
46٪(1240)
خنثی
30٪(820)
ترکیبی
7٪(180)
منفی
17٪(460)
تنظیمات
محتوا
ظاهر
کد این نمونه به‌صورت خودکار قابل تولید نیست — برای کد آماده‌ی copy/paste به بخش «استفاده» در بالای صفحه مراجعه کنید.

استفاده

import { Distribution } from '@partodata/ui'
;<Distribution kind="sentiment" data={{ positive: 1200, negative: 340, neutral: 560 }} />

نماها

bars (پیش‌فرض)

مثبت
58٪
خنثی
27٪
منفی
15٪

stacked

مثبت58٪خنثی27٪منفی15٪

compact

مثبت58٪خنثی27٪منفی15٪

bars (پیش‌فرض احساس و هیجان)

<Distribution kind="sentiment" data={{ positive: 1200, negative: 340, neutral: 560 }} variant="bars" />

tone — همیشه رنگی (mono منسوخ، 7.12)

احساس، هیجان و موضع دستهٔ معنایی‌اند و رنگ هر دسته معنای آن است (--sentiment-*، --emotion-*، --flow-*). نسخهٔ 7.11 حالت tone="mono" را برای شبکهٔ کارت‌ها افزود؛ نتیجه حذف همان معنا بود و مالک آن را رد کرد (17 مهر 1405: «تمیز یعنی بی‌سیگنال بصری نیست»). از 7.12 mono منسوخ است و در محیط توسعه هشدار می‌دهد. آرامش یک شبکهٔ کارت را از سطح‌ها، فاصله و تایپوگرافی بگیرید، نه از حذف رنگ دسته‌ها.

stacked (پیش‌فرض موضع)

مثبت58٪خنثی27٪منفی15٪
<Distribution kind="flow" data={{ 'pro-gov': 50, 'internal-critic': 30, grey: 20 }} />

compact

مثبت58٪خنثی27٪منفی15٪
<Distribution kind="sentiment" data={{ positive: 1200, negative: 340, neutral: 560 }} variant="compact" />

هیجان‌ها

شادی30٪اعتماد8٪انتظار8٪شگفتی6٪خنثی19٪غم11٪ترس4٪انزجار3٪خشم11٪
شادی
34٪(340)
خنثی
21٪(210)
غم
13٪(128)
خشم
12٪(120)
اعتماد
9٪(92)
بقیه
11٪(108)
<Distribution kind="emotion" data={{ joy: 460, trust: 380, anger: 320, neutral: 540 }} topN={3} />

موضع مخاطبان

حامی43٪منتقد سازنده19٪مخالف10٪مخالف جدی6٪خنثی22٪
حامی
43٪(420)
خنثی
22٪(215)
منتقد سازنده
19٪(180)
مخالف
10٪(95)
مخالف جدی
6٪(62)

نمایش تعداد

مثبت
58٪(1240)
خنثی
27٪(580)
منفی
15٪(320)
<Distribution kind="sentiment" data={{ positive: 1200, negative: 340, neutral: 560 }} showCounts />

Props

Prop

Type

دسترسی‌پذیری

  • نوار stacked یک role="img" است با نامی که کل تقسیم را می‌خواند («مثبت 57٪، خنثی 27٪، منفی 16٪»)؛ بدون داده، تزئینی است.
  • هر ردیف bars یک progressbar با aria-valuenow درصد همان دسته است.
  • متن مقادیر رنگ لایهٔ خوانای هر خانواده (-text) را دارد، نه رنگ پررنگ پر کردن.

کامپوننت‌های مرتبط