के साथ डेटाफ्रेम का उपयोग करके बोके में टाइमसरीज मैं Pandas
डेटाफ्रेम को DateTime
कॉलम के साथ सालों और संख्यात्मक वाले प्लॉट के साथ बोके का उपयोग करने का प्रयास कर रहा हूं। यदि DateTime
को x
के रूप में निर्दिष्ट किया गया है, तो व्यवहार अपेक्षित है (x-axis में वर्ष)। हालांकि, अगर मैं का उपयोग DateTime
कॉलम को डेटाफ्रेम की अनुक्रमणिका में बदलने के लिए उपयोग करता हूं और फिर को TimeSeries
में निर्दिष्ट करता हूं तो मुझे एक्स-अक्ष में मिलीसेकंड में समय मिलता है। एक न्यूनतम उदाहरणइंडेक्स
import pandas as pd
import numpy as np
from bokeh.charts import TimeSeries, output_file, show
output_file('fig.html')
test = pd.DataFrame({'datetime':pd.date_range('1/1/1880', periods=2000),'foo':np.arange(2000)})
fig = TimeSeries(test,x='datetime',y='foo')
show(fig)
output_file('fig2.html')
test = test.set_index('datetime')
fig2 = TimeSeries(test,y='foo')
show(fig2)
क्या यह अपेक्षित व्यवहार या बग है? मैं दोनों दृष्टिकोणों के साथ एक ही तस्वीर की उम्मीद करता हूं।
चीयर्स !!
यह मेरे लिए असंगत भी दिखता है: स्थिर
bokeh.plotting
एपीआई का उपयोग कर बराबर कोड अपेक्षित परिणाम अर्जित करता है। दिलचस्प बात यह है कि 'fig2 = TimeSeries (test, y =' foo ')' लाइन 'के बाद, 'test' को' डेटाटाइम 'डेटा के साथ एक इंडेक्स और' इंडेक्स 'नामक एक नया कॉलम शामिल करने के लिए बदल दिया गया है। यह आश्चर्य की बात है कि डेटा फ्रेम को साजिश करने से डेटा बदल जाएगा। – Jakeअच्छी पकड़, मैंने ध्यान नहीं दिया था। मैंने अभी इसे [एक मुद्दा] के रूप में रिपोर्ट किया है (https://github.com/bokeh/bokeh/issues/3763)। – manu