标签: visualization

指定 alpha 颜色时地毯图不起作用?

这有效:

plot(1:10, col=rgb(0,0,0,1))
rug(1:10, col=rgb(0,0,0,1))
Run Code Online (Sandbox Code Playgroud)

这不起作用(没有额外绘制地毯):

plot(1:10, col=rgb(0,0,0,0.9))
rug(1:10, col=rgb(0,0,0,0.9))
Run Code Online (Sandbox Code Playgroud)

为什么?我该如何解决这个问题?

我需要这个的原因是因为我想添加 alpha 颜色,以便重叠的“地毯”更暗。无法指定 alpha 颜色,我只能绘制这个:

plot(rep(1:10,100), rep(1:10,100), col=rgb(0,0,0,1))
rug(jitter(rep(1:10,100)), col=rgb(0,0,0,1))
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

graphics plot visualization r data-visualization

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

Python 中的标量字段可视化

我需要在 Python 中可视化几个重叠的标量字段。我找到了mayavi图书馆来做这种情节。问题是我不明白如何为标量字段自定义颜色映射。我的想法是为每个字段设置一种颜色的阴影。我试图采用一个例子,但它不起作用。这是我使用红色阴影可视化标量场的代码:

import numpy as np
from mayavi import mlab

x, y, z = np.ogrid[-10:10:20j, -10:10:20j, -10:10:20j]
s = np.sin(x*y*z)/(x*y*z)

src = mlab.pipeline.scalar_field(s)
volume = mlab.pipeline.volume(src)

lut = np.zeros((256, 4), np.uint8)
lut[:,-1] = 255
lut[:, 0] = np.linspace(0, 255, 256)

volume.module_manager.scalar_lut_manager.lut.table = lut

mlab.draw()
mlab.view(40, 85)

mlab.show()
Run Code Online (Sandbox Code Playgroud)

但是,输出图始终带有标准的蓝红查找表。

python 3d visualization mayavi

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

将颜色属性添加到 NetworkX 上的节点以导出到 Gephi

我正在使用 NetworkX 制作图表以导出以使用 Gephi 进行可视化。我一直在向图中的节点添加各种属性,没有问题,直到我尝试添加颜色。有谁知道如何使用 networkx 导出带有“彩色”节点的图形?(我一直在写一个 gexf 文件,但只要它与 Gephi 兼容,我不在乎它是否是另一种格式。)

这是我制作图表的代码:

def construct_weighted_graph(nodes, distance_dict, weighting_function, color = True):

  G = nx.Graph()
  #nodes automatically added when edges added. 
  for sequence in nodes: #loop through and add size attribute for num of sequences
    G.add_node(sequence)
    G.node[sequence]['size'] = distance_dict[sequence][1] #size represented by the node
    if color:
        G.node[sequence]['color'] = (0,1,0)
  for i_node1 in range(len(nodes)):
    dist_list = distance_dict[nodes[i_node1]][-2] #list of distances
    for i_node2 in range(i_node1+1, len(nodes)):
        G.add_edge(nodes[i_node1], nodes[i_node2], 
                   weight = weighting_function(dist_list[i_node2]))
  return G
Run Code Online (Sandbox Code Playgroud)

这不是我对颜色的确切要求,因为不同的节点被分配了不同的颜色,但这是基本思想。

attributes visualization colors networkx gephi

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

d3 限制时间轴的缩放级别

我的代码如下用于缩放时间 X 轴。我想在时间之间设置一个限制应该放大或缩小,即时间的上限和下限。我试图将边界值放在缩放函数中,这是在此d3 图中建议的缩放线程有限的函数。但它不起作用。

var x = d3.time
  .scale()
  .domain([start_date, end_date])
  .range([0, width]);

var zoom = d3.behavior
  .zoom()
  .x(x)
  .on("zoom", zoomed);

svg = d3
  .select("#chart" + k)
  .append("svg:svg")
  .attr("width", width + margin.left + margin.right)
  .attr("height", height + margin.top + margin.bottom)
  .append("svg:g")
  .attr("transform", "translate(" + margin.left + "," + margin.top + ")")
  .call(zoom);

function zoomed() {
  svg.selectAll(".line").remove();

  makeBackground();

  svg.select(".x.axis").call(xAxis);
  d3.select(".x.axis.top").call(xAxisTop);

  svg.select(".x.grid").call(
    make_x_axis()
      .tickSize(-height, 0, 0)
      .tickFormat("")
  );
  svg.selectAll(".circle-path").remove();
  d3.selectAll(".trainTag").remove();
  drawPaths();
  drawCircle(x, y, chartBody, trainData[0]);
} …
Run Code Online (Sandbox Code Playgroud)

javascript visualization d3.js

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

多层感知器,在 Python 中可视化决策边界(2D)

我已经为二元分类编写了多层感知。据我了解,一个隐藏层可以仅使用线作为决策边界来表示(每个隐藏神经元一条线)。这很有效,只需使用训练后的权重就可以轻松绘制。

