Pyecharts-柱状图

柱状图

bar

导入包

1
2
3
4
5
import os
from pyecharts.charts import Bar
from pyecharts import options as opts
from pyecharts.render import make_snapshot
from snapshot_phantomjs import snapshot

数据准备

1
2
3
month = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
v1 = [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]
v2 = [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.8, 48.7, 18.8, 6.0, 2.3]

v1是蒸发量,v2是降水量

简单构图

1
2
3
4
5
6
7
bar = (Bar()
.add_xaxis(month)
.add_yaxis("蒸发量", v1)
.add_yaxis("降水量", v2)
)
bar.render("柱形图.html")
os.system("柱形图.html")

添加标记线、标记点

1
.set_series_opts(markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(name="平均值", type_='average')]))

注意:这里data是一个列表,里面放着不同位置的标记线。

1
2
3
4
set_series_opts(markpoint_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(name="最大值", type_="max"), 
opts.MarkLineItem(name="最小值", type_="min")],
symbol_size=55,
label_opts=opts.LabelOpts(position="inside", color="#fff")),

去掉标签

1
set_series_opts(label_opts=opts.LabelOpts(is_show=False))

交换xy轴

1
.reversal_axis()

设置图例标题

1
2
set_global_opts(title_opts=opts.TitleOpts("全年蒸发量与降雨量", pos_left="center"),
legend_opts=opts.LegendOpts(pos_right="10%", pos_top="40", orient="vertical"))

添加坐标轴标签

1
2
set_global_opts(xaxis_opts=opts.AxisOpts(name="月份"),
yaxis_opts=opts.AxisOpts(name="蒸发量与降雨量"))

设置背景

1
Bar(init_opts=opts.InitOpts(bg_color="white")

渲染图片

  • 下载Download PhantomJS

  • phantomjs.exe所在的bin目录加入到环境变量(路径无中文)。配置成功后,可以在命令行下测试一下,输入:phantomjs,如果可以进入到PhantomJS的命令行,那么就证明配置完成了。

  • pip install snapshot-phantomjs

  • phantomjs.exe复制到:C:\Users\你的名字\AppData\Local\Microsoft\WindowsApps

1
make_snapshot(snapshot, bar.render(), "bar.png")

大功告成!

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2022-2023 发现美的眼睛
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信