我有一个pandas数据框,其中一列是一组标签,我想在子图中绘制其他每一列。换句话说,我希望每个子图的y轴使用相同的列,称为'标签',我想要每个剩余列的子图,其中x-每列的数据轴。我希望以下代码片段可以实现这一点,但我不明白为什么这会产生一个荒谬的情节:
examples.plot(subplots=True, layout=(-1, 3), figsize=(20, 20), y='labels', sharey=False)
答案 0 :(得分:3)
该代码的问题在于您没有指定x值。这似乎是荒谬的,因为它将labels
列绘制为从0到行数的索引。据我所知,你不能直接在熊猫中做你想做的事。您可能想查看seaborn,它是另一个可视化库,它有一些不错的网格绘图助手。
以下是您的数据示例:
import pandas as pd
import seaborn as sns
import numpy as np
examples = pd.DataFrame(np.random.rand(10,4), columns=['a', 'b', 'c', 'labels'])
g = sns.PairGrid(examples, x_vars=['a', 'b', 'c'], y_vars='labels')
g = g.map(plt.plot)
显然,使用随机数据看起来并不好看,但希望您的数据看起来会更好。