小编san*_*oku的帖子

d3.js 如何从 csv 或 table 生成树层次结构

我有一个包含以下数据的 csv:

world,country,state

World,US,CA

World,US,NJ

World,INDIA,OR

World,INDIA,AP
Run Code Online (Sandbox Code Playgroud)

我需要转换为树层次结构,如下所示:

{

"name": "World",
"children": [
  { "name": "US",
      "children": [
       { "name": "CA" },
       { "name": "NJ" }
     ]
  },
  { "name": "INDIA",
      "children": [
      { "name": "OR" },
      { "name": "TN" }
     ]
  }
Run Code Online (Sandbox Code Playgroud)

] };

使用 d3.nest 我只能得到一个 json 数组,而不是一棵名为“children”的树。我还需要做些什么吗?阅读 API 并没有真正的帮助,而且我在搜索的任何地方都找不到进行转换的代码片段。

javascript tree hierarchical-data d3.js

5
推荐指数
1
解决办法
3111
查看次数

替代维恩图

是否有可视化格式显示数据中类别的重叠比例,但比维恩图更精确?此外,维恩图通常用于显示2或3个类别,而不仅仅是令人困惑的类别.

堆积条,瀑布等可以显示每个类别的比例,但假设这些类别之间没有重叠.

那么对于重叠类别,显示其比例的最佳方式是什么,包括与另一类别重叠的比例?

visualization data-visualization

4
推荐指数
1
解决办法
8440
查看次数

如何使用R ggplot stat_summary绘制中位数和四分位数?

如何将此统计摘要图中的上下点更改为25%四分位数和75%四分位数?

ggplot(data = diamonds) + stat_summary(
mapping = aes(x = cut, y = depth),
fun.ymin = min,
fun.ymax = max,
fun.y = median
Run Code Online (Sandbox Code Playgroud)

)

statistics r ggplot2

4
推荐指数
2
解决办法
7620
查看次数

如何读取 ggraph 径向图中的文本标签

在 中ggraph,如果绘图是径向的,则无论repel=T是否使用,标签都会变得拥挤。

有没有办法使标签具有交互性或允许旋转图形以读取标签?

library(ggraph)
mtcarsDen <- as.dendrogram(hclust(dist(mtcars[1:4],  method='euclidean'), 
                            method='ward.D2'))
ggraph(graph = mtcarsDen, layout = 'dendrogram', repel = TRUE, circular = TRUE, 
   ratio = 0.5) + 
geom_edge_elbow() + 
geom_node_text(aes(x = x*1.05, y=y*1.05, filter=leaf, 
                 angle = node_angle(x, y), label = label), 
             size=3, hjust='outward') + 
geom_node_point(aes(filter=leaf)) + 
coord_fixed() + 
ggforce::theme_no_axes()
Run Code Online (Sandbox Code Playgroud)

r ggplot2 ggraph ggforce

4
推荐指数
1
解决办法
779
查看次数

为什么R中的visNetwork不显示边缘

我正在探索visNetwork,无法弄清楚为什么这个不显示边缘

library(visNetwork)
nodes=data.frame(node=c('m1','m2','n1','n2'))
a=data.frame(x=c('n1','n2'),y=c('m1','m2'))
links=a%>% group_by(x,y)%>%tally()
visNetwork(nodes, links)
Run Code Online (Sandbox Code Playgroud)

r graph visnetwork

3
推荐指数
1
解决办法
956
查看次数

如何在带有%标签的填充栏的分面ggplot中显示'total'?

我有一个这样的填充条形图

library(dplyr)
library(ggplot2)

df <- data.frame(facet=c(rep(1,6),rep(2,6)),type=rep(c('a','b','c'),2), subtype=c('x','y'), value=c(10,20,30,10,50,70))

df %>% group_by(type, facet) %>% 
mutate(pct=value/sum(value)) %>%
mutate(pos=cumsum(pct) - (0.5 * pct)) %>%
ggplot(aes(type, pct, fill=subtype)) + geom_bar(stat='identity') +
geom_text(aes(label=paste0(round(100*pct, 0), '%'),y=pos)) +   facet_grid(.~facet, margins=TRUE)
Run Code Online (Sandbox Code Playgroud)

如果没有在整像中显示总数就可以了.但是由于用于显示%data标签的方法(我想知道是否有更好的方法),总方面会搞砸.任何建议?谢谢.

r bar-chart ggplot2 facet-grid

3
推荐指数
1
解决办法
556
查看次数

如何在seaborn热图中反转颜色标量

对于不同的值,默认情况下,seaborn似乎在暖色调(橙色)中显示大数字,在冷色调(蓝色)中显示小数字.

如果我需要将颜色切换到相反的颜色,要显示蓝色和橙色的大数字,怎么办?

我搜索过但还没有找到方法.

sns.heatmap(flights, center=flights.loc["January", 1955])
Run Code Online (Sandbox Code Playgroud)

python plot colors heatmap seaborn

3
推荐指数
1
解决办法
3807
查看次数

R错误:期望单个值是什么意思?

我正在R中使用dplyr进行简单的操作,并出现“期望单个值”错误

test <- data.frame(a=rep("item",3),b=c("step1","step2","step3"))
test%>%group_by(a)%>%(summarize(seq=paste0(b))
Run Code Online (Sandbox Code Playgroud)

我见过类似的线程,但是那些用例更加复杂,我不知道为什么这两行不起作用。

r summarization dataframe dplyr

3
推荐指数
1
解决办法
8399
查看次数

在正则表达式中如何匹配字母数字字符串的模式与空格或标点符号之前/之后

我有这样的输入

txt='.A3 S3- D4(SPACE) D5/ E9R E0&'
Run Code Online (Sandbox Code Playgroud)

如何提取匹配1个字母+ 1个数字的所有模式.可以在之前或之后或两者之间使用标点符号(除了&)或空格,但不允许使用之前或之后的另一个字母.

预期的匹配是:

['A3', 'S3', 'D4', 'D5']
Run Code Online (Sandbox Code Playgroud)

E9R将不会被退回,因为它包含E9之后的一封信.E0&将不会返回,因为它包含&

import re
re.findall('[a-z]{2,3}[0-9]{1,3}',txt)
Run Code Online (Sandbox Code Playgroud)

python regex

3
推荐指数
1
解决办法
103
查看次数

如何计算具有行和列标题的python数据透视表的行百分比和列百分比?

对于这个简单的枢轴,如何将值转换为行的百分比,以及列的百分比?

import pandas as pd
df = pd.DataFrame({'A' : ['one', 'one', 'two', 'three'] * 3,
                   'B' : ['A', 'B', 'C'] * 4,
               'C' : range(12)})
pd.pivot_table(df, index='A', columns='B', aggfunc=sum)
Run Code Online (Sandbox Code Playgroud)

不知何故,经过一番搜索,我没有找到这个简单问题的答案。

预期结果(如果获得列的百分比)

      A   B  C
ONE   50% 24% 50%
THREE 13% 31% 42%
TWO  36% 45% 8%
Run Code Online (Sandbox Code Playgroud)

谢谢

python pivot percentage pandas

2
推荐指数
2
解决办法
7043
查看次数