可以使用多个查询来生成饼图。在下面的示例中,我们使用SQLAlchemy连接到数据库,并使用多个查询获取数据。然后,我们使用Matplotlib创建一个饼图,该图具有不同的扇区,每个扇区表示一个查询结果。
import sqlalchemy
import matplotlib.pyplot as plt
# 创建数据库连接
engine = sqlalchemy.create_engine('mysql+mysqlconnector://:@:/')
# 获取不同的查询结果
query1 = "SELECT COUNT(*) FROM users WHERE gender='male'"
query2 = "SELECT COUNT(*) FROM users WHERE gender='female'"
query3 = "SELECT COUNT(*) FROM users WHERE age>=18 AND age<=30"
query4 = "SELECT COUNT(*) FROM users WHERE age>=31 AND age<=40"
query5 = "SELECT COUNT(*) FROM users WHERE age>=41"
result1 = engine.execute(query1).fetchone()[0]
result2 = engine.execute(query2).fetchone()[0]
result3 = engine.execute(query3).fetchone()[0]
result4 = engine.execute(query4).fetchone()[0]
result5 = engine.execute(query5).fetchone()[0]
labels = ['Male', 'Female', '18-30', '31-40', '>40']
sizes = [result1, result2, result3, result4, result5]
colors = ['lightcoral', 'lightskyblue', 'yellowgreen', 'gold', 'pink']
# 绘制饼图
plt.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%', startangle=140)
plt.axis('equal')
plt.show()
在上面的示例中,我们使用了五个不同的查询来获取数据。每个查询都返回一个标量值,表示查询结果的计数。然后,我们将这些计数添加到一个列表中,并使用Matplotlib创建一个饼图。饼图中的每个扇区都表示一个查询结果。我们使用不同的颜色来区分这些扇区,并为每个扇区添加标签和百