我有这个数据集,其中列是多年的值和Sterling Pounds中的行值:
total_2013 total2014 total_2015 total_2016
0 1569000 1614000 1644000 1659000
1 330000 423000 474000 540000
2 2100000 2080000 2093000 2135000
3 2161000 2238000 2221000 2200000
4 1865000 1975000 2046000 2152000
5 1903000 1972000 1970000 2034000
6 2087000 2091000 1963000 1956000
7 1237000 1231000 1199000 1188000
8 1043000 1072000 1076000 1059000
9 569000 610000 564000 592000
10 2207000 2287000 2191000 2274000
11 1908000 1908000 1917000 1908000
我需要在 X轴上绘制total_2013,total_2014,total_2015,total_2016 列。
在 Y轴,我需要为每一行的单个值绘制一个点,并在2013-2016年的这些值之间划一条线。
我无法让工作xticks
将列中的值作为X轴中的不同时间点。不确定这是否正确。
到目前为止我已经绘制了这个:
import matplotlib
import matplotlib.pyplot as plt
import pandas as pd
matplotlib.style.use('ggplot')
ax = data_merged_years.plot(kind='line', title ="UK Schools budget per year 2013-2016", figsize=(15, 10), legend=True, fontsize=12)
ax.set_xlabel("Year", fontsize=12)
ax.set_ylabel("Pounds", fontsize=12)
plt.show()
我的尝试:错误的情节X和Y错误:
答案 0 :(得分:0)
如果您希望将列作为x轴而不是不同的行,则可以在绘制之前transpose
使用DataFrame:
In [13]: import matplotlib.pyplot as plt
...: import pandas as pd
...: matplotlib.style.use('ggplot')
...: ax = data_merged_years.transpose().plot(kind='line', title ="UK Schools budget per year 2013-2016", figsize=(15, 10), legend=True, fontsize=12)
...: ax.set_xlabel("Year", fontsize=12)
...: ax.set_ylabel("Pounds", fontsize=12)
...: plt.show()
...:
从原始情节来看,似乎你会在一个情节中拥有超过一万行。你确定那是你想要的吗?