


Comment utiliser Sankey Rose Chart pour afficher le flux de données et les changements de proportion dans ECharts
ECharts est une bibliothèque d'affichage de données visuelles qui peut rendre les données plus vivantes et intuitives. Parmi eux, le graphique Sankey Rose peut être d'une grande aide pour montrer la direction du flux de données et les changements de proportion. Cet article explique comment utiliser le graphique Sankey Rose dans ECharts, tout en fournissant des exemples de code spécifiques.
- Introduction
Le Sankey Rose Chart est un graphique en rose spécial qui affiche les données à travers des anneaux concentriques de cercles intérieurs et extérieurs et de longueurs de secteur. Il a une structure hiérarchique claire et convient à l'affichage de flux de données multidimensionnels. Dans ECharts, le graphique Sankey Rose peut être utilisé pour montrer les proportions entre différentes dimensions et la relation entre les proportions dans le temps. De plus, dans les situations où la quantité de données est importante et où il y a trop de dimensions, ECharts prend également en charge l'affichage défilant et l'aperçu miniature pour faciliter l'interaction visuelle des utilisateurs.
- Mise en œuvre
Ce qui suit présentera comment utiliser le graphique rose Sankey dans ECharts pour afficher la direction du flux de données et les changements de proportion, y compris quatre étapes d'initialisation, de définition des données, de définition des styles et des effets interactifs.
2.1 Initialisation
L'initialisation implique l'introduction du fichier js d'ECharts et la création d'un nouveau conteneur de canevas. Le code spécifique est le suivant :
<!-- 引入ECharts插件 --> <script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script> <!-- 定义画布容器 --> <div id="sankey-rose" style="width: 800px;height: 600px;"></div>
2.2 Définition des données
La définition des données implique de définir des nœuds et des arêtes. Les nœuds font référence à des attributs spécifiques dans les données. Par exemple, dans un diagramme Sankey Rose de données de ventes, les nœuds peuvent être des types de produits ou des régions de vente ; les bords font référence aux connexions et aux directions de flux entre les différents nœuds, représentant la relation logique des données. Le code spécifique est le suivant :
// 设置节点 var data = { nodes: [ {name: 'A'}, {name: 'B'}, {name: 'C'}, {name: 'D'}, {name: 'E'} ], // 设置边 links: [ { source: 'A', target: 'B', value: 10 }, { source: 'B', target: 'C', value: 20 }, { source: 'C', target: 'D', value: 30 }, { source: 'D', target: 'E', value: 40 } ] };
Parmi eux, nodes
contient tous les nœuds, chaque nœud est un objet, et name
représente le nom du nœud (type chaîne) . links
contient toutes les arêtes, chaque arête est un objet, source
représente le nom du nœud source, target
représente le nom du nœud cible, value représente la valeur des données (type numérique). nodes
包含了所有的节点,每个节点是一个对象,name
表示节点的名称(字符串类型)。links
包含了所有的边,每个边是一个对象,source
表示源节点的名称,target
表示目标节点的名称,value
表示数据的值(数值类型)。
2.3 设置样式
样式是指桑基玫瑰图的整体风格和节点之间的关联。在ECharts中,样式可以通过配置series
来实现。具体代码如下:
// 设置样式 var option = { series: [{ type: 'sankey', data: data.nodes, links: data.links, layoutIterations: 32, lineStyle: { color: 'source', curveness: 0.5 }, label: { color: '#000', formatter: '{b}' } }] };
其中,type
表示图表类型,data
和links
分别对应前面定义的nodes
和links
。layoutIterations
表示布局迭代次数,值越大表示布局越密集,通常设为32即可。lineStyle
表示边的样式,color
表示边的颜色,这里设为使用源节点的颜色;curveness
表示边的弧度,设为0.5表示为曲线。label
表示节点标签的样式,formatter
表示节点标签的显示内容,这里设为使用节点的名称。
2.4 交互效果
交互效果指用户在与桑基玫瑰图进行互动时触发的效果和操作。在ECharts中,交互效果可以通过配置toolbox
来实现。具体代码如下:
// 设置交互效果 option.toolbox = { feature: { dataZoom: {}, restore: {}, saveAsImage: {} } };
其中,feature
是一个包含多种交互型工具的对象。dataZoom
表示缩放工具,restore
表示还原工具,saveAsImage
- Le style fait référence au style général du diagramme Sankey Rose et à l'association entre les nœuds. Dans ECharts, les styles peuvent être implémentés en configurant la
série
. Le code spécifique est le suivant :
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>桑基玫瑰图示例</title> <script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script> </head> <body> <div id="sankey-rose" style="width: 800px;height: 600px;"></div> <script> // 初始化 var myChart = echarts.init(document.getElementById('sankey-rose')); // 设置数据 var data = { nodes: [ {name: '华东地区'}, {name: '华南地区'}, {name: '华北地区'}, {name: '东北地区'}, {name: '中西部地区'}, {name: '电子产品'}, {name: '家用电器'}, {name: '食品饮料'}, {name: '化妆品'}, {name: '家居生活'} ], links: [ { source: '华东地区', target: '电子产品', value: 300 }, { source: '华东地区', target: '家用电器', value: 200 }, { source: '华东地区', target: '食品饮料', value: 100 }, { source: '华南地区', target: '化妆品', value: 400 }, { source: '华南地区', target: '家居生活', value: 500 }, { source: '华北地区', target: '电子产品', value: 200 }, { source: '华北地区', target: '家用电器', value: 150 }, { source: '东北地区', target: '家用电器', value: 100 }, { source: '东北地区', target: '化妆品', value: 50 }, { source: '中西部地区', target: '电子产品', value: 120 }, { source: '中西部地区', target: '食品饮料', value: 80 }, { source: '中西部地区', target: '家居生活', value: 200 } ] }; // 设置样式 var option = { series: [{ type: 'sankey', data: data.nodes, links: data.links, layoutIterations: 32, lineStyle: { color: 'source', curveness: 0.5 }, label: { color: '#000', formatter: '{b}' } }] }; // 设置交互效果 option.toolbox = { feature: { dataZoom: {}, restore: {}, saveAsImage: {} } }; // 渲染图表 myChart.setOption(option); </script> </body> </html>
type
représente le type de graphique, et data
et links
correspondent respectivement au type défini précédemment nœuds
et liens
. layoutIterations
représente le nombre d'itérations de mise en page. Plus la valeur est grande, plus la mise en page est dense. Elle est généralement définie sur 32. lineStyle
représente le style du bord, color
représente la couleur du bord, ici il est défini pour utiliser la couleur du nœud source courbe
; > représente le radian du bord, réglé sur 0,5 est représenté sous forme de courbe. label
représente le style de l'étiquette du nœud, formatter
représente le contenu d'affichage de l'étiquette du nœud, ici il est configuré pour utiliser le nom du nœud. 2.4 Effets interactifs - Les effets interactifs font référence aux effets et opérations déclenchés lorsque l'utilisateur interagit avec le Sankey Rose Chart. Dans ECharts, des effets interactifs peuvent être obtenus en configurant la
toolbox
. Le code spécifique est le suivant : rrreee
feature
est un objet contenant une variété d'outils interactifs. dataZoom
représente l'outil de zoom, restore
représente l'outil de restauration et saveAsImage
représente l'outil de sauvegarde. Ces outils peuvent aider les utilisateurs à changer, interroger et exporter des données. 🎜Code complet🎜🎜🎜Le code final est ci-dessous. Voici un exemple de données de ventes, utilisant un graphique en rose de Sankey pour montrer la proportion des ventes de différents types de produits dans différentes régions. 🎜rrreee🎜🎜Conclusion🎜🎜🎜Ce qui précède représente l'ensemble du processus d'utilisation du graphique rose de Sankey pour afficher la direction du flux de données et les changements de proportion dans les ECharts, y compris des étapes telles que l'initialisation, la définition des données, la définition des styles et les effets interactifs. En application réelle, il peut être modifié et étendu en fonction des besoins spécifiques. J'espère que cet article pourra vous aider à mieux maîtriser l'utilisation des diagrammes de roses de Sankey. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

