标签: data-visualization

如何使用 d3.js 基于 2 个直径点且没有长度或高度值绘制矩形?

我想在d3.js图表中添加一个矩形来突出显示特定的数据区域。问题是我不想指定起点,然后指定高度和长度

\n\n

相反,我想指定位于矩形左上角和右下角的直径 \xe2\x80\x93 的两个点。突出显示区域矩形需要从数据集中的最低 X 值到最高 X 值,以及从特定的较低 y 边界到特定的较高 y 边界。

\n\n

期望的结果

\n

javascript charts data-visualization d3.js

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

使用权重向量设置 networkD3 节点大小

我正在尝试在 R 中使用data.treeandNetworkD3创建文件系统的树表示,其中图形的节点按文件大小加权。

library(data.tree)
library(networkD3)

repo <- Node$new("Repository")
git <- repo$AddChild(".git")
prod <- repo$AddChild("Production")
exp <- repo$AddChild("Experimental")

repo$size <- 866000
git$size <- 661000
prod$size <- 153000
exp$size <- 48000
Run Code Online (Sandbox Code Playgroud)

我可以使用 Get 获得这些大小的向量,这样

sizes <- repo$Get("size")
Run Code Online (Sandbox Code Playgroud)

但是当我尝试将它们放在一起时,我不确定如何在网络可视化步骤中包含此权重信息。尝试做这样的事情......

reponet <- ToDataFrameNetwork(repo,"repo")
net <- forceNetwork(reponet, Nodesize = repo$Get("size"))
Run Code Online (Sandbox Code Playgroud)

无济于事。基本上我正在尝试做 Julia Silge 在这篇很棒的SO 博客文章中所做的事情。有谁知道如何设置这个?

tree r data-visualization networkd3

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

Plotly:如何在使用 plotly express line 时在 hoverinfo 中格式化日期?

我正在使用以下代码使用 plotly express line 显示时间序列数据。

fig = px.line(df, x="date", y="close", color="type" ,category_orders = co ,color_discrete_sequence = colors,
              line_group="type", title = company)

fig.update_layout(height=500, width=1500)#hovermode="x unified"
fig.show()
Run Code Online (Sandbox Code Playgroud)

但是在悬停时的绘图中,它以以下格式显示日期:“月,年”,即它不显示日期。但我希望以以下格式显示日期:“月日,年”。

python data-visualization plotly plotly-express

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

向 Folium 地图添加标题或文本

我想知道是否有办法在 python 中的大叶地图上添加标题或文本?

我有 8 张地图要显示,我希望用户无需单击标记即可知道他们正在查看哪张地图。我试图添加地图的图像,但不能,因为我没有足够高的声誉分数。

我的代码:

#marker cluster
corpus_chris_loc = [27.783889, -97.510556]

harvey_avg_losses_map = folium.Map(location = corpus_chris_loc, zoom_start = 5)

marker_cluster = MarkerCluster().add_to(harvey_avg_losses_map)

