Julia学习笔记:堆积柱形图的绘制

使用Julia的Plots包,加上Plotly(JS)做后端,可以方便地绘制出各类漂亮的图表。

前一阵儿,使用Plots包中的plot函数,绘制柱形图(类型参数设置为柱形图,seriestype = :bar)时,还会出错,提示参数不符。现在,又试了一下,发现已经可以使用,直接用plot函数就可以绘制柱形图。

因为需要绘制堆积柱形图,于是就查看Plots的文档,看应该如何设置参数,绘制柱形图。

看起来很简单,只要在plot函数中,将参数“bar_position”设置为“:stack”即可。但文档中还有一句提示,告知堆积参数可能无法完全生效。而柱形图默认的是叠加覆盖(overlay)模式。

尽管如此,还是尝试了一下,果然堆积参数无效,无法绘制出堆积柱形图,仍然是叠加覆盖模式。

于是寻求解决方案。

在Julia中文论坛和国外论坛、GitHub的Plots板块都进行了搜索,发现这的确是一个问题,而且目前似乎也没有解决。看到有网友建议使用StatsPlots包中的groupedbar函数,来实现堆积柱形图的绘制。

但尝试了一下,发现groupedbar所用参数与plot函数不尽相同,而StatsPlots文档中groupdebar的说明也非常“简陋”,只是举了个例子而已。

只好自己根据groupedbar函数的例子进行研究,发现plot函数,使用的数据,参数类型可以是Array(数组,一维或多维均可);而groupedbar函数,对应的数据参数,必须是Matrix(矩阵,即二维数组)类型。因为在这段程序中,要绘制多个图,并将多个图整合在一页;所以就想尽量省事,少使用些函数和变量,不要过于麻烦,仍然想统一用plot函数解决。

到Julia中文论坛,专门提问这个问题,有热心网友 Jun 告知,plot函数一直不支持堆积柱形图,只能用StatsPlots包来解决。

于是,只好改写原来的程序。使用StatsPlots包的gropuedbar函数,并将传入的数据类型改为Matrix,参数“bar_position”设置为“:stack”。其余参数如数据标签、图例等,都和plot函数类似,无需改动。

这样,总算是成功绘制了堆积柱形图,并最后将多个图表进行整合。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值