JavaScript s'exécute dans les navigateurs et les environnements Node.js et s'appuie sur le moteur JavaScript pour analyser et exécuter du code. 1) Générer une arborescence de syntaxe abstraite (AST) au stade d'analyse; 2) Convertir AST en bytecode ou code machine à l'étape de compilation; 3) Exécutez le code compilé à l'étape d'exécution.

Les tendances futures de Python et JavaScript incluent: 1. Python consolidera sa position dans les domaines de l'informatique scientifique et de l'IA, 2. JavaScript favorisera le développement de la technologie Web, 3. Le développement de plate-forme multiplié deviendra un sujet brûlant, et 4. L'optimisation des performances sera le focus. Les deux continueront d'étendre les scénarios d'application dans leurs champs respectifs et de faire plus de percées dans les performances.

Les choix de Python et JavaScript dans les environnements de développement sont importants. 1) L'environnement de développement de Python comprend Pycharm, Jupyternotebook et Anaconda, qui conviennent à la science des données et au prototypage rapide. 2) L'environnement de développement de JavaScript comprend Node.js, VScode et WebPack, qui conviennent au développement frontal et back-end. Le choix des bons outils en fonction des besoins du projet peut améliorer l'efficacité du développement et le taux de réussite du projet.

Oui, le noyau du moteur de JavaScript est écrit en C. 1) Le langage C fournit des performances efficaces et un contrôle sous-jacent, qui convient au développement du moteur JavaScript. 2) Prendre le moteur V8 comme exemple, son noyau est écrit en C, combinant l'efficacité et les caractéristiques orientées objet de C. 3) Le principe de travail du moteur JavaScript comprend l'analyse, la compilation et l'exécution, et le langage C joue un rôle clé dans ces processus.

