导入模块:
from pyecharts import Bar
1.柱状图
bar = Bar('我的第一个图标','副标题')
bar.add(
'服装',
['衬衫','羊毛衫','雪纺衫','裤子','高跟鞋','臭袜子'],
[2,20,36,10,75,90],
#添加一个工具栏
is_more_utils =True
)
bar.show_config()
# print_echarts_options()
bar.render('html/02.柱状图-有工具栏.html') # 生成本地 HTML 文件
2.柱状图和条形图
(1)画一个
bar=Bar('两个商家的数据堆叠展示')
bar.add(
'商家A',
['衬衫','羊毛衫','雪纺衫','裤子','高跟鞋','臭袜子'],
[5,20,36,10,75,90],
is_stack =True # 是否堆叠,是!
)
bar.add(
'商家B',
['衬衫','羊毛衫','雪纺衫','裤子','高跟鞋','臭袜子'],
[10,40,46,40,25,30],
is_stack =True
)
# print_echarts_options()
bar.render('html/03.柱状图-堆叠.html') # 生成本地 HTML 文件
(2)标记出点和线:
# 给柱状图加标记
bar=Bar('两个商家的数据堆叠展示')
bar.add(
'商家A',
['衬衫','羊毛衫','雪纺衫','裤子','高跟鞋','臭袜子'],
[5,20,36,10,75,90],
mark_point = ['average'] # 标记最接近均值的柱子
)
bar.add(
'商家B',
['衬衫','羊毛衫','雪纺衫','裤子','高跟鞋','臭袜子'],
[10,40,46,40,25,30],
mark_line = ['max','min']
)
# print_echarts_options()
bar.render('html/04.柱状图-堆叠-有标记.html') # 生成本地 HTML 文件
(3)柱状图转换x轴和y轴, 就是变成条形图
# 给柱状图加标记
bar=Bar('转换x-y轴')
bar.add(
'商家A',
['衬衫','羊毛衫','雪纺衫','裤子','高跟鞋','臭袜子'],
[5,20,36,10,75,90],
)
bar.add(
'商家B',
['衬衫','羊毛衫','雪纺衫','裤子','高跟鞋','臭袜子'],
[10,40,46,40,25,30],
is_convert=True
)
# print_echarts_options()
bar.render('html/05.柱状图-转换x-y轴.html') # 生成本地 HTML 文件
3.折线图
(1)画个图
# 导入折线图的模块
from pyecharts import Line
# 准备数据和名称
x_axis = ['衬衫','羊毛衫','雪纺衫','裤子','高跟鞋','臭袜子']
va = [5,20,36,10,75,90]
vb = [10,40,46,40,25,30]
#画图
line =Line('折线图示例')
line.add('商家A',x_axis,va,mark_point=['average'])
line.add('商家B',x_axis,vb,is_smooth=True,mark_line=['max','min'])
line.render('html/06.折线图.html')
(2)折线图改显示效果
line =Line('折线图示例')
line.add('商家A',x_axis,va,mark_point=['average','max','min'],
mark_point_symbol='diamond',
mark_point_textcolor='#ff0000')
line.add('商家B',x_axis,vb,is_smooth=True,mark_point=['max','min'],
mark_point_symbol='arrow',
mark_point_symbolsize=60)
line.render('html/07.折线图-加显示效果.html')
3.面积图
line =Line('面积图示例')
line.add('商家A',x_axis,va,
is_fill=True,
area_opacity=0.5)
line.add('商家B',x_axis,vb,
is_fill=True,
area_color='#000000',
area_opacity=0.2,
is_smooth=True)
line.render('html/08.面积图-.html')
4.饼图
(1)饼图
# 导入饼图的模块
from pyecharts import Pie
# 准备数据
attr = ['衬衫','羊毛衫','雪纺衫','裤子','高跟鞋','臭袜子']
va = [5,20,36,10,75,90]
vb = [10,40,46,40,25,30]
pie = Pie('饼图示例')
pie.add('商品',attr,va,is_label_show = True)
pie.render('html/09.饼图.html')
(2)更改形状 --环形图
pie = Pie('饼图示例')
pie.add('商品',attr,va,
radius=[50,80],
label_text_color=None,
is_label_show = True,
legend_pos='right',
legend_orient='vertical')
pie.render('html/10.环形图.html')
5.散点图
(1)画个散点图
# 导入散点图的模块
from pyecharts import Scatter
# 还是这组数据
attr = ['衬衫','羊毛衫','雪纺衫','裤子','高跟鞋','臭袜子']
va = [5,20,36,10,75,90]
vb = [10,40,46,40,25,30]
scatter=Scatter('散点图示例')
scatter.add('商家A',np.arange(1,7)*10,va)
scatter.add('商家B',np.arange(1,7)*10,vb)
scatter.render('html/11.散点图.html')
(2)散点图优化
scatter=Scatter('散点图示例')
scatter.add('商家A',np.arange(1,7)*10,va)
scatter.add('商家B',np.arange(1,7)*10,vb,
is_visualmap=True,
visual_type='size',
visual_range_size=[0,60])
scatter.render('html/12.散点图优化显示.html')
6.词云
# 拿词云的数据
import csv
attr =[]
value =[]
with open('word.csv','r',encoding='utf-8') as csvfile:
lines = csv.reader(csvfile)
for each in lines:
attr.append(each[0])
value.append(int(each[1]))
# 导入词云模块
from pyecharts import WordCloud
wordcloud = WordCloud('词云',width=1000,height=600)
wordcloud.add('',attr,value,word_size_range= [10,50],rotate_step=90)
wordcloud.render('html/13.词云.html')
7.堆叠两个表
#同时bar与line
attr = ['衬衫','羊毛衫','雪纺衫','裤子','高跟鞋','臭袜子']
va = [5,20,36,10,75,90]
vb = [10,40,46,40,25,30]
bar = Bar('bar+line示例')
bar.add('bar',attr,va)
line=Line()
line.add('line',attr,vb)
from pyecharts import Overlap
overlap = Overlap()
overlap.add(bar)
overlap.add(line)
overlap.render('html/14.重叠在一起.html')
8.增加动态点
from pyecharts import EffectScatter
attr = ['衬衫','羊毛衫','雪纺衫','裤子','高跟鞋','臭袜子']
va = [5,20,36,10,75,90]
vb = [10,40,46,40,25,30]
line = Line('line+es 效果示例')
line.add('',attr,va,is_random=True)
es = EffectScatter()
es.add('',attr,va,effect_scale=8)
overlap = Overlap()
overlap.add(line)
overlap.add(es)
overlap.render('html/15.动态点效果.html')