D3 径向树状图仅显示部分

2023-12-13

我根据 Mike Bostock 在 Observable 中的示例创建了下面的代码(我知道它与原始 d3/javascript 不同)https://observablehq.com/@d3/radial-dendrogram

然而,它:

  • 仅当我删除 return svg.attr("viewBox", autoBox).node();在图表函数的末尾。我怀疑那是 导致以下问题
  • 被剪得很紧
  • 看起来中心位于屏幕左上角的坐标 0,0 处,因此可视化的四分之三位于屏幕之外。我尝试添加转换翻译但这没有帮助

enter image description here

任何想法都受到热烈欢迎...

索引.html

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Open+Sans" />
    <script src="https://d3js.org/d3.v6.js"></script>
    <link rel="shortcut icon" href="#">
    <title>Radial Dendrogram</title>
</head>

<body>
    <div id="vis">  
    </div>
    <script src = 'script.js'></script>
</body>
</html>

脚本.js

function chart(birdDataSet) {
    const root = tree(d3.hierarchy(birdDataSet)
        .sort((a, b) => d3.ascending(a.data.name, b.data.name)));
  
    svg.append("g")
        .attr("fill", "none")
        .attr("stroke", "#555")
        .attr("stroke-opacity", 0.4)
        .attr("stroke-width", 1.5)
      .selectAll("path")
      .data(root.links())
      .join("path")
        .attr("d", d3.linkRadial()
            .angle(d => d.x)
            .radius(d => d.y));
    
    svg.append("g")
      .selectAll("circle")
      .data(root.descendants())
      .join("circle")
        .attr("transform", d => `
          rotate(${d.x * 180 / Math.PI - 90})
          translate(${d.y},0)
        `)
        .attr("fill", d => d.children ? "#555" : "#999")
        .attr("r", 2.5);
  
    svg.append("g")
        .attr("font-family", "sans-serif")
        .attr("font-size", 10)
        .attr("stroke-linejoin", "round")
        .attr("stroke-width", 3)
      .selectAll("text")
      .data(root.descendants())
      .join("text")
        .attr("transform", d => `
          rotate(${d.x * 180 / Math.PI - 90}) 
          translate(${d.y},0) 
          rotate(${d.x >= Math.PI ? 180 : 0})
        `)
        .attr("dy", "0.31em")
        .attr("x", d => d.x < Math.PI === !d.children ? 6 : -6)
        .attr("text-anchor", d => d.x < Math.PI === !d.children ? "start" : "end")
        .text(d => d.data.name)
      .clone(true).lower()
        .attr("stroke", "white");
  
    //return svg.attr("viewBox", autoBox).node();
  }

function autoBox() {
  document.body.appendChild(this);
  const {x, y, width, height} = this.getBBox();
  document.body.removeChild(this);
  return [x, y, width, height];
}

width = 975
radius = width / 2
tree = d3.cluster().size([2 * Math.PI, radius - 100])

d3.json("data/flare-2.json")
  .then(function(data) {
    console.log(chart(data));
  })
  .catch(function(error) {
    console.warn(error);
  });

耀斑-2.json

这可以从下载https://static.observableusercontent.com/files/e65374209781891f37dea1e7a6e1c5e020a3009b8aedf113b4c80942018887a1176ad4945cf14444603ff91d3da371b3b0d72419fa8d2ee0f6e 815732475d5de?响应内容处置=附件%3B文件名*%3DUTF-8%27%27flare-2.json


这是一个快速重构,删除了可观察总部疯狂并将其移动到一个简单的 HTML/JavaScript 页面。你缺少的部分是这样的:

  const svg = d3
    .select('svg')
    .attr('width', width)
    .attr('height', height)
    .append('g')
    .attr('transform', 'translate(' + width / 2 + ',' + height / 2 + ')');

这会调整 SVG 的大小,然后将树状图移动到 SVG 的中心。

运行代码:

<!DOCTYPE html>

