2015-05-06 2 views
2

У меня есть некоторые данные по временным рядам, которые я хочу рассчитать. Мне нужно только, чтобы даты в временных рядах отображались на графике, т. Е. Я не хочу, чтобы Excel интерполировал с пустыми точками за дни между днями временного ряда.В Python XlsxWriter Как вы устанавливаете ось X с датами в качестве оси текста?

Я попытался явно устанавливая text_axis к True и date_axis к False, но я в конечном итоге с Автоматические оси и пустых точек:

Automatic Axis with date data

Если я вручную установить тип оси для Текст, затем я получаю то, что я за:

enter image description here

Это код, который создает график на первом скриншоте:

import pandas as pd 

# Create a Pandas series with a date index 

data = pd.Series([1, 5, 7, 2, 6, 6], 
       index=pd.to_datetime(['2012-10-08', 
             '2012-10-15', 
             '2012-10-22', 
             '2012-10-29', 
             '2012-11-05', 
             '2012-11-12'])) 

writer = pd.ExcelWriter('test.xlsx', engine='xlsxwriter') 

df = pd.DataFrame(data) 

# Stick it in Excel 

worksheet_name = 'test' 

df.to_excel(writer, worksheet_name) 

# Create a graph 

workbook = writer.book 
chart = workbook.add_chart({'type': 'column'}) 

chart.add_series({'values': '={worksheet_name}!$B$2:$B$7'.format(worksheet_name=worksheet_name), 
        'categories': '={worksheet_name}!$A$2:$A$7'.format(worksheet_name=worksheet_name)}) 

# Set the X axis to be a text axis 

chart.set_x_axis({'name': 'Week', 'text_axis': True, 'date_axis': False}) 

# Stick the graph in Excel 

sheets = [sheet for sheet in workbook.worksheets() if sheet.name == worksheet_name] 
sheets[0].insert_chart('D2', chart) 

# Make the date column wide enough for the date to be visible 
sheets[0].set_column(0, 0, 20) 

Любая идея, что я делаю не так?

ответ

1

Это было мое плохо.

Был на старой версии XlsxWriter в моем VirtualEnv. Автор модуля Джон Макнамара поставил меня правильно, и теперь он работает. Ошибка школьника с моей стороны!

pip install --upgrade xlsxwriter 
Downloading/unpacking xlsxwriter from https://pypi.python.org/packages/2.7/X/XlsxWriter/XlsxWriter-0.7.2-py2.py3-none-any.whl#md5=8dca87f0bd21708a0587017c14e5f453 
    Downloading XlsxWriter-0.7.2-py2.py3-none-any.whl (133kB): 133kB downloaded 
Installing collected packages: xlsxwriter 
    Found existing installation: XlsxWriter 0.5.7 
    Uninstalling XlsxWriter: 
     Successfully uninstalled XlsxWriter 
Successfully installed xlsxwriter 
Cleaning up...