【新手0基础7天学会python可视化第四天:precharts(二)】内附详细代码

开始

大家好呀!今天我们继续来学习pyecharts,上一次我们绘制了基础的几个图形,包括柱状图、折线图、饼图、环状图、多图等等,今天我们继续学习使用pyecharts来进行其它图的绘制。

极坐标图

极坐标图(Polar Coordinates)是一种以极坐标系为基础的可视化图表,适合展示周期性数据、方向分布或具有角度特征的数据。它主要通过雷达图(Radar)、极坐标柱状图(Bar in Polar,也叫玫瑰图)和极坐标散点图(Scatter in Polar)等形式呈现,在这里我们会给大家展示雷达图和极坐标柱状图的绘制。

雷达图 Radar

雷达图的绘制同样遵循四步走,忘记的朋油~可以去上一节回顾一下。第一步,进行实例化,我们要进行雷达图的绘制。第二步,添加轴以及填充数据。第三步,使用全局配置项对标题进行了修改。第四步也就是最后一步,用.render()渲染生成一个独立的网页。大功告成ヾ(✿゚▽゚)ノ

#雷达图
from pyecharts.charts import Radar # Radar库导入
s_radar = Radar() #实例化

s_radar.add_schema(schema=[     #添加架构(类似轴)
    opts.RadarIndicatorItem(name="temp",max_=30),  #设置各项的名称以及最大值
    opts.RadarIndicatorItem(name="atemp",max_=40),
    opts.RadarIndicatorItem(name="humidity",max_=100),
    opts.RadarIndicatorItem(name="windspeed",max_=20),
    opts.RadarIndicatorItem(name="casual",max_=50),
    opts.RadarIndicatorItem(name="registered",max_=200)],
    splitarea_opt=opts.SplitAreaOpts(is_show=True,
                                    areastyle_opts=opts.AreaStyleOpts(opacity=1))
)
s_radar.add(series_name="春天",
           data=[avg_2011.iloc[0].tolist()],
           color='#825E8C',
           areastyle_opts=opts.AreaStyleOpts(opacity=0.1))

s_radar.add(series_name="夏天",data=[avg_2011.iloc[1].tolist()],color='#42A881')
s_radar.add(series_name="秋天",data=[avg_2011.iloc[2].tolist()],color='#F27405')
s_radar.add(series_name="冬天",data=[avg_2011.iloc[3].tolist()],color='#35557E')

s_radar.set_global_opts(
    title_opts=opts.TitleOpts(title="2011各季度气候与用户量雷达图")
)
s_radar.render('radar.html')

在这里插入图片描述
当然,我们还可以设置显示范围,比如,只显示春天的数据。

玫瑰图 Polar

from pyecharts.charts import Polar

pol = Polar() #实例化

pol.add_schema(angleaxis_opts=opts.AngleAxisOpts(data=month)) #添加轴

pol.add('casual',casual,type_="bar",stack='1')
pol.add('registered',registered,type_="bar",stack='1') #分两次画图,设定两个系列的柱子堆叠层级一致

pol.set_global_opts(title_opts=opts.TitleOpts(title="2011年各月各类用户量玫瑰图")) #添加标题

pol.render('polar.html') #渲染成html文件

在这里插入图片描述

平行坐标系图 Parallel

平行坐标系图(Parallel Coordinates)是一种用于可视化多维数据的强大工具,尤其适合展示和分析具有多个属性的数据集之间的关系、模式和异常值。

基础平行坐标系

学了这么多,大家肯定会发现,pyecharts中各种图的绘制都大差不差,大致就是按照四步走,这里不再过多叙述,大家可以自行体会

#基础平行坐标系图Parallel()
from pyecharts.charts import Parallel
#Parallel();.add_schema();.add()函数添加数据相关元素
par = Parallel()  #实例化创建平行坐标系对象

par.add_schema(schema= [opts.ParallelAxisOpts(dim=0,name="temp"),                   opts.ParallelAxisOpts(dim=1,name="humidity"),                       opts.ParallelAxisOpts(dim=2,name="windspeed"),                       opts.ParallelAxisOpts(dim=3,name="weather"),                       opts.ParallelAxisOpts(dim=4,name="count")
                      ]) #添加轴

par.add(series_name="weather",data=weather2011_9.values.tolist()) #添加数据

par.set_global_opts(title_opts=opts.TitleOpts(title="天气分布平行坐标系图"))  #添加标题

par.render('Parallel.html')

在这里插入图片描述

分类平行坐标图

好的,我们现在来进阶一下,从上面我们可以观察到基础平行坐标系图绘制时单一颜色导致线条密集重叠(过度绘制),难以区分不同天气模式,这时候我们就需要绘制分类平行系图了。

这时我们需要简单处理一下我们的数据,将其按类别拆分,再以此add到我们的图中并设置不同的颜色,其实也不难对吧ヽ( ̄▽ ̄)ノ

#平行坐标图+色调
w1 = weather2011_9.loc[weather2011_9['weather']==1,:]
w2 = weather2011_9.loc[weather2011_9['weather']==2,:]
w3 = weather2011_9.loc[weather2011_9['weather']==3,:]
par = Parallel()