<html>
  <head>
    <script src="https://d3js.org/d3.v6.min.js"></script>
  </head>

  <body>
    <svg></svg>
    <script>
      var data = {
        name: 'flare',
        children: [
          {
            name: 'analytics',
            children: [
              {
                name: 'cluster',
                children: [
                  { name: 'AgglomerativeCluster', value: 3938 },
                  { name: 'CommunityStructure', value: 3812 },
                  { name: 'HierarchicalCluster', value: 6714 },
                  { name: 'MergeEdge', value: 743 },
                ],
              },
              {
                name: 'graph',
                children: [
                  { name: 'BetweennessCentrality', value: 3534 },
                  { name: 'LinkDistance', value: 5731 },
                  { name: 'MaxFlowMinCut', value: 7840 },
                  { name: 'ShortestPaths', value: 5914 },
                  { name: 'SpanningTree', value: 3416 },
                ],
              },
              {
                name: 'optimization',
                children: [{ name: 'AspectRatioBanker', value: 7074 }],
              },
            ],
          },
          {
            name: 'animate',
            children: [
              { name: 'Easing', value: 17010 },
              { name: 'FunctionSequence', value: 5842 },
              {
                name: 'interpolate',
                children: [
                  { name: 'ArrayInterpolator', value: 1983 },
                  { name: 'ColorInterpolator', value: 2047 },
                  { name: 'DateInterpolator', value: 1375 },
                  { name: 'Interpolator', value: 8746 },
                  { name: 'MatrixInterpolator', value: 2202 },
                  { name: 'NumberInterpolator', value: 1382 },
                  { name: 'ObjectInterpolator', value: 1629 },
                  { name: 'PointInterpolator', value: 1675 },
                  { name: 'RectangleInterpolator', value: 2042 },
                ],
              },
              { name: 'ISchedulable', value: 1041 },
              { name: 'Parallel', value: 5176 },
              { name: 'Pause', value: 449 },
              { name: 'Scheduler', value: 5593 },
              { name: 'Sequence', value: 5534 },
              { name: 'Transition', value: 9201 },
              { name: 'Transitioner', value: 19975 },
              { name: 'TransitionEvent', value: 1116 },
              { name: 'Tween', value: 6006 },
            ],
          },
          {
            name: 'data',
            children: [
              {
                name: 'converters',
                children: [
                  { name: 'Converters', value: 721 },
                  { name: 'DelimitedTextConverter', value: 4294 },
                  { name: 'GraphMLConverter', value: 9800 },
                  { name: 'IDataConverter', value: 1314 },
                  { name: 'JSONConverter', value: 2220 },
                ],
              },
              { name: 'DataField', value: 1759 },
              { name: 'DataSchema', value: 2165 },
              { name: 'DataSet', value: 586 },
              { name: 'DataSource', value: 3331 },
              { name: 'DataTable', value: 772 },
              { name: 'DataUtil', value: 3322 },
            ],
          },
          {
            name: 'display',
            children: [
              { name: 'DirtySprite', value: 8833 },
              { name: 'LineSprite', value: 1732 },
              { name: 'RectSprite', value: 3623 },
              { name: 'TextSprite', value: 10066 },
            ],
          },
          {
            name: 'flex',
            children: [{ name: 'FlareVis', value: 4116 }],
          },
          {
            name: 'physics',
            children: [
              { name: 'DragForce', value: 1082 },
              { name: 'GravityForce', value: 1336 },
              { name: 'IForce', value: 319 },
              { name: 'NBodyForce', value: 10498 },
              { name: 'Particle', value: 2822 },
              { name: 'Simulation', value: 9983 },
              { name: 'Spring', value: 2213 },
              { name: 'SpringForce', value: 1681 },
            ],
          },
          {
            name: 'query',
            children: [
              { name: 'AggregateExpression', value: 1616 },
              { name: 'And', value: 1027 },
              { name: 'Arithmetic', value: 3891 },
              { name: 'Average', value: 891 },
              { name: 'BinaryExpression', value: 2893 },
              { name: 'Comparison', value: 5103 },
              { name: 'CompositeExpression', value: 3677 },
              { name: 'Count', value: 781 },
              { name: 'DateUtil', value: 4141 },
              { name: 'Distinct', value: 933 },
              { name: 'Expression', value: 5130 },
              { name: 'ExpressionIterator', value: 3617 },
              { name: 'Fn', value: 3240 },
              { name: 'If', value: 2732 },
              { name: 'IsA', value: 2039 },
              { name: 'Literal', value: 1214 },
              { name: 'Match', value: 3748 },
              { name: 'Maximum', value: 843 },
              {
                name: 'methods',
                children: [
                  { name: 'add', value: 593 },
                  { name: 'and', value: 330 },
                  { name: 'average', value: 287 },
                  { name: 'count', value: 277 },
                  { name: 'distinct', value: 292 },
                  { name: 'div', value: 595 },
                  { name: 'eq', value: 594 },
                  { name: 'fn', value: 460 },
                  { name: 'gt', value: 603 },
                  { name: 'gte', value: 625 },
                  { name: 'iff', value: 748 },
                  { name: 'isa', value: 461 },
                  { name: 'lt', value: 597 },
                  { name: 'lte', value: 619 },
                  { name: 'max', value: 283 },
                  { name: 'min', value: 283 },
                  { name: 'mod', value: 591 },
                  { name: 'mul', value: 603 },
                  { name: 'neq', value: 599 },
                  { name: 'not', value: 386 },
                  { name: 'or', value: 323 },
                  { name: 'orderby', value: 307 },
                  { name: 'range', value: 772 },
                  { name: 'select', value: 296 },
                  { name: 'stddev', value: 363 },
                  { name: 'sub', value: 600 },
                  { name: 'sum', value: 280 },
                  { name: 'update', value: 307 },
                  { name: 'variance', value: 335 },
                  { name: 'where', value: 299 },
                  { name: 'xor', value: 354 },
                  { name: '_', value: 264 },
                ],
              },
              { name: 'Minimum', value: 843 },
              { name: 'Not', value: 1554 },
              { name: 'Or', value: 970 },
              { name: 'Query', value: 13896 },
              { name: 'Range', value: 1594 },
              { name: 'StringUtil', value: 4130 },
              { name: 'Sum', value: 791 },
              { name: 'Variable', value: 1124 },
              { name: 'Variance', value: 1876 },
              { name: 'Xor', value: 1101 },
            ],
          },
          {
            name: 'scale',
            children: [
              { name: 'IScaleMap', value: 2105 },
              { name: 'LinearScale', value: 1316 },
              { name: 'LogScale', value: 3151 },
              { name: 'OrdinalScale', value: 3770 },
              { name: 'QuantileScale', value: 2435 },
              { name: 'QuantitativeScale', value: 4839 },
              { name: 'RootScale', value: 1756 },
              { name: 'Scale', value: 4268 },
              { name: 'ScaleType', value: 1821 },
              { name: 'TimeScale', value: 5833 },
            ],
          },
          {
            name: 'util',
            children: [
              { name: 'Arrays', value: 8258 },
              { name: 'Colors', value: 10001 },
              { name: 'Dates', value: 8217 },
              { name: 'Displays', value: 12555 },
              { name: 'Filter', value: 2324 },
              { name: 'Geometry', value: 10993 },
              {
                name: 'heap',
                children: [
                  { name: 'FibonacciHeap', value: 9354 },
                  { name: 'HeapNode', value: 1233 },
                ],
              },
              { name: 'IEvaluable', value: 335 },
              { name: 'IPredicate', value: 383 },
              { name: 'IValueProxy', value: 874 },
              {
                name: 'math',
                children: [
                  { name: 'DenseMatrix', value: 3165 },
                  { name: 'IMatrix', value: 2815 },
                  { name: 'SparseMatrix', value: 3366 },
                ],
              },
              { name: 'Maths', value: 17705 },
              { name: 'Orientation', value: 1486 },
              {
                name: 'palette',
                children: [
                  { name: 'ColorPalette', value: 6367 },
                  { name: 'Palette', value: 1229 },
                  { name: 'ShapePalette', value: 2059 },
                  { name: 'SizePalette', value: 2291 },
                ],
              },
              { name: 'Property', value: 5559 },
              { name: 'Shapes', value: 19118 },
              { name: 'Sort', value: 6887 },
              { name: 'Stats', value: 6557 },
              { name: 'Strings', value: 22026 },
            ],
          },
          {
            name: 'vis',
            children: [
              {
                name: 'axis',
                children: [
                  { name: 'Axes', value: 1302 },
                  { name: 'Axis', value: 24593 },
                  { name: 'AxisGridLine', value: 652 },
                  { name: 'AxisLabel', value: 636 },
                  { name: 'CartesianAxes', value: 6703 },
                ],
              },
              {
                name: 'controls',
                children: [
                  { name: 'AnchorControl', value: 2138 },
                  { name: 'ClickControl', value: 3824 },
                  { name: 'Control', value: 1353 },
                  { name: 'ControlList', value: 4665 },
                  { name: 'DragControl', value: 2649 },
                  { name: 'ExpandControl', value: 2832 },
                  { name: 'HoverControl', value: 4896 },
                  { name: 'IControl', value: 763 },
                  { name: 'PanZoomControl', value: 5222 },
                  { name: 'SelectionControl', value: 7862 },
                  { name: 'TooltipControl', value: 8435 },
                ],
              },
              {
                name: 'data',
                children: [
                  { name: 'Data', value: 20544 },
                  { name: 'DataList', value: 19788 },
                  { name: 'DataSprite', value: 10349 },
                  { name: 'EdgeSprite', value: 3301 },
                  { name: 'NodeSprite', value: 19382 },
                  {
                    name: 'render',
                    children: [
                      { name: 'ArrowType', value: 698 },
                      { name: 'EdgeRenderer', value: 5569 },
                      { name: 'IRenderer', value: 353 },
                      { name: 'ShapeRenderer', value: 2247 },
                    ],
                  },
                  { name: 'ScaleBinding', value: 11275 },
                  { name: 'Tree', value: 7147 },
                  { name: 'TreeBuilder', value: 9930 },
                ],
              },
              {
                name: 'events',
                children: [
                  { name: 'DataEvent', value: 2313 },
                  { name: 'SelectionEvent', value: 1880 },
                  { name: 'TooltipEvent', value: 1701 },
                  { name: 'VisualizationEvent', value: 1117 },
                ],
              },
              {
                name: 'legend',
                children: [
                  { name: 'Legend', value: 20859 },
                  { name: 'LegendItem', value: 4614 },
                  { name: 'LegendRange', value: 10530 },
                ],
              },
              {
                name: 'operator',
                children: [
                  {
                    name: 'distortion',
                    children: [
                      { name: 'BifocalDistortion', value: 4461 },
                      { name: 'Distortion', value: 6314 },
                      { name: 'FisheyeDistortion', value: 3444 },
                    ],
                  },
                  {
                    name: 'encoder',
                    children: [
                      { name: 'ColorEncoder', value: 3179 },
                      { name: 'Encoder', value: 4060 },
                      { name: 'PropertyEncoder', value: 4138 },
                      { name: 'ShapeEncoder', value: 1690 },
                      { name: 'SizeEncoder', value: 1830 },
                    ],
                  },
                  {
                    name: 'filter',
                    children: [
                      { name: 'FisheyeTreeFilter', value: 5219 },
                      { name: 'GraphDistanceFilter', value: 3165 },
                      { name: 'VisibilityFilter', value: 3509 },
                    ],
                  },
                  { name: 'IOperator', value: 1286 },
                  {
                    name: 'label',
                    children: [
                      { name: 'Labeler', value: 9956 },
                      { name: 'RadialLabeler', value: 3899 },
                      { name: 'StackedAreaLabeler', value: 3202 },
                    ],
                  },
                  {
                    name: 'layout',
                    children: [
                      { name: 'AxisLayout', value: 6725 },
                      { name: 'BundledEdgeRouter', value: 3727 },
                      { name: 'CircleLayout', value: 9317 },
                      { name: 'CirclePackingLayout', value: 12003 },
                      { name: 'DendrogramLayout', value: 4853 },
                      { name: 'ForceDirectedLayout', value: 8411 },
                      { name: 'IcicleTreeLayout', value: 4864 },
                      { name: 'IndentedTreeLayout', value: 3174 },
                      { name: 'Layout', value: 7881 },
                      { name: 'NodeLinkTreeLayout', value: 12870 },
                      { name: 'PieLayout', value: 2728 },
                      { name: 'RadialTreeLayout', value: 12348 },
                      { name: 'RandomLayout', value: 870 },
                      { name: 'StackedAreaLayout', value: 9121 },
                      { name: 'TreeMapLayout', value: 9191 },
                    ],
                  },
                  { name: 'Operator', value: 2490 },
                  { name: 'OperatorList', value: 5248 },
                  { name: 'OperatorSequence', value: 4190 },
                  { name: 'OperatorSwitch', value: 2581 },
                  { name: 'SortOperator', value: 2023 },
                ],
              },
              { name: 'Visualization', value: 16540 },
            ],
          },
        ],
      };

      const width = 750,
        height = 750,
        radius = width / 2;
        
      const tree = d3.cluster().size([2 * Math.PI, radius - 100]);

      const root = tree(
        d3
          .hierarchy(data)
          .sort((a, b) => d3.ascending(a.data.name, b.data.name))
      );

      const svg = d3
        .select('svg')
        .attr('width', width)
        .attr('height', height)
        .append('g')
        .attr('transform', 'translate(' + width / 2 + ',' + height / 2 + ')');

      svg
        .append('g')
        .attr('fill', 'none')
        .attr('stroke', '#555')
        .attr('stroke-opacity', 0.4)
        .attr('stroke-width', 1.5)
        .selectAll('path')
        .data(root.links())
        .join('path')
        .attr(
          'd',
          d3
            .linkRadial()
            .angle((d) => d.x)
            .radius((d) => d.y)
        );

      svg
        .append('g')
        .selectAll('circle')
        .data(root.descendants())
        .join('circle')
        .attr(
          'transform',
          (d) => `
        rotate(${(d.x * 180) / Math.PI - 90})
        translate(${d.y},0)
      `
        )
        .attr('fill', (d) => (d.children ? '#555' : '#999'))
        .attr('r', 2.5);

      svg
        .append('g')
        .attr('font-family', 'sans-serif')
        .attr('font-size', 10)
        .attr('stroke-linejoin', 'round')
        .attr('stroke-width', 3)
        .selectAll('text')
        .data(root.descendants())
        .join('text')
        .attr(
          'transform',
          (d) => `
        rotate(${(d.x * 180) / Math.PI - 90}) 
        translate(${d.y},0) 
        rotate(${d.x >= Math.PI ? 180 : 0})
      `
        )
        .attr('dy', '0.31em')
        .attr('x', (d) => (d.x < Math.PI === !d.children ? 6 : -6))
        .attr('text-anchor', (d) =>
          d.x < Math.PI === !d.children ? 'start' : 'end'
        )
        .text((d) => d.data.name)
        .clone(true)
        .lower()
        .attr('stroke', 'white');
    </script>
  </body>
