小编Ami*_*sky的帖子

Seaborn 在具有 2 个 y 轴的同一图上绘制直方图和线图

''' 我想生成一个显示直方图和线图的单个图。直方图和线图具有相同的 x 轴但不同的 y 轴。根据我在 Stackoverflow 上的搜索,我想出了下面的方法。

  1. 问题是线图没有一直延伸到 x 轴的末端。如果我注释掉条形图,那么我会按预期得到线图。
  2. 另一个问题是 plt.xticks(rotation=60) 不是旋转 x 轴上的数字,我不确定在尝试制作这两个图时出了什么问题以及如何解决该问题。预先感谢您帮助我。

'''

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

myDict = {'Bin': {0: -1.0,
  1: -0.9,
  2: -0.8,
  3: -0.7,
  4: -0.6,
  5: -0.5,
  6: -0.4,
  7: -0.3,
  8: -0.2,
  9: -0.1,
  10: 0.0,
  11: 0.1,
  12: 0.2,
  13: 0.3,
  14: 0.4,
  15: 0.5,
  16: 0.6,
  17: 0.7,
  18: 0.8,
  19: 0.9,
  20: 1.0},
 'Frequency': {0: 51,
  1: 4,
  2: …
Run Code Online (Sandbox Code Playgroud)

python data-visualization matplotlib seaborn

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

尽管 Matplotlib FuncAnimation(...,repeat=False) 保存的动画图不断循环

我想制作一个用于matplotlib幻灯片演示的动画。动画应该只播放一次。

在我的代码中, 的参数repeat设置FuncAnimation()为 false。因为我需要将图导入到powerpoint中,所以我使用ani.save('test.gif'). 问题是当我打开保存的图形 test.gif 时,线图不断循环。

Stackoverflow 上的所有搜索都建议repeat=False使用PillowWriter。这两种解决方案都不适合我,所以我有两个问题:

  1. 为什么保存的数字会被忽略repeat=False
  2. 我该如何解决这个问题?

预先感谢您帮助我。请在下面找到我的代码:

import pandas as pd

import matplotlib.pyplot as plt

# import matplotlib.animation as animation
from matplotlib.animation import FuncAnimation, PillowWriter

df = pd.DataFrame(
    {
        "x": {
            0: 0,
            1: 1,
            2: 2,
            3: 3,
            4: 4,
            5: 5,
            6: 6,
            7: 7,
            8: 8,
            9: 9,
            10: 10,
            11: 11,
            12: 12,
            13: 13,
            14: 14, …
Run Code Online (Sandbox Code Playgroud)

python animation matplotlib

4
推荐指数
1
解决办法
1088
查看次数

显示与行颜色对应的 seaborn clustermap 的图例

''' 为简单起见,让我们使用 iris 数据集。我想添加一个将每个物种与其颜色代码匹配的图例(在本例中为蓝色、绿色、红色)。顺便说一句,我在以下链接中发现了类似的问题,但更复杂一些。 如何在 Seaborn 中的热图轴上表达类

Seaborn clustermap row color with legend 中提出的解决方案会起作用,但是对于 df[['tissue type','label']] 在定义 legend_TN 时,我不确定如何类似地定义标签,例如 iris['species' ,'xxxx'] 预先感谢您帮助我。'''

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline

iris = sns.load_dataset('iris')
species = iris.pop('species')


lut = dict(zip(species.unique(), "rbg"))
row_colors = species.map(lut)
g = sns.clustermap(iris, row_colors=row_colors)
plt.show()
Run Code Online (Sandbox Code Playgroud)

colors legend heatmap seaborn

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