#使用了pandas和matplotlib来创建一个包含四个子图的图表, Genre_data_NA = data.pivot_table(index = ['Genre',],values='NA_Sales',aggfunc=np.sum).sort_values('NA_Sales',ascending=False) Genre_data_EU =data.pivot_table(index = ['Genre',],values='EU_Sales',aggfunc=np.sum).sort_values('EU_Sales',ascending=False) Genre_data_JP = data.pivot_table(index = ['Genre',],values='JP_Sales',aggfunc=np.sum).sort_values('JP_Sales',ascending=False) Genre_data_Other =data.pivot_table(index = ['Genre',],values='Other_Sales',aggfunc=np.sum).sort_values('Other_Sales',ascending=False) Genre_data_NA # Genre_data_DF = pd.concat([Genre_data_NA,Genre_data_EU,Genre_data_JP,Genre_data_Other],axis = 1) data=Genre_data_NA Genre_name = data._stat_axis.values.tolist() # explodes=[0.1,0.1,0.1,0.1] plt.figure(figsize=(10,10)) plt.subplot(2,2,1) plt.pie(x=Genre_data_NA,labels=Genre_name,autopct="%0.1f%%",shadow=True) plt.title("北美地区的不同类型游戏销售额") plt.subplot(2,2,2) plt.pie(x=Genre_data_EU,labels=Genre_name,autopct="%0.1f%%",shadow=True) plt.title("欧洲地区的不同类型游戏销售额") plt.subplot(2,2,3) plt.pie(x=Genre_data_JP,labels=Genre_name,autopct="%0.1f%%",shadow=True) plt.title("日本地区的不同类型游戏销售额") plt.subplot(2,2,4) plt.pie(x=Genre_data_Other,labels=Genre_name,autopct="%0.1f%%",shadow=True) plt.title("其它地区的不同类型游戏销售额") plt.show()
时间: 2024-04-12 11:33:25 浏览: 111
这段代码使用了 pandas 和 matplotlib 库来创建一个包含四个子图的图表。首先,通过使用 pivot_table 方法和 aggfunc 参数,对数据进行聚合并按照指定的列进行排序,得到了四个不同地区的游戏销售额数据:Genre_data_NA、Genre_data_EU、Genre_data_JP 和 Genre_data_Other。
接下来,将 Genre_data_NA 数据赋值给 data 变量,并通过调用 _stat_axis.values.tolist() 方法获取到 Genre_name 列表,这将作为饼图的标签。
然后,创建一个大小为 (10,10) 的图表,并在其中设置四个子图。对于每个子图,使用 plt.pie 方法绘制饼图,传入不同地区的销售额数据 Genre_data_NA、Genre_data_EU、Genre_data_JP 和 Genre_data_Other,以及对应的标签 Genre_name。同时,通过设置 autopct 参数来显示百分比,并设置 shadow 参数为 True 来添加阴影效果。最后,在每个子图上添加标题,并使用 plt.show() 方法显示图表。
这样,您将得到一个包含四个子图的图表,分别展示了不同地区的游戏销售额情况。
相关问题
Genre_data_NA = data.pivot_table(index = ['Genre',],values='NA_Sales',aggfunc=np.sum).sort_values('NA_Sales',ascending=False) Genre_data_EU =data.pivot_table(index = ['Genre',],values='EU_Sales',aggfunc=np.sum).sort_values('EU_Sales',ascending=False) Genre_data_JP = data.pivot_table(index = ['Genre',],values='JP_Sales',aggfunc=np.sum).sort_values('JP_Sales',ascending=False) Genre_data_Other =data.pivot_table(index = ['Genre',],values='Other_Sales',aggfunc=np.sum).sort_values('Other_Sales',ascending=False) Genre_data_NA # Genre_data_DF = pd.concat([Genre_data_NA,Genre_data_EU,Genre_data_JP,Genre_data_Other],axis = 1) data=Genre_data_NA Genre_name = data._stat_axis.values.tolist() # explodes=[0.1,0.1,0.1,0.1] plt.figure(figsize=(10,10)) plt.subplot(2,2,1) plt.pie(x=Genre_data_NA,labels=Genre_name,autopct="%0.1f%%",shadow=True) plt.title("北美地区的不同类型游戏销售额") plt.subplot(2,2,2) plt.pie(x=Genre_data_EU,labels=Genre_name,autopct="%0.1f%%",shadow=True) plt.title("欧洲地区的不同类型游戏销售额") plt.subplot(2,2,3) plt.pie(x=Genre_data_JP,labels=Genre_name,autopct="%0.1f%%",shadow=True) plt.title("日本地区的不同类型游戏销售额") plt.subplot(2,2,4) plt.pie(x=Genre_data_Other,labels=Genre_name,autopct="%0.1f%%",shadow=True) plt.title("其它地区的不同类型游戏销售额") plt.show()
这段代码使用了 `pandas` 和 `matplotlib` 来创建一个包含四个子图的图表,用于可视化同地区(北美、欧洲日本和其他地区)的游戏销售额按游戏类型进行的分布情况。
首先,通过 `data.pivot_table()` 创建了四个数据表格 `Genre_data_NA`、`Genre_data_EU`、`Genre_data_JP` 和 `Genre_data_Other`,分别代表北美、欧洲、日本和其他地区的不同游戏类型的销售额。
然后,通过 `data._stat_axis.values.tolist()` 获取游戏类型的名称,并存储在变量 `Genre_name` 中。
接下来,使用 `plt.figure(figsize=(10,10))` 创建一个大小为 10x10 的图表。
然后,使用 `plt.subplot(2,2,1)` 创建第一个子图,并设置其位置为 2x2 的矩阵中的第一个位置。
通过 `plt.pie()` 绘制饼图。通过 `x=Genre_data_NA` 将销售额作为饼图的值,通过 `labels=Genre_name` 将游戏类型作为饼图的标签,通过 `autopct="%0.1f%%"` 设置百分比显示格式,通过 `shadow=True` 添加阴影效果。
使用 `plt.title()` 设置第一个子图的标题为 "北美地区的不同类型游戏销售额"。
接下来,重复上述步骤,在不同的位置创建剩下的三个子图,并设置标题为 "欧洲地区的不同类型游戏销售额"、"日本地区的不同类型游戏销售额"、"其他地区的不同类型游戏销售额"。
最后一行的 `plt.show()` 用于显示图表。
import urllib3 import pandas as pd import os def download_content(url): http = urllib3.PoolManager() response = http.request("GET", url) response_data = response.data html_content = response_data.decode() return html_content def save_excel(): html_content = download_content("http://fx.cmbchina.com/Hq/") cmb_table_list = pd.read_html(html_content) cmb_table_list[1].to_excel("Bit&Yanan.xlsx") def main(): save_excel() if __name__ == '__main__': main() os.startfile("Bit&Yanan.xlsx") import pandas as pd import matplotlib.pyplot as plt import numpy as np plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签 plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号 rapx = (114.4936096 - 112.6832583)/50 rapy = (23.87839806 - 22.49308313)/50 minx = 112.6832583+rapx*2 maxx = 114.4936096+rapx*2 miny = 22.49308313 maxy = 23.87839806 data = pd.read_excel("Bit&Yanan.xlsx") print(data.head()),继续完成用
pandas和matplotlib库分析和展示数据的任务。
首先,我们可以查看一下读入数据后的前几行,使用`.head()`函数,例如`print(data.head())`。
接下来,你可以使用pandas库进行数据的筛选和处理,例如选取特定列、按照某列进行排序、按照某列筛选数据等等。具体使用方法可以参考pandas的官方文档或者各种在线教程。
最后,你可以使用matplotlib库绘制各种图表,例如折线图、散点图、柱状图等等,来展示数据的规律和趋势。同样的,matplotlib库的使用方法可以参考官方文档或者各种在线教程。需要注意的是,matplotlib库的绘图需要一定的数学基础和美学素养,因此建议在实际操作中结合各种案例和实践经验,不断提高自己的绘图技能。
阅读全文