标签: visualization

D3.js复杂的世界地图画笔/缩略图

在此处输入图片说明

我一直在看简单的地图演示。

http://bl.ocks.org/mbostock/2206340

热衷于使用迷你地图或画笔创建更复杂的缩放/画笔方法,而不是依赖于缩放事件。

http://bl.ocks.org/mbostock/4343214

我将如何修改示例代码-创建一个迷你地图,该地图具有一个小的画笔区域作为缩放/平移控件?

<!DOCTYPE html>
<meta charset="utf-8">
<style>

.background {
  fill: none;
  pointer-events: all;
}

#states {
  fill: #aaa;
}

#state-borders {
  fill: none;
  stroke: #fff;
  stroke-width: 1.5px;
  stroke-linejoin: round;
  stroke-linecap: round;
  pointer-events: none;
}

</style>
<body>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script src="http://d3js.org/topojson.v1.min.js"></script>
<script>

var width = 960,
    height = 500;

var projection = d3.geo.albersUsa()
    .scale(1070)
    .translate([width / 2, height / 2]);

var path = d3.geo.path()
    .projection(projection);

var zoom = d3.behavior.zoom()
    .translate(projection.translate())
    .scale(projection.scale())
    .scaleExtent([height, 8 * height])
    .on("zoom", zoomed);

var …
Run Code Online (Sandbox Code Playgroud)

javascript maps visualization brush d3.js

5
推荐指数
0
解决办法
2240
查看次数

绘制R中的组距离

我有一个组距离矩阵G如下

G <- data.frame( Gp1=c(6.525,15.915,16.605,10.665,19.345), Gp2=c(15.915,8.605,31.455,25.485,48.355), Gp3=c(16.605,31.455,7.955,11.195,33.685), Gp4=c(10.665,25.485,11.195,0,21.985), Gp5=c(19.345,48.355,33.685,21.985,0))
rownames(G) <- colnames(G)

G
       Gp1    Gp2    Gp3    Gp4    Gp5
Gp1  6.525 15.915 16.605 10.665 19.345
Gp2 15.915  8.605 31.455 25.485 48.355
Gp3 16.605 31.455  7.955 11.195 33.685
Gp4 10.665 25.485 11.195  0.000 21.985
Gp5 19.345 48.355 33.685 21.985  0.000
Run Code Online (Sandbox Code Playgroud)

对角线是组内距离.

我想在下面的图中描述以上内容.不必缩放到距离值.如何生产呢R?

在此输入图像描述

plot visualization r ggplot2

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

在GNUPlot中绘制一个环形段

我想使用GNUPlot对极坐标图中的特定区域进行着色.该区域受R(r1,r2)和Theta(t1,t2)的界限限制,因此最终形状是由极空间中的仅4个点限定的环形段.

在笛卡尔积,这是很容易绘制一个矩形,或者通过(set object rect)或filledcurve与4个顶点的封闭形状.然而,在极坐标图中由4个点指定的填充曲线形状仍然导致四边形(具有常数R的线应该是圆弧,而不是直线).

有没有简单或直接的方法在极坐标中绘制这个形状?我尝试使用两个弧然后填充它们之间的空间,但到目前为止这还没有正常工作,我不确定是否有更好的方法来解决这个问题.

graphing visualization gnuplot javaplot

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

在Qt5中从C ++操作QML Canvas

在我的Qt5应用程序中,我有一些C ++和一些QML协调工作(也就是来回发送信号)。

在这一点上,我想实现一个小部件,该小部件以QM​​L中显示的实际波形形式实时显示正在播放的音频流的可视化更新。因此,我想知道有哪些替代方法可以解决此问题?什么是最简单的代码替代方法,哪个具有最佳性能?

我的天真想法是:

  • 在我的QML中创建画布,然后从C ++直接绘制到此画布
  • 将实际样本作为缓冲区发送到QML,并从js在画布中绘制它们
  • 将实际样本作为缓冲区发送到QML并以其他方式绘制
  • 编写自定义C ++小部件并以某种方式在QML中显示

PS:我已经可以访问实际的样本以生成可视化图像,但是,如果您也对此有一个聪明的解决方案,那么我会很高兴!

谢谢

c++ audio visualization qml qt5

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

使用MATLAB可视化立体晶格等三维数组

我想使用MATLAB可视化三维数组,就像立方晶格一样.

我已经阅读了如何在Matlab中绘制3D网格(立方体),以及使用三维数组绘制简单立方晶格

如果数组中的元素只有0和1,我知道如何使用三维数组绘制一个简单的立方晶格,小立方体具有相同的大小.

但是,现在我有一个像这样的三维数组,

cube(:,:,1) =
 1     0     1
 0     1     1
 2    1     0
cube(:,:,2) =

 0     0     1
 1     5     1
 0     1     0

cube(:,:,3) =

 1     1     1
 0     1     1
 2    0     1
Run Code Online (Sandbox Code Playgroud)

数组立方体的值除了0和1.我想像立方晶格一样可视化数组,其中立方体(:,:,1)表示立方晶格的第一层,

 cube(:,:,2) denotes the second floor, and 
 cube(:,:,3) the third floor.
Run Code Online (Sandbox Code Playgroud)

值0表示无,而值1表示小蓝色立方体.

大于1的值表示球体,球体的直径根据值而变化.期望的结果是这样的:三维阵列的可视化,1表示小绿色立方体,0表示无,大于1的值表示白色球体,球体的直径根据该值而变化.

三维阵列的可视化,1表示小绿色立方体,0表示无,大于1的值表示白色球体,球体的直径根据该值而变化.

为了更清楚地解释我的问题,展示一个二维数组的可视化

在此输入图像描述

