使用seaborn时,有没有办法可以为hue参数包含多个变量(列)?提出这个问题的另一种方法是,在将数据绘制在单个 x,y 轴图上之前,如何按多个变量对数据进行分组?
我想做如下的事情。但是目前我无法为色调参数指定两个变量:
sns.relplot(x='#', y='Attack', hue=['Legendary', 'Stage'], data=df)
Run Code Online (Sandbox Code Playgroud)
例如,假设我有一个如下所示的 pandas DataFrame,其中包含通过本教程获得的Pokemon 数据库。
我想在 x 轴上绘制pokedex #,在 y 轴上绘制Attack。但是,我希望数据按Stage和Legendary进行分组。使用matplotlib ,我编写了一个自定义函数,该函数按['Legendary','Stage']对数据帧进行分组,然后迭代每个组进行绘图(请参阅下面的结果)。虽然我的自定义函数按预期工作,但我希望这可以简单地通过 seaborn 来实现。我猜一定还有其他人尝试使用seaborn在单个图中可视化超过3个变量?
fig, ax = plt.subplots()
grouping_variables = ['Stage','Legendary']
group_1 = df.groupby(grouping_variables)
for group_1_label, group_1_df in group_1:
ax.scatter(group_1_df['#'], group_1_df['Attack'], label=group_1_label)
ax_legend = ax.legend(title=grouping_variables)
Run Code Online (Sandbox Code Playgroud)
编辑1:
注意:在我提供的示例中,我按两个变量(例如:Legendary 和 Stage)对数据进行分组。然而,其他情况可能需要任意数量的变量(例如:5 个变量)。
是否可以使用ADB 杀死任务管理器中的所有活动任务/应用程序?这相当于打开任务管理器并逐个杀死每个任务......
我尝试使用以下adb shell命令,但这并没有杀死所有任务.
adb shell am kill-all
Run Code Online (Sandbox Code Playgroud)
我无法使用该adb shell am force-stop <PACKAGE>
命令,因为它需要我知道正在运行的包/应用程序.我想杀死所有正在运行的用户应用程序任务.与使用任务管理器并逐个查杀每个任务类似.
根据命令描述,kill-all杀死所有后台进程.后台流程是否等同于"服务",任务是否等同于"活动"?
此外,是否可以在保留用户数据的同时使用ADB清除应用程序缓存?我似乎adb shell pm clear
清除了所有用户数据.我只想清除缓存.
我问的原因是因为我正在对几个用户应用程序进行一些性能测试.为了使每个测试有效,我想确保没有任何用户应用程序在后台已经有任何任务,活动,服务和缓存.
我正在构建一个 Angular 应用程序(Angular 4/5/6)并且想在我的组件模板中使用 SVG 精灵。
题:
假设我已经生成了我的 SVG 图标精灵 ( icons.svg
),我怎样才能让 Angular 将我的 SVG 图标精灵注入/导入到我的组件模板中?
有没有一种方法可以将我的 SVG 图标精灵注入/导入到我的组件中,而不必使用任何 3rd 方模块/指令并使用 Angular 本身在本地进行?
背景/问题:
正如在讨论这篇文章,icons.svg
文件将包含所有定义为SVG图标<symbol>
。然后我可以<use>
假设icons.svg
在 DOM 中注入了 ,在我的 HTML 中呈现选定的图标。
我使用IcoMoon app生成了 SVG 精灵,并将其保存icons.svg
到我的 Angular 应用程序中。下面是我的示例 Angular 组件 ( app.component.ts ),我在其中尝试注入/导入icons.svg
文件并尝试在我的 HTML 中呈现 SVG 图标。然而,Angular 并没有渲染我的 SVG 图标。我似乎错误地注入了 SVG 图标精灵文件。
更新:
我有两个DataFrames(trail1和trail2),其中包含以下列:Genre,City和Number Sold.现在,我想创建两个数据集的条形图,以便并排比较流派与总销售数量.对于每个类型,我想要两个条形:一个代表轨迹1,另一个代表轨迹2.
我怎样才能用熊猫来实现这个目标?
我尝试了以下不起作用的方法.
gf1 = df1.groupby(['Genre'])
gf2 = df2.groupby(['Genre'])
gf1Plot = gf1.sum().unstack().plot(kind='bar, stacked=False)
gf2Plot = gf2.sum().unstack().plot(kind='bar, ax=gf1Plot, stacked=False)
Run Code Online (Sandbox Code Playgroud)
我希望能够看到如何将trail1数据集与每个类型的trial2数据进行比较(例如:Spicy,Sweet,Sour等...)
我也尝试过使用concat,但是我无法弄清楚如何在同一个图表上绘制连接的DataFrame以比较两个键.
DF = pd.concat([df1,df2],keys=['trail1','trail2'])
Run Code Online (Sandbox Code Playgroud) 我正在使用 PyQt5 和 pyqtgraph 来绘制实时传感器数据。该图是更大的 PyQt5 应用程序的一部分,该应用程序用于与各种硬件交互并可视化传感器数据。
背景:下面的代码是一个非常简化的代码示例,负责查询传感器的数据,然后绘制瞬时位置及其移动平均值的图表。每 x 毫秒间隔在一个单独的线程中查询传感器。
问题: 图形和传感器读数按预期工作。然而,运行应用程序几秒钟后,pyqtgraph 停止更新并冻结。一旦图形冻结,我看到图形刷新/更新的唯一时间是当我尝试调整窗口大小或将焦点置于另一个窗口并重新聚焦回图形窗口时。在这种情况下,图表将仅更新一次并且不会继续刷新。
我在下面的链接中读到其他用户也有类似的问题。然而,建议的解决方案不是从单独的线程更新 GUI。就我而言,我不会从单独的线程更新图表。我仅使用单独的线程来收集传感器数据,然后发出带有新数据的信号。图的更新发生在主线程中。
import time
import numpy as np
from threading import Thread
import pyqtgraph as pg
import bottleneck as bn
import PyQt5
class MySensor():
def get_position(self, mean=0.0, standard_dev=0.1):
# Random sensor data
return np.random.normal(mean,standard_dev,1)[0]
class SignalCommunicate(PyQt5.QtCore.QObject):
# https://stackoverflow.com/a/45620056
got_new_sensor_data = PyQt5.QtCore.pyqtSignal(float, float)
position_updated = PyQt5.QtCore.pyqtSignal(float)
class LiveSensorViewer():
def __init__(self, sensor_update_interval=25):
# super().__init__()
# How frequently to get sensor data and update graph …
Run Code Online (Sandbox Code Playgroud) 我正在尝试运行Systrace,但在运行命令时出现错误。
user1@PC1:~/Android/Sdk/platform-tools/systrace$ python
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
user1@PC1:~/Android/Sdk/platform-tools/systrace$ ls
AUTHORS prefix.html systrace.py
LICENSE suffix.html systrace_trace_viewer.html
NOTICE systrace-legacy.py UPSTREAM_REVISION
user1@PC1:~/Android/Sdk/platform-tools/systrace$ python systrace.py --time=10 -o mynewtrace.html
Traceback (most recent call last):
File "systrace.py", line 320, in <module>
main()
File "systrace.py", line 158, in main
stderr=subprocess.PIPE)
File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1327, in _execute_child
raise child_exception
OSError: [Errno …
Run Code Online (Sandbox Code Playgroud)