如何用datafram中的所有行名标记axis

2024-05-16 03:42:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含大约430行的数据帧:

     name         Right_Answers  Wrong_Answers
    Alice Ji      7                6
    Eleonora LI   2                5
    Mike The      6                5
    Helen Wo      5                3

为了直观显示正确(红色)和错误(蓝色)答案的数量,我使用matplotlib库和以下函数:

^{pr2}$

但我总是只有8个名称作为X轴上的标签,而不是430(垂直旋转,所以有足够的空间来容纳更多的行名称)!为什么会这样?我以为这个方法把所有的行名放在轴labels = df.name.values[:]上,但显然不是。 你知道这个问题的其他解决办法吗? 我已经准备好尝试另一个库,如seaborn或ggplot,即使我发现它们对于dataframe和matplotlib来说不太合适


Tags: the数据nameright名称matplotliblianswers
2条回答

试试这个(iPython笔记本):

import pandas as pd
import matplotlib.pyplot as plt

%pylab inline
mydata = [{'Name':'John', 'TRUE_ANSWER': 75, 'FALSE_ANSWER':25},
          {'Name':'Mike', 'TRUE_ANSWER': 60, 'FALSE_ANSWER':40},]
df = pd.DataFrame(mydata)
columns = ['Name','TRUE_ANSWER', 'FALSE_ANSWER']
df = df[columns]
df.index=df["Name"]
df.plot(kind='bar')

enter image description here

我认为尝试做你在问题plotting & formatting seaborn chart from pandas dataframe中问我的累积图表对你的集合不起作用。希望这有帮助。在

假设您的数据在数据框中,您可以使用Pandas内置的绘图方法,例如:

df.plot(kind='bar', color=['red', 'blue'])

enter image description here

相关问题 更多 >