几天前,我在用户选择更改数据顺序时创建了关于迷你图排序的问题.答案已经解决了问题,但仍保持红色圆圈的正确位置,突出显示用户放置鼠标的位置.
这是代码:PLUNKER.
我想到了在数据排序发生变化时如何更改代码以重新定位迷你线圆圈.我不明白在哪里以及如何更改代码.下面我尝试根据有关迷你图的代码点来解释我的推理.
(1)这两行代码定义了迷你图的域和范围.在我看来,当数据的排序发生变化时,不应该更改它们.
// domain and range for sparkline lines
var xSpark = d3.scaleLinear().domain([0, numYears-1]).range([0, sparkLength]);
var ySpark = d3.scaleLinear().domain([minYvalue, maxYvalue]).range([itemSize-2, 2]);
Run Code Online (Sandbox Code Playgroud)
(2)这段代码选择元素#data-svg-i(在哪里i是迷你线),它附加一个圆圈,将其定位cx,cy取决于xSpark和ySpark.如果在点提到的1是真实的(即xSpark和ySpark被"固定"的值),则即使这一段代码不具有要被改变的数据顺序的改变时.
var cells = svg.selectAll('.cell')
.data(data)
.enter()
.append('g')
.append('rect')
.on('mouseover', function(d, i) { // on mouseover rect
// get row, column and value of this rect
var idr = d3.select(this).attr('data-r'); // row
var …Run Code Online (Sandbox Code Playgroud) 我在之前做过的这个问题的帮助下构建了这个应用程序.
app.js:
var mongolib = require('./middlewares/db.js');
var downloaderCoverageWho = require('./routers/downloaderCoverageWho.js');
var downloaderCoverageIta = require('./routers/downloaderCoverageIta.js');
const start = async function() {
const conn = await mongolib.connectToMongoDb();
const coverages = await mongolib.createACollection('coverages');
const isPageHasUpdates = true;
if(isPageHasUpdates) {
await downloadCoverageIta();
await downloadCoverageWho();
}
await mongolib.closeConnection();
await console.log('d3.js creation...');
return 'FINISH';
}
start()
.then(res => console.log(res))
.catch(err => console.log(err));
async function downloadCoverageWho() {
await downloaderCoverageWho.download();
console.log('Finish');
}
async function downloadCoverageIta() {
await downloaderCoverageIta.download();
console.log('Finish');
}
Run Code Online (Sandbox Code Playgroud)
db.js:
var fs = …Run Code Online (Sandbox Code Playgroud) 我有一个数字域,例如domain = [100, 200],多个带可划分范围bands = 5。我知道每个波段对应一个值:
band #1 --> v = 0.2
band #2 --> v = 0.4
band #3 --> v = 0.6
band #4 --> v = 0.8
band #5 --> v = 1.0
Run Code Online (Sandbox Code Playgroud)
这些值是固定的(硬编码):如果乐队成为乐队,bands = 6那么开发人员将选择的值band #6。
我想将域划分为多个带,其大小根据使用的规模而变化。例如,我可能要使用线性或对数或磅秤。
然后,我想要一个在输入中带有数字x ? domain并且必须返回v与inout编号所属的波段相关联的值的函数。
这是一个类似的问题,但是现在我想使用不同的比例(例如,可以使用d3 scales),但是我不知道如何。
这里是一段代码:
function getLinearScaledValue(x, min, max, bands) {
const range = max - min
if (x === max) {
return …Run Code Online (Sandbox Code Playgroud) 我构建了一个Node.js应用程序,它从Internet上删除一些信息并将这些信息保存在postgreSQL数据库中.现在我想使用D3.js创建一些可视化.通常我使用.csv文件创建可视化,但现在我想从我的数据库中获取数据.
我想用Express.js.这是我的代码,它可以工作,但它从.csv文件中获取数据,而不是从数据库获取数据.
app.js:
const express = require('express');
var app = express();
const start = async function() {
console.log('\n(1) Connect to db');
await postgreSQLlib.connect();
console.log('\n(02) Create tables if they do not exist');
await postgreSQLlib.createTables();
console.log('\n(03) Check if table \'example\' is updated or not');
if(!await utilFunc.isTableUpdated('example', 6308)) {
console.log('\n (04) Download data for coverages');
await downloader.download();
console.log('\n (05) Elaborate data for example before to save on DB');
await elaborate.elaborate();
console.log('\n (06) Saving data on db'); …Run Code Online (Sandbox Code Playgroud) 我有两个数组。
我想要一个百分比值来描述它们的值相差多少。我尝试使用MSE和RMSE:
/**
* Mean Squared Error
* MSE = (1/n) * ?[(r - p)^2]}
*/
export function computeMse(a, b) {
const size = a.length
let error = 0
for (let i = 0; i < size; i++) {
error += Math.pow(b[i] - a[i], 2)
}
return (1 / size) * error
}
/**
* Root Mean Squared Error
* RMSE = ?MSE
*/
export function computeRmse(a, b) {
return Math.sqrt(computeMse(a, b))
}
Run Code Online (Sandbox Code Playgroud)
和:
const a = [2354493, 2615706, 1594281, …Run Code Online (Sandbox Code Playgroud) 我想使用带有这些数据的d3创建一个冲积图:
group, sex, age
'2', 'female', '20 - 29',
'2', 'male', '0 - 9',
'2', 'female', '0 - 9',
'2', 'female', '20 - 29',
'2', 'female', '10 - 19',
'2', 'female', '20 - 29',
'2', 'female', '20 - 29',
'2', 'male', 'unknown',
'2', 'male', '20 - 29',
'2', 'male', '20 - 29',
'2', 'female', '20 - 29',
'2', 'male', '20 - 29',
'2', 'male', '20 - 29',
'2', 'female', '10 - 19',
'2', 'male', '20 - 29',
'1', 'female', '20 …Run Code Online (Sandbox Code Playgroud) I have to iterate through a table and create a json object containing info in this way:
var obj = {
vaccine: "...",
year: ...,
country: "...",
coverage: ...
}
Run Code Online (Sandbox Code Playgroud)
The table is:
<table class="ts">
<tr>
<td class="statheadings" colspan="100%" align="center">
<h1 class="statistics">Coverage time series for Italy (ITA)</h1>
</td>
</tr>
<tr>
<td align="center" colspan="100%"> <font color="red">
Last updated 06-Sep-2017 (data as of 05-Sep-2017)<br />Next overall update 2018<br /></font>
</td>
</tr>
<tr>
<td colspan="100%" >
<hr />
</td>
</tr>
<tr>
<th colspan="4" align="left">Vacciness</th> …Run Code Online (Sandbox Code Playgroud) 我有以下数组:
const countries = ['Belgium', 'Uk']
const years = ['2019', '2018', '2017']
const colors = ['red', 'orange', 'green']
Run Code Online (Sandbox Code Playgroud)
我想要一个这样的数组:
const result = [
{
country: 'Belgium',
year: '2019',
red: random(min, max),
orange: random(min, max),
green: random(min, max),
},
{
country: 'Belgium',
year: '2018',
red: random(min, max),
orange: random(min, max),
green: random(min, max),
},
{
country: 'Belgium',
year: '2017',
red: random(min, max),
orange: random(min, max),
green: random(min, max),
},
{
country: 'Uk',
year: '2019',
red: random(min, max),
orange: random(min, max),
green: …Run Code Online (Sandbox Code Playgroud) 我知道Unity很少,并且想要创建一个非常简单的平台2D游戏,只需使用基本形状(正方形,矩形,圆形等).我搜索了互联网,我发现了一个更复杂的教程,我需要什么.
例如,我看到了这个,但它的目标比我的更有野心(我也看过其他教程,但我不能添加其他链接).
我希望创建一些非常简单的东西,以便了解程序的基础知识,然后尝试将更复杂的东西放在我身上.有没有人对我有任何建议?
这是我想象的第一级,非常简单(而且丑陋):

我不知道从哪里开始,我认为从复杂的东西开始然后不理解任何东西并且仅复制是不合理的.因为我变得更实际,所以最好从简单的事情和复杂的工作,我是对的吗?
我补充一点,我知道Java和一些JavaScript.
我遵循Fredrik的教程,这就是我得到的.阅读代码,我看到了这个:
if(col.tag == "Coin") {
coins++;
Destroy(col.gameObject); // remove the coin
}
Run Code Online (Sandbox Code Playgroud)
所以当玩家碰到硬币时,硬币不应该被摧毁?但在我的情况下不是那样的..
我有一个像这样的字符串:
var s = 'Lorem ipsum dolor sit amet';
我想要一个像这样的数组:
var l = [3, 3, 3, 1, 2, 5, 4, 1, 2, 1];
var a = ['Lor', 'em ', 'ips', 'u', 'm ', 'dolor', ' sit', 'a', 'me', 't'];
Run Code Online (Sandbox Code Playgroud)
细分的长度不同.
我知道先验我希望第一个元素的长度为3(Lor),第二个为3(em),第三个为3(ips),第四个为1(u),第五个为2(m),第六个为5(dolor),第七个为4 (sit),第八个1(a),第九个2(me)和第十个1(t).
我能怎么做?
我里面有一个divsvg徽标.
这是我的徽标示例:
我需要以这种方式放置徽标:
现在这是我的结果:
我该如何反映徽标?
我的代码:
<div className="relative">
<div
style={{
transform: 'rotate(90deg)',
}}
>
{mySvg}
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
非常感谢
javascript ×5
d3.js ×3
node.js ×3
2d-games ×1
arrays ×1
async-await ×1
cheerio ×1
css ×1
express ×1
html ×1
json ×1
mongodb ×1
mse ×1
object ×1
postgresql ×1
split ×1
statistics ×1
string ×1
web-scraping ×1