保存剧情注释

昨天,在为“从每个列表中最佳选取一个元素”添加一些时间图的同时,我还记得我几年前做过的一个数学集群发布(“在重新生成一个图表后保留剧情注释”)。

当我认为某些轴标签会很好时,我很高兴地注释了我的情节(手动)。 问题是,重新绘制轴标签的情节会破坏您的手动注释。

看起来你可以在一个名为pic的图中找到用户添加: Rest[pic[[1, 1]]] ,所以如果你重新生成了图2的图,你可以使用以下命令返回注释:

Insert[pic2, Rest[pic[[1, 1]]], {1, 1}]

我记得David Park(演示文稿包的作者)强烈反对手动注释。 我自己做了一些程序化的标签,但有时在程序控制下放置标签太难了,就像这里一样(请注意,我不太喜欢PlotLegends ,特别是因为某些颜色彼此接近):

顶级的回答者

现在已经太迟了,我已经扔掉了剧情原创,但我不知道这个问题目前的状况是什么。

  • 有没有更好的方法来做到这一点?
  • 这种方法有多普遍? 它是否适用于所有情节和图表类型?
  • 它是否适用于所有版本? (5.2以上)
  • 世界资源学会计划如何改进处理用户添加的情节?
  • 顺便说一句,我的数学小组发布的窍门与上面显示的不同,并在前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]]]总是能够正常工作,特别是在将来的版本中。

    链接地址: http://www.djcxy.com/p/35553.html

    上一篇: Saving plot annotations

    下一篇: Mathematica presentation mode