JavaScript est au cœur des sites Web modernes car il améliore l'interactivité et la dynamicité des pages Web. 1) Il permet de modifier le contenu sans rafraîchir la page, 2) manipuler les pages Web via Domapi, 3) prendre en charge les effets interactifs complexes tels que l'animation et le glisser-déposer, 4) Optimiser les performances et les meilleures pratiques pour améliorer l'expérience utilisateur.

C et JavaScript réalisent l'interopérabilité via WebAssembly. 1) Le code C est compilé dans le module WebAssembly et introduit dans un environnement JavaScript pour améliorer la puissance de calcul. 2) Dans le développement de jeux, C gère les moteurs de physique et le rendu graphique, et JavaScript est responsable de la logique du jeu et de l'interface utilisateur.

JavaScript est largement utilisé dans les sites Web, les applications mobiles, les applications de bureau et la programmation côté serveur. 1) Dans le développement de sites Web, JavaScript exploite DOM avec HTML et CSS pour réaliser des effets dynamiques et prend en charge des cadres tels que JQuery et React. 2) Grâce à la réactnative et ionique, JavaScript est utilisé pour développer des applications mobiles multiplateformes. 3) Le cadre électronique permet à JavaScript de créer des applications de bureau. 4) Node.js permet à JavaScript d'exécuter le côté du serveur et prend en charge les demandes simultanées élevées.

Python est plus adapté à la science et à l'automatisation des données, tandis que JavaScript est plus adapté au développement frontal et complet. 1. Python fonctionne bien dans la science des données et l'apprentissage automatique, en utilisant des bibliothèques telles que Numpy et Pandas pour le traitement et la modélisation des données. 2. Python est concis et efficace dans l'automatisation et les scripts. 3. JavaScript est indispensable dans le développement frontal et est utilisé pour créer des pages Web dynamiques et des applications à une seule page. 4. JavaScript joue un rôle dans le développement back-end via Node.js et prend en charge le développement complet de la pile.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Version crackée d'EditPlus en chinois
Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Télécharger la version Mac de l'éditeur Atom
L'éditeur open source le plus populaire
