文章目录
导入模块 添加数据
from pyecharts.charts import *
# pyecharts的配置项
from pyecharts import options as opts
x_data = ['Apple', 'Huawei', 'Xiaomi', 'Oppo', 'Vivo', 'Meizu']
y_data = [123, 153, 89, 107, 98, 23]
柱状图(Bar)
# 新建一个Bar实例,命名为chart
chart = Bar()
# 为chart添加x轴的数据
chart.add_xaxis(x_data)
# 为chart添加y轴的数据
chart.add_yaxis('', y_data)
通过ChartItem调整单个数据项样式
将Huawei这个数据项设置为蓝色,且字体放大
x_data = ['Apple', 'Huawei', 'Xiaomi', 'Oppo', 'Vivo', 'Meizu']
y_data = [
opts.BarItem(
name='Apple',
value=123),
opts.BarItem(
name='Huawei',
value=153,
# 设置颜色
itemstyle_opts=opts.ItemStyleOpts(color='blue'),
# 设置字体大小
label_opts=opts.LabelOpts(font_size=20)
),
opts.BarItem(
name='Xiaomi',
value=89),
opts.BarItem(
name='Oppo',
value=107),
opts.BarItem(
name='Vivo',
value=98),
opts.BarItem(
name='Meizu',
value=23)
]
chart = Bar()
chart.add_xaxis(x_data)
chart.add_yaxis('', y_data)
添加坐标轴
# 左边坐标轴的数据
y_data_1 = [123, 153, 89, 107, 98, 23]
# 右边坐标轴的数据
y_data_2 = [13, 15, 9, 17, 8, 6]
chart = Bar()
chart.add_xaxis(x_data)
chart.add_yaxis(
'左侧',
y_data_1,
yaxis_index=0
)
chart.add_yaxis(
'右侧',
y_data_2,
yaxis_index=1
)
# 添加坐标轴
chart.extend_axis(yaxis=opts.AxisOpts())
坐标轴旋转
chart.add_xaxis(x_data)
chart.add_yaxis('', y_data)
# xy轴翻转
chart.reversal_axis()
# 调整标签位置
chart.set_series_opts(label_opts=opts.LabelOpts(position='right'))
折线图(Line)
# 新建一个Line实例,命名为chart
chart = Line()
chart.add_xaxis(x_data)
chart.add_yaxis('', y_data)
折线面积
chart.add_yaxis(
'',
y_data,
# 区域颜色填充,透明度设置为0.5
areastyle_opts=opts.AreaStyleOpts(opacity=0.5)
)
多图层叠
x_data = ['Apple', 'Huawei', 'Xiaomi', 'Oppo', 'Vivo', 'Meizu']
y_data_1 = [123, 153, 89, 107, 98, 23]
y_data_2 = [13, 15, 9, 17, 8, 6
chart_1 = Bar()
chart_1.add_xaxis(x_data)
chart_1.add_yaxis('', y_data_2)
chart_2 = Line()
chart_2.add_xaxis(x_data)
chart_2.add_yaxis('', y_data_1)
# overlap层叠
chart_1.overlap(chart_2)
散点图(Scatter)
# 新建一个Scatter实例,命名为chart
chart = Scatter()
chart.add_xaxis(x_data)
chart.add_yaxis('', y_data)
饼图(Pie)
data_pair = [['Apple', 123], ['Huawei', 153], ['Xiaomi', 89], ['Oppo', 107], ['Vivo', 98], ['Meizu', 23]]
chart = Pie()
chart.add(
'',
data_pair
)
圆环
chart = Pie()
chart.add(
'',
data_pair,
radius=['40%', '80%']
)
南丁格尔玫瑰
chart = Pie()
chart.add(
'',
data_pair,
rosetype='area'
)
地理区域图(Map)
data = [('广东', 61), ('湖北', 85), ('湖南', 115), ('四川', 137), ('重庆', 119), ('黑龙江', 66), ('浙江', 117),('山西', 52), ('河北', 80), ('安徽', 99), ('河南', 101), ('山东', 75), ('西藏', 53)]
chart = Map()
chart.add('', data, maptype='china')
添加视觉组件,通过颜色来反映数值
chart.set_global_opts(
# 视觉组件是必须的,需要通过视觉组件的颜色来展示数据大小
visualmap_opts=opts.VisualMapOpts(max_=150),
)
地理坐标图(Geo)
地区热力图(HeatMap)
chart = Geo()
chart.add_schema(
maptype='china'
)
chart.add(
"",
data,
type_='heatmap'
)
# 全局配置项, HeatMap需要配合视觉组件
chart.set_global_opts(
visualmap_opts=opts.VisualMapOpts(
type_='color'
),
)
地区路径图(Line)
chart = Geo()
chart.add_schema(maptype="china")
chart.add(
"武汉出发",
# 数据格式(from, to)
data_pair=[("武汉", "上海"), ("武汉", "北京"), ("武汉", "深圳"), ("武汉", "乌鲁木齐")],
type_='lines'
)
漏斗图
data_pair = [['访问', 30398], ['注册', 15230], ['加入购物车', 10045], ['提交订单', 3109], ['付款成功', 1698]]
chart = Funnel()
chart.add(
"",
data_pair
)