Python之pyecharts

柱状图

import pyecharts.charts as pyec

x = ['甲','乙','丙']
y = [300,800,600]

bar = pyec.Bar()
bar.add_xaxis(x)
bar.add_yaxis(series_name='公司A',yaxis_data=y)
bar.render_notebook()

在这里插入图片描述

import pyecharts.options as opts
bar.set_global_opts(title_opts=opts.TitleOpts(title="比较图"))
bar.render_notebook()

在这里插入图片描述

#增加一个数据系列
import pyecharts.options as opts
bar.set_global_opts(title_opts=opts.TitleOpts(title="比较图"))
y1 = [1200,500,200]
bar.add_yaxis(series_name='公司B',yaxis_data=y1)
bar.render_notebook()

在这里插入图片描述

#变成条形图
bar.reversal_axis()
bar.render_notebook()

在这里插入图片描述

折线图

x1 = ['2017','2018','2019']
y1 = [300,900,600]
line = pyec.Line()
line.add_xaxis(x1)
line.add_yaxis(series_name='A',y_axis=y1)
line.render_notebook()

在这里插入图片描述

y2 = [1300,500,900]
line.add_yaxis(series_name='B',y_axis=y2)
bar.set_global_opts(title_opts=opts.TitleOpts(title="比较图"))
line.render_notebook()

在这里插入图片描述

工具箱设置

#进行该图的全局参数设置
line.set_global_opts(
        tooltip_opts = opts.TooltipOpts(trigger='axis',axis_pointer_type='cross'),
        toolbox_opts = opts.ToolboxOpts(is_show=True,orient='horizontal'))     #工具箱设置  ,垂直‘vertical’
line.render_notebook()

在这里插入图片描述

设置图表的大小

x1 = ['2017','2018','2019']
y1 = [300,900,600]
line = pyec.Line(init_opts = opts.InitOpts(width = '500px',height = '300px'))   #设置图表的大小
line.add_xaxis(x1)
line.add_yaxis(series_name='A',y_axis=y1)
line.render_notebook()

在这里插入图片描述

设置区域铺放功能

bar.set_global_opts(
        tooltip_opts = opts.TooltipOpts(trigger='axis',axis_pointer_type='cross'),
        toolbox_opts = opts.ToolboxOpts(is_show=True,orient='horizontal'),     #工具箱设置  ,垂直‘vertical’
        datazoom_opts=opts.DataZoomOpts(type_ = 'slider',range_start=(),range_end=2500))   #设置区域铺放功能  
bar.render_notebook()

在这里插入图片描述

饼图

x_data = ['直接访问','营销推广','博客推广','搜索引擎']
y_data = [830,214,399,1199]

data_pair = list(zip(x_data,y_data))
print(data_pair)
[('直接访问', 830), ('营销推广', 214), ('博客推广', 399), ('搜索引擎', 1199)]

pie = pyec.Pie()
pie.add(series_name='推广渠道',data_pair=data_pair)
pie.render_notebook()

在这里插入图片描述

函数散点图

import numpy as np

x = np.linspace(0,10,30)
y1 = np.sin(x)
y2 = np.cos(x)

scatter = pyec.Scatter()

scatter.add_xaxis(xaxis_data=x)
scatter.add_yaxis(series_name='y=sin(x)',y_axis=y1,label_opts=opts.LabelOpts(is_show=False))
scatter.add_yaxis(series_name='y=cos(x)',y_axis=y2,label_opts=opts.LabelOpts(is_show=False))

# 显示分割线
scatter.set_global_opts(
            xaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),
            yaxis_opts=opts.AxisOpts(splitline_opts=opts.SplitLineOpts(is_show=True)),
            visualmap_opts=opts.VisualMapOpts(min_=-1,max_=1)
        )
scatter.render_notebook()

在这里插入图片描述

词云

##Python之禅
import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

s = """
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
"""

s = s.lower().split()
# print(s)

result={}
for i in s:
    result[i]=s.count(i)
