Изменить тип графика

у меня есть csv файл, по которому я строю график. https://dropmefiles.com/4vUsn

введите сюда описание изображения

Нужно сделать его сплошной линией, подскажите как это сделать. Пытался изменить его тип, получалась либо просто линия, начиная от 0 и под углом 90 градусов вправо, либо вообще попросту исчезала. Вот как я это делаю

data = pd.read_csv("C://Users//vlz//pjct//venv//2.csv",header=None, usecols=[0,6],
        names=["year", "val"], index_col=0)
        data = data.query(("{} <= year <= {}").format(A,B))
data.plot()

A и B - данные, которые я получаю из комбобоксов, по факту это диапазон годов

введите сюда описание изображения


Ответы (2 шт):

Автор решения: MaxU

У вас есть 85 значений -1:

In [39]: data.query("val < 10")
Out[39]:
      val
year
1981 -1.0
1981 -1.0
1981 -1.0
1981 -1.0
1981 -1.0
...   ...
2004 -1.0
2004 -1.0
2004 -1.0
2004 -1.0
2004 -1.0

[85 rows x 1 columns]

можно их исключить и нарисовать график:

data.query("val >= 10").plot()

введите сюда описание изображения

Кроме того у вас есть несколько значений меньших 20:

In [43]: data.query("0 <= val < 20")
Out[43]:
        val
year
2007  19.07
2007  17.07
2007  15.92
2007  14.98
2007  14.23
2007  13.79
2007  13.41
2007  13.28
2007  14.36
2007  16.52
2007  19.82
→ Ссылка
Автор решения: strawdog

Как совершенно справедливо заметил Эникейщик, попробуйте сначала преобразовать фрейм так, чтобы учитывались недели, а затем уже отрисовать график:

import pandas as pd
import matplotlib.pyplot as plt

fig, ax = plt.subplots(figsize=(12, 8))
data = pd.read_csv("2.csv",header=None, usecols=[0,1,6], names=["year", "week", "val"])

data['date'] = pd.to_datetime((data["year"]*100+data["week"]).astype(str) + '0', format='%Y%W%w')
data = data.set_index("date")

ax.plot(data["val"])

введите сюда описание изображения

→ Ссылка