Skip to content

交互式示例

本页面展示 TaroViz 的各种交互式功能。您可以实时调整参数来体验图表的变化。

1. 动态数据更新

点击「刷新数据」按钮,模拟实时数据变化。

预览

月份销售额利润
1月12080
2月200140
3月150100
4月8050
5月7040
6月11070

控制面板

代码示例

tsx
import { useState } from 'react'
import { LineChart } from '@agions/taroviz'

function DynamicDataChart() {
  const [data, setData] = useState(initialData)

  const refreshData = () => {
    setData(prev => prev.map(item => ({
      ...item,
      sales: Math.random() * 200 + 50,
      profit: Math.random() * 150 + 30
    })))
  }

  return (
    <>
      <LineChart data={data} />
      <button onClick={refreshData}>刷新数据</button>
    </>
  )
}

2. 主题切换

点击按钮切换不同主题风格。

预览

控制面板

代码示例

tsx
import { LineChart } from '@agions/taroviz'

function ThemeChart() {
  return (
    <LineChart 
      theme="neon"
      data={data}
    />
  )
}

// 或使用主题对象
import { neonTheme } from '@agions/taroviz/themes'

function ThemeChart2() {
  return (
    <LineChart 
      theme={neonTheme}
      data={data}
    />
  )
}

3. 暗色模式

支持跟随系统或手动切换暗色模式。

预览

销售趋势

代码示例

tsx
import { LineChart } from '@agions/taroviz'
import { useTheme } from '@agions/taroviz/hooks'

function DarkModeChart() {
  const { isDark, toggleDark } = useTheme()

  return (
    <>
      <button onClick={toggleDark}>
        {{ isDark ? '切换浅色' : '切换暗色' }}
      </button>
      <LineChart 
        :dark-mode="isDark"
        data={data}
      />
    </>
  )
}

4. 动画控制

控制图表动画的开关和配置。

预览

代码示例

tsx
import { LineChart } from '@agions/taroviz'

function AnimatedChart() {
  return (
    <LineChart 
      animation={{
        enabled: true,
        duration: 800,
        easing: 'cubicOut'
      }}
      data={data}
    />
  )
}

5. 响应式图表

图表自动适应容器大小变化。

预览

响应式图表

代码示例

tsx
import { LineChart } from '@agions/taroviz'

function ResponsiveChart() {
  return (
    <div style={{ width: '100%', height: '100%' }}>
      <LineChart 
        autoResize={true}
        data={data}
      />
    </div>
  )
}

Released under the MIT License.