print(result)
{'the': 6, 'zen': 1, 'of': 3, 'python,': 1, 'by': 1, 'tim': 1, 'peters': 1, 'beautiful': 1, 'is': 10, 'better': 8, 'than': 8, 'ugly.': 1, 'explicit': 1, 'implicit.': 1, 'simple': 1, 'complex.': 1, 'complex': 1, 'complicated.': 1, 'flat': 1, 'nested.': 1, 'sparse': 1, 'dense.': 1, 'readability': 1, 'counts.': 1, 'special': 2, 'cases': 1, "aren't": 1, 'enough': 1, 'to': 5, 'break': 1, 'rules.': 1, 'although': 3, 'practicality': 1, 'beats': 1, 'purity.': 1, 'errors': 1, 'should': 2, 'never': 2, 'pass': 1, 'silently.': 1, 'unless': 2, 'explicitly': 1, 'silenced.': 1, 'in': 1, 'face': 1, 'ambiguity,': 1, 'refuse': 1, 'temptation': 1, 'guess.': 1, 'there': 1, 'be': 3, 'one--': 1, 'and': 1, 'preferably': 1, 'only': 1, 'one': 2, '--obvious': 1, 'way': 2, 'do': 2, 'it.': 1, 'that': 1, 'may': 2, 'not': 1, 'obvious': 1, 'at': 1, 'first': 1, "you're": 1, 'dutch.': 1, 'now': 1, 'never.': 1, 'often': 1, '*right*': 1, 'now.': 1, 'if': 2, 'implementation': 2, 'hard': 1, 'explain,': 2, "it's": 1, 'a': 2, 'bad': 1, 'idea.': 2, 'easy': 1, 'it': 1, 'good': 1, 'namespaces': 1, 'are': 1, 'honking': 1, 'great': 1, 'idea': 1, '--': 1, "let's": 1, 'more': 1, 'those!': 1}

d = list(result.items())
d
[('the', 6),
 ('zen', 1),
 ('of', 3),
 ('python,', 1),
 ('by', 1),
 ('tim', 1),
 ('peters', 1),
 ('beautiful', 1),
 ('is', 10),
 ('better', 8),
 ('than', 8),
 ('ugly.', 1),
 ('explicit', 1),
 ('implicit.', 1),
 ('simple', 1),
 ('complex.', 1),
 ('complex', 1),
 ('complicated.', 1),
 ('flat', 1),
 ('nested.', 1),
 ('sparse', 1),
 ('dense.', 1),
 ('readability', 1),
 ('counts.', 1),
 ('special', 2),
 ('cases', 1),
 ("aren't", 1),
 ('enough', 1),
 ('to', 5),
 ('break', 1),
 ('rules.', 1),
 ('although', 3),
 ('practicality', 1),
 ('beats', 1),
 ('purity.', 1),
 ('errors', 1),
 ('should', 2),
 ('never', 2),
 ('pass', 1),
 ('silently.', 1),
 ('unless', 2),
 ('explicitly', 1),
 ('silenced.', 1),
 ('in', 1),
 ('face', 1),
 ('ambiguity,', 1),
 ('refuse', 1),
 ('temptation', 1),
 ('guess.', 1),
 ('there', 1),
 ('be', 3),
 ('one--', 1),
 ('and', 1),
 ('preferably', 1),
 ('only', 1),
 ('one', 2),
 ('--obvious', 1),
 ('way', 2),
 ('do', 2),
 ('it.', 1),
 ('that', 1),
 ('may', 2),
 ('not', 1),
 ('obvious', 1),
 ('at', 1),
 ('first', 1),
 ("you're", 1),
 ('dutch.', 1),
 ('now', 1),
 ('never.', 1),
 ('often', 1),
 ('*right*', 1),
 ('now.', 1),
 ('if', 2),
 ('implementation', 2),
 ('hard', 1),
 ('explain,', 2),
 ("it's", 1),
 ('a', 2),
 ('bad', 1),
 ('idea.', 2),
 ('easy', 1),
 ('it', 1),
 ('good', 1),
 ('namespaces', 1),
 ('are', 1),
 ('honking', 1),
 ('great', 1),
 ('idea', 1),
 ('--', 1),
 ("let's", 1),
 ('more', 1),
 ('those!', 1)]

