我正在为Mathematica中的各种绘图/图表绘制创建一个应用程序。最终它将拥有一个GUI,但是第一步是正确编写代码,并且足够简单以使GUI可以管理。我很难设置图例以使其周围没有框架。
这是一个最小的示例(有关BarChart
的一些选项已经使用SetOptions
进行了自定义)。
mydata = {4.5644, 5.546, 6.8674, 2.7688, 1.742, 5.3952, 4.3392, 4.5016, \
3.7748, 1.838, 2.24, 0.693, 2.818, 4.9, 3.939, 3.459, 3.755, 4.475, \
3.857, 3.215, 2.206, 2.206, 2.117, 3.403, 3.277, 3.761, 4.276, 2.559, \
3.486, 4.778, 2.281, 2.865, 3.629, 4.916, 4.572, 5.244, 5.395, 2.865, \
-0.524, 5.01, 4.401, 4.513, 4.54}
BarChart[mydata,
ChartStyle -> {Join[
Table[RGBColor[0.5, 0.5, 0.95], {Length[mydata] - 3}], {Magenta,
Magenta, Magenta}]}, PlotRange -> {-2, 8},
ChartLegends -> {Join[
Table[None, {Length[mydata] - 3}], {Placed[
Style["Forecasts", FontFamily -> "Arial", FontSize -> 18],
Bottom]}]}, BarSpacing -> 0.4,
LegendAppearance -> Directive[Background -> Red,
Frame -> None, ImageSize -> 15]]
这就是我得到的:
尽我所能,我无法摆脱传奇周围的边界。您可以看到
LegendAppearance
什么也没做-我也尝试了其他一些方法。我不愿手工编写小矩形,因为在最终的GUI中很难做到这一点。
ChartLabels
也不起作用,因为该图已经在图形的实际版本中用于日期标签。有没有人有什么建议?
最佳答案
您可以通过以下方式临时全局取消帧:
SetOptions[Legending`GridLegend, Legending`LegendContainer -> Identity]
要恢复默认行为,请设置:
SetOptions[Legending`GridLegend, Legending`LegendContainer -> Automatic]
关于charts - 可以删除BarChart Legend上的边框吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7074209/