2024-06-30 16:52:07 发布
网友
我想创建一个图,显示一堆不同的时间间隔,它们都是半开的。绘制范围本身是很容易的,但是我希望能够做的是指定一种线样式,该样式自动打印括号和圆括号,以表示间隔是半开的,而不需要手动分别打印它们或放置文本。在
目前使用的是Matplotlib,但是如果能让问题更简单的话,我愿意使用其他库。在
我不确定是否有这样的函数,但您可以创建一个函数,例如:
import matplotlib as mpl import matplotlib.pyplot as plt def add_interval(ax, xdata, ydata, caps=" "): line = ax.add_line(mpl.lines.Line2D(xdata, ydata)) anno_args = { 'ha': 'center', 'va': 'center', 'size': 24, 'color': line.get_color() } a0 = ax.annotate(caps[0], xy=(xdata[0], ydata[0]), **anno_args) a1 = ax.annotate(caps[1], xy=(xdata[1], ydata[1]), **anno_args) return (line,(a0,a1)) fig, ax = plt.subplots() add_interval(ax, (3,7), (3,3), "()") add_interval(ax, (2,6), (2,2), "[]") add_interval(ax, (1,5), (1,1), "(]") plt.xlim((0,8)) plt.ylim((0,4)) plt.show()
产生:
我不确定是否有这样的函数,但您可以创建一个函数,例如:
产生:![enter image description here](https://i.stack.imgur.com/l8g1A.png)
相关问题 更多 >
编程相关推荐