导入Pyecharts
- import pyecharts
基本图表
- Bar(柱状图/条形图)
- Bar3D(3D 柱状图)
- Boxplot(箱形图)
- EffectScatter(带有涟漪特效动画的散点图)
- Funnel(漏斗图)
- Gauge(仪表盘)
- Geo(地理坐标系)
- GeoLines(地理坐标系线图)
- Graph(关系图)
- HeatMap(热力图)
- Kline/Candlestick(K线图)
- Line(折线/面积图)
- Line3D(3D 折线图)
- Liquid(水球图)
- Map(地图)
- Parallel(平行坐标系)
- Pie(饼图)
- Polar(极坐标系)
- Radar(雷达图)
- Sankey(桑基图)
- Scatter(散点图)
- Scatter3D(3D 散点图
- Surface3D(3D 曲面图
- ThemeRiver(主题河流图)
- Tree(树图) TreeMap(矩形树图)
- WordCloud(词云图)
———————————————————————————————————————————
配置项
InitOpts:初始化配置项
TitleOpts:标题配置项
DataZoomOpts:区域缩放配置项
LegendOpts:图例配置项
VisualMapOpts:视觉映射配置项
TooltipOpts:提示框配置项
AxisOpts: 坐标轴配置项
ItemStylenOpts: 图元样式配置项
LineStyleOpts: 线样式配置项
LadelOpts: 标签配置项
MarkPointOpts: 标记点
生成数据的库 Faker
导入Faker库
- from pyecharts.faker import Faker
生成随机相同属性的数据 ( 7个名词 )
- Faker.choose( )
随机生成7个数
- Faker.vlaues( )
随机生成7个车名
- Faker.cars
随机生成7个国家
- Faker.country
pyecharts主题风格库
导入主题库
- from pyecharts.globals import ThemeType
添加在初始化配置项
- theme = ThemeType.主题 ## (主题大写)
主题
LIGHT —>明亮风格
DARK —>暗黑风
CHALK —>粉笔风
ESSOS —>厄索斯大陆
INFOGRAPHIC —>信息风
MACARONS —>马卡龙
PURPLE_PASSION —>紫色风情
ROMA —>罗马风
ROMANTIC —>浪漫风
SHINE —>闪耀风
VINTAGE —>复古风
WALDEN —>瓦尔登湖
WESTEROS —>维斯特洛大陆
WONDERLAND —>仙境
HALLOWEEN —>万圣节风
绘图常用颜色
蓝色(blue)
红色(red)
橙色(orange)
绿色(green)
紫色(purple)
黑色(black)
灰色(grey)
粉色(pink)
白色(white)
黄色(yellow)
棕色(brown)
青色(Cyan)
pyrcharts 常见的图标:
circle 圆形
rect 矩形
roundRect 圆角矩形
triangle 三角形
diamond 菱形
arrow 飞镖形
配置项
InitOpts:初始化配置项
TitleOpts:标题配置项
DataZoomOpts:区域缩放配置项
LegendOpts:图例配置项
VisualMapOpts:视觉映射配置项
TooltipOpts:提示框配置项
AxisOpts: 坐标轴配置项
ItemStylenOpts: 图元样式配置项
LineStyleOpts: 线样式配置项
LadelOpts: 标签配置项
MarkPointOpts: 标记点-
全局配置
InitOpts:初始化配置项
from pyecharts import options as opts ## 全局配置
from pyecharts.charts import Bar ## 柱状图
bar = (
Bar(
## InitOpts:初始化配置项
init_opts = opts.InitOpts( # 图表画布大小,css长度单位
width = "700px", # 宽度
height = "400px", # 高度
page_title = "网页标题",
theme = ThemeType.LIGHT, # 主题
)
)
.add_xaxis(Faker.choose()) # x轴
.add_yaxis("商家A",Faker.values()) # y轴
.add_yaxis("商家B",Faker.values()) # "商家"处为数据图例
#.reversal_axis() ## 旋转轴
).render("初始化配置项.html") # 保存文件为html格式,引号内填文件名。
TitleOpts:标题配置项
bar = (
Bar(
.set_global_opts(
### TitleOpts:标题配置项
title_opts = opts.TitleOpts(
title = "柱状图", # title添加主标题配置
title_link = "http://www.baidu.com", # 主标题跳转链接
title_target = "blank", # blank 新窗口打开,self 当前窗口打开
subtitle = "副标题", # subtitle 副标题
subtitle_link = "http://www.baidu.com", # 副标题跳转链接
subtitle_target = "blank", # blank 新窗口打开,self 当前窗口打开
## 标题位置
# left靠左, right靠右, center居中, pos_top靠上, bottom靠下
pos_left = "20%", # 百分比位置,
pos_top = "10px", # css长度单位
padding = 10, # 内边距
item_gap = 10 # 主标题和副标题之间的间隙
),
.add_xaxis(Faker.choose()) # x轴
.add_yaxis("商家A",Faker.values()) # y轴
.add_yaxis("商家B",Faker.values()) # "商家"处为数据图例
).render("标题配置项.html")
DataZoomOpts:区域缩放配置项
bar = (
Bar(
.set_global_opts(
### DataZoomOpts:区域缩放配置项
datazoom_opts = opts.DataZoomOpts(
is_show = True, # 是否显示组件
type_ = "slider", # 组件类型:slider, inside鼠标滚动
is_realtime = True, # 拖动时是否实时更新图表 True|Fales
range_start = 20, # 数据窗口的起始百分比
range_end = 80, # 数据窗口的结束百分比
orient = "horizontal", # horizontal水平显示,vertical垂直显示
is_zoom_lock = True, # 是否锁定选择区域 True|Fales
),
.add_xaxis(Faker.choose()) # x轴
.add_yaxis("商家A",Faker.values()) # y轴
.add_yaxis("商家B",Faker.values()) # "商家"处为数据图例
).render("区域缩放配置项.html")
LegendOpts:图例配置项
bar = (
Bar(
.set_global_opts(
### LegendOpts:图例配置项
legend_opts = opts.LegendOpts(
type_ = "plain", ## 图例类型:plain普通图例,scroll:可以滚动翻页的图例,用于图例比较多的情况
is_show = True, # 是否显示图例
pos_left = "50%", # 图例位置:left靠左, right靠右, center居中, pos_top靠上, bottom靠下
orient = "horizontal", # horizontal水平,vertical垂直
selected_mode = True, # 是否开启图例点击 True|Fales
align = 'left', # 图标对于文字的位置:left靠左, right靠右, center居中
padding = 10, # 内边距
item_gap = 5, # 图例中每一项之间的间距
item_width = 30, # 项的宽度
item_height = 20, # 项的宽度
inactive_color = "#ccc", # 图例关闭时的颜色
legend_icon = "circle" # 图例的形状
## pyrcharts 常见的图标:
# circle 圆形
# rect 矩形
# roundRect 圆角矩形
# triangle 三角形
# diamond 菱形
# arrow 飞镖形
),
.add_xaxis(Faker.choose()) # x轴
.add_yaxis("商家A",Faker.values()) # y轴
.add_yaxis("商家B",Faker.values()) # "商家"处为数据图例
).render("图例配置项.html")
VisualMapOpts:视觉映射配置项
bar = (
Bar(
.set_global_opts(
### VisualMapOpts:视觉映射配置项
visualmap_opts = opts.VisualMapOpts(
is_show = True, # # 是否显示视觉映射 True|Fales
type_ = "color", # color 或 size
## 超过最大或最小值显示最大或最小的颜色
min_ = 0, # 最小值
max_ = 150, # 最大值
range_opacity = 0.5, # 图片和文字透明度
range_text = ["max","min"], # 两端的文本
range_color = ["blue",'yellow',"red"], # 过渡颜色
orient = "vertical", # horizontal水平,vertical垂直
## left靠左, right靠右, center居中, top靠上, bottom靠下
pos_right = "0%", # 百分比位置,
pos_bottom = "10px", # css长度单位
is_piecewise = True, # 是否为分段型
is_inverse = True, # 是否反转
),
.add_xaxis(Faker.choose()) # x轴
.add_yaxis("商家A",Faker.values()) # y轴
.add_yaxis("商家B",Faker.values()) # "商家"处为数据图例
).render("视觉映射配置项.html")
TooltipOpts:提示框配置项
bar = (
Bar(
.set_global_opts(
### TooltipOpts:提示框配置项
tooltip_opts = opts.TooltipOpts(
is_show = True, # 是否显示提示框 True|Fales
## 触发类型
# item: 数据项,一般用于散点图,柱形图,折线图,饼图
# axis: 坐标轴,提示线,主要用于条形图,折线图等
trigger = "item",
## 触发条件:
trigger_on = "mousemove", # mousemove 鼠标移入 | click 点击触发
## 标签内容的格式
# 字符串的模板变量:
# {a}: 系列名series_name
# {b}: 数据名
# {c}: 值
formatter = "{a}:{b}-{c}", # 标签内容的格式
background_color = "black", # 背景颜色
border_color = "white", # 边框颜色
border_width = 3, # 边框宽度
),
.add_xaxis(Faker.choose()) # x轴
.add_yaxis("商家A",Faker.values()) # y轴
.add_yaxis("商家B",Faker.values()) # "商家"处为数据图例
).render("提示框配置项.html")
系列配置项
ItemStylenOpts: 图元样式配置项
bar = (
Bar(
.set_global_opts(
## ItemStylenOpts: 图元样式配置项
itemstyle_opts = opts.ItemStyleOpts(
## 图的颜色
# 适用纯色
# RGB "rgb(100,100,100)"
# RGBA "rgba(100,100,100,0.5)" #最后项填透明度
color = "red",
# 单独设置透明度
opacity = 0.6, # 图透明度
),
.add_xaxis(Faker.choose()) # x轴
.add_yaxis("商家A",Faker.values()) # y轴
.add_yaxis("商家B",Faker.values()) # "商家"处为数据图例
).render("图元样式配置项.html")
LineStyleOpts: 线样式配置项
bar = (
Bar(
.set_global_opts(
### LineStyleOpts: 线样式配置项
linestyle_opts = opts.LineStyleOpts(
width = 2, # 线宽
color = "green", # 线颜色
type_ = "dashed", # solid实线 | dashed虚线 | dotted点线
),
.add_xaxis(Faker.choose()) # x轴
.add_yaxis("商家A",Faker.values()) # y轴
.add_yaxis("商家B",Faker.values()) # "商家"处为数据图例
).render("线样式配置项.html")
LadelOpts: 标签配置项
bar = (
Bar(
.set_global_opts(
### LineStyleOpts: 线样式配置项
linestyle_opts = opts.LineStyleOpts(
width = 2, # 线宽
color = "green", # 线颜色
type_ = "dashed", # solid实线 | dashed虚线 | dotted点线
),
.add_xaxis(Faker.choose()) # x轴
.add_yaxis("商家A",Faker.values()) # y轴
.add_yaxis("商家B",Faker.values()) # "商家"处为数据图例
).render("标签配置项.html")
MarkPointOpts: 标记点
bar = (
Bar(
.set_global_opts(
### MarkPointOpts: 标记点
markpoint_opts = opts.MarkPointOpts(
data = [
## type_:特殊标记类型,min, max, average平均值
## symbol: 特殊标记类图型更改
# circle 圆形
# rect 矩形
# roundRect 圆角矩形
# triangle 三角形
# diamond 菱形
# arrow 飞镖形
## symbol_size: 标记图形大小
opts.MarkPointItem(type_= "max",symbol = "arrow",symbol_size = 30),
opts.MarkPointItem(type_= "min",symbol = "arrow",symbol_size = 30)
]
),
.add_xaxis(Faker.choose()) # x轴
.add_yaxis("商家A",Faker.values()) # y轴
.add_yaxis("商家B",Faker.values()) # "商家"处为数据图例
).render("标记点.html")
全局配置全代码
## 全局配置项
from pyecharts import options as opts ## 全局配置
from pyecharts.charts import Bar ## 柱状图
bar = (
Bar(
## InitOpts:初始化配置项
init_opts = opts.InitOpts( # 图表画布大小,css长度单位
width = "700px", # 宽度
height = "400px", # 高度
page_title = "网页标题",
theme = ThemeType.LIGHT, # 主题
# LIGHT 明亮风格
# DARK 暗黑风
# CHALK 粉笔风
# ESSOS 厄索斯大陆
# INFOGRAPHIC 信息风
# MACARONS 马卡龙
# PURPLE_PASSION 紫色风情
# ROMA 罗马风
# ROMANTIC 浪漫风
# SHINE 闪耀风
# VINTAGE 复古风
# WALDEN 瓦尔登湖
# WESTEROS 维斯特洛大陆
# WONDERLAND 仙境
# HALLOWEEN 万圣节风
#bg_color = "pink" # 背景颜色
)
)
.add_xaxis(Faker.choose()) # x轴
.add_yaxis("商家A",Faker.values()) # y轴
.add_yaxis("商家B",Faker.values()) # "商家"处为数据图例
#.reversal_axis() ## 旋转轴
# 全局配置项
.set_global_opts(
### TitleOpts:标题配置项
title_opts = opts.TitleOpts(
title = "柱状图", # title添加主标题配置
title_link = "http://www.baidu.com", # 主标题跳转链接
title_target = "blank", # blank 新窗口打开,self 当前窗口打开
subtitle = "副标题", # subtitle 副标题
subtitle_link = "http://www.baidu.com", # 副标题跳转链接
subtitle_target = "blank", # blank 新窗口打开,self 当前窗口打开
## 标题位置
# left靠左, right靠右, center居中, pos_top靠上, bottom靠下
pos_left = "20%", # 百分比位置,
pos_top = "10px", # css长度单位
padding = 10, # 内边距
item_gap = 10 # 主标题和副标题之间的间隙
),
### DataZoomOpts:区域缩放配置项
datazoom_opts = opts.DataZoomOpts(
is_show = True, # 是否显示组件
type_ = "slider", # 组件类型:slider, inside鼠标滚动
is_realtime = True, # 拖动时是否实时更新图表 True|Fales
range_start = 20, # 数据窗口的起始百分比
range_end = 80, # 数据窗口的结束百分比
orient = "horizontal", # horizontal水平显示,vertical垂直显示
is_zoom_lock = True, # 是否锁定选择区域 True|Fales
),
### LegendOpts:图例配置项
legend_opts = opts.LegendOpts(
type_ = "plain", ## 图例类型:plain普通图例,scroll:可以滚动翻页的图例,用于图例比较多的情况
is_show = True, # 是否显示图例
pos_left = "50%", # 图例位置:left靠左, right靠右, center居中, pos_top靠上, bottom靠下
orient = "horizontal", # horizontal水平,vertical垂直
selected_mode = True, # 是否开启图例点击 True|Fales
align = 'left', # 图标对于文字的位置:left靠左, right靠右, center居中
padding = 10, # 内边距
item_gap = 5, # 图例中每一项之间的间距
item_width = 30, # 项的宽度
item_height = 20, # 项的宽度
inactive_color = "#ccc", # 图例关闭时的颜色
legend_icon = "circle" # 图例的形状
## pyrcharts 常见的图标:
# circle 圆形
# rect 矩形
# roundRect 圆角矩形
# triangle 三角形
# diamond 菱形
# arrow 飞镖形
),
### VisualMapOpts:视觉映射配置项
visualmap_opts = opts.VisualMapOpts(
is_show = True, # # 是否显示视觉映射 True|Fales
type_ = "color", # color 或 size
## 超过最大或最小值显示最大或最小的颜色
min_ = 0, # 最小值
max_ = 150, # 最大值
range_opacity = 0.5, # 图片和文字透明度
range_text = ["max","min"], # 两端的文本
range_color = ["blue",'yellow',"red"], # 过渡颜色
orient = "vertical", # horizontal水平,vertical垂直
## left靠左, right靠右, center居中, top靠上, bottom靠下
pos_right = "0%", # 百分比位置,
pos_bottom = "10px", # css长度单位
is_piecewise = True, # 是否为分段型
is_inverse = True, # 是否反转
),
### TooltipOpts:提示框配置项
tooltip_opts = opts.TooltipOpts(
is_show = True, # 是否显示提示框 True|Fales
## 触发类型
# item: 数据项,一般用于散点图,柱形图,折线图,饼图
# axis: 坐标轴,提示线,主要用于条形图,折线图等
trigger = "item",
## 触发条件:
trigger_on = "mousemove", # mousemove 鼠标移入 | click 点击触发
## 标签内容的格式
# 字符串的模板变量:
# {a}: 系列名series_name
# {b}: 数据名
# {c}: 值
formatter = "{a}:{b}-{c}", # 标签内容的格式
## 背景颜色
background_color = "black", # 背景颜色
# 蓝色(blue)
# 红色(red)
# 橙色(orange)
# 绿色(green)
# 紫色(purple)
# 黑色(black)
# 灰色(grey)
# 粉色(pink)
# 白色(white)
# 黄色(yellow)
# 棕色(brown)
# 青色(Cyan)
border_color = "white", # 边框颜色
border_width = 3, # 边框宽度
),
### AxisOpts: 坐标轴配置项
xaxis_opts = opts.AxisOpts(
is_show = True, # 是否显示x轴
## 坐标轴的类型:
# value: 数值轴,用于连续数据
# category: 类目轴,适用于离散数据,比如星期一,星期二等
# tame: 时间轴,适用于连续的时序数据
type_ = "category"
),
yaxis_opts = opts.AxisOpts(
is_show = True,
axisline_opts = opts.AxisLineOpts(is_show = False), # 是否显示y轴的线 True|Fales
axistick_opts = opts.AxisLineOpts(is_show = False), # 是否显示y轴的刻度 True|Fales
)
)
).render("全局配置.html")
系统配置全局代码
## 系列配置项
from pyecharts.charts import Line
line = (
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(
## ItemStylenOpts: 图元样式配置项
itemstyle_opts = opts.ItemStyleOpts(
## 图的颜色
# 适用纯色
# RGB "rgb(100,100,100)"
# RGBA "rgba(100,100,100,0.5)" #最后项填透明度
color = "red",
# 单独设置透明度
opacity = 0.6, # 图透明度
),
### LineStyleOpts: 线样式配置项
linestyle_opts = opts.LineStyleOpts(
width = 2, # 线宽
color = "green", # 线颜色
type_ = "dashed", # solid实线 | dashed虚线 | dotted点线
),
### LadelOpts: 标签配置项
label_opts = opts.LabelOpts(
# 标签在数据的位置:left左, right右, top上,bottom下方
# inside里面, insideLeft, insideRight, insideTop, insideBottom 等
position = "left", # 位置
color = "red", # 标签字体颜色
font_size = 10, # 标签字体大小
font_style = "italic", # normal非斜体 | italic斜体
font_weight = "bold", # bold 字体加粗
rotate = -40, # 标签旋转,-90到90
),
### MarkPointOpts: 标记点
markpoint_opts = opts.MarkPointOpts(
data = [
## type_:特殊标记类型,min, max, average平均值
## symbol: 特殊标记类图型更改
# circle 圆形
# rect 矩形
# roundRect 圆角矩形
# triangle 三角形
# diamond 菱形
# arrow 飞镖形
## symbol_size: 标记图形大小
opts.MarkPointItem(type_= "max",symbol = "arrow",symbol_size = 30),
opts.MarkPointItem(type_= "min",symbol = "arrow",symbol_size = 30)
]
),
### MarkLineOpts: 标记线
markline_opts = opts.MarkLineOpts(
data = [
opts.MarkLineItem(type_ = "average"),
],
label_opts = opts.LabelOpts(
color = "red"
)
)
)
).render("系统配置.html")
谢谢观看!!!
标签:Pyecharts,##,配置,Faker,add,图例,可视化,opts From: https://blog.csdn.net/lyx52Hertz/article/details/136719936