南丁格尔玫瑰图
南丁格尔玫瑰首要经过制作饼状图进行完成,其间一个要害点是设置rosetype参数为area,详细完成步骤如下:
import pandas as pd
from pyecharts.charts import Pie
from pyecharts import options as opts
# 导入Excel文件
df = pd.read_excel('data3.xls')
x_data = df['区域']
y_data = df['累计']
# 将数据转换为列表加元组的格局([(key1, value1), (key2, value2)])
data = [list(z) for z in zip(x_data, y_data)]
# 数据排序
data.sort(key=lambda x: x[1])
# 创立饼形图并设置画布大小
pie = Pie(init_opts=opts.InitOpts(width='800px', height='400px'))
# 为饼形图添加数据
pie.add(
series_name="区域", # 序列称号
data_pair=data, # 数据
radius=["8%", "160%"], # 内外半径
center=["60%", "80%"], # 方位
rosetype='area', # 玫瑰图
color='auto' # 色彩主动突变
)
pie.set_global_opts(
# 不显示图例
legend_opts=opts.LegendOpts(is_show=False),
# 视觉映射
visualmap_opts=opts.VisualMapOpts(is_show=False,
min_=100, # 色彩条最小值
max_=450000, # 色彩条最大值
)
)
pie.set_series_opts(
# 序列标签
label_opts=opts.LabelOpts(position='inside', # 标签方位
rotate=45,
font_size=8) # 字体大小
# formatter="{b}: {c}") # 标签格局
)
# 渲染图表到HTML文件,存放在程序地点目录下
pie.render("mypie1.html")
双y轴可视化数据剖析表图的完成(柱形图 折线图)
双y轴望文生义就是两个y轴,下面完成柱状图 折线图双y轴图表的制作,其间柱形图y轴表示月销量,折线图y轴表示3个渠道的月平均销量,效果如下图所示。 完成双y轴可视化剖析图表的两个要害字:一是运用Bar模块的extend_axis()办法扩展y轴;二是对add_yaxis()办法的yaxis_index参数进行设置,该参数用于指定y轴的索引值,从0开始。双y轴索引值别离0和1。
import pyecharts.options as opts
from pyecharts.charts import Bar, Line
import pandas as pd
import numpy
# 导入Excel文件
df = pd.read_excel('books2.xlsx')
x_data = list(df['月份'])
y1 = list(df['京东'])
y2 = list(df['天猫'])
y3 = list(df['自营'])
# 色彩列表
colors = ["#5793f3", "#FFD700", "#675bba"]
# 求平均值并保留整数位
y_average = list(((df['京东'] df['天猫'] df['自营']) / 3).apply(numpy.round))
# 制作柱形图
legend_list = ["京东", "天猫", "自营"]
bar = (
Bar(init_opts=opts.InitOpts(width="1000px", height="500px"))
.add_xaxis(xaxis_data=x_data)
.add_yaxis(
series_name="京东",
yaxis_data=y1,
color=colors[0],
yaxis_index=0,
)
.add_yaxis(
series_name="天猫", yaxis_data=y2, color=colors[1]
)
.add_yaxis(
series_name="自营", yaxis_data=y3, color=colors[2]
)
.extend_axis(yaxis=opts.AxisOpts())
)
# 制作折线图
line = Line()
line.add_xaxis(xaxis_data=x_data)
line.add_yaxis(
series_name="平均销量",
y_axis=y_average, # y轴平均值
color='red',
yaxis_index=1,
)
# 渲染图表到HTML文件,存放在程序地点目录下
bar.overlap(line).render("barline.html")
饼状图与环形图组合图表的完成
饼状图与环形图组合,并且饼形图展现 “北上广”三大首要城市的销量状况,环形图展现其他省份的销量状况。 制作饼形图与环形图组合图表的一个要害点是创立两个饼形图,并设置不同的半径参数,详细完成如下。
import pyecharts.options as opts
from pyecharts.charts import Pie
# 饼形图数据
x1 = ["北京", "上海", "广州"]
y1 = [1168, 890, 578]
data1 = [list(z) for z in zip(x1, y1)]
# 环形图数据
x2 = ["北京", "上海", "河南省", "广州", "湖南省", "四川省", "湖北省", "河北省", "江苏省", "浙江省"]
y2 = [1168, 890, 234, 578, 345, 225, 188, 101, 999, 1300]
data2 = [list(z) for z in zip(x2, y2)]
# 饼形图与环形图组合
(
Pie(init_opts=opts.InitOpts(width="1000px", height="600px"))
# 饼形图
.add(
series_name="出售区域",
data_pair=data1,
radius=[0, "30%"],
label_opts=opts.LabelOpts(position="inner"), # 饼形图标签
)
# 环形图
.add(
series_name="出售区域",
radius=["40%", "55%"],
data_pair=data2,
# 环形图标签
label_opts=opts.LabelOpts(
position="outside", # 标签方位
# 标签格局化
formatter="{a|{a}}{bg|}n{hr|}n {b|{b}: }{c} {per|{d}%} ",
background_color="#FAFAD2", # 背景色
border_color="#FFA500", # 边框色彩
border_width=1, # 边框宽度
border_radius=4, # 边框半径
# 利用富文本款式,定义标签效果
rich={
"a": {"color": "black", "lineHeight": 22, "align": "center"},
"bg": {
"backgroundColor": "#FFA500",
"width": "100%",
"align": "right",
"height": 22,
"borderRadius": [4, 4, 0, 0],
},
"hr": {
"borderColor": "#aaa",
"width": "100%",
"borderWidth": 0.5,
"height": 0,
},
"b": {"fontSize": 14, "lineHeight": 33},
"per": {
"color": "#eee",
"backgroundColor": "#334455",
"padding": [2, 4],
"borderRadius": 2,
},
},
),
)
.set_global_opts(legend_opts=opts.LegendOpts(pos_left="left", orient="vertical"))
.set_series_opts(
tooltip_opts=opts.TooltipOpts(
trigger="item", formatter="{a} <br/>{b}: {c} ({d}%)"
)
)
.render("mypies.html")
)