数据可视化(二)数据可视化(二)–使用使用Pyechart生成可动态交互的图表生成可动态交互的图表
前面一张文章介绍了使用Python自带的matplotlib生成的图表,当数据图例标签太多而产生重叠,非常影响美观。
如何解决图例标签堆叠在一起呢?解决办法:使用pyecharts模块
pyecharts介绍介绍
pyecharts
来自于
echarts
,
echarts
是百度的
JavaScript
可视化化开源库,集成了包括饼图、柱状图、地理位置图、热力图等多
种图表格式。使用起来非常方便。官网地址如下
echarts–https://echarts.apache.org/zh/index.html
Pyecharts–http://pyecharts.herokuapp.com/
以下教程数据格式:pandas里面的dataframe,使用pyecharts画出漂亮的各种图表。
饼图饼图Pie
from pyecharts import *
def DrawPicture(title,x,y,fig_path):
pie = Pie(title, title_pos='center')
pie.add(
"",
x,
y,
radius=[40, 75],
is_label_show=True,
is_more_utils=True,
legend_orient="vertical",
legend_pos="left",
)
pie.render(path=fig_path)
return
直方图直方图Hist
from pyecharts import Bar
"""x代表横坐标图,输入一个横坐标列表,y1,y2代表两类的值"""
def DrawHist(name,x,y1,y2,file_path):
bar = Bar(name, "直方图",title_pos='center')
bar.add('类别1',x,y1,is_stack=True)
bar.add('类别2',x,y2,is_stack=True)
bar.render(file_path)
return
堆叠图堆叠图Bar
堆叠图的显示方法,bar.add方法设置参数is_stack=True,在将每行的堆叠图使用bar.add传入。代码如下所示
"""Bar:画柱状推叠图"""
# 堆叠柱状图
x_attr = ["1月", "2月", "3月"] data1 = [69, 3, 0.53] data2 = [10, 38, 0.28] data3 = [1,48, 69.3] data4 = [20,11,31] bar1 = Bar('堆叠图')
bar1.add('类别1', x_attr, data1, is_stack=True) # is_stack=True 表示堆叠在一起
bar1.add('类别2', x_attr, data2, is_stack=True)
bar1.add('类别3', x_attr, data3, is_stack=True)
bar1.add('类别4', x_attr, data4, is_stack=True)
bar1.render('bar1_demo.png')
地理图表地理图表Geo
热力图热力图 Heat
#传入的data是list
import datetime
from pyecharts import HeatMap
"""热力图统计,df是一个带有时间信息的dataframe,根据时间信息进行聚合,再画热力图 """
datehit = df.groupby("pt_day").id.count()
data_hit_df = pd.DataFrame(data=datehit)
data_hit_df["pt_day"]=data_hit_df.index
data_hit_df1=data_hit_df[["pt_day","id"]] min_time = data_hit_df1["id"].min()
max_time = data_hit_df1["id"].max()
data_list=data_hit_df1.values.tolist() #pyecharts接受list参数,转化为List
def DrawCalHeat(data,min_time,max_time,fig_path):
begin = datetime.date(2019,07,01)#设置开始时间
end = datetime.date(2019,9,30)#设置结束时间
hm = HeatMap("热力图", width=1000,title_pos="center")
hm.add("",data,
is_calendar_heatmap=True, #启用日历热力图
评论0
最新资源