我有一个折线图,我在末尾用标记突出显示(此处显示为大红色菱形)。
我使用两个两个 pandas 绘图命令来创建它。问题是我得到了意想不到的结果。根据数据的长度以及我是否将红色菱形的图放在第一或第二,我会得到不同的结果。似乎没有我可以辨别的模式。正确/预期结果如下所示
有时我得到:
大多数情况下,使用大数据集时,我会收到以下警告:
/Users/xxxxx/.virtualenvs/test2/lib/python2.7/site-packages/matplotlib/axes.py:2542:UserWarning:尝试设置相同的 left==right 结果
在奇异变换中;自动扩展。
左=15727,右=15727
+ '左=%s,右=%s') % (左, 右))
警告仅在第一次发生时显示。显然 pandas 不喜欢支持在同一轴上绘制具有不同 x 比例的 2 个不同系列?
可以尝试下面的代码来生成图表,可以通过传递、系列或数据帧进行绘图,也可以反转红色菱形的绘制顺序。还可以更改数据点的数量。我无法在此处重现的一个错误是中间的红色菱形和蓝色的线仅向左延伸。
Code:
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)
错误/警告发生在 IPython 内或从命令行运行 as 脚本时。在 2 个最新版本的 pandas 中也保持不变。有什么想法或明显的问题吗?