pyecharts库做成各种常见图表

pyecharts⽣成各种图表

pyecharts 是⼀个⽤于⽣成 Echarts 图表的类库,pyecharts 是⼀个⽤于⽣成Echarts 图表的类库。实际上就是 Echarts 与 Python 的对接。使⽤ pyecharts 可以⽣成独⽴的⽹⻚,也可以在 flflask , Django 中集成使⽤。

特 点:

1.简洁的API设计,使⽤如丝滑般流畅,⽀持链式调⽤

2.囊括了30+种常⻅图表,应有尽有

3.⽀持主流Notebook环境,Jupyter Notebook和JupyterLab

4.可轻松集成⾄Flask,Sanic,Django等主流Web框架

5.⾼度灵活的配置项,可轻松搭配出精美的图表

6.详细的⽂档和示例,帮助开发者重启的上⼿项⽬

7.超过400个以上的地图⽂件,并⽀持原⽣百度地图,为地理数据可视化提供灵

活的⽀持

1.pyecharts包含的图表
Bar(柱状图/条形图)
Bar3D(3D 柱状图)
Boxplot(箱形图)
EffectScatter(带有涟漪特效动画的散点图)
Funnel(漏⽃图)
Gauge(仪表盘)
Geo(地理坐标系)
Graph(关系图)
HeatMap(热⼒图)
Kline(K线图)
Line(折线/⾯积图)
Line3D(3D 折线图)
Liquid(⽔球图)
Map(地图)
Parallel(平⾏坐标系)
Pie(饼图)
Polar(极坐标系)
Radar(雷达图)
Sankey(桑基图)
Scatter(散点图)
Scatter3D(3D 散点图)
ThemeRiver(主题河流图)
WordCloud(词云图)
2.通用配置
xAxis,yAxis:平⾯直⻆坐标系中的 x、y 轴。(Line、Bar、Scatter、
EffectScatter、Kline)
legend:图例组件。图例组件展现了不同系列的标记(symbol),颜⾊和名字。可以通
过点击图例控制哪些系列不显示。
label:图形上的⽂本标签,可⽤于说明图形的⼀些数据信息,⽐如值,名称等。
lineStyle:带线图形的线的⻛格选项(Line、Polar、Radar、Graph、Parallel)
markLine&markPoint:图形标记组件,⽤于标记指定的特殊数据,有标记线和标记点
两种。(Bar、Line、Kline)
tooltip:提示框组件,⽤于移动或点击⿏标时弹出数据内容
toolbox:右侧实用工具箱
3.柱状图
from pyecharts.charts import Bar
from pyecharts import options

# 准备数据
province=['湖北','北京','安徽','云南','广东','南京','长沙','山东']
datal=[4000,6666,8888,9999,4444,3549,9000,1000]
data2=[5000,800,4000,600,5000,3000,800,7000]

# 创建图表对象
bar=Bar()

# 将数据渲染到表格上
bar.add_xaxis(province)       # 设置X轴标题
bar.add_yaxis('确诊人数',datal)
bar.add_yaxis('死亡人数',data2)

# 设置图表
bar.set_global_opts(
    title_opts=options.TitleOpts(title='重点城市疫情',subtitle='确诊人数和死亡人数'), ---- # 设置标题信息        
    toolbox_opts=options.ToolboxOpts() -----  # 显示工具栏
)

# 系列设置
bar.set_series_opts(
    # 是否显示数值
    label_opts=options.LabelOpts(is_show=False),
    #  添加标记点
    markpoint_opts=options.MarkPointOpts(
        data=[
            options.MarkPointItem(type_='min',name='最小值'),
            options.MarkPointItem(type_='max',name='最大值'),
        ]
    )
)

# 生成图表
bar.render('files/柱状图.html')--------#files为建立的package名称,用来存放做出来的柱状图
4.饼状图
from pyecharts.charts import Pie
from pyecharts import options

# 准备数据
data=[('苹果',155),('三星',100),('华为',500),('vivo',400),('小米',300)]

# 创建图标对象
pie=Pie()

# 关联数据
pie.add(
    # 设置系列名称
    series_name='手机销量',
    # 数据显示
    data_pair=data,
    # 空心部分和数据显示部分的比例
    radius=['1%','99%'],-----#百分比根据实际情况进行修改(空心和实心)
    rosetype='radius' ----- -- # 设置饼是不规则的,如果想要规则的话,也可以不写

)


