pyecharts在手,天下我有(常用图表篇下)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/d345389812/article/details/82659582

在上一篇《pyecharts在手,天下我有(常用图表篇上)》中,已经介绍了常用图表中的条形图,折线图,面积图,散点图以及饼图,大家都学会了吗?

今天我们继续介绍其他常用的图表,如瀑布图,漏斗图,散点图,雷达图,桑基图以及并行、叠加图等等。

实例演示1(瀑布图Bar):

瀑布图其实就是堆积条形图,只是将其中一组颜色填充为透明label_color=['rgba(0,0,0,0)']

from pyecharts import Bar,configure
configure(output_image=True)
bar =Bar('瀑布图',background_color = 'white',title_text_size = 20,title_pos = 'center')
attr = ['惠州','东莞','广州','深圳','佛山','江门','珠海']
v1 = [12,22,34,29,16,14,18]
v2 = [19,14,8,10.5,17,18,16]
bar.add( '',attr,v2,is_stack = True,label_color = ['rgba(0,0,0,0)'])
bar.add('',attr,v1,is_label_show = True, is_stack = True, label_pos = 'inside')
bar.render(path = 'D:\\瀑布图.jpeg')

上述例子中v2列表的值是怎么来的呢?小文一开始限制了Y轴最大值为50,那么v2的值就是(50-v1)/2,然后将v2的条形图颜色设置为透明,这样子瀑布图就出来了,大家get到了吗?

实例演示2(漏斗图Funnel):

from pyecharts import Funnel,configure
configure(output_image=True)
funnel =Funnel('漏斗图',background_color = 'white',title_text_size = 20,title_pos = 'center')
attr = ['惠州','东莞','广州','深圳','佛山','江门','珠海']
v1 = [12,22,34,29,16,14,18]
funnel.add( '',attr,v1,is_label_show=True,label_pos='inside',is_legend_show = False)
funnel.render(path = 'D:\\漏斗图.jpeg')

漏斗图默认的是降序,想要升序,画金字塔的话,只要设置funnel_sort='ascending'就ok了。这里小文用的例子不太合理,漏斗图一般应用在用户生命周期分析或者转化率,目标达成率分析等等。

实例演示3(散点图Scatter):

is_visualmap实现颜色映射散点图:

from pyecharts import Scatter,configure
configure(output_image=True)
sc =Scatter('颜色映射散点图',background_color = 'white',title_text_size = 20,title_pos = 'center')
v1 = [22,52,84,29,76,64,38]
v2 = [19,14,8,10.5,17,18,16]
sc.add('',v2,v1,is_visualmap = True,xaxis_min = 6,symbol_size = 30,visual_orient='horizontal')
sc.render(path = 'D:\\颜色映射散点图.jpeg')

设置visual_type参数实现气泡图:

sc.add('',v2,v1,is_visualmap = True,visual_type = 'size',visual_range_size=[20, 50],xaxis_min = 6,visual_orient='horizontal')
sc.render(path = 'D:\\气泡图.jpeg')

实例演示4(仪表盘图Gauge):

from pyecharts import Gauge,configure
configure(output_image=True)
gauge = Gauge('',background_color = 'white')
gauge.add('','转化率',56,angle_range=[180, 0],scale_range=[0, 100],is_legend_show=False,)
gauge.render(path = 'D:\\仪表盘图.jpeg')

实例演示5(雷达图Radar):

from pyecharts import Radar,configure
attr = ['惠州','东莞','广州','深圳','佛山','江门','珠海']
v1 = [12,22,34,29,16,14,18]
schema = [ ('惠州', 50), ('东莞', 50), ('广州', 50),('深圳', 50), ('佛山',50), ('江门', 50)]
v1 = [[12,22,34,29,16,14],[19,14,8,10.5,17,18]]
radar = Radar('雷达图',title_pos = 'center',background_color = 'white')
radar.config(schema)
radar.add('', v1, is_splitline_show = True, is_axisline_show=True,is_area_show = True,area_opacity = 0.4)
radar.render(path = 'D:\\雷达图.jpeg')

实例演示6(桑基图Sankey):

桑基图在百度百科上的定义:它是一种特定类型的流程图,图中延伸的分支的宽度对应数据流量的大小,通常应用于能源、材料成分、金融等数据的可视化分析。而对于小文从事的行业来说,主要用于节假日人流分析,人口漫入漫出分析等等。

from pyecharts import Sankey,configure
configure(output_image=True)
nodes = [{'name': '惠州'}, {'name': '东莞'}, {'name': '广州'},{'name': '深圳'}, {'name': '佛山'}, {'name': '江门'}]
links = [{'source': '深圳', 'target': '东莞', 'value': 38},{'source': '深圳', 'target': '广州', 'value': 53},
         {'source': '深圳', 'target': '惠州', 'value': 15},{'source': '深圳', 'target': '佛山', 'value': 8},
         {'source': '深圳', 'target': '江门', 'value': 9}]
sankey = Sankey('桑基图',title_pos = 'center',background_color = 'white')
sankey.add('',nodes,links,line_opacity=0.2,line_curve=0.5, line_color='target',is_label_show=True,label_pos='right')
sankey.render(path = 'D:\\桑基图.jpeg')

实例演示7(并行图Grid):

并行图可通过设置grid_bottom,grid_top,grid_left,grid_right参数,实现图表的上下左右并行。

from pyecharts import Line,Bar, Grid
line =Line()
attr = ['惠州','东莞','广州','深圳','佛山','江门','珠海']
v1 = [23,45,68,58,32,28,36]
v2 = [12,22,34,29,16,14,18]
line.add('line1',attr,v1,is_fill = True,area_opacity=0.4,legend_pos ='center')
line.add('line2',attr,v2,is_fill = True,is_smooth=True,area_opacity=0.4,legend_pos ='center')

bar = Bar()
bar.add('bar1',attr,v1,is_stack = True,legend_top = '50%',legend_pos ='center')
bar.add('bar2',attr,v2,is_stack = True,legend_top = '50%',legend_pos ='center')

grid = Grid()
grid.add(line, grid_bottom="60%")
grid.add(bar, grid_top="60%")
grid.render(path = 'D:\\并行图.jpeg')

实例演示8(叠加图Overlap):

from pyecharts import Line,Bar, Overlap
line =Line(background_color = 'white')
attr = ['惠州','东莞','广州','深圳','佛山','江门','珠海']
v1 = [23,45,68,58,32,28,36]
v2 = [12,22,34,29,16,14,18]
line.add('line1',attr,v1)
line.add('line2',attr,v2,is_smooth=True)

bar = Bar(background_color = 'white')
bar.add('bar1',attr,v1,is_stack = True)
bar.add('bar2',attr,v2,is_stack = True)

overlap = Overlap()
overlap.add(line)
overlap.add(bar)
overlap.render(path = 'D:\\叠加图.jpeg')

更多内容请移步至A Python Echarts Plotting Library

以上所有内容均属原创,未经授权严禁转载!

猜你喜欢

转载自blog.csdn.net/d345389812/article/details/82659582
今日推荐