%matplotlib inline
import pandas as pd
import matplotlib.pyplot as plt
data_file = "P753-line-magnetic-AWAGS_MAG_2010.dat"
columns = [
"line", "levelFlag", "lineType", "Fiducial", "altitude",
"FlightNumber", "gpsAltitude", "mag awagsLevelled", "mag tieLevelled",
"longitude", "latitude"
]
df = pd.read_csv(data_file, delim_whitespace=True, header=None, names=columns)
df.info()
s = df["line"].value_counts()
s10 = s[:10]
s10
plt.barh([f"{i}" for i, _ in s10.iteritems()], s10.values)
lines = [l for l, _ in s.iteritems()]
selected_lines = lines[::10]
selected_lines
sdf = df[df["line"].isin(selected_lines)]
sdf
def scatter(df, col="altitude", total_area=True):
fig, ax = plt.subplots(figsize=(10,10))
ax.scatter(df["latitude"], df["longitude"], c=df[col])
if total_area:
ax.set_xlim(-31.1, -29.7)
ax.set_ylim(149.0, 150.3)
plt.show()
scatter(df)
scatter(sdf)
scatter(df, col="FlightNumber")
scatter(sdf, col="FlightNumber")
sdf = df[df["FlightNumber"] == 2]
scatter(sdf)
sdf = df[df["FlightNumber"] == 3]
scatter(sdf)
sdf = df[df["FlightNumber"] == 4]
scatter(sdf)
sdf = df[df["FlightNumber"] == 24]
scatter(sdf)