No module named 'plotly.validators.scatterternary'

我在做这个模拟掷骰子点数做直方图时,总是遇到这个问题,查了好多都没找到,下面是我的代码


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)
from plotly.graph_objs import Bar, Layout
from plotly import offline


from die import Die

# 创建一个D6
die = Die()

# 掷几次骰子并将结果存储在一个列表中
results = []
for roll_num in range(1000):
    result = die.roll()
    results.append(result)

# 分析结果
frequencies = []
for value in range(1,die.num_sides+1):
    frequency = results.count(value)
    frequencies.append(frequency)

'''绘制直方图'''
# 对结果进行可视化
x_values = list(range(1,die.num_sides+1))
data = [Bar(x=x_values,y=frequencies)]

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')

这是出现的问题

F:\python\python.exe F:/python/代码/数据可视化/die_visual.py
Traceback (most recent call last):
  File "F:\python\代码\数据可视化\die_visual.py", line 36, in <module>
    offline.plot({'data':data,'layout':my_layout},filename='d6.html')
  File "C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\plotly\offline\offline.py", line 586, in plot
    pio.write_html(
  File "C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\plotly\io\_html.py", line 513, in write_html
    html_str = to_html(
  File "C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\plotly\io\_html.py", line 140, in to_html
    fig_dict = validate_coerce_fig_to_dict(fig, validate)
  File "C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\plotly\io\_utils.py", line 16, in validate_coerce_fig_to_dict
    fig_dict = plotly.graph_objs.Figure(fig).to_plotly_json()
  File "C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\plotly\graph_objs\_figure.py", line 594, in __init__
    super(Figure, self).__init__(data, layout, frames, skip_invalid, **kwargs)
  File "C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\plotly\basedatatypes.py", line 559, in __init__
    self._layout_obj = self._layout_validator.validate_coerce(
  File "C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\_plotly_utils\basevalidators.py", line 2467, in validate_coerce
    v = self.data_class(v, skip_invalid=skip_invalid, _validate=_validate)
  File "C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\plotly\graph_objs\_layout.py", line 6230, in __init__
    self["template"] = _v
  File "C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\plotly\basedatatypes.py", line 5838, in __setitem__
    super(BaseLayoutHierarchyType, self).__setitem__(prop, value)
  File "C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\plotly\basedatatypes.py", line 4828, in __setitem__
    self._set_compound_prop(prop, value)
  File "C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\plotly\basedatatypes.py", line 5239, in _set_compound_prop
    val = validator.validate_coerce(val, skip_invalid=self._skip_invalid)
  File "C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\_plotly_utils\basevalidators.py", line 2760, in validate_coerce
    return super(BaseTemplateValidator, self).validate_coerce(
  File "C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\_plotly_utils\basevalidators.py", line 2467, in validate_coerce
    v = self.data_class(v, skip_invalid=skip_invalid, _validate=_validate)
  File "C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\plotly\graph_objs\layout\_template.py", line 323, in __init__
    self["data"] = _v
  File "C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\plotly\basedatatypes.py", line 4828, in __setitem__
    self._set_compound_prop(prop, value)
  File "C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\plotly\basedatatypes.py", line 5239, in _set_compound_prop
    val = validator.validate_coerce(val, skip_invalid=self._skip_invalid)
  File "C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\_plotly_utils\basevalidators.py", line 2467, in validate_coerce
    v = self.data_class(v, skip_invalid=skip_invalid, _validate=_validate)
  File "C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\plotly\graph_objs\layout\template\_data.py", line 1716, in __init__
    self["scatterternary"] = _v
  File "C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\plotly\basedatatypes.py", line 4832, in __setitem__
    self._set_array_prop(prop, value)
  File "C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\plotly\basedatatypes.py", line 5313, in _set_array_prop
    val = validator.validate_coerce(val, skip_invalid=self._skip_invalid)
  File "C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\_plotly_utils\basevalidators.py", line 2559, in validate_coerce
    res.append(self.data_class(v_el, skip_invalid=skip_invalid))
  File "C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\plotly\graph_objs\_scatterternary.py", line 2280, in __init__
    self["marker"] = _v
  File "C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\plotly\basedatatypes.py", line 4824, in __setitem__
    validator = self._get_validator(prop)
  File "C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\plotly\basedatatypes.py", line 4306, in _get_validator
    return ValidatorCache.get_validator(self._path_str, prop)
  File "C:\Users\Administrator\AppData\Roaming\Python\Python310\site-packages\plotly\validator_cache.py", line 29, in get_validator
    importlib.import_module("plotly.validators." + parent_path),
  File "F:\python\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'plotly.validators.scatterternary'


有没有巨佬帮忙看看

应该不是你的代码出来问题,是你引入的三方package有问题