</html>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

D3 径向树状图仅显示部分 的相关文章

  • 我如何在 AngularJS 中监听点击并按住的情况?

    我制作了一个时间计数器 您可以通过单击按钮来增加或减少时间 然而 我希望当我单击并按住按钮时 时间的价值会不断攀升 所以目前如果你看到我的Plunkr http plnkr co edit BxX9x5zYFMXVqt5JsN1F p pr
  • React-native:将场景绑定到导航栏

    我正在整理这个提问 回答应用程序 并遇到了这个障碍 我想从导航栏触发场景中的功能 与登录应用程序类似 我在导航栏中有一个用于提交答案的按钮 RightButton route navigator index navState if rout
  • 如何将udp发送到udp node.js服务器?

    我对此很陌生 所以我真的不知道我在做什么 但我已经设置了一个 node js udp 服务器 我想从客户端 来自网站 向它发送一个数据包 但我不知道如何在 javascript 中做到这一点 或者是否可能 我不是在研究如何从 Node js
  • 如果对象包含在另一个数组中,则从数组中删除该对象

    我试图从数组中删除一个对象 如果该对象的属性 唯一 包含在另一个数组中 我知道我可以像这样执行嵌套 for 循环 for i 0 i lt array length i for j 0 j lt array2 length j if arr
  • 如何更改传单中功能集的样式?

    我正在看等值区域的例子 https leafletjs com examples choropleth https leafletjs com examples choropleth 这是他们使用的数据源 type Feature prop
  • 取消html5浏览器中的单图请求

    我正在动态加载 大 图像以绘制到 html5 画布中 如下所示 var t new Image t onload t src http myurl 但每隔一段时间就会想取消图片请求完全地 我想出的唯一方法是设置src to i e t sr
  • HTML/VBA Click 事件未触发

    这是我第一次在 StackOverflow 上发布问题 到目前为止 我已经能够通过 VBA 帮助论坛解决我的大部分问题 我的问题很简单 我有一个自动数据拉取 我需要在其中导出数据 我过去曾在这方面取得过成功 但这次略有不同 我尝试单击以生成
  • 如何在ASP.NET Webform中使用Jquery表单插件?

    我遇到了这个插件 http malsup com jquery form getting started http malsup com jquery form getting started 我想知道如何在 ASP NET WebForm
  • 如何使用 jest 模拟第三方库

    我正在开发一个node js应用程序使用nestjs我有一堂课叫LoggerService如下 export class LoggerService private logger Rollbar constructor this logge
  • 使用 CryptoJS 更改密钥 [重复]

    这个问题在这里已经有答案了 我正在使用 CryptoJS 来加密和解密文本 在这里 我只是获取消息并显示加密和解密消息 我使用DES算法进行加密和解密 这是我的 HTML 文件
  • 仅一页 JavaScript 应用程序

    您是否尝试过单页 Web 应用程序 即浏览器仅从服务器 获取 一页 其余部分由客户端 JavaScript 代码处理 此类 应用程序页面 的一个很好的例子是 Gmail 对于更简单的应用程序 例如博客和 CMS 使用这种方法有哪些优点和缺点
  • 在闪亮的数据表中为每个单元格显示工具提示或弹出窗口?

    有没有什么方法可以为 r闪亮数据表中的每个单元格获取工具提示 有很多方法可以获取悬停行或列 但我找不到一种方法来获取行和列索引并为每个单元格显示不同的悬停工具提示 任何人都可以修改以下代码吗 library shiny library DT
  • 将 javascript 整数转换为字节数组并返回

    function intFromBytes x var val 0 for var i 0 i lt x length i val x i if i lt x length 1 val val lt lt 8 return val func
  • Twitter 嵌入时间轴小部件

    我继续下载http platform twitter com widgets js http platform twitter com widgets js And the http platform twitter com embed t
  • 为什么“tbody”不设置表格的背景颜色?

    我在用 tbody 作为 CSS 选择器来设置background color在一个表中 我这样做是因为我有多个 tbody 表内的部分 它们具有不同的背景颜色 我的问题是 当使用border radius在细胞上 细胞不尊重backgro
  • Nodejs mysql 获取正确的时间戳格式

    我在用着mysqljs https github com mysqljs mysql得到结果后sql我变得不同TimeStamp格式如下 created at Sat Jul 16 2016 23 52 54 GMT 0430 IRDT 但
  • 如何获取 UIWebView 中元素的位置?

    我在 iPad 程序中加载了 html 的 UIWebView 通过使用 webkit column width 我将 html 分为几列 padding 0px height 1024px webkit column gap 0px we
  • 如何在 Google 地图 V3 中创建编号地图标记?

    我正在制作一张上面有多个标记的地图 这些标记使用自定义图标 但我还想在顶部添加数字 我已经了解了如何使用旧版本的 API 来实现这一点 我怎样才能在V3中做到这一点 注意 当您将鼠标悬停在标记上时 标题 属性会创建一个工具提示 但我希望即使
  • 需要有关 React Js 的帮助

    我是 React Js 新手 我的代码无法正常工作 请看下面 这是我的脚本文件Main jsx 该文件由 React 编译 输出放置在 dist 文件夹下的 main js 文件中 var react require react react
  • 单击列表时使用 bootstrap Dropdown 防止下拉菜单消失

    我正在使用使用引导下拉菜单 http twitter github com bootstrap javascript html dropdowns生成下拉菜单 我想防止点击菜单时菜单消失 我已经实现了以下代码 但它不起作用 知道如何修复它吗

