练习(在图中添加文字)

1

(1)对于一组电影数据(IMDB-Movie-Data.csv),如果我们想rating,runtime的分布情况,应该如何呈现数据?

代码

import pandas as pd
import math
from matplotlib import pyplot as plt

file_path = "./IMDB-Movie-Data.csv"
df = pd.read_csv(file_path)

rating_index= df["Rating"].values
max_runtime = rating_index.max()
min_runtime = rating_index.min()

# 计算组数
print(max_runtime-min_runtime)
num_bin = math.ceil((max_runtime-min_runtime)//0.5)

plt.figure(figsize=(16, 12), dpi=80)
plt.hist(rating_index, num_bin)
plt.show()

输出

7.1

在这里插入图片描述
可以看到,由于对组数进行了取整操作,因此组距很难区分,这个时候使用列表人为确定组距最佳
可以看到,评价在3分以下的数量很少,所以可以设定第一组为0-3,接下来每隔0.5做一个分组
最高分是9,因此最后一个分点是9

import pandas as pd
from matplotlib import pyplot as plt

file_path = "./IMDB-Movie-Data.csv"
df = pd.read_csv(file_path)

rating_index= df["Rating"].values
seg_point = [0] + [3 + 0.5*i for i in range(13)]
print(seg_point)
plt.hist(rating_index, seg_point)
x = [0+i*0.5 for i in range(20)]
plt.xticks(x)	# 要显示的刻度
plt.show()

输出
在这里插入图片描述
也可以使用不等宽的组距

import pandas as pd
from matplotlib import pyplot as plt

file_path = "./IMDB-Movie-Data.csv"
df = pd.read_csv(file_path)
rating_data= df["Rating"].values
max_rating = rating_data.max()
min_rating = rating_data.min()
print(min_rating, max_rating)

# 设置不等宽的组距,hist方法中取到的会是一个左闭右开的区间[1.9,3.5)
num_bin_list = [1.9,3.5]
i=3.5
while i<=max_rating:      # 如果等于号不加,那么将取不到9.0
    i += 0.5
    num_bin_list.append(i)
print(num_bin_list)

# 设置图形的大小
plt.figure(figsize=(12,8),dpi=80)
plt.hist(rating_data,num_bin_list)

# xticks让之前的组距能够对应上
plt.xticks(num_bin_list)

plt.show()

输出

1.9 9.0
[1.9, 3.5, 4.0, 4.5, 5.0, 5.5, 6.0, 6.5, 7.0, 7.5, 8.0, 8.5, 9.0, 9.5]

在这里插入图片描述

2 星巴克数据

(1)使用matplotlib呈现出店铺总数排名前10的国家
(2)使用matplotlib呈现出中国店铺数量前十五名的城市

(1)绘制店铺总数排名前10的国家的条形图

代码

import pandas as pd
from matplotlib import pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 解决中文显示的问题

file_path = "starbucks_store_worldwide.csv"
data = pd.read_csv("starbucks_store_worldwide.csv")
# print(data.info())

num_country = data.groupby(by="Country").count()["Brand"]
# print(num_country)
# print(type(num_country))

sort_num = num_country.sort_values(ascending=False)
top_10 =sort_num.head(10)
# print(top_10)
# print(top_10.values)

_xticks = top_10.index
x = range(len(_xticks))

plt.figure(figsize=(12, 8), dpi=80)

plt.xticks(x, _xticks)
plt.xlabel("国家简称")
plt.ylabel("门店数量")
plt.title("星巴克门店数量前十名的国家")

x = plt.bar(x, top_10, color = "orange")
# 这个画条形图的命令有返回值

# 在条形图上标上数字
for i in x:         # 遍历条形图的返回值,每次迭代的结果都是一个条柱
    height = i.get_height()
    # 获得条形的高度
    plt.text(i.get_x() + i.get_width() / 2,height, str(height),
             fontsize=15, va="bottom", ha="center", color='blue')
    # plt.text是添加文字标签,前两个参数(x, y)表示文字要放置的位置
    # i.get_x()是获得条柱的左边缘位置,i.get_width()获得条柱的宽度
    # height 表示文字要放置的高度
    # str(height)是要标注的文字,这里我们通过将height转为字符串得到,
    # 也可以通过top_10.value得到,但需加上循环计数变量,因为value是列表
    # fontsize=15, va="bottom", ha="center", color='blue'定义字体
    # ha是horizontal alignment, 及水平对齐方式,同样,va表示竖直对齐方式
    # ha='center' 表示水平居中对齐,即让注释的横坐标中点和x一致,
    # va='bottom' 表示竖直向下对齐,即让注释的纵坐标最低点和y一致

plt.show()

输出
在这里插入图片描述

(2)使用matplotlib呈现出每个中国每个城市的店铺数量

代码

import pandas as pd
from matplotlib import pyplot as plt
plt.rcParams['font.sans-serif'] = "SimHei"

data = pd.read_csv("starbucks_store_worldwide.csv")
# print(data.info())

num_country = data.groupby(by=["Country", "City"]).count()
num_city_CN = num_country.loc["CN", "Brand"]
# print(num_city_CN)

top_15 = num_city_CN.sort_values(ascending=False).head(15)
# print(top_15)

plt.figure(figsize=(12, 8), dpi=80)
plt.xticks(range(15), top_15.index)
plt.xlabel("城市")
plt.ylabel("数量")
plt.title("店铺数量前十五名中国城市")

x = plt.bar(range(15), top_15.values, color='orange')
for i in x:
    plt.text(i.get_x()+i.get_width()/2, i.get_height(),
             str(i.get_height()), fontsize=15, ha="center")

plt.show()

输出
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Word 2016是微软办公套件的文档编辑工具,它可以用于创建、编写和格式化各种类型的文档。下面是一些Word 2016的练习题。 1. 如何在Word 2016创建新文档? 在Word 2016,可以通过选择“文件”菜单然后点击“新建”来创建一个新的文档。 2. 如何更改文本字体和大小? 选择要更改字体和大小的文本,然后在“开始”选项卡上的“字体”组下拉菜单选择所需的字体和大小。 3. 如何插入片? 在Word 2016,可以在要插入片的位置点击“插入”选项卡上的“片”按钮,然后选择所需的片文件。 4. 如何添加页眉和页脚? 选择“插入”选项卡上的“页眉”或“页脚”按钮,然后选择所需的页眉或页脚样式。 5. 如何添加表格? 在Word 2016,可以选择“插入”选项卡上的“表格”按钮,然后选择所需的表格大小。 6. 如何设置页面边距? 在Word 2016,可以选择“布局”选项卡上的“页面边距”按钮,然后选择所需的页面边距。 7. 如何保存文档? 可以使用键盘快捷键Ctrl + S保存文档,或选择“文件”菜单的“保存”选项。 8. 如何添加页码? 在Word 2016,可以选择“插入”选项卡上的“页码”按钮,然后选择所需的页码样式和位置。 通过完成这些练习题,您可以更好地熟悉Word 2016的功能和操作方式,提高您的文档编辑和排版技能。 ### 回答2: Word2016练习题是帮助初学者熟悉和掌握Word2016软件功能的练习题目。通过完成这些练习题目,您可以有效地提高对Word2016软件的使用技巧和编辑文档的能力。 在练习题目,您可以学习到如何创建、编辑和保存文档,以及如何调整文本的格式、字体和排版。您也可以了解到如何插入和调整片、表格和表,以及如何添加页眉、页脚和目录等。此外,还有一些练习题目是关于如何使用快捷键和自动化功能来提高工作效率。 这些练习题目往往以具体的任务和操作为指导,您需要按照指导完成所要求的任务,并将结果保存为一个新的文档。这样一来,您就可以通过实践来学习和掌握Word2016软件的各项功能。 通过完成这些练习题目,您不仅可以提高对Word2016软件的熟练程度,还可以在实际工作和学习更加高效地使用Word来处理各种文档任务。因此,我鼓励您利用这些练习题目来提升自己的Word技能。 ### 回答3: Word2016是一款功能强大的文字处理软件,下面是一些针对Word2016的练习题。 1. 如何在Word2016创建新的空白文档? 在Word2016,可以通过点击“文件”选项卡,然后选择“新建”按钮来创建新的空白文档。 2. 如何将文字对齐? 选你想要居对齐的文字,然后点击“首页”选项卡上的“居对齐”按钮即可将文字对齐。 3. 如何在Word2016插入片? 在Word2016,可以点击“插入”选项卡上的“片”按钮来插入片。然后可以选择你想要插入的片文件,并点击“插入”按钮即可将片插入到文档。 4. 如何设置页眉和页脚? 点击“插入”选项卡的“页眉”或“页脚”按钮,可以选择不同的页眉和页脚样式。选择适合你的样式后,可以在页眉和页脚区域输入你想要显示的内容。 5. 如何保存文档为PDF格式? 点击“文件”选项卡,然后选择“另存为”按钮,选择存储位置后,在文件类型选择“PDF”,最后点击“保存”按钮即可将文档保存为PDF格式。 6. 如何添加批注? 选你需要添加批注的文字,然后点击“审阅”选项卡上的“新批注”按钮,即可在文档添加批注。 7. 如何设置页面边距? 点击“页面布局”选项卡,然后点击“页边距”按钮,在弹出的菜单选择你想要的页面边距设置。 8. 如何设置文字的字体和字号? 选你想要设置的文字,然后在“开始”选项卡上的字体和字号下拉菜单选择你所需要的字体和字号。 这些题目可以帮助你更好地了解和掌握Word2016的基本操作和功能。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值