这个简单的代码绘制预期折线图:为什么matplotlib开始绘制的条形图,而不是线图
james_f=names[(names.name=='James') & (names.sex=='F')]
plt.plot(james_f['year'],james_f['births'])
plt.show()
但后来我改变状态,只需删除其中的一个,然后它开始绘制条形图。为什么以及如何强制绘制折线图?
james_f=names[(names.name=='James')]
plt.plot(james_f['year'],james_f['births'])
plt.show()
增加,而不是它1 == 1条规则,没有什么变化(
james_f=names[(names.name=='James') & (1 == 1)]
plt.plot(james_f['year'],james_f['births'])
plt.show()
即使这个代码绘制条形图:
james_f=names[(names.name=='James') | (names.name=='John') | (names.name=='Robert') ]
plt.plot(james_f['year'],james_f['births'])
james_f['births']
输出(大熊猫。 core.series.Series):
228 46
343 22
538 11
942 9655
944 5927
2312 26
2329 24
2617 9
2938 8769
....
Name: births, dtype: int64
james_f['births'].min()
回7没有零或NaN值
>>> print(james_f[james_f['births'].isnull()])
Empty DataFrame
Columns: [name, sex, births, year]
Index: []
>>> james_f.head(10)
name sex births year
343 James F 22 1880
944 James M 5927 1880
2329 James F 24 1881
2940 James M 5441 1881
4372 James F 18 1882
4965 James M 5892 1882
6428 James F 25 1883
7118 James M 5223 1883
8488 James F 33 1884
9320 James M 5693 1884
看起来你的数据中有一些零而不是matplotlib改变它的行为。在有问题的情况下,james_f ['births']的输出是什么? –
'james_f ['births']'的输出是什么? –
@TillHoffmann更新信息 – Rocketq