标签: data-visualization

带有颜色和大小属性的hexbin数据聚合

我有兴趣在2个协变量(消费者属性和提供者属性)中显示"大n"序数量表调查响应信息.我正在使用R的hexbin包.我希望六边形的大小表示调查响应的数量和六边形的颜色,以表示线性平均满意度响应.

我似乎无法找到文档,指出如何使用hexbin或其他现有的包.

编辑以获得更多说明:

我的数据结构如下:

csr_score pro_score rating
       15        16      8
       17        18     10
       19        12      4
Run Code Online (Sandbox Code Playgroud)

其中该数据帧的长度为20,000行.

r data-visualization

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

使用matplotlib调整图例中的线条颜色

我正在使用以下代码使用matplotlib在Python中生成包含大量过度绘制线的图:

def a_run(n, t, s):
    xaxis = np.arange(t, dtype=float)
    #Scale x-axis by the step size
    for i in xaxis:
        xaxis[i]=(xaxis[i]*s)
    for j in range(n):
        result = a_solve(t,s)
        plt.plot(result[:,1], color = 'r', alpha=0.1)

def b_run(n, t, s):
    xaxis = np.arange(t, dtype=float)
    #Scale x-axis by the step size
    for i in xaxis:
        xaxis[i]=(xaxis[i]*s)
    for j in range(n):
        result = b_solve(t,s)
        plt.plot(result[:,1], color = 'b', alpha=0.1)

a_run(100, 300, 0.02)
b_run(100, 300, 0.02)   

plt.xlabel("Time")
plt.ylabel("P")
plt.legend(("A","B"), shadow=True, fancybox=True) Legend providing same color for both …
Run Code Online (Sandbox Code Playgroud)

python data-visualization matplotlib

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

将距离矩阵可视化为图形

我正在做一个聚类任务,我有一个距离矩阵.我希望将这个距离矩阵可视化为2D图.如果有任何方法可以在线或使用R或python等编程语言,请告诉我.我的距离矩阵如下, 在此输入图像描述 我使用了经典的多维缩放功能(在R中),并获得了一个2D图,看起来像: 在此输入图像描述 但我要找的是一个在它们之间运行节点和加权边的图.

data-visualization matrix

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

标准R 3.02中的lty和lwd无法正常工作?

我不知道我做错了什么.这很简单,但我不知道我的错误在哪里:

我有以下代码:

x<-seq(-3000,3000,length=1000)
hx<-dnorm(x,mean=0,sd=1392.857)

plot(x,hx,lwd=3,lty=4,col="blue")
Run Code Online (Sandbox Code Playgroud)

这使

T1

然后我编码:

plot(x,hx,lwd=3,lty=1,col="blue")
Run Code Online (Sandbox Code Playgroud)

我得到了同样的照片?

为什么不在这里工作?同样适用于lwd?R莫名其妙地不认识它?

我从来没有像这样的问题.我刚下载了新的R版本,因为我的旧版本崩溃了.我的错误在哪里?

编辑:我怎样才能获得更薄的线?如果我使用lwd = 1它仍然很胖(只是稍微改变)?R线曾经非常薄,通常我不得不调整lwd?我怎样才能获得更细的线条?

r data-visualization

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

dc.js barChart条重叠

错误的图表

这是我的日期时间barChart.当我使用小提琴(见此处)尝试复制问题时,它按预期工作.注意:从github加载数据需要一段时间(~30秒).

以下是图表的代码:

    pnlPerDaybarChart
    .height(300)
    .width(700)
    .dimension(dims.date)
    .group(groups.date.pnlSum)
    .valueAccessor(function(d) {
        return Math.abs(d.value);
    })
    .renderTitle(false)
    .x(d3.time.scale().domain([minDate,maxDate]))
    .xUnits(d3.time.days)
    .colors(colorChoice)
    .colorAccessor(function(d) {
            if (+d.value>0) {
                return("positive");
            } else {
                return("negative");
            }
        })
    .brushOn(true)
    .elasticY(true)
    .margins({left: 70 ,top: 10, bottom: 30, right: 50})
    .centerBar(true);
Run Code Online (Sandbox Code Playgroud)

我错过了一些明显的东西吗?如果没有,我应该开始调试的任何想法?我花了相当多的时间在这个上面,我找不到任何错误.

编辑:当我删除.xUnits指令时,我得到非常瘦的条,但沿着轴放置得很好.这让我觉得计算条形宽度有问题.我不知道如何调试那个特定的计算.如果有人知道,我会很乐意深入研究它.

EDIT2:所有元素的width属性都设置为错误的值.如果有人能指出我在图书馆计算的地方,我可以从那里拿走它.<g class="chart-body"><g class="stack _0"><rect class="bar"></rect></g></g>svgd3

EDIT3:我找到了问题的根源.条形的宽度不正确,因为当calculateBarWidth()运行一次以实例化图形时,即使调用dc.redrawAll(),它也不再运行.在我的情况下,我连续添加了大量的记录到我的crossfilter并重绘图表.新问题是'如何强制calculateBarWidth()重新运行?'

javascript visualization data-visualization d3.js dc.js

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

使用ggplot2在直方图上绘制置信区间

下面的代码绘制平均值的采样分布图并计算20批95%置信区间.如何在直方图上绘制置信区间,如下面的Photoshop图像?

