标签: visualization

什么轻量级 python 库可以实现简单的 3D 科学可视化

我正在用 python 编写一个程序来实验一个学术想法。查看程序生成的结果图像:

叶子

叶子中间的粗骨架线是需要可视化的。骨架线的每一段都有一个与之关联的值,在上图中(由 绘制pycairo),使用不同深浅的灰色进行可视化,颜色越浅意味着值越高,黑线表示该线的关联值为 0。问题是在这种情况下使用颜色进行可视化对于人眼来说非常不直观,最好以 3D 形式可视化值,如下所示(摘自论文):

3D 中的 2D

左图是右图的 3D 可视化,与线条相关的值被可视化为 3D 中连续墙壁的高度。

执行此操作的最佳库是什么?我不想投入太多时间来做这件事,所以首选轻量级库。

python 3d geometry visualization

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

如何在 WordPress 中使用 D3js?

我已经安装了 wordpress 以及 d3js 的插件。现在,上传数据以便我可以即时制作和提供图表的最佳方式是什么?

  • 如果我直接上传csv文件,我将其存储在哪里?有关系吗?
  • 如果我想将数据存储在第三方网站中,我可以使用什么?最好是免费服务。

我已经在本地机器上制作了图表,我想现在发布这些图表。

javascript wordpress visualization graph d3.js

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

我可以使用 d3.js 显示 GraphViz 生成的 dot 或 xdot 布局文件吗?

我创建了一个 Web 服务,它可以在服务器上使用 GraphViz 为图形生成 dot 和 xdot 布局文件。有没有办法在客户端浏览器上使用 d3.js 可视化 dot 或 xdot 文件?

如果没有,是否还有其他可以可视化点或 xdot 布局的 JavaScript 库?

javascript visualization dot graphviz d3.js

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

Matplotlib 3D 绘图颜色显得比正常颜色更深

我正在使用 mpl_toolkits 使用 Axes3D 和plot_surface 在 3d 中绘制曲面。

我通过以下方式可视化输出, 在此输入图像描述

当颜色应该类似于右侧的颜色条时,您可以清楚地看到整个表面有灰色调。

我在其他几个做类似事情的情节中看到了这种行为。例如这里/sf/answers/1433266341/

我正在使用最新的 anaconda python 发行版,并在使用 Qt4Agg 后端的spyder 中运行我的代码。我在 Linux 和 Windows 下得到相同的行为。使用不同的颜色图也没有帮助。可视化始终呈灰色。

我没有通过谷歌找到太多帮助,因此非常感谢任何帮助。

这是一个快速演示

import numpy as np
from matplotlib import pyplot
from matplotlib import cm
from mpl_toolkits.mplot3d import Axes3D

X, Y = np.meshgrid(np.arange(-1, 1, 0.1), np.arange(-1, 1, 0.1))
Z = np.zeros_like(X)

F = np.sqrt(X**2 + Y**2)
F -= np.min(F)
F /= np.max(F)

fig = pyplot.figure()
ax = fig.gca(projection='3d')
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, facecolors=cm.coolwarm(F))
Run Code Online (Sandbox Code Playgroud)

哪个返回

在此输入图像描述

python visualization colors matplotlib

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

vis.js 固定长度边

是否可以给边一个固定的长度?即使我设置了各个边的长度,物理引擎也会改变它。

我正在尝试可视化 3 个集群,每个集群有数百个节点。可以选择将集群聚合为几个节点。我想用非常短的边连接这些聚合节点,并赋予这些节点较高的质量,这样它们就会排斥其他集群,就像它们拥有数百个节点时所做的那样。

visualization vis.js

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

ggplot geom_tile(或热图)中的分割填充:第三个值的两种颜色

我有分类数据,我想映射使用热图(geom_tile)的频率,就像下面的示例一样:

data("mtcars")
freq <- data.frame(xtabs(~cyl + gear, mtcars)) #count number of 4,6,8 cyl cars by gear
ggplot(freq, aes(cyl, gear)) +
  geom_tile(aes(fill = Freq)) + 
  scale_fill_gradient(low = "white",high = "steelblue")
Run Code Online (Sandbox Code Playgroud)

标准频率计数热图

但我想根据显着或不显着结果(0-1 值)的比例分割每个图块。在此示例中,我将生成相同的频率计数,但区分自动传输和手动传输 ( am)

freq_am <- data.frame(xtabs(~cyl + gear + am, mtcars))
print(freq_am)
   #cyl gear am Freq
      4    3  0    1
      6    3  0    2
      8    3  0   12
      4    4  0    2
      6    4  0    2
      8    4  0    0
      4    5  0    0
      6    5  0    0 …
Run Code Online (Sandbox Code Playgroud)

visualization r heatmap ggplot2

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

如何在 d3js 中居中和缩放地图(使用projection.center/translate/rotate?)

鉴于我有给定地理特征和特定投影的 topoJSON 数据。

我应该如何居中和缩放地图以适合其父对象?

看来我可以使用projection.rotate()、projection.translate()或projection.center()来使地图居中:

https://github.com/d3/d3-3.x-api-reference/blob/master/Geo-Projections.md

有什么区别以及规模如何影响不同的功能?

maps visualization map-projections d3.js

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

R 绘制 data.frame 以更有效地概览数据

在工作中,当我想要了解数据集(我使用人寿保险中的投资组合数据)时,我通常会使用 Excel 中的数据透视表来查看变量随时间的变化或变量之间的依赖关系等。我记得大学时有一个很好的 R 函数,您可以在其中将数据帧的每一列与其他每一列进行比较,如下所示:

在此输入图像描述

对于问题年龄和持续时间之间的依赖性,该图实际上很有趣,因为您可以清楚地看到高问题年龄伴随着较短的保单持续时间(因为每个保单都有最大年龄)。然而,涉及发行年份的情节iss.year远不那么“视觉化”。事实上你从他们身上看不到任何东西。我想一目了然地看看不同问题的问题年龄分布是否发生了变化。年份,比如

在此输入图像描述

您可以立即看到,从 2014 年到 2016 年,新签发保单的平均年龄一直在增加。

我不想编写需要为我放入的每个数据集进行自定义的代码,因为这样我还可以在 Excel 中手动更快地完成此操作。

所以我的问题是,是否有一种简单的方法可以使用比标准更灵活的图表类型来绘制矩阵的每一列与其他每一列的关系plot(data.frame)?

plot visualization r

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

一个图中每一列数据框的分布概率

我正在通过 seaborn 库 sns.distplot() 中的 distplot 为数据框的每一列创建概率分布。对于我做的一个情节

x = df['A']
sns.distplot(x);
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用 FacetGrid & Map 以这种方式一次获得每列的所有绘图。但根本不起作用。

  g = sns.FacetGrid(df, col = 'A','B','C','D','E')
  g.map(sns.distplot())
Run Code Online (Sandbox Code Playgroud)

visualization pandas seaborn

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

如何使用 matplotlib 绘制条形范围图?

我正在尝试使用 matplotlib 创建带有时间 x 轴的条形范围图。作为示例,请参阅以下内容:

阴谋

据我所知,Matplotlib 并不直接支持这种绘图。实现这一目标的最佳方法是什么?

也许可以调整一个boxplot或一个fill_between情节?

python visualization matplotlib

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