欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Pyecharts修炼之路(1)

程序员文章站 2024-03-14 20:11:53
...

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修炼之路(1)

横向条形图:

  • 链式调用,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()

Pyecharts修炼之路(1)

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

  • 导入必要库:
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()

Pyecharts修炼之路(1)

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

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

  • 导入必要的库:
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()

Pyecharts修炼之路(1)

词云图:

  • 导库:
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()

Pyecharts修炼之路(1)

相关标签: 数据分析学习