擅长:python、mysql、java
<p>看看这个变种。第一个是安德鲁斯曲线,第二个是由一列<code>Month</code>组成的多行图。数据帧<code>data</code>包括三列<code>Temperature</code>、<code>Day</code>和<code>Month</code>:</p>
<pre><code>import pandas as pd
import statsmodels.api as sm
import matplotlib.pylab as plt
from pandas.tools.plotting import andrews_curves
data = sm.datasets.get_rdataset('airquality').data
fig, (ax1, ax2) = plt.subplots(nrows = 2, ncols = 1)
data = data[data.columns.tolist()[3:]] # use only Temp, Month, Day
# Andrews' curves
andrews_curves(data, 'Month', ax=ax1)
# multiline plot with group by
for key, grp in data.groupby(['Month']):
ax2.plot(grp['Day'], grp['Temp'], label = "Temp in {0:02d}".format(key))
plt.legend(loc='best')
plt.show()
</code></pre>
<p>当你绘制安德鲁斯曲线时,你的数据被保存到一个函数中。这意味着安德鲁斯的曲线由函数紧密地表示,这意味着相应的数据点也将紧密地放在一起。</p>
<p><a href="https://i.stack.imgur.com/DWvhu.png" rel="noreferrer"><img src="https://i.stack.imgur.com/DWvhu.png" alt="enter image description here"/></a></p>