スパークライン

スパークラインは、セル内に埋め込まれるコンパクトなインラインチャートで、データの傾向や主要な指標を視覚的に表現します。

プラグインモード

インストール

Shell
pnpm add @univerjs-pro/sheets-sparkline @univerjs-pro/sheets-sparkline-ui

使い方

TypeScript
import { UniverSheetSparklinePlugin } from '@univerjs-pro/sheets-sparkline'import { UniverSheetSparklineUIPlugin } from '@univerjs-pro/sheets-sparkline-ui'import SheetsSparklineUIJaJP from '@univerjs-pro/sheets-sparkline-ui/locale/ja-JP'import { LocaleType, mergeLocales, Univer } from '@univerjs/core'import '@univerjs-pro/sheets-sparkline/facade'import '@univerjs-pro/sheets-sparkline-ui/lib/index.css'const univer = new Univer({  locale: LocaleType.JA_JP,  locales: {    [LocaleType.JA_JP]: mergeLocales(      SheetsSparklineUIJaJP,     ),  },})univer.registerPlugin(UniverSheetSparklinePlugin)univer.registerPlugin(UniverSheetSparklineUIPlugin)

Univer に商用ライセンスをお持ちの場合は、設定方法については クライアントでのライセンスの使用 を参照してください。

モバイル対応

まずモバイルエディターを設定します。このページのプラグインモードの初期化コードで、以下のデスクトップ登録を同じパッケージのモバイル版に置き換え、文書を開く前に完了してください。モデル、スタイル、言語ファイル、Facade は維持し、両方を同時に登録しないでください。

パッケージデスクトップの登録モバイルの登録
@univerjs-pro/sheets-sparkline-uiUniverSheetSparklineUIPluginUniverSheetSparklineMobileUIPlugin

プリセットモード

スパークライン機能は @univerjs/preset-sheets-advanced プリセットに含まれています。

インストール

@univerjs/preset-sheets-advanced の UniverSheetsAdvancedPreset プリセットは実行時に UniverSheetsDrawingPreset プリセットに依存します。先に @univerjs/preset-sheets-drawing をインストールしてください。

Shell
pnpm add @univerjs/preset-sheets-drawing @univerjs/preset-sheets-advanced

使い方

TypeScript
import { UniverSheetsAdvancedPreset } from '@univerjs/preset-sheets-advanced'import UniverPresetSheetsAdvancedJaJP from '@univerjs/preset-sheets-advanced/locales/ja-JP'import { UniverSheetsCorePreset } from '@univerjs/preset-sheets-core'import UniverPresetSheetsCoreJaJP from '@univerjs/preset-sheets-core/locales/ja-JP'import { UniverSheetsDrawingPreset } from '@univerjs/preset-sheets-drawing'import UniverPresetSheetsDrawingJaJP from '@univerjs/preset-sheets-drawing/locales/ja-JP'import { createUniver, LocaleType, mergeLocales } from '@univerjs/presets'import '@univerjs/preset-sheets-core/lib/index.css'import '@univerjs/preset-sheets-drawing/lib/index.css'import '@univerjs/preset-sheets-advanced/lib/index.css'const { univerAPI } = createUniver({  locale: LocaleType.JA_JP,  locales: {    [LocaleType.JA_JP]: mergeLocales(      UniverPresetSheetsCoreJaJP,      UniverPresetSheetsDrawingJaJP,       UniverPresetSheetsAdvancedJaJP,     ),  },  presets: [    UniverSheetsCorePreset(),    UniverSheetsDrawingPreset(),     UniverSheetsAdvancedPreset(),   ],})

Univer に商用ライセンスをお持ちの場合は、設定方法については クライアントでのライセンスの使用 を参照してください。

Facade API

インポート

プラグインモード注意

Facade パッケージの手動 import が必要なのはプラグインモードのみです。プリセットモードには対応する Facade パッケージが内蔵されているため、追加の import は不要です。

TypeScript
import '@univerjs-pro/sheets-sparkline/facade'

スパークラインの追加

FWorksheet.addSparkline メソッドは、指定した範囲にスパークラインを追加し、FSparkline インスタンスを返します。

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()// スパークラインを A1:A7 からデータソースとして作成し、セル A10 に配置します。const sourceRanges = [fWorksheet.getRange('A1:A7').getRange()]const targetRanges = [fWorksheet.getRange('A10').getRange()]const sparkline = fWorksheet.addSparkline(sourceRanges, targetRanges, univerAPI.Enum.SparklineTypeEnum.LINE_CHART)

