小编Zyt*_*hyr的帖子

使用seaborn绘图时如何为色调参数指定多个变量?

使用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。但是,我希望数据按StageLegendary进行分组。使用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 个变量)。

data-visualization matplotlib pandas seaborn pandas-groupby

11
推荐指数
2
解决办法
3万
查看次数

如何使用ADB终止所有活动任务/应用程序?

是否可以使用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清除了所有用户数据.我只想清除缓存.

我问的原因是因为我正在对几个用户应用程序进行一些性能测试.为了使每个测试有效,我想确保没有任何用户应用程序在后台已经有任何任务,活动,服务和缓存.

shell android adb android-activity

9
推荐指数
2
解决办法
2万
查看次数

如何在 Angular 组件 HTML DOM 中注入 SVG 图标精灵?

我正在构建一个 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 图标精灵文件。

更新:

  1. 我已经知道一个类似的问题,带有 angular-cli 的 SVG 图标系统,其中建议的答案是使用 Node 模块svg-sprite使用 CSS …

svg svg-sprite angular-components angular

8
推荐指数
1
解决办法
1万
查看次数

如何在同一图表上绘制两个DataFrame以进行比较

我有两个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)

python graph matplotlib data-analysis pandas

5
推荐指数
1
解决办法
2万
查看次数

PyQtGraph 在绘制实时传感器数据时停止更新并冻结

我正在使用 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)

python python-multithreading pyqtgraph pyqt5

5
推荐指数
1
解决办法
3034
查看次数

尝试在 Linux Ubuntu 上使用 Android systrace.py 时出错

我正在尝试运行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)

python linux android adb systrace

3
推荐指数
1
解决办法
2149
查看次数