Dan*_*ty2 5 python lines matplotlib
我想在此图表中的每个条形上方绘制一条水平线。每个条形的 y 轴位置取决于变量“目标”。如果可能,我想使用 axhline 或 Line2D,因为我需要能够修改线条样式、颜色、长度和宽度。
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))
plt.bar(ind, performance, align='center')
plt.xticks(ind, people)
plt.show()
Run Code Online (Sandbox Code Playgroud)
提前致谢!
您需要提供x_start和x_end到.hlines()。它们可以是numpy.arrays,在这种情况下,每个元素确定每个线段的起点/终点:
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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1354 次 |
| 最近记录: |