
pyecharts
在绘制图表时一些的技巧,帮助读者画出更加酷炫以及可读性更高的图,当然在这之前呢,我们首先需要导入相应的所要用到的模块frompyechartsimportoptionsasopts
frompyecharts.chartsimportBar,Timeline,Map,Pie,Line
frompyecharts.fakerimportFaker
frompyecharts.globalsimportThemeType
frompyecharts.commons.utilsimportJsCode
不一样的柱状图
x_data=[f"12月{str(i)}日"foriinrange(1,12)]
y_total=[0,900,1245,1530,1376,1376,1511,1689,1856,1495,1292]
y_in=[900,345,393,"-","-",135,178,286,"-","-","-"]
y_out=["-","-","-",108,154,"-","-","-",119,361,203]
bar=(
Bar()
.add_xaxis(x_data)
.add_yaxis(
series_name="",
y_axis=y_total,
stack="总量",
itemstyle_opts=opts.ItemStyleOpts(color="rgba(0,0,0,0)"),
)
.add_yaxis(series_name="上升",y_axis=y_in,stack="总量")
.add_yaxis(series_name="下降",y_axis=y_out,stack="总量")
.set_global_opts(yaxis_opts=opts.AxisOpts(type_="value"))
.render("bar_waterfall_plot.html")
)

柱状图Y轴上面的个性化标记
c=(
Bar()
.add_xaxis(['小米','三星','华为','苹果','魅族','VIVO','OPPO'])
.add_yaxis("商家A",Faker.values())
.add_yaxis("商家B",Faker.values())
.set_global_opts(
title_opts=opts.TitleOpts(title="不同商店的销量"),
yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(formatter="{value}万台/月")),
)
.render("bar_yaxis_formatter.html")
)

万台/月
的注释,这样就可以更加地让人明白图中数据的深意了柱状图中做出标记
c=(
Bar()
.add_xaxis(Faker.choose())
.add_yaxis("商家A",Faker.values())
.add_yaxis("商家B",Faker.values())
.set_global_opts(title_opts=opts.TitleOpts(title="不同标记的直方图"))
.set_series_opts(
label_opts=opts.LabelOpts(is_show=False),
markpoint_opts=opts.MarkPointOpts(
data=[
opts.MarkPointItem(type_="max",name="最大值"),
opts.MarkPointItem(type_="min",name="最小值"),
opts.MarkPointItem(type_="average",name="平均值"),
]
),
)
.render("bar_markpoint_type.html")
)

对X轴和Y轴标上名字
c=(
Bar()
.add_xaxis(Faker.choose())
.add_yaxis("商家A",Faker.values())
.add_yaxis("商家B",Faker.values())
.set_global_opts(
title_opts=opts.TitleOpts(title="Bar-XY轴名称"),
yaxis_opts=opts.AxisOpts(name="我是Y轴"),
xaxis_opts=opts.AxisOpts(name="我是X轴"),
)
.render("bar_xyaxis_name.html")
)

Pyecharts
和JavaScript
的联用
Pyecharts
代码当中加入JS
代码,倒是并不少见,例如我们可以在当中添加JS
代码来改变可视化图表的颜色,代码如下color_function="""
function(params){
if(params.value>0&¶ms.value<30){
return'red';
}elseif(params.value>30&¶ms.value<80){
return'blue';
}
return'purple';
}
"""
c=(
Bar()
.add_xaxis(Faker.choose())
.add_yaxis(
"商家A",
Faker.values(),
itemstyle_opts=opts.ItemStyleOpts(color=JsCode(color_function)),
)
.add_yaxis(
"商家B",
Faker.values(),
itemstyle_opts=opts.ItemStyleOpts(color=JsCode(color_function)),
)
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-自定义柱状颜色"))
.render("bar_custom_bar_color.html")
)

JS
代码来实现然后再添加到Pyecharts
代码当中。象形柱状图
c=(
PictorialBar()
.add_xaxis(location)
.add_yaxis(
"",
values,
label_opts=opts.LabelOpts(is_show=False),
symbol_size=18,
symbol_repeat="fixed",
symbol_offset=[0,0],
is_symbol_clip=True,
symbol=SymbolType.ROUND_RECT,
)
.reversal_axis()
.set_global_opts(
title_opts=opts.TitleOpts(title="PictorialBar-各省份人口数量(虚假数据)"),
xaxis_opts=opts.AxisOpts(is_show=False),
yaxis_opts=opts.AxisOpts(
axistick_opts=opts.AxisTickOpts(is_show=False),
axisline_opts=opts.AxisLineOpts(
linestyle_opts=opts.LineStyleOpts(opacity=0)
),
),
)
.render("pictorialbar_base.html")
)

json
文件当中,然后从该文件中读取里面的内容。withopen("symbol.json","r",encoding="utf-8")asf:
symbols=json.load(f)
.add_yaxis(
"2015",
[
{"value":157,"symbol":symbols["reindeer"]},
{"value":21,"symbol":symbols["ship"]},
{"value":66,"symbol":symbols["plane"]},
{"value":78,"symbol":symbols["train"]},
{"value":123,"symbol":symbols["car"]},
],
label_opts=opts.LabelOpts(is_show=False),
symbol_size=22,
symbol_repeat="fixed",
symbol_offset=[0,5],
is_symbol_clip=True,
)

用python制作酷炫的可视化大屏
商汤科技上市,开启AI新篇章
2021年有用的数据清洗python库
这个AI模型火上GitHub热榜

分享

点收藏

点点赞

点在看
请登录之后再进行评论