Pie Chart
Bir pasta grafiği: bir bütünün parçaları, bir dairenin dilimleri olarak; her biri, değerinin toplamdaki payı kadar dönüş tutar. Ortasında bir hole olunca bir halkadır: oyuğunda bir toplam ya da bir başlık için yer vardır.
import com.pantrixui.components.chart.pie.PantrixPieChart
- Açı.
startAngleilk dilimin başladığı yerdir, saat on ikiden saat yönünde derece;sweepAngledilimlerin birlikte tuttuğu dönüştür: 360 tam pasta, 180 yarım pasta. Yarım pasta kutusunun izin verdiği kadar geniştir. - Sıra ve küçük dilimler.
sortdilimleri verildikleri gibi, büyükten küçüğe ya da küçükten büyüğe dizer.othersbütünün bir payından küçük dilimleri sonda tek bir dilimde toplar; o dilimin tooltip'i ve ekran okuyucuya söylenişi içindekileri tek tek yazar. - Değerler. Bir dilimin değeri bir miktardır; payını grafik hesaplar. Değeri olmayan ya da sıfırı aşmayan dilimin pastada yeri yoktur, lejantta adı durur.
- Halka.
holeyarıçapın ne kadarının oyulacağını söyler: sıfır tam bir pasta, onda altı içine yazı sığan bir halka.centeroyuğun içinde, oyuğa sığan en büyük kutuda durur; yarım halkada çizilen yarının oyuğunda. - Gösterilen dilim. İmlecin altındaki ya da dokunulan dilim pastanın kenarından dışarı taşar ve tooltip değerini ve payını yazar. Parmakla, gösterilen dilime yeniden dokunmak onu bırakır.
- Lejant. Dilimlerin adları, her biri kendi renginin yanında. Bir kayda basmak dilimi pastadan çıkarır; kalan dilimler bütünü yeniden paylaşır.
- Etiketler.
labelsher dilimin payını dilimin üstüne yazar, dilimin renginde daha iyi okunan siyahla ya da beyazla;formatverilirse değeri. Yazısı sığmayan dilimin etiketi dışarıya, dilimin adıyla yazılır ve dilimin renginde bir çizgi onu dilimine bağlar.positionbunu değiştirir:Outsidehepsini dışarıya,Centeryalnızca içeriye yazar. Pasta dışarıdaki yazılara iki yanında yer açar; o yer pastayı yarısından küçük bırakacaksa yazılar yalnızca içeride kalır. - Yön. Pasta sağdan sola okunan dilde de saat yönünde döner; lejantı okuma yönüne uyar.
- Dışa aktarma.
exportgrafiğin üstüne bir düğme koyar: grafik ekrandaki hâliyle, gösterilen yer ve tooltip olmadan, PNG, SVG ya da PDF dosyası olarak üretilir ve uygulamaya verilir. - Otomasyon. Grafik
PieChart_<tagKey>; pasta.Plot, dilimler.Slice_<sıra>, lejantın kayıtları.Legend_<dilimin anahtarı>, tooltip.Tooltip.
Örnekler
Bir bütünün payları
En yalın hâli: dilimler, her biri anahtarı, adı ve değeriyle. İlk dilim saat on ikiden başlar, ötekiler saat yönünde onu izler; lejant grafiğin altında durur.
İmleci bir dilimin üstüne getir ya da dilime dokun: dilim dışarı taşar ve tooltip ziyaret sayısını ve toplamdaki payını yazar. Lejanttaki bir ada bas: dilim çıkar ve kalanlar bütünü yeniden paylaşır.
PantrixPieChart(
slices = VISIT_SOURCES.map { PieSlice(it.key, it.name, it.visits) },
description = "Kaynaklara göre ziyaret",
tagKey = "plain"
)
private data class VisitSource(
val key: String,
val name: String,
val visits: Int,
val before: Int
)
private val VISIT_SOURCES = listOf(
VisitSource("direct", "Doğrudan", visits = 420, before = 380),
VisitSource("search", "Arama", visits = 310, before = 240),
VisitSource("social", "Sosyal", visits = 150, before = 260),
VisitSource("mail", "E-posta", visits = 80, before = 90),
VisitSource("other", "Diğer", visits = 40, before = 30)
)
Ortasında toplamı olan halka
Ortası oyulmuş pasta bir halkadır: yarıçapın onda altısı oyuldu (hole) ve oyuğa toplam yazıldı (center).
Lejanttan bir dilimi çıkar: ortadaki sayı kalan dilimlerin toplamı olur. Ekran grafiğin durumunu kendisi tutuyor (rememberChartState) ve gizlenen dilimleri ondan okuyor.
val state = rememberChartState()
val strings = PantrixTheme.strings
val total = VISIT_SOURCES.filter { it.key !in state.hidden }.sumOf { it.visits }
PantrixPieChart(
slices = VISIT_SOURCES.map { PieSlice(it.key, it.name, it.visits) },
hole = 0.6f,
center = {
Column(horizontalAlignment = Alignment.CenterHorizontally) {
PantrixText(text = strings.decimal(total), style = PantrixTheme.typography.title)
PantrixText(text = "ziyaret", color = PantrixTheme.colors.textSecondary)
}
},
state = state,
description = "Kaynaklara göre ziyaret, ortasında toplamıyla",
tagKey = "ring"
)
private data class VisitSource(
val key: String,
val name: String,
val visits: Int,
val before: Int
)
private val VISIT_SOURCES = listOf(
VisitSource("direct", "Doğrudan", visits = 420, before = 380),
VisitSource("search", "Arama", visits = 310, before = 240),
VisitSource("social", "Sosyal", visits = 150, before = 260),
VisitSource("mail", "E-posta", visits = 80, before = 90),
VisitSource("other", "Diğer", visits = 40, before = 30)
)
Payları dilimlerin üstünde
Paylar dilimlerin üstünde (labels): her dilime toplamdaki payı yazılır, dilimin renginde daha iyi okunan siyahla ya da beyazla. Anahtarı çevir: etiketler payı değil değeri yazar (ChartDataLabels(format = …)).
Yazısı dilime sığmayan etiket dışarıya, dilimin adıyla yazılır; bir çizgi onu dilimine bağlar.
var values by remember { mutableStateOf(false) }
val strings = PantrixTheme.strings
PantrixSwitchButton(
checked = values,
onCheckedChange = { values = it },
label = "Değerleri yaz",
tagKey = "pie_labels_values"
)
PantrixPieChart(
slices = VISIT_SOURCES.map { PieSlice(it.key, it.name, it.visits) },
labels = if (values) ChartDataLabels(format = { strings.decimal(it) }) else ChartDataLabels(),
description = "Kaynaklara göre ziyaret, paylarıyla",
tagKey = "labels"
)
private data class VisitSource(
val key: String,
val name: String,
val visits: Int,
val before: Int
)
private val VISIT_SOURCES = listOf(
VisitSource("direct", "Doğrudan", visits = 420, before = 380),
VisitSource("search", "Arama", visits = 310, before = 240),
VisitSource("social", "Sosyal", visits = 150, before = 260),
VisitSource("mail", "E-posta", visits = 80, before = 90),
VisitSource("other", "Diğer", visits = 40, before = 30)
)
Etiketlerin yeri
Etiketlerin yeri (ChartDataLabels(position = …)). "Otomatik" (Auto) her payı dilimin üstüne, sığmayanı dışarıya yazar; "Dışarıda" (Outside) her dilimin adını ve payını pastanın yanına yazar; "İçeride" (Center) sığmayanı atlar. Dışarıdaki yazıyı dilimine kendi renginde bir çizgi bağlar ve pasta onlara iki yanında yer açar.
var place by remember { mutableStateOf(ChartDataLabelPosition.Outside) }
PantrixSegmentButton(
options = PIE_LABEL_PLACES,
selected = place,
onSelect = { place = it },
fullWidth = false,
tagKey = "pie_label_place"
)
PantrixPieChart(
slices = VISIT_SOURCES.map { PieSlice(it.key, it.name, it.visits) },
labels = ChartDataLabels(position = place),
legend = null,
description = "Kaynaklara göre ziyaret, paylarıyla",
tagKey = "label_place"
)
private data class VisitSource(
val key: String,
val name: String,
val visits: Int,
val before: Int
)
private val VISIT_SOURCES = listOf(
VisitSource("direct", "Doğrudan", visits = 420, before = 380),
VisitSource("search", "Arama", visits = 310, before = 240),
VisitSource("social", "Sosyal", visits = 150, before = 260),
VisitSource("mail", "E-posta", visits = 80, before = 90),
VisitSource("other", "Diğer", visits = 40, before = 30)
)
private val PIE_LABEL_PLACES = listOf(
SegmentOption(value = ChartDataLabelPosition.Auto, label = "Otomatik", tagKey = "auto"),
SegmentOption(value = ChartDataLabelPosition.Outside, label = "Dışarıda", tagKey = "outside"),
SegmentOption(value = ChartDataLabelPosition.Center, label = "İçeride", tagKey = "inside")
)
Yarım halka
Yarım bir halka: dilimler saat dokuzdan başlar (startAngle = 270f) ve dönüşün yarısını tutar (sweepAngle = 180f). Halka kutusunun izin verdiği kadar geniştir ve toplam, çizilen yarının oyuğunda durur.
val total = PantrixTheme.strings.decimal(VISIT_SOURCES.sumOf { it.visits })
PantrixPieChart(
slices = VISIT_SOURCES.map { PieSlice(it.key, it.name, it.visits) },
hole = 0.6f,
startAngle = 270f,
sweepAngle = 180f,
center = { PantrixText(text = total, style = PantrixTheme.typography.title) },
description = "Kaynaklara göre ziyaret, yarım halka",
tagKey = "half"
)
private data class VisitSource(
val key: String,
val name: String,
val visits: Int,
val before: Int
)
private val VISIT_SOURCES = listOf(
VisitSource("direct", "Doğrudan", visits = 420, before = 380),
VisitSource("search", "Arama", visits = 310, before = 240),
VisitSource("social", "Sosyal", visits = 150, before = 260),
VisitSource("mail", "E-posta", visits = 80, before = 90),
VisitSource("other", "Diğer", visits = 40, before = 30)
)
Sıralama ve küçük dilimler
Tarayıcılara göre ziyaret, büyükten küçüğe (sort = PieSort.Descending). Bütünün yüzde beşinden küçük dilimler sonda tek bir dilimde toplanır (others = PieOthers(share = 0.05f)); adı temanın sözcüğüdür. Toplanan dilimin üstüne gel ya da ona dokun: tooltip içindekileri tek tek yazar. Anahtarı kapat: bütün dilimler görünür.
var gathered by remember { mutableStateOf(true) }
PantrixSwitchButton(
checked = gathered,
onCheckedChange = { gathered = it },
label = "Küçükleri topla",
tagKey = "pie_gathered"
)
PantrixPieChart(
slices = BROWSER_VISITS.map { PieSlice(it.key, it.name, it.visits) },
sort = PieSort.Descending,
others = if (gathered) PieOthers(share = 0.05f) else null,
labels = ChartDataLabels(),
legend = ChartLegend(position = ChartLegendPosition.End),
description = "Tarayıcılara göre ziyaret",
tagKey = "gathered"
)
private data class Browser(
val key: String,
val name: String,
val visits: Int
)
private val BROWSER_VISITS = listOf(
Browser("safari", "Safari", 198),
Browser("firefox", "Firefox", 42),
Browser("chrome", "Chrome", 612),
Browser("opera", "Opera", 24),
Browser("edge", "Edge", 54),
Browser("uc", "UC", 17),
Browser("samsung", "Samsung", 31),
Browser("yandex", "Yandex", 22)
)
Lejantın yeri
Lejant grafiğin dört yanından birinde durur. Üstte ve altta kayıtlar bir satıra dizilir ve sığmazsa alt satıra geçer; yanlarda alt alta dururlar ve genişliğin onda dördünden fazlasını almazlar. Pasta, lejanttan kalan yerin ortasında, oraya sığan en büyük dairedir.
var place by remember { mutableStateOf(ChartLegendPosition.End) }
PantrixSegmentButton(
options = PIE_LEGEND_PLACES,
selected = place,
onSelect = { place = it },
fullWidth = false,
tagKey = "pie_legend_place"
)
PantrixPieChart(
slices = VISIT_SOURCES.map { PieSlice(it.key, it.name, it.visits) },
hole = 0.6f,
legend = ChartLegend(position = place),
description = "Kaynaklara göre ziyaret",
tagKey = "legend"
)
private data class VisitSource(
val key: String,
val name: String,
val visits: Int,
val before: Int
)
private val VISIT_SOURCES = listOf(
VisitSource("direct", "Doğrudan", visits = 420, before = 380),
VisitSource("search", "Arama", visits = 310, before = 240),
VisitSource("social", "Sosyal", visits = 150, before = 260),
VisitSource("mail", "E-posta", visits = 80, before = 90),
VisitSource("other", "Diğer", visits = 40, before = 30)
)
private val PIE_LEGEND_PLACES = listOf(
SegmentOption(value = ChartLegendPosition.Top, label = "Üstte", tagKey = "top"),
SegmentOption(value = ChartLegendPosition.Bottom, label = "Altta", tagKey = "bottom"),
SegmentOption(value = ChartLegendPosition.Start, label = "Başta", tagKey = "start"),
SegmentOption(value = ChartLegendPosition.End, label = "Sonda", tagKey = "end")
)
Bir dilime basmak
onSelect, basılan dilimi verir: anahtarını, adını, değerini ve grafiğin onu nasıl yazdığını. Bir dilime bas ya da klavyeyle bir dilime gidip Enter'a bas: kartın altındaki satır basılanı yazar.
val report = LocalExampleEvents.current
PantrixPieChart(
slices = VISIT_SOURCES.map { PieSlice(it.key, it.name, it.visits) },
description = "Kaynaklara göre ziyaret",
onSelect = { point -> report("${point.name}: ${point.text}") },
tagKey = "pressed"
)
private data class VisitSource(
val key: String,
val name: String,
val visits: Int,
val before: Int
)
private val VISIT_SOURCES = listOf(
VisitSource("direct", "Doğrudan", visits = 420, before = 380),
VisitSource("search", "Arama", visits = 310, before = 240),
VisitSource("social", "Sosyal", visits = 150, before = 260),
VisitSource("mail", "E-posta", visits = 80, before = 90),
VisitSource("other", "Diğer", visits = 40, before = 30)
)
Değişen değerler
Değerler değişince dilimler eski yerlerinden yenilerine gider. Anahtarı çevir: grafik geçen yılın ziyaretlerini gösterir. Dilimleri anahtarları eşler: adı ya da değeri değişen dilim aynı dilimdir, rengini ve lejanttaki yerini korur.
var before by remember { mutableStateOf(false) }
PantrixSwitchButton(
checked = before,
onCheckedChange = { before = it },
label = "Geçen yıl",
tagKey = "pie_before"
)
PantrixPieChart(
slices = VISIT_SOURCES.map { PieSlice(it.key, it.name, if (before) it.before else it.visits) },
hole = 0.6f,
labels = ChartDataLabels(),
description = if (before) "Geçen yıl kaynaklara göre ziyaret" else "Bu yıl kaynaklara göre ziyaret",
tagKey = "changing"
)
private data class VisitSource(
val key: String,
val name: String,
val visits: Int,
val before: Int
)
private val VISIT_SOURCES = listOf(
VisitSource("direct", "Doğrudan", visits = 420, before = 380),
VisitSource("search", "Arama", visits = 310, before = 240),
VisitSource("social", "Sosyal", visits = 150, before = 260),
VisitSource("mail", "E-posta", visits = 80, before = 90),
VisitSource("other", "Diğer", visits = 40, before = 30)
)
Kendi renklerin ve ölçülerin
Bir grafiğin kendi görünüşü. Her dilim kendi rengini söylüyor (PieSlice(color = …)): temanın grafik renkleri yerine paletten tek bir morun tonları. ChartStyle ölçüleri verir: dilimlerin arası kapalı (sliceGap) ve grafik daha alçak (height). Verilmeyen alan temanınki kalır.
val dark = LocalDemoDarkTheme.current
val violet = PantrixPalette.Violet
val tones = if (dark) {
listOf(violet.shade300, violet.shade400, violet.shade500, violet.shade600, violet.shade700)
} else {
listOf(violet.shade800, violet.shade600, violet.shade500, violet.shade400, violet.shade300)
}
PantrixPieChart(
slices = VISIT_SOURCES.mapIndexed { index, source ->
PieSlice(source.key, source.name, source.visits, color = tones[index])
},
labels = ChartDataLabels(),
description = "Kaynaklara göre ziyaret",
style = ChartStyle(sliceGap = 0.dp, height = 180.dp),
tagKey = "own_look"
)
private data class VisitSource(
val key: String,
val name: String,
val visits: Int,
val before: Int
)
private val VISIT_SOURCES = listOf(
VisitSource("direct", "Doğrudan", visits = 420, before = 380),
VisitSource("search", "Arama", visits = 310, before = 240),
VisitSource("social", "Sosyal", visits = 150, before = 260),
VisitSource("mail", "E-posta", visits = 80, before = 90),
VisitSource("other", "Diğer", visits = 40, before = 30)
)
Dışa aktarma
export = ChartExport(...) grafiğin üstüne bir dışa aktarma düğmesi koyar: bas ve türü seç (PNG, SVG ya da PDF). Grafik dosyayı üretir ve onExport'a verir; altta adı ve boyu, PNG ise resmi görünür, "Dosyayı kaydet" onu platformun yoluyla verir.
Dosyada pasta ekrandaki hâliyle, lejant altında durur; gösterilen dilim ve tooltip'i dosyada yoktur. Deliğe center ile konan da dosyaya çıkmaz.
var file by remember { mutableStateOf<ChartExportFile?>(null) }
PantrixPieChart(
slices = VISIT_SOURCES.map { PieSlice(it.key, it.name, it.visits) },
hole = 0.6f,
center = { PantrixText(text = "Ziyaret", color = PantrixTheme.colors.textSecondary) },
description = "Kaynaklara göre ziyaret",
tagKey = "exported",
export = ChartExport(fileName = "ziyaret-kaynaklari") { file = it }
)
ExportedFile(file, tagKey = "exported")
private data class VisitSource(
val key: String,
val name: String,
val visits: Int,
val before: Int
)
private val VISIT_SOURCES = listOf(
VisitSource("direct", "Doğrudan", visits = 420, before = 380),
VisitSource("search", "Arama", visits = 310, before = 240),
VisitSource("social", "Sosyal", visits = 150, before = 260),
VisitSource("mail", "E-posta", visits = 80, before = 90),
VisitSource("other", "Diğer", visits = 40, before = 30)
)
API
slices
Bir pasta grafiği: bir bütünün parçaları, bir dairenin dilimleri olarak; her biri, değerinin toplamdaki payı kadar dönüş tutar. Ortasında bir hole olunca bir halkadır: oyuğunda bir toplam ya da bir başlık için yer vardır.
| Parametre | Tür | Varsayılan | Ne olduğu |
|---|---|---|---|
slices | List<PieSlice> | dilimler, sort sıralarını koruduğunda pastada durdukları sırayla, startAngle'dan başlayıp saat yönünde. Anahtarları onları birbirinden ayırır; aynı anahtarı taşıyan iki dilim reddedilir. | |
modifier | Modifier | Modifier | grafiğin modifier'ı. Buradaki bir yükseklik grafiğindir, lejantınki de içinde. |
hole | Float | 0f | pastanın yarıçapının ne kadarının ortasından oyulduğu: tam bir pasta için sıfır, içine yazı sığan bir halka için onda altı. Onda dokuzdan çok olamaz. |
center | (@Composable () -> Unit)? | null | bir halkanın oyuğunda duran: bir toplam, bir başlık. Oyuğa sığan en büyük kutu onundur; yarım bir halkada çizilen yarının oyuğunda. Tam bir pastada ona yer yoktur. |
labels | ChartDataLabels? | null | dilimler hakkında yazılan: her dilimin bütündeki payı, ya da etiketlerin format'ının yazdığı gibi değeri. Dilimin üstünde siyahla ya da beyazla yazılır, dilimin üstünde hangisi okunuyorsa; dışında dilimin adı önüne gelir ve dilimin renginde bir çizgi ona götürür. Nereye yazılacağını position'ları söyler: Outside her dilimin dışına, Auto yazısını tutan her dilimin üstüne ve ötekilerin dışına, ötekiler yalnızca dilimlerin üstüne; yazısına yeri olmayan küçük dilimin etiketi yoktur. Dıştaki yazılar her yanda bir sütunda durur; bir yanda hepsine alt alta yer yoksa oradaki en küçük dilimlerin yazısı yoktur. null dilimler hakkında hiçbir şey yazmaz. |
legend | ChartLegend? | ChartLegend() | dilimlerin adlarının durduğu yer. null hiçbirini göstermez. |
tooltip | ChartTooltip? | ChartTooltip() | gösterilen dilim için gösterilen: değeri, tooltip'in format'ının yazdığı gibi ya da temanın diliyle, ve bütündeki payı. null hiçbirini göstermez. Bir tooltip'in shared olup olmadığı ve crosshair'i olup olmadığı bir pastaya bir şey söylemez. |
empty | (@Composable () -> Unit)? | null | grafiğin çizecek değeri yokken gösterdiği şey: temanın bunun için yazdığı sözün ("Veri yok") yerine; o zaman ekran okuyucuya da o söz söylenmez. null sözü yazar. |
state | ChartState | rememberChartState() | okuyucunun gizlediği ve gösterdiği: verilmezse grafiğin kendisininki. Bir dilim anahtarıyla gizlenir ve x'i o anahtar olan bir seçimle gösterilir. |
description | String? | null | pastanın ne gösterdiği, birkaç sözcükle, ekran okuyucu için: grafik hakkında söylediği ilk şey. Verilmezse grafik dilimlerinin adlarıyla duyurulur. |
onSelect | ((ChartPoint) -> Unit)? | null | basılan dilimle çağrılır: noktanın series'i ve x'i olarak anahtarı, adı, değeri ve pastanın onun için yazdığı. |
style | ChartStyle? | null | bu grafiğin kendi geometrisi: burada verilen alanlar, gerisi temanınkiyle. |
colors | ChartColors? | null | bu grafiğin kendi renkleri, temanınkiler olmadıkları yerde. |
tagKey | String? | null | grafiğin otomasyon anahtarı: grafik PieChart_<tagKey>, pasta PieChart_<tagKey>.Plot, bir dilim, birden sayılarak, PieChart_<tagKey>.Slice_<number>, bir dilimin lejant kaydı PieChart_<tagKey>.Legend_<slice's key> ve tooltip PieChart_<tagKey>.Tooltip olur. Bir dilime basış, dilimin anahtarıyla bir PieChart select olayı olarak, bir lejant kaydına basış da anahtarla ve dilimin gösterilip gösterilmediğiyle bir toggle olayı olarak bildirilir. Değerlerden hiçbir şey bildirilmez. |
startAngle | Float | 0f | ilk dilimin başladığı yer, saat on ikiden saat yönünde derece olarak: 270 saat dokuzdan başlar. |
sweepAngle | Float | 360f | dilimlerin birlikte kaç derece tuttuğu: bütün bir dönüş, 360, ya da yarım bir pasta için 180; sıfırın üstünden bütün bir dönüşe kadar. |
sort | PieSort | PieSort.Given | dilimlerin dizildiği sıra: verildikleri gibi, en büyüğü önce ya da en küçüğü önce. |
others | PieOthers? | null | en küçük dilimlerin tek bir dilimde nasıl toplandığı. null hiçbirini toplamaz. |
export | ChartExport? | null | grafiği uygulamanın dışına PNG, SVG ya da PDF olarak çıkarmayı sağlayan şey: grafiğin üstündeki bir düğme onun o anki hâlinin dosyasını üretip verir (bkz. ChartExport). null, grafikte böyle bir düğme yoktur. Delikte duran, center, dosyada yoktur. |
ChartStyle
Bir grafiğin geometrisi: hiçbir şey söylemediğinde ne kadar yüksek olduğu, çizgilerinin ne kadar kalın, işaretlerinin ne kadar büyük olduğu ve parçalarının arasındaki boşluk; ve dolgularının renklerinin yanında desen alıp almadığı.
| Parametre | Tür | Varsayılan | Ne olduğu |
|---|---|---|---|
height | Dp | Dp.Unspecified | Grafiğin modifier'ı ona bir yükseklik vermediğinde çizim alanının, eksenleriyle birlikte, ne kadar yüksek olduğu. Çizim alanının üstündeki ya da altındaki bir lejant kendi yüksekliğini ekler. |
lineWidth | Dp | Dp.Unspecified | Bir serinin çizgisinin kalınlığı. |
markerSize | Dp | Dp.Unspecified | Bir noktadaki işaretin genişliği ve yüksekliği. |
selectedMarkerSize | Dp | Dp.Unspecified | Aynısı, gösterilen noktadaki işaret için. |
gridWidth | Dp | Dp.Unspecified | Kılavuz çizgilerinin, eksenler boyunca çizilen çizgilerin ve gösterilen yeri işaretleyen çizginin kalınlığı. Sıfır hiçbirini çizmez. |
labelGap | Dp | Dp.Unspecified | Çizim alanıyla yanına ve altına yazılanın arası, ve onunla bir eksenin başlığının arası. |
tickSpacing | Dp | Dp.Unspecified | Değerlerin ekseni boyunca işaretlenen iki değerin arasındaki en az boşluk: eksen söylemediğinde kaç tanesinin işaretleneceğine karar veren şey. |
legendGap | Dp | Dp.Unspecified | Lejantla yanında durduğu grafiğin arası. |
legendItemGap | Dp | Dp.Unspecified | Lejantın bir kaydıyla sonrakinin arası. |
swatchSize | Dp | Dp.Unspecified | Bir serinin lejanttaki ve tooltip'teki örneğinin ne kadar geniş olduğu: çizgisinin kısa bir parçası ya da dolgusunun bir yaması. |
swatchGap | Dp | Dp.Unspecified | O örnekle ardındaki adın arası. |
tooltipShape | ShapeSpec | ShapeSpec.Unspecified | Tooltip'in köşeleri: markanın şekil ölçeğinin bir basamağı ya da sabit bir şekil. |
tooltipHorizontalPadding | Dp | Dp.Unspecified | Tooltip'in yanlarıyla içindekinin arası. |
tooltipVerticalPadding | Dp | Dp.Unspecified | Üstü ve altıyla içindekinin arası, ve başlığıyla satırlarının arası. |
tooltipGap | Dp | Dp.Unspecified | Gösterilen yerle yanındaki tooltip'in arası. |
tooltipElevation | Dp | Dp.Unspecified | Tooltip'in gölgesi. |
barGap | Dp | Dp.Unspecified | Bir yerde yan yana duran iki çubuğun arası. Bunun için fazla ince olan çubuklar daha yakın durur. |
barMaxWidth | Dp | Dp.Unspecified | Bir çubuğun en fazla ne kadar geniş olduğu, yerinin ne kadar yeri olursa olsun: üç yerli bir grafik üç kalas değildir. |
barRadius | Dp | Dp.Unspecified | Bir çubuğun ucunun, sıfırdan uzak ucunun, köşelerinin ne kadar yuvarlak olduğu. |
sliceGap | Dp | Dp.Unspecified | Bir pastanın yan yana duran iki dilimi arasında; pastanın ortasından kenarına kadar aynı genişlikte. |
selectedSliceOffset | Dp | Dp.Unspecified | Bir pastanın gösterilen diliminin, pastanın kenarından ne kadar dışarı taştığı. Pasta çevresinde bu kadar yer bırakır: dilimin duracağı yer olsun. |
gaugeWidth | Dp | Dp.Unspecified | Bir göstergenin yayının kalınlığı. Bir yay, yarıçapının yarısından kalın olmaz. |
meterHeight | Dp | Dp.Unspecified | Bir ölçüm grubunun çubuğunun yüksekliği. |
trackerHeight | Dp | Dp.Unspecified | Bir durum izleyicinin bloklarının yüksekliği. |
bubbleMinSize | Dp | Dp.Unspecified | Bir saçılım grafiğinin en küçük balonunun genişliği: büyüklüğü hiç olmayan ya da bir alan olarak görülemeyecek kadar az olan nokta da bir noktadır. |
bubbleMaxSize | Dp | Dp.Unspecified | En büyük balonunun genişliği: büyüklüğü grafiğin en büyüğü olanın. |
navigatorHeight | Dp | Dp.Unspecified | Zoom'unda gezgin şeridi olan bir grafikte, çizim alanının altındaki şeridin yüksekliği: grafiğin görünen kısmı onun üstünde işaretlenir ve kaydırılır. Yerleri yanından aşağı dizilen grafikte şerit çizim alanının yanında durur ve bu onun genişliğidir. |
barBandShare | Float | Float.NaN | Bir yerin çubuklarının bandından aldığı pay, sıfırdan çok ve en fazla bir: kalanı bir yerin çubuklarıyla sonrakininkiler arasındaki boşluktur. Çubuklar yine de barMaxWidth'ten geniş olmaz. |
markLineWidth | Dp | Dp.Unspecified | Bir işaretin çizgisinin kalınlığı: bir hedefin, bir sınırın, bir günün. Sıfır çizgi çizmez; işaretin yazısı yine yazılır. |
markBandAlpha | Float | Float.NaN | Bir işaretin bandının renginin ne kadarıyla çizildiği, sıfırdan bire: bant serilerin arkasında durur ve bir tondur. |
patterns | Boolean? | null | Bir grafiğin serilerinin, dilimlerinin ve karolarının dolgularının renklerinin yanında desenlerle, çizgilerinin de sırayla kesik çizilip çizilmediği (ChartPattern): renkleri ayırt edemeyen bir okuyucu için onları ayıran şey. Verilmezse sistemin ayarına uyulur: sistem şeyleri renksiz ayırt etmeye ayarlıysa açık (iOS'ta "Differentiate Without Color", Android'de renk düzeltme), değilse kapalı. |
nodeWidth | Dp | Dp.Unspecified | Bir sankey düğümünün ne kadar geniş olduğu. |
nodeGap | Dp | Dp.Unspecified | Bir sankey kolonunun iki düğümü arası. |
ChartColors
Temanın renklerini almayan bir grafik için, onun neyle boyandığı: verilen renk kullanılır, verilmeyen temanınki kalır.
| Parametre | Tür | Varsayılan | Ne olduğu |
|---|---|---|---|
series | List<Color> | emptyList() | Serilerin çizildiği renkler, dağıtıldıkları sırayla, kendi rengini söylemeyen seriler için. Boşsa temanın grafik renkleridir. |
grid | Color | Color.Unspecified | Bir eksenin işaretlerinde grafik boyunca çizilen çizgiler. Temanın divider'ı. |
axis | Color | Color.Unspecified | Bir eksen boyunca çizilen çizgi. Temanın border'ı. |
label | Color | Color.Unspecified | Eksenlerin yanına yazılanlar: değerler, yerler ve eksenlerin başlıkları, bir de lejanttaki adlar. Temanın textSecondary'si. |
crosshair | Color | Color.Unspecified | Gösterilen yeri işaretleyen çizgi. Temanın borderHover'ı: içinden geçtiği kılavuz çizgilerinden güçlü, arkasında durduğu serilerden sessiz. |
tooltipContainer | Color | Color.Unspecified | Tooltip'in dolgusu. Temanın surface'i. |
tooltipBorder | Color | Color.Unspecified | Tooltip'in kenarı. Temanın border'ı. |
tooltipText | Color | Color.Unspecified | Tooltip'in başlığı ve değerleri. Temanın textPrimary'si. |
tooltipLabel | Color | Color.Unspecified | Tooltip'teki seri adları. Temanın textSecondary'si. |
rising | Color | Color.Unspecified | Yukarı giden bir değerin çizildiği renk: bir şelalenin ekleyen adımı. Temanın success'i. |
falling | Color | Color.Unspecified | Aşağı giden bir değerin çizildiği renk: bir şelalenin götüren adımı. Temanın danger'ı. |
Erişilebilirlik
- Klavye. Pasta, Tab için tek duraktır: oklar dilimden dilime geçer ve son dilimden sonra yine ilkine döner; Home ve End ilk ve son dilime gider, Escape bırakır, Enter ve boşluk gösterilen dilime basar. Masaüstünde ve web'de pastaya bir basış odağı ona verir: ardından gelen oklar bu pastada gezer.
- Ekran okuyucu. Grafik önce
description'ını, ardından her dilimi adı, değeri ve payıyla söyler.