保存剧情注释
昨天,在为“从每个列表中最佳选取一个元素”添加一些时间图的同时,我还记得我几年前做过的一个数学集群发布(“在重新生成一个图表后保留剧情注释”)。
当我认为某些轴标签会很好时,我很高兴地注释了我的情节(手动)。 问题是,重新绘制轴标签的情节会破坏您的手动注释。
看起来你可以在一个名为pic的图中找到用户添加: Rest[pic[[1, 1]]]
,所以如果你重新生成了图2的图,你可以使用以下命令返回注释:
Insert[pic2, Rest[pic[[1, 1]]], {1, 1}]
我记得David Park(演示文稿包的作者)强烈反对手动注释。 我自己做了一些程序化的标签,但有时在程序控制下放置标签太难了,就像这里一样(请注意,我不太喜欢PlotLegends
,特别是因为某些颜色彼此接近):
现在已经太迟了,我已经扔掉了剧情原创,但我不知道这个问题目前的状况是什么。
顺便说一句,我的数学小组发布的窍门与上面显示的不同,并在前10名情节中使用。 虽然原理是一样的。
编辑
我把代码放在Mathematica工具包中的SO数据图上。
编辑
代码现在移到Brett Champion更合适的问题:如何从Mathematica访问StackOverflow API
一种方法,虽然有点丑,但似乎适用于较小的情节注释,如下所示。
通过Drawings tools
添加注释后,附加信息将与图形一起存储,并可通过选择图形括号和使用Show Expression
(Mac上的Shift-Command-E)进行检查。 附加信息通常可以通过剪切粘贴或使用Cases
来挑选,然后可以使用Epilog
将其添加到新的修改后的图中。
例如
Plot[Sin[x], {x, 0, 6 [Pi]}]
添加一些注释给出以下内容:
将名称plotgraphic
分配给上述图像,可以如下生成带有添加注释的新修改的绘图(例如)
Labeled[Plot[Sin[x], {x, 0, 8 [Pi]},
Epilog -> Rest[Cases[plotgraphic, _List][[1]]]], "Sine Plot"]
给
这至少可以说是尴尬的,毫无疑问这种方法可以改进。 这也可能是其他人已经做的事情。 然而,它给出了一个情节,注释是以“编程方式”呈现的,并且由于没有人提及Epilog
,我决定可能值得发布。
就我个人而言,我同意David Park的注释的程序添加是优越的。 它也可能更强大,并可用于未来版本的Mathematica。 我真的很希望看到绘图工具调色板有所改进,我希望看到更多手工添加的多个注解更清晰地显示在生成的Graphics
对象中。 如果有像AddedAnnotation
这样的惰性Head
,那么您可以通过编程方式找到所有这些编辑
Cases[editedPic, _AddedAnnotation, Infinity]
实际上,我发现自己正在挖掘图像的InputForm
,并且我不确定您的Rest[pic[[1, 1]]]
总是能够正常工作,特别是在将来的版本中。