PyEcharts数据可视化(1)——配置项

news/2024/10/20 11:46:00/

PyEcharts

学习连接

一、查看pyecharts版本

import pyecharts
print(pyecharts.__version__)

输出:1.9.0

二、绘制第一个图表

from pyecharts.charts import Bar
bar = Bar() # 创建柱形图对象
bar.add_xaxis(["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]) # X轴
bar.add_yaxis("商家A",[5,20,36,10,75,90]) # Y轴
# 渲染,会渲染成html文件,默认的文件名是render.html
# bar.render()
bar.render('bar.html')  # 自定义文件

bar.render():渲染,会渲染成html文件,默认的文件名是render.html
bar.render(‘bar.html’):自定义文件
输出:‘C:\Users\86198\Documents\pyecharts学习\bar.html’

# 在notebook中渲染
bar.render_notebook()

在这里插入图片描述
pyecharts所有方法均支持链式调用。

from pyecharts.charts import Bar
bar = (Bar().add_xaxis(["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]).add_yaxis("商家A",[5,20,36,10,75,90])
)
bar.render_notebook()

使用 options 配置项,在 pyecharts 中,一切皆 Options。

from pyecharts.charts import Bar
from pyecharts import options as opts
bar = (Bar().add_xaxis(["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]).add_yaxis("商家A",[5,20,36,10,75,90])# 全局配置项# .set_global_opts(title_opts=opts.TitleOpts(title="主标题",subtitle="副标题"))# 或.set_global_opts(title_opts={'text':'主标题','subtext':'副标题'})
)
bar.render_notebook()

在这里插入图片描述
渲染成图片文件

# from pyecharts.charts import Bar
from pyecharts.render import make_snapshot
from snapshot_selenium import snapshot
bar = (Bar().add_xaxis(["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]).add_yaxis("商家A",[5,20,36,10,75,90])
)
make_snapshot(snapshot,bar.render(),"bar.png")

三、PyEcharts配置项

在PyEcharts中:一切皆配置

(1)全局配置项

· 全局配置项可通过 set_global_opt 方法设置
在这里插入图片描述

from pyecharts.charts import Bar, Line
from pyecharts import options as optsfrom pyecharts.faker import Faker # 产生随机数据
from pyecharts.globals import ThemeType, RenderType
Faker.choose()

在这里插入图片描述

# 产生随机数
Faker.values()

在这里插入图片描述
初始化配置项InitOpts

c = (Bar(# InitOpts: 初始化配置项init_opts=opts.InitOpts(width='700px',height='400px', # 图表画布大小,css长度单位renderer=RenderType.CANVAS, # 渲染风格,可选:canvas(默认)、svgpage_title='网页标题',theme=ThemeType.CHALK, # 主题 CHALK、DARK、ESSOS、HALLOWEEN、INFOGRAPHIC、LIGHT、MACARONS、PURPLE_PASSION、ROMA、WHITE# bg_color='white' # 背景颜色)).add_xaxis(Faker.choose()).add_yaxis('商家A', Faker.values()).add_yaxis('商家B', Faker.values())
)
c.render_notebook()

ThemeType主题包括
CHALK、DARK、ESSOS、HALLOWEEN、INFOGRAPHIC、LIGHT、MACARONS、PURPLE_PASSION、ROMA、WHITE

CHALK
在这里插入图片描述
DARK
在这里插入图片描述
ESSOS
在这里插入图片描述
HALLOWEEN
加上bg_color='white' # 背景颜色
在这里插入图片描述
INFOGRAPHIC
在这里插入图片描述
LIGHT
在这里插入图片描述
MACARONS
在这里插入图片描述
PURPLE_PASSION
在这里插入图片描述
ROMA
在这里插入图片描述
WHITE
在这里插入图片描述
全局配置项TitleOpts:标题配置项

 # TitleOpts:标题配置项title_opts=opts.TitleOpts(title='柱状图', # 主标题title_link='https://www.baidu.com', # 主标题点击跳转链接title_target='blank', # blank新窗口打开(默认),self当前窗口打开subtitle='副标题', # 副标题subtitle_link='https://www.baidu.com',subtitle_target='self',# 位置pos_left='20px',pos_top='0px',# pos_right# pos_bottompadding=10, # 内边距item_gap=5, # 主标题和副标题之间的间隙),

在这里插入图片描述
全局配置项DataZoomOpts:区域缩放配置项

# DataZoomOpts:区域缩放配置项datazoom_opts=opts.DataZoomOpts(is_show=True, # 是否显示组件type_='slider', # 组件的类型:slider, insideis_realtime=True, # 拖动时是否实时更新图表range_start=20, # 数据窗口的起始百分比range_end=80, # 数据窗口的结束百分比orient='horizontal', # horizontal水平 或 vertical垂直),

orient='horizontal'区域缩放水平排放
在这里插入图片描述
orient='vertical'区域缩放竖直排放
在这里插入图片描述
全局配置项LegendOpts:图例配置项

# LegendOpts:图例配置项legend_opts=opts.LegendOpts(# 图例类型:plain普通图例,scroll:可以滚动翻页的图例,用于图例较多的情况type_='plain',is_show=True, # 是否显示图例pos_left='20%', # 图例位置:pos_left,pos_right,pos_top,pos_bottomorient='horizontal', # horizontal 或 vertical# 选择模式# True:开启图例点击# False:关闭图例点击# single:单选# multiple:多选# selected_mode=Trueselected_mode='multiple',# 图标和文字的位置align='left',padding=10, # 内边距item_gap=5, # 图例中每项之间的间距item_width=30, # 项的宽度item_height=15, # 项的高度inactive_color='#ccc', # 图例关闭时的颜色# PyEcharts常见的图表:circle,rect,roundRect,triangle,diamond,arrow# legend_icon='circle',),

orient='horizontal'图例水平排放
在这里插入图片描述
orient='vertical'图例竖直排放
在这里插入图片描述
legend_icon='circle'
在这里插入图片描述
legend_icon='rect'
在这里插入图片描述
legend_icon='roundRect'
在这里插入图片描述
legend_icon='triangle'
在这里插入图片描述
legend_icon='diamond'
在这里插入图片描述
legend_icon='arrow'
在这里插入图片描述
全局配置项VisualMapOpts:视觉映射配置项

# VisualMapOpts:视觉映射配置项visualmap_opts=opts.VisualMapOpts(is_show=True,type_='color', # color 或 sizemin_=0, # 最小值max_=150, # 最大值range_opacity=0.7, # 图元和文字透明度range_text=['max', 'min'],range_color=['blue','green','red'], # 过渡颜色orient='vertical',pos_right='5%',pos_top='0%',is_piecewise=True, # 是否为分段型is_inverse=True, # 是否反转),

is_piecewise=True为分段型
在这里插入图片描述
is_piecewise=False,不为分段型
在这里插入图片描述
is_inverse=True不反转,由大到小
在这里插入图片描述
全局配置项TooltipOpts:提示框配置项

# TooltipOpts:提示框配置项tooltip_opts=opts.TooltipOpts(is_show=True,# 触发类型# item:数据项,一般用于:散点图,柱形图,饼图# axis:坐标轴,提示线,主要用于条形图,折线图等trigger='item',# 触发条件:mousemove,click,mousemove|clicktrigger_on='mousemove|click',is_show_content=True, #是否显示提示框浮层# 标签内容的格式# 字符串中的模板变量:# {a}:系列名series_name# {b};数据名# {c}:值formatter='{a}:{b}-{c}',background_color='black', # 背景颜色border_color='white', # 边框颜色border_width=1, # 边框宽度)

在这里插入图片描述
全局配置项AxisOpts:坐标轴配置项

# AxisOpts:坐标轴配置项xaxis_opts=opts.AxisOpts(is_show=True, # 是否显示X轴# 坐标轴类型:# value:数值轴,用于连续数据# category:类目轴,适用于离散数据,比如,星期一,星期二等# time:时间轴,适用于连续的时序数据type_='category'),yaxis_opts=opts.AxisOpts(# is_show=False,# 不显示y轴的线axisline_opts=opts.AxisLineOpts(is_show=False),# 不显示y轴的刻度axistick_opts=opts.AxisTickOpts(is_show=False))

在这里插入图片描述
完整代码

c = (Bar(# InitOpts: 初始化配置项init_opts=opts.InitOpts(width='700px',height='400px', # 图表画布大小,css长度单位renderer=RenderType.CANVAS, # 渲染风格,可选:canvas(默认)、svgpage_title='网页标题',theme=ThemeType.WHITE, # 主题 CHALK、DARK、ESSOS、HALLOWEEN、INFOGRAPHIC、LIGHT、MACARONS、PURPLE_PASSION、ROMA、WHITE# bg_color='white' # 背景颜色)).add_xaxis(Faker.choose()).add_yaxis('商家A', Faker.values()).add_yaxis('商家B', Faker.values())# 全局配置项.set_global_opts(# TitleOpts:标题配置项title_opts=opts.TitleOpts(title='柱状图', # 主标题title_link='https://www.baidu.com', # 主标题点击跳转链接title_target='blank', # blank新窗口打开(默认),self当前窗口打开subtitle='副标题', # 副标题subtitle_link='https://www.baidu.com',subtitle_target='self',# 位置pos_left='20px',pos_top='0px',# pos_right# pos_bottompadding=10, # 内边距item_gap=5, # 主标题和副标题之间的间隙),# DataZoomOpts:区域缩放配置项datazoom_opts=opts.DataZoomOpts(is_show=True, # 是否显示组件type_='slider', # 组件的类型:slider, insideis_realtime=True, # 拖动时是否实时更新图表range_start=20, # 数据窗口的起始百分比range_end=80, # 数据窗口的结束百分比orient='horizontal', # horizontal水平 或 vertical垂直),# LegendOpts:图例配置项legend_opts=opts.LegendOpts(# 图例类型:plain普通图例,scroll:可以滚动翻页的图例,用于图例较多的情况type_='plain',is_show=True, # 是否显示图例pos_left='20%', # 图例位置:pos_left,pos_right,pos_top,pos_bottomorient='horizontal', # horizontal 或 vertical# 选择模式# True:开启图例点击# False:关闭图例点击# single:单选# multiple:多选# selected_mode=Trueselected_mode='multiple',# 图标和文字的位置align='left',padding=10, # 内边距item_gap=5, # 图例中每项之间的间距item_width=30, # 项的宽度item_height=15, # 项的高度inactive_color='#ccc', # 图例关闭时的颜色# PyEcharts常见的图表:circle,rect,roundRect,triangle,diamond,arrowlegend_icon='roundRect',),# VisualMapOpts:视觉映射配置项visualmap_opts=opts.VisualMapOpts(is_show=True,type_='color', # color 或 sizemin_=0, # 最小值max_=150, # 最大值range_opacity=0.7, # 图元和文字透明度range_text=['max', 'min'],range_color=['blue','green','red'], # 过渡颜色orient='vertical',pos_right='5%',pos_top='0%',is_piecewise=True, # 是否为分段型is_inverse=False, # 是否反转),# TooltipOpts:提示框配置项tooltip_opts=opts.TooltipOpts(is_show=True,# 触发类型# item:数据项,一般用于:散点图,柱形图,饼图# axis:坐标轴,提示线,主要用于条形图,折线图等trigger='item',# 触发条件:mousemove,click,mousemove|clicktrigger_on='mousemove|click',is_show_content=True, #是否显示提示框浮层# 标签内容的格式# 字符串中的模板变量:# {a}:系列名series_name# {b};数据名# {c}:值formatter='{a}:{b}-{c}',background_color='black', # 背景颜色border_color='white', # 边框颜色border_width=1, # 边框宽度),# AxisOpts:坐标轴配置项xaxis_opts=opts.AxisOpts(is_show=True, # 是否显示X轴# 坐标轴类型:# value:数值轴,用于连续数据# category:类目轴,适用于离散数据,比如,星期一,星期二等# time:时间轴,适用于连续的时序数据type_='category'),yaxis_opts=opts.AxisOpts(# is_show=False,# 不显示y轴的线axisline_opts=opts.AxisLineOpts(is_show=False),# 不显示y轴的刻度axistick_opts=opts.AxisTickOpts(is_show=False)))
)
c.render_notebook()

(2)系列配置项

·系列配置项可通过 set_series_opt 方法设置

from pyecharts.charts import Line
c = (Line(# InitOpts: 初始化配置项init_opts=opts.InitOpts(width='700px',height='400px',)).add_xaxis(Faker.choose()).add_yaxis('商家A', Faker.values()).add_yaxis('商家B', Faker.values())# 全局配置项.set_global_opts(title_opts=opts.TitleOpts(title="折线图"),# 提示线tooltip_opts=opts.TooltipOpts(trigger='axis'))# 系列配置项.set_series_opts(# ItemStyleOpts:图元样式配置项itemstyle_opts=opts.ItemStyleOpts(# 图的颜色# 使用纯色# RGB,rgb(120,120,120)# RGBA,rgba(120,120,120,0.5)# 十六进制:#ccccolor='blue',opacity=0.6,border_color='green',border_width=2),)
)
c.render_notebook()

系列局配置项ItemStyleOpts:图元样式配置项
在这里插入图片描述
系列局配置项LineStyleOpts:线样式配置项

# LineStyleOpts:线样式配置项linestyle_opts=opts.LineStyleOpts(is_show=True,width=2, # 线宽color='green', #线颜色type_='dashed' # solid,dashed,dotted),

在这里插入图片描述
系列局配置项LabelOpts:标签配置项

# LabelOpts:标签配置项label_opts=opts.LabelOpts(is_show=True,# 位置:top,left,right,bottom#       inside,insideLeft,insideRight,insideTop,insideBottom等position='top', # 位置color='red', # 颜色font_size=14, # 大小font_family='Arial', # 字体font_style='nomal', # 是否斜体,italicfont_weight='bold', # 是否加粗 bold# 标签旋转,-90到90rotate=-40),

在这里插入图片描述
系列局配置项MarkPointOpts:标记点配置项

# MarkPointOpts:标记点配置项markpoint_opts=opts.MarkPointOpts(data=[# type_:特殊标记类型,min,max# symbol:标记点的图形# symbol_size:标记点的大小opts.MarkPointItem(type_='max',symbol='pin',symbol_size=50),opts.MarkPointItem(type_='min')]),

在这里插入图片描述
标记线

# 标记线markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(type_='average')],label_opts=opts.LabelOpts(color='red'))

在这里插入图片描述
完整代码

c = (Line(# InitOpts: 初始化配置项init_opts=opts.InitOpts(width='700px',height='400px',)).add_xaxis(Faker.choose()).add_yaxis('商家A', Faker.values()).add_yaxis('商家B', Faker.values())# 全局配置项.set_global_opts(title_opts=opts.TitleOpts(title="折线图"),# 提示线tooltip_opts=opts.TooltipOpts(trigger='axis'))# 系列配置项.set_series_opts(# ItemStyleOpts:图元样式配置项itemstyle_opts=opts.ItemStyleOpts(# 图的颜色# 使用纯色# RGB,rgb(120,120,120)# RGBA,rgba(120,120,120,0.5)# 十六进制:#ccccolor='blue',opacity=0.6,border_color='green',border_width=2),# LineStyleOpts:线样式配置项linestyle_opts=opts.LineStyleOpts(is_show=True,width=2, # 线宽color='green', #线颜色type_='dashed' # solid,dashed,dotted),# LabelOpts:标签配置项label_opts=opts.LabelOpts(is_show=True,# 位置:top,left,right,bottom#       inside,insideLeft,insideRight,insideTop,insideBottom等position='top', # 位置color='red', # 颜色font_size=14, # 大小font_family='Arial', # 字体font_style='nomal', # 是否斜体,italicfont_weight='bold', # 是否加粗 bold# 标签旋转,-90到90rotate=-40),# MarkPointOpts:标记点配置项markpoint_opts=opts.MarkPointOpts(data=[# type_:特殊标记类型,min,max# symbol:标记点的图形# symbol_size:标记点的大小opts.MarkPointItem(type_='max',symbol='pin',symbol_size=50),opts.MarkPointItem(type_='min')]),# 标记线markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(type_='average')],label_opts=opts.LabelOpts(color='red')))
)
c.render_notebook()

http://www.ppmy.cn/news/53867.html

相关文章

不得不用ChatGPT的100个理由……

❝ 最近无论在哪,很多人都在吹ChatGPT无所不能,动不动就是AI要颠覆人类,很多人害怕有一天AI会取代自己,我认为明显是多虑了…… ❝ 当然,也有很多小白试用了ChatGPT之后,并没有感觉到他很强大,主…

软件过程改进的12条

软件过程改进的12条: 过程改进必须做起来 软件工程是个实践的事,必须要做起来! 我们实施软件过程改进,是为了提高组织的软件工程能力,而提高软件工程能力不是看你掌握了多少理论知识,能力必须通过实践获…

阿里测试8年,肝到P8只剩他了····

在阿里工作了8年,工作压力大,节奏快,但是从技术上确实得到了成长,尤其是当你维护与大促相关的系统的时候,熬到P7也费了不少心思,小编也是个爱学习的人,把这几年的工作经验整理成了一份完整的笔记…

Baklib如何帮助企业设计并维护FAQ页面?

作为现代企业的一部分,客户支持服务是为客户提供解决方案、回答问题和解决技术难题的关键部分。而其中最重要的一个基本工具是FAQ页面(Frequently Asked Questions),它可以有效地减轻客户支持压力和提高工作效率。然而&#xff0c…

利用Iptables构建虚拟路由器

利用Iptables构建虚拟路由器 (1)修改网络类型 在VMware Workstation软件中选择“编辑→虚拟网络编辑器”菜单命令,在虚拟网络列表中选中VMnet1,将其配置为“仅主机模式(在专用网络内连接虚拟机)”&#x…

eBPF技术介绍

前言 eBPF起源于linux内核,它可以以砂箱程序运行在操作系统内核的特权上下文,高效,安全,易于扩展而不需要修改内核源码或者加载内核模块。 操作系统一直是实现观测,安全和网络功能的最理想的地方,因为内核的…

带你了解vue3组合式api基本写法

本文的目的,是为了让已经有 Vue2 开发经验的 人 ,快速掌握 Vue3 的写法。 因此, 本篇假定你已经掌握 Vue 的核心内容 ,只为你介绍编写 Vue3 代码,需要了解的内容。 一、Vue3 里 script 的三种写法 首先,Vue…

Linux crontab计划任务和at一次性计划任务

文章目录 一、crontab常用命令二、计划任务书写格式例子:问题1:每月1,10,22号的4:45重启network服务问题2:每周六周日的1:10重启network服务问题3:每天18:00至23:00之间每隔30分钟重…