💻 آخرین فرصت یادگیری برنامه‌نویسی با آفر ویژه قبل از افزایش قیمت در ۵ آذر ماه (🎁 به همراه یک هدیه ارزشمند )
۰ ثانیه
۰ دقیقه
۰ ساعت
۶ Masoud
خطای TypeError(\"\'ColumnDataSource\' object is not subscriptable\")
جامعه هوش مصنوعی ایجاد شده در ۲۹ آذر ۱۴۰۰

سلام و عرض احترام خدمت استاد عزیز. من وقتی روی دکمه کلیک میکنم توو قسمت کنسول مرورگر چنین خطایی رو دریافت می‌کنم:

TypeError("'ColumnDataSource' object is not subscriptable")

سلام

میتونید با استفاده از

bokeh.__version__

ورژن بوکه رو بگید؟

مسعود کاویانی ۰۷ دی ۱۴۰۰، ۲۲:۳۴

سلام مجدد استاد. ورژن بوکه 2.4.2 هستش

Masoud ۰۹ دی ۱۴۰۰، ۰۵:۵۲

واقعا این سطح از عدم پاسخگویی صحیح نیست. تا الان یک سوال پرسیدم که بعد از گذشت بیست روز هنوز جوابی بهش داده نشده!!

Masoud ۱۹ دی ۱۴۰۰، ۱۶:۰۴

سلام

ببخشید من شما رو با یکی از دوستان دیگه که تماس گرفته بودند اشتباه گرفتم فکر کردم پاسختون رو توی تلفن دادم

دقیقا از کد من استفاده می‌کنید؟

مطمئن بشید که به جای

()

از

[]

استفاده نکرده‌اید

در غیر این صورت فایل رو برام پیوست کنید

مسعود کاویانی ۲۲ دی ۱۴۰۰، ۲۳:۰۵

نه استاد من شماره تماسی از شما ندارم. داشتم هم تلفنی وقتتون رو نمی‌گرفتم. دقیقا مشابه کد شماست استاد. فایل رو براتون پیوست می‌کنم ولی وقتی ارسال رو میزنم اتفاقی نمی‌افته. برای همین هم در یه جای دیگه بارگذاریش کردم.

https://trainbit.com/files/0317561484/main.py

Masoud ۲۳ دی ۱۴۰۰، ۰۹:۱۵

با سلام

کدی که نوشتید یه اشکال کوچیک داره، کد صحیح به این صورته:

from random import random
from bokeh.layouts import column
from bokeh.models import Button
from bokeh.palettes import RdYlBu3
from bokeh.plotting import figure, curdoc
p = figure(x_range=(0, 100), y_range=(0, 100))
result = p.text(x=[], y=[], text=[], text_color=[])
dataSource = result.data_source
button = Button(label='ثبت')
i = 0
def clickOnSubmit():
    global i
    new_data = dict()
    new_data['x'] = dataSource.data['x'] + [random() * 70 + 15]
    new_data['y'] = dataSource.data['y'] + [random() * 70 + 15]
    new_data['text_color'] = dataSource.data['text_color'] + [RdYlBu3[i%3]]
    new_data['text'] = dataSource.data['text'] + [str(random())]
    print(new_data)
    print('i: ' + str(i))
    dataSource.data = new_data
    i = i + 1
button.on_click(clickOnSubmit)
curdoc().add_root(column(button, p))
بهترین پاسخ
مسعود کاویانی ۲۴ دی ۱۴۰۰، ۲۱:۳۰