python一生之敌 2024-05-30 10:19 采纳率: 0%
浏览 3

pairplot柱状图绘图结果和数据不一样怎么办🥹

img

img

使用代码
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns;sns.set(color_codes=True)
df=pd.read_csv('lvyou.csv')
df.head
sns.pairplot(df)
plt.show()

非专业🥹找了好多方法都不行🆘🥹

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-05-30 10:19
    关注

    引自免费微信小程序:皆我百晓生

    看起来您在尝试使用seaborn库中的pairplot函数绘制柱状图时遇到了一些问题。pairplot默认会创建散点图、直方图和其他类型的图形,而不是柱状图。要解决这个问题,您可以先将您的数据按照特定方式重排,然后使用matplotlib的bar函数绘制柱状图。下面是一个详细的步骤:

    首先,确保您的数据已经正确读入,并且格式合适。根据您提供的数据,我假设您的CSV文件名为lvyou.csv,并且数据已经被正确加载到一个名为df的pandas DataFrame中。

    import numpy as np
    import pandas as pd
    import matplotlib.pyplot as plt
    
    # 读取csv文件
    df = pd.read_csv('lvyou.csv')
    

    接下来,我们将数据转换为适合绘制柱状图的形式。这里我们使用pivot_table函数来重组数据,使其适合于绘制多个柱状图。

    # 将数据转换为适合柱状图的格式
    pivot_df = df.pivot_table(index='年份', columns='指标', values=['接待游客', '旅游收入(亿元)', '酒店平均房价', '人均出游消费(元)'])
    
    pivot_df.head()
    

    现在,我们可以使用matplotlib的bar函数来绘制每个指标的柱状图。为了清晰地显示每个指标,我们将分别绘制它们。

    fig, axes = plt.subplots(nrows=2, ncols=2, figsize=(12, 8))
    
    # 绘制接待游客柱状图
    pivot_df['接待游客'].plot(kind='bar', ax=axes[0, 0])
    axes[0, 0].set_title('接待游客')
    
    # 绘制旅游收入柱状图
    pivot_df['旅游收入(亿元)'].plot(kind='bar', ax=axes[0, 1])
    axes[0, 1].set_title('旅游收入(亿元)')
    
    # 绘制酒店平均房价柱状图
    pivot_df['酒店平均房价'].plot(kind='bar', ax=axes[1, 0])
    axes[1, 0].set_title('酒店平均房价')
    
    # 绘制人均出游消费柱状图
    pivot_df['人均出游消费(元)'].plot(kind='bar', ax=axes[1, 1])
    axes[1, 1].set_title('人均出游消费(元)')
    
    # 设置x轴标签
    for ax in axes.flat:
        ax.set_xlabel('年份')
        
    # 调整y轴范围
    for ax in axes.flat:
        ax.set_ylim(0, pivot_df.max().max() * 1.1)  # 留出一些空间用于刻度标签
        
    # 添加网格线
    for ax in axes.flat:
        ax.yaxis.grid(True)
        
    # 显示图表
    plt.tight_layout()
    plt.show()
    

    这段代码将会生成四个柱状图,分别对应于'接待游客'、'旅游收入(亿元)'、'酒店平均房价'和'人均出游消费(元)'这四个指标,每个图都显示了不同年份的数据。这样应该可以满足您的需求。如果您有任何疑问或需要进一步的帮助,请随时告诉我。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 5月30日