# plot sampling distribution of mean -----------------------------------------------------------
set.seed(1)

population <- rnorm(10000, 3, 3)

population_mean <- mean(population)

my_sample <- sample(population, 100, replace = FALSE)

standard_error <- sqrt(var(my_sample)/length(my_sample))

sampling_distribution_of_mean <- rnorm(10000, mean = population_mean, sd = standard_error)

library(ggplot2)
ggplot(data.frame(x = sampling_distribution_of_mean), aes(x)) + geom_histogram() + geom_vline(xintercept = population_mean, color = "red")


# calculate 20 lots of 95% confidence intervals -----------------------------------------------------------

my_confidence_intervals <- function(){

    my_sample <- sample(population, 100, replace = FALSE)

    sample_mean <- mean(my_sample)

    standard_error <- sqrt(var(my_sample)/length(my_sample))

    margin_of_error <- 1.96*standard_error

    mean_minus_margin_of_error <- …
Run Code Online (Sandbox Code Playgroud)

statistics r data-visualization normal-distribution ggplot2

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

在ggplot2中绘制"水面"

我正在绘制一些温度数据作为深度的函数.但我希望它对非科学家更友好,并明确表示顶部是水面.有关如何做到这一点的任何想法?(艺术浪潮的奖金!)

目前为止有以下几种选择:

library(dplyr); library(ggplot2); library(magrittr);
temperature <- rnorm(30, mean = 20)
depth <- seq(0:29)
df <- data.frame(temperature, depth)

no_surface <- df %>% 
              ggplot(aes(y = depth, x = temperature, colour = temperature)) +
              geom_path(size = 2) + 
              scale_y_reverse() + 
              scale_colour_gradient(low = "blue", high = "red")+
              theme_classic() + 
              theme(legend.position = "none")


flat_surface <- no_surface + geom_hline(yintercept = 0)

wavy_surface <- no_surface + stat_function(fun = function(x)sin(x^1.5), 
                                           size = 1)
Run Code Online (Sandbox Code Playgroud)

r data-visualization ggplot2

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

在R中制作特定的分位数图

我对下面的可视化(Decile术语)非常感兴趣

在此输入图像描述

我想知道如何在R中做到这一点.

当然有直方图和密度图,但它们没有做出如此好的可视化.特别是,我想知道是否可以用ggplot/ 来做tidyverse.

编辑以响应评论, library(dplyr) library(ggplot2) someData <- data_frame(x = rnorm(1000)) ggplot(someData, aes(x = x)) + geom_histogram() 这会生成一个直方图(参见http://www.r-fiddle.org/#/fiddle?id=LQXazwMY&version=1)

但我怎么能得到coloful酒吧?如何实现小矩形?(箭头不太相关).

visualization r data-visualization ggplot2

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

holoviews /散景导入错误

我正在和我一起工作

In [2]: bokeh.__version__
Out[2]: '0.12.1'

In [4]: holoviews.__version__
Out[4]: 1.8.4
Run Code Online (Sandbox Code Playgroud)

以下导入

from holoviews.plotting.bokeh import BokehRenderer
Run Code Online (Sandbox Code Playgroud)

产生错误:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-c53ae81a79e0> in <module>()
----> 1 from holoviews.plotting.bokeh import BokehRenderer

/usr/local/lib/python3.6/site-packages/holoviews/plotting/bokeh/__init__.py in <module>()
      2 
      3 import numpy as np
----> 4 from bokeh.palettes import all_palettes
      5 
      6 from ...core import (Store, Overlay, NdOverlay, Layout, AdjointLayout,

ImportError: cannot import name 'all_palettes'
Run Code Online (Sandbox Code Playgroud)

它以前工作过,我无法追踪发生了什么变化.

python data-visualization python-import bokeh holoviews

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

R中的数据探索:快速显示大矩阵的热图?

如何快速可视化R中的大型矩阵?

我有时使用大型数字矩阵(例如3000 x 3000),并且快速可视化它们是一个非常有用的质量控制步骤.这在我以前选择的语言Matlab中非常简单快捷.例如,显示1000x1000矩阵需要0.5秒:

rand_matrix = rand(1000,1000);
tic
imagesc(rand_matrix)
toc
>> Elapsed time is 0.463903 seconds.
Run Code Online (Sandbox Code Playgroud)

我想在R中具有相同的能力,但遗憾的是,在R中,可视化矩阵似乎非常缓慢.例如,使用image.plot()相同的随机矩阵需要10秒以上才能显示:

require(tictoc)
require(image.plot)
mm = 1000
nn = 1000
rand.matrix = matrix(runif(mm*nn), ncol=mm, nrow=nn)
tic("Visualizing matrix")
image.plot(rand.matrix)
toc()
> Visualizing matrix: 11.744 sec elapsed
Run Code Online (Sandbox Code Playgroud)

随着矩阵变大,问题变得更糟.例如,与Matlab中的秒数相比,3000x3000矩阵在R中可视化需要几分钟.这显然不适用于数据探索.我尝试过ggplot,而熔化+ geom_raster()仍然需要一分钟.

我究竟做错了什么?有没有一种快速的方法可视化R中的矩阵?一个理想的解决方案需要一两行.

matlab visualization r data-visualization matrix

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