Я использую две команды построения графика двух панд, чтобы создай его. Проблема в том, что я получаю неожиданные результаты. В зависимости от длины данных и того, ставлю ли я график красного ромба первым или вторым, я получаю разные результаты. Кажется, я не вижу закономерности. Правильный/ожидаемый результат показан ниже

иногда я получаю:
[img]https: //i.sstatic.net/2bGph.jpg[/img]
и в большинстве случаев при работе с большими наборами данных я получаю следующее предупреждение:
/Users/xxxxx/.virtualenvs/test2/lib/python2.7/site-packages/matplotlib/axes.py
к сингулярным преобразованиям; автоматически расширяется.
left=15727, right=15727
+ 'left=%s, right=%s') % (left, right))
Предупреждение отображается только в первый раз. Очевидно, пандам не нравится поддержка построения двух разных серий с разными масштабами x на одной оси?
Можно попробовать приведенный ниже код для создания графиков, можно поиграться путем передачи. Серии или кадры данных для построения графика также могут изменить порядок построения красного ромба. Также можно изменить количество точек данных. Одна ошибка, которую мне не удалось воспроизвести здесь, связана с красным ромбом посередине и синей линией, идущей только влево.
Код:
Код: Выделить всё
plot_with_series = False
reverse_order = False
import pandas as pd
dates = pd.date_range('20101115', periods=800)
df = pd.DataFrame(randn(len(dates)), index = dates, columns = ['A'])
ds = pd.Series(randn(len(dates)), index = dates)
clf()
if plot_with_series:
if reverse_order: ds.plot()
ds.tail(1).plot(style='rD', markersize=20)
if not reverse_order: ds.plot()
else:
if reverse_order: df.plot(legend=False)
df.A.tail(1).plot(style='rD', markersize=20,legend=False)
if not reverse_order: df.plot(legend=False)
Подробнее здесь: https://stackoverflow.com/questions/170 ... -one-scale