wordcloud  = pyec.WordCloud()

wordcloud.add(series_name='',data_pair=d)
wordcloud.render_notebook()

在这里插入图片描述

x = ['衬衫','羊毛衫','雪纺衫','裤子','高跟鞋','袜子']
y1 = [14,16,53,25,15,61]
y2 = [42,11,52,67,72,14]
y3 = [21,51,75,35,73,15]
y4 = [61,71,13,84,34,89]

bar = pyec.Bar()
bar.add_xaxis(x)
bar.add_yaxis(series_name='公司A',yaxis_data=y1)
bar.add_yaxis(series_name='公司B',yaxis_data=y2)
bar.add_yaxis(series_name='公司C',yaxis_data=y3)
bar.add_yaxis(series_name='公司D',yaxis_data=y4)

bar.render_notebook()

在这里插入图片描述

多种主题类型

bar = pyec.Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))   #设置主题类型 
bar.add_xaxis(x)
bar.add_yaxis(series_name='公司A',yaxis_data=y1)
bar.add_yaxis(series_name='公司B',yaxis_data=y2)
bar.add_yaxis(series_name='公司C',yaxis_data=y3)
bar.add_yaxis(series_name='公司D',yaxis_data=y4)

bar.render_notebook()

在这里插入图片描述

bar = pyec.Bar(init_opts=opts.InitOpts(theme=ThemeType.DARK))   #设置主题类型 
bar.add_xaxis(x)
bar.add_yaxis(series_name='公司A',yaxis_data=y1)
bar.add_yaxis(series_name='公司B',yaxis_data=y2)
bar.add_yaxis(series_name='公司C',yaxis_data=y3)
bar.add_yaxis(series_name='公司D',yaxis_data=y4)

bar.render_notebook()

在这里插入图片描述

bar = pyec.Bar(init_opts=opts.InitOpts(theme=ThemeType.CHALK))   #设置主题类型 
bar.add_xaxis(x)
bar.add_yaxis(series_name='公司A',yaxis_data=y1)
bar.add_yaxis(series_name='公司B',yaxis_data=y2)
bar.add_yaxis(series_name='公司C',yaxis_data=y3)
bar.add_yaxis(series_name='公司D',yaxis_data=y4)

bar.render_notebook()

在这里插入图片描述

bar = pyec.Bar(init_opts=opts.InitOpts(theme=ThemeType.ESSOS))   #设置主题类型 
bar.add_xaxis(x)
bar.add_yaxis(series_name='公司A',yaxis_data=y1)
bar.add_yaxis(series_name='公司B',yaxis_data=y2)
bar.add_yaxis(series_name='公司C',yaxis_data=y3)
bar.add_yaxis(series_name='公司D',yaxis_data=y4)

bar.render_notebook()

在这里插入图片描述

bar = pyec.Bar(init_opts=opts.InitOpts(theme=ThemeType.INFOGRAPHIC))   #设置主题类型 
bar.add_xaxis(x)
bar.add_yaxis(series_name='公司A',yaxis_data=y1)
bar.add_yaxis(series_name='公司B',yaxis_data=y2)
bar.add_yaxis(series_name='公司C',yaxis_data=y3)
bar.add_yaxis(series_name='公司D',yaxis_data=y4)

bar.render_notebook()

在这里插入图片描述

bar = pyec.Bar(init_opts=opts.InitOpts(theme=ThemeType.MACARONS))   #设置主题类型 
bar.add_xaxis(x)
bar.add_yaxis(series_name='公司A',yaxis_data=y1)
bar.add_yaxis(series_name='公司B',yaxis_data=y2)
bar.add_yaxis(series_name='公司C',yaxis_data=y3)
bar.add_yaxis(series_name='公司D',yaxis_data=y4)

