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

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

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

سلام

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

bokeh.__version__

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

مهندس واله مجتهد ۰۷ دی ۱۴۰۰، ۲۲:۳۴

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

جمال امانی ۰۹ دی ۱۴۰۰، ۰۵:۵۲

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

جمال امانی ۱۹ دی ۱۴۰۰، ۱۶:۰۴

سلام

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

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

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

()

از

[]

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

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

مهندس واله مجتهد ۲۲ دی ۱۴۰۰، ۲۳:۰۵

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

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

جمال امانی ۲۳ دی ۱۴۰۰، ۰۹:۱۵

با سلام

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

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))
بهترین پاسخ
مهندس واله مجتهد ۲۴ دی ۱۴۰۰، ۲۱:۳۰