Pyecharts修炼之路(1)

Pyecharts

安装:

pip install pyecharts即可,非常的简单方便。

官方文档介绍:

pyecharts官方文档:通过官方文档,我们可以更加方便的学习其中各个图的绘制,官方文档中提供实例演示,非常的Nice。

基本图表示例:

柱状图/条形图:

  • 导入必要的库
from pyecharts import options as opts
from pyecharts.charts import Bar
  • 实例化Bar():
bar = Bar()
  • 添加x、y轴的数据:
# 一个列表
# x 轴的数据
bar.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
#             系列名称 系列数据
bar.add_yaxis("商家A",[5,20,36,10,75,90])
  • 设置全局配置项(全局配置项可以参考源码自己选择设置):
bar.set_global_opts(title=opts.TitleOpts(title='主标题',subtitle='副标题'))
  • 在jupyter notebook中显示图:
bar.render_notebook()
  • 结果示例图:
    在这里插入图片描述

横向条形图:

  • 链式调用,pyecharts支持该写法:
# 链式调用
def bar_reveseral_axis() ->Bar: 
 # 类似类的实例化 返回值是一个Bar的实例对象
 c = (
	Bar()
	.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
	.add_yaxis("商家A"[5,20,36,10,75,90])
	# 反转x y
	.reversal_axis()
	# 设置标签的位置 就是现实的值的位置
	.set_series_opts(label_opts=opts.LabelOpts(opsition="right"))
	.set_global_opts(title_opts=opts.TitleOpts(title="主标题",subtitle="副标题"))
)
return c
  • 显示图形(在前端浏览器中):
# 先实例化
bar_s = bar_revsersal_axis()
# bar_s.render_notebook()
bar_s.render('翻转柱状图.html')

折线图:

  • 导入包
from pyecharts.charts import Line
  • 实例化Line():
line = Line()
  • 添加x、y轴的数据:
x = ['2018-{:0>2d}'.format(s) for s in range(1,13)]
y1 = [5,10,26,30,35,30,20,26,40,46,40,50]
y2 = [8,20,24,36,40,36,40,45,50,53,48,58]
line.add_xaxis(x)
line.add_yaxis('商家1',y1)
line.add_yaxis('商家2',y2)
  • 显示图例:
line.render_notebook()

在这里插入图片描述

散点图(根据数值的大小变化散点大小):

  • 导入必要库:
from pyecharts import options as opts
from pyecharts.charts import Scatter
from pyecharts.faker import Faker
  • 实例Scatter():
scatter = Scatter()
  • 添加x、y轴的数据:
scatter.add_xaxis(Faker.choose())
scatter.add_yaxis("商家A", Faker.values())
  • 设置全局配置项:
scatter.set_global_opts(
	# 配置标题
	title_opts=opts.TitleOpts(title="散点图(size)"),
	# 配置视觉映射配置项 size 就是会根据数值大小改变点的大小
	visualmap_opts=opts.VisualMapOpts(type_='size',max_=150,min_=20)
)
  • 显示图例:
scatter.render_notebook()

在这里插入图片描述

上述也可用在地图中,下面演示:

散点图(在地图中的应用,点根据数值大小改变)

  • 导入必要的库:
from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.globals import ChartType
import numpy as np
  • 实例化Geo():
geo = Geo()
  • 设置数据:
areas = ['广东','广西','湖南','江西','福建']
values = [np.random.randint(1,1000) for x in range(5)]
  • 设置应用的哪个地图(也可以是省份,但是数据要有变化)
geo.add_schema(maptype="china")
  • 添加系列名称、数据项、显示为点(Geo 图类型,有 scatter, effectScatter, heatmap, lines 4 种)、标记的大小:
geo.add(
	series_name="geo",
	data_pair=[list(z) for z in zip(areas,values)],
	type_='scatter',
	symbol_size=12,
)
  • 配置全局设置项:
geo.set_global_opts(
	title_opts=opts.TitleOpts(title="Geo"),
	visualmap_opts=opts.VisualMapOpts(type_="size",max_=1000, min_=50)
)
  • 设置标签配置项:
geo.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
  • 展示图例:
geo.render_notebook()

在这里插入图片描述

词云图:

  • 导库:
from pyecharts.charts import WordCloud
  • 实例化WordCloud():
wd = WordCloud()
  • 设置数据:
words = ['python','jupyter','numpy','pandas','matplotlib','sklearn',
        'xgboost','lightGBM','simpy','keras','tensorflow',
         'hive','hadoop','spark']
counts = [100,90,65,95,50,60,70,70,20,70,80,80,60,60]
  • add数据并且设置词云图的形状
wd.add(series_name="词云图",
	data_pair=zip(words,counts),shape='triangle')
  • 展示图例:
wd.render_notebook()

在这里插入图片描述

发布了21 篇原创文章 · 获赞 12 · 访问量 416

猜你喜欢

转载自blog.csdn.net/weixin_44984627/article/details/105060758
今日推荐