基于Python pyecharts实现多种图例代码解析
作者:Yi_warmth 发布时间:2021-11-10 05:20:17
标签:Python,pyecharts,图
词云图
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")
效果如下:
散点图
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")
效果如下:
饼状图
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")
效果如下
来源:https://www.cnblogs.com/zhouzetian/p/13300487.html
0
投稿
猜你喜欢
- <% Dim aData aData = Array(3,2,4,1,6
- MySQL支持的两种主要表存储格式MyISAM,InnoDB,上个月做个项目时,先使用了InnoDB,结果速度特别慢,1秒钟只能插入10几条
- 原文地址:30 Days of Mootools 1.2 Tutorials - Day 4 - Functions函数和MooTools
- 修改my.ini或my.conf,将sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_US
- 实现步骤:图像灰度化边缘检测根据Canny检测得出来的Mat寻找轮廓算出最大轮廓周长or面积根据获取到的最大轮廓下标进行轮廓绘制画出最大矩形
- 文件处理流程1.打开文件,得到文件句柄并赋值给一个变量2.通过句柄对文件进行操作3.关闭文件 r模式,默认模式,文件不存在则报错w
- 下面是滚动条css代码参数介绍:scrollbar-3d-light-color 设置或检索滚动条亮边框颜色 scrollbar-highl
- 首先,运行 Python 解释器,导入 re 模块并编译一个 RE:#!python Python 2.2.2 (#1, Feb 10 20
- 方法一:(by yangedie )这几天刚刚做了这个东西,有网友问到,所以分享一下。ie6、firefox2 通过,麻烦有ie7的网友测试
- 把一些地域性比较明显的数据显示在一张地图上,远比给别人一个 Excel 文件好得多。Matplotlib 中也有画地图的函数,但是是静态图,
- PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的
- ROW_NUMBER() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据
- 你一定很熟悉Youtube了,知道它是一个视频分享网站。是的,youtube目前十分流行,你也许会常常访问。这里有一些关于youtube u
- 学了python后,之前一些我们常用的方法,也可以换一种思路用python中的知识来解决。相信操作出来后,能收获一大批小粉丝们。就像我们没学
- 本篇主要将react全家桶的产品非常精炼的提取了核心内容,精华程度堪比精油。各位大人,既然来了,客官您坐,来人,给客官看茶~~redux前言
- 在之前的一篇文章我们介绍了《如何向PHP数组中头部和尾部添加元素》既然有添加元素,那么就有删除元素,今天这篇文章详细介绍如何删除数组中的头部
- 这是解释器设置问题,在设置里找到interpreter 找到合适的目录就可以了。因为重装了python导致pycharm找不到路径了。另外,
- 到2019年初,Python3已经更新到了Python
- echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用) print只
- 数据库镜像是将数据库事务处理从一个数据库移动到不同环境中的另一个数据库中。镜像的拷贝是一个备用的拷贝,不能直接访问,它只用在错误恢复的情况下