如何使用python和seaborn绘制简单的条形图?

如何使用python和seaborn绘制简单的条形图?,python,seaborn,Python,Seaborn,我正在尝试使用python和seaborn制作条形图,但遇到了一个错误: ValueError: Could not interpret input 'total'. 这就是我试图在条形图中转换的内容: level_1 1900 2014 2015 2016 2017 2018 total 0.0 154.4 490.9 628.4 715.2 601.5 这是同一数据帧的图像: 我还想删除列1990,但当我试图删除

我正在尝试使用python和seaborn制作条形图,但遇到了一个错误:

ValueError: Could not interpret input 'total'.
这就是我试图在条形图中转换的内容:

level_1     1900    2014    2015    2016    2017    2018
total        0.0    154.4   490.9   628.4   715.2   601.5
这是同一数据帧的图像:

我还想删除列
1990
,但当我试图删除索引时,
2014
列被删除

到现在为止,我已经走了这么远:

valor_ano = sns.barplot(
    data= valor_ano,
    x= ['2014', '2015', '2016', '2017', '2018'],
    y= 'total')

有什么建议吗?

执行以下操作:

import seaborn as sns
import pandas as pd

valor_ano = pd.DataFrame({'level_1':[1900, 2014, 2015, 2016, 2017, 2018], 
                         'total':[0.0, 154.4, 490.9, 628.4,715.2,601.5]})

valor_ano.drop(0, axis=0, inplace=True)

valor_plot = sns.barplot(
    data= valor_ano,
    x= 'level_1',
    y= 'total')
这将生成以下绘图:

编辑:如果您想在不使用数据帧的情况下执行此操作,只需传入原始数据,则可以使用以下代码执行此操作。您也可以只使用包含列表的变量,而不是对列表进行硬编码:

valor_graph = sns.barplot(
    x= [2014, 2015, 2016, 2017, 2018],
    y= [154.4, 490.9, 628.4,715.2,601.5])

嗨,Mihai,有没有一种方法可以不必通过数据框中的列值和行值就可以做到这一点?我问这个问题是因为我想自动化这些图表的制作。那么,问题是,你是如何实现自动化的?您是否正在读取这些要从文件创建图表的值?在这种情况下,您仍然可以通过编程方式将它们读入数据帧,并像往常一样从中生成图表。你的问题需要更多的信息来回答。嗨,Mihai,我是python的初学者,很抱歉缺少信息。我从一个csv文件中进行了重塑和旋转,直到我得到了这个数据帧,我正试图在条形图中进行转换。我将这个数据帧保存在一个名为“soma_ano_valor”的变量中,我正在尝试编写一个脚本,每当我加载一个新的csv文件时,该脚本都会生成soma_ano_valor条形图。如果还有其他必要的信息,请告诉我。非常感谢您的帮助。如果是这样的话,只要您能够正确创建
soma_ano_valor
dataframe变量,您所要做的就是运行我在第一个代码块中的绘图代码,并将数据框中的列名作为
x
y
参数传入,就像我对
level_1
和'total
所做的那样。然后seaborn将使用这些列作为条形图上的x和y。只要确保在调用sns.barplot()`as
data=soma\u valor\u ano
时传递该数据帧,就可以了。我想我对数据帧做了一些错误的处理。找不到级别_1索引:ValueError:无法解释输入'level_1',我将尝试以另一种方式重做数据帧,以便绘制图形。。谢谢!