マインドマップとは何ですか?マインド マップ (英語: mind map) は、脳マップ、メンタル マップ、ブレーンストーミング マップ、マインド マップ、インスピレーション誘発マップ、コンセプト マップ、または思考マップとも呼ばれ、情報を画像で整理するグラフィックです。中心となるキーワードまたはアイデアを使用して、すべての代表的な単語、アイデア、タスク、またはその他の関連項目を放射状の線で接続します。紹介、目に見える視覚化、システム構築、分類など、さまざまな方法で人々のアイデアを表現できます。研究、組織化、問題解決、政策立案などでよく使用されます。ウィキペディア マインドマッピングは、1970 年代にイギリスのトニー・ブザンによって提唱された思考ツールです。ターゲットトピックを中心ノードとして、関連性が継続的に外側に拡張され、分解および探索され、最終的に完全なツリー図が形成されます。具体的な操作プロセスの観点からは、各関連付けの結果を完全に記録する探索プロセスの可視化としても理解できます。この形式は人々の考え方に沿ったものであり、最終的な絵は主題についてのより具体的で全体的な理解も与えてくれます。 マインド マッピングは思考に重点を置いており、私たちの通常の活動は思考と切り離せないため、マインド マッピングの使用シナリオは非常に多岐にわたります。例えば、要約、レポートのプレゼンテーション、ブレインストーミングなど。これを実装するために必要なのはペンと紙だけですが、図の作成をサポートできるさまざまなオンライン アプリケーションやスタンドアロン アプリケーションもあります。製品でトピックに関する関連情報を複数のレイヤーで表示する必要がある場合は、マインド マップを使用できます。 F6 は、上の写真のような効果で、ミニプログラムでマインドマップを簡単に描くことができます。関連するニーズを持つ学生は試してみる価値があります。 F6で描く方法デモの例については、f6.antv.vision/zh/docs/exa… を参照してください。 このセクションのコードはオープンソース化されています。ご興味があれば、ぜひご覧ください。 Alipaygithub.com/antvis/F6/t… WeChatgithub.com/antvis/F6/t… アリペイ最初のインストール インストール @antv/f6 @antv/f6-alipay -S データ エクスポートデフォルト{ id: 'モデリング方法'、 子供たち: [ { id: '分類', 子供たち: [ { id: 'ロジスティック回帰'、 }, { id: '線形判別分析'、 }, { id: 'ルール', }, { id: '決定木'、 }, { id: 'ナイーブベイズ'、 }, { id: 'K 近傍'、 }, { id: '確率的ニューラルネットワーク'、 }, { id: 'サポートベクターマシン', }, ]、 }, { id: 'コンセンサス'、 子供たち: [ { id: 「多様性をモデル化する」 子供たち: [ { id: '異なる初期化'、 }, { id: '異なるパラメータの選択', }, { id: '異なるアーキテクチャ'、 }, { id: 'さまざまなモデリング方法'、 }, { id: '異なるトレーニング セット'、 }, { id: '異なる機能セット'、 }, ]、 }, { id: 'メソッド', 子供たち: [ { id: '分類子の選択', }, { id: '分類子の融合', }, ]、 }, { id: '共通', 子供たち: [ { id: 'バギング'、 }, { id: 'ブースティング', }, { id: 'AdaBoost', }, ]、 }, ]、 }, { id: '回帰'、 子供たち: [ { id: '多重線形回帰'、 }, { id: '部分最小二乗法', }, { id: 「多層フィードフォワードニューラルネットワーク」、 }, { id: '一般回帰ニューラルネットワーク'、 }, { id: 'サポートベクター回帰', }, ]、 }, ]、 }; インデックス { "defaultTitle": "マインドマップ", "コンポーネントの使用": { "f6-canvas": "@antv/f6-alipay/es/container/container" } } インデックス '@antv/f6' から F6 をインポートします。 '@antv/f6/dist/extends/graph/treeGraph' から TreeGraph をインポートします。 '../../../common/utils/context' から { wrapContext } をインポートします。 './data' からデータをインポートします。 /** * マインドマップ - ノードを両側に自動的に分配します*/ ページ({ キャンバス: null、 ctx: null、 renderer: '', // mini、mini-native など、F6 で必要、環境をマーク isCanvasInit: false, // キャンバスは準備ができていますか? graph: null, データ: { 幅: 375, 高さ: 600, ピクセル比: 2, 強制ミニ: 偽、 }, オンロード() { // カスタム ツリー、ノードなどを登録します。F6.registerGraph('TreeGraph', TreeGraph); // ウィンドウの幅と高さを同期的に取得します。const { windowWidth, windowHeight, PixelRatio } = my.getSystemInfoSync(); this.setData({ 幅: ウィンドウ幅、 高さ: ウィンドウの高さ、 ピクセル比、 }); }, /** * cnavasコールバックを初期化し、取得したコンテキストをキャッシュする * @param {*} ctx 描画コンテキスト * @param {*} rect の幅と高さの情報 * @param {*} canvas キャンバスオブジェクト、レンダリングが mini の場合は null * @param {*} レンダラーはキャンバス 1.0 またはキャンバス 2.0、mini | mini-native を使用します */ handleInit(ctx, rect, キャンバス, レンダラー) { true を返します。 this.ctx = wrapContext(ctx); this.renderer = レンダラー; this.canvas = キャンバス; this.updateChart(); }, /** * キャンバスによってディスパッチされたイベントはグラフインスタンスに転送されます*/ ハンドルタッチ(e) { this.graph && this.graph.emitEvent(e); }, チャートを更新します(){ const { 幅、高さ、ピクセル比 } = this.data; // F6インスタンスを作成する this.graph = new F6.TreeGraph({ コンテキスト: this.ctx、 レンダラー: this.renderer、 幅、 身長、 ピクセル比、 fitView: true、 モード: デフォルト: [ { タイプ: '折りたたみ-展開'、 onChange: 関数 onChange(item, 折りたたまれた) { 定数モデル = item.getModel(); model.collapsed = 折りたたまれている; true を返します。 }, }, 「ドラッグキャンバス」、 「ズームキャンバス」、 ]、 }, デフォルトノード: { サイズ: 26, アンカーポイント: [ [0, 0.5], [1, 0.5], ]、 }, デフォルトエッジ: { タイプ: 'cubic-horizontal'、 }, レイアウト: タイプ: 'マインドマップ'、 方向: 'H'、 getHeight: 関数 getHeight() { 16を返します。 }, getWidth: 関数 getWidth() { 16を返します。 }, getVGap: 関数 getVGap() { 10 を返します。 }, getHGap: 関数 getHGap() { 50を返します。 }, }, }); centerX = 0 とします。 this.graph.node(function(node) { if (node.id === 'モデリング方法') { 中心X = ノード.x; } // 位置の値(ESlint はネストされた三項式を禁止しているため、抽出されて別々に記述されます) position_value を null にします。 (ノードの子とノードの子の長さ>0)の場合{ position_value = '左'; } そうでない場合 (node.x > centerX) position_value = 'right'; そうでない場合は、position_value = 'left'; 戻る { ラベル: node.id, ラベル設定: { オフセット: 5, 位置: 位置値、 }, }; }); this.graph.data(データ); this.graph.render(); グラフにフィットするビューを作成します。 }, }); インデックス.axml <f6-キャンバス 幅="{{幅}}" 高さ="{{高さ}}" フォースミニ="{{フォースミニ}}" ピクセル比="{{ピクセル比}}" onTouchEvent="handleTouch" onInit="handleInit" </f6-キャンバス> 微信最初のインストール npm インストール @antv/f6-wx -S @antv/f6-wx WeChat は npm パッケージにあまり対応していないため、ユーザーの操作を簡素化するために @antv/f6-wx をパッケージ化しました。 データ 同上 インデックス { "defaultTitle": "マインドマップ", "コンポーネントの使用": { "f6-canvas": "@antv/f6-wx/canvas/canvas" } } インデックス.wxml <f6-キャンバス 幅="{{幅}}" 高さ="{{高さ}}" フォースミニ="{{フォースミニ}}" ピクセル比="{{ピクセル比}}" バインド:onTouchEvent="handleTouch" バインド:onInit="handleInit" </f6-キャンバス> インデックス '@antv/f6-wx' から F6 をインポートします。 '@antv/f6-wx/extends/graph/treeGraph' から TreeGraph をインポートします。 './data' からデータをインポートします。 /** * マインドマップ - ノードを両側に自動的に分配します*/ ページ({ キャンバス: null、 ctx: null、 renderer: '', // mini、mini-native など、F6 で必要、環境をマーク isCanvasInit: false, // キャンバスは準備ができていますか? graph: null, データ: { 幅: 375, 高さ: 600, ピクセル比: 1, 強制ミニ: 偽、 }, オンロード() { // カスタム ツリー、ノードなどを登録します。F6.registerGraph('TreeGraph', TreeGraph); // ウィンドウの幅と高さを同期的に取得します。const { windowWidth, windowHeight, PixelRatio } = wx.getSystemInfoSync(); this.setData({ 幅: ウィンドウ幅、 高さ: ウィンドウの高さ、 // ピクセル比、 }); }, /** * cnavasコールバックを初期化し、取得したコンテキストをキャッシュする * @param {*} ctx 描画コンテキスト * @param {*} rect の幅と高さの情報 * @param {*} canvas キャンバスオブジェクト、レンダリングが mini の場合は null * @param {*} レンダラーはキャンバス 1.0 またはキャンバス 2.0、mini | mini-native を使用します */ handleInit(イベント) { const {ctx、rect、canvas、renderer} = イベント.detail true を返します。 this.ctx = ctx; this.renderer = レンダラー; this.canvas = キャンバス; this.updateChart(); }, /** * キャンバスによってディスパッチされたイベントはグラフインスタンスに転送されます*/ ハンドルタッチ(e) { this.graph && this.graph.emitEvent(e.detail); }, チャートを更新します(){ const { 幅、高さ、ピクセル比 } = this.data; // F6インスタンスを作成する this.graph = new F6.TreeGraph({ コンテキスト: this.ctx、 レンダラー: this.renderer、 幅、 身長、 ピクセル比、 fitView: true、 モード: デフォルト: [ { タイプ: '折りたたみ-展開'、 onChange: 関数 onChange(item, 折りたたまれた) { 定数モデル = item.getModel(); model.collapsed = 折りたたまれている; true を返します。 }, }, 「ドラッグキャンバス」、 「ズームキャンバス」、 ]、 }, デフォルトノード: { サイズ: 26, アンカーポイント: [ [0, 0.5], [1, 0.5], ]、 }, デフォルトエッジ: { タイプ: 'cubic-horizontal'、 }, レイアウト: タイプ: 'マインドマップ'、 方向: 'H'、 getHeight: 関数 getHeight() { 16を返します。 }, getWidth: 関数 getWidth() { 16を返します。 }, getVGap: 関数 getVGap() { 10 を返します。 }, getHGap: 関数 getHGap() { 50を返します。 }, }, }); centerX = 0 とします。 this.graph.node(function(node) { if (node.id === 'モデリング方法') { 中心X = ノード.x; } // 位置の値(ESlint はネストされた三項式を禁止しているため、抽出されて別々に記述されます) position_value を null にします。 (ノードの子とノードの子の長さ>0)の場合{ position_value = '左'; } そうでない場合 (node.x > centerX) position_value = 'right'; そうでない場合は、position_value = 'left'; 戻る { ラベル: node.id, ラベル設定: { オフセット: 5, 位置: 位置値、 }, }; }); this.graph.data(データ); this.graph.render(); グラフにフィットするビューを作成します。 }, }); 要約するミニプログラムでマインドマップを描く方法についての記事はこれで終わりです。ミニプログラムでマインドマップを描く方法についてのさらなる内容については、123WORDPRESS.COM で過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 |
<<: SeataがMySQL 8バージョンを使用できない問題を解決する方法
>>: Docker を使用して MySQL および Redis サービスをデプロイする方法
序文Element Plus を例に、コンポーネントとスタイルのオンデマンド読み込みを構成します。環...
この記事の例では、商品検索機能を実現するためのJavaScriptの具体的なコードを参考までに共有し...
MySQL は、ユーザーごとに 2 つの異なるバージョンを提供します。 MySQL コミュニティ サ...
この記事の例では、データのページング効果を実現するためのjsオブジェクトの具体的なコードを参考までに...
目次1. Vue環境を構築する2. Vue スキャフォールディングツール3. プロジェクトを作成する...
MySQL 文字列の連結、インターセプト、置換、および検索位置。よく使用される文字列関数:関数例示す...
目次インストール構成よくある間違い事前テスト作業依存関係の扱いインスタンスとDOMを生成する要約する...
ここでは、dockerがインストールされたcentosサーバーを紹介し、リモートリンクサービスを開始...
1 背景JDK1.8-u181とTomcat8.5.53がインストールされました。インストール後、環...
secure_file_priv = ' ';管理者としてcmdを実行します。 my...
docker コンテナの下に kong クラスターを構築するのは非常に簡単です。公式サイトの紹介も非...
1. 問題の原因友人の @水米田 から、POSITION に基づくマスタースレーブについて質問があり...
Dockerfile の紹介Docker は、Dockerfile の内容を読み取ってイメージを自動...
目次1. CentOS 7.9 20にDockerをインストールする2. MySQL クラスターをデ...
公式の Docker レジストリを使用して作成されたウェアハウスでは、イメージを削除してもデフォルト...