标签: scatter-plot

Java:非常简单的散点图实用程序

我知道有很多java绘图库的比较,但我找不到我需要的东西.我只想要一个令人费解的简单工具包,它可以从一组坐标创建散点图的图像.没有GUI,没有交互,没有花哨的显示,只有带点的基本XY坐标系.

使用能提供比我需要的更多功能的东西并不是世界末日,但我宁愿不这样做.你知道我在找什么吗?

java charts scatter-plot

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

Pylab:将标签映射到颜色

我只是从scipy堆栈开始.我正在使用CSV版本的虹膜数据集.我可以使用以下方法加载它:

iris=numpy.recfromcsv("iris.csv")
Run Code Online (Sandbox Code Playgroud)

并绘制它:

pylab.scatter(iris.field(0), iris.field(1))
pylab.show()
Run Code Online (Sandbox Code Playgroud)

现在我还要绘制存储在iris.field(4)以下类中的类:

chararray(['setosa', ...], dtype='|S10')
Run Code Online (Sandbox Code Playgroud)

将这些字符串映射到用于绘图的颜色的优雅方法是什么?scatter(iris.field(0), iris.field(1), c=iris.field(4))不起作用(从它预期浮动值或色彩图的文档).我没有找到一种自动生成彩色地图的优雅方式.

cols = {"versicolor": "blue", "virginica": "green", "setosa": "red"}
scatter(iris.field(0), iris.field(1), c=map(lambda x:cols[x], iris.field(4)))
Run Code Online (Sandbox Code Playgroud)

大概是我想要的,但我不太喜欢手动颜色规格.

编辑:最后一行稍微优雅的版本:

scatter(iris.field(0), iris.field(1), c=map(cols.get, iris.field(4)))
Run Code Online (Sandbox Code Playgroud)

python matplotlib scatter-plot scipy

6
推荐指数
2
解决办法
5481
查看次数

在R中为多行创建散点图

我有一个看起来像这样的数据框:

        Samp1    Samp2    Samp3     Samp4    Samp5
Gene1    84.1     45.2     34.3      54.6     76.2
Gene2    94.2     12.4     68.0      75.3     24.8
Gene3    29.5     10.5     43.2      39.5     45.5
...
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建一个散点图,其中x轴是样本(Samp1-5),y轴是行(Gene1-3等等),但我希望绘制每行的数据作为同一情节中的不同颜色.

关于如何在R中做到这一点的任何想法?我非常愿意在R中使用ggplot2,格子,汽车或任何其他包装.

plot r scatter-plot ggplot2 lattice

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

scatterplot可视化matlab中的相同点

我有以下问题:我需要构建数据的散点图.一切都很好,但那里有一些重复的数据:

x = [11, 10, 3, 8, 2, 6, 2, 3, 3, 2, 3, 2, 3, 2, 2, 2, 3, 3, 2, 2];
y = [29, 14, 28, 19, 25, 21, 27, 15, 24, 23, 23, 18, 0, 26, 11, 27, 23, 30, 30, 25];
Run Code Online (Sandbox Code Playgroud)

可以看到有两个元素,(2, 25); (2,27); (3,24); 所以如果用常规构建这个数据scatter(x,y)我会丢失这些信息: 在此输入图像描述

我发现的方法是使用未记录的'jitter'参数

scatter(x,y, 'jitter','on', 'jitterAmount', 0.06);
Run Code Online (Sandbox Code Playgroud)

但我不喜欢前景: 在此输入图像描述

我想要实现的是:

在此输入图像描述

重复数量紧邻该点(如果数量大于1),或者可能在该点内.

知道怎么做到这一点?

matlab scatter-plot

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

d3.js散点图 - 缩放/拖动边界,缩放按钮,重置缩放,计算中位数

我用缩放/平移功能构建了一个d3.js散点图.你可以在这里看到完整的东西(点击"在新窗口中打开"以查看整个内容):http: //bl.ocks.org/129f64bfa2b0d48d27c9

有一些我无法弄清楚的功能,如果有人能指出我正确的方向,我会爱上它:

  1. 我想将X/Y缩放/平移边界应用于该区域,以便您不能将其拖动到某个点(例如零)以下.
  2. 我也开始创建谷歌地图样式+/-缩放按钮,没有任何成功.有任何想法吗?

更不重要的是,还有一些领域我已经找到了解决方案,但它非常粗糙,所以如果你有更好的解决方案,请告诉我:

  1. 我添加了一个"重置缩放"按钮,但它只删除了图形并在其位置生成了一个新图形,而不是实际缩放对象.理想情况下,它应该实际重置缩放.
  2. 我编写了自己的函数来计算X和Y数据的中位数.但是我确信必须有更好的方法来使用d3.median这样做,但我无法弄清楚如何使其工作.

    var xMed = median(_.map(data,function(d){ return d.TotalEmployed2011;}));
    var yMed = median(_.map(data,function(d){ return d.MedianSalary2011;}));
    
    function median(values) {
        values.sort( function(a,b) {return a - b;} );
        var half = Math.floor(values.length/2);
    
        if(values.length % 2)
            return values[half];
        else
            return (parseFloat(values[half-1]) + parseFloat(values[half])) / 2.0;
    };
    
    Run Code Online (Sandbox Code Playgroud)

