RoughViz を使用して Vue.js でスケッチされたチャートを視覚化する方法

RoughViz を使用して Vue.js でスケッチされたチャートを視覚化する方法

導入

チャートは、データ セットを読みやすくし、その各部分を区別しやすくするために使用されるデータのグラフィカルな表現です。ほとんどのユーザーは、すっきりとした正式な図を見ることに慣れていますが、手描きまたはスケッチされた図を好むユーザーもいます。そこで、roughViz が役立ちます。

roughViz は、D3.js と Rough.js をベースにした JavaScript ライブラリです。このライブラリは、以下の例のように、スケッチや手描きの図のような図を作成できるように設計されています。

このガイドでは、vue-roughviz を使用して Vue.js アプリケーションでスケッチのような図を表示する方法と、vue-cli を使用して Vue アプリケーションを構成する方法を学習します。

前提条件

このチュートリアルでは、次の前提条件が満たされていることを前提としています。

  • Vue.js の基本的な理解
  • Node.js のローカル開発環境と Node パッケージ マネージャー (npm) の知識
  • Visual Studio CodeやAtomなどのテキストエディタ

始める

vue-cli がまだインストールされていない場合は、次のコマンドを実行して最新バージョンをインストールしてください。

npm インストール -g @vue/cli
# または
糸グローバル追加 @vue/cli

次に、新しい vue アプリケーションを作成します。

vue で my-app を作成する

注意: このプロセスには数分かかる場合があります。それが完了したら、新しいアプリケーションのルート ディレクトリに移動できます。

cd my-app

上記で詳しく説明したプロセスにより、新しい Vue.js アプリケーションが作成されます。すべてがセットアップされていることを確認するには、 npm run serve を実行します。 http://localhost:8080 にアクセスすると、ブラウザに「Welcome to Your Vue.js app page」と表示されます。

vue-roughviz を追加

vue-roughviz は、RoughViz.js 用の Vue.js ラッパーです。これにより、ライブラリをコンポーネントとしてアクセスできるようになり、Vue.js ベースのプロジェクトでシームレスに再利用できるようになります。

プロジェクトに vue-roughviz を含めるには、次のコマンドを実行します。

npm インストール vue-roughviz

vue-roughViz コンポーネント

vue-roughviz は、以下を含むすべての rawViz チャート スタイル コンポーネントを提供します。

  • roughBar——rawViz 棒グラフ コンポーネント
  • roughBarH——roughViz 水平棒グラフ コンポーネント
  • roughDonut——roughViz ドーナツ チャート コンポーネント
  • roughPie——roughViz 円グラフ
  • roughLine——roughViz 折れ線グラフ コンポーネント
  • roughScatter——roughViz 散布図コンポーネント
  • roughStackedBar——roughViz 積み上げ棒グラフ コンポーネント

使用

プロジェクトに vue-roughviz を追加したら、次のステップは、好みのテキスト エディターでプロジェクト フォルダーを開くことです。

src/App.vue ファイルを開くと、初期コンテンツは次のようになります。

ビューが上記のようになっている場合は、その内容をすべて削除し、次のコードに置き換えてください。

<テンプレート>
 
 <div id="アプリ">
  
 <ラフバー:data="{
    ラベル: ['北', '南', '東', '西'],
    値: [10, 5, 8, 3],
   }" title="領域" roughness="8" :colors="['red', 'orange', 'blue', 'skyblue']"stroke="black"stroke-width="3" fill-style="cross-hatch" fill-weight="3.5" />
 
 </div>

</テンプレート>

コードの説明

  • import ... — このコード行は、先ほどインストールした vue-roughviz から rawBar コンポーネントをインポートします。
  • export default {} — このブロックは、以前にインポートしたコンポーネント (roughBar) をアプリケーションで使用できるようにするためのものです。
  • <rough-bar :data="[...]" /> — ここで外側の rawBar コンポーネントを呼び出します。これらのコンポーネントで指定されるプロパティは必須のプロパティです。

vue-roughviz の小道具

必要なプロパティはデータのみです。これはチャートを作成するために使用されるデータです。これは文字列またはオブジェクトにすることができます。

オブジェクトが選択されている場合、ラベルと値キーが含まれている必要があります。代わりに文字列を使用する場合、その文字列は csv または tsv ファイルの URL である必要があります。このファイルでは、各列を表す個別の属性としてラベルと値も指定する必要があります。

その他の便利な小道具は次のとおりです:

  1. title - チャートのタイトルを指定します
  2. 粗さ - チャートの粗さのレベル
  3. ストローク——バーのストロークの色
  4. ストローク幅
  5. fill-weight – 内側のパスの色の太さを指定します。
  6. fill-style - バーの塗りつぶしスタイル。次のいずれかになります。
  • 破線
  • 固体
  • ジグザグ線
  • クロスハッチ
  • ハチュレ
  • ジグザグ