bar.render_notebook()

在这里插入图片描述

bar = pyec.Bar(init_opts=opts.InitOpts(theme=ThemeType.PURPLE_PASSION))   #设置主题类型 
bar.add_xaxis(x)
bar.add_yaxis(series_name='公司A',yaxis_data=y1)
bar.add_yaxis(series_name='公司B',yaxis_data=y2)
bar.add_yaxis(series_name='公司C',yaxis_data=y3)
bar.add_yaxis(series_name='公司D',yaxis_data=y4)

bar.render_notebook()

在这里插入图片描述

bar = pyec.Bar(init_opts=opts.InitOpts(theme=ThemeType.ROMA))   #设置主题类型 
bar.add_xaxis(x)
bar.add_yaxis(series_name='公司A',yaxis_data=y1)
bar.add_yaxis(series_name='公司B',yaxis_data=y2)
bar.add_yaxis(series_name='公司C',yaxis_data=y3)
bar.add_yaxis(series_name='公司D',yaxis_data=y4)

bar.render_notebook()

在这里插入图片描述

bar = pyec.Bar(init_opts=opts.InitOpts(theme=ThemeType.ROMANTIC))   #设置主题类型 
bar.add_xaxis(x)
bar.add_yaxis(series_name='公司A',yaxis_data=y1)
bar.add_yaxis(series_name='公司B',yaxis_data=y2)
bar.add_yaxis(series_name='公司C',yaxis_data=y3)
bar.add_yaxis(series_name='公司D',yaxis_data=y4)

bar.render_notebook()

在这里插入图片描述

bar = pyec.Bar(init_opts=opts.InitOpts(theme=ThemeType.SHINE))   #设置主题类型 
bar.add_xaxis(x)
bar.add_yaxis(series_name='公司A',yaxis_data=y1)
bar.add_yaxis(series_name='公司B',yaxis_data=y2)
bar.add_yaxis(series_name='公司C',yaxis_data=y3)
bar.add_yaxis(series_name='公司D',yaxis_data=y4)

bar.render_notebook()

在这里插入图片描述

bar = pyec.Bar(init_opts=opts.InitOpts(theme=ThemeType.VINTAGE))   #设置主题类型 
bar.add_xaxis(x)
bar.add_yaxis(series_name='公司A',yaxis_data=y1)
bar.add_yaxis(series_name='公司B',yaxis_data=y2)
bar.add_yaxis(series_name='公司C',yaxis_data=y3)
bar.add_yaxis(series_name='公司D',yaxis_data=y4)

bar.render_notebook()

在这里插入图片描述

bar = pyec.Bar(init_opts=opts.InitOpts(theme=ThemeType.WALDEN))   #设置主题类型 
bar.add_xaxis(x)
bar.add_yaxis(series_name='公司A',yaxis_data=y1)
bar.add_yaxis(series_name='公司B',yaxis_data=y2)
bar.add_yaxis(series_name='公司C',yaxis_data=y3)
bar.add_yaxis(series_name='公司D',yaxis_data=y4)

bar.render_notebook()

在这里插入图片描述

bar = pyec.Bar(init_opts=opts.InitOpts(theme=ThemeType.WESTEROS))   #设置主题类型 
bar.add_xaxis(x)
bar.add_yaxis(series_name='公司A',yaxis_data=y1)
bar.add_yaxis(series_name='公司B',yaxis_data=y2)
bar.add_yaxis(series_name='公司C',yaxis_data=y3)
bar.add_yaxis(series_name='公司D',yaxis_data=y4)

bar.render_notebook()

在这里插入图片描述

bar = pyec.Bar(init_opts=opts.InitOpts(theme=ThemeType.WONDERLAND))   #设置主题类型 
bar.add_xaxis(x)
bar.add_yaxis(series_name='公司A',yaxis_data=y1)
bar.add_yaxis(series_name='公司B',yaxis_data=y2)
bar.add_yaxis(series_name='公司C',yaxis_data=y3)
bar.add_yaxis(series_name='公司D',yaxis_data=y4)

