├── .eslintignore ├── .eslintrc.js ├── .github └── workflows │ ├── build.yml │ └── codeql-analysis.yml ├── .gitignore ├── .vscode └── settings.json ├── CHANGELOG.md ├── LICENSE ├── README.md ├── SECURITY.md ├── assets ├── icon.png ├── icon.svg ├── screenshot.png └── thumbnail.png ├── capabilities.json ├── karma.conf.ts ├── package-lock.json ├── package.json ├── pbiviz.json ├── reportAssets ├── Personal.png └── Shared.png ├── src ├── behavior.ts ├── columns.ts ├── dataInterfaces.ts ├── settings.ts ├── telemetry.ts ├── tooltipsFactory.ts └── visual.ts ├── stringResources ├── ar-SA │ └── resources.resjson ├── bg-BG │ └── resources.resjson ├── ca-ES │ └── resources.resjson ├── cs-CZ │ └── resources.resjson ├── da-DK │ └── resources.resjson ├── de-DE │ └── resources.resjson ├── el-GR │ └── resources.resjson ├── en-US │ └── resources.resjson ├── es-ES │ └── resources.resjson ├── et-EE │ └── resources.resjson ├── eu-ES │ └── resources.resjson ├── fi-FI │ └── resources.resjson ├── fr-FR │ └── resources.resjson ├── gl-ES │ └── resources.resjson ├── he-IL │ └── resources.resjson ├── hi-IN │ └── resources.resjson ├── hr-HR │ └── resources.resjson ├── hu-HU │ └── resources.resjson ├── id-ID │ └── resources.resjson ├── it-IT │ └── resources.resjson ├── ja-JP │ └── resources.resjson ├── kk-KZ │ └── resources.resjson ├── ko-KR │ └── resources.resjson ├── lt-LT │ └── resources.resjson ├── lv-LV │ └── resources.resjson ├── ms-MY │ └── resources.resjson ├── nb-NO │ └── resources.resjson ├── nl-NL │ └── resources.resjson ├── pl-PL │ └── resources.resjson ├── pt-BR │ └── resources.resjson ├── pt-PT │ └── resources.resjson ├── ro-RO │ └── resources.resjson ├── ru-RU │ └── resources.resjson ├── sk-SK │ └── resources.resjson ├── sl-SI │ └── resources.resjson ├── sr-Cyrl-RS │ └── resources.resjson ├── sr-Latn-RS │ └── resources.resjson ├── sv-SE │ └── resources.resjson ├── th-TH │ └── resources.resjson ├── tr-TR │ └── resources.resjson ├── uk-UA │ └── resources.resjson ├── vi-VN │ └── resources.resjson ├── zh-CN │ └── resources.resjson └── zh-TW │ └── resources.resjson ├── style └── visual.less ├── test.tsconfig.json ├── test.webpack.config.js ├── test ├── helpers │ └── helpers.ts ├── visualBuilder.ts ├── visualData.ts └── visualTest.ts └── tsconfig.json /.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | coverage 4 | test 5 | .eslintrc.js 6 | karma.conf.ts 7 | test.webpack.config.js 8 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | env: { 3 | "browser": true, 4 | "es6": true, 5 | "es2017": true 6 | }, 7 | root: true, 8 | parser: "@typescript-eslint/parser", 9 | parserOptions: { 10 | project: "tsconfig.json", 11 | tsconfigRootDir: ".", 12 | }, 13 | plugins: [ 14 | "powerbi-visuals" 15 | ], 16 | extends: [ 17 | "plugin:powerbi-visuals/recommended" 18 | ], 19 | rules: {} 20 | }; 21 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | # This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node 2 | # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions 3 | 4 | name: build 5 | 6 | on: 7 | push: 8 | branches: [ main, dev, certification] 9 | pull_request: 10 | branches: [ main, dev, certification ] 11 | 12 | jobs: 13 | build: 14 | runs-on: ubuntu-22.04 15 | strategy: 16 | matrix: 17 | node-version: [18.x, 20.x] 18 | 19 | steps: 20 | - uses: actions/checkout@v2 21 | - name: Use Node.js ${{ matrix.node-version }} 22 | uses: actions/setup-node@v1 23 | with: 24 | node-version: ${{ matrix.node-version }} 25 | - run: npm audit 26 | continue-on-error: true 27 | - run: npm outdated 28 | continue-on-error: true 29 | - run: npm ci 30 | - run: npm run eslint --if-present 31 | - run: npm run lint --if-present 32 | - run: npm run package 33 | - run: npm test 34 | env: 35 | CI: true 36 | 37 | -------------------------------------------------------------------------------- /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- 1 | name: "CodeQL" 2 | 3 | on: 4 | push: 5 | branches: [main, dev, certification] 6 | pull_request: 7 | branches: [main, dev, certification] 8 | schedule: 9 | - cron: '0 0 * * 3' 10 | 11 | jobs: 12 | analyze: 13 | name: Analyze 14 | runs-on: ubuntu-latest 15 | timeout-minutes: 60 16 | permissions: 17 | actions: read 18 | contents: read 19 | security-events: write 20 | 21 | strategy: 22 | fail-fast: false 23 | matrix: 24 | language: ['typescript'] 25 | 26 | steps: 27 | - name: Checkout repository 28 | uses: actions/checkout@v4 29 | with: 30 | fetch-depth: 2 31 | 32 | - name: Use Node.js 18 33 | uses: actions/setup-node@v2 34 | with: 35 | node-version: 18.x 36 | 37 | - name: Install Dependencies 38 | run: npm ci 39 | 40 | - name: Initialize CodeQL 41 | uses: github/codeql-action/init@v3 42 | with: 43 | languages: ${{ matrix.language }} 44 | 45 | - name: Autobuild 46 | uses: github/codeql-action/autobuild@v3 47 | 48 | - name: Perform CodeQL Analysis 49 | uses: github/codeql-action/analyze@v3 50 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store 3 | .tmp 4 | dist 5 | typings 6 | .api 7 | *.log 8 | /coverage 9 | /reportAssets 10 | 11 | .idea/* 12 | 13 | webpack.statistics.*.html -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.tabSize": 4, 3 | "editor.insertSpaces": true, 4 | "files.eol": "\n", 5 | "files.watcherExclude": { 6 | "coverage": true, 7 | "**/.git/objects/**": true, 8 | "**/node_modules/**": true, 9 | ".tmp": true, 10 | "dist": true 11 | }, 12 | "files.exclude": { 13 | "dist": true, 14 | "coverage": true, 15 | ".tmp": true 16 | }, 17 | "search.exclude": { 18 | "dist": true, 19 | "coverage": true, 20 | ".tmp": true, 21 | "typings": true 22 | }, 23 | "json.schemas": [ 24 | { 25 | "fileMatch": [ 26 | "/pbiviz.json" 27 | ], 28 | "url": "./.api/v2.1.0/schema.pbiviz.json" 29 | }, 30 | { 31 | "fileMatch": [ 32 | "/capabilities.json" 33 | ], 34 | "url": "./.api/v2.1.0/schema.capabilities.json" 35 | } 36 | ] 37 | } -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 3.0.2.0 2 | 3 | ### Fixes 4 | * Fixed default animation value to true 5 | * Fixed stopPropagation on click event 6 | 7 | ## 3.0.1.0 8 | * Updated selection logic 9 | * Added report page tooltip 10 | * Updated dependencies 11 | 12 | ## 3.0.0.0 13 | * Updated powerbi-visuals-api to 5.10.0 14 | * Updated dependencies and fixed vulnerabilities 15 | * Added keyboard navigation and selection behavior 16 | * Migrated to formatting model 17 | * Added new settings to formatting pane 18 | 19 | ## 2.0.2 20 | * UPD: powerbi-visuals-tools has been updated to 3.0.9 to add IE11 support 21 | * UPD: API has been updated to 2.3.0 to add IE11 support 22 | * UPD: powerbi-visuals-api has been updated to 2.3.1 to add IE11 support 23 | * @babel/polyfill has been used as powerbi-visuals-tools@3.0.9 requirement 24 | 25 | ## 2.0.1 26 | * Updared dependencies 27 | * Azure Pipelines integration 28 | 29 | ## 2.0.0 30 | * API 2.1.0 31 | * Webpack integration 32 | 33 | ## 1.9.0 34 | * High contrast mode 35 | * API 1.13.0 36 | 37 | ## 1.8.1 38 | * Fix displaying of numbers in tooltip 39 | 40 | ## 1.8.0 41 | * Added restriction for animation and dragging because of performance issue (limit is 200 nodes) 42 | 43 | ## 1.7.0 44 | * Added localization for all supported languages 45 | 46 | ## 1.6.1 47 | * UPD: the nodes rendering algorithm (alpha) was changed to optimal algorithm (theta) 48 | 49 | ## 1.6.0 50 | * Added support for edges with same source and target 51 | 52 | ## 1.5.0 53 | * Added drill-down support 54 | 55 | ## 1.4.0 56 | * Updated dependencies 57 | * Updated API version 58 | 59 | ## 1.3.8 60 | * New property "Intersection" in "Data labels" option of "Format" panel to hide overlaped labels in visual. 61 | * New option "Bound by box" in "Format" panel to configure the behavior of nodes near a border of visual. -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Power BI Visualizations 2 | 3 | Copyright (c) Microsoft Corporation 4 | 5 | All rights reserved. 6 | 7 | MIT License 8 | 9 | Permission is hereby granted, free of charge, to any person obtaining a copy 10 | of this software and associated documentation files (the "Software"), to deal 11 | in the Software without restriction, including without limitation the rights 12 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 13 | copies of the Software, and to permit persons to whom the Software is 14 | furnished to do so, subject to the following conditions: 15 | 16 | The above copyright notice and this permission notice shall be included in all 17 | copies or substantial portions of the Software. 18 | 19 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 20 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 21 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 22 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 23 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 24 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 25 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # PowerBI-visuals-ForceGraph 2 | [![Build Status](https://github.com/microsoft/PowerBI-visuals-ForceGraph/actions/workflows/build.yml/badge.svg?branch=main)](https://github.com/microsoft/PowerBI-visuals-ForceGraph/actions/workflows/build.yml) 3 | 4 | > The new version of Force Graph based on the new DevTools/API 5 | 6 | ![ForceGraph chart screenshot](assets/screenshot.png) 7 | # Overview 8 | 9 | The ability to visualize the relationship between items, the weightage of the relationship and the flow often brings out the untold insights into limelight, which are otherwise not very evident. Simple numbers and basic charts won’t be enough to discover and tell such data stories. We need new visualization techniques for the complex world of relationship and Force-Directed Graph thrives to the forefront for such scenarios. 10 | 11 | This custom visual implements a D3 force layout diagram with curved paths. The thickness of the path represents the weight of the relationship between the nodes. 12 | 13 | Since the relationship and interconnection between large set of entities could be very complex, the visual positions the nodes in such a way that there are few crossings as possible, making the exploration experience easy, fun. The visual also produces the layout which is overall pleasing to the eyes for large data sets. Users can also adjust the layout manually by simply dragging the nodes around. 14 | 15 | Ideally you would need two dimensions and one measure (for the weightage) to use with this visual. But this also works just with a single column. 16 | 17 | See also [Force-Directed Graph at Microsoft Office store](https://store.office.com/en-us/app.aspx?assetid=WA104380764&sourcecorrid=77983508-5303-4ec4-9df1-2859e60e896c&searchapppos=0&ui=en-US&rs=en-US&ad=US&appredirect=false) 18 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Security 4 | 5 | Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/). 6 | 7 | If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/opensource/security/definition), please report it to us as described below. 8 | 9 | ## Reporting Security Issues 10 | 11 | **Please do not report security vulnerabilities through public GitHub issues.** 12 | 13 | Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/opensource/security/create-report). 14 | 15 | If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/opensource/security/pgpkey). 16 | 17 | You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://aka.ms/opensource/security/msrc). 18 | 19 | Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: 20 | 21 | * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) 22 | * Full paths of source file(s) related to the manifestation of the issue 23 | * The location of the affected source code (tag/branch/commit or direct URL) 24 | * Any special configuration required to reproduce the issue 25 | * Step-by-step instructions to reproduce the issue 26 | * Proof-of-concept or exploit code (if possible) 27 | * Impact of the issue, including how an attacker might exploit the issue 28 | 29 | This information will help us triage your report more quickly. 30 | 31 | If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/opensource/security/bounty) page for more details about our active programs. 32 | 33 | ## Preferred Languages 34 | 35 | We prefer all communications to be in English. 36 | 37 | ## Policy 38 | 39 | Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/opensource/security/cvd). 40 | 41 | 42 | -------------------------------------------------------------------------------- /assets/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/PowerBI-visuals-ForceGraph/94596819446eb4a122eff341a8e51a574b1c6222/assets/icon.png -------------------------------------------------------------------------------- /assets/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 8 | 10 | 12 | 16 | 20 | 23 | 26 | 29 | 32 | 33 | -------------------------------------------------------------------------------- /assets/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/PowerBI-visuals-ForceGraph/94596819446eb4a122eff341a8e51a574b1c6222/assets/screenshot.png -------------------------------------------------------------------------------- /assets/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/PowerBI-visuals-ForceGraph/94596819446eb4a122eff341a8e51a574b1c6222/assets/thumbnail.png -------------------------------------------------------------------------------- /capabilities.json: -------------------------------------------------------------------------------- 1 | { 2 | "privileges": [ 3 | { 4 | "name": "WebAccess", 5 | "essential": true, 6 | "parameters": ["https://*"] 7 | } 8 | ], 9 | "dataRoles": [ 10 | { 11 | "displayNameKey": "Visual_Source", 12 | "name": "Source", 13 | "kind": "Grouping", 14 | "displayName": "Source" 15 | }, 16 | { 17 | "displayNameKey": "Visual_Target", 18 | "name": "Target", 19 | "kind": "Grouping", 20 | "displayName": "Target" 21 | }, 22 | { 23 | "displayNameKey": "Visual_Weight", 24 | "name": "Weight", 25 | "kind": "Measure", 26 | "displayName": "Weight" 27 | }, 28 | { 29 | "displayNameKey": "Visual_LinkType", 30 | "name": "LinkType", 31 | "kind": "Grouping", 32 | "displayName": "Link Type" 33 | }, 34 | { 35 | "displayNameKey": "Visual_SourceType", 36 | "name": "SourceType", 37 | "kind": "Grouping", 38 | "displayName": "Source Type" 39 | }, 40 | { 41 | "displayNameKey": "Visual_TargetType", 42 | "name": "TargetType", 43 | "kind": "Grouping", 44 | "displayName": "Target Type" 45 | } 46 | ], 47 | "drilldown": { 48 | "roles": [ 49 | "Source", 50 | "Target" 51 | ] 52 | }, 53 | "dataViewMappings": [ 54 | { 55 | "conditions": [ 56 | { 57 | "Source": { 58 | "max": 1 59 | }, 60 | "Target": { 61 | "max": 1 62 | }, 63 | "Weight": { 64 | "max": 1 65 | }, 66 | "LinkType": { 67 | "max": 1 68 | }, 69 | "SourceType": { 70 | "max": 1 71 | }, 72 | "TargetType": { 73 | "max": 1 74 | } 75 | } 76 | ], 77 | "categorical": { 78 | "categories": { 79 | "select": [ 80 | { 81 | "for": { 82 | "in": "Source" 83 | } 84 | }, 85 | { 86 | "for": { 87 | "in": "Target" 88 | } 89 | }, 90 | { 91 | "for": { 92 | "in": "LinkType" 93 | } 94 | }, 95 | { 96 | "for": { 97 | "in": "SourceType" 98 | } 99 | }, 100 | { 101 | "for": { 102 | "in": "TargetType" 103 | } 104 | } 105 | ], 106 | "dataReductionAlgorithm": { 107 | "top": { 108 | "count": 2000 109 | } 110 | } 111 | }, 112 | "values": { 113 | "select": [ 114 | { 115 | "bind": { 116 | "to": "Weight" 117 | } 118 | } 119 | ] 120 | } 121 | } 122 | } 123 | ], 124 | "objects": { 125 | "animation": { 126 | "properties": { 127 | "show": { 128 | "type": { 129 | "bool": true 130 | } 131 | } 132 | } 133 | }, 134 | "labels": { 135 | "properties": { 136 | "show": { 137 | "type": { 138 | "bool": true 139 | } 140 | }, 141 | "color": { 142 | "type": { 143 | "fill": { 144 | "solid": { 145 | "color": true 146 | } 147 | } 148 | } 149 | }, 150 | "fontSize": { 151 | "type": { 152 | "formatting": { 153 | "fontSize": true 154 | } 155 | } 156 | }, 157 | "fontFamily": { 158 | "type": { 159 | "formatting": { 160 | "fontFamily": true 161 | } 162 | } 163 | }, 164 | "fontBold": { 165 | "type": { 166 | "bool": true 167 | } 168 | }, 169 | "fontUnderline": { 170 | "type": { 171 | "bool": true 172 | } 173 | }, 174 | "fontItalic": { 175 | "type": { 176 | "bool": true 177 | } 178 | }, 179 | "allowIntersection": { 180 | "type": { 181 | "bool": true 182 | } 183 | } 184 | } 185 | }, 186 | "links": { 187 | "properties": { 188 | "showArrow": { 189 | "type": { 190 | "bool": true 191 | } 192 | }, 193 | "showLabel": { 194 | "type": { 195 | "bool": true 196 | } 197 | }, 198 | "colorLink": { 199 | "type": { 200 | "enumeration": [] 201 | } 202 | }, 203 | "thickenLink": { 204 | "type": { 205 | "bool": true 206 | } 207 | }, 208 | "displayUnits": { 209 | "type": { 210 | "formatting": { 211 | "labelDisplayUnits": true 212 | } 213 | } 214 | }, 215 | "decimalPlaces": { 216 | "placeHolderText": "Auto", 217 | "type": { 218 | "numeric": true 219 | } 220 | }, 221 | "fontSize": { 222 | "type": { 223 | "formatting": { 224 | "fontSize": true 225 | } 226 | } 227 | }, 228 | "fontFamily": { 229 | "type": { 230 | "formatting": { 231 | "fontFamily": true 232 | } 233 | } 234 | }, 235 | "fontBold": { 236 | "type": { 237 | "bool": true 238 | } 239 | }, 240 | "fontUnderline": { 241 | "type": { 242 | "bool": true 243 | } 244 | }, 245 | "fontItalic": { 246 | "type": { 247 | "bool": true 248 | } 249 | }, 250 | "color": { 251 | "type": { 252 | "fill": { 253 | "solid": { 254 | "color": true 255 | } 256 | } 257 | } 258 | } 259 | } 260 | }, 261 | "nodes": { 262 | "properties": { 263 | "displayImage": { 264 | "type": { 265 | "bool": true 266 | } 267 | }, 268 | "defaultImage": { 269 | "type": { 270 | "text": true 271 | } 272 | }, 273 | "imageUrl": { 274 | "type": { 275 | "text": true 276 | } 277 | }, 278 | "imageExt": { 279 | "type": { 280 | "text": true 281 | } 282 | }, 283 | "nameMaxLength": { 284 | "type": { 285 | "numeric": true 286 | } 287 | }, 288 | "highlightReachableLinks": { 289 | "type": { 290 | "bool": true 291 | } 292 | }, 293 | "color": { 294 | "type": { 295 | "fill": { 296 | "solid": { 297 | "color": true 298 | } 299 | } 300 | } 301 | }, 302 | "strokeColor": { 303 | "type": { 304 | "fill": { 305 | "solid": { 306 | "color": true 307 | } 308 | } 309 | } 310 | } 311 | } 312 | }, 313 | "size": { 314 | "properties": { 315 | "charge": { 316 | "type": { 317 | "numeric": true 318 | } 319 | }, 320 | "boundedByBox": { 321 | "type": { 322 | "bool": true 323 | } 324 | } 325 | } 326 | } 327 | }, 328 | "supportsKeyboardFocus": true, 329 | "tooltips": { 330 | "supportedTypes": { 331 | "default": true, 332 | "canvas": true 333 | }, 334 | "roles": [ 335 | "tooltips" 336 | ] 337 | } 338 | } -------------------------------------------------------------------------------- /karma.conf.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Power BI Visualizations 3 | * 4 | * Copyright (c) Microsoft Corporation 5 | * All rights reserved. 6 | * MIT License 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the ""Software""), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in 16 | * all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | * THE SOFTWARE. 25 | */ 26 | 27 | "use strict"; 28 | 29 | const webpackConfig = require("./test.webpack.config.js"); 30 | const tsconfig = require("./test.tsconfig.json"); 31 | const path = require('path'); 32 | 33 | const testRecursivePath = "test/visualTest.ts"; 34 | const srcOriginalRecursivePath = "src/**/*.ts"; 35 | const coverageFolder = "coverage"; 36 | 37 | process.env.CHROME_BIN = require("playwright-chromium").chromium.executablePath(); 38 | 39 | module.exports = (config) => { 40 | config.set({ 41 | browserNoActivityTimeout: 100000, 42 | browsers: ["ChromeHeadless"], 43 | singleRun: true, 44 | colors: true, 45 | frameworks: ["jasmine"], 46 | reporters: [ 47 | "progress", 48 | "junit", 49 | "coverage-istanbul" 50 | ], 51 | junitReporter: { 52 | outputDir: path.join(__dirname, coverageFolder), 53 | outputFile: "TESTS-report.xml", 54 | useBrowserName: false 55 | }, 56 | coverageReporter: { 57 | dir: path.join(__dirname, coverageFolder), 58 | reporters: [ 59 | // reporters not supporting the `file` property 60 | { type: 'html', subdir: 'html-report' }, 61 | { type: 'lcov', subdir: 'lcov' }, 62 | // reporters supporting the `file` property, use `subdir` to directly 63 | // output them in the `dir` directory 64 | { type: 'cobertura', subdir: '.', file: 'cobertura-coverage.xml' }, 65 | { type: 'lcovonly', subdir: '.', file: 'report-lcovonly.txt' }, 66 | { type: 'text-summary', subdir: '.', file: 'text-summary.txt' }, 67 | ] 68 | }, 69 | coverageIstanbulReporter: { 70 | reports: ["html", "lcovonly", "text-summary", "cobertura"], 71 | dir: path.join(__dirname, coverageFolder), 72 | 'report-config': { 73 | html: { 74 | subdir: 'html-report' 75 | } 76 | }, 77 | combineBrowserReports: true, 78 | fixWebpackSourcePaths: true, 79 | verbose: false 80 | }, 81 | plugins: [ 82 | "karma-coverage", 83 | "karma-typescript", 84 | "karma-webpack", 85 | "karma-jasmine", 86 | "karma-sourcemap-loader", 87 | "karma-chrome-launcher", 88 | "karma-junit-reporter", 89 | "karma-coverage-istanbul-reporter" 90 | ], 91 | files: [ 92 | testRecursivePath, 93 | { 94 | pattern: srcOriginalRecursivePath, 95 | included: false, 96 | served: true 97 | }, 98 | { 99 | pattern: './capabilities.json', 100 | watched: false, 101 | served: true, 102 | included: false 103 | } 104 | ], 105 | preprocessors: { 106 | [testRecursivePath]: ["webpack", "coverage"] 107 | }, 108 | typescriptPreprocessor: { 109 | options: tsconfig.compilerOptions 110 | }, 111 | mime: { 112 | "text/x-typescript": ["ts", "tsx"] 113 | }, 114 | webpack: webpackConfig, 115 | webpackMiddleware: { 116 | stats: "errors-only" 117 | } 118 | }); 119 | }; 120 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "powerbi-visuals-forcegraph", 3 | "version": "3.0.2.0", 4 | "description": "This custom visual implements a D3 force layout diagram with curved path. The thickness of the path also represents the weight of the relationship between the nodes.", 5 | "repository": { 6 | "type": "git", 7 | "url": "git+https://github.com/Microsoft/PowerBI-visuals-ForceGraph.git" 8 | }, 9 | "keywords": [ 10 | "powerbi-visuals" 11 | ], 12 | "scripts": { 13 | "pbiviz": "pbiviz", 14 | "start": "pbiviz start", 15 | "package": "pbiviz package", 16 | "lint": "npx eslint . --ext .js,.jsx,.ts,.tsx", 17 | "pretest": "pbiviz package --resources --no-minify --no-pbiviz", 18 | "test": "karma start", 19 | "cert": "pbiviz --create-cert" 20 | }, 21 | "author": { 22 | "name": "Microsoft", 23 | "email": "pbicvsupport@microsoft.com" 24 | }, 25 | "license": "MIT", 26 | "bugs": { 27 | "url": "https://github.com/Microsoft/PowerBI-visuals-ForceGraph/issues" 28 | }, 29 | "homepage": "https://github.com/Microsoft/PowerBI-visuals-ForceGraph#readme", 30 | "dependencies": { 31 | "@typescript-eslint/eslint-plugin": "^7.13.1", 32 | "@typescript-eslint/parser": "^7.13.1", 33 | "d3": "7.9.0", 34 | "d3-drag": "^3.0.0", 35 | "d3-force": "^3.0.0", 36 | "d3-scale": "^4.0.2", 37 | "d3-selection": "^3.0.0", 38 | "eslint": "^8.57.0", 39 | "eslint-plugin-powerbi-visuals": "^0.8.1", 40 | "lodash.isempty": "^4.4.0", 41 | "lodash.mapvalues": "^4.6.0", 42 | "powerbi-visuals-utils-chartutils": "7.0.0", 43 | "powerbi-visuals-utils-colorutils": "6.0.5", 44 | "powerbi-visuals-utils-dataviewutils": "6.1.0", 45 | "powerbi-visuals-utils-formattingmodel": "^6.0.4", 46 | "powerbi-visuals-utils-formattingutils": "6.1.2", 47 | "powerbi-visuals-utils-svgutils": "6.0.4", 48 | "powerbi-visuals-utils-tooltiputils": "6.0.4", 49 | "powerbi-visuals-utils-typeutils": "6.0.3" 50 | }, 51 | "devDependencies": { 52 | "@types/d3": "7.4.3", 53 | "@types/d3-drag": "^3.0.7", 54 | "@types/d3-force": "^3.0.10", 55 | "@types/d3-scale": "^4.0.8", 56 | "@types/d3-selection": "^3.0.11", 57 | "@types/jasmine": "5.1.5", 58 | "@types/karma": "^6.3.9", 59 | "@types/webpack": "^5.28.5", 60 | "coverage-istanbul-loader": "^3.0.5", 61 | "css-loader": "^7.1.2", 62 | "jasmine": "5.4.0", 63 | "karma": "^6.4.4", 64 | "karma-chrome-launcher": "^3.2.0", 65 | "karma-coverage": "^2.2.1", 66 | "karma-coverage-istanbul-reporter": "^3.0.3", 67 | "karma-jasmine": "^5.1.0", 68 | "karma-junit-reporter": "^2.0.1", 69 | "karma-sourcemap-loader": "^0.4.0", 70 | "karma-typescript": "^5.5.4", 71 | "karma-typescript-preprocessor": "0.4.0", 72 | "karma-webpack": "^5.0.1", 73 | "less": "4.2.1", 74 | "less-loader": "^12.2.0", 75 | "lodash": "^4.17.21", 76 | "playwright-chromium": "^1.49.0", 77 | "powerbi-visuals-api": "~5.10.0", 78 | "powerbi-visuals-tools": "^5.6.0", 79 | "powerbi-visuals-utils-testutils": "6.1.1", 80 | "style-loader": "^4.0.0", 81 | "ts-loader": "9.5.1", 82 | "typescript": "^4.9.5", 83 | "webpack": "^5.96.1" 84 | } 85 | } 86 | -------------------------------------------------------------------------------- /pbiviz.json: -------------------------------------------------------------------------------- 1 | { 2 | "visual": { 3 | "name": "forceGraph", 4 | "displayName": "Force-Directed Graph 3.0.2.0", 5 | "guid": "ForceGraph1449359463895", 6 | "visualClassName": "ForceGraph", 7 | "version": "3.0.2.0", 8 | "description": "This custom visual implements a D3 force layout diagram with curved path. The thickness of the path also represents the weight of the relationship between the nodes.", 9 | "supportUrl": "https://community.powerbi.com", 10 | "gitHubUrl": "https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 11 | }, 12 | "apiVersion": "5.10.0", 13 | "author": { 14 | "name": "Microsoft", 15 | "email": "pbicvsupport@microsoft.com" 16 | }, 17 | "assets": { 18 | "icon": "assets/icon.png" 19 | }, 20 | "externalJS": [], 21 | "capabilities": "capabilities.json" 22 | } -------------------------------------------------------------------------------- /reportAssets/Personal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/PowerBI-visuals-ForceGraph/94596819446eb4a122eff341a8e51a574b1c6222/reportAssets/Personal.png -------------------------------------------------------------------------------- /reportAssets/Shared.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/PowerBI-visuals-ForceGraph/94596819446eb4a122eff341a8e51a574b1c6222/reportAssets/Shared.png -------------------------------------------------------------------------------- /src/behavior.ts: -------------------------------------------------------------------------------- 1 | import powerbi from "powerbi-visuals-api"; 2 | import ISelectionManager = powerbi.extensibility.ISelectionManager; 3 | import ISelectionId = powerbi.visuals.ISelectionId; 4 | 5 | import { Selection as d3Selection } from "d3-selection"; 6 | type Selection = d3Selection; 7 | 8 | import { ForceGraphNode, ForceGraphLink, ForceGraphBehaviorOptions, ISelectableDataPoint } from "./dataInterfaces"; 9 | 10 | export class ForceGraphBehavior { 11 | static DimmedOpacity: number = 0.4; 12 | static HoverOpacity: number = 0.4; 13 | static DefaultOpacity: number = 1.0; 14 | static DefaultLinkHighlightColor: string = "#f00"; 15 | static DefaultLinkColor: string = "#bbb"; 16 | 17 | private selectionManager: ISelectionManager; 18 | private nodeDataPoints: ForceGraphNode[]; 19 | private nodesSelection: Selection; 20 | private nodeLabelsSelection: Selection; 21 | private linkDataPoints: ForceGraphLink[]; 22 | private linksSelection: Selection; 23 | private clearCatcher: Selection; 24 | 25 | private fadeNode: (node: ForceGraphNode) => void; 26 | 27 | constructor (selectionManager: ISelectionManager){ 28 | this.selectionManager = selectionManager; 29 | this.selectionManager.registerOnSelectCallback(this.onSelectCallback.bind(this)); 30 | } 31 | 32 | private onSelectCallback(selectionIds?: ISelectionId[]){ 33 | this.applySelectionStateToData(selectionIds); 34 | this.renderSelection(); 35 | } 36 | 37 | private applySelectionStateToData(newSelectionIds?: ISelectionId[]): void{ 38 | const selectionIds: ISelectionId[] = newSelectionIds ?? this.selectionManager.getSelectionIds(); 39 | this.setSelectedToDataPoints(this.nodeDataPoints, selectionIds); 40 | this.setSelectedToDataPoints(this.linkDataPoints, selectionIds); 41 | } 42 | 43 | private setSelectedToDataPoints(dataPoints: ForceGraphNode[] | ForceGraphLink[], ids: ISelectionId[]): void{ 44 | dataPoints.forEach((dataPoint: ForceGraphNode | ForceGraphLink) => { 45 | dataPoint.selected = ids.some((id=> id.equals(dataPoint.identity))); 46 | }); 47 | } 48 | 49 | public bindEvents(options: ForceGraphBehaviorOptions, fadeNode: (node: ForceGraphNode) => void): void { 50 | this.linkDataPoints = options.links.data(); 51 | this.linksSelection = options.links; 52 | this.nodeDataPoints = options.nodes.data(); 53 | this.nodesSelection = options.nodes; 54 | this.nodeLabelsSelection = options.nodes.select(".nodelabel"); 55 | this.clearCatcher = options.clearCatcher; 56 | this.fadeNode = fadeNode; 57 | 58 | this.bindContextMenuEvent(this.nodesSelection); 59 | this.bindContextMenuEvent(this.linksSelection); 60 | this.bindContextMenuEvent(this.clearCatcher); 61 | 62 | this.bindClickEvent(this.nodesSelection); 63 | this.bindClickEvent(this.clearCatcher); 64 | 65 | this.bindMouseEvents(this.nodesSelection); 66 | this.bindKeyboardEvent(this.nodesSelection); 67 | 68 | this.applySelectionStateToData(); 69 | } 70 | 71 | private bindContextMenuEvent(elements: Selection): void { 72 | elements.on("contextmenu", (event: PointerEvent, dataPoint: ForceGraphNode | undefined) => { 73 | this.selectionManager.showContextMenu(dataPoint ? dataPoint.identity : {}, 74 | { 75 | x: event.clientX, 76 | y: event.clientY 77 | } 78 | ); 79 | event.preventDefault(); 80 | event.stopPropagation(); 81 | }) 82 | } 83 | 84 | private bindClickEvent(elements: Selection): void { 85 | elements.on("click", (event: PointerEvent, node: ForceGraphNode | undefined) => { 86 | if (node){ 87 | this.handleSelection(node, event); 88 | event.stopPropagation(); 89 | } 90 | else { 91 | this.selectionManager.clear(); 92 | } 93 | 94 | this.onSelectCallback(); 95 | }); 96 | } 97 | 98 | private handleSelection(node: ForceGraphNode, event: PointerEvent | KeyboardEvent): void { 99 | const isMultiSelection: boolean = event.ctrlKey || event.metaKey || event.shiftKey; 100 | 101 | const getSelectionIds: (dataPoints: ISelectableDataPoint[]) => ISelectionId[] = dataPoints => dataPoints.map((dataPoint: ISelectableDataPoint) => dataPoint.identity); 102 | const nodeSelectableDataPoints: ISelectableDataPoint[] = [...node.links, node]; 103 | const nodeSelectionIds: ISelectionId[] = getSelectionIds(nodeSelectableDataPoints); 104 | 105 | const notSelectedDataPoints: ISelectableDataPoint[] = nodeSelectableDataPoints.filter((dataPoint: ISelectableDataPoint) => !dataPoint.selected); 106 | const notSelectedIds: ISelectionId[] = getSelectionIds(notSelectedDataPoints); 107 | const isSelection: boolean = !!notSelectedIds.length; 108 | 109 | const selectedIds: ISelectionId[] = this.selectionManager.getSelectionIds(); 110 | const selectionManagerHasUniqIds: boolean = selectedIds.some(selectedId => !nodeSelectionIds.some(selectionId => selectionId.equals(selectedId))); 111 | 112 | if (isSelection && isMultiSelection){ 113 | this.selectionManager.select(notSelectedIds, true); 114 | } 115 | else { 116 | const shouldUseMultiselect: boolean = (isMultiSelection || !selectionManagerHasUniqIds) && !isSelection; 117 | this.selectionManager.select(nodeSelectionIds, shouldUseMultiselect); 118 | } 119 | } 120 | 121 | private bindKeyboardEvent(elements: Selection): void { 122 | elements.on("keydown", (event : KeyboardEvent, node: ForceGraphNode) => { 123 | if (event.code !== "Enter" && event.code !== "Space") { 124 | return; 125 | } 126 | 127 | this.handleSelection(node, event); 128 | this.onSelectCallback(); 129 | 130 | event.stopPropagation(); 131 | }); 132 | } 133 | 134 | private bindMouseEvents(elements: Selection): void { 135 | elements 136 | .on("mouseover", (event: PointerEvent, node: ForceGraphNode) => { 137 | node.isOver = true; 138 | this.fadeNode(node); 139 | }) 140 | .on("mouseout", (event: PointerEvent, node: ForceGraphNode) => { 141 | node.isOver = false; 142 | this.fadeNode(node); 143 | this.renderSelection(); 144 | }); 145 | } 146 | 147 | public renderSelection(){ 148 | const dataPointHasSelection: boolean = this.nodeDataPoints.some((dataPoint: ForceGraphNode) => dataPoint.selected); 149 | 150 | this.nodesSelection.attr("aria-selected", (node: ForceGraphNode) => node.selected); 151 | this.nodesSelection.style("fill-opacity", (dataPoint: ForceGraphNode) => this.getOpacity(dataPoint.selected || dataPoint.links.some(link => link.selected), dataPointHasSelection)); 152 | this.nodesSelection.style("stroke-opacity", (dataPoint: ForceGraphNode) => this.getOpacity(dataPoint.selected, dataPointHasSelection)); 153 | 154 | this.linksSelection.style("stroke-opacity", (dataPoint: ForceGraphLink) => this.getOpacity(dataPoint.selected, dataPointHasSelection)); 155 | 156 | this.nodeLabelsSelection.classed("selected", (dataPoint: ForceGraphNode) => dataPoint.selected && dataPointHasSelection); 157 | } 158 | 159 | private getOpacity(selected: boolean, hasSelection: boolean): number { 160 | if (hasSelection && !selected) { 161 | return ForceGraphBehavior.DimmedOpacity; 162 | } 163 | return ForceGraphBehavior.DefaultOpacity; 164 | } 165 | } -------------------------------------------------------------------------------- /src/columns.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Power BI Visualizations 3 | * 4 | * Copyright (c) Microsoft Corporation 5 | * All rights reserved. 6 | * MIT License 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the ""Software""), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in 16 | * all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | * THE SOFTWARE. 25 | */ 26 | 27 | import powerbi from "powerbi-visuals-api"; 28 | import mapValues from "lodash.mapvalues"; 29 | import isEmpty from "lodash.isempty"; 30 | 31 | import DataView = powerbi.DataView; 32 | import DataViewMetadataColumn = powerbi.DataViewMetadataColumn; 33 | import DataViewCategorical = powerbi.DataViewCategorical; 34 | import DataViewCategoryColumn = powerbi.DataViewCategoryColumn; 35 | import DataViewValueColumn = powerbi.DataViewValueColumn; 36 | import DataViewValueColumns = powerbi.DataViewValueColumns; 37 | 38 | export class ForceGraphColumns { 39 | public static getMetadataColumns(dataView: DataView): ForceGraphColumns { 40 | const columns: DataViewMetadataColumn[] = dataView && dataView.metadata && dataView.metadata.columns; 41 | 42 | return columns && mapValues( 43 | new ForceGraphColumns(), 44 | (n, i) => columns.filter(x => x.roles && x.roles[i])[0]); 45 | } 46 | 47 | public static getCategoricalColumns(dataView: DataView) { 48 | const categorical: DataViewCategorical = dataView && dataView.categorical; 49 | const categories: DataViewCategoryColumn[] = categorical && categorical.categories || []; 50 | const values: DataViewValueColumns = categorical && categorical.values || []; 51 | 52 | return categorical && mapValues( 53 | new this(), 54 | (n, i) => { 55 | let result: any = categories.filter(x => x.source.roles && x.source.roles[i])[0]; 56 | 57 | if (!result) { 58 | result = values.source && values.source.roles && values.source.roles[i] && values; 59 | } 60 | 61 | if (!result) { 62 | result = values.filter(x => x.source.roles && x.source.roles[i]); 63 | if (isEmpty(result)) { 64 | result = undefined; 65 | } 66 | } 67 | 68 | return result; 69 | }); 70 | } 71 | 72 | public Source: T = null; 73 | public Target: T = null; 74 | public Weight: T = null; 75 | public LinkType: T = null; 76 | public SourceType: T = null; 77 | public TargetType: T = null; 78 | } 79 | -------------------------------------------------------------------------------- /src/dataInterfaces.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Power BI Visualizations 3 | * 4 | * Copyright (c) Microsoft Corporation 5 | * All rights reserved. 6 | * MIT License 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the ""Software""), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in 16 | * all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | * THE SOFTWARE. 25 | */ 26 | 27 | import { SimulationNodeDatum as Node } from "d3-force"; 28 | import powerbi from "powerbi-visuals-api"; 29 | import ISelectionId = powerbi.visuals.ISelectionId; 30 | 31 | import { TooltipEnabledDataPoint } from "powerbi-visuals-utils-tooltiputils"; 32 | import { valueFormatter as vf } from "powerbi-visuals-utils-formattingutils"; 33 | import IValueFormatter = vf.IValueFormatter; 34 | 35 | import { Selection as d3Selection } from "d3-selection"; 36 | type Selection = d3Selection; 37 | 38 | import { ForceGraphSettings } from "./settings"; 39 | 40 | export interface ISelectableDataPoint { 41 | selected: boolean; 42 | identity: ISelectionId; 43 | } 44 | 45 | export interface ForceGraphNode extends Node, ISelectableDataPoint { 46 | name: string; 47 | image: string; 48 | adj: { [i: string]: number }; 49 | links: ForceGraphLink[]; 50 | x?: number; 51 | y?: number; 52 | isDrag?: boolean; 53 | isOver?: boolean; 54 | hideLabel?: boolean; 55 | weight?: number; 56 | } 57 | 58 | export interface ITextRect { 59 | x1: number; 60 | y1: number; 61 | x2: number; 62 | y2: number; 63 | } 64 | 65 | export interface ForceGraphNodes { 66 | [i: string]: ForceGraphNode; 67 | } 68 | 69 | export interface ForceGraphLink extends TooltipEnabledDataPoint, ISelectableDataPoint { 70 | source: ForceGraphNode; 71 | target: ForceGraphNode; 72 | weight: number; 73 | formattedWeight: string; 74 | linkType: string; 75 | } 76 | 77 | export interface ForceGraphData { 78 | nodes: ForceGraphNodes; 79 | links: ForceGraphLink[]; 80 | minFiles: number; 81 | maxFiles: number; 82 | linkedByName: LinkedByName; 83 | linkTypes: LinkTypes; 84 | settings: ForceGraphSettings; 85 | formatter: IValueFormatter; 86 | } 87 | 88 | export interface LinkType { 89 | color: string; 90 | label: string; 91 | } 92 | 93 | export interface LinkTypes { 94 | [linkType: string]: LinkType; 95 | } 96 | 97 | export interface LinkedByName { 98 | [linkName: string]: number; 99 | } 100 | 101 | export interface ForceGraphBehaviorOptions { 102 | nodes: Selection; 103 | links: Selection; 104 | clearCatcher: Selection; 105 | } 106 | -------------------------------------------------------------------------------- /src/settings.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Power BI Visualizations 3 | * 4 | * Copyright (c) Microsoft Corporation 5 | * All rights reserved. 6 | * MIT License 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the ""Software""), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in 16 | * all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | * THE SOFTWARE. 25 | */ 26 | 27 | import { formattingSettings } from "powerbi-visuals-utils-formattingmodel"; 28 | 29 | import FormattingSettingsCard = formattingSettings.SimpleCard; 30 | import FormattingSettingsCompositeCard = formattingSettings.CompositeCard; 31 | import FormattingSettingsSlice = formattingSettings.Slice; 32 | import FormattingSettingsModel = formattingSettings.Model; 33 | import FormattingSettingsGroup = formattingSettings.Group; 34 | 35 | import ISandboxExtendedColorPalette = powerbi.extensibility.ISandboxExtendedColorPalette; 36 | import ILocalizationManager = powerbi.extensibility.ILocalizationManager; 37 | import IEnumMember = powerbi.IEnumMember; 38 | 39 | export class ForceGraphSettings extends FormattingSettingsModel { 40 | public animation: AnimationSettings = new AnimationSettings(); 41 | public labels: LabelsSettings = new LabelsSettings(); 42 | public links: LinksSettings = new LinksSettings(); 43 | public nodes: NodesSettings = new NodesSettings(); 44 | public size: SizeSettings = new SizeSettings(); 45 | 46 | public cards: Array = [this.animation, this.labels, this.links, this.nodes, this.size]; 47 | 48 | public setHighContrastColor(colorPalette: ISandboxExtendedColorPalette): void { 49 | if (colorPalette.isHighContrast){ 50 | this.labels.color.value = colorPalette.foreground; 51 | this.links.linkLabels.color.value = colorPalette.foreground; 52 | this.nodes.optionGroup.fillColor.value = colorPalette.foreground; 53 | this.nodes.optionGroup.strokeColor.value = colorPalette.background; 54 | } 55 | } 56 | 57 | public setLocalizedOptions(localizationManager: ILocalizationManager): void{ 58 | this.setLocalizedDisplayName(colorLinkOptions, localizationManager); 59 | } 60 | 61 | private setLocalizedDisplayName(options: IEnumMemberWithDisplayNameKey[], localizationManager: ILocalizationManager): void{ 62 | options.forEach(option => { 63 | option.displayName = localizationManager.getDisplayName(option.key); 64 | }); 65 | } 66 | } 67 | 68 | class AnimationSettings extends FormattingSettingsCard { 69 | public show = new formattingSettings.ToggleSwitch({ 70 | name: "show", 71 | displayNameKey: "Visual_Show", 72 | value: true 73 | }); 74 | 75 | public name: string = "animation"; 76 | public displayNameKey: string = "Visual_Animations"; 77 | topLevelSlice: formattingSettings.ToggleSwitch = this.show; 78 | } 79 | 80 | class BaseFontCardSettings extends formattingSettings.FontControl { 81 | public static minFontSize: number = 8; 82 | public static maxFontSize: number = 60; 83 | constructor(defaultFontSize: number, defaultFontFamily: string){ 84 | super( 85 | new formattingSettings.FontControl({ 86 | name: "font", 87 | displayName: "Font", 88 | displayNameKey: "Visual_Font", 89 | fontFamily: new formattingSettings.FontPicker({ 90 | name: "fontFamily", 91 | value: defaultFontFamily 92 | }), 93 | fontSize: new formattingSettings.NumUpDown({ 94 | name: "fontSize", 95 | displayName: "Text Size", 96 | displayNameKey: "Visual_TextSize", 97 | value: defaultFontSize, 98 | options: { 99 | minValue: { 100 | type: powerbi.visuals.ValidatorType.Min, 101 | value: 8 102 | }, 103 | maxValue: { 104 | type: powerbi.visuals.ValidatorType.Max, 105 | value: 60 106 | } 107 | } 108 | }), 109 | bold: new formattingSettings.ToggleSwitch({ 110 | name: "fontBold", 111 | value: false 112 | }), 113 | italic: new formattingSettings.ToggleSwitch({ 114 | name: "fontItalic", 115 | value: false 116 | }), 117 | underline: new formattingSettings.ToggleSwitch({ 118 | name: "fontUnderline", 119 | value: false 120 | }) 121 | }) 122 | ); 123 | } 124 | } 125 | 126 | class LabelsSettings extends FormattingSettingsCard { 127 | public defaultLabelColor: string = "#777777"; 128 | public defaultFontFamily: string = "Segoe UI, sans-serif"; 129 | public defaultFontSize: number = 9; 130 | 131 | public fontControl = new BaseFontCardSettings(this.defaultFontSize, this.defaultFontFamily); 132 | 133 | public show = new formattingSettings.ToggleSwitch({ 134 | name: "show", 135 | displayNameKey: "Visual_Show", 136 | value: true 137 | }); 138 | 139 | public color = new formattingSettings.ColorPicker({ 140 | name: "color", 141 | displayNameKey: "Visual_Color", 142 | value: { value: this.defaultLabelColor } 143 | }); 144 | 145 | public allowIntersection = new formattingSettings.ToggleSwitch({ 146 | name: "allowIntersection", 147 | displayNameKey: "Visual_Intersection", 148 | value: false 149 | }); 150 | 151 | public name: string = "labels"; 152 | public displayNameKey: string = "Visual_DataLabels"; 153 | topLevelSlice: formattingSettings.ToggleSwitch = this.show; 154 | slices: FormattingSettingsSlice[] = [this.fontControl, this.color, this.allowIntersection]; 155 | } 156 | 157 | interface IEnumMemberWithDisplayNameKey extends IEnumMember{ 158 | key: string; 159 | } 160 | 161 | export enum LinkColorType { 162 | ByWeight = "By Weight", 163 | ByLinkType = "By Link Type", 164 | Interactive = "Interactive" 165 | } 166 | 167 | const colorLinkOptions : IEnumMemberWithDisplayNameKey[] = [ 168 | {value : LinkColorType.ByWeight, displayName : "By Weight", key: "Visual_ForceGraph_ByWeight"}, 169 | {value : LinkColorType.ByLinkType, displayName : "By Link Type", key: "Visual_ForceGraph_ByLinkType"}, 170 | {value : LinkColorType.Interactive, displayName : "Interactive", key: "Visual_Interactive"}, 171 | ]; 172 | 173 | class LinkOptionsGroup extends FormattingSettingsCard { 174 | public showArrow = new formattingSettings.ToggleSwitch({ 175 | name: "showArrow", 176 | displayNameKey: "Visual_Arrow", 177 | value: false 178 | }); 179 | 180 | public thickenLink = new formattingSettings.ToggleSwitch({ 181 | name: "thickenLink", 182 | displayNameKey: "Visual_ForceGraph_Thickness", 183 | descriptionKey: "Visual_Description_Thickness", 184 | value: true 185 | }); 186 | 187 | public displayUnits = new formattingSettings.AutoDropdown({ 188 | name: "displayUnits", 189 | displayNameKey: "Visual_DisplayUnits", 190 | value: 0, 191 | }); 192 | 193 | public decimalPlaces = new formattingSettings.NumUpDown({ 194 | name: "decimalPlaces", 195 | displayNameKey: "Visual_ForceGraph_DecimalPlaces", 196 | value: null, 197 | options: { 198 | minValue: { 199 | type: powerbi.visuals.ValidatorType.Min, 200 | value: 0 201 | }, 202 | maxValue: { 203 | type: powerbi.visuals.ValidatorType.Max, 204 | value: 5 205 | }, 206 | } 207 | }); 208 | 209 | public colorLink = new formattingSettings.ItemDropdown({ 210 | name: "colorLink", 211 | displayNameKey: "Visual_Color", 212 | items: colorLinkOptions, 213 | value: colorLinkOptions[2], 214 | }); 215 | 216 | public name: string = "linkOptions"; 217 | public displayNameKey: string = "Visual_Options"; 218 | slices: FormattingSettingsSlice[] = [this.showArrow, this.thickenLink, this.colorLink, this.displayUnits, this.decimalPlaces] 219 | } 220 | 221 | class LinkLabelsGroup extends FormattingSettingsCard { 222 | public defaultFontSize: number = 10; 223 | public defaultFontFamily: string = "Segoe UI, sans-serif"; 224 | public defaultLabelColor: string = "black"; 225 | 226 | public showLabel = new formattingSettings.ToggleSwitch({ 227 | name: "showLabel", 228 | displayNameKey: "Visual_Label", 229 | descriptionKey: "Visual_Description_Label", 230 | value: false 231 | }); 232 | 233 | public color = new formattingSettings.ColorPicker({ 234 | name: "color", 235 | displayNameKey: "Visual_Color", 236 | value: { value: this.defaultLabelColor } 237 | }); 238 | 239 | public fontControl = new BaseFontCardSettings(this.defaultFontSize, this.defaultFontFamily); 240 | 241 | topLevelSlice: formattingSettings.ToggleSwitch = this.showLabel; 242 | public name: string = "linkLabels"; 243 | public displayNameKey: string = "Visual_Label"; 244 | slices: FormattingSettingsSlice[] = [this.fontControl, this.color] 245 | } 246 | 247 | class LinksSettings extends FormattingSettingsCompositeCard { 248 | public linkOptions: LinkOptionsGroup = new LinkOptionsGroup(); 249 | public linkLabels: LinkLabelsGroup = new LinkLabelsGroup(); 250 | 251 | public name: string = "links"; 252 | public displayNameKey: string = "Visual_ForceGraph_Links"; 253 | groups: FormattingSettingsGroup[] = [this.linkOptions, this.linkLabels]; 254 | } 255 | 256 | class NodeImageSettingsGroup extends FormattingSettingsCard { 257 | public defaultImageUrlPlaceholder: string = "Url"; 258 | public defaultImageValuePlaceholder: string = "Image name"; 259 | public defaultImageExt: string = ".png"; 260 | 261 | public displayImage = new formattingSettings.ToggleSwitch({ 262 | name: "displayImage", 263 | displayNameKey: "Visual_Image", 264 | value: false 265 | }); 266 | 267 | public imageUrl = new formattingSettings.TextInput({ 268 | name: "imageUrl", 269 | displayNameKey: "Visual_ImageUrl", 270 | value: "", 271 | placeholder: this.defaultImageUrlPlaceholder 272 | }); 273 | 274 | public defaultImage = new formattingSettings.TextInput({ 275 | name: "defaultImage", 276 | displayNameKey: "Visual_DefaultImage", 277 | value: "", 278 | placeholder: this.defaultImageValuePlaceholder 279 | }); 280 | 281 | public imageExt = new formattingSettings.TextInput({ 282 | name: "imageExt", 283 | displayNameKey: "Visual_ImageExtension", 284 | value: this.defaultImageExt, 285 | placeholder: this.defaultImageExt 286 | }); 287 | 288 | topLevelSlice: formattingSettings.ToggleSwitch = this.displayImage; 289 | public name: string = "displayImageGroup"; 290 | public displayNameKey: string = "Visual_Image"; 291 | public slices: FormattingSettingsSlice[] = [this.imageUrl, this.defaultImage, this.imageExt]; 292 | } 293 | 294 | class NodeOptionsGroup extends FormattingSettingsCard { 295 | public defaultNameMaxLength: number = 10; 296 | public defaultFillColor: string = "#cccccc"; 297 | public defaultStrokeColor: string = "#777777"; 298 | 299 | public nameMaxLength = new formattingSettings.NumUpDown({ 300 | name: "nameMaxLength", 301 | displayNameKey: "Visual_ForceGraph_MaxNameLength", 302 | value: this.defaultNameMaxLength 303 | }); 304 | 305 | public highlightReachableLinks = new formattingSettings.ToggleSwitch({ 306 | name: "highlightReachableLinks", 307 | displayNameKey: "Visual_ForceGraph_HighlightLinks", 308 | value: false 309 | }); 310 | 311 | public fillColor = new formattingSettings.ColorPicker({ 312 | name: "color", 313 | displayNameKey: "Visual_Fill", 314 | value: { value: this.defaultFillColor } 315 | }); 316 | 317 | public strokeColor = new formattingSettings.ColorPicker({ 318 | name: "strokeColor", 319 | displayNameKey: "Visual_Stroke", 320 | value: { value: this.defaultStrokeColor } 321 | }); 322 | 323 | public name: string = "nodeOptions"; 324 | public displayNameKey: string = "Visual_Options"; 325 | public slices: FormattingSettingsSlice[] = [this.fillColor, this.strokeColor, this.nameMaxLength, this.highlightReachableLinks]; 326 | } 327 | 328 | class NodesSettings extends FormattingSettingsCompositeCard { 329 | public imageGroup: NodeImageSettingsGroup = new NodeImageSettingsGroup(); 330 | public optionGroup: NodeOptionsGroup = new NodeOptionsGroup(); 331 | 332 | public name: string = "nodes"; 333 | public displayNameKey: string = "Visual_Nodes"; 334 | groups: FormattingSettingsGroup[] = [this.optionGroup, this.imageGroup]; 335 | } 336 | 337 | class SizeSettings extends FormattingSettingsCard{ 338 | public defaultCharge: number = -15; 339 | 340 | public charge = new formattingSettings.NumUpDown({ 341 | name: "charge", 342 | displayNameKey: "Visual_Charge", 343 | value: this.defaultCharge, 344 | options: { 345 | minValue: { 346 | type: powerbi.visuals.ValidatorType.Min, 347 | value: -100 348 | }, 349 | maxValue: { 350 | type: powerbi.visuals.ValidatorType.Max, 351 | value: -0.1 352 | } 353 | } 354 | }); 355 | 356 | public boundedByBox = new formattingSettings.ToggleSwitch({ 357 | name: "boundedByBox", 358 | displayNameKey: "Visual_BoundByBox", 359 | value: false 360 | }); 361 | public name: string = "size"; 362 | public displayNameKey: string = "Visual_Size"; 363 | slices: FormattingSettingsSlice[] = [this.charge, this.boundedByBox]; 364 | } -------------------------------------------------------------------------------- /src/telemetry.ts: -------------------------------------------------------------------------------- 1 | import powerbi from "powerbi-visuals-api"; 2 | import VisualEventType = powerbi.VisualEventType; 3 | import ITelemetryService = powerbi.extensibility.ITelemetryService; 4 | 5 | export class ExternalLinksTelemetry { 6 | private telemetry: ITelemetryService; 7 | private isTraced: boolean = false; 8 | 9 | constructor(telemetry: ITelemetryService) { 10 | this.telemetry = telemetry; 11 | } 12 | 13 | private traceDetected() { 14 | if (this.isTraced) { 15 | return; 16 | } 17 | this.telemetry.trace(VisualEventType.Trace, "External image link detected"); 18 | this.isTraced = true; 19 | } 20 | 21 | public detectExternalImages(url: string): void { 22 | const hasExternalImageLink: boolean = ExternalLinksTelemetry.containsExternalURL(url); 23 | 24 | if (hasExternalImageLink) { 25 | this.traceDetected(); 26 | } 27 | } 28 | 29 | public static containsExternalURL(url: string): boolean { 30 | return /^(ftp|https|http):\/\/[^ "]+$/.test(url); 31 | } 32 | } -------------------------------------------------------------------------------- /src/tooltipsFactory.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Power BI Visualizations 3 | * 4 | * Copyright (c) Microsoft Corporation 5 | * All rights reserved. 6 | * MIT License 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the ""Software""), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in 16 | * all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | * THE SOFTWARE. 25 | */ 26 | 27 | import powerbi from "powerbi-visuals-api"; 28 | 29 | import DataViewMetadataColumn = powerbi.DataViewMetadataColumn; 30 | import VisualTooltipDataItem = powerbi.extensibility.VisualTooltipDataItem; 31 | 32 | import { dataRoleHelper as DataRoleHelperModule } from "powerbi-visuals-utils-dataviewutils"; 33 | import hasRole = DataRoleHelperModule.hasRole; 34 | 35 | import { valueFormatter } from "powerbi-visuals-utils-formattingutils"; 36 | 37 | export interface ForceGraphTooltipInputObject { 38 | [propertyName: string]: any; 39 | } 40 | 41 | export class ForceGraphTooltipsFactory { 42 | public static build( 43 | inputObject: ForceGraphTooltipInputObject, 44 | dataViewMetadataColumns: DataViewMetadataColumn[]): VisualTooltipDataItem[] { 45 | 46 | const tooltips: VisualTooltipDataItem[] = []; 47 | 48 | if (!inputObject) { 49 | return tooltips; 50 | } 51 | 52 | for (const propertyName in inputObject) { 53 | let value: string; 54 | 55 | const column: DataViewMetadataColumn = ForceGraphMetadataRoleHelper.getColumnByRoleName( 56 | dataViewMetadataColumns, 57 | propertyName); 58 | 59 | if (!column || !column.displayName) { 60 | continue; 61 | } 62 | 63 | value = inputObject[propertyName]; 64 | if (!(typeof value === "number")) { 65 | value = valueFormatter.format(value, valueFormatter.getFormatStringByColumn(column)); 66 | } 67 | 68 | tooltips.push({ 69 | displayName: column.displayName, 70 | value: `${value}` 71 | }); 72 | } 73 | 74 | return tooltips; 75 | } 76 | } 77 | 78 | export class ForceGraphMetadataRoleHelper { 79 | public static getColumnByRoleName( 80 | dataViewMetadataColumns: DataViewMetadataColumn[], 81 | roleName: string): DataViewMetadataColumn { 82 | 83 | if (dataViewMetadataColumns && dataViewMetadataColumns.length && roleName) { 84 | for (const metadataColumn of dataViewMetadataColumns) { 85 | if (metadataColumn && hasRole(metadataColumn, roleName)) { 86 | return metadataColumn; 87 | } 88 | } 89 | } 90 | 91 | return null; 92 | } 93 | } -------------------------------------------------------------------------------- /stringResources/ar-SA/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "المصدر", 3 | "Visual_Target": "الهدف", 4 | "Visual_Weight": "الوزن", 5 | "Visual_SourceType": "نوع المصدر", 6 | "Visual_LinkType": "نوع الارتباط", 7 | "Visual_TargetType": "نوع الهدف", 8 | "Visual_Animations": "حركات", 9 | "Visual_Show": "‏‏إظهار", 10 | "Visual_DataLabels": "بطاقات البيانات", 11 | "Visual_Fill": "لون التعبئة", 12 | "Visual_Stroke": "لون الإطار الخارجي", 13 | "Visual_TextSize": "حجم النص", 14 | "Visual_Font": "الخط", 15 | "Visual_Intersection": "تقاطع", 16 | "Visual_Arrow": "سهم", 17 | "Visual_Label": "التسمية", 18 | "Visual_Interactive": "تفاعلي", 19 | "Visual_Color": "اللون", 20 | "Visual_DisplayUnits": "وحدات العرض", 21 | "Visual_Nodes": "العُقد", 22 | "Visual_Image": "صورة", 23 | "Visual_Options": "خيارات", 24 | "Visual_DefaultImage": "الصورة الافتراضية", 25 | "Visual_ImageUrl": "URL للصورة", 26 | "Visual_ImageExtension": "ملحق الصورة", 27 | "Visual_Size": "الحجم", 28 | "Visual_Charge": "الرسم", 29 | "Visual_BoundByBox": "محدد بمربع", 30 | "Visual_ForceGraph_ByWeight": "حسب الوزن", 31 | "Visual_ForceGraph_ByLinkType": "حسب نوع الارتباط", 32 | "Visual_ForceGraph_Links": "ارتباطات", 33 | "Visual_ForceGraph_Thickness": "السُمك", 34 | "Visual_ForceGraph_DecimalPlaces": "المنازل العشرية", 35 | "Visual_ForceGraph_MaxNameLength": "الحد الأقصى لطول الاسم", 36 | "Visual_ForceGraph_HighlightLinks": "تمييز كل الارتباطات التي يمكن الوصول إليها", 37 | "Visual_Description_Label": "عرض الوزن على الارتباطات", 38 | "Visual_Description_Thickness": "يمثل سُمك الارتباطات الوزن", 39 | "Visual_Short_Description": "فرض تخطيط المخطط باستخدام المسار المنحنى. مفيد لعرض الاتصالات بين الكيانات", 40 | "Visual_Long_Description": "غالبًا ما تعمل إمكانية تصور العلاقة بين العناصر وحمل العلاقة والتدفق على وضع الرؤى المخفية تحت الأضواء، والتي لن تظهر إلا من خلال هذا. لن تكون الأرقام البسيطة والمخططات الأساسية كافية لاكتشاف قصص البيانات وعرضها. نحتاج إلى تقنيات مرئيات جديدة لعالم العلاقة المعقد ولهذا يتم توفير الرسم البياني الموجه عبر القوى ليغطي مثل هذا السيناريو.\nتطبق هذه المرئيات المخصصة مخطط تخطيط قوى D3 باستخدام مسارات منحنية. يمثل سُمك المسار وزن العلاقة بين العُقد.\nنظرًا لأن العلاقة بين مجموعة كبيرة من الكيانات والتداخل فيما بينها معقد جدًا، تعرض المرئيات العُقد بطريقة تقل من خلالها التقاطعات قدر الإمكان، مما يجعل تجربة الاكتشاف سهلة وممتعة. ينتج عن المرئيات أيضًا التخطيط الجذاب للعين بشكل شامل لمجموعات البيانات الكبيرة. يستطيع المستخدمون أيضًا ضبط التخطيط يدويًا عن طريق سحب العُقد في المنطقة.\nعادةً ما تحتاج إلى بُعدين ومقياس واحد (بالنسبة للحمل) الذي يتم استخدامه مع هذه المرئيات. ولكن يعمل هذا أيضًا مع عمود واحد فقط.\nفيما يلي مرئيات مصدر مفتوح. احصل على التعليمات البرمجية من GitHub: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/bg-BG/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Източник", 3 | "Visual_Target": "Цел", 4 | "Visual_Weight": "Тегло", 5 | "Visual_SourceType": "Тип източник", 6 | "Visual_LinkType": "Тип на връзката", 7 | "Visual_TargetType": "Тип на целта", 8 | "Visual_Animations": "Анимации", 9 | "Visual_Show": "Показване", 10 | "Visual_DataLabels": "Етикети на данни", 11 | "Visual_Fill": "Цвят за запълване", 12 | "Visual_Stroke": "Цвят на ръкописна линия", 13 | "Visual_TextSize": "Размер на текста", 14 | "Visual_Font": "Шрифт", 15 | "Visual_Intersection": "Сечение", 16 | "Visual_Arrow": "Стрелка", 17 | "Visual_Label": "Етикет", 18 | "Visual_Interactive": "Интерактивно", 19 | "Visual_Color": "Цвят", 20 | "Visual_DisplayUnits": "Показване на единици", 21 | "Visual_Nodes": "Възли", 22 | "Visual_Image": "Изображение", 23 | "Visual_Options": "Опции", 24 | "Visual_DefaultImage": "Изображение по подразбиране", 25 | "Visual_ImageUrl": "URL адрес на изображение", 26 | "Visual_ImageExtension": "Разширение на изображението", 27 | "Visual_Size": "Размер", 28 | "Visual_Charge": "Такса", 29 | "Visual_BoundByBox": "Ограничаване с поле", 30 | "Visual_ForceGraph_ByWeight": "По тегло", 31 | "Visual_ForceGraph_ByLinkType": "По тип на връзката", 32 | "Visual_ForceGraph_Links": "Връзки", 33 | "Visual_ForceGraph_Thickness": "Дебелина", 34 | "Visual_ForceGraph_DecimalPlaces": "Знаци след десетичната запетая", 35 | "Visual_ForceGraph_MaxNameLength": "Максимална дължина на името", 36 | "Visual_ForceGraph_HighlightLinks": "Осветяване на всички достъпни връзки", 37 | "Visual_Description_Label": "Показва тегло във връзките", 38 | "Visual_Description_Thickness": "Дебелината на връзките представлява теглото", 39 | "Visual_Short_Description": "Диаграма с насочено оформление с криволинейна траектория. Полезна за посочване на връзките между обектите", 40 | "Visual_Long_Description": "Възможността да се визуализира връзката между обектите, значимостта на взаимовръзките и посоката често изважда на повърхността аналитични данни, които в противен случай не са много очевидни. Обикновените числа и основните графики не са достатъчни, за да се открият и представят визуално тези полезни данни. Нуждаем се от нови техники за визуализация за сложния свят на взаимовръзките и насочената графика е в стихията си при точно този вид сценарии.\nТози персонализиран визуален обект използва диаграма с насочено 3D оформление с криволинейна траектория. Дебелината на траекторията представлява значимостта на връзката между възлите.\nТъй като връзката и взаимоотношенията между обектите в голям набор може да бъдат много сложни, визуалният обект позиционира възловите точки по такъв начин, че да има възможно най-малко пресичания, което прави изживяването при преглед по-лесно и забавно. Визуалният обект също така създава оформлението, което като цяло е приятно за очите при големи набори от данни. Потребителите могат да персонализират оформлението и ръчно, като просто преместват възловите точки с плъзгане.\nВ най-добрия случай ще са ви необходими две измерения и една мярка (за значимостта), които да използвате с визуалния обект. Но можете да го използвате и само с една колона.\nТова е визуален обект с отворен код. Може да получите кода от GitHub на адрес: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/ca-ES/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Origen", 3 | "Visual_Target": "Destinació", 4 | "Visual_Weight": "Pes", 5 | "Visual_SourceType": "Tipus d'origen", 6 | "Visual_LinkType": "Tipus d'enllaç", 7 | "Visual_TargetType": "Tipus d'objectiu", 8 | "Visual_Animations": "Animacions", 9 | "Visual_Show": "Mostra", 10 | "Visual_DataLabels": "Etiquetes de dades", 11 | "Visual_Fill": "Color d'emplenament", 12 | "Visual_Stroke": "Color del traç", 13 | "Visual_TextSize": "Mida del text", 14 | "Visual_Font": "Tipus de lletra", 15 | "Visual_Intersection": "Intersecció", 16 | "Visual_Arrow": "Fletxa", 17 | "Visual_Label": "Etiqueta", 18 | "Visual_Interactive": "Interactiu", 19 | "Visual_Color": "Color", 20 | "Visual_DisplayUnits": "Mostra les unitats", 21 | "Visual_Nodes": "Nodes", 22 | "Visual_Image": "Imatge", 23 | "Visual_Options": "Opcions", 24 | "Visual_DefaultImage": "Imatge per defecte", 25 | "Visual_ImageUrl": "URL de la imatge", 26 | "Visual_ImageExtension": "Extensió d'imatge", 27 | "Visual_Size": "Mida", 28 | "Visual_Charge": "Càrrega", 29 | "Visual_BoundByBox": "Enllaçat amb un quadre", 30 | "Visual_ForceGraph_ByWeight": "Per gruix", 31 | "Visual_ForceGraph_ByLinkType": "Per tipus d'enllaç", 32 | "Visual_ForceGraph_Links": "Enllaços", 33 | "Visual_ForceGraph_Thickness": "Gruix", 34 | "Visual_ForceGraph_DecimalPlaces": "Posicions decimals", 35 | "Visual_ForceGraph_MaxNameLength": "Longitud màxima del nom", 36 | "Visual_ForceGraph_HighlightLinks": "Ressalta els enllaços accessibles", 37 | "Visual_Description_Label": "Mostra el pes als enllaços", 38 | "Visual_Description_Thickness": "El gruix dels enllaços representa el pes.", 39 | "Visual_Short_Description": "Forceu el diagrama de distribució amb corbes. Resulta útil per mostrar les connexions entre entitats.", 40 | "Visual_Long_Description": "La possibilitat de visualitzar les relacions entre diferents elements, la ponderació d’aquestes i el flux sovint permet obtenir conclusions de gran valor que en altres casos no serien tan evidents. Els nombres bàsics i els gràfics senzills no són suficients per descobrir i comunicar aquestes dades tan importants. Necessitem noves tècniques de visualització per al complex món de les relacions, i els gràfics de força són molt útils en aquests casos.\nAquest element visual personalitzat implementa un diagrama de disseny de forces D3 amb corbes. El gruix de les línies representa la ponderació de la relació entre els nodes.\nAtès que la relació i la interconnexió entre conjunts grans d’entitats poden arribar a ser molt complexes, l’element visual col·loca els nodes de manera que hi hagi el menor nombre possible d’encreuaments, cosa que fa que l’experiència d’exploració sigui fàcil i divertida. Així mateix, en el cas dels conjunts de dades grans, l’element visual també produeix una disposició que, en general, és agradable a la vista. Els usuaris també poden arrossegar i col·locar els nodes com vulguin per ajustar la disposició manualment.\nIdealment, per fer servir aquest element visual es necessiten dues dimensions i una mesura (per a la ponderació), però també funciona amb una sola columna.\nAquest element visual és de codi obert. Podeu obtenir el codi al GitHub, a https://github.com/Microsoft/PowerBI-visuals-ForceGraph." 41 | } -------------------------------------------------------------------------------- /stringResources/cs-CZ/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Zdroj", 3 | "Visual_Target": "Cíl", 4 | "Visual_Weight": "Váha", 5 | "Visual_SourceType": "Typ zdroje", 6 | "Visual_LinkType": "Typ odkazu", 7 | "Visual_TargetType": "Typ cíle", 8 | "Visual_Animations": "Animace", 9 | "Visual_Show": "Zobrazení", 10 | "Visual_DataLabels": "Popisky dat", 11 | "Visual_Fill": "Barva výplně", 12 | "Visual_Stroke": "Barva tahu", 13 | "Visual_TextSize": "Velikost textu", 14 | "Visual_Font": "Písmo", 15 | "Visual_Intersection": "Průsečík", 16 | "Visual_Arrow": "Šipka", 17 | "Visual_Label": "Popisek", 18 | "Visual_Interactive": "Interaktivní", 19 | "Visual_Color": "Barva", 20 | "Visual_DisplayUnits": "Zobrazit jednotky", 21 | "Visual_Nodes": "Uzly", 22 | "Visual_Image": "Obrázek", 23 | "Visual_Options": "Možnosti", 24 | "Visual_DefaultImage": "Výchozí obrázek", 25 | "Visual_ImageUrl": "Adresa URL obrázku", 26 | "Visual_ImageExtension": "Přípona obrázku", 27 | "Visual_Size": "Velikost", 28 | "Visual_Charge": "Poplatek", 29 | "Visual_BoundByBox": "Omezeno rámečkem", 30 | "Visual_ForceGraph_ByWeight": "Podle tloušťky", 31 | "Visual_ForceGraph_ByLinkType": "Podle typu odkazu", 32 | "Visual_ForceGraph_Links": "Odkazy", 33 | "Visual_ForceGraph_Thickness": "Tloušťka", 34 | "Visual_ForceGraph_DecimalPlaces": "Počet des. míst", 35 | "Visual_ForceGraph_MaxNameLength": "Maximální délka názvu", 36 | "Visual_ForceGraph_HighlightLinks": "Zvýraznit všechny dostupné odkazy", 37 | "Visual_Description_Label": "Ukazuje váhu na propojeních", 38 | "Visual_Description_Thickness": "Tloušťka propojení představuje váhu", 39 | "Visual_Short_Description": "Diagram vynuceného rozvržení se zakřivenou cestou. Užitečné k zobrazení propojení mezi entitami", 40 | "Visual_Long_Description": "Když je možnost vizualizovat vztah mezi položkami, váhu tohoto vztazu a jeho směr, často to přináší na světlo mnoho poznatků, které jinak nejsou příliš viditelné. Prostá čísla a základní grafy k objevení a sdělení těchto datových příběhů nestačí. Potřebujeme nové techniky vizualizace, které obstojí v komplexním světě vztahů. Graf s vynucenou silou u těchto scénářů funguje na jedničku.\nTento vlastní vizuál implementuje diagram s vynuceným rozložením D3 a se zakřivenými cestami. Tloušťka cesty představuje váhu vztahu mezi uzly.\nVzhledem k tomu, že vztahy a propojení mezi velkými sadami entit můžou být velmi složité, vizuál umísťuje uzly způsobem, kde je co nejméně křížení. Díky tomu je zkoumání snadné a zábavné. Vizuál také vytváří rozložení, které je u velkých datových sad vizuálně velmi přitažlivé. Uživatele také můžou rozložení ručně upravit přetahováním uzlů.\nV ideálním případě budete u tohoto vizuálu potřebovat dvě dimenze a jedno měřítko (pro váhu). Funguje však i s pouze jedním sloupcem.\nTento vizuál je typu open source. Kód můžete získat z Githubu: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/da-DK/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Kilde", 3 | "Visual_Target": "Destination", 4 | "Visual_Weight": "Vægt", 5 | "Visual_SourceType": "Kildetype", 6 | "Visual_LinkType": "Linktype", 7 | "Visual_TargetType": "Destinationstype", 8 | "Visual_Animations": "Animationer", 9 | "Visual_Show": "Vis", 10 | "Visual_DataLabels": "Datamærkater", 11 | "Visual_Fill": "Udfyldningsfarve", 12 | "Visual_Stroke": "Farve på penselstrøg", 13 | "Visual_TextSize": "Tekststørrelse", 14 | "Visual_Font": "Skrifttype", 15 | "Visual_Intersection": "Skæringspunkt", 16 | "Visual_Arrow": "Pil", 17 | "Visual_Label": "Etiket", 18 | "Visual_Interactive": "Interaktiv", 19 | "Visual_Color": "Farve", 20 | "Visual_DisplayUnits": "Vis enheder", 21 | "Visual_Nodes": "Noder", 22 | "Visual_Image": "Billede", 23 | "Visual_Options": "Indstillinger", 24 | "Visual_DefaultImage": "Standardbillede", 25 | "Visual_ImageUrl": "URL-adresse for billede", 26 | "Visual_ImageExtension": "Billedfiltype", 27 | "Visual_Size": "Størrelse", 28 | "Visual_Charge": "Opladning", 29 | "Visual_BoundByBox": "Begrænset af boks", 30 | "Visual_ForceGraph_ByWeight": "Efter vægt", 31 | "Visual_ForceGraph_ByLinkType": "Efter linktype", 32 | "Visual_ForceGraph_Links": "Links", 33 | "Visual_ForceGraph_Thickness": "Tykkelse", 34 | "Visual_ForceGraph_DecimalPlaces": "Antal decimaler", 35 | "Visual_ForceGraph_MaxNameLength": "Maks. længde på navn", 36 | "Visual_ForceGraph_HighlightLinks": "Fremhæv alle tilgængelige links", 37 | "Visual_Description_Label": "Viser vægt på links", 38 | "Visual_Description_Thickness": "Tykkelse for links repræsenterer vægt", 39 | "Visual_Short_Description": "Gennemtving Layoutdiagram med kurvet sti. God til at vise forbindelser mellem enheder", 40 | "Visual_Long_Description": "Muligheden for at visualisere forholdet mellem elementer, vægtningen af relationen og flowet sætter ofte de ufortalte indsigter, som ellers ikke meget klart, i rampelyset. Simple tal og grundlæggende diagrammer er ikke nok til at opdage og fortælle de historier, som disse data fortæller. Vi har brug for nye visuelle teknikker til den komplekse verden af relationer, og kraftstyrede grafer bringer sådanne scenarier helt frem i lyset.\nDenne brugerdefinerede visualisering implementerer et D3 kraftlayoutdiagram med buede kurver. Tykkelsen af banen repræsenterer vægten af forholdet mellem nodepunkterne.\nDa relationerne og de indbyrdes forbindelser mellem store sæt af enheder kan være meget komplekse, placerer visualiseringen nodepunkterne på en sådan måde, at der er så få sporkrydsninger som muligt, hvilket gør udforskningsoplevelsen nem og sjov. Visualiseringen producerer også layoutet, som overordnet er en fryd for øjet ved store datasæt. Brugeren kan også justere layoutet manuelt ved blot at trække nodepunkterne omkring.\nIdeelt skal du have to dimensioner og én måling (til vægtning) for at bruge denne visualisering. Men dette fungerer også kun sammen med en enkelt kolonne.\nDette er en visualisering med åben kildekode. Koden fra GitHub: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/de-DE/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Quelle", 3 | "Visual_Target": "Ziel", 4 | "Visual_Weight": "Gewichtung", 5 | "Visual_SourceType": "Quelltyp", 6 | "Visual_LinkType": "Verknüpfungstyp", 7 | "Visual_TargetType": "Zieltyp", 8 | "Visual_Animations": "Animationen", 9 | "Visual_Show": "Anzeigen", 10 | "Visual_DataLabels": "Datenbeschriftungen", 11 | "Visual_Fill": "Füllfarbe", 12 | "Visual_Stroke": "Strichfarbe", 13 | "Visual_TextSize": "Textgröße", 14 | "Visual_Font": "Schriftart", 15 | "Visual_Intersection": "Schnittmenge", 16 | "Visual_Arrow": "Pfeil", 17 | "Visual_Label": "Bezeichnung", 18 | "Visual_Interactive": "Interaktiv", 19 | "Visual_Color": "Farbe", 20 | "Visual_DisplayUnits": "Anzeigeeinheiten", 21 | "Visual_Nodes": "Knoten", 22 | "Visual_Image": "Image", 23 | "Visual_Options": "Optionen", 24 | "Visual_DefaultImage": "Standardbild", 25 | "Visual_ImageUrl": "Bild-URL", 26 | "Visual_ImageExtension": "Bilderweiterung", 27 | "Visual_Size": "Größe", 28 | "Visual_Charge": "Gebühr", 29 | "Visual_BoundByBox": "An Feld gebunden", 30 | "Visual_ForceGraph_ByWeight": "Nach Gewicht", 31 | "Visual_ForceGraph_ByLinkType": "Nach Linktyp", 32 | "Visual_ForceGraph_Links": "Verknüpfungen", 33 | "Visual_ForceGraph_Thickness": "Stärke", 34 | "Visual_ForceGraph_DecimalPlaces": "Dezimalstellen", 35 | "Visual_ForceGraph_MaxNameLength": "Maximale Länge für Namen", 36 | "Visual_ForceGraph_HighlightLinks": "Alle erreichbaren Links hervorheben", 37 | "Visual_Description_Label": "Hiermit wird die Gewichtung für Verbindungslinien angezeigt.", 38 | "Visual_Description_Thickness": "Stärke der Verbindungslinien repräsentiert Gewichtung", 39 | "Visual_Short_Description": "Hiermit erzwingen Sie ein Layoutdiagramm mit gekrümmten Pfad. Dies eignet sich gut zum Anzeigen von Verbindungen zwischen Entitäten.", 40 | "Visual_Long_Description": "Die Möglichkeit, die Beziehung zwischen Elementen, die Gewichtung der Beziehung sowie den Datenfluss zu visualisieren, rückt häufig Erkenntnisse in den Fokus, die sonst nicht auffallen und zuvor nie entdeckt wurden. Einfache Zahlen und Diagramme reichen nicht aus, um solche verborgenen Erkenntnisse aufzudecken und die Daten in den richtigen Zusammenhang zu bringen. Für die komplexe Welt der Beziehungen sind neue Visualisierungstechniken erforderlich, und kräftebasierte Diagramme sind für solche Szenarien geradezu prädestiniert.\nDieses benutzerdefinierte Visual implementiert ein kräftebasiertes 3D-Layout mit gekrümmten Pfaden. Die Stärke eines Pfads repräsentiert das Gewicht der Beziehung zwischen den Knoten.\nDa die Beziehungen und Verknüpfungen zwischen großen Mengen an Entitäten sehr komplex sein können, positioniert das Visual die Knoten so, dass sich so wenig Pfade wie möglich kreuzen – so lassen sich die Ergebnisse einer Analyse sehr einfach überblicken. Insbesondere bei großen Datasets sorgt das Visual für ein optisch attraktives Layout. Benutzer können das Layout auch anpassen, indem sie ganz einfach die Knoten an andere Positionen ziehen.\nIm Idealfall benötigen Sie für dieses Visual zwei Dimensionen und einen Messwert (für die Gewichtung), es funktioniert aber auch mit einer einzigen Spalte.\nDies ist ein Open Source-Visual. Rufen Sie den Code aus GitHub ab: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/el-GR/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Προέλευση", 3 | "Visual_Target": "Στόχος", 4 | "Visual_Weight": "Βάρος", 5 | "Visual_SourceType": "Τύπος προέλευσης", 6 | "Visual_LinkType": "Τύπος σύνδεσης", 7 | "Visual_TargetType": "Τύπος προορισμού", 8 | "Visual_Animations": "Κινήσεις", 9 | "Visual_Show": "Εμφάνιση", 10 | "Visual_DataLabels": "Ετικέτες δεδομένων", 11 | "Visual_Fill": "Χρώμα γεμίσματος", 12 | "Visual_Stroke": "Χρώμα πινελιάς", 13 | "Visual_TextSize": "Μέγεθος κειμένου", 14 | "Visual_Font": "Γραμματοσειρά", 15 | "Visual_Intersection": "Διατομή", 16 | "Visual_Arrow": "Βέλος", 17 | "Visual_Label": "Ετικέτα", 18 | "Visual_Interactive": "Αλληλεπιδραστικό", 19 | "Visual_Color": "Χρώμα", 20 | "Visual_DisplayUnits": "Εμφάνιση μονάδων", 21 | "Visual_Nodes": "Κόμβοι", 22 | "Visual_Image": "Εικόνα", 23 | "Visual_Options": "Επιλογές", 24 | "Visual_DefaultImage": "Προεπιλεγμένη εικόνα", 25 | "Visual_ImageUrl": "Διεύθυνση URL εικόνας", 26 | "Visual_ImageExtension": "Επέκταση εικόνας", 27 | "Visual_Size": "Μέγεθος", 28 | "Visual_Charge": "Φορτίο", 29 | "Visual_BoundByBox": "Οριοθετημένο με πλαίσιο", 30 | "Visual_ForceGraph_ByWeight": "Κατά βαρύτητα", 31 | "Visual_ForceGraph_ByLinkType": "Κατά τύπο σύνδεσης", 32 | "Visual_ForceGraph_Links": "Συνδέσεις", 33 | "Visual_ForceGraph_Thickness": "Πάχος", 34 | "Visual_ForceGraph_DecimalPlaces": "Δεκαδικά ψηφία", 35 | "Visual_ForceGraph_MaxNameLength": "Μέγιστο μήκος ονόματος", 36 | "Visual_ForceGraph_HighlightLinks": "Επισήμανση όλων των προσβάσιμων συνδέσεων", 37 | "Visual_Description_Label": "Εμφανίζει τη βαρύτητα στις συνδέσεις", 38 | "Visual_Description_Thickness": "Το πάχος των συνδέσεων αντιπροσωπεύει τη βαρύτητα", 39 | "Visual_Short_Description": "Διάγραμμα δυναμικής διάταξης με καμπύλη διαδρομή. Χρήσιμο για την εμφάνιση των συνδέσεων μεταξύ οντοτήτων", 40 | "Visual_Long_Description": "Η δυνατότητα για απεικόνιση της σχέσης μεταξύ των στοιχείων, της βαρύτητας της σχέσης και της ροής συχνά επισημαίνει πληροφορίες οι οποίες διαφορετικά δεν είναι ιδιαίτερα εμφανείς. Τα απλά νούμερα και τα βασικά γραφήματα δεν είναι αρκετά για να εντοπίσετε τέτοιες σχέσεις δεδομένων. Χρειαζόμαστε νέες τεχνικές απεικόνισης για τον σύνθετο κόσμο των σχέσεων και το γράφημα δυναμικής κατεύθυνσης πρωταγωνιστεί σε τέτοια σενάρια.\nΑυτή η προσαρμοσμένη απεικόνιση υλοποιεί ένα διάγραμμα D3 δυναμικής διάταξης με καμπύλες διαδρομές. Το πάχος της διαδρομής αντιπροσωπεύει το βάρος της σχέσης ανάμεσα στους κόμβους.\nΕφόσον η σχέσεις και οι διασυνδέσεις σε μεγάλα σύνολα οντοτήτων μπορεί να είναι ιδιαίτερα σύνθετες, η απεικόνιση τοποθετεί τους κόμβους έτσι ώστε να υπάρχουν όσο το δυνατόν λιγότερες διασταυρώσεις, καθιστώντας την εμπειρία διερεύνησης εύκολη και ευχάριστη. Η απεικόνιση παράγει επίσης μια διάταξη που είναι οπτικά ξεκούραστη για μεγάλα σύνολα δεδομένων. Οι χρήστες μπορούν επίσης να ρυθμίσουν τη διάταξη με μη αυτόματο τρόπο, σύροντας απλώς τους κόμβους.\nΙδανικά, χρειάζεστε δύο διαστάσεις και μία μέτρηση (για τη βαρύτητα) για αυτή την απεικόνιση. Ωστόσο, λειτουργεί και με μία μόνο στήλη.\nΑυτή είναι μια απεικόνιση ανοιχτού κώδικα. Αποκτήστε τον κώδικα από το GitHub: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/en-US/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Source", 3 | "Visual_Target": "Target", 4 | "Visual_Weight": "Weight", 5 | "Visual_SourceType": "Source Type", 6 | "Visual_LinkType": "Link Type", 7 | "Visual_TargetType": "Target Type", 8 | "Visual_Animations": "Animations", 9 | "Visual_Show": "Show", 10 | "Visual_DataLabels": "Data labels", 11 | "Visual_Fill": "Fill color", 12 | "Visual_Stroke": "Stroke color", 13 | "Visual_TextSize": "Text Size", 14 | "Visual_Font" : "Font", 15 | "Visual_Intersection": "Intersection", 16 | "Visual_Arrow": "Arrow", 17 | "Visual_Label": "Label", 18 | "Visual_Interactive": "Interactive", 19 | "Visual_Color": "Color", 20 | "Visual_DisplayUnits": "Display Units", 21 | "Visual_Nodes": "Nodes", 22 | "Visual_Image": "Image", 23 | "Visual_Options": "Options", 24 | "Visual_DefaultImage": "Default image", 25 | "Visual_ImageUrl": "Image url", 26 | "Visual_ImageExtension": "Image extension", 27 | "Visual_Size": "Size", 28 | "Visual_Charge": "Charge", 29 | "Visual_BoundByBox": "Bound by box", 30 | "Visual_ForceGraph_ByWeight": "By Weight", 31 | "Visual_ForceGraph_ByLinkType": "By Link Type", 32 | "Visual_ForceGraph_Links": "Links", 33 | "Visual_ForceGraph_Thickness": "Thickness", 34 | "Visual_ForceGraph_DecimalPlaces": "Decimal Places", 35 | "Visual_ForceGraph_MaxNameLength": "Max name length", 36 | "Visual_ForceGraph_HighlightLinks": "Highlight all reachable links", 37 | "Visual_Description_Label": "Displays weight on links", 38 | "Visual_Description_Thickness": "Thickenss of links represents weight", 39 | "Visual_Short_Description": "Force layout diagram with curved path. Useful to show connections between entities", 40 | "Visual_Long_Description": "The ability to visualize the relationship between items, the weightage of the relationship and the flow often brings out the untold insights into limelight, which are otherwise not very evident. Simple numbers and basic charts won’t be enough to discover and tell such data stories. We need new visualization techniques for the complex world of relationship and Force-Directed Graph thrives to the forefront for such scenarios.\nThis custom visual implements a D3 force layout diagram with curved paths. The thickness of the path represents the weight of the relationship between the nodes.\nSince the relationship and interconnection between large set of entities could be very complex, the visual positions the nodes in such a way that there are few crossings as possible, making the exploration experience easy, fun. The visual also produces the layout which is overall pleasing to the eyes for large data sets. Users can also adjust the layout manually by simply dragging the nodes around.\nIdeally you would need two dimensions and one measure (for the weightage) to use with this visual. But this also works just with a single column.\nThis is an open source visual. Get the code from GitHub: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/es-ES/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Origen", 3 | "Visual_Target": "Destino", 4 | "Visual_Weight": "Peso", 5 | "Visual_SourceType": "Tipo de origen", 6 | "Visual_LinkType": "Tipo de vínculo", 7 | "Visual_TargetType": "Tipo de destino", 8 | "Visual_Animations": "Animaciones", 9 | "Visual_Show": "Mostrar", 10 | "Visual_DataLabels": "Etiquetas de datos", 11 | "Visual_Fill": "Color de relleno", 12 | "Visual_Stroke": "Color de trazo", 13 | "Visual_TextSize": "Tamaño del texto", 14 | "Visual_Font": "Fuente", 15 | "Visual_Intersection": "Intersección", 16 | "Visual_Arrow": "Flecha", 17 | "Visual_Label": "Etiqueta", 18 | "Visual_Interactive": "Interactivo", 19 | "Visual_Color": "Color", 20 | "Visual_DisplayUnits": "Mostrar unidades", 21 | "Visual_Nodes": "Nodos", 22 | "Visual_Image": "Imagen", 23 | "Visual_Options": "Opciones", 24 | "Visual_DefaultImage": "Imagen predeterminada", 25 | "Visual_ImageUrl": "Dirección URL de la imagen", 26 | "Visual_ImageExtension": "Extensión de imagen", 27 | "Visual_Size": "Tamaño", 28 | "Visual_Charge": "Carga", 29 | "Visual_BoundByBox": "Enlazado por un cuadro", 30 | "Visual_ForceGraph_ByWeight": "Por grosor", 31 | "Visual_ForceGraph_ByLinkType": "Por tipo de vínculo", 32 | "Visual_ForceGraph_Links": "Vínculos", 33 | "Visual_ForceGraph_Thickness": "Grosor", 34 | "Visual_ForceGraph_DecimalPlaces": "Posiciones decimales", 35 | "Visual_ForceGraph_MaxNameLength": "Longitud de nombre máxima", 36 | "Visual_ForceGraph_HighlightLinks": "Resaltar todos los vínculos accesibles", 37 | "Visual_Description_Label": "Mostar peso en los vínculos", 38 | "Visual_Description_Thickness": "El grosor de los vínculos representa el peso.", 39 | "Visual_Short_Description": "Diagrama de diseño de fuerza con trazado curvo. Esto es útil para mostrar conexiones entre entidades.", 40 | "Visual_Long_Description": "La capacidad de visualizar las relaciones entre los elementos, la ponderación de la relación y el flujo permite, con frecuencia, ver información oculta y darle protagonismo (algo que, de otra forma, no sería muy evidente). Los números sencillos y los gráficos básicos no serán suficientes para descubrir y contar esas historias de datos. Necesitamos nuevas técnicas de visualización para el mundo complejo de la relación, y el gráfico dirigido por fuerzas se muestra al frente en esos escenarios.\nEste objeto visual personalizado implementa un diagrama de diseño de fuerza de D3 con trazados curvos. El grosor del trazado representa la ponderación de la relación entre los nodos.\nComo la relación y la interconexión entre conjuntos amplios de entidades puede ser muy compleja, el objeto visual coloca los nodos para que se muestre el número mínimo de cruces con el fin de que la experiencia de exploración sea fácil y divertida. El objeto visual también produce el diseño, que es atractivo para conjuntos de datos de gran tamaño. Los usuarios también pueden ajustar el diseño de forma manual simplemente arrastrando los nodos.\nDe forma ideal, se necesitarían dos dimensiones y una medida (para la ponderación) para usarlas con este objeto visual. Pero también funciona con solo una columna.\nEste es un objeto visual de código abierto. Descargue el código desde GitHub: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/et-EE/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Allikas", 3 | "Visual_Target": "Sihtkoht", 4 | "Visual_Weight": "Kaal", 5 | "Visual_SourceType": "Allika tüüp", 6 | "Visual_LinkType": "Lingi tüüp", 7 | "Visual_TargetType": "Sihtüksuse tüüp", 8 | "Visual_Animations": "Animatsioonid", 9 | "Visual_Show": "Kuva", 10 | "Visual_DataLabels": "Andmesildid", 11 | "Visual_Fill": "Täitevärv", 12 | "Visual_Stroke": "Joone värv", 13 | "Visual_TextSize": "Teksti suurus", 14 | "Visual_Font": "Font", 15 | "Visual_Intersection": "Lõikepunkt", 16 | "Visual_Arrow": "Nool", 17 | "Visual_Label": "Silt", 18 | "Visual_Interactive": "Interaktiivne", 19 | "Visual_Color": "Värv", 20 | "Visual_DisplayUnits": "Kuva ühikud", 21 | "Visual_Nodes": "Sõlmpunktid", 22 | "Visual_Image": "Pilt", 23 | "Visual_Options": "Suvandid", 24 | "Visual_DefaultImage": "Vaikepilt", 25 | "Visual_ImageUrl": "Pildi URL", 26 | "Visual_ImageExtension": "Pildi laiend", 27 | "Visual_Size": "Suurus", 28 | "Visual_Charge": "Tasu", 29 | "Visual_BoundByBox": "Piiratud väljaga", 30 | "Visual_ForceGraph_ByWeight": "Jämeduse järgi", 31 | "Visual_ForceGraph_ByLinkType": "Lingi tüübi järgi", 32 | "Visual_ForceGraph_Links": "Lingid", 33 | "Visual_ForceGraph_Thickness": "Jämedus", 34 | "Visual_ForceGraph_DecimalPlaces": "Komakohad", 35 | "Visual_ForceGraph_MaxNameLength": "Nime max pikkus", 36 | "Visual_ForceGraph_HighlightLinks": "Tõsta kõik kättesaadavad lingid esile", 37 | "Visual_Description_Label": "Kuvab kaalu linkidel", 38 | "Visual_Description_Thickness": "Linkide jämedus tähistab kaalu", 39 | "Visual_Short_Description": "Kaarja suunaga jõustatud paigutusega diagramm. Kasulik olemitevaheliste ühenduste kuvamiseks", 40 | "Visual_Long_Description": "Võimalus visualiseerida üksustevahelist seost ja seose ning voo osakaalu toob tihtipeale avalikkuse ette sellised ülevaated, mis ei ole muidu väga ilmsed. Lihtsad numbrid ja tavalised diagrammid ei ole selliste andmelugude tuvastamiseks ning edastamiseks piisavad. Seoste keerulise maailma tarbeks vajame uusi visualiseerimistehnikaid ja Force-Directed Graph tuleb selliste stsenaariumite korral esiplaanile.\nSee kohandatud visuaal rakendab kaardus teedega D3 jõustatud paigutusega diagrammi. Tee paksus esindab sõlmedevahelise seose kaalu.\nKuna suurte üksustekogumite vahelised seosed ja ühendused võivad olla väga keerukad, paigutab visuaal sõlmed sellisel viisil, et ristumisi oleks võimalikult vähe, mis muudab avastamiskogemuse hõlpsaks ning lõbusaks. Visuaal pakub ka paigutust, mis on suurte andmekogumite puhul silmale hästi hoomatav. Kasutajad saavad paigutust sõlmede lohistamise kaudu ka käsitsi muuta.\nIdeaalis oleks visuaaliga kasutamiseks vaja kahte dimensiooni ja ühte mõõtu (osakaalu jaoks). Kuid see töötab ka vaid ühe veeruga.\nSee on avatud lähtekoodiga visuaal. Hankige kood GitHubist: https://github.com/Microsoft/PowerBI-visuals-ForceGraph." 41 | } -------------------------------------------------------------------------------- /stringResources/eu-ES/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Iturburua", 3 | "Visual_Target": "Helburua", 4 | "Visual_Weight": "Pisua", 5 | "Visual_SourceType": "Iturburu mota", 6 | "Visual_LinkType": "Esteka mota", 7 | "Visual_TargetType": "Helburu mota", 8 | "Visual_Animations": "Animazioak", 9 | "Visual_Show": "Erakutsi", 10 | "Visual_DataLabels": "Datuen etiketak", 11 | "Visual_Fill": "Betetze-kolorea", 12 | "Visual_Stroke": "Trazuaren kolorea", 13 | "Visual_TextSize": "Testu-tamaina", 14 | "Visual_Font": "Letra-tipoa", 15 | "Visual_Intersection": "Ebakidura", 16 | "Visual_Arrow": "Gezia", 17 | "Visual_Label": "Etiketa", 18 | "Visual_Interactive": "Interaktiboa", 19 | "Visual_Color": "Kolorea", 20 | "Visual_DisplayUnits": "Bistaratze-unitateak", 21 | "Visual_Nodes": "Nodoak", 22 | "Visual_Image": "Irudia", 23 | "Visual_Options": "Aukerak", 24 | "Visual_DefaultImage": "Irudi lehenetsia", 25 | "Visual_ImageUrl": "Irudiaren URLa", 26 | "Visual_ImageExtension": "Irudien luzapena", 27 | "Visual_Size": "Tamaina", 28 | "Visual_Charge": "Karga", 29 | "Visual_BoundByBox": "Elkartu koadroaren arabera", 30 | "Visual_ForceGraph_ByWeight": "Pisuaren arabera", 31 | "Visual_ForceGraph_ByLinkType": "Esteka motaren arabera", 32 | "Visual_ForceGraph_Links": "Estekak", 33 | "Visual_ForceGraph_Thickness": "Loditasuna", 34 | "Visual_ForceGraph_DecimalPlaces": "Hamartarrak", 35 | "Visual_ForceGraph_MaxNameLength": "Izenen gehienezko luzera", 36 | "Visual_ForceGraph_HighlightLinks": "Nabarmendu esteka eskuragarri guztiak", 37 | "Visual_Description_Label": "Pisua bistatzen du esteketan", 38 | "Visual_Description_Thickness": "Esteken lodierak pisua adierazten du", 39 | "Visual_Short_Description": "Diseinu behartuko diagrama, ibilbide kurbatuarekin. Entitateen arteko konexioak erakusteko balio du.", 40 | "Visual_Long_Description": "Elementuen arteko erlazioa, erlazioaren pisua eta fluxua bistaratuta, xehetasun ezezagunak ateratzen dira argira, bestela oso argiak izango ez litzatekeen moduan. Zenbaki arruntak eta oinarrizko diagramak erabiltzea ez da nahikoa datuek adierazten duten guztia aurkitzeko. Datuak bistaratzeko teknika berriak behar ditugu erlazioen mundu konplexurako, eta Force-Directed Graph elementu bisualarekin menderatuta izango dituzu egoera horiek.\nElementu bisual pertsonalizatu honek D3 indarrezko diseinudun diagrama bat inplementatzen du ibilbide kurbatuekin. Ibilbidearen lodierak nodoen arteko erlazioaren pisua adierazten du.\nEntitate multzo handien arteko erlazioa eta interkonexioa oso konplexua izan daitekeenez, elementu bisualak ahalik eta gurutzapen gutxien erabiltzen ditu nodoen artean, datuak erraz esploratu ahal izateko. Gainera, elementu bisualak sortutako diseinua oso ikuserraza da datu multzo handietarako ere. Diseinua eskuz doi daiteke nodoak arrastatuta.\nAhal izanez gero, bi dimentsio eta neurri bat (pisua kalkulatzeko) beharko zenituzke elementu bisual hau erabiltzeko. Hala ere, zutabe bakar gisa ere erabil daiteke.\nKode irekikoa da elementu bisual hau. Eskuratu kodea GitHub-en: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/fi-FI/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Lähde", 3 | "Visual_Target": "Tavoite", 4 | "Visual_Weight": "Paino", 5 | "Visual_SourceType": "Lähdetyyppi", 6 | "Visual_LinkType": "Linkin tyyppi", 7 | "Visual_TargetType": "Kohteen tyyppi", 8 | "Visual_Animations": "Animaatiot", 9 | "Visual_Show": "Näytä", 10 | "Visual_DataLabels": "Arvopisteiden otsikot", 11 | "Visual_Fill": "Täyttöväri", 12 | "Visual_Stroke": "Viivan väri", 13 | "Visual_TextSize": "Tekstin koko", 14 | "Visual_Font": "Fontti", 15 | "Visual_Intersection": "Leikkaus", 16 | "Visual_Arrow": "Nuoli", 17 | "Visual_Label": "Tarra", 18 | "Visual_Interactive": "Vuorovaikutteinen", 19 | "Visual_Color": "Väri", 20 | "Visual_DisplayUnits": "Näytön yksiköt", 21 | "Visual_Nodes": "Solmut", 22 | "Visual_Image": "Kuva", 23 | "Visual_Options": "Asetukset", 24 | "Visual_DefaultImage": "Oletuskuva", 25 | "Visual_ImageUrl": "Kuvan URL-osoite", 26 | "Visual_ImageExtension": "Kuvan tunniste", 27 | "Visual_Size": "Koko", 28 | "Visual_Charge": "Kulu", 29 | "Visual_BoundByBox": "Ruudun ympäröimä", 30 | "Visual_ForceGraph_ByWeight": "Paksuuden mukaan", 31 | "Visual_ForceGraph_ByLinkType": "Linkin tyypin mukaan", 32 | "Visual_ForceGraph_Links": "Linkit", 33 | "Visual_ForceGraph_Thickness": "Paksuus", 34 | "Visual_ForceGraph_DecimalPlaces": "Desimaalit", 35 | "Visual_ForceGraph_MaxNameLength": "Suurin nimen pituus", 36 | "Visual_ForceGraph_HighlightLinks": "Korosta kaikki tavoitettavissa olevat linkit", 37 | "Visual_Description_Label": "Näyttää painotuksen linkeissä", 38 | "Visual_Description_Thickness": "Linkkien paksuus edustaa painotusta", 39 | "Visual_Short_Description": "Pakota asettelukaavio käyrän polun mukaiseksi. Tästä on hyötyä entiteettien välisten yhteyksien näyttämiseen", 40 | "Visual_Long_Description": "Kyky visualisoida kohteiden välinen suhde, suhteen painoarvo ja työnkulku tuovat usein valokeilaan kertomattomat merkitykselliset tiedot, jotka eivät muutoin olisi kovin selkeitä. Yksinkertaiset luvut ja peruskaaviot eivät riitä kyseisten tietotarinoiden löytämiseen ja kertomiseen. Tarvitsemme uusia visualisointitekniikoita monimutkaiselle suhdemaailmalle, ja Force-Directed Graph on erinomainen tällaisille skenaarioille.\nTämä mukautettu visualisointi toteuttaa pakotetun D3-asettelukaavion, jossa on kaarevia polkuja. Polun paksuus ilmaisee solmujen välisen suheen painoarvon.\nKoska suhde ja yhteenliittäminen suuren entiteettien joukon välillä voi olla hyvin monimutkainen, visualisointi sijoittaa solmut niin, että risteymiä on mahdollisimman vähän, mikä tekee tutkimiskokemuksesta helpon ja hauskan. Visualisointi tarjoaa myös suurille tietojoukoille asettelun, joka miellyttää silmää. Käyttäjät voivat myös säätää asettelua manuaalisesti yksinkertaisesti vetämällä solmuja paikasta toiseen.\nIhanteellisessa tilanteessa tarvitsisit kaksi dimensiota ja yhden mittayksikön (painoarvoa varten) käytettäviksi tämän visualisoinnin kanssa. Tämä kuitenkin toimii myös vain yhden sarakkeen kanssa.\nTämä on avoimeen lähdekoodiin perustuva visualisointi. Hanki koodi GitHubista: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/fr-FR/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Source", 3 | "Visual_Target": "Cible ", 4 | "Visual_Weight": "Épaisseur", 5 | "Visual_SourceType": "Type de source", 6 | "Visual_LinkType": "Type de lien", 7 | "Visual_TargetType": "Type de cible", 8 | "Visual_Animations": "Animations", 9 | "Visual_Show": "Afficher", 10 | "Visual_DataLabels": "Étiquettes de données", 11 | "Visual_Fill": "Couleur de remplissage", 12 | "Visual_Stroke": "Couleur du trait", 13 | "Visual_TextSize": "Taille du texte", 14 | "Visual_Font": "Police", 15 | "Visual_Intersection": "Intersection", 16 | "Visual_Arrow": "Flèche", 17 | "Visual_Label": "Étiquette", 18 | "Visual_Interactive": "Interactif", 19 | "Visual_Color": "Couleur", 20 | "Visual_DisplayUnits": "Unités d'affichage", 21 | "Visual_Nodes": "Nœuds", 22 | "Visual_Image": "Image", 23 | "Visual_Options": "Options", 24 | "Visual_DefaultImage": "Image par défaut", 25 | "Visual_ImageUrl": "URL de l'image", 26 | "Visual_ImageExtension": "Extension d'image", 27 | "Visual_Size": "Taille", 28 | "Visual_Charge": "Frais", 29 | "Visual_BoundByBox": "Lié par zone", 30 | "Visual_ForceGraph_ByWeight": "Par poids", 31 | "Visual_ForceGraph_ByLinkType": "Par type de lien", 32 | "Visual_ForceGraph_Links": "Liens", 33 | "Visual_ForceGraph_Thickness": "Épaisseur", 34 | "Visual_ForceGraph_DecimalPlaces": "Nombre de décimales", 35 | "Visual_ForceGraph_MaxNameLength": "Longueur maximale du nom", 36 | "Visual_ForceGraph_HighlightLinks": "Mettre en surbrillance tous les liens accessibles", 37 | "Visual_Description_Label": "Affiche l'importance sur les liens", 38 | "Visual_Description_Thickness": "L'épaisseur des liens représente l'importance", 39 | "Visual_Short_Description": "Diagramme de disposition des forces avec des trajectoires courbes. Utile pour montrer les connexions entre des entités", 40 | "Visual_Long_Description": "La possibilité de visualiser la relation entre des éléments, le poids de la relation et le flux permet de mettre en lumière certains insights peu évidents qui passent souvent inaperçus. Pour découvrir et exposer certains récits de données, l'utilisation de simples chiffres et de graphiques de base est insuffisante. Le graphique des forces se hisse au premier plan des nouvelles techniques de visualisation développées pour illustrer le monde complexe des relations.\nCe visuel personnalisé implémente un diagramme de disposition des forces D3 au moyen de trajectoires courbes. L'épaisseur de la trajectoire représente le poids de la relation entre les nœuds.\nDu fait de la complexité des relations et des interconnexions au sein d'un vaste jeu d'entités, le visuel positionne les nœuds de manière à minimiser les croisements, rendant l'exploration simple et agréable. Le visuel transforme également les grands jeux de données en dispositions esthétiques que les utilisateurs peuvent ajuster manuellement en faisant simplement glisser les nœuds à l'endroit souhaité.\nDans l'idéal, ce visuel accepte deux dimensions et une mesure (pour le poids), mais il fonctionne également avec une seule colonne.\nCe visuel est open source. Obtenez le code sur GitHub ici : https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/gl-ES/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Orixe", 3 | "Visual_Target": "Destino", 4 | "Visual_Weight": "Peso", 5 | "Visual_SourceType": "Tipo de orixe", 6 | "Visual_LinkType": "Tipo de ligazón", 7 | "Visual_TargetType": "Tipo de destino", 8 | "Visual_Animations": "Animacións", 9 | "Visual_Show": "Mostrar", 10 | "Visual_DataLabels": "Etiquetas de datos", 11 | "Visual_Fill": "Cor do enchemento", 12 | "Visual_Stroke": "Cor do trazo", 13 | "Visual_TextSize": "Tamaño do texto", 14 | "Visual_Font": "Tipo de letra", 15 | "Visual_Intersection": "Intersección", 16 | "Visual_Arrow": "Frecha", 17 | "Visual_Label": "Etiqueta", 18 | "Visual_Interactive": "Interactivo", 19 | "Visual_Color": "Cor", 20 | "Visual_DisplayUnits": "Mostrar unidades", 21 | "Visual_Nodes": "Nós", 22 | "Visual_Image": "Imaxe", 23 | "Visual_Options": "Opcións", 24 | "Visual_DefaultImage": "Imaxe predefinida", 25 | "Visual_ImageUrl": "URL da imaxe", 26 | "Visual_ImageExtension": "Extensión de imaxe", 27 | "Visual_Size": "Tamaño", 28 | "Visual_Charge": "Carga", 29 | "Visual_BoundByBox": "Ligado a unha caixa", 30 | "Visual_ForceGraph_ByWeight": "Por grosor", 31 | "Visual_ForceGraph_ByLinkType": "Por tipo de ligazón", 32 | "Visual_ForceGraph_Links": "Ligazóns", 33 | "Visual_ForceGraph_Thickness": "Grosor", 34 | "Visual_ForceGraph_DecimalPlaces": "Posicións decimais", 35 | "Visual_ForceGraph_MaxNameLength": "Lonxitude máxima do nome", 36 | "Visual_ForceGraph_HighlightLinks": "Realzar todas as ligazóns ás que se pode acceder", 37 | "Visual_Description_Label": "Mostra o tamaño nas ligazóns", 38 | "Visual_Description_Thickness": "O grosor das ligazóns representa o tamaño", 39 | "Visual_Short_Description": "Diagrama de deseño de forza cun camiño curvo. É útil para mostrar conexións entre entidades.", 40 | "Visual_Long_Description": "A capacidade de visualizar a relación entre elementos, a importancia da relación e o fluxo adoitan darlle protagonismo á información que non se contara, que, doutro xeito, non sería moi evidente. Os números sinxelos e as gráficas básicas non serán suficiente para descubrir e narrar esas historias dos datos. Precisamos novas técnicas de visualización para o mundo complexo das relacións, e Force-Directed Graph destaca neses escenarios.\nEste elemento visual personalizado incorpora un diagrama de deseño de forza de D3 con camiños curvos. O grosor do camiño representa a importancia da relación entre os nós.\nXa que a relación e interconexión entre grandes conxuntos de entidades pode ser moi complexa, o elemento visual coloca os nós de xeito que haxa o menor número de cruces posible, de forma que a experiencia de exploración é sinxela e divertida. O elemento visual tamén produce o deseño, que é atractivo para os conxuntos de datos de gran tamaño. Os usuarios tamén poden axustar o deseño de xeito manual simplemente ao arrastrar os nós polo espazo.\nO ideal é que teña dúas dimensións e unha medida (para a importancia) para usar con este elemento visual, pero tamén funciona cunha única columna.\nEste é un elemento visual de código aberto. Obteña o código en GitHub: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/he-IL/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "מקור", 3 | "Visual_Target": "יעד", 4 | "Visual_Weight": "משקל", 5 | "Visual_SourceType": "סוג מקור", 6 | "Visual_LinkType": "סוג קישור", 7 | "Visual_TargetType": "סוג יעד", 8 | "Visual_Animations": "הנפשות", 9 | "Visual_Show": "‏‏הצג", 10 | "Visual_DataLabels": "תוויות נתונים", 11 | "Visual_Fill": "צבע מילוי", 12 | "Visual_Stroke": "צבע משיכה", 13 | "Visual_TextSize": "גודל טקסט", 14 | "Visual_Font": "גופן", 15 | "Visual_Intersection": "חיתוך", 16 | "Visual_Arrow": "חץ", 17 | "Visual_Label": "תווית", 18 | "Visual_Interactive": "אינטרקטיבי", 19 | "Visual_Color": "צבע", 20 | "Visual_DisplayUnits": "יחידות תצוגה", 21 | "Visual_Nodes": "צמתים", 22 | "Visual_Image": "תמונה", 23 | "Visual_Options": "אפשרויות", 24 | "Visual_DefaultImage": "תמונת ברירת מחדל", 25 | "Visual_ImageUrl": "כתובת URL של תמונה", 26 | "Visual_ImageExtension": "סיומת קובץ תמונה", 27 | "Visual_Size": "גודל", 28 | "Visual_Charge": "חיוב", 29 | "Visual_BoundByBox": "מאוגדים בתיבה", 30 | "Visual_ForceGraph_ByWeight": "לפי משקל", 31 | "Visual_ForceGraph_ByLinkType": "לפי סוג קישור", 32 | "Visual_ForceGraph_Links": "קישורים", 33 | "Visual_ForceGraph_Thickness": "עובי", 34 | "Visual_ForceGraph_DecimalPlaces": "‏‏מקומות עשרוניים", 35 | "Visual_ForceGraph_MaxNameLength": "אורך שם מקסימלי", 36 | "Visual_ForceGraph_HighlightLinks": "הדגשת כל הקישורים הנגישים", 37 | "Visual_Description_Label": "הצגת משקל בקישורים", 38 | "Visual_Description_Thickness": "עובי הקישורים מייצג משקל", 39 | "Visual_Short_Description": "דיאגרמת פריסת כוחות עם נתיב מעוקל. שימושי להצגת הקשרים בין ישויות", 40 | "Visual_Long_Description": "היכולת להציג באופן חזותי את קשרי הגומלין בין פריטים, את השקלול של קשרי הגומלין ואת הזרימה שלהם מאפשרת לגלות לעתים קרובות את התובנות הנסתרות, שאחרת אינן כה בולטות. לא די במספרים פשוטים ובתרשימים בסיסיים כדי לגלות ולהציג סיפורי נתונים כאלה. אנו זקוקים לטכניקות חדשות לתצוגה חזותית עבור העולם המורכב של קשרי גומלין ו- Force-Directed Graph מיועד להתמודדות עם תרחישים כאלה.\nעזר חזותי מותאם אישית זה מיישם דיאגרמת פריסת כוחות של D3 עם נתיבים מעוקלים. עובי הנתיב מייצג את משקל קשר הגומלין בין הצמתים.\nמכיוון שקשר הגומלין והחברור בין מערך גדול של ישויות עשוי להיות מורכב מאוד, העזר החזותי ממקם את הצמתים באופן כזה שיהיו הצטלבויות מעטות ככל האפשר, ולהפוך את חוויית החקירה לקלה ומהנה. העזר החזותי מפיק גם את הפריסה שהיא נעימה בכללותה לעין עבור ערכות נתונים גדולות. המשתמשים יכולים להתאים את הפריסה גם באופן ידני על-ידי גרירה פשוטה של הצמתים ברחבי בד הציור.\nככלל, נדרשים שני ממדים ומדיד אחד (לצורך השקלול) כדי להשתמש בעזר חזותי זה, אך ניתן להשתמש בו גם עם עמודה אחת בלבד.\nזהו עזר חזותי בקוד פתוח. הורד את הקוד מ- GitHub: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/hi-IN/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "स्रोत", 3 | "Visual_Target": "लक्ष्य", 4 | "Visual_Weight": "भार", 5 | "Visual_SourceType": "स्रोत प्रकार", 6 | "Visual_LinkType": "लिंक प्रकार", 7 | "Visual_TargetType": "लक्ष्य प्रकार", 8 | "Visual_Animations": "एनिमेशन", 9 | "Visual_Show": "दिखाएँ", 10 | "Visual_DataLabels": "डेटा लेबल", 11 | "Visual_Fill": "रंग भरें", 12 | "Visual_Stroke": "स्ट्रोक रंग", 13 | "Visual_TextSize": "पाठ आकार", 14 | "Visual_Font": "फ़ॉन्ट", 15 | "Visual_Intersection": "प्रतिच्छेदन", 16 | "Visual_Arrow": "तीर", 17 | "Visual_Label": "लेबल", 18 | "Visual_Interactive": "इंटरएक्टिव", 19 | "Visual_Color": "रंग", 20 | "Visual_DisplayUnits": "प्रदर्शन इकाइयाँ", 21 | "Visual_Nodes": "नोड्स", 22 | "Visual_Image": "छवि", 23 | "Visual_Options": "विकल्प", 24 | "Visual_DefaultImage": "डिफ़ॉल्ट छवि", 25 | "Visual_ImageUrl": "छवि का url", 26 | "Visual_ImageExtension": "छवि एक्सटेंशन", 27 | "Visual_Size": "आकार", 28 | "Visual_Charge": "शुल्क", 29 | "Visual_BoundByBox": "बॉक्स द्वारा सीमित", 30 | "Visual_ForceGraph_ByWeight": "भार के आधार पर", 31 | "Visual_ForceGraph_ByLinkType": "लिंक प्रकार के आधार पर", 32 | "Visual_ForceGraph_Links": "लिंक", 33 | "Visual_ForceGraph_Thickness": "मोटाई", 34 | "Visual_ForceGraph_DecimalPlaces": "दशमलव बिंदु", 35 | "Visual_ForceGraph_MaxNameLength": "नाम की अधिकतम लंबाई", 36 | "Visual_ForceGraph_HighlightLinks": "सभी पहुँच योग्य लिंक हाइलाइट करें", 37 | "Visual_Description_Label": "लिंक पर मान प्रदर्शित करता है", 38 | "Visual_Description_Thickness": "लिंक्स की मोटाई मान का प्रतिनिधित्व करती है", 39 | "Visual_Short_Description": "वक्रीय पथ वाला फ़ोर्स लेआउट आरेख. निकायों के बीच कनेक्शन दिखाने में उपयोगी", 40 | "Visual_Long_Description": "आइटम्स के बीच संबंध विज़ुअलाइज़ करने की क्षमता, संबंध की भारिता और प्रवाह अक्सर उन अनकही जानकारियों को चर्चा में ला देता है, जो अन्यथा बहुत स्पष्ट नहीं होती हैं. साधारण संख्याएँ और मूल चार्ट ऐसी डेटा स्टोरीज़ का अन्वेषण करने और बताने के लिए पर्याप्त नहीं होंगे. संबंध की जटिल दुनिया के लिए हमें नई विज़ुअलाइज़ेशन तकनीकों की आवश्यकता है और ऐसे परिदृश्यों के लिए फ़ोर्स-निर्देशित ग्राफ़ सबसे आगे का मोर्चा संभालता है.\nयह कस्टम विज़ुअल वक्रीय पथों के साथ एक D3 फ़ोर्स लेआउट आरेख को क्रियान्वित करता है. पथ की मोटाई नोड्स के बीच संबंध का मान दर्शाती है.\nचूंकि निकायों के बड़े सेट के बीच संबंध और इंटरकनेक्शन बेहद जटिल हो सकते हैं, इसलिए विजुअल नोड्स को इस प्रकार स्थित करता है कि यथासंभव कम से कम क्रॉसिंग्स हों, ताकि अन्वेषण करने का अनुभव आसान, मज़ेदार हो. विज़ुअल ऐसा लेआउट भी निर्मित करता है, जो बड़े डेटा सेट्स के लिए कुल मिलाकर आँखों को सुखद लगे. उपयोगकर्ता भी नोड्स को महज इधर-उधर खींच कर मैन्युअल रूप से लेआउट को समायोजित कर सकते हैं.\nआदर्श रूप में इस विज़ुअल के साथ उपयोग करने के लिए आपको दो आयामों और एक माप (भारिता के लिए) की आवश्यकता होगी. लेकिन यह मात्र एक स्तंभ के साथ भी कार्य करता है.\nयह एक ओपन सोर्स विज़ुअल है. GitHub से कोड प्राप्त करें: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/hr-HR/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Izvor", 3 | "Visual_Target": "Cilj", 4 | "Visual_Weight": "Ponder", 5 | "Visual_SourceType": "Vrsta izvora", 6 | "Visual_LinkType": "Vrsta veze", 7 | "Visual_TargetType": "Vrsta cilja", 8 | "Visual_Animations": "Animacije", 9 | "Visual_Show": "Pokaži", 10 | "Visual_DataLabels": "Oznake podataka", 11 | "Visual_Fill": "Boja ispune", 12 | "Visual_Stroke": "Boja poteza", 13 | "Visual_TextSize": "Veličina teksta", 14 | "Visual_Font": "Font", 15 | "Visual_Intersection": "Presjek", 16 | "Visual_Arrow": "Strelica", 17 | "Visual_Label": "Oznaka", 18 | "Visual_Interactive": "Interaktivno", 19 | "Visual_Color": "Boja", 20 | "Visual_DisplayUnits": "Jedinice za prikaz", 21 | "Visual_Nodes": "Čvorovi", 22 | "Visual_Image": "Slika", 23 | "Visual_Options": "Mogućnosti", 24 | "Visual_DefaultImage": "Zadana slika", 25 | "Visual_ImageUrl": "URL slike", 26 | "Visual_ImageExtension": "Proširenje slike", 27 | "Visual_Size": "Veličina", 28 | "Visual_Charge": "Naknada", 29 | "Visual_BoundByBox": "Ograničeno okvirom", 30 | "Visual_ForceGraph_ByWeight": "Po debljini", 31 | "Visual_ForceGraph_ByLinkType": "Po vrsti veze", 32 | "Visual_ForceGraph_Links": "Veze", 33 | "Visual_ForceGraph_Thickness": "Debljina", 34 | "Visual_ForceGraph_DecimalPlaces": "Decimalna mjesta", 35 | "Visual_ForceGraph_MaxNameLength": "Maksimalna duljina naziva", 36 | "Visual_ForceGraph_HighlightLinks": "Istakni sve veze kojima se može pristupiti", 37 | "Visual_Description_Label": "Prikazuje težinu na vezama", 38 | "Visual_Description_Thickness": "Debljina veze predstavlja težinu", 39 | "Visual_Short_Description": "Dijagram prisilnog izgleda sa zakrivljenom putanjom. Koristan je za prikaz veza između entiteta", 40 | "Visual_Long_Description": "Mogućnost vizualizacije odnosa između stavki, ponderiranja odnosa i toka često omogućuje dobivanje uvida koji inače nisu očiti. Jednostavni brojevi i osnovni grafikoni neće biti dovoljni za otkrivanje i prijenos takvih značenja podataka. Potrebni su nam novi vizualizacijski postupci za složeni svijet odnosa i prisilno usmjereni grafikon najprimjereniji je za takve scenarije.\nTaj prilagođeni vizual implementira D3 prisilni izgled grafikona sa zakrivljenim putanjama. Debljina putanje predstavlja ponder odnosa između čvorova.\nBudući da međuodnos i međusobna povezanost u velikom skupu entiteta mogu biti vrlo složeni, vizual čvorove postavlja tako da ima što manje presijecanja, pa je istraživanje jednostavno i zabavno. Uz to, vizual stvara izgled koji je u cijelosti vizualno atraktivan za velike skupove podataka. Korisnici mogu i ručno prilagoditi izgled jednostavnim povlačenjem ručica.\nU idealnom su vam slučaju za korištenje vizuala potrebne dvije dimenzije i jedna mjera (za ponderiranje). No funkcionira i samo s jednim stupcem.\nTo je vizual otvorenog koda. Kod preuzmite sa servisa GitHub: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/hu-HU/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Forrás", 3 | "Visual_Target": "Cél", 4 | "Visual_Weight": "Súlyozás", 5 | "Visual_SourceType": "Forrás típusa", 6 | "Visual_LinkType": "Hivatkozás típusa", 7 | "Visual_TargetType": "Cél típusa", 8 | "Visual_Animations": "Animációk", 9 | "Visual_Show": "Megjelenítés", 10 | "Visual_DataLabels": "Adatfeliratok", 11 | "Visual_Fill": "Kitöltési szín", 12 | "Visual_Stroke": "Ecsetvonás színe", 13 | "Visual_TextSize": "Szöveg mérete", 14 | "Visual_Font": "Betűtípus", 15 | "Visual_Intersection": "Metszéspont", 16 | "Visual_Arrow": "Nyíl", 17 | "Visual_Label": "Címke", 18 | "Visual_Interactive": "Interaktív", 19 | "Visual_Color": "Szín", 20 | "Visual_DisplayUnits": "Megjelenítési egységek", 21 | "Visual_Nodes": "Csomópontok", 22 | "Visual_Image": "Kép", 23 | "Visual_Options": "Beállítások", 24 | "Visual_DefaultImage": "Alapértelmezett kép", 25 | "Visual_ImageUrl": "Kép URL-címe", 26 | "Visual_ImageExtension": "Kép kiterjesztése", 27 | "Visual_Size": "Méret", 28 | "Visual_Charge": "Díj", 29 | "Visual_BoundByBox": "Határmező", 30 | "Visual_ForceGraph_ByWeight": "Súly szerint", 31 | "Visual_ForceGraph_ByLinkType": "Hivatkozás típusa szerint", 32 | "Visual_ForceGraph_Links": "Hivatkozások", 33 | "Visual_ForceGraph_Thickness": "Vastagság", 34 | "Visual_ForceGraph_DecimalPlaces": "Tizedeshelyek", 35 | "Visual_ForceGraph_MaxNameLength": "Név max. hossza", 36 | "Visual_ForceGraph_HighlightLinks": "Az összes elérhető hivatkozás kiemelése", 37 | "Visual_Description_Label": "A hivatkozásokon megjeleníti a súlyozást", 38 | "Visual_Description_Thickness": "A hivatkozások vékonysága a súlyozást jelöli", 39 | "Visual_Short_Description": "Ívelt vonalas elrendezés kikényszerítése a diagramon. Az entitások közötti kapcsolatok megjelenítésekor hasznos", 40 | "Visual_Long_Description": "Az elemek közötti kapcsolatoknak, a kapcsolatok súlyozásának és a folyamatnak a megjelenítésével gyakran olyan implicit megállapítások kerülnek napvilágra, amelyek máskülönben nem lennének észrevehetők. Az ilyen adattörténetek felderítéséhez és elmeséléséhez a számok és a normál diagramok nem elegendőek. A kapcsolatok összetett világának megjelenítéséhez új vizualizációs módszerekre van szükség, és az erőegyensúlyos diagram adja magát az ilyen helyzetekhez.\nEz az egyedi vizualizáció egy D3 erőelrendezési diagram ívelt útvonalakkal – az útvonalak vastagsága a csomópontok közötti kapcsolat súlyát jelöli.\nMivel a nagyméretű entitáshalmazok kapcsolatai és összefüggései rendkívül összetettek lehetnek, a vizualizáció a csomópontok elrendezésében törekszik elkerülni a kereszteződéseket, így javítva az áttekinthetőséget és növelve az értelmezés élményét. A vizualizáció emellett az elrendezést úgy alakítja ki, hogy az jól áttekinthető legyen a nagyobb adatkészletek esetében is. A felhasználó manuálisan tovább módosíthatja az elrendezést a csomópontok húzásával.\nIdeális esetben ennek a vizualizációnak a használatához két dimenzió szükséges, valamint egy mérték (a súlyozáshoz), de akár egyetlen oszloppal is használható.\nEz egy nyílt forráskódú vizualizáció. A kód letölthető a GitHubról: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/id-ID/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Sumber", 3 | "Visual_Target": "Target", 4 | "Visual_Weight": "Berat", 5 | "Visual_SourceType": "Jenis Sumber", 6 | "Visual_LinkType": "Tipe Tautan", 7 | "Visual_TargetType": "Jenis Target", 8 | "Visual_Animations": "Animasi", 9 | "Visual_Show": "Tampilkan", 10 | "Visual_DataLabels": "Label data", 11 | "Visual_Fill": "Warna isian", 12 | "Visual_Stroke": "Warna coretan", 13 | "Visual_TextSize": "Ukuran Teks", 14 | "Visual_Font": "Font", 15 | "Visual_Intersection": "Persimpangan", 16 | "Visual_Arrow": "Panah", 17 | "Visual_Label": "Label", 18 | "Visual_Interactive": "Interaktif", 19 | "Visual_Color": "Warna", 20 | "Visual_DisplayUnits": "Unit Tampilan", 21 | "Visual_Nodes": "Node", 22 | "Visual_Image": "citra", 23 | "Visual_Options": "Opsi", 24 | "Visual_DefaultImage": "Gambar default", 25 | "Visual_ImageUrl": "Url Gambar", 26 | "Visual_ImageExtension": "Ekstensi gambar", 27 | "Visual_Size": "Ukuran", 28 | "Visual_Charge": "Tarif", 29 | "Visual_BoundByBox": "Batas menurut kotak", 30 | "Visual_ForceGraph_ByWeight": "Berdasarkan Berat", 31 | "Visual_ForceGraph_ByLinkType": "Berdasarkan Jenis Tautan", 32 | "Visual_ForceGraph_Links": "Tautan", 33 | "Visual_ForceGraph_Thickness": "Ketebalan", 34 | "Visual_ForceGraph_DecimalPlaces": "Tempat Desimal", 35 | "Visual_ForceGraph_MaxNameLength": "Panjang nama maks", 36 | "Visual_ForceGraph_HighlightLinks": "Sorot semua tautan yang dapat dijangkau", 37 | "Visual_Description_Label": "Menampilkan bobot pada tautan", 38 | "Visual_Description_Thickness": "Ketebalan tautan menunjukkan bobot", 39 | "Visual_Short_Description": "Diagram tata letak gaya dengan jalur melengkung. Berguna untuk menunjukkan hubungan antara entitas", 40 | "Visual_Long_Description": "Kemampuan untuk memvisualisasikan hubungan antara item, bobot hubungan dan alur sering kali memberikan wawasan baru yang tidak tampak di permukaan. Angka dan bagan sederhana tidak cukup untuk menemukan dan menjelaskan data ini. Kami memerlukan teknik visualisasi baru untuk menjelaskan hubungan yang kompleks dan Grafik yang Diarahkan Gaya berada di garis terdepan dalam skenario semacam ini.\nVisual kustom ini menerapkan diagram tata letak gaya D3 dengan jalur melengkung. Ketebalan jalur menunjukkan bobot hubungan antara node.\nKarena hubungan dan interkoneksi antara sejumlah entitas besar bisa sangat kompleks, maka visual ini memposisikan node sedemikian rupa guna meminimalkan node yang bersilangan, sehingga pengalaman menjelajahi data menjadi mudah dan menyenangkan. Visual juga menghasilkan tata letak yang secara keseluruhan enak dilihat untuk himpunan data yang besar. Pengguna juga dapat menyesuaikan tata letak secara manual cukup dengan menyeret node ke sekitarnya.\nIdealnya, Anda memerlukan dua dimensi dan satu pengukuran (untuk bobot) untuk digunakan dengan visual ini. Visual ini juga tetap berfungsi meski hanya dengan satu kolom.\nIni adalah visual sumber terbuka. Dapatkan kodenya dari GitHub: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/it-IT/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Origine", 3 | "Visual_Target": "Destinazione", 4 | "Visual_Weight": "Peso", 5 | "Visual_SourceType": "Tipo di origine", 6 | "Visual_LinkType": "Tipo di collegamento", 7 | "Visual_TargetType": "Tipo di destinazione", 8 | "Visual_Animations": "Animazioni", 9 | "Visual_Show": "Mostra", 10 | "Visual_DataLabels": "Etichette dati", 11 | "Visual_Fill": "Colore riempimento", 12 | "Visual_Stroke": "Colore tratto", 13 | "Visual_TextSize": "Dimensioni testo", 14 | "Visual_Font": "Tipo di carattere", 15 | "Visual_Intersection": "Intersezione", 16 | "Visual_Arrow": "Freccia", 17 | "Visual_Label": "Etichetta", 18 | "Visual_Interactive": "Interattivo", 19 | "Visual_Color": "Colore", 20 | "Visual_DisplayUnits": "Unità visualizzate", 21 | "Visual_Nodes": "Nodi", 22 | "Visual_Image": "Immagine", 23 | "Visual_Options": "Opzioni", 24 | "Visual_DefaultImage": "Immagine predefinita", 25 | "Visual_ImageUrl": "URL immagine", 26 | "Visual_ImageExtension": "Estensione di immagine", 27 | "Visual_Size": "Dimensioni", 28 | "Visual_Charge": "Addebito", 29 | "Visual_BoundByBox": "Associato alla casella", 30 | "Visual_ForceGraph_ByWeight": "Per peso", 31 | "Visual_ForceGraph_ByLinkType": "Per tipo di collegamento", 32 | "Visual_ForceGraph_Links": "Collegamenti", 33 | "Visual_ForceGraph_Thickness": "Spessore bordo", 34 | "Visual_ForceGraph_DecimalPlaces": "Cifre decimali", 35 | "Visual_ForceGraph_MaxNameLength": "Lunghezza massima del nome", 36 | "Visual_ForceGraph_HighlightLinks": "Evidenzia tutti i collegamenti raggiungibili", 37 | "Visual_Description_Label": "Visualizza peso nei collegamenti", 38 | "Visual_Description_Thickness": "Lo spessore dei collegamenti rappresenta il peso", 39 | "Visual_Short_Description": "Diagramma force layout con tracciato curvo. Utile per visualizzare le connessioni tra entità", 40 | "Visual_Long_Description": "Poter visualizzare la relazione tra gli elementi, la ponderazione della relazione e il flusso spesso consente spesso di portare alla luce aspetti che diversamente non sono molto evidenti. Semplici numeri e grafici di base non sono sufficienti per scoprire e raccontare la storia dei dati. Servono nuove tecniche di visualizzazione pensate per il complesso mondo delle relazioni. In tal senso Force-Directed Graph è la soluzione ideale per tali scenari.\nQuesto oggetto visivo personalizzato consente di implementare un diagramma force layout D3 con tracciati curvi. Lo spessore del percorso rappresenta il peso della relazione tra i nodi.\nDal momento che la relazione e l'interconnessione tra set di entità estesi possono essere molto complesse, l'oggetto visivo posiziona i nodi in modo tale da ridurre al minimo gli attraversamenti, rendendo l'esperienza di esplorazione facile e divertente. L'oggetto visivo produce anche un layout gradevole nel complesso per set di dati estesi. Gli utenti possono inoltre regolare il layout manualmente trascinando i nodi.\nDal punto di vista teorico sono necessarie due dimensioni e una misura (per la ponderazione) da usare con questo oggetto visivo, anche se quest'ultimo funziona ugualmente con una sola colonna.\nOggetto visivo open source. Il codice sorgente è disponibile su GitHub all'indirizzo https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/ja-JP/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "ソース", 3 | "Visual_Target": "ターゲット", 4 | "Visual_Weight": "重量", 5 | "Visual_SourceType": "ソースの種類", 6 | "Visual_LinkType": "リンクの種類", 7 | "Visual_TargetType": "ターゲットの種類", 8 | "Visual_Animations": "アニメーション", 9 | "Visual_Show": "表示", 10 | "Visual_DataLabels": "データ ラベル", 11 | "Visual_Fill": "塗りつぶしの色", 12 | "Visual_Stroke": "ストロークの色", 13 | "Visual_TextSize": "テキスト サイズ", 14 | "Visual_Font": "フォント", 15 | "Visual_Intersection": "共通部分", 16 | "Visual_Arrow": "矢印", 17 | "Visual_Label": "ラベル", 18 | "Visual_Interactive": "対話型", 19 | "Visual_Color": "色", 20 | "Visual_DisplayUnits": "表示単位", 21 | "Visual_Nodes": "ノード", 22 | "Visual_Image": "イメージ", 23 | "Visual_Options": "オプション​​", 24 | "Visual_DefaultImage": "既定イメージ", 25 | "Visual_ImageUrl": "画像の URL", 26 | "Visual_ImageExtension": "イメージの拡張子", 27 | "Visual_Size": "サイズ", 28 | "Visual_Charge": "料金", 29 | "Visual_BoundByBox": "四角形で囲まれた", 30 | "Visual_ForceGraph_ByWeight": "太さ別", 31 | "Visual_ForceGraph_ByLinkType": "リンクの種類別", 32 | "Visual_ForceGraph_Links": "リンク", 33 | "Visual_ForceGraph_Thickness": "太さ", 34 | "Visual_ForceGraph_DecimalPlaces": "小数点以下桁数", 35 | "Visual_ForceGraph_MaxNameLength": "名前の最大長", 36 | "Visual_ForceGraph_HighlightLinks": "到達可能リンクすべてを強調表示", 37 | "Visual_Description_Label": "リンクの重みを表示します", 38 | "Visual_Description_Thickness": "リンクの太さは重みを表します", 39 | "Visual_Short_Description": "曲線軌道を使用したレイアウト ダイアグラムを強制します。エンティティ間の接続を示すのに役立ちます", 40 | "Visual_Long_Description": "項目間の関係と、その関係の重みとフローを視覚化できると、他の方法ではあまりはっきりしない膨大な量の分析情報がしばしば明らかになります。単純な数字と基本的なグラフでは、このようなデータ ストーリーを発見したり表現したりできません。複雑な関係の世界を視覚化する新しい技法が必要だったため、Force-Directed グラフがそのようなシナリオとして脚光を浴びています。\nこのカスタムの視覚エフェクトは、弧を描くパスを使って D3 フォース レイアウト ダイアグラムを実装します。パスの太さは、ノード間の関係の重みを表します。\n大量のエンティティ セット間の関係と相互接続は非常に複雑なものになることがあるため、この視覚エフェクトでは、各ノードをなるべく交差しないように配置することにより、簡単かつ興味深い調査方法を実現しています。また、この視覚エフェクトでは、大規模なデータセット全体から目で見て楽しいレイアウトを生成することもできます。ユーザーは、ノードをドラッグして移動するだけで、レイアウトを手動で調整することもできます\nこの視覚エフェクトを使用するケースとして理想的なのは、2 つのディメンションと 1 つのメジャー (重み) がある場合です。ただし、1 つの列のみでも機能します。\nこれは、オープンソースの視覚エフェクトです。コードは GitHub から取得します : https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/kk-KZ/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Көз", 3 | "Visual_Target": "Мақсатты мән", 4 | "Visual_Weight": "Салмақ", 5 | "Visual_SourceType": "Деректер көзінің түрі", 6 | "Visual_LinkType": "Сілтеме түрі", 7 | "Visual_TargetType": "Мақсатты нысан түрі", 8 | "Visual_Animations": "Анимациялар", 9 | "Visual_Show": "Көрсету", 10 | "Visual_DataLabels": "Деректер белгілері", 11 | "Visual_Fill": "Бояу түсі", 12 | "Visual_Stroke": "Штрих түсі", 13 | "Visual_TextSize": "Мәтін өлшемі", 14 | "Visual_Font": "Қаріп", 15 | "Visual_Intersection": "Қиылыс", 16 | "Visual_Arrow": "Көрсеткі", 17 | "Visual_Label": "Белгі", 18 | "Visual_Interactive": "Интерактивті", 19 | "Visual_Color": "Түс", 20 | "Visual_DisplayUnits": "Бірліктерді көрсету", 21 | "Visual_Nodes": "Түйіндер", 22 | "Visual_Image": "Сурет", 23 | "Visual_Options": "Параметрлер", 24 | "Visual_DefaultImage": "Әдепкі кескін", 25 | "Visual_ImageUrl": "Кескіннің url мекенжайы", 26 | "Visual_ImageExtension": "Кескін кеңейтімі", 27 | "Visual_Size": "Өлшем", 28 | "Visual_Charge": "Ақы", 29 | "Visual_BoundByBox": "Тереземен шектелген", 30 | "Visual_ForceGraph_ByWeight": "Қалыңдық бойынша", 31 | "Visual_ForceGraph_ByLinkType": "Сілтеме бойынша түрі", 32 | "Visual_ForceGraph_Links": "Сілтемелер", 33 | "Visual_ForceGraph_Thickness": "Қалыңдық", 34 | "Visual_ForceGraph_DecimalPlaces": "Ондық таңбалар саны", 35 | "Visual_ForceGraph_MaxNameLength": "Максималды ат ұзындығы", 36 | "Visual_ForceGraph_HighlightLinks": "Барлық қолжетімді сілтемелерді ерекшелеу", 37 | "Visual_Description_Label": "Сілтемелерде салмақты көрсетеді", 38 | "Visual_Description_Thickness": "Сілтемелердің қалыңдығы салмақты береді", 39 | "Visual_Short_Description": "Қисық сызықты жолы бар күшке негізделген орналасу диаграммасы. Нысандар арасындағы байланыстарды көрсету үшін пайдалы", 40 | "Visual_Long_Description": "Элементтер арасындағы қатынасты, қатынастың салмақтылығын және ағынды көрнекілендіру мүмкіндігі көбінесе басқаша жағдайда онша анық болмайтын, айтылмаған мәліметтерді қамтамасыз етеді. Қарапайым сандар мен негізгі диаграммалар мұндай деректер қатынастарын анықтау және көрсету үшін жеткіліксіз болады. Қатынастардың күрделі әлемі үшін бізге жаңа көрнекілендіру әдістері қажет және мұндай сценарийлер үшін күшке негізделген граф (Force-Directed Graph) алға шығады.\nБұл реттелетін көрнекі элемент қисық сызықты жолдары бар D3 күш орналастыру диаграммасын орындайды. Жолдың қалыңдығы түйіндер арасындағы қатынастың салмағын көрсетеді.\nНысандардың үлкен жиынтықтары арасындағы қатынас пен өзара байланыс өте күрделі болуы мүмкін болғандықтан, көрнекі элемент түйіндерді қиылыстар барынша аз болатындай етіп орналастырып, зерттеуді оңайлатады және тартымды етеді. Сондай-ақ, көрнекі элемент үлкен деректер жиынтықтары үшін жалпы көзге жағымды орналасуды қамтамасыз етеді. Пайдаланушылар орналасуды түйіндерін тарту арқылы қолмен реттей алады.\nМінсіз жағдайда, бұл көрнекі элементпен бірге пайдалану үшін сізге екі өлшем мен бір көрсеткіш (салмақтылық үшін) қажет болады. Бірақ ол тек бір бағанмен де жұмыс істейді.\nБұл ашық кодты көрнекі элемент. Кодты алыңыз: GitHub: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/ko-KR/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "소스", 3 | "Visual_Target": "대상", 4 | "Visual_Weight": "무게", 5 | "Visual_SourceType": "원본 유형", 6 | "Visual_LinkType": "링크 유형", 7 | "Visual_TargetType": "대상 형식", 8 | "Visual_Animations": "애니메이션", 9 | "Visual_Show": "표시", 10 | "Visual_DataLabels": "데이터 레이블", 11 | "Visual_Fill": "채우기 색", 12 | "Visual_Stroke": "스트로크 색", 13 | "Visual_TextSize": "텍스트 크기", 14 | "Visual_Font": "글꼴", 15 | "Visual_Intersection": "교차", 16 | "Visual_Arrow": "화살표", 17 | "Visual_Label": "레이블", 18 | "Visual_Interactive": "대화형", 19 | "Visual_Color": "색", 20 | "Visual_DisplayUnits": "표시 단위", 21 | "Visual_Nodes": "노드", 22 | "Visual_Image": "이미지", 23 | "Visual_Options": "옵션", 24 | "Visual_DefaultImage": "기본 이미지", 25 | "Visual_ImageUrl": "이미지 URL", 26 | "Visual_ImageExtension": "이미지 확장명", 27 | "Visual_Size": "크기", 28 | "Visual_Charge": "요금", 29 | "Visual_BoundByBox": "상자별로 바인딩됨", 30 | "Visual_ForceGraph_ByWeight": "가중치별", 31 | "Visual_ForceGraph_ByLinkType": "링크 유형별", 32 | "Visual_ForceGraph_Links": "링크", 33 | "Visual_ForceGraph_Thickness": "두께", 34 | "Visual_ForceGraph_DecimalPlaces": "소수 자릿수", 35 | "Visual_ForceGraph_MaxNameLength": "최대 이름 길이", 36 | "Visual_ForceGraph_HighlightLinks": "연결 가능한 모든 링크 강조 표시", 37 | "Visual_Description_Label": "링크에 대한 가중치 표시", 38 | "Visual_Description_Thickness": "링크의 두께는 가중치를 나타냄", 39 | "Visual_Short_Description": "곡선 경로가 포함된 레이아웃 다이어그램을 강제로 적용합니다. 엔터티 간 연결을 표시하는 데 유용합니다.", 40 | "Visual_Long_Description": "항목 간의 관계, 관계의 가중치, 흐름을 시각화할 수 있으면 다른 방법으로는 명확히 드러나지 않으며 말로 표현하기 힘든 인사이트에 주목하도록 할 수 있는 경우가 많습니다. 간단한 숫자와 기본적인 차트로는 이러한 데이터에 담긴 스토리를 밝혀내 풀어나갈 수 없습니다. 따라서 복잡한 관계 영역을 시각화하기 위한 새로운 기법이 필요한데, Force-Directed 그래프는 이러한 상황에서 널리 사용되고 있습니다.\n이 사용자 지정 시각적 개체는 곡선 경로가 포함된 D3 강제 레이아웃 다이어그램을 구현합니다. 경로의 두께는 노드 간 관계의 가중치를 나타냅니다.\n대규모 엔터티 집합 간의 관계 및 상호 연결은 매우 복잡할 수 있기 때문에 이 시각적 개체는 엇갈리는 상황이 최대한 발생하지 않도록 노드를 배치하여 쉽고 재미있게 탐색할 수 있게 해 줍니다. 또한 이 시각적 개체는 대규모 데이터 집합을 볼 때 눈이 즐겁고 편안하도록 하는 레이아웃을 생성합니다. 사용자는 노드를 끌어다 놓기만 하면 레이아웃을 수동으로 조정할 수 있습니다.\n이상적인 경우라면 이 시각적 개체와 함께 사용할 차원 두 개와 측정값 하나(가중치용)가 필요할 것입니다. 하지만 이 조건은 단일 열에도 사용할 수 있습니다.\n이는 오픈 소스 시각적 개체입니다. GitHub에서 코드를 받아 보세요. https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/lt-LT/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Šaltinis", 3 | "Visual_Target": "Paskirties vieta", 4 | "Visual_Weight": "Svoris", 5 | "Visual_SourceType": "Šaltinio tipas", 6 | "Visual_LinkType": "Saito tipas", 7 | "Visual_TargetType": "Tikslinio objekto tipas", 8 | "Visual_Animations": "Animacijos", 9 | "Visual_Show": "Rodyti", 10 | "Visual_DataLabels": "Duomenų žymos", 11 | "Visual_Fill": "Užpildo spalva", 12 | "Visual_Stroke": "Brūkšnio spalva", 13 | "Visual_TextSize": "Teksto dydis", 14 | "Visual_Font": "Šriftas", 15 | "Visual_Intersection": "Sankirta", 16 | "Visual_Arrow": "Rodyklė", 17 | "Visual_Label": "Žyma", 18 | "Visual_Interactive": "Interaktyvus", 19 | "Visual_Color": "Spalva", 20 | "Visual_DisplayUnits": "Rodomi vienetai", 21 | "Visual_Nodes": "Mazgai", 22 | "Visual_Image": "Vaizdas", 23 | "Visual_Options": "Parinktys", 24 | "Visual_DefaultImage": "Numatytasis vaizdas", 25 | "Visual_ImageUrl": "Vaizdo URL", 26 | "Visual_ImageExtension": "Vaizdo plėtinys", 27 | "Visual_Size": "Dydis", 28 | "Visual_Charge": "Mokestis", 29 | "Visual_BoundByBox": "Apribotas langeliu", 30 | "Visual_ForceGraph_ByWeight": "Pagal svertinę vertę", 31 | "Visual_ForceGraph_ByLinkType": "Pagal saito tipą", 32 | "Visual_ForceGraph_Links": "Saitai", 33 | "Visual_ForceGraph_Thickness": "Storis", 34 | "Visual_ForceGraph_DecimalPlaces": "Skaitmenys po kablelio", 35 | "Visual_ForceGraph_MaxNameLength": "Maksimalus pavadinimo ilgis", 36 | "Visual_ForceGraph_HighlightLinks": "Žymėti visus pasiekiamus saitus", 37 | "Visual_Description_Label": "Rodoma saitų svertinė vertė", 38 | "Visual_Description_Thickness": "Saitų storis nurodo svertinę vertę", 39 | "Visual_Short_Description": "Jėgų maketo diagrama su lenktais keliais. Naudinga norint parodyti ryšius tarp objektų", 40 | "Visual_Long_Description": "Galimybė vizualizuoti ryšius tarp elementų, ryšio svarbą ir srautą dažnai atskleidžia nenumanomų įžvalgų, kurios paprastai nėra labai akivaizdžios. Norint atrasti tokių duomenų istorijų ir jas papasakoti, paprastų skaičių ir diagramų nepakaks. Sudėtingam ryšių pasauliui perteikti reikia naujų vizualizavimo metodų ir tokiose situacijose centre atsiduria jėgų kreipiamas grafas.\nŠiame vaizdiniame elemente įdiegta D3 jėgų maketo diagrama ir lenkti keliai. Kelio storis perteikia ryšio tarp mazgų svarbą.\nKadangi tarpusavio ryšys tarp didelių objektų rinkinių gali būti labai sudėtingas, vaizdinis elementas mazgus išdėsto taip, kad būtų kuo mažiau sankirtų ir grafą tyrinėti būtų lengva bei smagu. Šis vaizdinis elementas taip pat sukuria maketą, į kurį, jį naudojant su dideliais duomenų rinkiniais, malonu žiūrėti. Vartotojai maketą taip pat gali reguliuoti rankiniu būdu, tiesiog vilkdami mazgus.\nIdealiu atveju su šiuo vaizdiniu elementu reikėtų naudoti dvi dimensijas ir vieną matą (svarbai). Tačiau jis taip pat veikia tik su vienu stulpeliu.\nTai yra atvirojo kodo vaizdinis elementas. Šį kodą galite gauti iš „GitHub“: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/lv-LV/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Avots", 3 | "Visual_Target": "Mērķis", 4 | "Visual_Weight": "Svarīgums", 5 | "Visual_SourceType": "Avota tips", 6 | "Visual_LinkType": "Saites veids", 7 | "Visual_TargetType": "Mērķa tips", 8 | "Visual_Animations": "Animācijas", 9 | "Visual_Show": "Rādīt", 10 | "Visual_DataLabels": "Datu etiķetes", 11 | "Visual_Fill": "Aizpildījuma krāsa", 12 | "Visual_Stroke": "Vilkuma krāsa", 13 | "Visual_TextSize": "Teksta lielums", 14 | "Visual_Font": "Fonts", 15 | "Visual_Intersection": "Krustošanās", 16 | "Visual_Arrow": "Bulta", 17 | "Visual_Label": "Etiķete", 18 | "Visual_Interactive": "Interaktīvs", 19 | "Visual_Color": "Krāsa", 20 | "Visual_DisplayUnits": "Rādāmās vienības", 21 | "Visual_Nodes": "Mezgli", 22 | "Visual_Image": "Attēls", 23 | "Visual_Options": "Opcijas", 24 | "Visual_DefaultImage": "Noklusējuma attēls", 25 | "Visual_ImageUrl": "Attēla URL", 26 | "Visual_ImageExtension": "Attēla paplašinājums", 27 | "Visual_Size": "Lielums", 28 | "Visual_Charge": "Maksa", 29 | "Visual_BoundByBox": "Saistījuma lodziņš", 30 | "Visual_ForceGraph_ByWeight": "Pēc biezuma", 31 | "Visual_ForceGraph_ByLinkType": "Pēc saites veida", 32 | "Visual_ForceGraph_Links": "Saites", 33 | "Visual_ForceGraph_Thickness": "Biezums", 34 | "Visual_ForceGraph_DecimalPlaces": "Decimāldaļas", 35 | "Visual_ForceGraph_MaxNameLength": "Maksimālais nosaukuma garums", 36 | "Visual_ForceGraph_HighlightLinks": "Iezīmēt visas sasniedzamās saites", 37 | "Visual_Description_Label": "Parāda svarīgumu, izmantojot saiti", 38 | "Visual_Description_Thickness": "Saites biezums norāda svarīgumu", 39 | "Visual_Short_Description": "Uzspiesta izkārtojuma diagramma ar līkni. Ļauj parādīt saistības starp entītijām.", 40 | "Visual_Long_Description": "Iespēja vizualizēt relāciju starp vienumiem, relācijas svaru un plūsmu bieži izceļ ieskatus, ko citādi varētu nepamanīt. Ar vienkāršiem skaitļiem un pamata diagrammām nepietiek, lai atklātu un izstāstītu šādus datu stāstus. Mums ir nepieciešamas jaunas vizualizācijas metodes sarežģītajai relāciju pasaulei, un Force-Directed Graph virza vajadzīgos risinājumus.\nŠajos pielāgotajos vizuālajos datos ir ieviesta D3 tīkla izkārtojuma diagramma ar līknēm. Līknes biezums norāda relācijas svaru starp mezgliem.\nTā kā relācija un savstarpējā saistība starp lielām entītiju kopām var būt ļoti sarežģīta, vizuālie dati novieto mezglus tā, lai būtu pēc iespējas mazāk krustpunktu un izpēte būtu vienkārša un aizraujoša. Vizuālie dati arī izveido izkārtojumu tā, lai tas būtu pievilcīgs lielu datu kopu gadījumā. Lietotāji var arī manuāli pielāgot izkārtojumu, velkot mezglus uz vajadzīgo vietu.\nIdeālā situācijā šādiem vizuālajiem datiem būtu jāizmanto divas dimensijas un viens mērs (svaram). Taču šo diagrammu var izmantot arī tad, ja ir tikai viena kolonna.\nŠie ir atklātā pirmkoda vizuālie dati. Iegūstiet kodu no GitHub: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/ms-MY/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Sumber", 3 | "Visual_Target": "Sasaran", 4 | "Visual_Weight": "Berat", 5 | "Visual_SourceType": "Jenis Sumber", 6 | "Visual_LinkType": "Jenis Pautan", 7 | "Visual_TargetType": "Jenis Sasaran", 8 | "Visual_Animations": "Animasi", 9 | "Visual_Show": "Tunjukkan", 10 | "Visual_DataLabels": "Label data", 11 | "Visual_Fill": "Warna isian", 12 | "Visual_Stroke": "Warna strok", 13 | "Visual_TextSize": "Saiz Teks", 14 | "Visual_Font": "Fon", 15 | "Visual_Intersection": "Persilangan", 16 | "Visual_Arrow": "Panah", 17 | "Visual_Label": "Label", 18 | "Visual_Interactive": "Interaktif", 19 | "Visual_Color": "Warna", 20 | "Visual_DisplayUnits": "Paparkan Unit", 21 | "Visual_Nodes": "Nod", 22 | "Visual_Image": "Imej", 23 | "Visual_Options": "Opsyen", 24 | "Visual_DefaultImage": "Imej lalai", 25 | "Visual_ImageUrl": "Url imej", 26 | "Visual_ImageExtension": "Sambungan imej", 27 | "Visual_Size": "Saiz", 28 | "Visual_Charge": "Caj", 29 | "Visual_BoundByBox": "Terkekang oleh kotak", 30 | "Visual_ForceGraph_ByWeight": "Mengikut Berat", 31 | "Visual_ForceGraph_ByLinkType": "Mengikut Jenis Pautan", 32 | "Visual_ForceGraph_Links": "Pautan", 33 | "Visual_ForceGraph_Thickness": "Ketebalan", 34 | "Visual_ForceGraph_DecimalPlaces": "Tempat Perpuluhan", 35 | "Visual_ForceGraph_MaxNameLength": "Panjang nama maks", 36 | "Visual_ForceGraph_HighlightLinks": "Serlahkan semua pautan boleh dicapai", 37 | "Visual_Description_Label": "Memaparkan berat pada pautan", 38 | "Visual_Description_Thickness": "Ketebalan pautan mewakili berat", 39 | "Visual_Short_Description": "Gambarajah susun atur Force Boleh melengkung. Berguna untuk menunjukkan hubungan antara entiti", 40 | "Visual_Long_Description": "Keupayaan untuk memvisualisasikan hubungan antara item, berat perhubungan dan aliran sering membawa wawasan yang tidak terhingga kepada perhatian, yang sebaliknya tidak begitu jelas. Nombor mudah dan carta asas tidak cukup untuk menemui dan menceritakan kisah data sedemikian. Kita memerlukan teknik visualisasi baru untuk dunia perhubungan yang rumit dan Graph Directed Force maju ke hadapan untuk senario sedemikian.\nPerhatian visual ini menggunakan gambarajah susun atur gaya D3 dengan laluan melengkung. Ketebalan jalan mewakili berat hubungan antara nod.\nOleh kerana perhubungan dan hubungan antara satu set besar entiti dapat menjadi sangat rumit, kedudukan visual node sedemikian rupa sehingga ada sedikit lintasan yang mungkin, menjadikan pengalaman penjelajahan mudah, menyenangkan. Visual juga menghasilkan susun atur yang keseluruhannya menyenangkan mata bagi set data yang besar. Pengguna juga boleh menyesuaikan susun atur secara manual dengan hanya menyeret nod sekitar.\nSecara kebetulan anda memerlukan dua dimensi dan satu ukuran (untuk berat) untuk digunakan dengan visual ini. Tetapi ini juga berfungsi hanya dengan satu lajur.\nIni adalah visual sumber terbuka. Dapatkan kod dari GitHub: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/nb-NO/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Kilde", 3 | "Visual_Target": "Mål", 4 | "Visual_Weight": "Vekt", 5 | "Visual_SourceType": "Kildetype", 6 | "Visual_LinkType": "Koblingstype", 7 | "Visual_TargetType": "Måltype", 8 | "Visual_Animations": "Animasjoner", 9 | "Visual_Show": "Vis", 10 | "Visual_DataLabels": "Dataetiketter", 11 | "Visual_Fill": "Fyllfarge", 12 | "Visual_Stroke": "Strøkfarge", 13 | "Visual_TextSize": "Tekststørrelse", 14 | "Visual_Font": "Skrift", 15 | "Visual_Intersection": "Skjæringspunkt", 16 | "Visual_Arrow": "Pil", 17 | "Visual_Label": "Etikett", 18 | "Visual_Interactive": "Interaktiv", 19 | "Visual_Color": "Farge", 20 | "Visual_DisplayUnits": "Visningsenheter", 21 | "Visual_Nodes": "Noder", 22 | "Visual_Image": "Bilde", 23 | "Visual_Options": "Alternativer", 24 | "Visual_DefaultImage": "Standardavbildning", 25 | "Visual_ImageUrl": "Nettadresse for bilde", 26 | "Visual_ImageExtension": "Avbildningsutvidelse", 27 | "Visual_Size": "Størrelse", 28 | "Visual_Charge": "Tillegg", 29 | "Visual_BoundByBox": "Bundet etter boks", 30 | "Visual_ForceGraph_ByWeight": "Etter vekt", 31 | "Visual_ForceGraph_ByLinkType": "Etter koblingstype", 32 | "Visual_ForceGraph_Links": "Koblinger", 33 | "Visual_ForceGraph_Thickness": "Tykkelse", 34 | "Visual_ForceGraph_DecimalPlaces": "Desimaler", 35 | "Visual_ForceGraph_MaxNameLength": "Maks navnelengde", 36 | "Visual_ForceGraph_HighlightLinks": "Merk alle koblinger som kan nås", 37 | "Visual_Description_Label": "Viser vekten på koblinger", 38 | "Visual_Description_Thickness": "Tykkelse på koblinger representerer vekt", 39 | "Visual_Short_Description": "Fremtving oppsett-diagram med buet bane. Nyttige for å vise forbindelser mellom enheter", 40 | "Visual_Long_Description": "Mulighet for å visualisere relasjonen mellom elementer samt vekte relasjonen og flyten, kan ofte bidra til å hente frem skjulte innsikter, innsikter som ellers ikke ville vært særlig tydelige. Enkle tall og grunnleggende diagrammer vil ikke være nok til at man kan oppdage og fortelle slike datahistorier. Vi trenger nye visualiseringsteknikker for en kompleks verden av relasjoner, og kraftstyrt diagram (Force-Directed Graph) er førstevalget i slike scenarioer.\nDette tilpassede visualobjektet implementerer et D3-diagram med fremtvunget oppsett med buede baner. Tykkelsen på banen representerer vektingen av relasjonen mellom nodene.\nEttersom relasjonen og sammenhengen mellom store sett av entiteter kan være svært kompleks, plasserer visualobjektet nodene med færrest mulig krysninger, for å gjøre utforskningsopplevelsen enkel og morsom. Visualobjektet produserer også et oppsett som er behagelig å se på når man har store datasett. Brukere kan også justere oppsettet manuelt ved ganske enkelt å dra nodene rundt.\nIdeelt sett trenger du å bruke to dimensjoner og ett mål (for vektingen) med dette visualobjektet. Det vil imidlertid også fungere med bare én kolonne.\nDette er et visualobjekt med åpen kildekode. Koden fra GitHub: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/nl-NL/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Bron", 3 | "Visual_Target": "Doel", 4 | "Visual_Weight": "Gewicht", 5 | "Visual_SourceType": "Brontype", 6 | "Visual_LinkType": "Type koppeling", 7 | "Visual_TargetType": "Doeltype", 8 | "Visual_Animations": "Animaties", 9 | "Visual_Show": "Weergeven", 10 | "Visual_DataLabels": "Gegevenslabels", 11 | "Visual_Fill": "Opvulkleur", 12 | "Visual_Stroke": "Kleur van kwaststreek", 13 | "Visual_TextSize": "Tekengrootte", 14 | "Visual_Font": "Lettertype", 15 | "Visual_Intersection": "Doorsnede", 16 | "Visual_Arrow": "Pijl", 17 | "Visual_Label": "Label", 18 | "Visual_Interactive": "Interactief", 19 | "Visual_Color": "Kleur", 20 | "Visual_DisplayUnits": "Weergave-eenheden", 21 | "Visual_Nodes": "Knooppunten", 22 | "Visual_Image": "Afbeelding", 23 | "Visual_Options": "Opties", 24 | "Visual_DefaultImage": "Standaardafbeelding", 25 | "Visual_ImageUrl": "URL van afbeelding", 26 | "Visual_ImageExtension": "Afbeedingsextensie", 27 | "Visual_Size": "Grootte", 28 | "Visual_Charge": "Kosten aanvragen", 29 | "Visual_BoundByBox": "Begrensd door vak", 30 | "Visual_ForceGraph_ByWeight": "Op gewicht", 31 | "Visual_ForceGraph_ByLinkType": "Op type koppeling", 32 | "Visual_ForceGraph_Links": "Koppelingen", 33 | "Visual_ForceGraph_Thickness": "Dikte", 34 | "Visual_ForceGraph_DecimalPlaces": "Aantal decimalen", 35 | "Visual_ForceGraph_MaxNameLength": "Maximumlengte van de naam", 36 | "Visual_ForceGraph_HighlightLinks": "Alle bereikbare koppelingen markeren", 37 | "Visual_Description_Label": "Hiermee wordt het gewicht van koppelingen weergegeven", 38 | "Visual_Description_Thickness": "De dikt van koppelingen geeft het gewicht aan", 39 | "Visual_Short_Description": "Diagram met kromme paden waarvan de lay-out wordt bepaald door aantrekkende en afstotende krachten. Dit diagram kan worden gebruikt om verbindingen tussen entiteiten weer te geven", 40 | "Visual_Long_Description": "De mogelijkheid om de relatie tussen items, het gewicht van de relatie en de stroom weer te geven, brengt vaak nieuwe feiten aan het licht die niet voor de hand liggen. Met eenvoudige getallen en standaarddiagrammen kunnen dergelijke inzichten over gegevens niet worden blootgelegd en Force-Directed Graph biedt in zulke situaties uitkomst.\nIn deze aangepaste visual wordt een 3D-diagram met kromme paden geïmplementeerd waarvan de lay-out wordt bepaald door aantrekkende en afstotende krachten. De dikte van het pad geeft het gewicht van de relatie tussen de knooppunten aan.\nOmdat de relatie en onderlinge verbindingen tussen grote groepen entiteiten zeer complex kan zijn, worden de knooppunten in de visual zo geplaatst dat er zo weinig mogelijk kruisingen voorkomen. Op die manier is het eenvoudig en aangenaam om het diagram te bekijken. De visual genereert ook de lay-out waarin grote gegevenssets op overzichtelijke wijze in beeld worden gebracht. Gebruikers kunnen de lay-out ook handmatig aanpassen door de knooppunten te verslepen.\nU kunt deze visual het beste gebruiken met twee dimensies en één meetwaarde (voor het gewicht). U kunt het echter ook met slechts één kolom gebruiken.\nDit is een open source visual. U kunt de code op GitHub ophalen: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/pl-PL/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Źródło", 3 | "Visual_Target": "Cel", 4 | "Visual_Weight": "Waga", 5 | "Visual_SourceType": "Typ źródła", 6 | "Visual_LinkType": "Typ linku", 7 | "Visual_TargetType": "Typ serwera docelowego", 8 | "Visual_Animations": "Animacje", 9 | "Visual_Show": "Pokaż", 10 | "Visual_DataLabels": "Etykiety danych", 11 | "Visual_Fill": "Kolor wypełnienia", 12 | "Visual_Stroke": "Kolor pociągnięcia", 13 | "Visual_TextSize": "Rozmiar tekstu", 14 | "Visual_Font": "Czcionka", 15 | "Visual_Intersection": "Część wspólna", 16 | "Visual_Arrow": "Strzałka", 17 | "Visual_Label": "Etykieta", 18 | "Visual_Interactive": "Interaktywne", 19 | "Visual_Color": "Kolor", 20 | "Visual_DisplayUnits": "Jednostki wyświetlania", 21 | "Visual_Nodes": "Węzły", 22 | "Visual_Image": "Obraz", 23 | "Visual_Options": "Opcje", 24 | "Visual_DefaultImage": "Obraz domyślny", 25 | "Visual_ImageUrl": "Adres URL obrazu", 26 | "Visual_ImageExtension": "Rozszerzenie obrazu", 27 | "Visual_Size": "Rozmiar", 28 | "Visual_Charge": "Opłata", 29 | "Visual_BoundByBox": "Ograniczone przez pole", 30 | "Visual_ForceGraph_ByWeight": "Według wagi", 31 | "Visual_ForceGraph_ByLinkType": "Według typu linku", 32 | "Visual_ForceGraph_Links": "Linki", 33 | "Visual_ForceGraph_Thickness": "Grubość", 34 | "Visual_ForceGraph_DecimalPlaces": "Miejsca dziesiętne", 35 | "Visual_ForceGraph_MaxNameLength": "Maksymalna długość nazwy", 36 | "Visual_ForceGraph_HighlightLinks": "Wyróżnij wszystkie osiągalne linki", 37 | "Visual_Description_Label": "Wyświetla wagę linków", 38 | "Visual_Description_Thickness": "Grubość linków reprezentuje wagę", 39 | "Visual_Short_Description": "Diagram wymuszania układu przy użyciu zakrzywionej ścieżki. Umożliwia wyświetlanie połączeń między jednostkami", 40 | "Visual_Long_Description": "Możliwość wizualizacji relacji między elementami, wagi relacji oraz przepływu często wydobywa na światło dzienne szczegółowe informacje, które w innych sytuacjach nie są oczywiste. Proste liczby i podstawowe wykresy nie wystarczą do odnajdowania danych i opowiadania ich historii. Potrzebujemy nowych technik wizualizacji w świecie złożonych relacji, a wykres kierowany wysuwa się na przód jako rozwiązanie w przypadku takich scenariuszy.\nTa niestandardowa wizualizacja implementuje diagram wymuszania układu D3 ze ścieżkami zakrzywionymi. Szerokość ścieżki reprezentuje wagę relacji między węzłami.\nPonieważ relacja i wzajemne połączenia w ramach dużego zestawu jednostek mogą być bardzo złożone, wizualizacja rozmieszcza węzły w taki sposób, aby liczba przecięć była minimalna, przez co eksplorowanie staje się łatwe i zabawne. Wizualizacja tworzy również układ, co w przypadku dużych zestawów danych jest atrakcyjnym wizualnie rozwiązaniem. Użytkownicy mogą też dostosować układ ręcznie, odpowiednio przeciągając węzły.\nIdealnym rozwiązaniem jest użycie dwóch wymiarów i jednej miary (na potrzeby wagi) w tej wizualizacji. Ale działa ona także z jedną kolumną.\nJest to wizualizacja typu open source. Pobierz kod z usługi GitHub: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/pt-BR/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Origem", 3 | "Visual_Target": "Destino", 4 | "Visual_Weight": "Peso", 5 | "Visual_SourceType": "Tipo de fonte", 6 | "Visual_LinkType": "Tipo de Vínculo", 7 | "Visual_TargetType": "Tipo de Destino", 8 | "Visual_Animations": "Animações", 9 | "Visual_Show": "Exibir", 10 | "Visual_DataLabels": "Rótulos de dados", 11 | "Visual_Fill": "Cor de preenchimento", 12 | "Visual_Stroke": "Cor do traço", 13 | "Visual_TextSize": "Tamanho do texto", 14 | "Visual_Font": "Fonte", 15 | "Visual_Intersection": "Interseção", 16 | "Visual_Arrow": "Seta", 17 | "Visual_Label": "Rótulo", 18 | "Visual_Interactive": "Interativo", 19 | "Visual_Color": "Cor", 20 | "Visual_DisplayUnits": "Exibir Unidades", 21 | "Visual_Nodes": "Nós", 22 | "Visual_Image": "Imagem", 23 | "Visual_Options": "Opções", 24 | "Visual_DefaultImage": "Imagem padrão", 25 | "Visual_ImageUrl": "Url da imagem", 26 | "Visual_ImageExtension": "Extensão da imagem", 27 | "Visual_Size": "Tamanho", 28 | "Visual_Charge": "Encargo", 29 | "Visual_BoundByBox": "Limitado por caixa", 30 | "Visual_ForceGraph_ByWeight": "Por Peso", 31 | "Visual_ForceGraph_ByLinkType": "Por Tipo de Link", 32 | "Visual_ForceGraph_Links": "Links", 33 | "Visual_ForceGraph_Thickness": "Espessura", 34 | "Visual_ForceGraph_DecimalPlaces": "Casas Decimais", 35 | "Visual_ForceGraph_MaxNameLength": "Comprimento de nome máximo", 36 | "Visual_ForceGraph_HighlightLinks": "Destacar todos os links alcançáveis", 37 | "Visual_Description_Label": "Exibe o peso nos links", 38 | "Visual_Description_Thickness": "A espessura dos links representa peso", 39 | "Visual_Short_Description": "Diagrama de layout de forças com caminho curvado. Útil para mostrar conexões entre entidades", 40 | "Visual_Long_Description": "A capacidade de visualizar o relacionamento entre os itens, a ponderação do relacionamento e o fluxo geralmente traz à luz os insights velados, que caso contrário não são muito evidentes. Números simples e gráficos básicos não serão suficientes para descobrir essas narrativas de dados e contá-las. Precisamos de novas técnicas de visualização para o mundo complexo do relacionamento, e o Gráfico Direcionado por Força é a primeira opção para esses cenários.\nEsse visual personalizado implementa um diagrama de layout de força D3 com caminhos curvados. A espessura do caminho representa o peso da relação entre os nós.\nJá que o relacionamento e a interconexão entre um grande conjunto de entidades podem ser muito complexos, o visual posiciona os nós de forma que haja o mínimo de cruzamentos possível, tornando a experiência de exploração fácil e divertida. O visual também produz o layout, que em termos gerais tem aparência agradável para grandes conjuntos de dados. Os usuários também podem ajustar o layout manualmente arrastando os nós ao redor.\nIdealmente, você precisaria de duas dimensões e uma medida (para a ponderação) para usar com esse visual. Mas isso também funciona apenas com uma coluna.\nEsse é um visual de código aberto. Obtenha o código do GitHub: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/pt-PT/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Origem", 3 | "Visual_Target": "Objetivo", 4 | "Visual_Weight": "Importância", 5 | "Visual_SourceType": "Tipo de Fonte", 6 | "Visual_LinkType": "Tipo de Ligação", 7 | "Visual_TargetType": "Tipo de Destino", 8 | "Visual_Animations": "Animações", 9 | "Visual_Show": "Mostrar", 10 | "Visual_DataLabels": "Etiquetas de dados", 11 | "Visual_Fill": "Cor de preenchimento", 12 | "Visual_Stroke": "Cor do traço", 13 | "Visual_TextSize": "Tamanho do Texto", 14 | "Visual_Font": "Tipo de Letra", 15 | "Visual_Intersection": "Interseção", 16 | "Visual_Arrow": "Seta", 17 | "Visual_Label": "Etiqueta", 18 | "Visual_Interactive": "Interativo", 19 | "Visual_Color": "Cor", 20 | "Visual_DisplayUnits": "Mostrar Unidades", 21 | "Visual_Nodes": "Nós", 22 | "Visual_Image": "Imagem", 23 | "Visual_Options": "Opções", 24 | "Visual_DefaultImage": "Imagem predefinida", 25 | "Visual_ImageUrl": "URL da Imagem", 26 | "Visual_ImageExtension": "Extensão de imagem", 27 | "Visual_Size": "Tamanho", 28 | "Visual_Charge": "Encargo", 29 | "Visual_BoundByBox": "Vinculado por caixa", 30 | "Visual_ForceGraph_ByWeight": "Por Peso", 31 | "Visual_ForceGraph_ByLinkType": "Por Tipo de Ligação", 32 | "Visual_ForceGraph_Links": "Ligações", 33 | "Visual_ForceGraph_Thickness": "Espessura", 34 | "Visual_ForceGraph_DecimalPlaces": "Casas Decimais", 35 | "Visual_ForceGraph_MaxNameLength": "Comprimento máximo do nome", 36 | "Visual_ForceGraph_HighlightLinks": "Realçar todas as ligações acessíveis", 37 | "Visual_Description_Label": "Mostra o peso nas ligações", 38 | "Visual_Description_Thickness": "A espessura das ligações representa o peso", 39 | "Visual_Short_Description": "Force o diagrama de esquema com um caminho curvo. Útil para mostrar ligações entre entidades", 40 | "Visual_Long_Description": "A capacidade de visualizar a relação entre itens, o peso da relação e o fluxo costuma destacar informações novas, que não seriam muito evidentes de outras formas. Os gráficos de números simples de base não são suficientes para descobrir e contar estas histórias de dados. Precisamos de novas técnicas de visualização para o mundo complexo das relações de dados e o Gráfico Direcionado por Força é ideal esses cenários.\nEste visual personalizado implementa um diagrama de esquema de força D3 com caminhos curvos. A espessura do caminho representa o peso da relação entre os nós.\nUma vez que a relação e a interligação entre um grande conjunto de entidades pode ser muito complexa, o visual posiciona os nós de forma a que exista o mínimo de cruzamentos possíveis, tornando a experiência de exploração fácil e divertida. O visual também produz o esquema, que é visualmente atrativo em conjuntos de dados grandes. Os utilizadores podem também ajustar o esquema manualmente, arrastando simplesmente os nós à volta.\nNuma situação ideal, precisa de duas dimensões e uma medida (para o peso) a utilizar com este visual, mas também funciona apenas com uma coluna.\nEste é um visual de open source. Obtenha o código do GitHub: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/ro-RO/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Sursă", 3 | "Visual_Target": "Destinaţie", 4 | "Visual_Weight": "Pondere", 5 | "Visual_SourceType": "Tip sursă", 6 | "Visual_LinkType": "Tip link", 7 | "Visual_TargetType": "Tip țintă", 8 | "Visual_Animations": "Animații", 9 | "Visual_Show": "Afişare", 10 | "Visual_DataLabels": "Etichete de date", 11 | "Visual_Fill": "Culoare de umplere", 12 | "Visual_Stroke": "Culoarea urmei de culoare", 13 | "Visual_TextSize": "Dimensiune text", 14 | "Visual_Font": "Font", 15 | "Visual_Intersection": "Intersecție", 16 | "Visual_Arrow": "Săgeată", 17 | "Visual_Label": "Etichetă", 18 | "Visual_Interactive": "Interactiv", 19 | "Visual_Color": "Culoare", 20 | "Visual_DisplayUnits": "Afișare unități", 21 | "Visual_Nodes": "Noduri", 22 | "Visual_Image": "Imagine", 23 | "Visual_Options": "Opțiuni", 24 | "Visual_DefaultImage": "Imagine implicită", 25 | "Visual_ImageUrl": "URL imagine", 26 | "Visual_ImageExtension": "Extensie imagine", 27 | "Visual_Size": "Dimensiune", 28 | "Visual_Charge": "Cost", 29 | "Visual_BoundByBox": "Limitat la casetă", 30 | "Visual_ForceGraph_ByWeight": "După greutate", 31 | "Visual_ForceGraph_ByLinkType": "După tipul de link", 32 | "Visual_ForceGraph_Links": "Linkuri", 33 | "Visual_ForceGraph_Thickness": "Grosime", 34 | "Visual_ForceGraph_DecimalPlaces": "Zecimale", 35 | "Visual_ForceGraph_MaxNameLength": "Lungime maximă nume", 36 | "Visual_ForceGraph_HighlightLinks": "Se evidențiază toate linkurile accesibile", 37 | "Visual_Description_Label": "Afișează ponderea pe legături", 38 | "Visual_Description_Thickness": "Grosimea legăturilor reprezintă ponderea", 39 | "Visual_Short_Description": "Impuneți aspectul diagramei cu o cale curbată. Este utilă pentru a afișa conexiunile dintre entități", 40 | "Visual_Long_Description": "Capacitatea de a vizualiza relația dintre elemente, ponderarea relației și fluxul scoate adesea la lumină detalii neștiute, care altfel nu ar fi foarte evidente. Numerele simple și diagramele de bază nu ar fi suficiente pentru a descoperi și a spune astfel de povești despre date. Avem nevoie de noi tehnici de vizualizare pentru lumea complexă a relațiilor și graficul direcționat de forță face față cu brio în astfel de scenarii.\nAcest element vizual particularizat implementează o diagramă cu aspect de forță 3D, cu căi curbate. Grosimea căii ilustrează ponderea relației dintre noduri.\nDeoarece relațiile și interconexiunile între seturi mari de entități ar putea fi foarte complexe, elementul vizual poziționează nodurile în așa fel încât să existe cât mai puține traversări posibil, făcând experiența de explorare simplă și distractivă. De asemenea, elementul vizual generează pentru seturile mari de date un aspect care este de obicei unul plăcut. De asemenea, utilizatorii pot ajusta manual aspectul, glisând pur și simplu nodurile în jur.\nÎn mod ideal, v-ar trebui două dimensiuni și o măsură (pentru ponderare) pe care să le utilizați cu acest element vizual. Dar funcționează și cu o singură coloană.\nAcesta este un element vizual open source. Obțineți codul de la GitHub: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/ru-RU/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Источник", 3 | "Visual_Target": "Целевая платформа", 4 | "Visual_Weight": "Вес", 5 | "Visual_SourceType": "Тип источника", 6 | "Visual_LinkType": "Тип ссылки", 7 | "Visual_TargetType": "Тип целевого объекта", 8 | "Visual_Animations": "Анимации", 9 | "Visual_Show": "Показать", 10 | "Visual_DataLabels": "Метки данных", 11 | "Visual_Fill": "Цвет заполнения", 12 | "Visual_Stroke": "Цвет штриха", 13 | "Visual_TextSize": "Размер текста", 14 | "Visual_Font": "Шрифт", 15 | "Visual_Intersection": "Перекрестная", 16 | "Visual_Arrow": "Стрелка", 17 | "Visual_Label": "Метка", 18 | "Visual_Interactive": "Интерактивные", 19 | "Visual_Color": "Цвет", 20 | "Visual_DisplayUnits": "Отображаемые единицы", 21 | "Visual_Nodes": "Узлы", 22 | "Visual_Image": "Изображение", 23 | "Visual_Options": "Параметры", 24 | "Visual_DefaultImage": "Изображение по умолчанию", 25 | "Visual_ImageUrl": "URL-адрес изображения", 26 | "Visual_ImageExtension": "Расширение изображения", 27 | "Visual_Size": "Размер", 28 | "Visual_Charge": "Платежи", 29 | "Visual_BoundByBox": "Ограничение полем", 30 | "Visual_ForceGraph_ByWeight": "По толщине линии", 31 | "Visual_ForceGraph_ByLinkType": "По типу связи", 32 | "Visual_ForceGraph_Links": "Связи", 33 | "Visual_ForceGraph_Thickness": "Толщина", 34 | "Visual_ForceGraph_DecimalPlaces": "Десятичные разряды", 35 | "Visual_ForceGraph_MaxNameLength": "Максимальная длина имени", 36 | "Visual_ForceGraph_HighlightLinks": "Выделить все доступные ссылки", 37 | "Visual_Description_Label": "Показывает вес ссылок", 38 | "Visual_Description_Thickness": "Толщина связей означает вес", 39 | "Visual_Short_Description": "Принудительно структурированная диаграмма с изогнутыми траекториями. Полезна для отображения связей между сущностями.", 40 | "Visual_Long_Description": "Благодаря возможности визуализировать связи между элементами, весомость связей и их направления часто в центре внимания оказывается огромное количество аналитических данных, которые в ином случае не так очевидны. Простых чисел и базовых диаграмм недостаточно для обнаружения такой информации. Нам нужны новые методы визуализации для сложных взаимосвязей, и в таких сценариях на передний план выходит принудительно ориентированный граф.\nЭтот пользовательский визуальный элемент реализует принудительно структурированную диаграмму D3 с изогнутыми траекториями. Толщина пути обозначает весомость связи между узлами.\nТак как отношения и взаимосвязи между большим числом сущностей могут быть очень сложными, визуальный элемент располагает узлы таким образом, чтобы они пересекались минимальное количество раз. Это упрощает интерфейс и делает его удобнее. Кроме того, визуальный элемент создает для больших наборов данных структуру, приятную для глаз. Пользователи могут настроить ее вручную, просто перетаскивая узлы.\nВ идеале для использования этого визуального элемента нужны два измерения и одна мера (для весомости), но подойдет и один столбец.\nЭто визуальный элемент с открытым кодом. Найти код можно на GitHub: https://github.com/Microsoft/PowerBI-visuals-ForceGraph." 41 | } -------------------------------------------------------------------------------- /stringResources/sk-SK/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Zdroj", 3 | "Visual_Target": "Cieľ", 4 | "Visual_Weight": "Hmotnosť", 5 | "Visual_SourceType": "Typ zdroja", 6 | "Visual_LinkType": "Typ prepojenia", 7 | "Visual_TargetType": "Typ cieľa", 8 | "Visual_Animations": "Animácie", 9 | "Visual_Show": "Zobraziť", 10 | "Visual_DataLabels": "Označenia údajov", 11 | "Visual_Fill": "Farba výplne", 12 | "Visual_Stroke": "Farba ťahu štetca", 13 | "Visual_TextSize": "Veľkosť textu", 14 | "Visual_Font": "Písmo", 15 | "Visual_Intersection": "Prienik", 16 | "Visual_Arrow": "Šípka", 17 | "Visual_Label": "Označenie", 18 | "Visual_Interactive": "Interaktívne", 19 | "Visual_Color": "Farba", 20 | "Visual_DisplayUnits": "Zobrazené jednotky", 21 | "Visual_Nodes": "Uzly", 22 | "Visual_Image": "Obrázok", 23 | "Visual_Options": "Možnosti", 24 | "Visual_DefaultImage": "Predvolený obrázok", 25 | "Visual_ImageUrl": "URL adresa obrázka", 26 | "Visual_ImageExtension": "Rozšírenie obrázka", 27 | "Visual_Size": "Veľkosť", 28 | "Visual_Charge": "Poplatok", 29 | "Visual_BoundByBox": "Viazané poľom", 30 | "Visual_ForceGraph_ByWeight": "Podľa hmotnosti", 31 | "Visual_ForceGraph_ByLinkType": "Podľa typu prepojenia", 32 | "Visual_ForceGraph_Links": "Prepojenia", 33 | "Visual_ForceGraph_Thickness": "Hrúbka", 34 | "Visual_ForceGraph_DecimalPlaces": "Desatinné miesta", 35 | "Visual_ForceGraph_MaxNameLength": "Maximálna dĺžka názvu", 36 | "Visual_ForceGraph_HighlightLinks": "Zvýrazniť všetky dostupné prepojenia", 37 | "Visual_Description_Label": "Zobrazí váhu na prepojeniach", 38 | "Visual_Description_Thickness": "Hrúbka prepojení predstavuje váhu", 39 | "Visual_Short_Description": "Diagram s rozložením zobrazujúcim pôsobiace sily so zakrivenou cestou. Užitočné na zobrazenie prepojení medzi entitami.", 40 | "Visual_Long_Description": "Schopnosť vizualizovať vzťah medzi položkami, váženie vzťahu a jeho smer často prinášajú neznáme poznatky, ktoré inak nie sú veľmi evidentné. Jednoduché čísla a základné grafy nestačia na objavovanie a rozprávanie takýchto údajových príbehov. Potrebujeme nové vizualizačné techniky pre komplexný svet vzťahov a graf riadený pôsobiacimi silami je pre takéto scenáre ideálny.\nTáto vlastná vizualizácia implementuje diagram rozloženia s D3 silami so zakrivenými cestami. Hrúbka cesty predstavuje váhu vzťahu medzi uzlami.\nVzhľadom na to, že vzťah a prepojenie medzi veľkou množinou entít môžu byť veľmi zložité, vizuál umiestňuje uzly takým spôsobom, aby sa zobrazilo čo najmenej krížení a skúmanie grafu bolo jednoduché a zábavné. Vizuál tiež poskytuje rozloženie, ktoré je pri používaní veľkých množín údajov prehľadné a dobre sa v ňom orientuje. Používatelia môžu tiež nastaviť rozloženie ručne jednoduchým potiahnutím uzlov myšou.\nV ideálnom prípade potrebujete dva rozmery a jednu mieru (pre váhu), ktoré sa budú používať s týmto vizuálom. Vizuál ale funguje aj iba s jedným stĺpcom.\nTento vizuál je typu open-source. Kód získate na stránke GitHub: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/sl-SI/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Vir", 3 | "Visual_Target": "Cilj", 4 | "Visual_Weight": "Teža", 5 | "Visual_SourceType": "Vrsta vira", 6 | "Visual_LinkType": "Vrsta povezave", 7 | "Visual_TargetType": "Vrsta cilja", 8 | "Visual_Animations": "Animacije", 9 | "Visual_Show": "Pokaži", 10 | "Visual_DataLabels": "Oznake podatkov", 11 | "Visual_Fill": "Barva polnila", 12 | "Visual_Stroke": "Barva poteze", 13 | "Visual_TextSize": "Velikost besedila", 14 | "Visual_Font": "Pisava", 15 | "Visual_Intersection": "Presek", 16 | "Visual_Arrow": "Puščica", 17 | "Visual_Label": "Oznaka", 18 | "Visual_Interactive": "Interaktivno", 19 | "Visual_Color": "Barva", 20 | "Visual_DisplayUnits": "Enote prikaza", 21 | "Visual_Nodes": "Vozlišča", 22 | "Visual_Image": "Slika", 23 | "Visual_Options": "Možnosti", 24 | "Visual_DefaultImage": "Privzeta slika", 25 | "Visual_ImageUrl": "URL slike", 26 | "Visual_ImageExtension": "Pripona slike", 27 | "Visual_Size": "Velikost", 28 | "Visual_Charge": "Plačilo za potrditev", 29 | "Visual_BoundByBox": "Omejeno s poljem", 30 | "Visual_ForceGraph_ByWeight": "Po teži", 31 | "Visual_ForceGraph_ByLinkType": "Po vrsti povezave", 32 | "Visual_ForceGraph_Links": "Povezave", 33 | "Visual_ForceGraph_Thickness": "Debelina", 34 | "Visual_ForceGraph_DecimalPlaces": "Decimalna mesta", 35 | "Visual_ForceGraph_MaxNameLength": "Največja možna dolžina imena", 36 | "Visual_ForceGraph_HighlightLinks": "Označi vse dosegljive povezave", 37 | "Visual_Description_Label": "Prikaži težo v povezavah", 38 | "Visual_Description_Thickness": "Debelina povezave predstavlja težo", 39 | "Visual_Short_Description": "Usmerjeni diagram postavitve z ukrivljeno potjo. Uporaben za prikaz povezav med entitetami", 40 | "Visual_Long_Description": "S ponazoritvijo odnosov med elementi ter pomena odnosov in poteka lahko običajno prikažete vpoglede, ki običajno niso takoj vidni. Preproste številke in osnovni grafikoni niso dovolj za ponazoritev take vrste podatkov. Potrebujemo nove tehnike za ponazoritev teh zapletenih odnosov – usmerjeni graf je idealna rešitev za te vrste scenarijev.\nTa ponazoritev po meri vključuje D3-diagram postavitve z ukrivljenimi potmi. Debelina poti predstavlja pomembnost odnosov med vozlišči.\nKer so odnosi in medsebojne povezave med velikimi nabori entitet lahko zelo zapleteni, ponazoritev postavi vozlišča tako, da vključuje čim presečišč, zaradi česar je izkušnja ponazoritve preprosta in zabavna. Ponazoritev prav tako ustvari pregledno postavitev večjih naborov podatkov. Uporabniki lahko postavitev prilagodijo tudi ročno tako, da preprosto premikajo vozlišča.\nZa izdelavo popolne ponazoritve potrebujete dve dimenziji in meritev (za pomembnost). Lahko pa uporabite tudi en stolpec.\nTo je odprtokodna ponazoritev. Kodo lahko pridobite na spletnem mestu storitve GitHub: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/sr-Cyrl-RS/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Извор", 3 | "Visual_Target": "Циљ", 4 | "Visual_Weight": "Степен важности", 5 | "Visual_SourceType": "Тип извора", 6 | "Visual_LinkType": "Тип везе", 7 | "Visual_TargetType": "Тип циља", 8 | "Visual_Animations": "Анимације", 9 | "Visual_Show": "Прикажи", 10 | "Visual_DataLabels": "Ознаке података", 11 | "Visual_Fill": "Боја попуне", 12 | "Visual_Stroke": "Боја потеза", 13 | "Visual_TextSize": "Величина текста", 14 | "Visual_Font": "Фонт", 15 | "Visual_Intersection": "Пресек", 16 | "Visual_Arrow": "Стрелица", 17 | "Visual_Label": "Ознака", 18 | "Visual_Interactive": "Интерактивно", 19 | "Visual_Color": "Боја", 20 | "Visual_DisplayUnits": "Јединице за приказ", 21 | "Visual_Nodes": "Чворови", 22 | "Visual_Image": "Слика", 23 | "Visual_Options": "Опције", 24 | "Visual_DefaultImage": "Подразумевана слика", 25 | "Visual_ImageUrl": "Url слике", 26 | "Visual_ImageExtension": "Ознака типа датотеке слике", 27 | "Visual_Size": "Величина", 28 | "Visual_Charge": "Трошак", 29 | "Visual_BoundByBox": "Ограничено оквиром", 30 | "Visual_ForceGraph_ByWeight": "По дебљини", 31 | "Visual_ForceGraph_ByLinkType": "По типу везе", 32 | "Visual_ForceGraph_Links": "Везе", 33 | "Visual_ForceGraph_Thickness": "Дебљина", 34 | "Visual_ForceGraph_DecimalPlaces": "Децимална места", 35 | "Visual_ForceGraph_MaxNameLength": "Максимална дужина имена", 36 | "Visual_ForceGraph_HighlightLinks": "Истакни све доступне везе", 37 | "Visual_Description_Label": "Приказује степен важности у везама", 38 | "Visual_Description_Thickness": "Дебљина веза представља степен важности", 39 | "Visual_Short_Description": "Наметните дијаграм распореда уз закривљену путању. Корисно за приказивање веза између ентитета", 40 | "Visual_Long_Description": "Могућност визуелизације односа између ставки, степен важности односа и ток често стављају неуочене увиде у први план јер они иначе не би били тако очигледни. Једноставни бројеви и основни графикони неће бити довољни за откривање и препричавање таквих прича о подацима. Потребне су нам нове технике визуелизације за сложени свет односа, а силом усмерени графикон тежи ка предњем плану за такве сценарије.\nОвај прилагођени визуелни елемент примењује D3 силом усмерени дијаграм са закривљеним путањама. Дебљина путање представља степен важности односа између чворова.\nПошто однос и међусобна повезаност између великих скупова ентитета могу бити веома сложени, визуелни елемент поставља чворове на такав начин да постоји што мање укрштања, што искуство са истраживањем чини једноставним и забавним. Визуелни елемент такође производи распоред који је свеукупно пријатан за очи када су у питању велики скупови података. Корисници такође могу ручно да прилагоде распоред тако што ће једноставно превлачити чворове унаоколо.\nУ најбољем случају ће вам бити потребне две димензије и једна мера (за степен важности) за коришћење уз овај визуелни елемент. Али ово функционише и само са једном колоном.\nОво је визуелни елемент отвореног кода. Преузмите кôд из услуге GitHub: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/sr-Latn-RS/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Izvor", 3 | "Visual_Target": "Cilj", 4 | "Visual_Weight": "Težina", 5 | "Visual_SourceType": "Tip izvora", 6 | "Visual_LinkType": "Tip veze", 7 | "Visual_TargetType": "Tip cilja", 8 | "Visual_Animations": "Animacije", 9 | "Visual_Show": "Prikaži", 10 | "Visual_DataLabels": "Oznake podataka", 11 | "Visual_Fill": "Boja popune", 12 | "Visual_Stroke": "Boja poteza", 13 | "Visual_TextSize": "Veličina teksta", 14 | "Visual_Font": "Font", 15 | "Visual_Intersection": "Presek", 16 | "Visual_Arrow": "Strelica", 17 | "Visual_Label": "Oznaka", 18 | "Visual_Interactive": "Interaktivno", 19 | "Visual_Color": "Boja", 20 | "Visual_DisplayUnits": "Jedinice za prikaz", 21 | "Visual_Nodes": "Čvorovi", 22 | "Visual_Image": "Slika", 23 | "Visual_Options": "Opcije", 24 | "Visual_DefaultImage": "Podrazumevana slika", 25 | "Visual_ImageUrl": "Url slike", 26 | "Visual_ImageExtension": "Oznaka tipa datoteke slike", 27 | "Visual_Size": "Veličina", 28 | "Visual_Charge": "Trošak", 29 | "Visual_BoundByBox": "Ograničeno okvirom", 30 | "Visual_ForceGraph_ByWeight": "Po debljini", 31 | "Visual_ForceGraph_ByLinkType": "Po tipu veze", 32 | "Visual_ForceGraph_Links": "Veze", 33 | "Visual_ForceGraph_Thickness": "Debljina", 34 | "Visual_ForceGraph_DecimalPlaces": "Decimalna mesta", 35 | "Visual_ForceGraph_MaxNameLength": "Maksimalna dužina imena", 36 | "Visual_ForceGraph_HighlightLinks": "Istakni sve dostupne veze", 37 | "Visual_Description_Label": "Prikazuje stepen važnosti u vezama", 38 | "Visual_Description_Thickness": "Debljina veza predstavlja stepen važnosti", 39 | "Visual_Short_Description": "Nametnite dijagram rasporeda uz zakrivljenu putanju. Korisno za prikazivanje veza između entiteta", 40 | "Visual_Long_Description": "Mogućnost vizuelizacije odnosa između stavki, stepen važnosti odnosa i tok često stavljaju neuočene uvide u prvi plan jer oni inače ne bi bili tako očigledni. Jednostavni brojevi i osnovni grafikoni neće biti dovoljni za otkrivanje i prepričavanje takvih priča o podacima. Potrebne su nam nove tehnike vizuelizacije za složeni svet odnosa, a silom usmereni grafikon teži ka prednjem planu za takve scenarije.\nOvaj prilagođeni vizuelni element primenjuje D3 silom usmereni dijagram sa zakrivljenim putanjama. Debljina putanje predstavlja stepen važnosti odnosa između čvorova.\nPošto odnos i međusobna povezanost između velikih skupova entiteta mogu biti veoma složeni, vizuelni element postavlja čvorove na takav način da postoji što manje ukrštanja, što iskustvo sa istraživanjem čini jednostavnim i zabavnim. Vizuelni element takođe proizvodi raspored koji je sveukupno prijatan za oči kada su u pitanju veliki skupovi podataka. Korisnici takođe mogu ručno da prilagode raspored tako što će jednostavno prevlačiti čvorove unaokolo.\nU najboljem slučaju će vam biti potrebne dve dimenzije i jedna mera (za stepen važnosti) za korišćenje uz ovaj vizuelni element. Ali ovo funkcioniše i samo sa jednom kolonom.\nOvo je open source vizuelni element. Preuzmite kôd iz usluge GitHub: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/sv-SE/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Källa", 3 | "Visual_Target": "Mål", 4 | "Visual_Weight": "Vikt", 5 | "Visual_SourceType": "Källtyp", 6 | "Visual_LinkType": "Länktyp", 7 | "Visual_TargetType": "Måltyp", 8 | "Visual_Animations": "Animeringar", 9 | "Visual_Show": "Visa", 10 | "Visual_DataLabels": "Dataetiketter", 11 | "Visual_Fill": "Fyllningsfärg", 12 | "Visual_Stroke": "Streckfärg", 13 | "Visual_TextSize": "Textstorlek", 14 | "Visual_Font": "Teckensnitt", 15 | "Visual_Intersection": "Snitt", 16 | "Visual_Arrow": "Pil", 17 | "Visual_Label": "Etikett", 18 | "Visual_Interactive": "Interaktiv", 19 | "Visual_Color": "Färg", 20 | "Visual_DisplayUnits": "Visningsenheter", 21 | "Visual_Nodes": "Noder", 22 | "Visual_Image": "Bild", 23 | "Visual_Options": "Alternativ", 24 | "Visual_DefaultImage": "Standardbild", 25 | "Visual_ImageUrl": "Bild-URL", 26 | "Visual_ImageExtension": "Bildtillägg", 27 | "Visual_Size": "Storlek", 28 | "Visual_Charge": "Kostnad", 29 | "Visual_BoundByBox": "Avgränsad med ruta", 30 | "Visual_ForceGraph_ByWeight": "Efter tjocklek", 31 | "Visual_ForceGraph_ByLinkType": "Efter länktyp", 32 | "Visual_ForceGraph_Links": "Länkar", 33 | "Visual_ForceGraph_Thickness": "Tjocklek", 34 | "Visual_ForceGraph_DecimalPlaces": "Decimaler", 35 | "Visual_ForceGraph_MaxNameLength": "Maxlängd för namnet", 36 | "Visual_ForceGraph_HighlightLinks": "Markera alla länkar som är nåbara", 37 | "Visual_Description_Label": "Visar vikten för länkar", 38 | "Visual_Description_Thickness": "Länkarnas tjocklek representerar vikt", 39 | "Visual_Short_Description": "Tvinga layoutdiagram med en böjd linje. Användbar för att visa anslutningar mellan entiteter", 40 | "Visual_Long_Description": "Möjligheten att visualisera relationen mellan objekt, relationens viktning och flöde, kan ofta ge oförutsedda insikter, vilka kanske inte är uppenbara. Enkla tal och grundläggande diagram räcker inte till för att identifiera och berätta den typen av historier om dina data. Vi behöver nya visualiseringsmetoder för den komplexa världen av relationer och Force-Directed Graph är utmärkt för just den typen av scenarier.\nDet här anpassade visuella objektet implementerar ett D3 force layoutdiagram med en kurvad linje. Tjockleken på linjen representerar vikten i relationen mellan noderna.\nEftersom relationen och sambandet mellan stora mängder av entiteter kan vara väldigt komplex, placerar det visuella objektet noderna på ett sådant sätt att det finns så få korsade linjer som möjligt, vilket gör det enkelt och roligt att utforska. Det visuella objektet skapar även layouten som är generellt sett bra för stora datamängder. Användare kan även justera layouten manuellt genom att dra runt noderna.\nHelst behöver du två dimensioner och ett mått (för viktning) med det här visuella objektet. Men det fungerar också bara med en enda kolumn.\nDet här är ett visuellt objekt med öppen källkod. Hämta koden från GitHub: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/th-TH/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "แหล่งข้อมูล", 3 | "Visual_Target": "เป้าหมาย", 4 | "Visual_Weight": "น้ำหนัก", 5 | "Visual_SourceType": "ชนิดแหล่งข้อมูล", 6 | "Visual_LinkType": "ชนิดลิงก์", 7 | "Visual_TargetType": "ชนิดเป้าหมาย", 8 | "Visual_Animations": "ภาพเคลื่อนไหว", 9 | "Visual_Show": "แสดง", 10 | "Visual_DataLabels": "ป้ายชื่อข้อมูล", 11 | "Visual_Fill": "เติมสี", 12 | "Visual_Stroke": "สีเส้นหมึก", 13 | "Visual_TextSize": "ขนาดแบบอักษร", 14 | "Visual_Font": "แบบอักษร", 15 | "Visual_Intersection": "อินเทอร์เซกชั่น", 16 | "Visual_Arrow": "ลูกศร", 17 | "Visual_Label": "ป้ายกำกับ", 18 | "Visual_Interactive": "แบบโต้ตอบ", 19 | "Visual_Color": "สี", 20 | "Visual_DisplayUnits": "หน่วยแสดงผล", 21 | "Visual_Nodes": "โหนด", 22 | "Visual_Image": "รูป", 23 | "Visual_Options": "ตัวเลือก", 24 | "Visual_DefaultImage": "รูปเริ่มต้น", 25 | "Visual_ImageUrl": "url ของรูป", 26 | "Visual_ImageExtension": "ส่วนขยายรูป", 27 | "Visual_Size": "ขนาด", 28 | "Visual_Charge": "ค่าธรรมเนียม", 29 | "Visual_BoundByBox": "ถูกผูกมัดกับกล่อง", 30 | "Visual_ForceGraph_ByWeight": "ตามน้ำหนัก", 31 | "Visual_ForceGraph_ByLinkType": "ตามชนิดของลิงก์", 32 | "Visual_ForceGraph_Links": "การเชื่อมโยง", 33 | "Visual_ForceGraph_Thickness": "ความหนา", 34 | "Visual_ForceGraph_DecimalPlaces": "ตำแหน่งทศนิยม", 35 | "Visual_ForceGraph_MaxNameLength": "ความยาวชื่อสูงสุด", 36 | "Visual_ForceGraph_HighlightLinks": "เน้นลิงก์ที่สามารถเข้าถึงได้ทั้งหมด", 37 | "Visual_Description_Label": "แสดงน้ำหนักบนลิงก์", 38 | "Visual_Description_Thickness": "ความหนาของลิงก์แสดงน้ำหนัก", 39 | "Visual_Short_Description": "บังคับเค้าโครงไดอะแกรมด้วยเส้นโค้ง มีประโยชน์ในการแสดงการเชื่อมต่อระหว่างเอนทิตี", 40 | "Visual_Long_Description": "ความสามารถในการแสดงภาพความสัมพันธ์ระหว่างรายการ น้ำหนักของความสัมพันธ์ และโฟลว์มักจะดึงข้อมูลเชิงลึกที่ไม่เคยถูกเปิดเผยออกมาเป็นจุดสนใจ ซึ่งหากไม่ทำเช่นนั้นข้อมูลก็จะไม่ชัดเจน ตัวเลขทั่วไปและแผนภูมิพื้นฐานไม่เพียงพอสำหรับการค้นหาและบอกเล่าเรื่องราวของข้อมูลดังกล่าว เราต้องการเทคนิคการจัดรูปแบบการแสดงข้อมูลแบบใหม่สำหรับโลกของความสัมพันธ์ที่ซับซ้อน และการก้าวหน้าของการใช้กราฟที่ใช้แรงกำกับไปยังแนวหน้าของสถานการณ์ดังกล่าว\nการแสดงผลด้วยภาพแบบกำหนดเองนี้ใช้ไดอะแกรมเค้าโครงแรงแบบ D3 ที่มีเส้นโค้ง ความหนาของเส้นทางแสดงน้ำหนักของความสัมพันธ์ระหว่างโหนด\nเนื่องจากความสัมพันธ์และการเชื่อมต่อระหว่างชุดของเอนทิตีขนาดใหญ่อาจมีความซับซ้อนมาก การแสดงผลด้วยภาพจะจัดวางโหนดในแบบที่มีการตัดข้ามน้อยที่สุดเท่าที่เป็นไปได้ ทำให้ประสบการณ์ในการสำรวจง่ายและสนุกสนาน การแสดงผลด้วยภาพยังสร้างเค้าโครงซึ่งโดยรวมแล้วดูสบายตาสำหรับชุดข้อมูลขนาดใหญ่ ผู้ใช้ยังสามารถปรับเค้าโครงด้วยตนเองได้โดยเพียงแค่ลากโหนดไปรอบๆ\nตามหลักการแล้วคุณจะต้องการสองมิติและหนึ่งหน่วยวัด (สำหรับน้ำหนัก) เพื่อใช้กับการแสดงผลด้วยภาพนี้ แต่ยังสามารถใช้ได้โดยใช้แค่คอลัมน์เดียวเท่านั้น\nนี่เป็นการแสดงผลด้วยภาพแบบโอเพนซอร์ส (Open Source) GitHub: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/tr-TR/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Kaynak", 3 | "Visual_Target": "Hedef", 4 | "Visual_Weight": "Ağırlık", 5 | "Visual_SourceType": "Kaynak Türü", 6 | "Visual_LinkType": "Bağlantı Türü", 7 | "Visual_TargetType": "Hedef Türü", 8 | "Visual_Animations": "Animasyonlar", 9 | "Visual_Show": "Göster", 10 | "Visual_DataLabels": "Veri etiketleri", 11 | "Visual_Fill": "Dolgu rengi", 12 | "Visual_Stroke": "Vuruş rengi", 13 | "Visual_TextSize": "Metin Boyutu", 14 | "Visual_Font": "Yazı Tipi", 15 | "Visual_Intersection": "Kesişim", 16 | "Visual_Arrow": "Ok", 17 | "Visual_Label": "Etiket", 18 | "Visual_Interactive": "Etkileşimli", 19 | "Visual_Color": "Renk", 20 | "Visual_DisplayUnits": "Görüntüleme birimleri", 21 | "Visual_Nodes": "Düğümler", 22 | "Visual_Image": "Görüntü", 23 | "Visual_Options": "Seçenekler", 24 | "Visual_DefaultImage": "Varsayılan görüntü", 25 | "Visual_ImageUrl": "Resim url'si", 26 | "Visual_ImageExtension": "Resim uzantısı", 27 | "Visual_Size": "Boyut", 28 | "Visual_Charge": "Ücret", 29 | "Visual_BoundByBox": "Kutuyla sınırlı", 30 | "Visual_ForceGraph_ByWeight": "Ağırlığa Göre", 31 | "Visual_ForceGraph_ByLinkType": "Bağlantı Türüne Göre", 32 | "Visual_ForceGraph_Links": "Bağlantılar", 33 | "Visual_ForceGraph_Thickness": "Kalınlık", 34 | "Visual_ForceGraph_DecimalPlaces": "Ondalık Haneler", 35 | "Visual_ForceGraph_MaxNameLength": "En fazla ad uzunluğu", 36 | "Visual_ForceGraph_HighlightLinks": "Tüm erişilebilir bağlantıları vurgula", 37 | "Visual_Description_Label": "Bağlantılar üzerinde ağırlığı görüntüler", 38 | "Visual_Description_Thickness": "Bağlantıların kalınlığı ağırlığı temsil eder", 39 | "Visual_Short_Description": "Eğimli bir yolu olan kuvvet düzeni şeması. Varlıklar arasındaki bağlantıları göstermek için yararlıdır", 40 | "Visual_Long_Description": "Öğeler arasındaki ilişkileri, ilişkinin ağırlığını ve akışı görselleştirme olanağı çoğu kez daha önce dile getirilmemiş ve kolaylıkla görülemeyen içgörüleri ortaya çıkarır. Basit sayılar ve temel grafikler bu veri öykülerini keşfetmek ve anlatmak için yeterli değildir. İlişkilerin karmaşık dünyası için yeni görselleştirme tekniklerine ihtiyacımız vardır ve Kuvvet Yönlendirmeli Grafik bu senaryolarda öne çıkmaktadır.\nBu özel görsel, bir D3 kuvvet düzeni şemasını eğimli yollarla uygular. Yolun kalınlığı, düğümler arasındaki ilişkinin ağırlığını temsil eder.\nİlişki ve büyük sayıdaki varlık arasındaki bağlantılar çok karmaşık olabileceğinden görsel, düğümleri olabildiğince az kesişme olacak şekilde yerleştirerek keşfetme deneyimini kolay ve eğlenceli hale getirir. Görsel ayrıca büyük veri kümeleri için göze hoş görünen bir düzen sunar. Kullanıcılar, düğümleri taşıyarak düzeni el ile ayarlayabilir.\nBu görseli kullanmak için ideal olarak iki boyuta ve (ağırlık için) bir ölçüye ihtiyacınız vardır. Ancak görsel tek bir sütunla da sonuç verir.\nBu, açık kaynaklı bir görseldir. Kodu GitHub'dan alabilirsiniz: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/uk-UA/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Джерело", 3 | "Visual_Target": "Кінцеве", 4 | "Visual_Weight": "Значимість", 5 | "Visual_SourceType": "Тип джерела", 6 | "Visual_LinkType": "Тип зв’язку", 7 | "Visual_TargetType": "Тип цільового об’єкта", 8 | "Visual_Animations": "Анімації", 9 | "Visual_Show": "Відображення", 10 | "Visual_DataLabels": "Мітки даних", 11 | "Visual_Fill": "Колір заливки", 12 | "Visual_Stroke": "Колір розчерку", 13 | "Visual_TextSize": "Розмір тексту", 14 | "Visual_Font": "Шрифт", 15 | "Visual_Intersection": "Перетин", 16 | "Visual_Arrow": "Стрілка", 17 | "Visual_Label": "Мітка", 18 | "Visual_Interactive": "Інтерактивно", 19 | "Visual_Color": "Колір", 20 | "Visual_DisplayUnits": "Одиниці для відображення", 21 | "Visual_Nodes": "Вузли", 22 | "Visual_Image": "Зображення", 23 | "Visual_Options": "Параметри", 24 | "Visual_DefaultImage": "Стандартне зображення", 25 | "Visual_ImageUrl": "URL-адреса зображення", 26 | "Visual_ImageExtension": "Розширення зображення", 27 | "Visual_Size": "Розмір", 28 | "Visual_Charge": "Стягнення", 29 | "Visual_BoundByBox": "Зв’язано з полем", 30 | "Visual_ForceGraph_ByWeight": "За значимістю", 31 | "Visual_ForceGraph_ByLinkType": "За типом посилання", 32 | "Visual_ForceGraph_Links": "Посилання", 33 | "Visual_ForceGraph_Thickness": "Товщина", 34 | "Visual_ForceGraph_DecimalPlaces": "Кількість знаків після десяткової коми", 35 | "Visual_ForceGraph_MaxNameLength": "Макс. довжина імені", 36 | "Visual_ForceGraph_HighlightLinks": "Виділити всі досяжні зв’язки", 37 | "Visual_Description_Label": "Відображає значимість для зв’язків", 38 | "Visual_Description_Thickness": "Товщина ліній зв’язків відповідає значимості", 39 | "Visual_Short_Description": "Діаграма сил із вигнутими шляхами. Ефективний засіб для відображення зв’язків між сутностями.", 40 | "Visual_Long_Description": "Можливість візуалізувати зв’язки між елементами, їх значимість і потік – це незамінне джерело цінних аналітичних висновків, які складно отримати в інший спосіб. Самі тільки числа та прості діаграми не надають належного уявлення про дані. Нам потрібні нові методи візуалізації складних зв’язків, і саме до таких методів належить Force-Directed Graph.\nЦя спеціальна візуалізація застосовує тривимірну силову діаграму з вигнутими шляхами. Товщина шляху вказує на значимість зв’язку між вузлами.\nІноді зв’язки та взаємозв’язки між сутностями у великому наборі дуже складні. Тому для зручності й чіткості вузли розташовуються так, щоб між ними була мінімальна кількість перетинів. Макет візуально приємний і чудово підходить для роботи з великими наборами даних. Користувачі можуть налаштувати макет вручну, просто перетягуючи вузли.\nДля цієї візуалізації радимо використовувати два виміри й одну міру (для визначення значимості). Проте можна обійтися навіть одним стовпцем.\nЦе візуалізація з відкритим кодом. Отримайте його на сайті GitHub https://github.com/Microsoft/PowerBI-visuals-ForceGraph." 41 | } -------------------------------------------------------------------------------- /stringResources/vi-VN/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "Nguồn", 3 | "Visual_Target": "Đích", 4 | "Visual_Weight": "Trọng số", 5 | "Visual_SourceType": "Loại nguồn", 6 | "Visual_LinkType": "Loại liên kết", 7 | "Visual_TargetType": "Loại đích", 8 | "Visual_Animations": "Hoạt ảnh", 9 | "Visual_Show": "Hiện", 10 | "Visual_DataLabels": "Các nhãn dữ liệu", 11 | "Visual_Fill": "Tô màu", 12 | "Visual_Stroke": "Màu nét", 13 | "Visual_TextSize": "Kích thước Văn bản", 14 | "Visual_Font": "Phông chữ", 15 | "Visual_Intersection": "Giao điểm", 16 | "Visual_Arrow": "Mũi tên", 17 | "Visual_Label": "Nhãn", 18 | "Visual_Interactive": "Tương tác", 19 | "Visual_Color": "Màu", 20 | "Visual_DisplayUnits": "Đơn vị hiển thị", 21 | "Visual_Nodes": "Nút", 22 | "Visual_Image": "Hình ảnh", 23 | "Visual_Options": "Tùy chọn", 24 | "Visual_DefaultImage": "Hình ảnh mặc định", 25 | "Visual_ImageUrl": "Url hình ảnh", 26 | "Visual_ImageExtension": "Phần mở rộng hình ảnh", 27 | "Visual_Size": "Kích cỡ", 28 | "Visual_Charge": "Phí", 29 | "Visual_BoundByBox": "Được nối bằng hộp", 30 | "Visual_ForceGraph_ByWeight": "Theo trọng số", 31 | "Visual_ForceGraph_ByLinkType": "Theo loại liên kết", 32 | "Visual_ForceGraph_Links": "Liên kết", 33 | "Visual_ForceGraph_Thickness": "Độ dày", 34 | "Visual_ForceGraph_DecimalPlaces": "Dấu Thập phân", 35 | "Visual_ForceGraph_MaxNameLength": "Độ dài tên tối đa", 36 | "Visual_ForceGraph_HighlightLinks": "Đánh dấu tất cả các liên kết có thể truy cập", 37 | "Visual_Description_Label": "Trọng số hiển thị trên các liên kết", 38 | "Visual_Description_Thickness": "Trọng số thể hiện độ dày liên kết", 39 | "Visual_Short_Description": "Sơ đồ bố cục dạng lực với các đường cong. Dạng sơ đồ này phù hợp để hiển thị mối quan hệ giữa các thực thể", 40 | "Visual_Long_Description": "Khả năng trực quan hóa mối quan hệ giữa các mục, trọng số của mối quan hệ và lưu lượng khiến thông tin chi tiết chuyên sâu chưa công bố trở nên nổi bật, những thông tin này không phải là thông tin hiển nhiên. Các biểu đồ cơ bản và số đơn giản sẽ không đủ để khám phá cũng như kể câu chuyện bằng dữ liệu này. Chúng tôi cần có các kỹ thuật trực quan hóa mới cho kiểu quan hệ phức tạp này và dạng Biểu đồ theo hướng lực này hoàn toàn phù hợp với tình huống như vậy.\nHình ảnh tùy chỉnh này bổ sung cho sơ đồ bố cục lực D3 bằng các đường cong. Độ dày của đường cong thể hiện trọng số của mối quan hệ giữa các nút.\nDo mối quan hệ và sự tương kết giữa một tập hợp thực thể có quy mô lớn có thể rất phức tạp, nên hình ảnh định vị các nút sao cho có ít chỗ giao cắt nhau nhất có thể để trải nghiệm khám phá trở nên dễ dàng và thú vị. Hình ảnh cũng tạo ra bố cục hài hòa cho tập dữ liệu lớn. Người dùng cũng có thể dễ dàng điều chỉnh bố cục theo cách thủ công bằng cách kéo các nút qua lại.\nMột điều lý tưởng là, bạn sẽ cần hai kích thước và một giá trị đo (cho trọng số) để sử dụng cùng hình ảnh này. Tuy nhiên, tính năng này cũng hoạt động ngay khi chỉ có một cột.\nĐây là hình ảnh nguồn mở. Hãy truy cập vào liên kết sau để nhận mã: GitHub: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/zh-CN/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "源", 3 | "Visual_Target": "目标", 4 | "Visual_Weight": "称重", 5 | "Visual_SourceType": "源类型", 6 | "Visual_LinkType": "链接类型", 7 | "Visual_TargetType": "目标类型", 8 | "Visual_Animations": "动画", 9 | "Visual_Show": "显示", 10 | "Visual_DataLabels": "数据标签", 11 | "Visual_Fill": "填充颜色", 12 | "Visual_Stroke": "笔划颜色", 13 | "Visual_TextSize": "文本大小", 14 | "Visual_Font": "字体", 15 | "Visual_Intersection": "交点", 16 | "Visual_Arrow": "箭头", 17 | "Visual_Label": "标签", 18 | "Visual_Interactive": "交互", 19 | "Visual_Color": "颜色", 20 | "Visual_DisplayUnits": "显示单位", 21 | "Visual_Nodes": "节点", 22 | "Visual_Image": "图像", 23 | "Visual_Options": "选项", 24 | "Visual_DefaultImage": "默认图像", 25 | "Visual_ImageUrl": "图像 URL", 26 | "Visual_ImageExtension": "图像扩展名", 27 | "Visual_Size": "大小", 28 | "Visual_Charge": "费用", 29 | "Visual_BoundByBox": "按箱绑定", 30 | "Visual_ForceGraph_ByWeight": "按粗细", 31 | "Visual_ForceGraph_ByLinkType": "按链接类型", 32 | "Visual_ForceGraph_Links": "链接", 33 | "Visual_ForceGraph_Thickness": "粗细", 34 | "Visual_ForceGraph_DecimalPlaces": "小数位数", 35 | "Visual_ForceGraph_MaxNameLength": "最大名称长度", 36 | "Visual_ForceGraph_HighlightLinks": "突出显示所有可以访问的链接", 37 | "Visual_Description_Label": "对链接显示权重", 38 | "Visual_Description_Thickness": "链接厚度表示权重", 39 | "Visual_Short_Description": "具有曲线路径的力布局关系图。用于显示实体之间的连接", 40 | "Visual_Long_Description": "直观显示项目之间关系、关系权重和箭头这一功能通常能让隐藏的见解凸显出来(这些见解原本较不容易发现)。简单的数字和基本图表不足以发现和说明此类数据情景。我们需要新的可视化技术来处理复杂的关系世界,并为这些方案广泛采用力导向图。\n这个自定义的视觉对象实现了具有曲线路径的 D3 力布局关系图。路径的厚度表示节点之间关系的权重。\n由于大型实体集之间的关系和互连可能非常复杂,此视觉对象以尽可能少交叉的方式定位节点,使浏览体验轻松、有趣。此视觉对象还会生成使大型数据集整体赏心悦目的布局。用户还可以通过拖动周围的节点这样简单的操作来手动调整布局。\n理想情况下,需要两个维度和一个度量值(对于权重)来与此视觉对象一起使用。但是,这也适用于单列。\n这是一个开放源代码视觉对象。从 GitHub 获取代码: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /stringResources/zh-TW/resources.resjson: -------------------------------------------------------------------------------- 1 | { 2 | "Visual_Source": "來源", 3 | "Visual_Target": "目標", 4 | "Visual_Weight": "權數", 5 | "Visual_SourceType": "來源類型", 6 | "Visual_LinkType": "連結類型", 7 | "Visual_TargetType": "目標類型", 8 | "Visual_Animations": "動畫", 9 | "Visual_Show": "顯示", 10 | "Visual_DataLabels": "資料標籤", 11 | "Visual_Fill": "填滿色彩", 12 | "Visual_Stroke": "筆觸色彩", 13 | "Visual_TextSize": "文字大小", 14 | "Visual_Font": "字型", 15 | "Visual_Intersection": "交集", 16 | "Visual_Arrow": "箭號", 17 | "Visual_Label": "標籤", 18 | "Visual_Interactive": "互動式", 19 | "Visual_Color": "色彩", 20 | "Visual_DisplayUnits": "顯示單位", 21 | "Visual_Nodes": "節點", 22 | "Visual_Image": "影像", 23 | "Visual_Options": "選項", 24 | "Visual_DefaultImage": "預設影像", 25 | "Visual_ImageUrl": "影像 URL", 26 | "Visual_ImageExtension": "影像副檔名", 27 | "Visual_Size": "大小", 28 | "Visual_Charge": "費用", 29 | "Visual_BoundByBox": "依方塊劃分界限", 30 | "Visual_ForceGraph_ByWeight": "依粗細", 31 | "Visual_ForceGraph_ByLinkType": "依連結類型", 32 | "Visual_ForceGraph_Links": "連結", 33 | "Visual_ForceGraph_Thickness": "粗細", 34 | "Visual_ForceGraph_DecimalPlaces": "小數位數", 35 | "Visual_ForceGraph_MaxNameLength": "名稱長度上限", 36 | "Visual_ForceGraph_HighlightLinks": "將所有可連線的連結反白顯示", 37 | "Visual_Description_Label": "顯示連結寬度", 38 | "Visual_Description_Thickness": "表示寬度的連結寬度", 39 | "Visual_Short_Description": "使用曲徑的力配置圖。適合用於顯示實體之間的連接", 40 | "Visual_Long_Description": "以圖像呈現項目之間的關聯、關聯的比重及流向,這樣的功能往往能帶眾人忽視的見解進入焦點,否則就會很不明顯。簡單的數字及基本的圖表不足以找出並說明這樣的資料故事。在複雜的關聯領域中,我們需要新的視覺效果技術,而適合這類案例的力導向圖便躋身最前線。\n這個自訂視覺效果以曲徑實作 D3 力配置圖表。路徑的粗細代表節點之間關係的比重。\n由於一組大型實體之間的關聯與相互關聯相當複雜,因此視覺效果會盡可能以交叉最少的方式安排節點位置,讓探索體驗簡單又有趣。這個視覺效果也會為大型資料集產生賞心悅目的配置。使用者只要輕鬆地四處拖曳節點,即可手動調整配置。\n理想情況是在使用這種視覺效果時,搭配兩個維度和一個量值 (以呈現比重),但即使只有一個欄位也能運作。\n這是開放原始碼視覺效果。從 GitHub 取得程式碼: https://github.com/Microsoft/PowerBI-visuals-ForceGraph" 41 | } -------------------------------------------------------------------------------- /style/visual.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Power BI Visualizations 3 | * 4 | * Copyright (c) Microsoft Corporation 5 | * All rights reserved. 6 | * MIT License 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the ""Software""), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in 16 | * all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | * THE SOFTWARE. 25 | */ 26 | 27 | /** 28 | * Imports styles of tooltipmanager. 29 | * We compile it as a less file in order to wrap the external CSS rules. 30 | */ 31 | .forceGraph { 32 | cursor: default; 33 | 34 | path.link { 35 | fill: none; 36 | stroke: #bbb; 37 | } 38 | 39 | circle { 40 | fill: #ccc; 41 | stroke: #fff; 42 | stroke-width: 1.5px; 43 | cursor: pointer; 44 | 45 | &:focus { 46 | outline: none; 47 | } 48 | 49 | &:focus-visible { 50 | outline-width: 4px !important; 51 | stroke-width: 4px; 52 | } 53 | } 54 | 55 | image { 56 | &:focus { 57 | outline: none; 58 | } 59 | 60 | &:focus-visible { 61 | outline-width: 4px !important; 62 | } 63 | } 64 | 65 | text { 66 | font: 12px sans-serif; 67 | pointer-events: none; 68 | z-index: 99; 69 | 70 | &.nodelabel.selected { 71 | font-weight: bold !important; 72 | } 73 | } 74 | 75 | .hiddenLabel text{ 76 | display: none; 77 | } 78 | 79 | .hidden { 80 | display: none; 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /test.tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "allowJs": false, 4 | "emitDecoratorMetadata": true, 5 | "experimentalDecorators": true, 6 | "module": "es6", 7 | "target": "es6", 8 | "sourceMap": true, 9 | "outDir": "./.tmp/build/", 10 | "sourceRoot": "../../src/", 11 | "moduleResolution": "node", 12 | "declaration": true, 13 | "lib": [ 14 | "es2015", 15 | "dom" 16 | ] 17 | }, 18 | "files": [ 19 | "./test/visualTest.ts" 20 | ], 21 | "include": [ 22 | "src/*.ts" 23 | ] 24 | } -------------------------------------------------------------------------------- /test.webpack.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | const webpack = require("webpack"); 3 | 4 | module.exports = { 5 | devtool: 'source-map', 6 | module: { 7 | rules: [ 8 | { 9 | test: /\.tsx?$/, 10 | use: 'ts-loader', 11 | exclude: /node_modules/ 12 | }, 13 | { 14 | test: /\.tsx?$/i, 15 | enforce: 'post', 16 | include: /(src)/, 17 | exclude: /(node_modules|resources\/js\/vendor)/, 18 | loader: 'coverage-istanbul-loader', 19 | options: { esModules: true } 20 | }, 21 | { 22 | test: /\.json$/, 23 | loader: 'json-loader' 24 | }, 25 | { 26 | test: /\.less$/, 27 | use: [ 28 | { 29 | loader: 'style-loader' 30 | }, 31 | { 32 | loader: 'css-loader' 33 | }, 34 | { 35 | loader: 'less-loader', 36 | options: { 37 | lessOptions: { 38 | root: [path.resolve(__dirname, 'node_modules')] 39 | } 40 | } 41 | } 42 | ] 43 | } 44 | ] 45 | }, 46 | externals: { 47 | "powerbi-visuals-api": '{}' 48 | }, 49 | resolve: { 50 | extensions: ['.tsx', '.ts', '.js', '.css'] 51 | }, 52 | output: { 53 | path: path.resolve(__dirname, ".tmp/test") 54 | }, 55 | plugins: [ 56 | new webpack.ProvidePlugin({ 57 | 'powerbi-visuals-api': null 58 | }) 59 | ] 60 | }; 61 | -------------------------------------------------------------------------------- /test/helpers/helpers.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Power BI Visualizations 3 | * 4 | * Copyright (c) Microsoft Corporation 5 | * All rights reserved. 6 | * MIT License 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the ""Software""), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in 16 | * all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | * THE SOFTWARE. 25 | */ 26 | 27 | import { RgbColor, parseColorString } from "powerbi-visuals-utils-colorutils"; 28 | 29 | export function getSolidColorStructuralObject(color: string): any { 30 | return { solid: { color } }; 31 | } 32 | 33 | export function areColorsEqual(firstColor: string, secondColor: string): boolean { 34 | const firstConvertedColor: RgbColor = parseColorString(firstColor); 35 | const secondConvertedColor: RgbColor = parseColorString(secondColor); 36 | 37 | return firstConvertedColor.R === secondConvertedColor.R 38 | && firstConvertedColor.G === secondConvertedColor.G 39 | && firstConvertedColor.B === secondConvertedColor.B; 40 | } 41 | -------------------------------------------------------------------------------- /test/visualBuilder.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Power BI Visualizations 3 | * 4 | * Copyright (c) Microsoft Corporation 5 | * All rights reserved. 6 | * MIT License 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the ""Software""), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in 16 | * all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | * THE SOFTWARE. 25 | */ 26 | 27 | import powerbi from "powerbi-visuals-api"; 28 | 29 | import VisualConstructorOptions = powerbi.extensibility.visual.VisualConstructorOptions; 30 | import { ClickEventType, VisualBuilderBase, d3Click } from "powerbi-visuals-utils-testutils"; 31 | 32 | import { ForceGraph as VisualClass } from "./../src/visual"; 33 | 34 | export class VisualBuilder extends VisualBuilderBase { 35 | constructor(width: number, height: number) { 36 | super(width, height); 37 | } 38 | 39 | protected build(options: VisualConstructorOptions) { 40 | return new VisualClass(options); 41 | } 42 | 43 | public get svgElement(): SVGElement | null { 44 | return this.element.querySelector("svg.forceGraph"); 45 | } 46 | 47 | public get mainElement(): HTMLElement | null { 48 | return this.element.querySelector("g.chartContainer"); 49 | } 50 | 51 | public get linkLabels() : NodeListOf | undefined { 52 | return this.mainElement?.querySelectorAll("g.linklabelholder"); 53 | } 54 | 55 | public get nodes(): NodeListOf | undefined { 56 | return this.mainElement?.querySelectorAll("g.node"); 57 | } 58 | 59 | public get selectedNodes(): Element[] { 60 | return Array.from(this.nodes).filter((element: HTMLElement) => { 61 | const appliedOpacity: number = parseFloat(element.style.fillOpacity); 62 | return appliedOpacity === 1; 63 | }); 64 | } 65 | 66 | public get links(): NodeListOf | undefined { 67 | return this.mainElement?.querySelectorAll("path.link"); 68 | } 69 | 70 | public get selectedLinks(): Element[] { 71 | return Array.from(this.links).filter((element: HTMLElement) => { 72 | const appliedOpacity: number = parseFloat(element.style.strokeOpacity); 73 | return appliedOpacity === 1; 74 | }); 75 | } 76 | 77 | public get images(): NodeListOf | undefined { 78 | return this.mainElement?.querySelectorAll("image"); 79 | } 80 | 81 | public get circles(): NodeListOf | undefined { 82 | return this.mainElement?.querySelectorAll("circle"); 83 | } 84 | 85 | public get nodeTexts(): NodeListOf | undefined { 86 | return this.mainElement?.querySelectorAll("g.node text"); 87 | } 88 | 89 | public get linkLabelsText(): NodeListOf | undefined { 90 | return this.mainElement?.querySelectorAll("text.linklabel"); 91 | } 92 | 93 | public get linkLabelsTextPath(): NodeListOf | undefined { 94 | return this.mainElement?.querySelectorAll("text.linklabel textpath"); 95 | } 96 | 97 | public nodeClick(text: string, eventType: ClickEventType = ClickEventType.Default): void{ 98 | const circle: SVGElement | undefined = Array.from(this.circles) 99 | .find((element: SVGElement) => { 100 | return element.ariaLabel === text; 101 | }); 102 | 103 | if (!circle) { 104 | return; 105 | } 106 | 107 | d3Click( 108 | circle, 109 | parseFloat(circle?.getAttribute("x")), 110 | parseFloat(circle?.getAttribute("y")), 111 | eventType 112 | ); 113 | } 114 | 115 | public nodeKeydown(text: string, keyboardEvent: KeyboardEvent) { 116 | const circle: SVGElement | undefined = Array.from(this.circles) 117 | .find((element: SVGElement) => { 118 | return element.ariaLabel === text; 119 | }); 120 | 121 | if (!circle) { 122 | return; 123 | } 124 | 125 | circle.dispatchEvent(keyboardEvent); 126 | } 127 | } 128 | -------------------------------------------------------------------------------- /test/visualData.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Power BI Visualizations 3 | * 4 | * Copyright (c) Microsoft Corporation 5 | * All rights reserved. 6 | * MIT License 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the ""Software""), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in 16 | * all copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | * THE SOFTWARE. 25 | */ 26 | import powerbi from "powerbi-visuals-api"; 27 | 28 | import DataView = powerbi.DataView; 29 | 30 | import { getRandomNumbers, testDataViewBuilder } from "powerbi-visuals-utils-testutils"; 31 | import TestDataViewBuilder = testDataViewBuilder.TestDataViewBuilder; 32 | 33 | import { valueType as valueTypeModule } from "powerbi-visuals-utils-typeutils"; 34 | import ValueType = valueTypeModule.ValueType; 35 | 36 | export class VisualData extends TestDataViewBuilder { 37 | public static ColumnSource: string = "Source"; 38 | public static ColumnTarget: string = "Target"; 39 | public static ColumnLinkType: string = "LinkType"; 40 | public static ColumnWeight: string = "Weight"; 41 | public static ColumnSourceType: string = "SourceType"; 42 | public static ColumnTargetType: string = "TargetType"; 43 | 44 | public valuesSourceTarget: string[][] = [ 45 | ["William", "Brazil"], 46 | ["Olivia", "USA"], 47 | ["Daniel", "Portugal"], 48 | ["Lucas", "Canada"], 49 | ["Henry", "USA"], 50 | ["Aiden", "Brazil"], 51 | ["Daniel", "Portugal"], 52 | ["Harper", "USA"], 53 | ["Logan", "Brazil"], 54 | ["Ella", "Canada"], 55 | ["USA", "USA"] 56 | ]; 57 | 58 | public valuesWeight: number[] = getRandomNumbers(this.valuesSourceTarget.length, 10, 100); 59 | 60 | public getDataView(columnNames?: string[]): DataView { 61 | columnNames = columnNames || [ 62 | VisualData.ColumnSource, 63 | VisualData.ColumnTarget, 64 | VisualData.ColumnWeight 65 | ]; 66 | 67 | return this.createCategoricalDataViewBuilder([ 68 | { 69 | source: { 70 | displayName: VisualData.ColumnSource, 71 | roles: { Source: true }, 72 | type: ValueType.fromDescriptor({ text: true }) 73 | }, 74 | values: this.valuesSourceTarget.map(x => x[0]) 75 | }, 76 | { 77 | source: { 78 | displayName: VisualData.ColumnTarget, 79 | roles: { Target: true }, 80 | type: ValueType.fromDescriptor({ text: true }), 81 | }, 82 | values: this.valuesSourceTarget.map(x => x[1]) 83 | }, 84 | { 85 | source: { 86 | displayName: VisualData.ColumnLinkType, 87 | roles: { LinkType: true }, 88 | type: ValueType.fromDescriptor({ text: true }), 89 | }, 90 | values: [] 91 | }, 92 | { 93 | source: { 94 | displayName: VisualData.ColumnSourceType, 95 | roles: { SourceType: true }, 96 | type: ValueType.fromDescriptor({ text: true }), 97 | }, 98 | values: [] 99 | }, 100 | { 101 | source: { 102 | displayName: VisualData.ColumnTargetType, 103 | roles: { TargetType: true }, 104 | type: ValueType.fromDescriptor({ text: true }), 105 | }, 106 | values: [] 107 | } 108 | ], [ 109 | { 110 | source: { 111 | displayName: VisualData.ColumnWeight, 112 | roles: { Weight: true }, 113 | isMeasure: true, 114 | type: ValueType.fromDescriptor({ numeric: true }), 115 | }, 116 | values: this.valuesWeight 117 | } 118 | ], columnNames 119 | ).build(); 120 | } 121 | } 122 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "allowJs": false, 4 | "emitDecoratorMetadata": true, 5 | "experimentalDecorators": true, 6 | "module": "es6", 7 | "target": "ES6", 8 | "sourceMap": true, 9 | "outDir": "./.tmp/build/", 10 | "moduleResolution": "node", 11 | "declaration": true, 12 | "lib": ["es2017", "dom"] 13 | }, 14 | "files": [ 15 | "./src/visual.ts" 16 | ] 17 | } --------------------------------------------------------------------------------