خطای 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))