随机推荐

  • 我是否使用 GMFBridge.DLL 正确预览/捕获流?

    我正在尝试使用 GMFBuilder 以便我可以预览来自网络摄像头的流并定期保存它 而无需重新启动整个图表 然而 我不确定这是否正确 我试图遵循示例 但代码已更新 情况也发生了变化 我尝试创建 WEbcam gt Smart Tee pre
  • WPF;单击一次;双击文件启动;对比2008年

    我的应用程序仅供我和同事使用 因此我不在乎它是 Click Once 还是复制 exe 我希望能够在 Windows 资源管理器中单击具有给定扩展名的文件 然后启动我的程序并打开该文件 我无法让它捕获文件名 表面上的解决方案 Link 我正
  • 将数据框与 data.table 匹配

    我需要使用另一个矩阵作为标识符 ID MA 用来自长数据帧 DF 的信息填充矩阵 MA 我的三个矩阵的想法 MA ID 创建一个标识符来在大 DF 中查找所需的变量 a b c a ID aa ID ab ID ac b ID ba ID
  • 如何访问 __main__ 范围内的全局变量?

    我对 python 中变量的命名空间和范围感到困惑 假设我有一个 test py coding utf 8 author jason if name main global strName print strName 然后 我定义一个名为
  • 包含指针的原子结构

    include
  • 注册本地通知

    我正在开发一个带有phonegap的IOS应用程序 需要为其设置本地通知 该通知将在每个星期五和指定时间重复 还要求用户决定是否接收本地通知 我建议您阅读以下有关该主题的文章 我发现它非常有帮助 http useyourloaf com b
  • Instagram 视频 iPhone 挂钩

    目前最好的解决方案 https stackoverflow com a 21888830 1786820 我正在尝试做得更好 通过使用从 PhotoRoll 中预先选择的视频文件和预加载的标题打开 Instagram 应用程序 在 Flip
  • Native-session 针对代码点火器 2.1.4 进行了修改...这有意义吗?

    有人看到 CI 2 1 4 的修改有问题吗 该类是为 1 7 2 编写的 Github链接 问题 1 regenerate id的用途是什么 是会话 ID 轮换吗 2 session write close的潜在问题是什么 如评论中所示 3
  • 从c#中查找msform上的所有控件

    我正在尝试使用 VBA 可扩展性互操作从 c 查找 msform 上的所有控件 我可以使用以下方式找到所有表格 using System using Microsoft Office Interop Excel using Microsof
  • 如何使用 Python Urwid 制作类似聊天的 UI? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我已经可以使用 gevent 和 Zeromq 实现聊天守护进程 但我想为它们制作一个控制台 UI 我第一次尝试 ncurses 失败了 所以我尝试了Urwid并发现该项目nig
  • 用Java制作数字时钟

    我正在为一个项目制作一个数字时钟 我有四个课程 DigitalTimeUI 这是 JFrame 类 TitlePanel DigitPanel and ColonPanel 它们是所述项目的 JPanel 完成后 它应该看起来像这样 我坚持
  • 无法让 selenium webdriver 在 azure databricks 中工作

    我们有一些 python 脚本可以抓取网站并且运行良好 现在我们想在 Azure Databricks 中执行此操作 我们认为我们可以通过 Databricks 论坛中的以下帖子找到解决方案 但不幸的是 它不起作用 https forums
  • 将两个 datagridview 列合并为一个新列

    我想将两个 datagridview 列合并为一个新列 我首先将两个 col 的 Visible 属性更改为 false 然后尝试添加新的 col 该值必须格式化为以下 col1 Value 基金 col2 Value 是以上列的值 str
  • Ubuntu 中的 .gradle 目录在哪里?

    在 Windows 中 它是 C Users me gradle 但是Ubuntu呢 它在不同的位置吗 如果是的话 在哪里 我到处寻找但找不到它 它应该位于 HOME gradle gradle 和 或 项目特定
  • 如何将我的应用程序添加到 Android 默认拨号器选择中?

    我的问题是如何将我的应用程序添加到 android 默认拨号器选择中 更具体地说 而不使用 android intent action CALL PRIVILEGED 现在我正在使用下面的代码 效果很好
  • 从 React TypeScript 组件调用外部 Javascript 函数

    我有一个带有打字稿的 React Redux 应用程序 所以场景是这样的 我有一个包含一些javascript的index cshtml文件 现在 在我的 React 组件上 在 componentWillMount 函数的 Main ts
  • 使用 savefiledialog 保存图像时出现问题

    我正在使用 savefiledialog 来保存图像 画布是图片框 加载的图像是位图 当我尝试保存它时 文件已创建 但不知何故已损坏 因为当我尝试再次加载图像或在不同的查看器中显示时它不起作用 我的意思是保存的文件已损坏 有一种保存图像的方
  • 这个 LLVM 1.5 警告是什么意思? “没有‘id’的协议限定符已经过时了”

    我刚刚尝试使用 LLVM 1 5 编译器 包含在 XCode 3 2 3 中 编译 iOS 项目 并且收到了很多新警告 其中包括以下几个警告 protocol qualifiers without id is archaic 例如 这发生在
  • 标准化矩阵行,使其范数等于 1 (MATLAB)

    我有一个以下问题 我有一个矩阵A尺寸为 16x22440 我需要做的是对该矩阵的每一行进行归一化 使每行的范数等于 1 for n 1 16 norm A n 1 我怎样才能在matlab中实现这一点 编辑 该矩阵中的每一行都是由 160x
  • D3 径向树状图仅显示部分

    我根据 Mike Bostock 在 Observable 中的示例创建了下面的代码 我知道它与原始 d3 javascript 不同 https observablehq com d3 radial dendrogram 然而 它 仅当我