gpt4 book ai didi

excel - 创建文本列的气泡图

转载 作者:行者123 更新时间:2023-12-03 03:24:38 24 4
gpt4 key购买 nike

我有两个文本列,如下所示: enter image description here

现在我需要制作一个如下所示的气泡图:

enter image description here

知道如何使用 Excel 2016 实现此目的吗?

最佳答案

有一种方法可以使用 Javascript 来做到这一点。这种语言有很多强大的数据可视化和数据处理库。有一种方法可以在 Excel 中使用它,即使用名为 funfun 的 Excel 加载项。

我已经为您编写了一个工作代码:

https://www.funfun.io/1/#/edit/5a7c4d5db8b2864030f9de15

我使用带有嵌入式电子表格的在线编辑器来构建此图表。我使用 Json 文件(设置下的短/完整)将数据从电子表格获取到我的 JavaScript 代码:

{
"data": "=A1:B18"
}

然后我将其存储在 script.js 中的局部变量中,以便我可以在我将创建的图表中正确使用它们:

var Approaches = []; // list of Approaches
var Contribution = []; // list of contribution
var tmpC = [];

/*
* Parse your spreadsheet to count how much approaches and contribution there are
*/
for (var x = 1; x < $internal.data.length; x++) {
if (Approaches.indexOf($internal.data[x][0]) <= -1)
Approaches.push($internal.data[x][0]);
if (tmpC.indexOf($internal.data[x][1]) <= -1)
tmpC.push($internal.data[x][1]);
}

/*
* sort the array so that other is at the end
* (remove if you want you don't care about the order, replace 'tmpC' by 'Contribution' above)
*/

for (var t = tmpC.length - 1; t >= 0; t--)
Contribution.push(tmpC[t]);

var techniquesIndex = new Array(Contribution.length); // how much of one contribution is made per approach
var total = 0; // total of contribution

var totalPerApproaches = new Array(Approaches.length); //total of contributions for one Approach
for (var z = 0; z < totalPerApproaches.length; z++) {
totalPerApproaches[z] = 0;
}


var data = []; // data for the chart

/*
* Parse your every approach
*/
for (var x = 0; x < Approaches.length; x++) {
for (var z = 0; z < techniquesIndex.length; z++) {
techniquesIndex[z] = 0;
}

/*
* Parse your spreadsheet to count the number of contribution in this approach
*/
for (var y = 0; y < $internal.data.length; y++) {
if (Approaches.indexOf($internal.data[y][0]) == x) {
total += 1;
techniquesIndex[Contribution.indexOf($internal.data[y][1])] += 1;
}
}

for (var c = 0; c < Contribution.length; c++) {
/*
* calculate the total of contribution on this approach
*/
totalPerApproaches[x] += techniquesIndex[c];

/*
* removes the values equals to zero off the chart
* (remove this condition if you want to show the zeros)
*/
if (techniquesIndex[c] == 0)
continue;

/*
* adds a bubble to the charts with the number of Contribution per Approach
*/
data.push(
{
x: x, // -> index of array Approach[x]
y: c, // -> index of array Contribution[c]
z: techniquesIndex[c], // number of contribution[c] in Approach[x]
name: techniquesIndex[c] // ..
});
}
}

$Internal.data 是通过 Json 文件可访问的电子表格中的数据。数组data(最后)将用于创建图表的所有气泡。

以正确的格式存储数据后,我使用名为 Highcharts 的数据可视化库在 index.html 中创建图表,它为初学者提供了大量示例和良好的文档。您可以选择为图表添加许多选项,最后将数据传递到图表,如下所示:

series: [{
data: data // use the data from script.js
}]

构建图表后,您可以通过将 URL 粘贴到 Funfun excel add-in 中来在 Excel 中打开它。这是我的示例的样子:

final

您可以添加任意数量的行,只需确保 Json 文件中的数据范围是您需要的即可。

然后您可以将图表保存为多种格式:

format

希望这有帮助!

披露:我是 funfun 的开发者

关于excel - 创建文本列的气泡图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48552368/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com