基于Python pyecharts实现多种图例代码解析


Posted in Python onAugust 10, 2020

词云图

from pyecharts.charts import WordCloud
def word1():
  words= [
    ("Sam S Club", 10000),
    ("Macys", 6181),
    ("Amy Schumer", 4386),
    ("Jurassic World", 4055),
    ("Charter Communications", 2467),
    ("Chick Fil A", 2244),
    ("Planet Fitness", 1868),
    ("Pitch Perfect", 1484),
    ("Express", 1112),
    ("Home", 865),
    ("Johnny Depp", 847),
    ("Lena Dunham", 582),
    ("Lewis Hamilton", 555),
    ("KXAN", 550),
    ("Mary Ellen Mark", 462),
    ("Farrah Abraham", 366),
    ("Rita Ora", 360),
    ("Serena Williams", 282),
    ("NCAA baseball tournament", 273),
    ("Point Break", 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")

效果如下:

基于Python pyecharts实现多种图例代码解析

散点图

from pyecharts.charts import Scatter
import numpy as np

def sca():
  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")

效果如下:

基于Python pyecharts实现多种图例代码解析

饼状图

from pyecharts.charts import Pie
from pyecharts import options as optfrom pyecharts.faker import Faker as fa

def pie1():
  pie = (
    Pie()
    .add("", [list(z) for z in zip(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")

def pie2():
  pie = (
    Pie()
      .add("", [list(z) for z in zip(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")


def pie3():
  pie = (
    Pie()
      .add("", [list(z) for z in zip(fa.choose(), fa.values())],
         radius=["40%", "75%"],
         center=["25%", "50%"],
         rosetype="radius",
         label_opts=opt.LabelOpts(is_show=False))

      .add("", [list(z) for z in zip(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")

def pie4():
  # 多饼图显示
  pie = (
    Pie()
    .add(
      "",
      [list(z) for z in zip(["剧情", "其他"], [25, 75])],
      center=["20%", "30%"],
      radius=[40, 60]
    )
    .add(
      "",
      [list(z) for z in zip(["奇幻", "其他"], [24, 76])],
      center=["55%", '30%'],
      radius=[40, 60]
    )
    .add(
      "",
      [list(z) for z in zip(["爱情", "其他"], [14, 86])],
      center=["20%", "70%"],
      radius=[40, 60]
    )
    .add(
      "",
      [list(z) for z in zip(["惊骇", "其他"], [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")

直方图

from pyecharts.charts import Bar
from pyecharts import options as opt
from pyecharts.globals import ThemeType
from pyecharts.faker import Faker as fa
import random


def pye1():
  # 生成随机数据
  attr = fa.days_attrs
  v1 = [random.randrange(10, 150) for _ in range(31)]
  v2 = [random.randrange(10, 150) for _ in range(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")

效果如下

基于Python pyecharts实现多种图例代码解析

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python操作csv文件实例详解
Jul 31 Python
python版微信跳一跳游戏辅助
Jan 11 Python
用Python写一段用户登录的程序代码
Apr 22 Python
Python DataFrame设置/更改列表字段/元素类型的方法
Jun 09 Python
OpenCV2从摄像头获取帧并写入视频文件的方法
Aug 03 Python
python中类的输出或类的实例输出为这种形式的原因
Aug 12 Python
Python3 使用selenium插件爬取苏宁商家联系电话
Dec 23 Python
Pyqt5 关于流式布局和滚动条的综合使用示例代码
Mar 24 Python
Python flask框架实现浏览器点击自定义跳转页面
Jun 04 Python
opencv之颜色过滤只留下图片中的红色区域操作
Jun 05 Python
python中线程和进程有何区别
Jun 17 Python
Python时间操作之pytz模块使用详解
Jun 14 Python
Python Celery异步任务队列使用方法解析
Aug 10 #Python
使用Python将语音转换为文本的方法
Aug 10 #Python
Python获取excel内容及相关操作代码实例
Aug 10 #Python
Python利用命名空间解析XML文档
Aug 10 #Python
Python如何定义有默认参数的函数
Aug 10 #Python
如何更换python默认编辑器的背景色
Aug 10 #Python
django前端页面下拉选择框默认值设置方式
Aug 09 #Python
You might like
php中对xml读取的相关函数的介绍一
2008/06/05 PHP
php中switch与ifelse的效率区别及适用情况分析
2015/02/12 PHP
Zend Framework教程之Resource Autoloading用法实例
2016/03/08 PHP
JavaScript窗口功能指南之在窗口中书写内容
2006/07/21 Javascript
javascript入门·图片对象(无刷新变换图片)\滚动图像
2007/10/01 Javascript
jQuery 表单验证扩展(三)
2010/10/20 Javascript
jQuery操作input值的各种方法总结
2013/11/21 Javascript
Jquery each方法跳出循环,并获取返回值(实例讲解)
2013/12/12 Javascript
深入浅析JavaScript中的arguments对象(强力推荐)
2016/06/03 Javascript
js实现楼层效果的简单实例
2016/07/15 Javascript
学习 NodeJS 第八天:Socket 通讯实例
2016/12/21 NodeJs
VUE使用vuex解决模块间传值问题的方法
2017/06/01 Javascript
微信小程序canvas写字板效果及实例
2017/06/15 Javascript
JS表单提交验证、input(type=number) 去三角 刷新验证码
2017/06/21 Javascript
vue之浏览器存储方法封装实例
2018/03/15 Javascript
JavaScript中join()、splice()、slice()和split()函数用法示例
2018/08/24 Javascript
vuex提交state&&实时监听state数据的改变方法
2018/09/16 Javascript
基于vue与element实现创建试卷相关功能(实例代码)
2020/12/07 Vue.js
[02:11]2016国际邀请赛中国区预选赛全程回顾
2016/07/01 DOTA
Python搭建APNS苹果推送通知推送服务的相关模块使用指南
2016/06/02 Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
2018/02/18 Python
Python实现重建二叉树的三种方法详解
2018/06/23 Python
python设置环境变量的作用整理
2020/02/17 Python
selenium切换标签页解决get超时问题的完整代码
2020/08/30 Python
python把一个字符串切开的实例方法
2020/09/27 Python
numba提升python运行速度的实例方法
2021/01/25 Python
HTML5中的Article和Section元素认识及使用
2013/03/22 HTML / CSS
名人珠宝设计师:Melinda Maria Jewelry
2019/03/06 全球购物
在校生钳工实习自我鉴定
2013/09/19 职场文书
咖啡书吧创业计划书
2014/01/13 职场文书
企业指导教师评语
2014/04/28 职场文书
公开承诺书格式
2014/05/21 职场文书
使用Python的开发框架Brownie部署以太坊智能合约
2021/05/28 Python
总结Python变量的相关知识
2021/06/28 Python
斗罗大陆八大特殊魂兽,龙族始祖排榜首,第五最残忍(翠魔鸟)
2022/03/18 国漫
MySQL详解进行JDBC编程与增删改查方法
2022/06/16 MySQL