![](/img/trans.png)
[英]How to plot separate bar in bar graph for repeated values using Matplotlib?
[英]How to plot top n highest values in a bar graph using matplotlib?
我有三个值的实时数据:id、name、salary。 我正在使用姓名和薪水为其绘制图表。
def graph():
con = None
try:
con = connect("project.db")
cursor = con.cursor()
sql = "select name, salary from employee"
cursor.execute(sql)
data = cursor.fetchall()
name = []
salary = []
for i in data:
name.append(i[0])
salary.append(i[1])
plt.bar(name, salary)
plt.xlabel("Names of Employee")
plt.ylabel("Salary of Employee")
plt.title("Top 5 Highest Salaried Employee")
plt.show()
except Exception as e:
showerror("issue ", e)
con.rollback()
finally:
if con is not None:
con.close()
但我的问题是:我得到了所有员工的条形图。 我只想为收入最高的 5 名员工绘图。 有没有办法做到这一点?
您可以按薪水升序对 SQL 查询中的结果进行排序,然后只取前五个结果。
尝试'''SELECT name, salary FROM employee ORDER BY salary DESC LIMIT 5'''
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.