但是,随着更多层的添加,我不确定使用什么方法,并且教科书很少处理可视化部分。我想知道,是否有直接的方法将权重矩阵从不同层转换到这个非线性决策边界(假设 2D 输入)?

非常感谢,

python visualization numpy perceptron neural-network

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

如何更改seaborn热图中某些方块的颜色?

我正在尝试在 seaborn (python) 中创建一个热图,其中某些方块用不同的颜色着色,(这些方块包含无关紧要的数据 - 在我的情况下,它将是值小于 1.3 的方块,即 p 值的 -log >0.05)。我找不到这样的功能。掩盖这些方块也不起作用。这是我的代码:

import matplotlib.pyplot as plt
import numpy as np
import matplotlib as mpl
import seaborn as sns; sns.set()
data = [[1.3531363408, 3.339479161, 0.0760855365], [5.1167382617, 3.2890920405, 2.4764601828], [0.0025058257, 2.3165128345, 1.6532714962], [0.2600549869, 5.8427407219, 6.6627226609], [3.0828581725, 16.3825494439, 12.6722666929], [2.3386307357, 13.7275065772, 12.5760972276], [1.224683813, 2.2213656372, 0.6300876451], [0.4163788387, 1.8128374089, 0.0013106046], [0.0277592882, 2.9286203949, 0.810978992], [0.0086613622, 0.6181261247, 1.8287878837], [1.0174519889, 0.2621290291, 0.1922637697], [3.4687429571, 4.0061981716, 0.5507951444], [7.4201304939, 3.881457516, 0.1294141768], [2.5227546319, 6.0526491816, 0.3814362442], [8.147538027, 14.0975727815, 7.9755706939]]
cmap2 = mpl.colors.ListedColormap(sns.cubehelix_palette(n_colors=20, start=0, …
Run Code Online (Sandbox Code Playgroud)

python visualization heatmap seaborn

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

Pandas 中的漏斗图

有没有办法使用 Pandas 在 Python 中创建漏斗图?该文档似乎没有相关内容。

python visualization pandas

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

使用 matplotlib 绘制大量时间序列数据点

我在一个月(30 天)中每 5 分钟收集一次传感器数据。这意味着,我有一个时间序列数据,总共有 288*30 个数据点。

我想散点图数据(x 轴:时间,y 轴:传感器值)。以下代码用于测试。

import pandas as pd
from matplotlib import pyplot as plt
import numpy as np

# generate time series randomly (length: 1 month)
rng=pd.date_range("2015-11-11",periods=288*30,freq="5min")
ts=pd.Series(np.random.randn(len(rng)),rng)

nr=3
nc=1

fig=plt.figure(1)
fig.subplots_adjust(left=0.04,top=1,bottom=0.02,right=0.98,wspace=0.1,hspace=0.1)

for i in range(3):
    ctr=i+1
    ax=fig.add_subplot(nr,nc,ctr)

    ax.scatter(ts.index,ts.values)
    ax.set_xlim(ts.index.min(),ts.index.max())

plt.show()
Run Code Online (Sandbox Code Playgroud)

我生成了具有 288*30 个观测值的随机时间序列数据,并试图将其绘制在散点图中。但是,如您所见,无法分析该图。

在此处输入图片说明

我想重绘它满足以下条件:

  1. 我想要图的放大版本。换句话说,某个时间范围(例如,2~3 小时)的部分数据点被一次性显示出来。然后,相邻点之间应该有足够的空间。

  2. 我想将图形保存为 png 或 pdf 文件。然后,如果我打开文件,图像(或 pdf)查看器有一个水平滚动条,使我能够浏览整个图形。

有谁能解决吗?

我认为对于 matplotlib 专家来说并不难,但对于我这个初学者来说却很难。

python visualization time-series matplotlib scatter-plot

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

如何在R中创建连接两点的线

有没有办法在 R 中创建连接两点的线?我知道lines(),函数,但它创建线段我正在寻找的是一条无限长的线。

graphics visualization r lines

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

保存到 eps 的 Seaborn 图不显示网格

我玩了一会儿,无法正确保存用 seaborn 渲染的图。使用 plt.savefig 时,我丢失了网格。但是,使用 plt.show 然后手动保存图形是可行的。eps 和 png 也会发生这种情况。我需要渲染大量的图,所以这是一个问题。

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

sns.set(style = 'darkgrid', font_scale=2)
t = np.arange(100)
y = np.random.rand(len(t))
plt.plot(t,y)
plt.title('Test title')
plt.xlabel('Test xlab')
plt.ylabel('Tex $y_i = w_i x_i$')
plt.tight_layout()
#plt.show()
plt.savefig('test_plot.eps', format='eps')
Run Code Online (Sandbox Code Playgroud)

自动保存 自动保存

手动保存 手动保存

python visualization matplotlib seaborn

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