【发布时间】:2015-01-13 01:44:38
【问题描述】:
我正在使用来自
的 mathplotlib 生成水平条形图
所以:How to plot multiple horizontal bars in one chart with matplotlib。问题是当我有超过 2 个水平条时,这些条会重叠。不确定,我做错了什么。
下面是图形代码
import pandas
import matplotlib.pyplot as plt
import numpy as np
df = pandas.DataFrame(dict(graph=['q1','q2','q3' , 'q4','q5',' q6'],
n=[3, 5, 2,3 ,5 , 2], m=[6, 1, 3, 6 , 1 , 3]))
ind = np.arange(len(df))
width = 0.4
opacity = 0.4
fig, ax = plt.subplots()
ax.barh(ind, df.n, width, alpha=opacity, color='r', label='Existing')
ax.barh(ind + width, df.m, width, alpha=opacity,color='b', label='Community')
ax.barh(ind + 2* width, df.m, width, alpha=opacity,color='g', label='Robust')
ax.set(yticks=ind + width , yticklabels=df.graph, ylim=[2*width - 1, len(df)])
ax.legend()
#plt.xlabel('Queries')
plt.xlabel('Precesion')
plt.title('Precesion for these queries')
plt.show()
目前,图表如下所示
【问题讨论】:
标签: python graph matplotlib