UIデザインEcharts の例の効果序文UI によって提供される設計図については、さまざまな気象 Web サイトで同様の効果が得られ、実装方法は次の 2 つのカテゴリに分けられます。
これら 2 つの実装方法の共通点は、曲線と上の説明文が分離されていることです。これの難しさは、日付アイコン部分と温度曲線部分の適応的な配置を実現することです。私の CSS の経験は比較的浅く、Echarts チャート フレームワークを比較的多く使用しているため、上記の効果を実現するために Echarts (バージョン: 4.6.0 ) を使用してみることにしました。ドキュメントを確認したところ、Echarts は複数の X 軸とリッチ テキスト表示をサポートしていることがわかりました。X 軸のオフセットを調整することで、表示位置を制御できます。同時に、リッチ テキストは背景アイコンの設定をサポートしており、天気アイコンを表示するために使用できます。いくつかテストした後、次のサンプルコードが得られました。 サンプルコード次のコードを Echarts にインポートして直接実行できます。 var オプション = { グリッド: { 表示: true、 背景色: '透明'、 不透明度: 0.3、 境界線の幅: '0', 上: '180'、 下: '0' }, ツールチップ: { トリガー: '軸' }, 伝説: { 表示:偽 }, x軸: [ // 日付{ タイプ: 'カテゴリ', 境界ギャップ: false、 位置: 'トップ'、 オフセット: 130, zレベル: 100, 軸線: { 表示:偽 }, 軸目盛り: { 表示:偽 }, 軸ラベル: { 間隔: 0, フォーマッタ: [ '{a|{値}}' ].join('\n'), リッチ: a: { // 色: '白', フォントサイズ: 18 } } }, 名前テキストスタイル: { }, データ: ["25日","26日","27日","28日","29日","30日","31日"] }, // 週{ タイプ: 'カテゴリ', 境界ギャップ: false、 位置: 'トップ'、 オフセット: 110, zレベル: 100, 軸線: { 表示:偽 }, 軸目盛り: { 表示:偽 }, 軸ラベル: { 間隔: 0, フォーマッタ: [ '{a|{値}}' ].join('\n'), リッチ: a: { // 色: '白', フォントサイズ: 14 } } }, 名前テキストスタイル: { フォントの太さ: '太字'、 フォントサイズ: 19 }, データ: ["月曜日","火曜日","水曜日","木曜日","金曜日","土曜日","日曜日"] }, // 天気アイコン { タイプ: 'カテゴリ', 境界ギャップ: false、 位置: 'トップ'、 オフセット: 20, zレベル: 100, 軸線: { 表示:偽 }, 軸目盛り: { 表示:偽 }, 軸ラベル: { 間隔: 0, フォーマッタ: 関数(値, インデックス) { '{' + インデックス + '| }\n{b|' + 値 + '}' を返します }, リッチ: 0: { 背景色: // 画像: require('@/assets/weather_icon/' + this.weatherIconDic[this.weatherdata.weather[0]] + '.png') 画像: 'https://d.scggqx.com/forecast/img/小雨.png' }, 高さ: 40, 幅: 40 }, 1: { 背景色: // 画像: require('@/assets/weather_icon/' + this.weatherIconDic[this.weatherdata.weather[1]] + '.png') 画像: 'https://d.scggqx.com/forecast/img/小雨.png' }, 高さ: 40, 幅: 40 }, 2: { 背景色: // 画像: require('@/assets/weather_icon/' + this.weatherIconDic[this.weatherdata.weather[2]] + '.png') 画像: 'https://d.scggqx.com/forecast/img/阴.png' }, 高さ: 40, 幅: 40 }, 3: { 背景色: // 画像: require('@/assets/weather_icon/' + this.weatherIconDic[this.weatherdata.weather[3]] + '.png') 画像: 'https://d.scggqx.com/forecast/img/小雨.png' }, 高さ: 40, 幅: 40 }, 4: { 背景色: // 画像: require('@/assets/weather_icon/' + this.weatherIconDic[this.weatherdata.weather[4]] + '.png') 画像: 'https://d.scggqx.com/forecast/img/多云.png' }, 高さ: 40, 幅: 40 }, 5: { 背景色: // 画像: require('@/assets/weather_icon/' + this.weatherIconDic[this.weatherdata.weather[5]] + '.png') 画像: 'https://d.scggqx.com/forecast/img/小雨.png' }, 高さ: 40, 幅: 40 }, 6: { 背景色: // 画像: require('@/assets/weather_icon/' + this.weatherIconDic[this.weatherdata.weather[6]] + '.png') 画像: 'https://d.scggqx.com/forecast/img/小雨.png' }, 高さ: 40, 幅: 40 }, b: { // 色: '白', フォントサイズ: 12, 行の高さ: 30, 高さ: 20 } } }, 名前テキストスタイル: { フォントの太さ: '太字'、 フォントサイズ: 19 }, // データ: this.weatherdata.weather データ: ["小雨","小雨","曇り","小雨","曇り","小雨","小雨"] } ]、 y軸: { タイプ: '値', 表示: 偽、 軸ラベル: { フォーマッタ: '{値} °C', 色: 「白」 } }, シリーズ: [ { 名前: 「最高気温」 タイプ: 'line'、 データ: ["16.3","16.2","17.6","14.2","17.6","15.7","14.3"], シンボル: 'emptyCircle', シンボルサイズ: 10, 表示シンボル: true、 スムーズ: 真、 アイテムスタイル: { 普通: { 色: '#C95843' } }, ラベル: { 表示: true、 位置: 'トップ'、 // 色: '白', フォーマッタ: '{c} °C' }, 線のスタイル: 幅: 1, // 色: '白' }, エリアスタイル: { 不透明度: 1, 色: '透明' } }, { 名前: 「最低気温」 タイプ: 'line'、 データ: ["13.4","12.8","13.5","12.5","12.4","13.2","13"], シンボル: 'emptyCircle', シンボルサイズ: 10, 表示シンボル: true、 スムーズ: 真、 アイテムスタイル: { 普通: { 色: '青' } }, ラベル: { 表示: true、 位置: '下'、 // 色: '白', フォーマッタ: '{c} °C' }, 線のスタイル: 幅: 1, // 色: '白' }, エリアスタイル: { 不透明度: 1, 色: '透明' } } ] } 上記コードで最も難しいのは天気アイコンの設定です。axisLabelのフォーマッタメソッド内の値はリッチテキストでは使用できないため、フォーマッタメソッド内で値の添え字をリッチテキスト内のCSS名に設定し、その添え字を使用して天気アイコン設定時に表示するアイコン名を取得します。 //axisLabel のフォーマッタ メソッドformatter: function(value, index) { '{' + インデックス + '| }\n{b|' + 値 + '}' を返します } // axisLabel の rich メソッド rich: { 索引: { 背景色: 画像: require('@/assets/weather_icon/' + this.weatherIconDic[this.weatherdata.weather[index]] + '.png') }, 高さ: 40, 幅: 40 } } 注記: 最終結果これで、Echarts を使用して複数の X 軸を使用して 7 日間の天気予報を実現するサンプル コードに関するこの記事は終了です。Echarts の複数 X 軸天気予報の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
目次1. 再帰とは何ですか? 2. 再帰を使って数学の問題を解く1. 1 * 2 * 3 * 4 …...
この記事の例では、スライディングブロック効果を実現するための小さなプログラムの具体的なコードを参考ま...
問題を見つける最近、プログラムのストレージを Mongodb に移行したところ、Guid 型が書き込...
この記事では、例を使用して、MySQL データベースの最適化のためのインデックス実装の原則と使用方法...
mysql 行から列へ、列から行へ難しい文章ではないので、詳しく説明はしません。文章を読むときは、一...
まず次のコマンドを実行します: [root@mini61 setuptools-8.2.1]# py...
1. コマンドの紹介tac (cat の逆順) コマンドは、ファイルの内容を行単位で逆順に出力します...
この記事では、例を使用して、MySQL でスケジュールされたタスクを設定する方法について説明します。...
タグの種類(表示モード) HTML タグは、一般的にブロック タグとインライン タグの 2 種類に分...
序文今日、オープンソース プロジェクトのフィードバック フォームを設計していたところ、絵文字表現を挿...
最近、ストアド プロシージャの名前を変更する機能を使用しました。インターネットで情報を検索しましたが...
目次ナンセンス実装された機能文章要点ナンセンスデモプレビュー実装された機能デフォルトでホームページが...
Windows Server 2012 と Windows Server 2008 では、デスクトッ...
目次デザインコンポーネント通信ライフサイクルイベント処理品格とスタイルクラススタイル条件付きレンダリ...
1. ダウンロードしたMySQLの圧縮パッケージをインストールディレクトリに解凍します。 2. 新し...