#  额外系列设置
pie.set_global_opts(
    title_opts=options.TitleOpts(title='国产手机销量')
)
pie.set_series_opts(
    label_opts=options.LabelOpts(formatter='{b}:{d}%')-----# 例如小米30%
)

# 显示图表
pie.render('files/饼图.html')
5.饼图简化版
from pyecharts.charts import Pie
from pyecharts import options

pie=(
    Pie()
    .add(
        series_name='手机销量',
        data_pair=[('小米',100),('红米',200)], ----#准备的数据
        rosetype='radius',
        radius=['30%','70%']
    )
    .set_global_opts(title_opts=options.TitleOpts(title='国产手机销量'))
    .set_series_opts(
        label_opts=options.LabelOpts(formatter='{b}:{d}%')
    )
)

pie.render('templates/饼图.html')
6.折线图
from pyecharts.charts import Line
from pyecharts import options

#  准备数据
province=['湖北','北京','安徽','云南','广东','南京','长沙','山东']
datal=[4000,6666,8888,9999,4444,3549,9000,1000]


# 实例化一个图表对象
line=Line()

# 关联数据
line.add_xaxis(province)
line.add_yaxis(series_name='确诊人数',y_axis=datal,is_smooth=True) -------- # is_smooth=True为曲线,如果没有此项,则为直线

# 配置
line.set_global_opts(
    title_opts=options.TitleOpts(title='严重感染的城市'),
     toolbox_opts=options.ToolboxOpts()
 )
line.set_series_opts(
        markline_opts=options.MarkLineOpts(
         #设置平均值的标记线
         data=[options.MarkLineItem(name='平均值',type_='average')]
         #设置最大值的标记线
         data=[options.MarkLineItem(name='最大值',type_='max')]
        )
)

line.render('files/折线图.html')
7.地图
from pyecharts.charts import Map
from pyecharts import options

#  数据准备
data=[('云南',155),('河北',100),('河南',3000),('湖北',400),('山西',300)]

# 生成一个图表对象
map=Map()

# 渲染数据
map.add(series_name='国内感染城市',data_pair=data,maptype='world')-----# maptype='world'为世界地图,去掉就是中国地图

map.set_global_opts(
    # 右下角标题
    title_opts=options.TitleOpts(title='感染人数'), 
    # 隐藏顶部的数据导航显示
    legend_opts=options.LegendOpts(is_show=True),
    title_opts=options.TitleOpts(title='大标题',subtitle='副标题'),
    # 设置颜⾊块标记范围
    visualmap_opts=options.VisualMapOpts(
        max_=500,
        min_=0,
        is_piecewise=True,    
        pieces=[   # 按照这个来显示
            {"min":0,"max":100,"label":'0-100','color':'pink'},
            {"min":100,"max":200,"label":'100-200','color':'yello'},
            {"min":200,"max":1000,"label":'200-1000','color':'blue'},
            {"min":1000,"max":2000,"label":'1000-2000','color':'orange'},
            {"min":2000,"label":'>=2000','color':'red'},
        ]
    )
)

# 生成地图
map.render('files/map.html')
8.组合图
from pyecharts.charts import  Bar,Line,Grid
from pyecharts import options

# 先准备好数据,然后根据数据画折线图和柱状图,再将折线图和柱状图组合在一起
province=['湖北','北京','安徽','云南','广东','南京','长沙','山东']
datal=[4000,6666,8888,9999,4444,3549,9000,1000]
data2=[5000,800,4000,600,5000,3000,800,7000]


bar=Bar()   # 实例化柱状图对象
line=Line()   # 实例化折线图对象

# 画柱状图
bar.add_xaxis(province)
bar.add_yaxis('确诊人数',datal)
bar.add_yaxis('已故人数',data2)
bar.set_global_opts(
    title_opts=options.TitleOpts(title='疫情信息')
)


# 画折线图
line.add_xaxis(province)
line.add_yaxis('确诊人数',datal)
line.add_yaxis('已故人数',data2)


# 创建组合对象
grid=Grid(init_opts=options.InitOpts(width='1800px',height='800px'))

# 将柱状图和折线图嵌入过来
grid.add(bar,grid_opts=options.GridOpts(
    pos_top='100',
    pos_left='60',
    width='500',
    height='400'
))

grid.add(line,grid_opts=options.GridOpts(
    pos_top='50',
    pos_left='100',
    width='300',
    height='400'
 ))

grid.render('files/组合.html')

注意:可以组合所有图表,根据实际情况

你可能感兴趣的:(pycharm第三方库,数据可视化,python,可视化)