python可视化:pyecharts是个神奇的工具(一)

摘要:pyecharts不仅可以生成传统的柱形图,折线图,散点图等,还可以方便快捷地实现地图热力图、词云图等等。美观,便捷,十分靠谱,如何快速上手,将手中的数据可视化,本篇做一下记录——

pyecharts官方文件:http://pyecharts.org/#/zh-cn/intro

**

1.数据准备

pyecharts作图如何直接应用csv-utf8文件中的数据?
案例:做人物画像词云图

**

import pandas as pd
import numpy as np
import pyecharts.options as opts#新版pyechats包属性设置都整合到了同一模块中
from pyecharts.charts import WordCloud
data = pd.read_csv('data.csv',usecols=[0,1,2],names=['人群', '标签', '频次'])#读取文件里特定列,重命名列名
data.head()
data= data[data.人群 == '女性']#数据筛选,特定人群数据
list=data.values.tolist()
a=np.array(list)
a1=[]
a1.append(a[:,1:2])
a1=np.array(a1)
a1= a1.ravel()#多维数组降维,获取到横轴对应数据
a2=[]
a2.append(a[:,2:3])
a2=np.array(a2)
a2 = a2.ravel()#多维数组降维,获取到纵轴对应数据
list = [[a1[i],a2[i]] for i in range(len(a1))] #首先创建数据对

2.基本图表的绘制

词云图:

(#词云图
    WordCloud()
    .add(series_name="用户画像词云图", data_pair=list,word_size_range=[6, 66])
    .set_global_opts(
        title_opts=opts.TitleOpts(
            title="用户画像词云图", title_textstyle_opts=opts.TextStyleOpts(font_size=23),
            subtitle="女性",
            pos_left = 'center',
            item_gap = 15,),
        tooltip_opts=opts.TooltipOpts(is_show=True),
    )
    .render("wordcloud_w.html")
)

饼图:

from pyecharts.charts import Pie

(#饼图
    Pie(init_opts=opts.InitOpts(width="1600px", height="800px", bg_color="#2c343c"))
    .add(
        series_name="标签",
        data_pair=list,
        rosetype="radius",
        radius="55%",
        center=["50%", "50%"],
        label_opts=opts.LabelOpts(is_show=False, position="center"),
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(
            title="画像标签分布饼图",
            pos_left="center",
            pos_top="20",
            title_textstyle_opts=opts.TextStyleOpts(color="#fff"),
        ),
        legend_opts=opts.LegendOpts(is_show=False),
    )
    .set_series_opts(
        tooltip_opts=opts.TooltipOpts(
            trigger="item", formatter="{a} 
{b}: {c} ({d}%)"
), label_opts=opts.LabelOpts(color="rgba(255, 255, 255, 0.3)"), ) .render("customized_pie.html") )

3.直角坐标系的图表绘制:


a1=a1.tolist()#横轴数据生成
a2=a2.tolist()#纵轴数据生成

from pyecharts.charts import Bar
c = (#柱状图
    Bar()
    # .add_xaxis(a1)
    # .add_yaxis("频数", a2)
    .add_xaxis(xaxis_data=a1)
    .add_yaxis(
        "频数",
        a2,)

    .set_global_opts(title_opts=opts.TitleOpts(title="柱状图"))
    .render("bar_is_selected.html")
)

你可能感兴趣的:(python,数据可视化,python,数据可视化)