pyecharts做的柱形图,怎么按照数量大小排列?列表是通过查询MYSQL新建的

weixin_42414682 2018-07-25 12:53:22

自己慢慢摸索学习python,好多不懂只能多问了。算是个小兴趣吧。麻烦大神看下
import pymysql
from pyecharts import Map, Bar, Page
# 连接数据库(用户ip/数据库用户名/登录密码/数据库名
db = pymysql.connect('localhost', 'root', 'fhj870613', 'python_study')
cursor = db.cursor()
print(cursor)
# 使用execute()方法执行MySQL语句 SQL模糊查询省市字段
province = ["安徽", "北京", "福建", "甘肃", "广东", "广西", "贵州", "海南", "河北",
"河南", "黑龙江", "湖北", "湖南", "吉林", "江苏", "江西", "辽宁", "内蒙古",
"宁夏", "山东", "山西", "陕西", "上海", "四川", "台湾", "西藏", "新疆", "香港",
"青海", "天津", "云南", "浙江", "重庆"]
value = []
for i in province:
cursor.execute("SELECT `order_details_201701-201805`.`省` \
FROM `order_details_201701-201805` \
WHERE `order_details_201701-201805`.`省` LIKE %s", i+'%')
# 获取所有记录列表
result = cursor.fetchall()
# 查询到的地址计算发货多少次
a = len(result)
value.append(a)
print(province)
print(value)
page = Page()
分布地图 = Map("电商销量统计", title_pos='center', width=1600, height=800)
分布地图.add("", province, value, maptype='china', visual_range=[0, 5000],
is_label_show=True, is_visualmap=True, visual_text_color='#000')
分布地图.show_config()
bar = Bar('电商发货分布统计', title_pos='center', width=1000, height=500)
bar.add('', province, value)
page.add(分布地图)=
page.add(bar)
page.render('电商.html')
...全文
2406 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ghostgoodbye 2018-07-26
  • 打赏
  • 举报
回复
建议先排序,再传入bar
陈年椰子 2018-07-26
  • 打赏
  • 举报
回复
我建议是取数据时直接取出,并且排序。 把排序工作交给数据库。
陈年椰子 2018-07-26
  • 打赏
  • 举报
回复


data = zip(province,value)
data.sort(key= lambda x:(x[1]),reverse=True)
province1 = [x[0] for x in data]
value1 = [x[0] for x in data]

#用排序的列表画图
bar.add('', province1, value1)

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