环形图(DonutChart)

1import { Chart, DonutChart, Navigation, NavigationStack, Script, VStack } from "scripting"
2
3let data = [
4  { name: "Cachapa", sales: 9631 },
5  { name: "Crêpe", sales: 6959 },
6  { name: "Injera", sales: 4891 },
7  { name: "Jian Bing", sales: 2506 },
8  { name: "American", sales: 1777 },
9  { name: "Dosa", sales: 625 },
10]
11
12function Example() {
13  return <NavigationStack>
14    <VStack
15      navigationTitle={"DonutChart"}
16      navigationBarTitleDisplayMode={"inline"}
17    >
18      <Chart
19        frame={{
20          height: 300
21        }}
22      >
23        <DonutChart
24          marks={
25            data.map(item => ({
26              category: item.name,
27              value: item.sales,
28              innerRadius: {
29                type: 'ratio',
30                value: 0.618
31              },
32              outerRadius: {
33                type: 'inset',
34                value: 10,
35              },
36              angularInset: 1,
37            }))
38          }
39        />
40      </Chart>
41    </VStack>
42  </NavigationStack>
43}
44
45async function run() {
46  await Navigation.present({
47    element: <Example />
48  })
49
50  Script.exit()
51}
52
53run()