Python 使用Plotly绘制柱状图

plotly优点:

1)不需要额外添加字体,就能正确显示中文。

2)绘制后的图形可以与用户交互。

目标:统计三个6面骰子,各投掷一次,三次投掷点数之和的结果分布。

代码如下:

from plotly.graph_objs import Bar,Layout
from plotly import offline

from die import Die

die1 = Die()
die2 = Die()
die3 = Die()

results = [die1.roll()+die2.roll()+die3.roll() for roll_num in range(10000)]#使用列表解析创建列表

max_num = die1.num_sides+die2.num_sides+die3.num_sides
frequencies = [results.count(value) for value in range(3,max_num+1)]

x_values = list(range(3,max_num+1))
data = [Bar(x=x_values,y=frequencies)]

x_axis_config = {'title':'结果','dtick':1}
y_axis_config = {'title':'结果的频率'}
my_layout = Layout(title='3个6面骰子投掷10000次结果统计',
                   xaxis=x_axis_config,
                   yaxis=y_axis_config)
offline.plot({'data':data, 'layout':my_layout},
             filename = 'd6_d6_d6.html')

绘制后的结果保存为d6_d6_d6.html文件,具体如下:

  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值