指定绘图上多条线的颜色[重复]

2023-12-02

Pandas 数据框分组图

我有一个与上述问题类似的数据框,但它有大约 8 个股票代码。我定义了一个名为“颜色”的颜色列表,与股票代码相对应,但是当我这样做时:

df.groupby('ticker')['adj_close'].plot(color=colors)

每个代码图上的所有线条都是相同的颜色(即“颜色”列表中的第一个颜色)。

我想知道如何从“颜色”列表中指定每个股票行情的相应颜色?


  • pandas.groupby不是必需的,因为您没有聚合计算,例如mean.
  • Instead of using .groupby, use seaborn.lineplot with hue='ticker'
    • Seaborn是一个基于matplotlib的Python数据可视化库。它提供了一个高级界面,用于绘制有吸引力且信息丰富的统计图形。
  • Seaborn: Choosing color palettes
    • 该图正在使用husl
    • 附加选项husl调色板可以在以下位置找到seaborn.husl_palette
  • The differences between this answer and that from the duplicate:
    • 重复项会更改所有绘图的颜色。
    • 这将创建一个字典,将特定颜色映射到特定类别。

导入和样本数据

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import pandas_datareader.data as web  # for getting stock data

# get test stock data
tickers = ['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()

Option 1

  • 基于独特数量的地图颜色'ticker' values
# create color mapping based on all unique values of ticker
ticker = df.ticker.unique()
colors = sns.color_palette('husl', n_colors=len(ticker))  # get a number of colors
cmap = dict(zip(ticker, colors))  # zip values to colors

# plot
plt.figure(figsize=(16, 10))
sns.lineplot(x='Date', y='Adj Close', hue='ticker', data=df, palette=cmap)

enter image description here

Option 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)

enter image description here

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     |
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

指定绘图上多条线的颜色[重复] 的相关文章

随机推荐

  • Gtk# 剪贴板复制/剪切/粘贴文件

    如何使用 Gtk 复制 剪切和粘贴文件到剪贴板 我见过的每个例子都只显示文本被放入剪贴板 如果有人有一个例子 我将不胜感激 如果您的应用程序在 Gnome Unity 上运行 您可以使用 x special gnome copied fil
  • 我可以将编译时策略的创建和使用位置分开吗?

    include
  • SQL IF SELECT 查询为空然后执行另一个查询

    我有一个定期返回 无 的查询 如果是这种情况 我想运行不同的查询 但我不知道执行此操作的方法 如果有人可以帮忙的话 这是我当前使用的代码 SELECT FROM cfg users JOIN cfg ash ON cfg users iUs
  • xcode4中框架和静态库的区别以及如何调用

    我对 Xcode 和 Objective C 很陌生 我想问一个非常基本的问题 我看到在项目设置中 将二进制文件链接到库 时 从工作区中的其他项目导入的框架和库存在差异 第一个问题 为什么要有框架 为什么会有图书馆 我的库不能成为一个框架吗
  • FacesServlet URL 模式

    我不确定我在这里做错了什么 但是当我在 URL 中放置两次面孔上下文时 它会绕过我的所有 Realm 证券 我的网址模式
  • 在 Ubuntu 中运行多个独立的 Flask 应用

    我正在尝试使用 Apache 在单独的虚拟目录中运行两个或多个 Flask 应用程序 例如http localhost site1 for var www myapps app1 and http localhost site2 for v
  • heroku db:pull 无法连接到我在 ubuntu 中的数据库

    所以我最近将ubuntu更新到11 04 然后又降级回11 04 因为我讨厌unity 不管怎样 在我重新安装 11 40 后 我必须克隆所有旧的 Heroku 应用程序并尝试运行heroku db pull拉取数据库并将其导入到我的 my
  • 如何从 iPhone 中的 Web 服务获取数据?

    我必须开发一个应用程序 其中包括以下内容 gt 通过 iPhone 向 Web 服务发出请求 gt 从网络服务获取数据 我从未使用过 Web 服务来开发 iPhone 应用程序 但我知道什么是网络服务 The example of web
  • Git 正在转向新的哈希算法 SHA-256,但为什么 git 社区选择 SHA-256

    我刚刚从这件事中学到了HN postgit 正在转向新的哈希算法 从SHA 1 to SHA 256 我想知道是什么让SHA 256最适合 git 的用例 是否有任何 许多强有力的技术原因或者是否有可能SHA 256人气是一个强大的因素吗
  • Android Studio:无法完成 gradle 执行,原因为空

    当我尝试运行 Android 模拟器时 出现以下错误屏幕 当我导出 apk 时也会发生同样的情况 当我转到保存 apk 的目录时 apk 文件不存在 谢谢你 克里斯托夫 我遇到了同样的问题 通过执行以下步骤可以解决此问题 Go to 文件
  • 如何获取 Chrome 扩展程序子文件夹中的文件名列表?

    我想知道是否可以获取 Chrome 扩展程序的子文件夹中所有文件的文件名列表 谢谢你 Use the chrome runtime getPackageDirectoryEntry方法得到一个DirectoryEntry对于 Chrome
  • 将自定义角色分配给 Azure Active Directory 系统托管标识

    为了在 API 之间建立 Azure AD 系统托管标识 我在应用程序清单中为目标 API 定义了一个自定义角色 appRoles allowedMemberTypes Application description Allow the a
  • 在 C# 中测试/注入私有字段的良好做法是什么

    如果这是重复的 我很抱歉 我被赋予了为该方法添加一些覆盖范围的任务 并被告知要模拟私有的List
  • PHP 中的数字格式

    我想将带小数位的数字格式化为不带小数位的格式 例如 146 5 到 146500000 我如何在 PHP 中实现这一点 谢谢 乘以100000 没那么容易
  • 在 Excel 中导入 CSV 美国格式的数字并进行本地化?

    我有一个包含以下值的 csv 文件 1488201602 653 8 304700E 04 3 079498E 03 1488201603 107 8 677357E 04 2 856719E 03 1488201821 012 7 071
  • 另一个线性渐变内的线性渐变

    我正在尝试在另一个线性渐变中创建线性渐变 这可能吗 下面的例子 background linear gradient to right color1 50 color2 0 颜色 1 是 background linear gradient
  • ARM Aarch64 中的 PUSH {lr} 和 POP {lr}

    等效指令是什么PUSH lr and POP lr 在ARM Aarch64指令集中 Is STR X30 SP 8 正确的 您能解释一下维护堆栈对齐的概念吗 我对 ARMv8 比较陌生 所以请原谅 如果您要求 C 编译器从源代码生成汇编语
  • WIX 自定义操作:使用 dllimport

    我有一个 WiX 安装程序和自定义操作项目 我添加了 C 库作为自定义操作项目的参考 此 C dll 使用 DllImport 到一个 C dll 安装时收到错误 无法加载 DLLmycpp dll 未找到指定的模块 我添加了mycpp d
  • 为什么Fortran可以分配这么大的数组?

    我编写了一段科学代码 像往常一样 这归结为计算代数特征值方程中的系数 计算这些系数需要对多维数组进行积分 这会迅速大幅增加内存使用量 一旦计算出矩阵系数 就可以释放原始的预积分多维数组 并由智能求解器接管 因此内存使用不再是大问题 正如您所
  • 指定绘图上多条线的颜色[重复]

    这个问题在这里已经有答案了 Pandas 数据框分组图 我有一个与上述问题类似的数据框 但它有大约 8 个股票代码 我定义了一个名为 颜色 的颜色列表 与股票代码相对应 但是当我这样做时 df groupby ticker adj clos