Python matplotlib.figure.add_subplot.vlines方向
我的问题涉及到路线的方向 在这张照片中,我在记号2-6上画了一条粗线。 我的目标是将这些条形图直接绘制到每个刻度的右侧 我需要这样做,因为当我用鼠标点击我的图形时,1和2之间的任何值都将等于1。2和3之间的任何值都将等于2 因此,当有人去点击勾号2上的条时,如果他们点击了条的左侧,这将等同于错误的勾号Python matplotlib.figure.add_subplot.vlines方向,python,matplotlib,Python,Matplotlib,我的问题涉及到路线的方向 在这张照片中,我在记号2-6上画了一条粗线。 我的目标是将这些条形图直接绘制到每个刻度的右侧 我需要这样做,因为当我用鼠标点击我的图形时,1和2之间的任何值都将等于1。2和3之间的任何值都将等于2 因此,当有人去点击勾号2上的条时,如果他们点击了条的左侧,这将等同于错误的勾号 我希望我的问题是清楚的,我感谢任何帮助。听起来你不想要直线,而是想要矩形 V线或任何线的厚度由其笔划权重控制,以点为单位。这与绘图中数据坐标中的位置不直接对应 例如,我们可以使用ax.bar创建在
我希望我的问题是清楚的,我感谢任何帮助。听起来你不想要直线,而是想要矩形 V线或任何线的厚度由其笔划权重控制,以点为单位。这与绘图中数据坐标中的位置不直接对应 例如,我们可以使用ax.bar创建在所需位置范围内的矩形:
import numpy as np
import matplotlib.pyplot as plt
# Data similar to yours
green = np.array([2.5, 1, 0.9, 0.7, 0.4])
red = green
blue = np.array([3.8, 2, 1.8, 1.5, 0.6])
x = np.arange(2, 7)
# Plot bars where the left edge will be at each x-value
fig, ax = plt.subplots()
ax.bar(x, green, width=1, color='green')
ax.bar(x, red, width=1, bottom=green, color='red')
ax.bar(x, blue, width=1, bottom=green+red, color='blue')
ax.set(xlim=[0.5, 7.5])
plt.show()
你不能用2+一个小的值而不是2.0来绘制你的线吗?如果棒材厚度总是相同的话,那就行了,但是它们是动态变化的。每次厚度改变时,我都要检查整个点列表。非常感谢您的编辑和回答,我会接受您的回答。我现在实际测试了它,并在我当前的项目中实现了它。虽然运行速度较慢,但效果很好,但这是另一个需要调试的问题。又是Thx。