Plot 在倍频程中节省复杂绘图的麻烦

Plot 在倍频程中节省复杂绘图的麻烦,plot,octave,Plot,Octave,我在Windows7系统上运行Octave 3.6.4 我很难将绘图保存为.png文件。有些复杂的绘图(几个子绘图、大量图例、160万个数据点)只能使用非常大的图像大小保存,甚至有时也只能使用 具体示例(标题和轴标签省略): 生成包含数百万个数据点的漂亮绘图。但使用: print -dpng figure11 创建仅包含绘图一小部分的图像。有时,使用这样一个非常大的图像会有所帮助: print -dpng "-S3400,2400" figure11 但大部分八度音阶只是暂停,然后在CTRL

我在Windows7系统上运行Octave 3.6.4

我很难将绘图保存为.png文件。有些复杂的绘图(几个子绘图、大量图例、160万个数据点)只能使用非常大的图像大小保存,甚至有时也只能使用

具体示例(标题和轴标签省略):

生成包含数百万个数据点的漂亮绘图。但使用:

print -dpng figure11
创建仅包含绘图一小部分的图像。有时,使用这样一个非常大的图像会有所帮助:

print -dpng "-S3400,2400" figure11
但大部分八度音阶只是暂停,然后在CTRL+C后崩溃

我尝试过但没有成功:

  • 使用倍频程3.8.x
  • 使用gnuplot而不是“fltk”:graphics_toolkit(“gnuplot”)
  • 保存前关闭除一个绘图外的所有绘图
  • 最大化绘图窗口
  • 到处寻找解决办法
一些次要但可能相关的问题是:丹麦字符不会出现;性能极低,显示和/或保存绘图需要几分钟


如有任何建议,将不胜感激

我认为您试图以错误的方式解决问题。你有太多的数据点和一个正常的散点图,就像你正在尝试做的,不会给你一个好的显示数据的分布。相反,使用某种密度图。比较一下这两个:

x = vertcat (randn (2000000, 1)*3, randn (1000000, 1) +5);
y = vertcat (randn (2000000, 1)*3, randn (1000000, 1) +5);
plot (x, y, ".")

您可以使用现有的颜色映射(请参见
颜色映射列表
)或创建自己的颜色映射。最常见的是jet(不是因为它好,而是因为它是默认的)


非常感谢,@Carandraugh,这是一个非常有用的想法。然而,我应该指出,详细但不太密集的情节也容易引起麻烦@拉塞霍特马德森绘制所有这些点是一项繁重的工作,因为有很多点,即使它们大部分会重叠。我以前花了很多时间试着这么做,直到我发现我把问题看错了。再次感谢,@carandraug。需要明确的是:我对一个只有1700个数据点的绘图也有同样的问题
x = vertcat (randn (2000000, 1)*3, randn (1000000, 1) +5);
y = vertcat (randn (2000000, 1)*3, randn (1000000, 1) +5);
plot (x, y, ".")
pkg load statistics;
data = hist3 ([x y], [100 100]);
imagesc (data)
axis xy
colormap (hot (124)(end:-1:1,:)) # invert colormap since hot ends in white
colormap (jet (124))