python 数据可视化大屏制作
发布时间
阅读量:
阅读量
数据链接:https://pan.baidu.com/s/1waFRKxAvt42kRN9kAfFs4w
提取码:1234
淘宝销售数据地理图
from pyecharts import options as opts
from pyecharts.globals import ThemeType #导入主题库
from pyecharts.globals import SymbolType #主题库
from pyecharts.charts import Pie,Bar,Map,WordCloud,Page #玫瑰图,柱状图,地图,词云,组合图
import pandas as pd
代码解读
df_taobao = pd.read_excel("D:/可视化项目/数据可视化演示/taobao_goods.xlsx") #读取数据
df_taobao
代码解读

#删除重复值
df_taobao.drop_duplicates(inplace=True)
代码解读
#提取省份
ld_list = []
for ld in df_taobao["location"]:
ld_list.append(ld.split(" ")[0]) #使用分割提取
#原数据表中替换省份
df_taobao["location"] = ld_list
df_taobao
代码解读

#销售数据格式转换
sales_list = []
for sale in df_taobao["sales"]:
sale = sale[:-3].replace("+","") #去掉“人付款”三字
if "万" in sale:
sale = int(float(sale[:-1])*10000) #将万转换为元
print(sale)
sales_list.append(sale)
df_taobao["sales"] = sales_list
代码解读

locations = [location for location in df_taobao["location"].value_counts().items()] #提取省份和数量使用items组成元组
locations
代码解读

#地图
map = (
Map()
.add("店铺数量",[list(location) for location in locations],"china") #显示店铺数量,使用china地图
.set_global_opts(
title_opts = opts.TitleOpts(title = "地址分布图"), #设置标题
visualmap_opts = opts.VisualMapOpts(max_ = 3000), #设置阈值
)
)
map.render() #保存为html
map.render_notebook() #在notebook中显示图像
代码解读

用户评论数据词云
#用户评论词云
from wordcloud import WordCloud
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
import jieba
df_commments = pd.read_excel("D:/可视化项目/数据可视化演示/goods_comments.xlsx")
df_commments
代码解读

text = "".join(jieba.lcut(str([i for i in df_commments["comment"]]))) #将所有评论组合成一个text
代码解读
mask =np.array( Image.open("D:/可视化项目/数据可视化演示/bra.jpg")) #词云背景图片
wc = WordCloud(mask=mask,font_path='C:/Windows/Fonts/simsun.ttc',mode="RGBA").generate(text) #设置格式
plt.imshow(wc,interpolation="bilinear") #显示词云
wc.to_file("词.png") #保存
代码解读

动态柱形图
from pyecharts.faker import Faker #假数据库
bar = (
Bar()
.add_xaxis(Faker.days_attrs)
.add_yaxis("商家A",Faker.days_values)
.add_yaxis("商家B",Faker.days_values)
.add_yaxis("商家C",Faker.days_values)
.set_global_opts(
title_opts=opts.TitleOpts(title = "柱状图"),
datazoom_opts = [opts.DataZoomOpts()] #设置动态图
)
)
bar.render_notebook()
代码解读

玫瑰图
from pyecharts import options as opts
from pyecharts.charts import Pie
from pyecharts.faker import Faker
v = Faker.choose()
pie =(
Pie()
.add(
"",
[list(z) for z in zip(v,list(range(10,1000,10)))],
radius = ["30%","75%"], #图像中心园的大小
# center=["75%","50%"], 显示在图像的区域
rosetype = "radius",
label_opts=opts.LabelOpts(is_show=False),
)
.set_global_opts(title_opts=opts.TitleOpts(title="玫瑰实列"))
)
pie.render_notebook()
代码解读

水球图
from pyecharts import options as opts
from pyecharts.charts import Liquid
liquid = (
Liquid()
.add("lq",[0.45,0.45])
#第一个值显示数值,第二个是水位高度
.set_global_opts(title_opts = opts.TitleOpts(title = "湿度"))
)
liquid.render_notebook()
代码解读

page = Page(layout=Page.DraggablePageLayout)
page.add(
bar,
liquid,
pie,
map,
) #将写的单个图片全导入
page.render_notebook()
page.render() #保存组合图
Page.save_resize_html("render.html",cfg_file="chart_config (1).json") #保存组合图为json格式
代码解读
注:在完成图片的位置调整后需进行保存操作,请确保在保存网页时点击save_config按钮,并注意此时路径中会生成chart_config (1).json文件

全部评论 (0)
还没有任何评论哟~
