保存良乡大屏数据 和iframe数据 1-23
This commit is contained in:
parent
77f9e4d546
commit
537031aae6
444
public/static/3d-force-graph/data/three-spritetext.mjs
Normal file
444
public/static/3d-force-graph/data/three-spritetext.mjs
Normal file
|
@ -0,0 +1,444 @@
|
||||||
|
import { CanvasTexture, Sprite, SpriteMaterial, SRGBColorSpace } from 'three';
|
||||||
|
|
||||||
|
function _arrayLikeToArray(r, a) {
|
||||||
|
(null == a || a > r.length) && (a = r.length);
|
||||||
|
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
function _arrayWithHoles(r) {
|
||||||
|
if (Array.isArray(r)) return r;
|
||||||
|
}
|
||||||
|
function _arrayWithoutHoles(r) {
|
||||||
|
if (Array.isArray(r)) return _arrayLikeToArray(r);
|
||||||
|
}
|
||||||
|
function _assertThisInitialized(e) {
|
||||||
|
if (undefined === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
||||||
|
return e;
|
||||||
|
}
|
||||||
|
function _callSuper(t, o, e) {
|
||||||
|
return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e, _getPrototypeOf(t).constructor) : o.apply(t, e));
|
||||||
|
}
|
||||||
|
function _classCallCheck(a, n) {
|
||||||
|
if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
|
||||||
|
}
|
||||||
|
function _defineProperties(e, r) {
|
||||||
|
for (var t = 0; t < r.length; t++) {
|
||||||
|
var o = r[t];
|
||||||
|
o.enumerable = o.enumerable || false, o.configurable = true, "value" in o && (o.writable = true), Object.defineProperty(e, _toPropertyKey(o.key), o);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function _createClass(e, r, t) {
|
||||||
|
return _defineProperties(e.prototype, r), Object.defineProperty(e, "prototype", {
|
||||||
|
writable: false
|
||||||
|
}), e;
|
||||||
|
}
|
||||||
|
function _getPrototypeOf(t) {
|
||||||
|
return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {
|
||||||
|
return t.__proto__ || Object.getPrototypeOf(t);
|
||||||
|
}, _getPrototypeOf(t);
|
||||||
|
}
|
||||||
|
function _inherits(t, e) {
|
||||||
|
if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function");
|
||||||
|
t.prototype = Object.create(e && e.prototype, {
|
||||||
|
constructor: {
|
||||||
|
value: t,
|
||||||
|
writable: true,
|
||||||
|
configurable: true
|
||||||
|
}
|
||||||
|
}), Object.defineProperty(t, "prototype", {
|
||||||
|
writable: false
|
||||||
|
}), e && _setPrototypeOf(t, e);
|
||||||
|
}
|
||||||
|
function _isNativeReflectConstruct() {
|
||||||
|
try {
|
||||||
|
var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
|
||||||
|
} catch (t) {}
|
||||||
|
return (_isNativeReflectConstruct = function () {
|
||||||
|
return !!t;
|
||||||
|
})();
|
||||||
|
}
|
||||||
|
function _iterableToArray(r) {
|
||||||
|
if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);
|
||||||
|
}
|
||||||
|
function _iterableToArrayLimit(r, l) {
|
||||||
|
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
||||||
|
if (null != t) {
|
||||||
|
var e,
|
||||||
|
n,
|
||||||
|
i,
|
||||||
|
u,
|
||||||
|
a = [],
|
||||||
|
f = true,
|
||||||
|
o = false;
|
||||||
|
try {
|
||||||
|
if (i = (t = t.call(r)).next, 0 === l) {
|
||||||
|
if (Object(t) !== t) return;
|
||||||
|
f = !1;
|
||||||
|
} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
|
||||||
|
} catch (r) {
|
||||||
|
o = true, n = r;
|
||||||
|
} finally {
|
||||||
|
try {
|
||||||
|
if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
|
||||||
|
} finally {
|
||||||
|
if (o) throw n;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return a;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function _nonIterableRest() {
|
||||||
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
||||||
|
}
|
||||||
|
function _nonIterableSpread() {
|
||||||
|
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
||||||
|
}
|
||||||
|
function _possibleConstructorReturn(t, e) {
|
||||||
|
if (e && ("object" == typeof e || "function" == typeof e)) return e;
|
||||||
|
if (undefined !== e) throw new TypeError("Derived constructors may only return object or undefined");
|
||||||
|
return _assertThisInitialized(t);
|
||||||
|
}
|
||||||
|
function _setPrototypeOf(t, e) {
|
||||||
|
return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {
|
||||||
|
return t.__proto__ = e, t;
|
||||||
|
}, _setPrototypeOf(t, e);
|
||||||
|
}
|
||||||
|
function _slicedToArray(r, e) {
|
||||||
|
return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
|
||||||
|
}
|
||||||
|
function _toConsumableArray(r) {
|
||||||
|
return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();
|
||||||
|
}
|
||||||
|
function _toPrimitive(t, r) {
|
||||||
|
if ("object" != typeof t || !t) return t;
|
||||||
|
var e = t[Symbol.toPrimitive];
|
||||||
|
if (undefined !== e) {
|
||||||
|
var i = e.call(t, r);
|
||||||
|
if ("object" != typeof i) return i;
|
||||||
|
throw new TypeError("@@toPrimitive must return a primitive value.");
|
||||||
|
}
|
||||||
|
return (String )(t);
|
||||||
|
}
|
||||||
|
function _toPropertyKey(t) {
|
||||||
|
var i = _toPrimitive(t, "string");
|
||||||
|
return "symbol" == typeof i ? i : i + "";
|
||||||
|
}
|
||||||
|
function _unsupportedIterableToArray(r, a) {
|
||||||
|
if (r) {
|
||||||
|
if ("string" == typeof r) return _arrayLikeToArray(r, a);
|
||||||
|
var t = {}.toString.call(r).slice(8, -1);
|
||||||
|
return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : undefined;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var three = typeof window !== 'undefined' && window.THREE ? window.THREE // Prefer consumption from global THREE, if exists
|
||||||
|
: {
|
||||||
|
CanvasTexture: CanvasTexture,
|
||||||
|
Sprite: Sprite,
|
||||||
|
SpriteMaterial: SpriteMaterial,
|
||||||
|
SRGBColorSpace: SRGBColorSpace
|
||||||
|
};
|
||||||
|
var _default = /*#__PURE__*/function (_three$Sprite) {
|
||||||
|
function _default() {
|
||||||
|
var _this;
|
||||||
|
var text = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
||||||
|
var textHeight = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10;
|
||||||
|
var color = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'rgba(255, 255, 255, 1)';
|
||||||
|
_classCallCheck(this, _default);
|
||||||
|
_this = _callSuper(this, _default, [new three.SpriteMaterial()]);
|
||||||
|
_this._text = "".concat(text);
|
||||||
|
_this._textHeight = textHeight;
|
||||||
|
_this._color = color;
|
||||||
|
_this._backgroundColor = false; // no background color
|
||||||
|
|
||||||
|
_this._padding = 0;
|
||||||
|
_this._borderWidth = 0;
|
||||||
|
_this._borderRadius = 0;
|
||||||
|
_this._borderColor = 'white';
|
||||||
|
_this._strokeWidth = 0;
|
||||||
|
_this._strokeColor = 'white';
|
||||||
|
_this._fontFace = 'system-ui';
|
||||||
|
_this._fontSize = 90; // defines text resolution
|
||||||
|
_this._fontWeight = 'normal';
|
||||||
|
_this._canvas = document.createElement('canvas');
|
||||||
|
_this._genCanvas();
|
||||||
|
return _this;
|
||||||
|
}
|
||||||
|
_inherits(_default, _three$Sprite);
|
||||||
|
return _createClass(_default, [{
|
||||||
|
key: "text",
|
||||||
|
get: function get() {
|
||||||
|
return this._text;
|
||||||
|
},
|
||||||
|
set: function set(text) {
|
||||||
|
this._text = text;
|
||||||
|
this._genCanvas();
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: "textHeight",
|
||||||
|
get: function get() {
|
||||||
|
return this._textHeight;
|
||||||
|
},
|
||||||
|
set: function set(textHeight) {
|
||||||
|
this._textHeight = textHeight;
|
||||||
|
this._genCanvas();
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: "color",
|
||||||
|
get: function get() {
|
||||||
|
return this._color;
|
||||||
|
},
|
||||||
|
set: function set(color) {
|
||||||
|
this._color = color;
|
||||||
|
this._genCanvas();
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: "backgroundColor",
|
||||||
|
get: function get() {
|
||||||
|
return this._backgroundColor;
|
||||||
|
},
|
||||||
|
set: function set(color) {
|
||||||
|
this._backgroundColor = color;
|
||||||
|
this._genCanvas();
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: "padding",
|
||||||
|
get: function get() {
|
||||||
|
return this._padding;
|
||||||
|
},
|
||||||
|
set: function set(padding) {
|
||||||
|
this._padding = padding;
|
||||||
|
this._genCanvas();
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: "borderWidth",
|
||||||
|
get: function get() {
|
||||||
|
return this._borderWidth;
|
||||||
|
},
|
||||||
|
set: function set(borderWidth) {
|
||||||
|
this._borderWidth = borderWidth;
|
||||||
|
this._genCanvas();
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: "borderRadius",
|
||||||
|
get: function get() {
|
||||||
|
return this._borderRadius;
|
||||||
|
},
|
||||||
|
set: function set(borderRadius) {
|
||||||
|
this._borderRadius = borderRadius;
|
||||||
|
this._genCanvas();
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: "borderColor",
|
||||||
|
get: function get() {
|
||||||
|
return this._borderColor;
|
||||||
|
},
|
||||||
|
set: function set(borderColor) {
|
||||||
|
this._borderColor = borderColor;
|
||||||
|
this._genCanvas();
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: "fontFace",
|
||||||
|
get: function get() {
|
||||||
|
return this._fontFace;
|
||||||
|
},
|
||||||
|
set: function set(fontFace) {
|
||||||
|
this._fontFace = fontFace;
|
||||||
|
this._genCanvas();
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: "fontSize",
|
||||||
|
get: function get() {
|
||||||
|
return this._fontSize;
|
||||||
|
},
|
||||||
|
set: function set(fontSize) {
|
||||||
|
this._fontSize = fontSize;
|
||||||
|
this._genCanvas();
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: "fontWeight",
|
||||||
|
get: function get() {
|
||||||
|
return this._fontWeight;
|
||||||
|
},
|
||||||
|
set: function set(fontWeight) {
|
||||||
|
this._fontWeight = fontWeight;
|
||||||
|
this._genCanvas();
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: "strokeWidth",
|
||||||
|
get: function get() {
|
||||||
|
return this._strokeWidth;
|
||||||
|
},
|
||||||
|
set: function set(strokeWidth) {
|
||||||
|
this._strokeWidth = strokeWidth;
|
||||||
|
this._genCanvas();
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: "strokeColor",
|
||||||
|
get: function get() {
|
||||||
|
return this._strokeColor;
|
||||||
|
},
|
||||||
|
set: function set(strokeColor) {
|
||||||
|
this._strokeColor = strokeColor;
|
||||||
|
this._genCanvas();
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: "_genCanvas",
|
||||||
|
value: function _genCanvas() {
|
||||||
|
var _this2 = this;
|
||||||
|
var canvas = this._canvas;
|
||||||
|
var ctx = canvas.getContext('2d');
|
||||||
|
var relFactor = 1 / this.textHeight;
|
||||||
|
var border = Array.isArray(this.borderWidth) ? this.borderWidth : [this.borderWidth, this.borderWidth]; // x,y border
|
||||||
|
var relBorder = border.map(function (b) {
|
||||||
|
return b * _this2.fontSize * relFactor;
|
||||||
|
}); // border in canvas units
|
||||||
|
|
||||||
|
var borderRadius = Array.isArray(this.borderRadius) ? this.borderRadius : [this.borderRadius, this.borderRadius, this.borderRadius, this.borderRadius]; // tl tr br bl corners
|
||||||
|
var relBorderRadius = borderRadius.map(function (b) {
|
||||||
|
return b * _this2.fontSize * relFactor;
|
||||||
|
}); // border radius in canvas units
|
||||||
|
|
||||||
|
var padding = Array.isArray(this.padding) ? this.padding : [this.padding, this.padding]; // x,y padding
|
||||||
|
var relPadding = padding.map(function (p) {
|
||||||
|
return p * _this2.fontSize * relFactor;
|
||||||
|
}); // padding in canvas units
|
||||||
|
|
||||||
|
var lines = this.text.split('\n');
|
||||||
|
var font = "".concat(this.fontWeight, " ").concat(this.fontSize, "px ").concat(this.fontFace);
|
||||||
|
ctx.font = font; // measure canvas with appropriate font
|
||||||
|
var innerWidth = Math.max.apply(Math, _toConsumableArray(lines.map(function (line) {
|
||||||
|
return ctx.measureText(line).width;
|
||||||
|
})));
|
||||||
|
var innerHeight = this.fontSize * lines.length;
|
||||||
|
canvas.width = innerWidth + relBorder[0] * 2 + relPadding[0] * 2;
|
||||||
|
canvas.height = innerHeight + relBorder[1] * 2 + relPadding[1] * 2;
|
||||||
|
|
||||||
|
// paint border
|
||||||
|
if (this.borderWidth) {
|
||||||
|
ctx.strokeStyle = this.borderColor;
|
||||||
|
if (relBorder[0]) {
|
||||||
|
// left + right borders
|
||||||
|
var hb = relBorder[0] / 2;
|
||||||
|
ctx.lineWidth = relBorder[0];
|
||||||
|
ctx.beginPath();
|
||||||
|
ctx.moveTo(hb, relBorderRadius[0]);
|
||||||
|
ctx.lineTo(hb, canvas.height - relBorderRadius[3]);
|
||||||
|
ctx.moveTo(canvas.width - hb, relBorderRadius[1]);
|
||||||
|
ctx.lineTo(canvas.width - hb, canvas.height - relBorderRadius[2]);
|
||||||
|
ctx.stroke();
|
||||||
|
}
|
||||||
|
if (relBorder[1]) {
|
||||||
|
// top + bottom borders
|
||||||
|
var _hb = relBorder[1] / 2;
|
||||||
|
ctx.lineWidth = relBorder[1];
|
||||||
|
ctx.beginPath();
|
||||||
|
ctx.moveTo(Math.max(relBorder[0], relBorderRadius[0]), _hb);
|
||||||
|
ctx.lineTo(canvas.width - Math.max(relBorder[0], relBorderRadius[1]), _hb);
|
||||||
|
ctx.moveTo(Math.max(relBorder[0], relBorderRadius[3]), canvas.height - _hb);
|
||||||
|
ctx.lineTo(canvas.width - Math.max(relBorder[0], relBorderRadius[2]), canvas.height - _hb);
|
||||||
|
ctx.stroke();
|
||||||
|
}
|
||||||
|
if (this.borderRadius) {
|
||||||
|
// strike rounded corners
|
||||||
|
var cornerWidth = Math.max.apply(Math, _toConsumableArray(relBorder));
|
||||||
|
var _hb2 = cornerWidth / 2;
|
||||||
|
ctx.lineWidth = cornerWidth;
|
||||||
|
ctx.beginPath();
|
||||||
|
[!!relBorderRadius[0] && [relBorderRadius[0], _hb2, _hb2, relBorderRadius[0]], !!relBorderRadius[1] && [canvas.width - relBorderRadius[1], canvas.width - _hb2, _hb2, relBorderRadius[1]], !!relBorderRadius[2] && [canvas.width - relBorderRadius[2], canvas.width - _hb2, canvas.height - _hb2, canvas.height - relBorderRadius[2]], !!relBorderRadius[3] && [relBorderRadius[3], _hb2, canvas.height - _hb2, canvas.height - relBorderRadius[3]]].filter(function (d) {
|
||||||
|
return d;
|
||||||
|
}).forEach(function (_ref) {
|
||||||
|
var _ref2 = _slicedToArray(_ref, 4),
|
||||||
|
x0 = _ref2[0],
|
||||||
|
x1 = _ref2[1],
|
||||||
|
y0 = _ref2[2],
|
||||||
|
y1 = _ref2[3];
|
||||||
|
ctx.moveTo(x0, y0);
|
||||||
|
ctx.quadraticCurveTo(x1, y0, x1, y1);
|
||||||
|
});
|
||||||
|
ctx.stroke();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// paint background
|
||||||
|
if (this.backgroundColor) {
|
||||||
|
ctx.fillStyle = this.backgroundColor;
|
||||||
|
if (!this.borderRadius) {
|
||||||
|
ctx.fillRect(relBorder[0], relBorder[1], canvas.width - relBorder[0] * 2, canvas.height - relBorder[1] * 2);
|
||||||
|
} else {
|
||||||
|
// fill with rounded corners
|
||||||
|
ctx.beginPath();
|
||||||
|
ctx.moveTo(relBorder[0], relBorderRadius[0]);
|
||||||
|
[[relBorder[0], relBorderRadius[0], canvas.width - relBorderRadius[1], relBorder[1], relBorder[1], relBorder[1]],
|
||||||
|
// t
|
||||||
|
[canvas.width - relBorder[0], canvas.width - relBorder[0], canvas.width - relBorder[0], relBorder[1], relBorderRadius[1], canvas.height - relBorderRadius[2]],
|
||||||
|
// r
|
||||||
|
[canvas.width - relBorder[0], canvas.width - relBorderRadius[2], relBorderRadius[3], canvas.height - relBorder[1], canvas.height - relBorder[1], canvas.height - relBorder[1]],
|
||||||
|
// b
|
||||||
|
[relBorder[0], relBorder[0], relBorder[0], canvas.height - relBorder[1], canvas.height - relBorderRadius[3], relBorderRadius[0]] // t
|
||||||
|
].forEach(function (_ref3) {
|
||||||
|
var _ref4 = _slicedToArray(_ref3, 6),
|
||||||
|
x0 = _ref4[0],
|
||||||
|
x1 = _ref4[1],
|
||||||
|
x2 = _ref4[2],
|
||||||
|
y0 = _ref4[3],
|
||||||
|
y1 = _ref4[4],
|
||||||
|
y2 = _ref4[5];
|
||||||
|
ctx.quadraticCurveTo(x0, y0, x1, y1);
|
||||||
|
ctx.lineTo(x2, y2);
|
||||||
|
});
|
||||||
|
ctx.closePath();
|
||||||
|
ctx.fill();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ctx.translate.apply(ctx, _toConsumableArray(relBorder));
|
||||||
|
ctx.translate.apply(ctx, _toConsumableArray(relPadding));
|
||||||
|
|
||||||
|
// paint text
|
||||||
|
ctx.font = font; // Set font again after canvas is resized, as context properties are reset
|
||||||
|
ctx.fillStyle = this.color;
|
||||||
|
ctx.textBaseline = 'bottom';
|
||||||
|
var drawTextStroke = this.strokeWidth > 0;
|
||||||
|
if (drawTextStroke) {
|
||||||
|
ctx.lineWidth = this.strokeWidth * this.fontSize / 10;
|
||||||
|
ctx.strokeStyle = this.strokeColor;
|
||||||
|
}
|
||||||
|
lines.forEach(function (line, index) {
|
||||||
|
var lineX = (innerWidth - ctx.measureText(line).width) / 2;
|
||||||
|
var lineY = (index + 1) * _this2.fontSize;
|
||||||
|
drawTextStroke && ctx.strokeText(line, lineX, lineY);
|
||||||
|
ctx.fillText(line, lineX, lineY);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Inject canvas into sprite
|
||||||
|
if (this.material.map) this.material.map.dispose(); // gc previous texture
|
||||||
|
var texture = this.material.map = new three.CanvasTexture(canvas);
|
||||||
|
texture.colorSpace = three.SRGBColorSpace;
|
||||||
|
var yScale = this.textHeight * lines.length + border[1] * 2 + padding[1] * 2;
|
||||||
|
this.scale.set(yScale * canvas.width / canvas.height, yScale, 0);
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: "clone",
|
||||||
|
value: function clone() {
|
||||||
|
return new this.constructor(this.text, this.textHeight, this.color).copy(this);
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
key: "copy",
|
||||||
|
value: function copy(source) {
|
||||||
|
three.Sprite.prototype.copy.call(this, source);
|
||||||
|
this.color = source.color;
|
||||||
|
this.backgroundColor = source.backgroundColor;
|
||||||
|
this.padding = source.padding;
|
||||||
|
this.borderWidth = source.borderWidth;
|
||||||
|
this.borderColor = source.borderColor;
|
||||||
|
this.fontFace = source.fontFace;
|
||||||
|
this.fontSize = source.fontSize;
|
||||||
|
this.fontWeight = source.fontWeight;
|
||||||
|
this.strokeWidth = source.strokeWidth;
|
||||||
|
this.strokeColor = source.strokeColor;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}]);
|
||||||
|
}(three.Sprite);
|
||||||
|
|
||||||
|
export { _default as default };
|
37049
public/static/3d-force-graph/data/three.core.js
Normal file
37049
public/static/3d-force-graph/data/three.core.js
Normal file
File diff suppressed because one or more lines are too long
17626
public/static/3d-force-graph/data/three.module.js
Normal file
17626
public/static/3d-force-graph/data/three.module.js
Normal file
File diff suppressed because one or more lines are too long
|
@ -2593,7 +2593,37 @@
|
||||||
"2024-12-12",
|
"2024-12-12",
|
||||||
"2024-12-13",
|
"2024-12-13",
|
||||||
"2024-12-16",
|
"2024-12-16",
|
||||||
"2024-12-17"
|
"2024-12-17",
|
||||||
|
"2024-12-18",
|
||||||
|
"2024-12-19",
|
||||||
|
"2024-12-20",
|
||||||
|
"2024-12-23",
|
||||||
|
"2024-12-24",
|
||||||
|
"2024-12-25",
|
||||||
|
"2024-12-26",
|
||||||
|
"2024-12-27",
|
||||||
|
"2024-12-30",
|
||||||
|
"2024-12-31",
|
||||||
|
"2025-01-01",
|
||||||
|
"2025-01-02",
|
||||||
|
"2025-01-03",
|
||||||
|
"2025-01-06",
|
||||||
|
"2025-01-07",
|
||||||
|
"2025-01-08",
|
||||||
|
"2025-01-09",
|
||||||
|
"2025-01-10",
|
||||||
|
"2025-01-13",
|
||||||
|
"2025-01-14",
|
||||||
|
"2025-01-15",
|
||||||
|
"2025-01-16",
|
||||||
|
"2025-01-17",
|
||||||
|
"2025-01-20",
|
||||||
|
"2025-01-21",
|
||||||
|
"2025-01-22",
|
||||||
|
"2025-01-23",
|
||||||
|
"2025-01-24",
|
||||||
|
"2025-01-27",
|
||||||
|
"2025-01-28"
|
||||||
],
|
],
|
||||||
"individual": [
|
"individual": [
|
||||||
[
|
[
|
||||||
|
@ -12946,31 +12976,151 @@
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"2024-12-09",
|
"2024-12-09",
|
||||||
0.05939
|
0.05255
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"2024-12-10",
|
"2024-12-10",
|
||||||
0.0594
|
0.05255
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"2024-12-11",
|
"2024-12-11",
|
||||||
0.05939
|
0.05255
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"2024-12-12",
|
"2024-12-12",
|
||||||
0.05941
|
0.05255
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"2024-12-13",
|
"2024-12-13",
|
||||||
0.0594
|
0.05255
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"2024-12-16",
|
"2024-12-16",
|
||||||
0.05941
|
0.04922
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"2024-12-17",
|
"2024-12-17",
|
||||||
0.0594
|
0.04922
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-18",
|
||||||
|
0.04922
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-19",
|
||||||
|
0.04922
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-20",
|
||||||
|
0.04922
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-23",
|
||||||
|
0.0473
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-24",
|
||||||
|
0.0473
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-25",
|
||||||
|
0.0473
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-26",
|
||||||
|
0.0473
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-27",
|
||||||
|
0.0473
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-30",
|
||||||
|
0.04736
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-31",
|
||||||
|
0.04736
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-01",
|
||||||
|
0.04731
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-02",
|
||||||
|
0.04736
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-03",
|
||||||
|
0.04736
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-06",
|
||||||
|
0.04828
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-07",
|
||||||
|
0.04828
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-08",
|
||||||
|
0.04828
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-09",
|
||||||
|
0.04828
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-10",
|
||||||
|
0.04828
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-13",
|
||||||
|
0.05291
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-14",
|
||||||
|
0.05291
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-15",
|
||||||
|
0.05291
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-16",
|
||||||
|
0.05291
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-17",
|
||||||
|
0.05291
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-20",
|
||||||
|
0.0529
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-21",
|
||||||
|
0.0529
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-22",
|
||||||
|
0.0529
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-23",
|
||||||
|
0.05289
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-24",
|
||||||
|
0.05287
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-27",
|
||||||
|
0.0529
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-28",
|
||||||
|
0.05287
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"structure": [
|
"structure": [
|
||||||
|
@ -23324,7 +23474,7 @@
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"2024-12-09",
|
"2024-12-09",
|
||||||
0.43753
|
0.43752
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"2024-12-10",
|
"2024-12-10",
|
||||||
|
@ -23332,7 +23482,7 @@
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"2024-12-11",
|
"2024-12-11",
|
||||||
0.43753
|
0.43752
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"2024-12-12",
|
"2024-12-12",
|
||||||
|
@ -23349,6 +23499,126 @@
|
||||||
[
|
[
|
||||||
"2024-12-17",
|
"2024-12-17",
|
||||||
0.43752
|
0.43752
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-18",
|
||||||
|
0.43752
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-19",
|
||||||
|
0.43752
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-20",
|
||||||
|
0.43752
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-23",
|
||||||
|
0.43752
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-24",
|
||||||
|
0.43752
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-25",
|
||||||
|
0.43752
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-26",
|
||||||
|
0.43752
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-27",
|
||||||
|
0.43752
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-30",
|
||||||
|
0.43752
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-31",
|
||||||
|
0.43752
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-01",
|
||||||
|
0.43753
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-02",
|
||||||
|
0.43752
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-03",
|
||||||
|
0.43752
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-06",
|
||||||
|
0.43752
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-07",
|
||||||
|
0.43752
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-08",
|
||||||
|
0.43752
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-09",
|
||||||
|
0.43752
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-10",
|
||||||
|
0.43752
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-13",
|
||||||
|
0.43752
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-14",
|
||||||
|
0.43752
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-15",
|
||||||
|
0.43752
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-16",
|
||||||
|
0.43752
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-17",
|
||||||
|
0.43752
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-20",
|
||||||
|
0.43752
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-21",
|
||||||
|
0.43752
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-22",
|
||||||
|
0.43752
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-23",
|
||||||
|
0.43751
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-24",
|
||||||
|
0.43752
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-27",
|
||||||
|
0.43752
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-28",
|
||||||
|
0.43752
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"spill": [
|
"spill": [
|
||||||
|
@ -33038,31 +33308,151 @@
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"2024-12-09",
|
"2024-12-09",
|
||||||
0.52801
|
0.52757
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"2024-12-10",
|
"2024-12-10",
|
||||||
0.52738
|
0.52727
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"2024-12-11",
|
"2024-12-11",
|
||||||
0.52629
|
0.52714
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"2024-12-12",
|
"2024-12-12",
|
||||||
0.52572
|
0.52771
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"2024-12-13",
|
"2024-12-13",
|
||||||
0.52484
|
0.52288
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"2024-12-16",
|
"2024-12-16",
|
||||||
0.52478
|
0.53203
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"2024-12-17",
|
"2024-12-17",
|
||||||
0.5242
|
0.53219
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-18",
|
||||||
|
0.51276
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-19",
|
||||||
|
0.50901
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-20",
|
||||||
|
0.53165
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-23",
|
||||||
|
0.53187
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-24",
|
||||||
|
0.5316
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-25",
|
||||||
|
0.53156
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-26",
|
||||||
|
0.53187
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-27",
|
||||||
|
0.53121
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-30",
|
||||||
|
0.53329
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-31",
|
||||||
|
0.53262
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-01",
|
||||||
|
0.53752
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-02",
|
||||||
|
0.52962
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-03",
|
||||||
|
0.52924
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-06",
|
||||||
|
0.52969
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-07",
|
||||||
|
0.52872
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-08",
|
||||||
|
0.52845
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-09",
|
||||||
|
0.52925
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-10",
|
||||||
|
0.52898
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-13",
|
||||||
|
0.53099
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-14",
|
||||||
|
0.53011
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-15",
|
||||||
|
0.53049
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-16",
|
||||||
|
0.53084
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-17",
|
||||||
|
0.53166
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-20",
|
||||||
|
0.53406
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-21",
|
||||||
|
0.5335
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-22",
|
||||||
|
0.53429
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-23",
|
||||||
|
0.53048
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-24",
|
||||||
|
0.53031
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-27",
|
||||||
|
0.53037
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-28",
|
||||||
|
0.53055
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"volatility": [
|
"volatility": [
|
||||||
|
@ -42756,61 +43146,181 @@
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"2024-12-09",
|
"2024-12-09",
|
||||||
0.59017
|
0.54442
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"2024-12-10",
|
"2024-12-10",
|
||||||
0.577
|
0.53896
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"2024-12-11",
|
"2024-12-11",
|
||||||
0.57566
|
0.54345
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"2024-12-12",
|
"2024-12-12",
|
||||||
0.57663
|
0.5424
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"2024-12-13",
|
"2024-12-13",
|
||||||
0.57702
|
0.49882
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"2024-12-16",
|
"2024-12-16",
|
||||||
0.5784
|
0.44716
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"2024-12-17",
|
"2024-12-17",
|
||||||
0.57492
|
0.47748
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-18",
|
||||||
|
0.46349
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-19",
|
||||||
|
0.45804
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-20",
|
||||||
|
0.48322
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-23",
|
||||||
|
0.47051
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-24",
|
||||||
|
0.49314
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-25",
|
||||||
|
0.49406
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-26",
|
||||||
|
0.47333
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-27",
|
||||||
|
0.47522
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-30",
|
||||||
|
0.46141
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2024-12-31",
|
||||||
|
0.44156
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-01",
|
||||||
|
0.47366
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-02",
|
||||||
|
0.35975
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-03",
|
||||||
|
0.34351
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-06",
|
||||||
|
0.43188
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-07",
|
||||||
|
0.40985
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-08",
|
||||||
|
0.40999
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-09",
|
||||||
|
0.45476
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-10",
|
||||||
|
0.44372
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-13",
|
||||||
|
0.36374
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-14",
|
||||||
|
0.4498
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-15",
|
||||||
|
0.47428
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-16",
|
||||||
|
0.44654
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-17",
|
||||||
|
0.42147
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-20",
|
||||||
|
0.42205
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-21",
|
||||||
|
0.42756
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-22",
|
||||||
|
0.41158
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-23",
|
||||||
|
0.42662
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-24",
|
||||||
|
0.42967
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-27",
|
||||||
|
0.43369
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"2025-01-28",
|
||||||
|
0.43419
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"detail": {
|
"detail": {
|
||||||
"个体风险状态": [
|
"个体风险状态": [
|
||||||
null,
|
0.052904651,
|
||||||
null,
|
0.052904651,
|
||||||
0.059391622,
|
0.052888725,
|
||||||
0.059404586
|
0.052870426
|
||||||
],
|
],
|
||||||
"市场系统结构": [
|
"市场系统结构": [
|
||||||
null,
|
0.437519729,
|
||||||
null,
|
0.437519729,
|
||||||
0.437527508,
|
0.437513471,
|
||||||
0.437519878
|
0.437524617
|
||||||
],
|
],
|
||||||
"风险关联与溢出": [
|
"风险关联与溢出": [
|
||||||
null,
|
"0.5334986696417409",
|
||||||
null,
|
"0.5342880684981502",
|
||||||
"0.5280079",
|
"0.5304830074310303",
|
||||||
"0.5273755"
|
"0.530312716960907"
|
||||||
],
|
],
|
||||||
"市场波动和趋势": [
|
"市场波动和趋势": [
|
||||||
null,
|
0.427563071,
|
||||||
null,
|
0.411576897,
|
||||||
0.590166569,
|
0.426618218,
|
||||||
0.576999187
|
0.429673553
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"markarea": [
|
"markarea": [
|
||||||
"2024-12-09",
|
"2025-01-23",
|
||||||
"2024-12-17"
|
"2025-01-28"
|
||||||
]
|
]
|
||||||
}
|
}
|
5102
src/bigscreen2/data/futureRisk.json
Normal file
5102
src/bigscreen2/data/futureRisk.json
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
13
src/bigscreen2/data/naershiye.json
Normal file
13
src/bigscreen2/data/naershiye.json
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
"data": {
|
||||||
|
"投资关系": 82.44588614888224,
|
||||||
|
"操盘模式": 25,
|
||||||
|
"财务状态": 54.00000000000001,
|
||||||
|
"健康指数": 48,
|
||||||
|
"运行状态": 58.56999999999999,
|
||||||
|
"规模扩张": 20,
|
||||||
|
"声誉风险": 65,
|
||||||
|
"外部环境": 5,
|
||||||
|
"等级": 5
|
||||||
|
}
|
||||||
|
}
|
|
@ -4,8 +4,8 @@ import axios from 'axios'
|
||||||
//
|
//
|
||||||
const http = axios.create({
|
const http = axios.create({
|
||||||
//通用请求
|
//通用请求
|
||||||
// baseURL:'http://61.240.140.173:8000/',//后端的地址前缀
|
baseURL:'http://61.240.140.173:8000/',//后端的地址前缀
|
||||||
baseURL:'/api/',//后端的地址前缀
|
// baseURL:'/api/',//后端的地址前缀
|
||||||
// withCredentials:truenpm run serve
|
// withCredentials:truenpm run serve
|
||||||
// async:true,
|
// async:true,
|
||||||
// timeout:'10000',//10s 超时时间
|
// timeout:'10000',//10s 超时时间
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 4.2 KiB |
Binary file not shown.
Before Width: | Height: | Size: 4.2 KiB |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 8.8 KiB |
Binary file not shown.
Before Width: | Height: | Size: 43 KiB |
Binary file not shown.
Before Width: | Height: | Size: 289 KiB |
Binary file not shown.
Before Width: | Height: | Size: 36 KiB |
|
@ -1 +0,0 @@
|
||||||
<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="Logo.ico"><title>资本市场系统性风险平台</title><script defer="defer" src="/js/chunk-vendors.4f7948c0.js"></script><script defer="defer" src="/js/app.5c692974.js"></script><link href="/css/chunk-vendors.3a09ad9a.css" rel="stylesheet"><link href="/css/app.d4baead9.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but finacial doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1,29 +0,0 @@
|
||||||
<head>
|
|
||||||
<style> body { margin: 0; } </style>
|
|
||||||
|
|
||||||
<script src="3d-force-graph.min.js"></script>
|
|
||||||
<!-- <script src="../../dist/3d-force-graph.js"></script>-->
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<div id="3d-graph"></div>
|
|
||||||
|
|
||||||
<!-- <script type="importmap">{ "imports": { "three": "//unpkg.com/three/build/three.module.js" }}</script> -->
|
|
||||||
<script src="../../../node_modules/three/build/three.module.js"></script>
|
|
||||||
<script type="module">
|
|
||||||
import { UnrealBloomPass } from '../../../node_modules/three/examples/jsm/postprocessing/UnrealBloomPass.js';
|
|
||||||
|
|
||||||
const Graph = ForceGraph3D()
|
|
||||||
(document.getElementById('3d-graph'))
|
|
||||||
.backgroundColor('#000003')
|
|
||||||
.jsonUrl('../datasets/miserables.json')
|
|
||||||
.nodeLabel('id')
|
|
||||||
.nodeAutoColorBy('group');
|
|
||||||
|
|
||||||
const bloomPass = new UnrealBloomPass();
|
|
||||||
bloomPass.strength = 4;
|
|
||||||
bloomPass.radius = 1;
|
|
||||||
bloomPass.threshold = 0;
|
|
||||||
Graph.postProcessingComposer().addPass(bloomPass);
|
|
||||||
</script>
|
|
||||||
</body>
|
|
|
@ -1,80 +0,0 @@
|
||||||
<head>
|
|
||||||
<style> body { margin: 0; } </style>
|
|
||||||
|
|
||||||
<script src="3d-force-graph.min.js"></script>
|
|
||||||
<!--<script src="../../dist/3d-force-graph.js"></script>-->
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<div id="3d-graph"></div>
|
|
||||||
<div style="position: absolute; top: 5px; right: 5px;">
|
|
||||||
<button id="rotationToggle" style="margin: 8px; height: 25px; width: 150px;">
|
|
||||||
暂停旋转
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<script type="importmap">{ "imports": { "three": "//unpkg.com/three/build/three.module.js" }}</script>
|
|
||||||
<script type="module">
|
|
||||||
import SpriteText from "//unpkg.com/three-spritetext/dist/three-spritetext.mjs";
|
|
||||||
|
|
||||||
const distance = 500;
|
|
||||||
let isRotationActive = true;
|
|
||||||
|
|
||||||
// Random tree
|
|
||||||
// const N = 300;
|
|
||||||
// const gData = {
|
|
||||||
// nodes: [...Array(N).keys()].map(i => ({ id: i,group:Math.floor(i/7) })),
|
|
||||||
// links: [...Array(N).keys()]
|
|
||||||
// .filter(id => id)
|
|
||||||
// .map(id => ({
|
|
||||||
// source: id,
|
|
||||||
// target: Math.round(Math.random() * (id-1))
|
|
||||||
// }))
|
|
||||||
// };
|
|
||||||
const Graph = ForceGraph3D()
|
|
||||||
(document.getElementById('3d-graph'))
|
|
||||||
// .graphData(gData)
|
|
||||||
.jsonUrl('./miserables.json')
|
|
||||||
.nodeAutoColorBy('group')
|
|
||||||
// .nodeLabel('id')
|
|
||||||
// .linkDirectionalParticles("value")
|
|
||||||
// .linkDirectionalParticleWidth(2)
|
|
||||||
// .linkDirectionalParticleSpeed(d => d.value * 0.001)
|
|
||||||
// .linkWidth(2)
|
|
||||||
.nodeThreeObject(node => {// 借助三方库 实现文字几何的展示
|
|
||||||
const sprite = new SpriteText(node.id);
|
|
||||||
sprite.material.depthWrite = false; // make sprite background transparent
|
|
||||||
sprite.color = node.color;// node.color
|
|
||||||
sprite.textHeight = 8;
|
|
||||||
return sprite;
|
|
||||||
})
|
|
||||||
.linkDirectionalArrowLength(3)// 让边带上箭头
|
|
||||||
.linkDirectionalArrowRelPos(1)// 设置箭头位置
|
|
||||||
.cameraPosition({ z: distance })
|
|
||||||
|
|
||||||
// Spread nodes a little wider
|
|
||||||
// Graph.d3Force('charge').strength(-120);
|
|
||||||
|
|
||||||
// camera orbit
|
|
||||||
let angle = 0;
|
|
||||||
let time = setInterval(() => {
|
|
||||||
if (isRotationActive) {
|
|
||||||
Graph.cameraPosition({
|
|
||||||
x: distance * Math.sin(angle),
|
|
||||||
y: 0,
|
|
||||||
z: distance * Math.cos(angle),
|
|
||||||
});
|
|
||||||
angle += Math.PI / 300;
|
|
||||||
}
|
|
||||||
}, 10);
|
|
||||||
|
|
||||||
document.getElementById('rotationToggle').addEventListener('click', event => {
|
|
||||||
if(isRotationActive){
|
|
||||||
isRotationActive = !isRotationActive
|
|
||||||
}else{
|
|
||||||
isRotationActive = !isRotationActive
|
|
||||||
}
|
|
||||||
event.target.innerHTML = `${(isRotationActive ? '暂停' : '重置')} 旋转`;
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
||||||
</body>
|
|
|
@ -1,28 +0,0 @@
|
||||||
<head>
|
|
||||||
<style> body { margin: 0; } </style>
|
|
||||||
|
|
||||||
<script src="3d-force-graph.min.js"></script>
|
|
||||||
<!--<script src="../../dist/3d-force-graph.js"></script>-->
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<div id="3d-graph"></div>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
// Random tree
|
|
||||||
const N = 1500;
|
|
||||||
const gData = {
|
|
||||||
nodes: [...Array(N).keys()].map(i => ({ id: i })),
|
|
||||||
links: [...Array(N).keys()]
|
|
||||||
.filter(id => id)
|
|
||||||
.map(id => ({
|
|
||||||
source: id,
|
|
||||||
target: Math.round(Math.random() * (id-1))
|
|
||||||
}))
|
|
||||||
};
|
|
||||||
|
|
||||||
const Graph = ForceGraph3D()
|
|
||||||
(document.getElementById('3d-graph'))
|
|
||||||
.graphData(gData);
|
|
||||||
</script>
|
|
||||||
</body>
|
|
|
@ -1,96 +0,0 @@
|
||||||
<head>
|
|
||||||
<style> body { margin: 0; } </style>
|
|
||||||
|
|
||||||
<script src="3d-force-graph.min.js"></script>
|
|
||||||
<!--<script src="../../dist/3d-force-graph.js"></script>-->
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<div id="3d-graph"></div>
|
|
||||||
<div style="position: absolute; top: 5px; right: 5px;">
|
|
||||||
<button id="rotationToggle" style="margin: 8px; height: 25px; width: 150px;">
|
|
||||||
暂停旋转
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<script type="importmap">{ "imports": { "three": "//unpkg.com/three/build/three.module.js" }}</script>
|
|
||||||
<script type="module">
|
|
||||||
import SpriteText from "//unpkg.com/three-spritetext/dist/three-spritetext.mjs";
|
|
||||||
|
|
||||||
const distance = 2000;
|
|
||||||
let isRotationActive = true;
|
|
||||||
|
|
||||||
// Random tree
|
|
||||||
const N = 1200;
|
|
||||||
const gData = {
|
|
||||||
nodes: [...Array(N).keys()].map(i => ({ id: i,group:Math.floor(i/150) })),
|
|
||||||
links: [...Array(N).keys()]
|
|
||||||
.filter(id => id)
|
|
||||||
.map(id => ({
|
|
||||||
source: id,
|
|
||||||
target: Math.round(Math.random() * (id-1))
|
|
||||||
}))
|
|
||||||
};
|
|
||||||
const Graph = ForceGraph3D()
|
|
||||||
(document.getElementById('3d-graph'))
|
|
||||||
.graphData(gData)
|
|
||||||
// .jsonUrl('./miserables.json')
|
|
||||||
.nodeAutoColorBy('group')
|
|
||||||
.nodeLabel('id')
|
|
||||||
.linkDirectionalParticles(4)
|
|
||||||
.linkDirectionalParticleWidth(4)
|
|
||||||
.linkDirectionalParticleSpeed(d => 4 * 0.001)// d.value
|
|
||||||
.linkWidth(4)
|
|
||||||
.nodeRelSize(6)
|
|
||||||
// .nodeThreeObject(node => {// 借助三方库 实现文字几何的展示
|
|
||||||
// const sprite = new SpriteText(node.id);
|
|
||||||
// sprite.material.depthWrite = false; // make sprite background transparent
|
|
||||||
// sprite.color = node.color;// node.color
|
|
||||||
// sprite.textHeight = 8;
|
|
||||||
// return sprite;
|
|
||||||
// })
|
|
||||||
// .linkDirectionalArrowLength(3)// 让边带上箭头
|
|
||||||
// .linkDirectionalArrowRelPos(1)// 设置箭头位置
|
|
||||||
.onNodeClick(node => {
|
|
||||||
// Aim at node from outside it
|
|
||||||
const distance = 1800;
|
|
||||||
const distRatio = 1 + distance/Math.hypot(node.x, node.y, node.z);
|
|
||||||
|
|
||||||
const newPos = node.x || node.y || node.z
|
|
||||||
? { x: node.x * distRatio, y: node.y * distRatio, z: node.z * distRatio }
|
|
||||||
: { x: 0, y: 0, z: distance }; // special case if node is in (0,0,0)
|
|
||||||
|
|
||||||
Graph.cameraPosition(
|
|
||||||
newPos, // new position
|
|
||||||
node, // lookAt ({ x, y, z })
|
|
||||||
3000 // ms transition duration
|
|
||||||
)
|
|
||||||
})
|
|
||||||
.cameraPosition({ z: distance })
|
|
||||||
|
|
||||||
// Spread nodes a little wider
|
|
||||||
// Graph.d3Force('charge').strength(-120);
|
|
||||||
|
|
||||||
// camera orbit
|
|
||||||
let angle = 0;
|
|
||||||
let time = setInterval(() => {
|
|
||||||
if (isRotationActive) {
|
|
||||||
Graph.cameraPosition({
|
|
||||||
x: distance * Math.sin(angle),
|
|
||||||
y: 0,
|
|
||||||
z: distance * Math.cos(angle),
|
|
||||||
});
|
|
||||||
angle += Math.PI / 500;
|
|
||||||
}
|
|
||||||
}, 10);
|
|
||||||
|
|
||||||
document.getElementById('rotationToggle').addEventListener('click', event => {
|
|
||||||
if(isRotationActive){
|
|
||||||
isRotationActive = !isRotationActive
|
|
||||||
}else{
|
|
||||||
isRotationActive = !isRotationActive
|
|
||||||
}
|
|
||||||
event.target.innerHTML = `${(isRotationActive ? '暂停' : '重置')} 旋转`;
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
||||||
</body>
|
|
|
@ -1,337 +0,0 @@
|
||||||
{
|
|
||||||
"nodes": [
|
|
||||||
{"id": "Myriel", "group": 1},
|
|
||||||
{"id": "Napoleon", "group": 1},
|
|
||||||
{"id": "Mlle.Baptistine", "group": 1},
|
|
||||||
{"id": "Mme.Magloire", "group": 1},
|
|
||||||
{"id": "CountessdeLo", "group": 1},
|
|
||||||
{"id": "Geborand", "group": 1},
|
|
||||||
{"id": "Champtercier", "group": 1},
|
|
||||||
{"id": "Cravatte", "group": 1},
|
|
||||||
{"id": "Count", "group": 1},
|
|
||||||
{"id": "OldMan", "group": 1},
|
|
||||||
{"id": "Labarre", "group": 2},
|
|
||||||
{"id": "Valjean", "group": 2},
|
|
||||||
{"id": "Marguerite", "group": 3},
|
|
||||||
{"id": "Mme.deR", "group": 2},
|
|
||||||
{"id": "Isabeau", "group": 2},
|
|
||||||
{"id": "Gervais", "group": 2},
|
|
||||||
{"id": "Tholomyes", "group": 3},
|
|
||||||
{"id": "Listolier", "group": 3},
|
|
||||||
{"id": "Fameuil", "group": 3},
|
|
||||||
{"id": "Blacheville", "group": 3},
|
|
||||||
{"id": "Favourite", "group": 3},
|
|
||||||
{"id": "Dahlia", "group": 3},
|
|
||||||
{"id": "Zephine", "group": 3},
|
|
||||||
{"id": "Fantine", "group": 3},
|
|
||||||
{"id": "Mme.Thenardier", "group": 4},
|
|
||||||
{"id": "Thenardier", "group": 4},
|
|
||||||
{"id": "Cosette", "group": 5},
|
|
||||||
{"id": "Javert", "group": 4},
|
|
||||||
{"id": "Fauchelevent", "group": 0},
|
|
||||||
{"id": "Bamatabois", "group": 2},
|
|
||||||
{"id": "Perpetue", "group": 3},
|
|
||||||
{"id": "Simplice", "group": 2},
|
|
||||||
{"id": "Scaufflaire", "group": 2},
|
|
||||||
{"id": "Woman1", "group": 2},
|
|
||||||
{"id": "Judge", "group": 2},
|
|
||||||
{"id": "Champmathieu", "group": 2},
|
|
||||||
{"id": "Brevet", "group": 2},
|
|
||||||
{"id": "Chenildieu", "group": 2},
|
|
||||||
{"id": "Cochepaille", "group": 2},
|
|
||||||
{"id": "Pontmercy", "group": 4},
|
|
||||||
{"id": "Boulatruelle", "group": 6},
|
|
||||||
{"id": "Eponine", "group": 4},
|
|
||||||
{"id": "Anzelma", "group": 4},
|
|
||||||
{"id": "Woman2", "group": 5},
|
|
||||||
{"id": "MotherInnocent", "group": 0},
|
|
||||||
{"id": "Gribier", "group": 0},
|
|
||||||
{"id": "Jondrette", "group": 7},
|
|
||||||
{"id": "Mme.Burgon", "group": 7},
|
|
||||||
{"id": "Gavroche", "group": 8},
|
|
||||||
{"id": "Gillenormand", "group": 5},
|
|
||||||
{"id": "Magnon", "group": 5},
|
|
||||||
{"id": "Mlle.Gillenormand", "group": 5},
|
|
||||||
{"id": "Mme.Pontmercy", "group": 5},
|
|
||||||
{"id": "Mlle.Vaubois", "group": 5},
|
|
||||||
{"id": "Lt.Gillenormand", "group": 5},
|
|
||||||
{"id": "Marius", "group": 8},
|
|
||||||
{"id": "BaronessT", "group": 5},
|
|
||||||
{"id": "Mabeuf", "group": 8},
|
|
||||||
{"id": "Enjolras", "group": 8},
|
|
||||||
{"id": "Combeferre", "group": 8},
|
|
||||||
{"id": "Prouvaire", "group": 8},
|
|
||||||
{"id": "Feuilly", "group": 8},
|
|
||||||
{"id": "Courfeyrac", "group": 8},
|
|
||||||
{"id": "Bahorel", "group": 8},
|
|
||||||
{"id": "Bossuet", "group": 8},
|
|
||||||
{"id": "Joly", "group": 8},
|
|
||||||
{"id": "Grantaire", "group": 8},
|
|
||||||
{"id": "MotherPlutarch", "group": 9},
|
|
||||||
{"id": "Gueulemer", "group": 4},
|
|
||||||
{"id": "Babet", "group": 4},
|
|
||||||
{"id": "Claquesous", "group": 4},
|
|
||||||
{"id": "Montparnasse", "group": 4},
|
|
||||||
{"id": "Toussaint", "group": 5},
|
|
||||||
{"id": "Child1", "group": 10},
|
|
||||||
{"id": "Child2", "group": 10},
|
|
||||||
{"id": "Brujon", "group": 4},
|
|
||||||
{"id": "Mme.Hucheloup", "group": 8}
|
|
||||||
],
|
|
||||||
"links": [
|
|
||||||
{"source": "Napoleon", "target": "Myriel", "value": 1},
|
|
||||||
{"source": "Mlle.Baptistine", "target": "Myriel", "value": 8},
|
|
||||||
{"source": "Mme.Magloire", "target": "Myriel", "value": 10},
|
|
||||||
{"source": "Mme.Magloire", "target": "Mlle.Baptistine", "value": 6},
|
|
||||||
{"source": "CountessdeLo", "target": "Myriel", "value": 1},
|
|
||||||
{"source": "Geborand", "target": "Myriel", "value": 1},
|
|
||||||
{"source": "Champtercier", "target": "Myriel", "value": 1},
|
|
||||||
{"source": "Cravatte", "target": "Myriel", "value": 1},
|
|
||||||
{"source": "Count", "target": "Myriel", "value": 2},
|
|
||||||
{"source": "OldMan", "target": "Myriel", "value": 1},
|
|
||||||
{"source": "Valjean", "target": "Labarre", "value": 1},
|
|
||||||
{"source": "Valjean", "target": "Mme.Magloire", "value": 3},
|
|
||||||
{"source": "Valjean", "target": "Mlle.Baptistine", "value": 3},
|
|
||||||
{"source": "Valjean", "target": "Myriel", "value": 5},
|
|
||||||
{"source": "Marguerite", "target": "Valjean", "value": 1},
|
|
||||||
{"source": "Mme.deR", "target": "Valjean", "value": 1},
|
|
||||||
{"source": "Isabeau", "target": "Valjean", "value": 1},
|
|
||||||
{"source": "Gervais", "target": "Valjean", "value": 1},
|
|
||||||
{"source": "Listolier", "target": "Tholomyes", "value": 4},
|
|
||||||
{"source": "Fameuil", "target": "Tholomyes", "value": 4},
|
|
||||||
{"source": "Fameuil", "target": "Listolier", "value": 4},
|
|
||||||
{"source": "Blacheville", "target": "Tholomyes", "value": 4},
|
|
||||||
{"source": "Blacheville", "target": "Listolier", "value": 4},
|
|
||||||
{"source": "Blacheville", "target": "Fameuil", "value": 4},
|
|
||||||
{"source": "Favourite", "target": "Tholomyes", "value": 3},
|
|
||||||
{"source": "Favourite", "target": "Listolier", "value": 3},
|
|
||||||
{"source": "Favourite", "target": "Fameuil", "value": 3},
|
|
||||||
{"source": "Favourite", "target": "Blacheville", "value": 4},
|
|
||||||
{"source": "Dahlia", "target": "Tholomyes", "value": 3},
|
|
||||||
{"source": "Dahlia", "target": "Listolier", "value": 3},
|
|
||||||
{"source": "Dahlia", "target": "Fameuil", "value": 3},
|
|
||||||
{"source": "Dahlia", "target": "Blacheville", "value": 3},
|
|
||||||
{"source": "Dahlia", "target": "Favourite", "value": 5},
|
|
||||||
{"source": "Zephine", "target": "Tholomyes", "value": 3},
|
|
||||||
{"source": "Zephine", "target": "Listolier", "value": 3},
|
|
||||||
{"source": "Zephine", "target": "Fameuil", "value": 3},
|
|
||||||
{"source": "Zephine", "target": "Blacheville", "value": 3},
|
|
||||||
{"source": "Zephine", "target": "Favourite", "value": 4},
|
|
||||||
{"source": "Zephine", "target": "Dahlia", "value": 4},
|
|
||||||
{"source": "Fantine", "target": "Tholomyes", "value": 3},
|
|
||||||
{"source": "Fantine", "target": "Listolier", "value": 3},
|
|
||||||
{"source": "Fantine", "target": "Fameuil", "value": 3},
|
|
||||||
{"source": "Fantine", "target": "Blacheville", "value": 3},
|
|
||||||
{"source": "Fantine", "target": "Favourite", "value": 4},
|
|
||||||
{"source": "Fantine", "target": "Dahlia", "value": 4},
|
|
||||||
{"source": "Fantine", "target": "Zephine", "value": 4},
|
|
||||||
{"source": "Fantine", "target": "Marguerite", "value": 2},
|
|
||||||
{"source": "Fantine", "target": "Valjean", "value": 9},
|
|
||||||
{"source": "Mme.Thenardier", "target": "Fantine", "value": 2},
|
|
||||||
{"source": "Mme.Thenardier", "target": "Valjean", "value": 7},
|
|
||||||
{"source": "Thenardier", "target": "Mme.Thenardier", "value": 13},
|
|
||||||
{"source": "Thenardier", "target": "Fantine", "value": 1},
|
|
||||||
{"source": "Thenardier", "target": "Valjean", "value": 12},
|
|
||||||
{"source": "Cosette", "target": "Mme.Thenardier", "value": 4},
|
|
||||||
{"source": "Cosette", "target": "Valjean", "value": 31},
|
|
||||||
{"source": "Cosette", "target": "Tholomyes", "value": 1},
|
|
||||||
{"source": "Cosette", "target": "Thenardier", "value": 1},
|
|
||||||
{"source": "Javert", "target": "Valjean", "value": 17},
|
|
||||||
{"source": "Javert", "target": "Fantine", "value": 5},
|
|
||||||
{"source": "Javert", "target": "Thenardier", "value": 5},
|
|
||||||
{"source": "Javert", "target": "Mme.Thenardier", "value": 1},
|
|
||||||
{"source": "Javert", "target": "Cosette", "value": 1},
|
|
||||||
{"source": "Fauchelevent", "target": "Valjean", "value": 8},
|
|
||||||
{"source": "Fauchelevent", "target": "Javert", "value": 1},
|
|
||||||
{"source": "Bamatabois", "target": "Fantine", "value": 1},
|
|
||||||
{"source": "Bamatabois", "target": "Javert", "value": 1},
|
|
||||||
{"source": "Bamatabois", "target": "Valjean", "value": 2},
|
|
||||||
{"source": "Perpetue", "target": "Fantine", "value": 1},
|
|
||||||
{"source": "Simplice", "target": "Perpetue", "value": 2},
|
|
||||||
{"source": "Simplice", "target": "Valjean", "value": 3},
|
|
||||||
{"source": "Simplice", "target": "Fantine", "value": 2},
|
|
||||||
{"source": "Simplice", "target": "Javert", "value": 1},
|
|
||||||
{"source": "Scaufflaire", "target": "Valjean", "value": 1},
|
|
||||||
{"source": "Woman1", "target": "Valjean", "value": 2},
|
|
||||||
{"source": "Woman1", "target": "Javert", "value": 1},
|
|
||||||
{"source": "Judge", "target": "Valjean", "value": 3},
|
|
||||||
{"source": "Judge", "target": "Bamatabois", "value": 2},
|
|
||||||
{"source": "Champmathieu", "target": "Valjean", "value": 3},
|
|
||||||
{"source": "Champmathieu", "target": "Judge", "value": 3},
|
|
||||||
{"source": "Champmathieu", "target": "Bamatabois", "value": 2},
|
|
||||||
{"source": "Brevet", "target": "Judge", "value": 2},
|
|
||||||
{"source": "Brevet", "target": "Champmathieu", "value": 2},
|
|
||||||
{"source": "Brevet", "target": "Valjean", "value": 2},
|
|
||||||
{"source": "Brevet", "target": "Bamatabois", "value": 1},
|
|
||||||
{"source": "Chenildieu", "target": "Judge", "value": 2},
|
|
||||||
{"source": "Chenildieu", "target": "Champmathieu", "value": 2},
|
|
||||||
{"source": "Chenildieu", "target": "Brevet", "value": 2},
|
|
||||||
{"source": "Chenildieu", "target": "Valjean", "value": 2},
|
|
||||||
{"source": "Chenildieu", "target": "Bamatabois", "value": 1},
|
|
||||||
{"source": "Cochepaille", "target": "Judge", "value": 2},
|
|
||||||
{"source": "Cochepaille", "target": "Champmathieu", "value": 2},
|
|
||||||
{"source": "Cochepaille", "target": "Brevet", "value": 2},
|
|
||||||
{"source": "Cochepaille", "target": "Chenildieu", "value": 2},
|
|
||||||
{"source": "Cochepaille", "target": "Valjean", "value": 2},
|
|
||||||
{"source": "Cochepaille", "target": "Bamatabois", "value": 1},
|
|
||||||
{"source": "Pontmercy", "target": "Thenardier", "value": 1},
|
|
||||||
{"source": "Boulatruelle", "target": "Thenardier", "value": 1},
|
|
||||||
{"source": "Eponine", "target": "Mme.Thenardier", "value": 2},
|
|
||||||
{"source": "Eponine", "target": "Thenardier", "value": 3},
|
|
||||||
{"source": "Anzelma", "target": "Eponine", "value": 2},
|
|
||||||
{"source": "Anzelma", "target": "Thenardier", "value": 2},
|
|
||||||
{"source": "Anzelma", "target": "Mme.Thenardier", "value": 1},
|
|
||||||
{"source": "Woman2", "target": "Valjean", "value": 3},
|
|
||||||
{"source": "Woman2", "target": "Cosette", "value": 1},
|
|
||||||
{"source": "Woman2", "target": "Javert", "value": 1},
|
|
||||||
{"source": "MotherInnocent", "target": "Fauchelevent", "value": 3},
|
|
||||||
{"source": "MotherInnocent", "target": "Valjean", "value": 1},
|
|
||||||
{"source": "Gribier", "target": "Fauchelevent", "value": 2},
|
|
||||||
{"source": "Mme.Burgon", "target": "Jondrette", "value": 1},
|
|
||||||
{"source": "Gavroche", "target": "Mme.Burgon", "value": 2},
|
|
||||||
{"source": "Gavroche", "target": "Thenardier", "value": 1},
|
|
||||||
{"source": "Gavroche", "target": "Javert", "value": 1},
|
|
||||||
{"source": "Gavroche", "target": "Valjean", "value": 1},
|
|
||||||
{"source": "Gillenormand", "target": "Cosette", "value": 3},
|
|
||||||
{"source": "Gillenormand", "target": "Valjean", "value": 2},
|
|
||||||
{"source": "Magnon", "target": "Gillenormand", "value": 1},
|
|
||||||
{"source": "Magnon", "target": "Mme.Thenardier", "value": 1},
|
|
||||||
{"source": "Mlle.Gillenormand", "target": "Gillenormand", "value": 9},
|
|
||||||
{"source": "Mlle.Gillenormand", "target": "Cosette", "value": 2},
|
|
||||||
{"source": "Mlle.Gillenormand", "target": "Valjean", "value": 2},
|
|
||||||
{"source": "Mme.Pontmercy", "target": "Mlle.Gillenormand", "value": 1},
|
|
||||||
{"source": "Mme.Pontmercy", "target": "Pontmercy", "value": 1},
|
|
||||||
{"source": "Mlle.Vaubois", "target": "Mlle.Gillenormand", "value": 1},
|
|
||||||
{"source": "Lt.Gillenormand", "target": "Mlle.Gillenormand", "value": 2},
|
|
||||||
{"source": "Lt.Gillenormand", "target": "Gillenormand", "value": 1},
|
|
||||||
{"source": "Lt.Gillenormand", "target": "Cosette", "value": 1},
|
|
||||||
{"source": "Marius", "target": "Mlle.Gillenormand", "value": 6},
|
|
||||||
{"source": "Marius", "target": "Gillenormand", "value": 12},
|
|
||||||
{"source": "Marius", "target": "Pontmercy", "value": 1},
|
|
||||||
{"source": "Marius", "target": "Lt.Gillenormand", "value": 1},
|
|
||||||
{"source": "Marius", "target": "Cosette", "value": 21},
|
|
||||||
{"source": "Marius", "target": "Valjean", "value": 19},
|
|
||||||
{"source": "Marius", "target": "Tholomyes", "value": 1},
|
|
||||||
{"source": "Marius", "target": "Thenardier", "value": 2},
|
|
||||||
{"source": "Marius", "target": "Eponine", "value": 5},
|
|
||||||
{"source": "Marius", "target": "Gavroche", "value": 4},
|
|
||||||
{"source": "BaronessT", "target": "Gillenormand", "value": 1},
|
|
||||||
{"source": "BaronessT", "target": "Marius", "value": 1},
|
|
||||||
{"source": "Mabeuf", "target": "Marius", "value": 1},
|
|
||||||
{"source": "Mabeuf", "target": "Eponine", "value": 1},
|
|
||||||
{"source": "Mabeuf", "target": "Gavroche", "value": 1},
|
|
||||||
{"source": "Enjolras", "target": "Marius", "value": 7},
|
|
||||||
{"source": "Enjolras", "target": "Gavroche", "value": 7},
|
|
||||||
{"source": "Enjolras", "target": "Javert", "value": 6},
|
|
||||||
{"source": "Enjolras", "target": "Mabeuf", "value": 1},
|
|
||||||
{"source": "Enjolras", "target": "Valjean", "value": 4},
|
|
||||||
{"source": "Combeferre", "target": "Enjolras", "value": 15},
|
|
||||||
{"source": "Combeferre", "target": "Marius", "value": 5},
|
|
||||||
{"source": "Combeferre", "target": "Gavroche", "value": 6},
|
|
||||||
{"source": "Combeferre", "target": "Mabeuf", "value": 2},
|
|
||||||
{"source": "Prouvaire", "target": "Gavroche", "value": 1},
|
|
||||||
{"source": "Prouvaire", "target": "Enjolras", "value": 4},
|
|
||||||
{"source": "Prouvaire", "target": "Combeferre", "value": 2},
|
|
||||||
{"source": "Feuilly", "target": "Gavroche", "value": 2},
|
|
||||||
{"source": "Feuilly", "target": "Enjolras", "value": 6},
|
|
||||||
{"source": "Feuilly", "target": "Prouvaire", "value": 2},
|
|
||||||
{"source": "Feuilly", "target": "Combeferre", "value": 5},
|
|
||||||
{"source": "Feuilly", "target": "Mabeuf", "value": 1},
|
|
||||||
{"source": "Feuilly", "target": "Marius", "value": 1},
|
|
||||||
{"source": "Courfeyrac", "target": "Marius", "value": 9},
|
|
||||||
{"source": "Courfeyrac", "target": "Enjolras", "value": 17},
|
|
||||||
{"source": "Courfeyrac", "target": "Combeferre", "value": 13},
|
|
||||||
{"source": "Courfeyrac", "target": "Gavroche", "value": 7},
|
|
||||||
{"source": "Courfeyrac", "target": "Mabeuf", "value": 2},
|
|
||||||
{"source": "Courfeyrac", "target": "Eponine", "value": 1},
|
|
||||||
{"source": "Courfeyrac", "target": "Feuilly", "value": 6},
|
|
||||||
{"source": "Courfeyrac", "target": "Prouvaire", "value": 3},
|
|
||||||
{"source": "Bahorel", "target": "Combeferre", "value": 5},
|
|
||||||
{"source": "Bahorel", "target": "Gavroche", "value": 5},
|
|
||||||
{"source": "Bahorel", "target": "Courfeyrac", "value": 6},
|
|
||||||
{"source": "Bahorel", "target": "Mabeuf", "value": 2},
|
|
||||||
{"source": "Bahorel", "target": "Enjolras", "value": 4},
|
|
||||||
{"source": "Bahorel", "target": "Feuilly", "value": 3},
|
|
||||||
{"source": "Bahorel", "target": "Prouvaire", "value": 2},
|
|
||||||
{"source": "Bahorel", "target": "Marius", "value": 1},
|
|
||||||
{"source": "Bossuet", "target": "Marius", "value": 5},
|
|
||||||
{"source": "Bossuet", "target": "Courfeyrac", "value": 12},
|
|
||||||
{"source": "Bossuet", "target": "Gavroche", "value": 5},
|
|
||||||
{"source": "Bossuet", "target": "Bahorel", "value": 4},
|
|
||||||
{"source": "Bossuet", "target": "Enjolras", "value": 10},
|
|
||||||
{"source": "Bossuet", "target": "Feuilly", "value": 6},
|
|
||||||
{"source": "Bossuet", "target": "Prouvaire", "value": 2},
|
|
||||||
{"source": "Bossuet", "target": "Combeferre", "value": 9},
|
|
||||||
{"source": "Bossuet", "target": "Mabeuf", "value": 1},
|
|
||||||
{"source": "Bossuet", "target": "Valjean", "value": 1},
|
|
||||||
{"source": "Joly", "target": "Bahorel", "value": 5},
|
|
||||||
{"source": "Joly", "target": "Bossuet", "value": 7},
|
|
||||||
{"source": "Joly", "target": "Gavroche", "value": 3},
|
|
||||||
{"source": "Joly", "target": "Courfeyrac", "value": 5},
|
|
||||||
{"source": "Joly", "target": "Enjolras", "value": 5},
|
|
||||||
{"source": "Joly", "target": "Feuilly", "value": 5},
|
|
||||||
{"source": "Joly", "target": "Prouvaire", "value": 2},
|
|
||||||
{"source": "Joly", "target": "Combeferre", "value": 5},
|
|
||||||
{"source": "Joly", "target": "Mabeuf", "value": 1},
|
|
||||||
{"source": "Joly", "target": "Marius", "value": 2},
|
|
||||||
{"source": "Grantaire", "target": "Bossuet", "value": 3},
|
|
||||||
{"source": "Grantaire", "target": "Enjolras", "value": 3},
|
|
||||||
{"source": "Grantaire", "target": "Combeferre", "value": 1},
|
|
||||||
{"source": "Grantaire", "target": "Courfeyrac", "value": 2},
|
|
||||||
{"source": "Grantaire", "target": "Joly", "value": 2},
|
|
||||||
{"source": "Grantaire", "target": "Gavroche", "value": 1},
|
|
||||||
{"source": "Grantaire", "target": "Bahorel", "value": 1},
|
|
||||||
{"source": "Grantaire", "target": "Feuilly", "value": 1},
|
|
||||||
{"source": "Grantaire", "target": "Prouvaire", "value": 1},
|
|
||||||
{"source": "MotherPlutarch", "target": "Mabeuf", "value": 3},
|
|
||||||
{"source": "Gueulemer", "target": "Thenardier", "value": 5},
|
|
||||||
{"source": "Gueulemer", "target": "Valjean", "value": 1},
|
|
||||||
{"source": "Gueulemer", "target": "Mme.Thenardier", "value": 1},
|
|
||||||
{"source": "Gueulemer", "target": "Javert", "value": 1},
|
|
||||||
{"source": "Gueulemer", "target": "Gavroche", "value": 1},
|
|
||||||
{"source": "Gueulemer", "target": "Eponine", "value": 1},
|
|
||||||
{"source": "Babet", "target": "Thenardier", "value": 6},
|
|
||||||
{"source": "Babet", "target": "Gueulemer", "value": 6},
|
|
||||||
{"source": "Babet", "target": "Valjean", "value": 1},
|
|
||||||
{"source": "Babet", "target": "Mme.Thenardier", "value": 1},
|
|
||||||
{"source": "Babet", "target": "Javert", "value": 2},
|
|
||||||
{"source": "Babet", "target": "Gavroche", "value": 1},
|
|
||||||
{"source": "Babet", "target": "Eponine", "value": 1},
|
|
||||||
{"source": "Claquesous", "target": "Thenardier", "value": 4},
|
|
||||||
{"source": "Claquesous", "target": "Babet", "value": 4},
|
|
||||||
{"source": "Claquesous", "target": "Gueulemer", "value": 4},
|
|
||||||
{"source": "Claquesous", "target": "Valjean", "value": 1},
|
|
||||||
{"source": "Claquesous", "target": "Mme.Thenardier", "value": 1},
|
|
||||||
{"source": "Claquesous", "target": "Javert", "value": 1},
|
|
||||||
{"source": "Claquesous", "target": "Eponine", "value": 1},
|
|
||||||
{"source": "Claquesous", "target": "Enjolras", "value": 1},
|
|
||||||
{"source": "Montparnasse", "target": "Javert", "value": 1},
|
|
||||||
{"source": "Montparnasse", "target": "Babet", "value": 2},
|
|
||||||
{"source": "Montparnasse", "target": "Gueulemer", "value": 2},
|
|
||||||
{"source": "Montparnasse", "target": "Claquesous", "value": 2},
|
|
||||||
{"source": "Montparnasse", "target": "Valjean", "value": 1},
|
|
||||||
{"source": "Montparnasse", "target": "Gavroche", "value": 1},
|
|
||||||
{"source": "Montparnasse", "target": "Eponine", "value": 1},
|
|
||||||
{"source": "Montparnasse", "target": "Thenardier", "value": 1},
|
|
||||||
{"source": "Toussaint", "target": "Cosette", "value": 2},
|
|
||||||
{"source": "Toussaint", "target": "Javert", "value": 1},
|
|
||||||
{"source": "Toussaint", "target": "Valjean", "value": 1},
|
|
||||||
{"source": "Child1", "target": "Gavroche", "value": 2},
|
|
||||||
{"source": "Child2", "target": "Gavroche", "value": 2},
|
|
||||||
{"source": "Child2", "target": "Child1", "value": 3},
|
|
||||||
{"source": "Brujon", "target": "Babet", "value": 3},
|
|
||||||
{"source": "Brujon", "target": "Gueulemer", "value": 3},
|
|
||||||
{"source": "Brujon", "target": "Thenardier", "value": 3},
|
|
||||||
{"source": "Brujon", "target": "Gavroche", "value": 1},
|
|
||||||
{"source": "Brujon", "target": "Eponine", "value": 1},
|
|
||||||
{"source": "Brujon", "target": "Claquesous", "value": 1},
|
|
||||||
{"source": "Brujon", "target": "Montparnasse", "value": 1},
|
|
||||||
{"source": "Mme.Hucheloup", "target": "Bossuet", "value": 1},
|
|
||||||
{"source": "Mme.Hucheloup", "target": "Joly", "value": 1},
|
|
||||||
{"source": "Mme.Hucheloup", "target": "Grantaire", "value": 1},
|
|
||||||
{"source": "Mme.Hucheloup", "target": "Bahorel", "value": 1},
|
|
||||||
{"source": "Mme.Hucheloup", "target": "Courfeyrac", "value": 1},
|
|
||||||
{"source": "Mme.Hucheloup", "target": "Gavroche", "value": 1},
|
|
||||||
{"source": "Mme.Hucheloup", "target": "Enjolras", "value": 1}
|
|
||||||
]
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user