![](/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.