par.add_schema(schema=[opts.ParallelAxisOpts(dim=0,name="temp"),                       opts.ParallelAxisOpts(dim=1,name="humidity",min_=40),                       opts.ParallelAxisOpts(dim=2,name="windspeed",min_=0,max_=45),                       opts.ParallelAxisOpts(dim=3,name="weather",min_=0,max_=3),                       opts.ParallelAxisOpts(dim=4,name="count")
                      ])

par.add(series_name="w1",data=w1.values.tolist())
par.add(series_name="w2",data=w2.values.tolist(),linestyle_opts=opts.LineStyleOpts(color='#84C1FF'))
par.add(series_name="w3",data=w3.values.tolist(),linestyle_opts=opts.LineStyleOpts(color='#73BF00'))

par.set_global_opts(title_opts=opts.TitleOpts(title="天气分布平行坐标系图"))

par.render('Parallel+.html')

这样按颜色区分类别就很清晰明了了
在这里插入图片描述

日历图 Calendar

日历图(Calendar)是用于展示时间序列数据的可视化工具,能够直观呈现特定时间段内数据的分布和变化趋势,下面教我们如何绘制

#日历图Calendar()
from pyecharts.charts import Calendar
day_cal = Calendar()  # 创建Calendar对象实例

day_cal.add("count",
            [list(z) for z in zip(x,x_value)],
            calendar_opts = opts.CalendarOpts(range_='2011') # 设置日历范围为2011年
           )

day_cal.set_global_opts(visualmap_opts = opts.VisualMapOpts(min_=0, # 颜色映射最小值
                        max_=6000, # 颜色映射最大值
                        is_piecewise=True, #是否分段
                        orient="horizontal",  # 颜色条方向(horizontal水平 / vertical垂直)
                        pos_top="230px",
                        pos_left="200px"),
                        title_opts=opts.TitleOpts(title="2011年日历图")  
)
day_cal.render('calendar.html')

效果如下:
在这里插入图片描述

地理图表

地理图表相关的类用于展示地理信息数据,下面讲两种主要地理图表类Geo和Map,这两种方法对省份类别数据的处理稍有不同,下面我们来看一下

Geo

要注意,在使用Geo时,类中的省份不能包含“省”、“市”、“自治区”、“壮族”、“回族”以及“维吾尔”等字眼,因此大家使用前需要对省份类别数据进行简单的处理。

heatmap + 连续色谱

# heatmap+连续色谱
from pyecharts.charts import Geo

gdp_heatmap = Geo() #实例化
gdp_heatmap.add_schema(maptype="china")  # 设置地图类型
gdp_heatmap.add("province_gdp",
                [list(z) for z in zip(province_name1, gdp2020)],
                type_='heatmap') # 添加数据

gdp_heatmap.set_global_opts(visualmap_opts = opts.VisualMapOpts(is_piecewise=False,
         														min_=0,                                                                
																max_=120000),                            
title_opts = opts.TitleOpts(title="2020年全国GDP地理热图")) # 配置全局配置项

gdp_heatmap.render("全国GDP地理热图.html") # 使用render方法保存为html文件

在这里插入图片描述

scatter + 分段色谱

scatter和heatmap类似,只不过表现形式不同,是以点的形式表现数值

# scatter + 分段色谱 
from pyecharts.globals import ChartType

gdp_scatter = Geo() # 实例化
gdp_scatter.add_schema(maptype="china") # 设置地图类型

gdp_scatter.add("province_gdp",
               [list(z) for z in zip(province_name1,gdp2020)],
               type_=ChartType.EFFECT_SCATTER) # 添加数据

gdp_scatter.set_series_opts(label_opts=opts.LabelOpts(is_show=False)) # 配置视觉映射配置项

gdp_scatter.set_global_opts(visualmap_opts=opts.VisualMapOpts(is_piecewise=True,
                                                             min_=0,
                                                                max_=120000),
                            title_opts = opts.TitleOpts(title="全国GDP地理点坐标图")) # 配置全局配置项
gdp_scatter.render("GDP地理点坐标图.html")  #渲染成html文件

在这里插入图片描述

Map

Map 和 Geo 不同的点在于 Map 对类中的省份和直辖市的名称中要包含“省”、“市”、“自治区”、“壮族”、“回族”以及“维吾尔”等字眼,因此在数据处理时要加以注意。

# Map() + 连续色谱 注意Map类中省份需要包含省、市。自治区等字眼
from pyecharts.charts import Map
from pyecharts import options as opts

gdp_map = Map() # 实例化

gdp_map.add("province_gdp",
            [list(z) for z in zip(province_name,gdp2020)],
            maptype="china",
           is_roam=False,
           # label_opts=opts.LabelOpts(is_show=False) #不缩放
           )

gdp_map.set_global_opts(visualmap_opts=opts.VisualMapOpts(is_piecewise=False,
                                                             min_=0,
                                                            max_=120000),
                        title_opts = opts.TitleOpts(title="全国GDP填充地图",subtitle='单位:亿元'),
                       legend_opts=opts.LegendOpts(is_show=False))
gdp_map.render("全国GDP填充地图.html") 

在这里插入图片描述
好的今天就到这里吧,成功只差一步,下次我们去学习如何制作一张完整的可视化大屏,下次见( ̄▽ ̄)~*

创作不易,亲亲求点赞求收藏呀ヾ(=・ω・=)o
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值