摇曳的蔷薇
pandas.groupby不是必需的,因为您没有聚合计算,例如mean.而不是使用.groupby,seaborn.lineplot使用hue='ticker'Seaborn 是一个基于 matplotlib 的 Python 数据可视化库。它提供了一个高级界面,用于绘制有吸引力且信息丰富的统计图形。Seaborn:选择调色板这个情节正在使用huslhusl可以在以下位置找到调色板的其他选项seaborn.husl_palette此答案与重复答案之间的区别:副本更改所有图的颜色。这将创建一个字典,将特定颜色映射到特定类别。导入和示例数据import pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport pandas_datareader.data as web # for getting stock data# get test stock datatickers = ['msft', 'aapl', 'twtr', 'intc', 'tsm', 'goog', 'amzn', 'fb', 'nvda']df = pd.concat((web.DataReader(ticker, data_source='yahoo', start='2019-01-31', end='2020-07-21').assign(ticker=ticker) for ticker in tickers), ignore_index=False).reset_index()选项1基于唯一'ticker'值数量的地图颜色# create color mapping based on all unique values of tickerticker = df.ticker.unique()colors = sns.color_palette('husl', n_colors=len(ticker)) # get a number of colorscmap = dict(zip(ticker, colors)) # zip values to colors# plotplt.figure(figsize=(16, 10))sns.lineplot(x='Date', y='Adj Close', hue='ticker', data=df, palette=cmap)选项 2使用特定的颜色colors = ['r', 'b', 'g', 'y', 'orange', 'purple', 'k', 'm', 'w']plt.figure(figsize=(16, 10))sns.lineplot(x='Date', y='Adj Close', hue='ticker', data=df, palette=colors)df.head()| | Date | High | Low | Open | Close | Volume | Adj Close | ticker ||---:|:--------------------|-------:|-------:|-------:|--------:|------------:|------------:|:---------|| 0 | 2019-01-31 00:00:00 | 105.22 | 103.18 | 103.8 | 104.43 | 5.56364e+07 | 102.343 | msft || 1 | 2019-02-01 00:00:00 | 104.1 | 102.35 | 103.78 | 102.78 | 3.55357e+07 | 100.726 | msft || 2 | 2019-02-04 00:00:00 | 105.8 | 102.77 | 102.87 | 105.74 | 3.13151e+07 | 103.627 | msft || 3 | 2019-02-05 00:00:00 | 107.27 | 105.96 | 106.06 | 107.22 | 2.73254e+07 | 105.077 | msft || 4 | 2019-02-06 00:00:00 | 107 | 105.53 | 107 | 106.03 | 2.06098e+07 | 103.911 | msft |df.tail()| | Date | High | Low | Open | Close | Volume | Adj Close | ticker ||-----:|:--------------------|-------:|-------:|-------:|--------:|------------:|------------:|:---------|| 3334 | 2020-07-15 00:00:00 | 417.32 | 402.23 | 416.57 | 409.09 | 1.00996e+07 | 409.09 | nvda || 3335 | 2020-07-16 00:00:00 | 408.27 | 395.82 | 400.6 | 405.39 | 8.6241e+06 | 405.39 | nvda || 3336 | 2020-07-17 00:00:00 | 409.94 | 403.51 | 409.02 | 408.06 | 6.6571e+06 | 408.06 | nvda || 3337 | 2020-07-20 00:00:00 | 421.25 | 406.27 | 410.97 | 420.43 | 7.1213e+06 | 420.43 | nvda || 3338 | 2020-07-21 00:00:00 | 422.4 | 411.47 | 420.52 | 413.14 | 6.9417e+06 | 413.14 | nvda |