58同城一线城市买房信息数据可视化
Published in:2020-10-13 |

使用pyecarts进行数据可视化

官方网站 https://gallery.pyecharts.org/#/

58同城一线城市买房信息数据可视化

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# _*_coding:UTF-8 _*_
import MySQLdb
from pyecharts import options
from pyecharts.charts import Bar, Pie, Page
from pyecharts.globals import ThemeType

city_list = ['北京', '天津', '上海', '南京', '大连', '成都', '无锡', '昆明', '杭州', '武汉', '西安', '重庆', '长沙']


def select_average_price():
average_list = []
conn = MySQLdb.connect(host='localhost', user='root', password='123456', port=3306, db='spider', charset='utf8')
cursor = conn.cursor()
for city in city_list:
sql = 'select every_price from 58tc_xinfang where city="{}"'.format(city)
cursor.execute(sql)
price_list = cursor.fetchall()
sum_price = 0
number = len(price_list)
for price in price_list:
sum_price += int(price[0].replace('元/㎡', ''))
average = sum_price / number
average_list.append(format(average, '.2f'))
return average_list


price_list = select_average_price()
print(price_list)
# 柱状图
bar_obj = (
Bar(init_opts=options.InitOpts(theme=ThemeType.MACARONS)) \
.add_xaxis((city_list)) \
.add_yaxis("", price_list) \
.set_global_opts(title_opts=options.TitleOpts("买房平均价格元/㎡", subtitle='仅供参考'),
toolbox_opts=options.ToolboxOpts(), # 工具栏选项
brush_opts=options.BrushOpts() # 工具刷对象
)
)

# 饼状图
b_list = [list(i) for i in zip(city_list, price_list)]
pie_ogj = (
Pie()
.add("", b_list)
.set_series_opts(label_opts=options.LabelOpts(formatter="{b}: {c}"))
)
# page对象用于整合地图
p = Page(layout=Page.SimplePageLayout)
p.add(pie_ogj, bar_obj)
p.render("一线城市买房信息整合.html")
Prev:
让别人连接自己的mysql
Next:
58同城一线城市房源信息