且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

每个条上方的Matplotlib绘制线

更新时间:2023-11-09 19:57:16

您需要向.hlines()提供x_startx_end.它们可以是numpy.array,在这种情况下,每个元素确定每个线段的起点/终点:

You need to provide the x_start and x_end to .hlines(). They can be numpy.arrays, in which case each element determines the start/end point of each line segment:

import matplotlib.pyplot as plt
plt.rcdefaults()
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline


# Example data
people = ('Tom', 'Dick', 'Harry', 'Slim', 'Jim')

#Here are the targets that I want to use 
#to plot horizontal lines above each bar...
targets = (6,6,8,6,9)

ind = np.arange(len(people))
performance = 3 + 10 * np.random.rand(len(people))
error = np.random.rand(len(people))

Bars = plt.bar(ind, performance, align='center')
_ = plt.xticks(ind, people)

#if you want your hlines to align with the bars.
#i.e. start and end at the same x coordinates:

x_start = np.array([plt.getp(item, 'x') for item in Bars])
x_end   = x_start+[plt.getp(item, 'width') for item in Bars]

plt.hlines(targets, x_start, x_end)