走る

アプリケーションをプレビューするには、npm run serve を実行します。上記の手順を正しく実行した場合、http://localhost:8080 にアクセスすると、ブラウザにグラフが表示されます。

外部APIからデータを読み込む

ちょっとした実験をして、ビットコインの過去 10 日間の価格履歴をチャートに表示してみましょう。この実験では、Coingecko API を使用します。

Coingecko を選ぶ理由他の暗号通貨 API とは異なり、Coingecko は無料で、開始するために API キーを必要としないため、私たちの実験に最適です。

src/App.vueを次のコードに置き換えてください。

<テンプレート>
 
 <div id="アプリ">
  
 <div>
   
  <rough-bar v-if="chartValue.length > 0" :data="{
     ラベル: chartLabel、
     値: チャート値、
    }" title="BTC - 10日間" 粗さ="3" ストローク="黒" ストローク幅="1" 塗りつぶしスタイル="ジグザグ" 塗りつぶし太さ="2" />
  
 </div>
 
 </div>

</テンプレート>

Coingecko API からビットコインの価格履歴を取得し、返されたデータをループする非同期メソッド loadData() を作成します。日付と価格を分離し、返された日付をグラフのラベルとして使用し、価格をグラフの値として使用します。そして、beforeMount()、つまりアプリケーションがビューにマウントされる前に、先ほど作成した loadData() 関数を呼び出します。

アプリケーションを実行すると、グラフに次のような新しい変更が反映されます。

上記は、RoughViz を使用して Vue.js でスケッチ チャートを視覚化する方法の詳細です。Vue.js でのスケッチ チャートの RoughViz 視覚化の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • laravel + vue で実装されたデータ統計描画 (今日、7 日間、30 日間のデータ)
  • Vue+jsplumbで線画を実現

<<:  LinuxサーバーにGRUBをインストールする手順

>>:  Linux で最も頻繁に使用されるターミナル コマンドのトップ 10 のリストを取得します。

推薦する

MySQLのスリープ関数の特殊現象例の詳しい説明

序文MySQL のスリープ システム機能は、実用的な適用シナリオが少なく、通常は実験的なテストに使用...

Linux における mv コマンドの高度な使用例

序文mv コマンドは、move の略語で、ファイルを移動したり、ファイル名を変更したり (ファイルの...

Vue エクスポート Excel 機能の全プロセス記録

目次1. フロントエンドのリーディングプロセス: 2. プラグインの使用と初期化2.1 vue-ad...

角度コンテンツ投影の詳細な説明

目次単一コンテンツ投影マルチコンテンツ投影単一条件のコンテンツ投影アプリ-人物-htmlアプリ担当者...

MySQL の制限使用法とページングクエリステートメントのパフォーマンス分析の詳細な説明

使用制限クエリ ステートメントを使用する場合、多くの場合、データの最初の数行または中間行を返す必要が...

openlayers6 マップオーバーレイの一般的な 3 つの用途 (ポップアップウィンドウマーカーテキスト)

目次1. 前に書く2. ポップアップウィンドウを実装するためのオーバーレイ2.1 vueページのad...

Webフロントエンドベクターアイコンの使い方

序文フロントエンドページを書くとき、小さなアイコンなどの画像を使うことが多いです。画像を使うとコード...

HTML における <meta> タグの使用に関する詳細な説明

私たちが作成する Web ページでは、より多くの人々に訪問してもらいたい場合、検索エンジンを使用して...

スライディングカルーセル効果を実現する js

この記事では、スライディングカルーセル効果を実現するためのjsの具体的なコードを参考までに共有します...

MySQL では UTF-8 が推奨されないのはなぜですか?

最近、Rails 経由で「utf8」でエンコードされた UTF-8 文字列を MariaDB に保存...

Docker インストール tomcat dubbo-admin インスタンス スキル

1. tomcatイメージをダウンロードする docker pull tomcat:8.5.29 2...

Vue はシェイク機能を実装します (ios13.3 以降と互換性があります)

最近、shake.jsを使用して、shakeに似た機能を作成しました。ただし、shake機能はios...

Linux DMAインターフェースの知識ポイントの詳細な説明

1. 2種類のDMAマッピング1.1. 一貫性のあるDMAマッピング主に長期間使用されるエリアをマッ...

JavaScriptページングコンポーネントの使い方の詳細な説明

ページネーションコンポーネントはWeb開発でよく使われるコンポーネントです。ページネーション機能を実...

CSS3 のフレックスレイアウト幅の無効性の解決策

2 列レイアウトはプロジェクトでよく使用されます。この効果を実現する方法はたくさんあります。 しかし...