スパークラインの合成と分解

FWorksheet.composeSparkline と FWorksheet.unComposeSparkline メソッドは、スパークラインの合成および分解に使用されます。

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()// スパークラインを A1:A7 からデータソースとして作成し、セル A10 に配置します。const firstSparkline = fWorksheet.addSparkline(  [fWorksheet.getRange('A1:A7').getRange()],  [fWorksheet.getRange('A10').getRange()],)// スパークラインを B1:B7 からデータソースとして作成し、セル B10 に配置します。const secondSparkline = fWorksheet.addSparkline(  [fWorksheet.getRange('B1:B7').getRange()],  [fWorksheet.getRange('B10').getRange()],)// スパークラインをグループ化します。fWorksheet.composeSparkline([fWorksheet.getRange('A10:B10').getRange()])console.log(fWorksheet.getAllSubSparkline().size) // 1// 3 秒後にスパークラインを分解します。setTimeout(() => {  fWorksheet.unComposeSparkline([fWorksheet.getRange('A10:B10').getRange()])  console.log(fWorksheet.getAllSubSparkline().size) // 2}, 3000)

スパークラインおよびスパークライングループの取得

FWorksheet.getSparklineByCell は、指定したセルのスパークラインインスタンスを取得し、FSparkline インスタンスを返します。

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()// スパークラインを A1:A7 からデータソースとして作成し、セル A10 に配置します。const sourceRanges = [fWorksheet.getRange('A1:A7').getRange()]const targetRanges = [fWorksheet.getRange('A10').getRange()]const sparkline = fWorksheet.addSparkline(sourceRanges, targetRanges)console.log('Cell A10: ', fWorksheet.getSparklineByCell(9, 0))console.log('Cell A11: ', fWorksheet.getSparklineByCell(10, 0))

FWorksheet.getSparklineGroupByCell は、指定したセルのスパークライングループインスタンスを取得し、FSparklineGroup インスタンスを返します。

TypeScript
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()// スパークラインを A1:A7 からデータソースとして作成し、セル A10 に配置します。const firstSparkline = fWorksheet.addSparkline(  [fWorksheet.getRange('A1:A7').getRange()],  [fWorksheet.getRange('A10').getRange()],)// スパークラインを B1:B7 からデータソースとして作成し、セル B10 に配置します。const secondSparkline = fWorksheet.addSparkline(  [fWorksheet.getRange('B1:B7').getRange()],  [fWorksheet.getRange('B10').getRange()],)console.log('Cell A10: ', fWorksheet.getSparklineGroupByCell(9, 0))// 3 秒後にスパークラインを分解します。setTimeout(() => {  fWorksheet.composeSparkline([fWorksheet.getRange('A10:B10').getRange()])  console.log('Cell A10: ', fWorksheet.getSparklineGroupByCell(9, 0))}, 3000)

FSparkline インスタンスは、スパークラインを操作する次のメソッドを持ちます:

MethodDescription
changeDataSource現在のセル内のスパークラインのデータソースと配置を変更します
removeSparkline現在のセル内のスパークラインを削除します

FSparklineGroup インスタンスは、スパークライングループを操作する次のメソッドを持ちます:

MethodDescription
changeDataSource現在のセル内のスパークライングループのデータソースと配置を変更します
removeSparklineGroup現在のセル内のスパークライングループを削除します
setConfig現在のセル内のスパークライングループの構成を変更します

イベントリスナー

完全なイベント型定義は、Events で確認できます。

univerAPI.Event.SheetSparklineChanged イベントは、スパークラインが変更されたときにトリガーします。

TypeScript
const disposable = univerAPI.addEvent(univerAPI.Event.SheetSparklineChanged, (params) => {  const { workbook, worksheet, sparklines } = params})// イベントリスナーを削除するには、`disposable.dispose()` を使用します。

色と表示オプション

色や表示オプションは FSparklineGroup.setConfig() で設定し、グループ全体に適用します。独立した FSparkline.setColor() メソッドはありません。色を指定する場合は、seriesColor と themeType: SparklineThemeTypeEnum.CUSTOM を設定してください。マーカー、軸、最大値・最小値、空のセル、非表示のセル、線幅を含む設定一覧と例は、スパークライングループの設定を参照してください。

このガイドはいかがですか?

© 2026 DreamNum Co., Ltd.