#inside the loop add each marker to the cluster
for row_index, row_values in harvey_losses.iterrows():

    loc = [row_values['lat'], row_values['lng']]
    pop = ("zip code: " + str(row_values["loss_location_zip"]) + "\nzip_avg: " + "$" + str(row_values['zip_avg'])) #show the zip and it's avg
    icon = folium.Icon(color='red')
    marker = folium.Marker(
        title = "Harvey: " + "$" + str(row_values['harvey_avg']),
        location = loc, 
        popup …
Run Code Online (Sandbox Code Playgroud)

html python data-visualization python-3.x folium

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

Seaborn catplot (kind='count') 将条形图改为饼图

对于我的关于电晕跟踪应用程序的论文,我有以下查找 df (在其上使用了 pd.melt):

    CTQ-tool    opinion
0   Information and awareness purposes  unacceptable
1   Information and awareness purposes  unacceptable
2   Information and awareness purposes  acceptable
3   Information and awareness purposes  acceptable
4   Information and awareness purposes  unacceptable
... ... ...
2827    Central/Local data storage  NaN
2828    Central/Local data storage  NaN
2829    Central/Local data storage  NaN
2830    Central/Local data storage  NaN
2831    Central/Local data storage  NaN
2832 rows × 2 columns
Run Code Online (Sandbox Code Playgroud)

我正在使用 Seaborn 库制作以下猫图:

代码:

g = sns.catplot("opinion", col="CTQ-tool", col_wrap=4, data=df_original_small, kind="count", …
Run Code Online (Sandbox Code Playgroud)

python data-visualization pandas pie-chart seaborn

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

如何构建自动更新的拖放分层树

我目前在 R 工作,需要一种方法来可视化分层树...

我希望能够最初定义一棵树,其中每个节点都有一个父节点,每个父节点可以有多个子节点。

我希望能够在不同的父节点下拖放节点并执行一些计算(在 R 中),然后在可视化上更新,例如假设每个节点都有一个值;当我将节点放在父节点下时,我想对子节点求和并将值与父节点进行比较。

所以问题是是否有人有任何想法如何解决这个问题或尝试过类似的方法?

我一直在研究闪亮的(例如,shinyDND)和 javascript(例如 gojs),但与其钻牛角尖,我还可以使用一些建议。唯一需要注意的是,更新的计算需要在 R 中完成(它们比总和更复杂,并且会在我正在运行的分析中递归)。

r data-visualization graph

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

如何在 Altair 中调整比例范围?

使用 altair 制作一组像这样的图时,我无法将所有轴都设置为相同的比例:

class_list = ['c-CS-m','c-CS-s','c-SC-m','c-SC-s','t-CS-m','t-CS-s','t-SC-m','t-SC-s']
list_of_plots = []

for class_name in class_list:
    list_of_plots.append(alt.Chart(data[data['class'] == class_name]).mark_bar().encode(
    x = alt.X('DYRK1A', bin = True, scale=alt.Scale()),
    y = 'count()').resolve_scale(
    y='independent'
))

list_of_plots[0] & list_of_plots[1] | list_of_plots[2] & list_of_plots[3] | list_of_plots[4] & list_of_plots[5] | list_of_plots[6] & list_of_plots[7]

Run Code Online (Sandbox Code Playgroud)

我想让 x 轴从 0.0 运行到 1.4,y 轴从 0 运行到 120,这样我制作的所有八个图都在相同的比例上!我尝试在当前空调用中使用域,Scale()但它似乎导致 x 轴数据从 0.0 到 0.3 的可视化被超级压缩,我不明白为什么?

对于上下文,我试图绘制蛋白质表达水平的连续值。这 8 个图针对暴露于不同条件的不同类别的小鼠。如果有帮助,可以在此链接中获取数据:https : //archive.ics.uci.edu/ml/datasets/Mice+Protein+Expression

如果我需要提供更多信息以便您帮助我,请告诉我!

python data-visualization altair

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

如何从函数内部生成条件图

我的数据结构如下:

set.seed(123)
dat1 <- data.frame(State = rep(c("NY","MA","FL","GA"), each = 10),
                   Loc = rep(c("a","b","c","d","e","f","g","h"),each = 5),
                   ID = rep(c(1:10), each = 2),
                   var1 = rnorm(200),
                   var2 = rnorm(200),
                   var3 = rnorm(200),
                   var4 = rnorm(200),
                   var5 = rnorm(200))
Run Code Online (Sandbox Code Playgroud)

我正在为 PCA 使用 FactoMineR 和 factoextra 包。我正在编写以下函数来生成 PCA 的摘要输出和图:

pfun <- function(dat, cols, ncp){
  res <- PCA(dat[,cols], scale.unit = T, ncp = ncp, graph = F)
  eigs<-round(res$eig, 2)
  scree <- fviz_eig(res, addlabels = T)
  contribplot<-corrplot(get_pca_var(res)$contrib, is.corr = F)#variable contributions to each pc
  cos2plot<-corrplot(pca.vars$cos2, is.corr=F)#quality …
Run Code Online (Sandbox Code Playgroud)

functional-programming r data-visualization ggplot2 pca

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

matplotlib pandas:根据另一个列值更改数据点之间的宽度

尽我所能把它放在一张照片中:

matplotlib-set-width-based-on-column

我想增加width具有更高z值的两个数据点之间的此类线的数量。当它们超过某个阈值时将它们涂成红色会很好。

  1. 这可能与 matplotlib 吗?
  2. 或者使用可用于的替代库pd.DataFrame()
  3. 在使用更大的数据集以这种方式绘制时,是否需要记住某些限制?

样机示例:

import pandas as pd
import numpy as np
from datetime import datetime, timedelta

date_today = datetime.now()
days = pd.date_range(date_today, date_today + timedelta(minutes=1), freq='s')

np.random.seed(seed=1111)
y = np.random.randint(10, high=13, size=len(days))
z = np.random.randint(1, high=10, size=len(days))
df = pd.DataFrame({'ts': days, 'y': y, 'z': z})
df = df.set_index('ts')
print(df)

df.y.plot()
Run Code Online (Sandbox Code Playgroud)

data-visualization matplotlib dataframe pandas

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

R:向 ggplot2 添加水平线

我在 R 中使用 ggplot2 库。

假设我有一个看起来像这样的图表:

library(ggplot2)

ggplot(work) + geom_line(aes(x = var1, y = var2, group = 1)) +
               theme(axis.text.x = element_text(angle = 90)) +
               ggtitle("sample graph")
Run Code Online (Sandbox Code Playgroud)

有没有办法直接在这个图中添加第二行?

例如

ggplot(work) + geom_line(aes(x = var1, y = var2, group = 1)) +
               geom_line(aes(x = var1, y = mean(var2), group = 1)) +
               theme(axis.text.x = element_text(angle = 90)) +
               ggtitle("Sample graph")
Run Code Online (Sandbox Code Playgroud)

谢谢

r data-visualization ggplot2

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