m0_57748717 2022-04-13 22:35 采纳率: 76.3%
浏览 52
已结题

Python Plotly库内bar()的使用问题


# 使用plotly模拟投掷骰子
from random import randint


class Die:
    # 创建一个骰子的类

    def __init__(self, num_sides=6):
        # 骰子默认面数是6
        self.num_sides = num_sides

    def roll(self):
        # 返回有个1和骰子面数的随机值

        return randint(1, self.num_sides)

'''创建骰子实例die'''
die = Die()  # 骰子面数默认为6

results = []  
for roll_nums in range(1000):
    result = die.roll()  
    results.append(result)

'''统计好投掷结果和频数后即可用plotly库绘制直方图'''
from plotly.graph_objs import Bar, Layout
from plotly import offline

frequencies = []  # 建立空列表,统计每一面点数出现的次数
for nums in range(1, die.num_sides + 1):
    frequency = results.count(nums)
    frequencies.append(frequency)

x_values = list(range(1, die.num_sides + 1))
data = [Bar(x=x_values, y=frequencies, text=frequencies, textposition='outside')]

x_axis_config = {'title': '结果'}
y_axis_config = {'title': '结果的频率'}

my_layout = Layout(title='投掷一个D6_1000次的结果', xaxis=x_axis_config, yaxis=y_axis_config)
# 布局对象

offline.plot({'data': data, 'layout': my_layout}, filename='d6.html')

学习plotly做数据可视化的时候,遇到这个骰子绘图的有两个问题想请教一下各位,第一个问题是:创建data = [Bar(x=x_values, y=frequencies, text=frequencies, textposition='outside')]的时候,为什么需要用方括号来把Bar()包起来,第二个问题是Bar()里面有需要接受哪些必须的参数呢?感激不尽

  • 写回答

1条回答 默认 最新

  • 貮叁 2022-04-14 09:50
    关注

    可以参考这篇文章,
    【基础汇总】——python数据分析必备三大工具_貮叁的博客-CSDN博客

    bar(x, height, width=0.8, bottom=None, *, align='center', data=None, **kwargs)参数有x坐标、高、宽等等,可以用help(plt.bar)参看帮助
    如有用请采纳

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月27日
  • 创建了问题 4月13日

悬赏问题

  • ¥15 汇编语言没有主程序吗?
  • ¥15 这个函数为什么会爆内存
  • ¥15 无法装系统,grub成了顽固拦路虎
  • ¥15 springboot aop 应用启动异常
  • ¥15 matlab有关债券凸性久期的代码
  • ¥15 lvgl v8.2定时器提前到来
  • ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)
  • ¥15 cam_lidar_calibration报错
  • ¥15 拓扑学,凸集,紧集。。
  • ¥15 如何扩大AIS数据容量