假设我有一个函数,它代表一辆行驶的汽车的路径:
import numpy as np
import matplotlib.pyplot as plt
# positions of the car
x = np.linspace(0, 20, 100)
y = np.sin(x)
fig, ax = plt.subplots(figsize=(12, 8))
ax.plot(x, y)
字符串
x1c 0d1x的数据
车停在特定的位置,我想在图表中用暂停符号来标记这些位置,你们中的一些人肯定很熟悉。符号只是两条垂直线。不幸的是,matplot没有这样的标记,但是,matplot带有垂直线作为标记。因此,作为B计划,我提出了以下实现:
# position where the car stops
x_stop = np.array([1, 5, 10])
y_stop = np.sin(x_stop)
# to create a stop symbol we shift the vertical line from matplot
shift = 0.1
ax.scatter(x_stop - shift, y_stop, marker='|', color='r', s=225, label='stop')
ax.scatter(x_stop + shift, y_stop, marker='|', color='r', s=225, label='stop')
plt.legend(loc='best')
型
的
问题是,这个传说显然没有意义。我想要的是图例中彼此相邻的两个标记,就像它们出现在汽车路径的图形中一样。有没有办法做到这一点?任何其他方法或解决我的问题是好的!
1条答案
按热度按时间8ehkhllq1#
在this answer之后,您可以使用LaTeX为matplotlib标记创建自定义符号。在这种情况下,很简单:美元符号包裹着LaTeX。正如@kklaw所指出的,散点图的
zorder
低于直线,因此需要调整zorder
以使它们位于前面。字符串
x1c 0d1x的数据