实验七 pyecharts交互式图形绘制(一)

1.考察知识点绘制玫瑰图

编写程序,根据“商家A和商家B的各类商品的销售数据.xlsx”使用pyecharts绘制一个玫瑰图。

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

pie = (
    Pie()
    .add("", [('商家A衬衫', 120), ('商家B衬衫', 60),
              ('商家A毛衣', 56), ('商家B毛衣', 140),
              ('商家A领带', 28), ('商家B领带', 153),
              ('商家A裤子', 98), ('商家B裤子', 145),
              ('商家A风衣', 129), ('商家B风衣', 160),
              ('商家A高跟鞋', 28), ('商家B高跟鞋', 70),
              ('商家A袜子', 107), ('商家B袜子', 54)],
         rosetype='radius', radius=[20, 100])
    .set_global_opts(title_opts=opts.TitleOpts(title="商家A和商家B各类商品的销售数据玫瑰图"),
                     legend_opts=opts.LegendOpts(pos_left=10, pos_top=80,
                                                 orient='vertical'))
    .set_series_opts(label_opts=opts.LabelOpts(formatter='{b}:{c} ({d}%)'))

)

pie.render('商家A和商家B各类商品的销售数据玫瑰图.html')

2. 考察知识点绘制词云图

编写程序。根据“worldcloud.csv”部分宋词词频数据,绘制词云图。

from pyecharts import options as opts
from pyecharts.charts import WordCloud
import pandas as pd
data= pd.read_csv(r'D:\python\data\wordcloud.csv', encoding='gbk')#中文字符编码
words = list(data['词语'].values)
num = list(data['频数'].values)
data=[(i,str(j)) for i, j in zip(words, num)]
wordcloud = (WordCloud()
           .add(series_name='词统计', data_pair=data, word_size_range=[10, 100])
           .set_global_opts(title_opts=opts.TitleOpts(
               title='部分宋词词频词云图', title_textstyle_opts= opts.TextStyleOpts(font_size=23)),tooltip_opts=opts.TooltipOpts(is_show=True)))
wordcloud.render('部分宋词词频词云图.html')

3.考察知识点绘制热力图

编写程序。根据某网站某周一天24小时的点击量部分数据(heatmap.xlsx)绘制热力图。

from pyecharts import options as opts
import pandas as pd
from pyecharts.charts import HeatMap
data = pd.read_excel(r'D:\python\data/heatmap.xlsx', index_col=0)#读取数据,设置第一列为索引值
y_data = list(data.columns)#返回列表形式列标签
x_data = list(data.index)#返回列表形式索引值
values = data.iloc[: , 0: 7].values.tolist()#取多列数据并转化为列表形式
value = [[i, j, values[i][j]]for i in range(len(x_data)) for j in range(len(y_data)) ]
heatmap = (HeatMap(init_opts=opts.InitOpts(width='800px', height='500px'))
    .add_xaxis(x_data)
    .add_yaxis('',y_data,value,label_opts=opts.LabelOpts( position='inside'))
    .set_global_opts(title_opts=opts.TitleOpts(title='某网站某周一天24小时的点击量热力图'),visualmap_opts=opts.VisualMapOpts(pos_bottom='center')))
heatmap.render('某网站某周一天24小时的点击量热力图.html')

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值