
我一直在看简单的地图演示。
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) 我有一个组距离矩阵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?

我想使用GNUPlot对极坐标图中的特定区域进行着色.该区域受R(r1,r2)和Theta(t1,t2)的界限限制,因此最终形状是由极空间中的仅4个点限定的环形段.
在笛卡尔积,这是很容易绘制一个矩形,或者通过(set object rect)或filledcurve与4个顶点的封闭形状.然而,在极坐标图中由4个点指定的填充曲线形状仍然导致四边形(具有常数R的线应该是圆弧,而不是直线).
有没有简单或直接的方法在极坐标中绘制这个形状?我尝试使用两个弧然后填充它们之间的空间,但到目前为止这还没有正常工作,我不确定是否有更好的方法来解决这个问题.
在我的Qt5应用程序中,我有一些C ++和一些QML协调工作(也就是来回发送信号)。
在这一点上,我想实现一个小部件,该小部件以QML中显示的实际波形形式实时显示正在播放的音频流的可视化更新。因此,我想知道有哪些替代方法可以解决此问题?什么是最简单的代码替代方法,哪个具有最佳性能?
我的天真想法是:
PS:我已经可以访问实际的样本以生成可视化图像,但是,如果您也对此有一个聪明的解决方案,那么我会很高兴!
谢谢
我想使用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时,它是好的
当设置边长为2时,drawCube([ix,iy,iz],2,Royal_Blue).出现问题,立方体重叠,
我正在开发一个项目,使用d3在散点图中可视化数据点.由于它是一个Web应用程序,该区域是有限的,并且许多点重叠.总共有20k点,我允许用户使用画笔(及其范围)放大区域,但即使放大,仍然存在大量的点重叠.这种情况的一个例子:

什么是仍然可视化基础点,增强观点或观点的好方法?我在考虑使用透明度,但我不知道是否会这样做.
值得注意的是,所有点都代表基因,因此在表示方面聚类它们可能不是很合理.
我可以生成一个热量图,其数量覆盖在图形上,作为数据透视表的视觉效果.我想在热图旁边有一列显示行的总和,我希望在热图下面有一行显示列的总和.
有没有办法将其纳入热图图中?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)
Gephi具有基于给定变量调整节点大小的强大功能.节点的大小似乎是这样,圆的半径与变量的值成线性比例.如何使圆的面积与变量的值成比例?
使用样条函数来获得精确的比例似乎相当复杂.我想一个解决方案可能是导出节点表,计算变量的平方根,然后重新导入数据.我想知道我是否错过了任何更直接的解决方案.
我正在使用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
我正在(来自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)
它仅在手动运行时更新,我的问题是如何处理新数据(流化可视化)时进行更新,如以下示例所示:
visualization spark-streaming apache-spark-sql apache-zeppelin