使用标准标记进行2D彩色绘图的替代方法?

时间:2019-08-15 08:10:33

标签: python matplotlib

目前,我有一个稍微粗糙的python程序,我想对其进行修改以执行以下操作:

从单个文件(X,Y,C)中读取三列数据,然后将其绘制为2D X,Y散点图,其中C值表示色图值。每个X,Y点代表一个固定大小的正方形框的中心,该正方形框将根据C值进行着色。 X,Y坐标使得不会有任何重叠的框-尽管在没有坐标的地方会有间隙。每个输入文件的框的大小将是固定的(但可以随一个文件的不同而不同),并且该程序应根据C值在每个方形框中着色。例如,一个特定输入文件的所需绘图可能具有5,000个X,Y坐标,介于X的范围从1000到6000,Y的范围从2000到7000,所需的框大小是40,颜色范围从1到1700。

当前,该程序是基于使用标准标记为每个框着色的黑客程序,因此该标记实际上代表了框的大小。它可以正常工作,但需要选择正确的标记大小,还需要调整图的大小,以确保框(即标记)适合而不会出现间隙或重叠。此调整特定于每个输入文件-即X,Y范围和框的大小(基于点之间的最小距离)。因此,我正在考虑如何实现此目的的自动化,以便该程序可以读取任何文件(无论盒子大小)和每个盒子中的颜色,而无需大量用户输入(也许需要在某个地方输入盒子大小)-所以我猜不使用标准标记。

当前代码:

plt.figure(figsize=(10.0, 10.5)) 
plt.rcParams['axes.facecolor'] = '#55AAFF' # background color 
plt.scatter(X, Y, c=colrsabove, s=marker_size, marker='s', alpha=0.8, cmap='YlOrRd')

0 个答案:

没有答案