【问题标题】:Making 2D plots with pcolor from scattered points从散点使用 pcolor 制作 2D 图
【发布时间】:2020-06-27 23:54:09
【问题描述】:

我有一个 fortran 程序,它可以模拟空气中的某种辐射以及在地面的每个天线中获得的信号。我正在使用 Python3 读取输出数据,其中一个输出 .dat 文件包含有关天线的信息,它按列组织(沿 X 轴的位置、沿 Y 轴的位置、信号检测到等)。

假设我有 ~ 1000000 个天线,并且我已经将每个天线的位置和信号存储在列表column_xcolumn_ysignal 中,我的目标是重现如下图:

我该怎么做?

我尝试制作一个形状为(len(column_x),len(column_y)) 的矩阵,将列表signal 的值插入天线的每个位置,并用plt.pcolor 绘制该矩阵,但我遇到了很多问题。一定有最简单的方法。

【问题讨论】:

  • 除非位置是离散化的(即整数值),否则您必须创建一个常规网格并将数据重新采样到该网格才能使用pcolor(或pcolormeshpcolorfast , 等等)。如果它们没有离散化,则可以选择散点图。如果您主要关心的是高密度区域,您可以创建一个有效突出它们的散点图 - 特别是通过使用半透明标记(通过在 plt.scatter 中传递 alpha < 1.0
  • 除了散点图,tricontourf 也很有趣。它可以接受 x、y 和 z(信号)位置列表,并根据信号创建 2D 区域(轮廓)。 (x 和 y 不需要组织成一个网格)

标签: python python-3.x matplotlib data-visualization colormap


【解决方案1】:

你打算做的正是 matplotlib.pyplot.scatter 可以做的:

import matplotlib.pyplot as plt
plt.scatter(column_x, column_y, c=signal)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-15
    • 2017-05-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多