インストール
npm install --save echarts
main.js は echart を導入します。
// 引入 echarts
import * as echarts from "echarts";
const app = createApp(App);
// 全局挂载 echarts
app.config.globalProperties.$echarts = echarts;
templateタグでdomコンテナを定義する
<div id="myChart" :style="{ 幅: '300px', 高さ: '300px' }"></div>
注: import * as echarts from 'echarts' を使用する必要がありますが、import echarts from 'echarts' は使用できません。使用しないと、エラーが報告されます。
<script>
import { defineComponent, toRefs, reactive, onMounted } from 'vue'
import * as echarts from 'echarts'
export default defineComponent({
name: 'Histogram',
setup() {
const state = reactive({
option: {
grid: {
top: '4%',
left: '2%',
right: '4%',
bottom: '0%',
containLabel: true,
},
xAxis: [
{
type: 'category',
data: ["芳草地国际","实验小学","白家庄小学","外国语小学","师范学校附属","望京东园"],
axisTick: {
alignWithLabel: true,
},
},
],
yAxis: [
{
type: 'value',
},
],
series: [
{
name: '学校',
type: 'bar',
barWidth: '40%',
data: [260,680,360,460,150,320],
},
],
},
})
const initeCharts = () => {
let myChart = echarts.init(document.getElementById('myChart'))
// 绘制图表
myChart.setOption(state.option)
}
onMounted(() => {
initeCharts()
})
return {
...toRefs(state),
}
},
})
</script>
注: 一部の縦棒グラフのテキスト コンテンツが表示されないことに気付きました。テキストが長すぎるため、表示されなかったのではないかと推測しました。プロトタイプの X 軸の文字を傾ける必要があったためです。クエリドキュメント xAxis には設定可能な axisLabel があります。
xAxis はフォントの傾きを設定します
xAxis: [
{
type: 'category',
data: [ "芳草地国际", "实验小学", "白家庄小学", "外国语小学", "师范学校附属", "望京东园" ],
axisTick: { alignWithLabel: true },
axisLabel: { interval: 0, rotate: 30 },
},
],
一連の itemStyle のこの属性は、スタイルを設定し、color を通じてグラデーション カラーを設定し、barBorderRadius を通じて丸い角を設定できます。
series: [
{ name: '学校', type: 'bar', barWidth: '40%', itemStyle: { color: new VabChart.graphic.LinearGradient(0, 0, 0, 1, [ { offset: 0, color : '#9a9cf6' }, { オフセット: 1, カラー: '#6365ef' }, ])、 barBorderRadius: [5, 5, 0, 0], }, データ: [260,680,360,460,150,320], }, ],
クリックイベントを追加する
このドキュメントでは、クリック イベントを追加できることが示されています。
constiniteCharts = () => { let myChart = echarts.init(document.getElementById('myChart')) // チャートを描画します myChart.setOption(state.option) myChart.on('click', (params) => { console .log(params) // to do }) }イベントが正常に追加された後、echarts チャートをクリックすると何度も開始され、多くの結果が出力されます。
クリックイベントの前に閉じるには off を使用します
const initeCharts = () => { let myChart = echarts.init(document.getElementById('myChart')) // 绘制图表 myChart.setOption(state.option) myChart.off('click') myChart.on('click ', (params) => { console.log(params) // 実行すること }) }
追加後、データは 1 回だけ印刷され、クリック イベントで必要な操作を行うことができます。
ランダムな名前で新しい js ファイルを作成し (ここでは echarts.js という名前)、それを js フォルダーに配置します。
echarts.js フォルダーに存在する必要があるコンテンツ:
// echarts の使用に必要なインターフェイスを提供する echarts コア モジュールを導入します。
import * as echarts from "echarts/core";
/** 棒グラフと折れ線グラフを導入します。グラフの接尾辞は Chart です */
import { BarChart, LineChart } from "echarts/charts";
// プロンプト ボックス、タイトルを導入します、デカルト座標系、データ セット、組み込みデータ コンバータ コンポーネント、コンポーネントのサフィックスは Component
import { TitleComponent, TooltipComponent, GridComponent, DatasetComponent, TransformComponent, } from "echarts/components"; // ラベルの自動レイアウト、グローバル遷移アニメーションとその他の機能import { LabelLayout, UniversalTransition } from "echarts/features"; // Canvas レンダラを導入します。CanvasRenderer または SVGRenderer の導入は必要なステップであることに注意してください。import { CanvasRenderer } from "echarts/renderers"; // を登録します必要なコンポーネントのチャート。
TooltipComponent、
GridComponent、
DatasetComponent、
TransformComponent、
BarChart、
LabelLayout、
UniversalTransition、
CanvasRenderer、
LineChart、
]);
//
デフォルトの echart をエクスポートします。
作成した echarts.js ファイルをグローバル main.js に導入します。
import App from './App'
// echarts を導入
import echarts from './common/js/echarts.js'
import {createSSRApp} from 'vue'
let app = createSSRApp(App)
// vue インスタンスにマウント
/ / Vue.prototype.$echarts = echarts;//vue2 マウント メソッド
app.config.globalProperties.$echarts = echarts;//vue3 マウント メソッド
export function createApp() { return {app} } //Called 今回は、これです。 $echarts.init()