JS的一个非常简化(即旧版)的版本如下.您可以在https://gist.github.com/richardwestenra/129f64bfa2b0d48d27c9#file-main-js找到完整的脚本.

d3.csv("js/AllOccupations.csv", function(data) {

    var margin = {top: 30, right: 10, bottom: 50, left: 60},
        width = 960 - margin.left - margin.right,
        height = 500 - margin.top - margin.bottom; …
Run Code Online (Sandbox Code Playgroud)

javascript zoom scatter-plot drag d3.js

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

Excel XY图表(散点图)数据标签无重叠

所以过去一周我一直在研究这个问题.虽然它不能创造奇迹,但我可以说我有一个非常好的结果: 之前和之后 在更严肃的图表之前和之后
我只是想把这个代码放在那里为所有像我一样的穷人寻找某种vba宏来帮助他们避免散点图中的标签重叠,因为在对这个主题进行研究时,我无法找到任何有用的东西.

charts vba scatter-plot excel-vba overlap

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

具有大(> 500,000)点的D3.js散点图?聚类?

我正在查看绘制具有大量点(500,000点及以上)的散点图。

目前,我们正在使用Matplotlib在Python中进行此操作。它绘制点,并提供平移和缩放控件。我不相信它会提供任何聚类或点,它只是将它们全部绘制出来-我想在缩小视图上没有多大意义,但是您可以放大并且它们都在那里。

我一直在用JavaScript制作图表,以使其更易于分发。我正在看D3.js,看那里是否有类似的可行方法。我确实找到了一个基本散点图的示例:

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

首先,您能否绘制出该点数?(500,000及以上)给我的印象是,由于所有DOM对象的开销,您无法做到吗?有办法解决吗?

其次,是否有任何可用的集群,无论是库还是D3.js中完成的示例?

第三,如果有人知道平移/缩放功能和群集的任何很好的例子,甚至只是一个处理它的打包JS库,那就太棒了。

第四,在每个点上都具有单击处理程序,并且可以在覆盖图中甚至在单独的窗口中显示一些文本,这也很好。有什么想法吗?

javascript visualization scatter-plot d3.js

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

如何创建标记的散点图?

我想在Gadfly中绘制一个标记的散点图,如下所示.

像这个例子 (来源:http://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/images/renda.png)

我怎样才能做到这一点?

散点图很简单:

using Gadfly
X = [1, 2, 2, 3, 3, 3, 4]
Y = [4, 4, 7, 7, 9, 1, 8]
Labels = ["bill", "susan", "megan", "eric", "fran", "alex", "fred"]

plot(x=X, y=Y)
Run Code Online (Sandbox Code Playgroud)

选项是使用颜色,但这不是很好,因为传说变得巨大(特别是在不那么简单的例子中).

plot(x=X,y=Y, color=Labels)
Run Code Online (Sandbox Code Playgroud)

颜色

plot scatter-plot julia gadfly

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

来自pandas数据帧的不同大小,标记和颜色的散点图

我正在尝试为每个点做一个速度超过米的散点图,其中标记表示不同的类型,大小表示不同的重量,颜色表示一个点超过10分钟的比例.但是,到目前为止我只能按尺寸绘制.

任何帮助都非常感谢.

x = {'speed': [10, 15, 20, 18, 19], 'meters' : [122, 150, 190, 230, 300], 'type': ['phone', 'phone', 'gps', 'gps', 'car'], 'weight': [0.2, 0.3, 0.1, 0.85, 0.0], 'old': [1, 2, 4, 5, 8]}

m = pd.DataFrame(x)

plt.scatter(m.meters, m.speed, s = 30* m.weight)

mkr_dict = {'gps': 'x', 'phone': '+', 'car': 'o'}

   meters  speed   type  weight  old
0     122     10  phone    0.20    1
1     150     15  phone    0.30    2
2     190     20    gps    0.10    4
3     230     18    gps    0.85 …
Run Code Online (Sandbox Code Playgroud)

python matplotlib scatter-plot marker colorbar

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

根据使用散射的变量绘制没有填充,颜色和大小的圆圈

我必须在绘图上显示的信息是2个坐标:大小和颜色(无填充).颜色很重要,因为我需要一种颜色图表类型的图表来根据颜色值显示信息.

我尝试了两种不同的方法:

  1. 创建特定圈子并添加各个圈子.

    circle1 = plt.Circle(x, y, size, color='black', fill=False)
            ax.add_artist(circle1)
    
    Run Code Online (Sandbox Code Playgroud)

这种方法的问题是我找不到根据颜色值设置颜色的方法.即,对于0-1的值范围,我希望0为完全蓝色而1为完全红色,因此在它们之间是紫色的不同色调,其红色/蓝色取决于颜色值的高/低.

  1. 之后我尝试使用分散功能:

    size.append(float(Info[i][8]))
    plt.scatter(x, y, c=color, cmap='jet', s=size, facecolors='none')
    
    Run Code Online (Sandbox Code Playgroud)

这种方法的问题是大小似乎没有变化,这可能是我创建数组大小的方式的原因.因此,如果我用大数字替换大小,则图表显示为圆圈.这facecolours = 'none'只是为了绘制周长.

python matplotlib scatter-plot colorbar

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