如何注解数据范围?例如,假设从x = 5
到x = 10
的数据大于某个临界值,我如何在图表上指出这一点。如果我是手动注解,我只会在范围上方画一个大括号,然后在括号上方写上注解。
我见过的最接近的例子是使用arrowstyle='<->'
和connectionstyle='bar'
,用一条线连接两个箭头指向数据的边缘。您为注解输入的文本将在其中一个箭头的 * 下方 * 结束,而不是在该条的上方结束。
以下是我的尝试沿着结果:
annotate(' ', xy=(1,.5), xycoords='data',
xytext=(190, .5), textcoords='data',
arrowprops=dict(arrowstyle="<->",
connectionstyle="bar",
ec="k",
shrinkA=5, shrinkB=5,
)
)
我尝试的解决方案的另一个问题是,方括号的形状并没有真正清楚地表明我正在突出显示一个范围(不像花括号),但我想这只是在这一点上吹毛求疵。
5条答案
按热度按时间ekqde3dh1#
如this answer中所述,您可以使用S形函数来构造花括号。下面是一个在x轴上方添加花括号的函数。只要图形的宽度和高度不变,它生成的花括号看起来应该是相同的,而不管轴的限制如何。
输出量:
kiayqfof2#
我修改了Joooeey's answer以允许更改大括号的垂直位置:
第一个
输出量:
另请注意,在Joooeey's answer中,行
应该是
否则,脚本尝试在此处用作索引的数字是浮点数。
最后,请注意,现在如果将大括号移出边界,它将不会显示出来。
oalqel3c3#
您可以将其全部封装在一个函数中:
可替换地,
tp5buhyn4#
这里是对guzey和jooeey's答案的一个小修改,以绘制轴外的花括号。
Sample output
bwleehnv5#
对@ Jooooeey和@guezy的draw_brace进行了小修改,以便也将大括号颠倒
+参数颠倒