pandas plot(kind='line') 创建散点图

5

我试图用一条线绘制一个 pandasSeries

这些行产生了所示的输出和散点图。

import pandas as pd
print(pd.__version__)
...
print(type(sam))
print(sam)
sam.plot(kind='line');

0.25.3
<class 'pandas.core.series.Series'>
3300    0.87
3301    0.87
3302    0.87
3303    0.87
3304    0.87
Name: A, dtype: float64

<<SCATTER PLOT>>

我无论如何都无法使用Series.plot创建线图。

正确的方式是什么?

PS:我可以想到解决方法,例如创建新的np数组、列表等等。但我认为这应该可以直接解决。

PS2:我正在使用PortableApps下的Chrome运行Jupyter Lab。奇怪的是,在实验室的一个选项卡中(只有很少的东西),上面的代码会产生一条线的图表,而在另一个选项卡中(加载了sklearn),它会产生一个散点图。我将进一步进行实验。


给我们一个数据样本 :) - Terry
@Terry - 请查看更新的原帖(我不知道更新会有什么帮助,但无论如何...) - sancho.s ReinstateMonicaCellio
2
也许更新pandas?在我的测试中,我使用的是pandas 0.25.1。 - Terry
@warped - 如何测试后端? - sancho.s ReinstateMonicaCellio
import matplotlib matplotlib.get_backend() - warped
显示剩余8条评论
2个回答

5

你可以尝试:

sam = pd.Series([.87,.87,.87,.87,.87], index=range(3300, 3305))

系列:

3300    0.87
3301    0.87
3302    0.87
3303    0.87
3304    0.87
dtype: float64

折线图:

sam.plot()

enter image description here

sam.plot(kind='line') 渲染相同的输出。


我刚刚在Jupyter中尝试了一下,这个方法可行,不确定OP是如何得到散点图的行为的。 - Yacine Mahdid
这基本上与OP中发布的内容相同,因此并没有澄清问题... - sancho.s ReinstateMonicaCellio

2

曾经有一句话在我对matplotlib了解不多的时候被广为流传,那就是:

plt.rcParams['lines.marker'] = 'o'

我所要做的就是将其删除(实际上,我用 plt.rcParams['scatter.marker'] = 'o' 替换了它)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接