对分叉图进行图像处理以获得较小的 eps 大小
我正在制作分岔图(通常用于非线性动力学)。这些图识别了由于稳定性变化而导致的拓扑突变。当一个或多个参数超过某个临界值时,就会发生这些突然的变化。示例如下:
http://en.wikipedia.org/wiki/File:LogisticMap_BifurcationDiagram .png
上图中,为了使剧情更加美观,进行了一些图像处理。分叉图通常包含数十万个点,生成的 eps 文件可能会变得非常大。此外,将点密集地绘制在一起只会产生很大的模糊,并且细节不会像上面链接中给出的图中那样精细。减小 Matlab 中的标记大小有助于使绘图更加美观。
以 LaTeX 格式提交期刊要求以 eps 格式提交图表。就我而言,这样的数字之一在 Matlab 中可能会产生大约 6 MB 的大小,在 Gnuplot 中甚至会更多。
对于上图中的示例,为每个 r 计算 100,000 个 x 值,可以想象生成的 eps 文件将非常巨大。然而,该网站解释了一些图像处理,使情节在视觉上更加令人愉悦。谁能向我解释一下如何进行?我无法理解“摘要”部分中提供的解释。
图像处理后的结果是否也会减小图形尺寸?
此外,有什么技巧可以减少如此巨大的 eps 图形的文件大小吗?
多谢...
I'm producing bifurcation diagrams (which are normally used in nonlinear dynamics). These diagrams identify abrupt changes in topologies due to stability changes. These abrupt changes occur as one or more parameters pass through some critical value(s). An example is here:
http://en.wikipedia.org/wiki/File:LogisticMap_BifurcationDiagram.png
On the above figure, some image processing has been done so as to make the plot more visually pleasant. A bifurcation diagram usually contains hundreds of thousands of points and the resulting eps file can become very big. Also plotting points densely close together will just create a big blur and details won't be fine as in the figure given in the above link. Reducing marker size in Matlab help a little though to make the plot more aesthetically looking.
Journal submission in the LaTeX format requires that figures are to be submitted in the eps format. In my case one of such figures can result in about 6 MB in Matlab and even much more in Gnuplot.
For the example in the above figure, 100,000 x values are calculated for each r and one can imagine that the resulting eps file would be huge. The site however explains some image processing that makes the plot more visually pleasing. Can anyone explain to me stepwise how go about? I can't understand the explanation provided in the "summary" section.
Will the resulting image processing also reduce the figure size?
Furthermore, any tips on reducing the file size of such a huge eps figure?
Thanks a lot...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您基本上可以使用抗锯齿功能。为此,请执行计算并生成一些所需范围内的 r 值(例如 8 个)和高密度 x 值的直方图(对于某些足够大的 n,每个 x 应该有 8n 个 bin)。然后,对该列的每个 8x8(如果您在列中使用 8 个 r 值)块进行平均,以获得单列像素,这将比传统绘图显得更平滑。转到下一组 r 值并重复。
You can essentially use antialiasing. To do this, perform the computation and generate the histograms for a few (say 8) values of r within some desired range and with a high density of x values (you should have 8n bins for each x, for some large enough n). You then average each 8x8 (if you are using 8 values of r for your column) block of that column to get a single column of pixels which will appear smoother than the traditional plot. Go to the next group of r values and repeat.