bar.render_notebook()

在这里插入图片描述

import datetime
import random

from pyecharts import options as opts
from pyecharts.charts import Calendar

def calendar_base() -> Calendar:
    begin = datetime.date(2017, 1, 1)
    end = datetime.date(2017, 12, 31)
    data = [
        [str(begin + datetime.timedelta(days=i)), random.randint(1000, 25000)]
        for i in range((end - begin).days + 1)
    ]

    c = (
        Calendar()
        .add("", data, calendar_opts=opts.CalendarOpts(range_="2017"))
        .set_global_opts(
            title_opts=opts.TitleOpts(title="Calendar-2017年微信步数情况"),
            visualmap_opts=opts.VisualMapOpts(
                max_=20000,
                min_=500,
                orient="horizontal",
                is_piecewise=True,
                pos_top="230px",
                pos_left="100px",
            ),
        )
    )
    return c

calendar_base().render_notebook()

在这里插入图片描述

import pyecharts
from pyecharts.globals import ThemeType

funnel = pyecharts.charts.Funnel()
data = [('a',12),('b',21),('c',15),('d',16),('e',23)]
funnel.add('',data)
funnel.set_global_opts(title_opts=opts.TitleOpts(title="Funnel-Label(inside)"))
funnel.render_notebook()

在这里插入图片描述

from pyecharts.charts import Gauge
gauge = Gauge()
gauge.add('',[('aaa',33.3)])
gauge.render_notebook()

在这里插入图片描述

`pyecharts` 是一个基于 Python 的开源图表库,它能帮助开发者轻松创建美观的数据可视化图表。`pyecharts` 支持多种类型的图表,包括但不限于柱状图、折线图、饼图、散点图、地图等。下面我将通过示例来展示如何使用 `pyecharts` 创建简单的柱状图。 ### 安装 pyecharts 如果你还没有安装 `pyecharts`,可以通过 pip 来安装: ```bash pip install pyecharts ``` ### 示例:创建柱状图 假设我们有一个数据集,表示不同城市的销售总额: ```python from pyecharts.charts import Bar from pyecharts.options import TitleOpts # 数据集 data = [ {"city": "北京", "sales": 120}, {"city": "上海", "sales": 150}, {"city": "广州", "sales": 100}, {"city": "深圳", "sales": 130}, ] # 创建 bar 图表 bar_chart = ( Bar() .add_xaxis([d["city"] for d in data]) .add_yaxis("Sales", [d["sales"] for d in data]) .set_global_opts(title=TitleOpts(title="城市销售额")) ) # 显示图表 bar_chart.render() ``` 在这个示例中: 1. **导入必要的模块**:从 `pyecharts.charts` 导入 `Bar` 类,以及从 `pyecharts.options` 导入 `TitleOpts` 用于设置标题样式。 2. **准备数据**:定义了一个包含城市名称和对应销售额的数据集。 3. **创建图表**:使用 `Bar()` 初始化图表实例,然后使用 `.add_xaxis()` 添加 x 轴(这里为城市名称),`.add_yaxis()` 添加 y 轴数据(这里是销售额)。 4. **全局配置**:设置全局选项,如图表标题。 5. **渲染图表**:最后使用 `render()` 方法显示生成的 HTML 文件,可以在浏览器中查看结果。 --- ### 相关问题: 1. 如何自定义 `pyecharts` 图表的颜色、大小和字体样式? 2. 如何在 `pyecharts` 中添加数据标签以显示具体数值? 3. `pyecharts` 是否支持交互式图表?如果支持,如何实现? --- 以上内容介绍了 `pyecharts` 的基本使用方式并提供了一些常见问题的相关信息。你可以根据这些指南进一步探索 `pyecharts` 的更多功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值