基于Python pyecharts实现多种图例代码解析
词云图
frompyecharts.chartsimportWordCloud defword1(): words=[ ("SamSClub",10000), ("Macys",6181), ("AmySchumer",4386), ("JurassicWorld",4055), ("CharterCommunications",2467), ("ChickFilA",2244), ("PlanetFitness",1868), ("PitchPerfect",1484), ("Express",1112), ("Home",865), ("JohnnyDepp",847), ("LenaDunham",582), ("LewisHamilton",555), ("KXAN",550), ("MaryEllenMark",462), ("FarrahAbraham",366), ("RitaOra",360), ("SerenaWilliams",282), ("NCAAbaseballtournament",273), ("PointBreak",265), ] worldcloud=( WordCloud() .add("",words,word_size_range=[20,100]) .set_global_opts(title_opts=opt.TitleOpts(title="WorldCloud-shape-diamond")) ) #worldcloud=( #WordCloud() #.add("",words,word_size_range=[20,100],shape=SymbolType.DIAMOND) #.set_global_opts(title_opts=opt.TitleOpts(title="WorldCloud-shape-diamond")) #) worldcloud.render("wordl.html") os.system("wordl.html")
效果如下:
散点图
frompyecharts.chartsimportScatter importnumpyasnp defsca(): x_data=np.linspace(0,10,30) y1_data=np.sin(x_data) y2_data=np.cos(x_data) #绘制散点图 #设置图表大小 figsise=opt.InitOpts(width="800px",height="600px") scatter=Scatter(init_opts=figsise) #添加数据 scatter.add_xaxis(xaxis_data=x_data) scatter.add_yaxis(series_name="sin(x)散点图",#名称 y_axis=y1_data,#数据 label_opts=opt.LabelOpts(is_show=False),#数据不显示 symbol_size=15,#设置散点的大小 symbol="triangle"#设置散点的形状 ) scatter.add_yaxis(series_name="cos(x)散点图",y_axis=y2_data,label_opts=opt.LabelOpts(is_show=False)) scatter.render() os.system("render.html")
效果如下:
饼状图
frompyecharts.chartsimportPie frompyechartsimportoptionsasoptfrompyecharts.fakerimportFakerasfa defpie1(): pie=( Pie() .add("",[list(z)forzinzip(fa.choose(),fa.values())]) .set_global_opts(title_opts=opt.TitleOpts(title="pie-基本示例")) .set_series_opts(label_opts=opt.LabelOpts(formatter="{b}:{c}")) ) pie.render() os.system("render.html") defpie2(): pie=( Pie() .add("",[list(z)forzinzip(fa.choose(),fa.values())],radius=["40%","75%"]) .set_global_opts(title_opts=opt.TitleOpts(title="pie-示例"), legend_opts=opt.LegendOpts( orient="vertical",pos_top="15%",pos_left="2%" )) .set_series_opts(label_opts=opt.LabelOpts(formatter="{b}:{c}")) ) pie.render() os.system("render.html") defpie3(): pie=( Pie() .add("",[list(z)forzinzip(fa.choose(),fa.values())], radius=["40%","75%"], center=["25%","50%"], rosetype="radius", label_opts=opt.LabelOpts(is_show=False)) .add("",[list(z)forzinzip(fa.choose(),fa.values())], radius=["30%","75%"], center=["75%","50%"], rosetype="area") .set_global_opts(title_opts=opt.TitleOpts(title="pie-玫瑰图示例")) ) pie.render() os.system("render.html") defpie4(): #多饼图显示 pie=( Pie() .add( "", [list(z)forzinzip(["剧情","其他"],[25,75])], center=["20%","30%"], radius=[40,60] ) .add( "", [list(z)forzinzip(["奇幻","其他"],[24,76])], center=["55%",'30%'], radius=[40,60] ) .add( "", [list(z)forzinzip(["爱情","其他"],[14,86])], center=["20%","70%"], radius=[40,60] ) .add( "", [list(z)forzinzip(["惊骇","其他"],[1,89])], center=["55%","70%"], radius=[40,60] ) .set_global_opts( title_opts=opt.TitleOpts(title="pie-多饼图基本示例"), legend_opts=opt.LegendOpts( type_="scroll",pos_top="20%",pos_left="80%",orient="vertical" ) ) .set_series_opts(label_opts=opt.LabelOpts(formatter="{b}:{c}")) ) pie.render() os.system("render.html")
直方图
frompyecharts.chartsimportBar frompyechartsimportoptionsasopt frompyecharts.globalsimportThemeType frompyecharts.fakerimportFakerasfa importrandom defpye1(): #生成随机数据 attr=fa.days_attrs v1=[random.randrange(10,150)for_inrange(31)] v2=[random.randrange(10,150)for_inrange(31)] #初始化一个Bar对象,并设定一写初始化设置 bar=Bar(init_opts=opt.InitOpts(theme=ThemeType.WHITE)) #添加数据 bar.add_xaxis(attr) #is_selected:打开图表时是否默认加载grap:不同系列的柱间距离,百分比;color:指定柱状图Label的颜色 bar.add_yaxis("test1",v1,gap="0",category_gap="20%",color=fa.rand_color()) bar.add_yaxis("test2",v2,is_selected=False,gap="0%",category_gap="20%",color=fa.rand_color()) #全局配置 #title_opts:图标标题相关设置 #toolbox_opts:工具栏相关设置 #yaxis_opts/xaxis_opts:坐标轴相关设置 #axislabel_opts:坐标轴签字相关设置 #axisline_opts:坐标轴轴线相关设置 #datazoom_opts:坐标轴轴线相关设置 #markpoint_opts:标记点相关设置 #markpoint_opts:label_opts=opts.LabelOpts(is_show=False)标签值是否叠加 #markline_opts:标记线相关设置 bar.set_global_opts(title_opts=opt.TitleOpts(title="主标题",subtitle="副标题"), toolbox_opts=opt.ToolboxOpts(), yaxis_opts=opt.AxisOpts(axislabel_opts=opt.LabelOpts(formatter="{value}/月"),name="这是y轴"), xaxis_opts=opt.AxisOpts( axisline_opts=opt.AxisLineOpts(linestyle_opts=opt.LineStyleOpts(color='blue')),name="这是x轴"), datazoom_opts=opt.DataZoomOpts() ) bar.set_series_opts(markpoint_opts=opt.MarkPointOpts(data=[opt.MarkPointItem(type_="max",name="最大值"), opt.MarkPointItem(type_="min",name="最小值"), opt.MarkPointItem(type_="average",name="平均值")]), markline_opts=opt.MarkLineOpts(data=[opt.MarkLineItem(type_="min",name="最小值"), opt.MarkLineItem(type_="max",name="最大值"), opt.MarkLineItem(type_="average",name="平均值")])) #指定生成html文件路径 bar.render('test.html') os.system("test.html")
效果如下
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。