1表示小黑球,0表示无,大于1的值表示白球,球的直径根据该值而变化.

所需的效果图 所需的效果图

在此输入图像描述 当立方体的边长为1时,它是好的

在此输入图像描述 当设置边长为2时,drawCube([ix,iy,iz],2,Royal_Blue).出现问题,立方体重叠,

arrays matlab visualization

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

d3可视化数据的最佳实践?

我正在开发一个项目,使用d3在散点图中可视化数据点.由于它是一个Web应用程序,该区域是有限的,并且许多点重叠.总共有20k点,我允许用户使用画笔(及其范围)放大区域,但即使放大,仍然存在大量的点重叠.这种情况的一个例子:

在此输入图像描述

什么是仍然可视化基础点,增强观点或观点的好方法?我在考虑使用透明度,但我不知道是否会这样做.

值得注意的是,所有点都代表基因,因此在表示方面聚类它们可能不是很合理.

javascript visualization data-visualization d3.js

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

如何在python seaborn heatmap旁边显示一个条形图,它显示行值的总和?

我可以生成一个热量图,其数量覆盖在图形上,作为数据透视表的视觉效果.我想在热图旁边有一列显示行的总和,我希望在热图下面有一行显示列的总和.

有没有办法将其纳入热图图中?pv是我用来生成热图图形的数据透视表.我想在图表的右侧有一列,其中每列的总和值.同样,我想在图表的底部有一行,其中每列的总和值.

fig = plt.figure(figsize = (20,10))
mask = np.zeros_like(pv)
mask[np.tril_indices_from(mask)] = True
#with sns.axes_style("white"):
ax = sns.heatmap(pv, annot=True, cmap="YlGnBu",mask=mask, linecolor='b', cbar = False)
ax.xaxis.tick_top()
plt.xticks(rotation=90)
Run Code Online (Sandbox Code Playgroud)

内华达州图表输出

visualization heatmap python-2.7 pandas seaborn

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

如何在Gephi中获得面积比例节点?

Gephi具有基于给定变量调整节点大小的强大功能.节点的大小似乎是这样,圆的半径与变量的值成线性比例.如何使圆的面积与变量的值成比例?

使用样条函数来获得精确的比例似乎相当复杂.我想一个解决方案可能是导出节点表,计算变量的平方根,然后重新导入数据.我想知道我是否错过了任何更直接的解决方案.

半径比例符号的示例,使用Martin Grandjean教程中的数据

visualization data-visualization gephi

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

Mayavi2使用多处理的Mlab可视化

我正在使用Mayavi2 mlab模块进行一些科学可视化。我想将大约10万个文件可视化并另存为图像,以便稍后将它们组合到gif动​​画中。为了加快这种可视化,我将使用多处理模块。下面是一个简单的示例。

from mayavi import mlab

def test_plot3d(dummy):
   mlab.options.offscreen = True
   l = mlab.plot3d([1,2], [1,2], [1,2])
   mlab.savefig(str(dummy)+".png")
   mlab.close()

from multiprocessing import Pool
NP = 2
pool = Pool(NP,maxtasksperchild=1)
res = pool.imap(test_plot3d,[x for x in xrange(0,4000)])
for r in res:
    print "OK"
print "FINISH"
Run Code Online (Sandbox Code Playgroud)

当NP为2时,一切正常。当NP> 2时,出现下一个错误:

[xcb] Unknown sequence number while processing queue [xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
Run Code Online (Sandbox Code Playgroud)

该程序会生成一些图像,但是会挂在其他图像上,因此它永远不会完成。Google告诉我,这与GTK和多线程有关,但是我将pool的maxtasksperchild指定为1,这意味着每个进程只有一个任务,然后它将重新启动,并且每个进程上只有一个mayavi实例(但是如我所见,它不会发生)。

因此,问题是如何正确启动用于并行mayavi可视化的进程池?

python parallel-processing visualization mayavi python-multiprocessing

5
推荐指数
0
解决办法
143
查看次数

如何自动更新zeppelin中的%spark.sql结果以进行结构化流查询

我正在(来自zeppelin 0.7的spark 2.1.0)中运行结构化流处理来自kafka的数据,并且试图通过spark.sql可视化流处理结果

如下 :

%spark2
val spark = SparkSession
  .builder()
  .appName("Spark structured streaming Kafka example")
  .master("yarn")
  .getOrCreate()
val inputstream = spark.readStream
    .format("kafka")
    .option("kafka.bootstrap.servers", "n11.hdp.com:6667,n12.hdp.com:6667,n13.hdp.com:6667 ,n10.hdp.com:6667, n9.hdp.com:6667")
    .option("subscribe", "st")
    .load()


val stream = inputstream.selectExpr("CAST( value AS STRING)").as[(String)].select(
             expr("(split(value, ','))[0]").cast("string").as("pre_post_paid"),
             expr("(split(value, ','))[1]").cast("double").as("DataUpload"),
             expr("(split(value, ','))[2]").cast("double").as("DataDowndownload"))
           .filter("DataUpload is not null and DataDowndownload is not null")
          .groupBy("pre_post_paid").agg(sum("DataUpload") + sum("DataDowndownload") as "size")
val query = stream.writeStream
.format("memory")
.outputMode("complete")
.queryName("test")
.start()
Run Code Online (Sandbox Code Playgroud)

它运行后,我在“测试”上查询如下:

%sql
select *
from test
Run Code Online (Sandbox Code Playgroud)

它仅在手动运行时更新,我的问题是如何处理新数据(流化可视化)时进行更新,如以下示例所示:

没有折中的见解:在Apache Spark中使用结构化流

visualization spark-streaming apache-spark-sql apache-zeppelin

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