当前位置: 首页 > 知识库问答 >
问题:

网格/网格上的气泡图加权二维散点图数据

秦弘亮
2023-03-14

我有一组二维“原始”数据点,以数组的形式,即:

[[0, 0, 1, 0, 0],
 [0, 1, 2, 1, 0],
 [1, 2, 4, 2, 1],
 [0, 1, 2, 1, 0],
 [0, 0, 1, 0, 0]]

数据表示二维空间中的圆形“质量分布”图。x-y坐标表示数据点的x-y分布,每个x-y坐标处的值是在该数据点处测量的质量/强度。

我想绘制这个数据,只使用Python(仅在积分x-y交叉点),就像下面的图一样,但是使用我自己的x-y散点图数据,而不是绘制2D线/函数。

此外,我想结合另一个SO问题中的“指定点大小”逻辑,这允许我在“每个样本/值”的基础上指定点大小,即:

如何组合上述逻辑以呈现如下数据集:

[[0, 0, 1, 0, 0],
 [0, 1, 2, 1, 0],
 [1, 2, 4, 2, 1],
 [0, 1, 2, 1, 0],
 [0, 0, 1, 0, 0]]

如何重新使用上述数据集生成相同数据(即连续域、连续范围、连续值)的热图?

或者,更像这样:

共有1个答案

毕霖
2023-03-14

您可以通过首先创建一个meshgrid来定义x和y坐标,然后使用data数组来定义点的大小。由于大小为0,0的条目将不会显示。我正在使用100的重缩放因子来放大这些点。

完整的工作代码:

import numpy as np
import matplotlib.pyplot as plt

data = np.array([[0, 0, 1, 0, 0],
 [0, 1, 2, 1, 0],
 [1, 2, 4, 2, 1],
 [0, 1, 2, 1, 0],
 [0, 0, 1, 0, 0]])

mesh = np.arange(len(data))
x, y = np.meshgrid(mesh, mesh)
plt.scatter(x, y, s=data*100)
plt.xticks(range(len(data))) # To put ticks at integer values
plt.yticks(range(len(data))) # To put ticks at integer values
plt.show()

生成热图

import numpy as np
import matplotlib.cm as cm
import matplotlib.pyplot as plt

# data here

x, y = np.meshgrid(np.arange(len(data)), np.arange(len(data)))
plt.scatter(x, y, s=data*100, c=data, cmap=cm.Oranges)
plt.xticks(range(len(data)))
plt.yticks(range(len(data)))
 类似资料:
  • 散点图和气泡图常用于展现数据的分布情况。 一、散点图 图4-11 Highcharts 散点图 散点图相关的配置参考 API 文档: 散点图配置:针对当前数据列有效 散点数据列配置 :针对当前页面的所有散点数据列有效 下面简单列举散点图的特性及常见问题 1、线图转换成散点图 散点图和直线图的区别是散点图少了点之间的连线,所以只需要隐藏线图的线条即可将线图转换成散点图。 series: [{

  • 网格视图是一个类似数据表的视图,将文档和字段显示为行和列。导航栏可让你快速地切换、插入或删除文档。 使用网格添加一个文档 点击现有的记录并在导航栏点击 或按 CTRL+N 来得到一个空白显示的文档。 输入所需的数据。 请看记录左侧的选择框。它会由指示当前记录的图形符号 变为指示你正在编辑该记录的图形符号 。 若要保存文档,只需简单地移动到另一个文档或在导航栏点击 。 【注意】如果你的集合是空的,会

  • 网格视图是一个类似数据表的视图,将文档和字段显示为行和列。导航栏可让你快速地切换、插入或删除文档。 使用网格添加一个文档 点击现有的记录并在导航栏点击 或按 COMMAND-+ 来得到一个空白显示的文档。 输入所需的数据。 请看记录左侧的选择框。它会由指示当前记录的图形符号 变为指示你正在编辑该记录的图形符号 。 若要保存文档,只需简单地移动到另一个文档或在导航栏点击 。 【注意】如果你的集合是空

  • 网格视图是一个类似数据表的视图,将文档和字段显示为行和列。导航栏可让你快速地切换、插入或删除文档。 使用网格添加一个文档 点击现有的记录并在导航栏点击 或按 CTRL+N 来得到一个空白显示的文档。 输入所需的数据。 请看记录左侧的选择框。它会由指示当前记录的图形符号 变为指示你正在编辑该记录的图形符号 。 若要保存文档,只需简单地移动到另一个文档或在导航栏点击 。 【注意】如果你的集合是空的,会

  • 气泡图以气泡的形式可视化度量和维度。 气泡图是一组圆圈。维度字段的每个值表示圆圈,度量值表示这些圆圈的大小。 设置气泡的颜色以区分维度中存在的成员。以下是创建气泡图的步骤。 例如,考虑数据源(如样本超市),以及是否要查找不同出货模式的利润。然后, 第1步:拖动度量利润(Profit)并拖放到“大小(Size)”窗格中。 第2步:拖动维度Ship Mode并放入“Labels”窗格。 第3步:同时将

  • 主要内容:什么是JFreeChart 气泡图,JFreeChart 气泡图的示例什么是JFreeChart 气泡图 气泡图以三维方式表示信息。此图表是散点图(XY 图表)的变体,其中数据点由气泡替换,数据的附加维度(z 值)以气泡的大小表示。 下图显示了 JFreeChart 库中包含的气泡图的一些演示版本: JFreeChart 气泡图的示例 让我们考虑以下气泡图的示例数据。 国家 汽车 公交车 卡车 印度 40 65 70 美国 30 20 50 中国 80 50 80