【无标题】关于大数据

 

1. matplotlib的使用

使用matplotlib绘制图表

书上的示例:

第一步和第二步一定是导入模块 准备数据

课后习题

这句话是错误的

2. 数据可视化的意义:

课后习题:

数据可视化是一个抽象的过程。这句话是对的

3. 常用图表的定义和作用(折线图、柱状图、饼图)

课后习题:

 

应该为折线图

这句话是错的

反应两个变量之间的关系的是散点图

以上1到3考的是判断、选择。后续应该都是填空、操作。

4. 绘制多折线图、两组柱形的柱状图、饼图、圆环图。

绘制多折现图

两组柱形的柱状图

使用pyplot的bar()函数绘制柱形图

饼图

使用pyplot的pie()函数可以快速绘制饼图或者圆环图

课后习题:

5.识别常用颜色:红、绿、蓝、黄、紫、青、黑、白。

具体应用在最后的习题里

6.设置线的样式,如实线、长虚线、短虚线、点划线等。

7.设置网格线

8.设置标题

9.设置x、y轴的刻度标签

10.设置楔形图宽度、半径、保留n位小数

楔形图宽度 wedgeprops = {‘width’:宽度}

保留n位小数 autopct='%1.nf%%'

半径radius =

作业一、

作业二、

作业三、

作业四、

作业五、

作业六、

作业七、

作业八、

作业九、

作业十、

作业11

绘制最低最高气温折线图,数据如下:

最高气温: [32, 33, 34, 34, 33, 31, 30, 29, 30, 29, 26, 23, 21, 25, 31]

最低气温: [19, 19, 20, 22, 22, 21, 22, 16, 18, 18, 17, 14, 15, 16, 16]

说明:

(1)最高气温使用紫色长虚线,最低气温使用黑色短虚线。

(2)使用水平、垂直两个方向的网格线。

(3)设置x轴、y轴的标签和图表标题。

代码:

import matplotlib.pyplot as plt

 

# 最高气温和最低气温的数据

high_temps = [32, 33, 34, 34, 33, 31, 30, 29, 30, 29, 26, 23, 21, 25, 31]

low_temps = [19, 19, 20, 22, 22, 21, 22, 16, 18, 18, 17, 14, 15, 16, 16]

 

# 设置折线图的样式

plt.plot(high_temps, linestyle='--', color='purple')  # 最高气温折线

plt.plot(low_temps, linestyle=':', color='black')     # 最低气温折线

 

# 设置网格线

plt.grid(True, which='both')  # 显示水平和垂直网格线

 

# 设置x轴和y轴的标签

plt.xlabel('Days')  # x轴标签

plt.ylabel('Temperature (°C)')  # y轴标签

 

# 设置图表标题

plt.title('Minimum and Maximum Temperature over 15 days')

 

# 显示图例

plt.legend(['Max Temperature', 'Min Temperature'])

 

# 自动调整x轴和y轴的刻度范围

plt.tight_layout()

 

# 显示图表

plt.show()

图:

作业12

绘制甲、乙两位学生五门课程成绩的对比柱形图,数据如下:学生​语文​数学​英语​物理​化学

甲​74​93​84​81​79

乙​88​83​97​74​72

说明:

(1)甲同学的成绩使用红色矩形条表示,乙同学的成绩使用蓝色矩形条表示。

(2)水平轴的标签使用课程名称标记,如“语文”“数学”等。

代码:

import matplotlib.pyplot as plt

 

# 学生成绩数据

subjects = ['语文', '数学', '英语', '物理', '化学']

score_a = [74, 93, 84, 81, 79]

score_b = [88, 83, 97, 74, 72]

 

# 设置水平轴的标签

plt.xticks(range(len(subjects)), subjects)

 

# 设置柱形图的位置和颜色

plt.bar(range(len(subjects)), score_a, width=0.4, color='red', label='甲同学')

plt.bar(range(len(subjects)), score_b, width=0.4, color='blue', label='乙同学')

 

# 添加图例

plt.legend()

 

# 设置图表标题

plt.title('甲、乙两位学生五门课程成绩对比')

 

# 调整显示的布局

plt.tight_layout()

 

# 显示图表

plt.show()

图:

作业13

绘制某学生2024年6月消费情况的圆环图,数据如下:

支出类别​伙食​零食​学习​通讯​服饰​交通​娱乐​其他

金额(元)​931​430​210​68​413​148​100​310

说明:

(1)伙食、服饰使用红色表示,零食、交通使用绿色表示,学习、娱乐使用蓝色表示,通讯、其他使用黄色表示。

(2)绘制标题“6月消费情况”。

(3)楔形宽度为0.75,半径为1.3,数值保留1位小数。

 

代码:

import matplotlib.pyplot as plt

import numpy as np

 

# 数据列表,包含支出类别和对应的金额

categories = ['伙食', '零食', '学习', '通讯', '服饰', '交通', '娱乐', '其他']

values = [931, 430, 210, 68, 413, 148, 100, 310]

colors = ['red', 'green', 'blue', 'yellow', 'red', 'green', 'blue', 'yellow']

explode = [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]  # 控制楔形的突出程度

 

# 创建一个圆环图

plt.figure(figsize=(8, 8))

plt.pie(values, labels=categories, colors=colors, autopct='%1.1f%%', explode=explode, shadow=True, radius=1.3)

plt.title('6月消费情况')

plt.axis('equal')  # 保持饼状图为圆形

plt.show()

图:

作业14

绘制甲、乙两国(地区)在各类发电量方面的对比柱形图,数据如下:

国家(地区)​水电​火电​核电​风电​太阳能​其他

甲​174​93​284​21​43​74

乙​88​283​97​34​75​46

说明:

(1)甲国(地区)的发电量使用红色矩形条表示,乙国(地区)的发电量使用蓝色矩形条表示。

(2)水平轴的标签使用发电类别标记,如“水电”“火电”等。

代码:

import matplotlib.pyplot as plt

import numpy as np

 

# 数据

categories = ['水电', '火电', '核电', '风电', '太阳能', '其他']

generation_jia = [174, 93, 284, 21, 43, 74]

generation_yi = [88, 283, 97, 34, 75, 46]

 

x = np.arange(len(categories))  # 生成类别数量的序列

width = 0.4  # 柱形宽度

 

# 绘图

plt.figure(figsize=(10, 6))

 

# 绘制甲国的发电量柱形图(红色)

plt.bar(x - width/2, generation_jia, width=width, color='red', label='甲国')

 

# 绘制乙国的发电量柱形图(蓝色)

plt.bar(x + width/2, generation_yi, width=width, color='blue', label='乙国')

 

# 设置轴标签和标题

plt.xlabel('发电类别')

plt.ylabel('发电量')

plt.title('甲乙两国在各类发电量方面的对比')

 

# 设置x轴刻度和标签

plt.xticks(x, categories)

 

# 显示图例

plt.legend()

 

# 显示图形

plt.tight_layout()

plt.show()

图:

作业15

绘制该学校2023级新生的来源地区的圆环图,数据如下:

来源地区​东北​华北​华东​华中​华南​西南​西北

人数​542​334​189​2304​830​810​410

说明:

(1)东北、华南地区生源人数使用红色表示,华北、西南地区生源人数使用绿色表示,华东、西北地区生源人数使用蓝色表示,华中地区生源人数使用黄色表示。

(2)绘制标题“2023级新生来源地区”。

(3)楔形宽度为0.8,半径为1.3,数值保留1位小数。

代码:

import matplotlib.pyplot as plt

 

# 数据

labels = ['东北', '华北', '华东', '华中', '华南', '西南', '西北']

sizes = [542, 334, 189, 2304, 830, 810, 410]

colors = ['red', 'green', 'blue', 'yellow', 'red', 'green', 'blue']  # 根据要求设置颜色

explode = (0, 0, 0, 0, 0, 0, 0)  # 不设置爆炸效果

 

# 绘图

plt.figure(figsize=(8, 6))

plt.pie(sizes, explode=explode, labels=labels, colors=colors,

       autopct='%1.1f%%', startangle=140, wedgeprops={'width': 0.8, 'linewidth': 1.3})

 

# 设置标题

plt.title('2023级新生来源地区')

 

# 显示图形

plt.axis('equal')  # 保证圆环图比例相等

plt.show()

图:

 

 

 

 

作业12和作业13 不同答案

作业12

绘制甲、乙两位学生五门课程成绩的对比柱形图,数据如下:

学生​语文​数学​英语​物理​化学

甲​74​93​84​81​79

乙​88​83​97​74​72

说明:

(1)甲同学的成绩使用红色矩形条表示,乙同学的成绩使用蓝色矩形条表示。

(2)水平轴的标签使用课程名称标记,如“语文”“数学”等。

 

import matplotlib.pyplot as plt

import numpy as np

 

plt.rcParams['font.sans-serif'] = ['SimHei']

plt.rcParams['axes.unicode_minus'] = False

courses = ['语文', '数学', '英语', '物理', '化学']

scores_a = [74, 93, 84, 81, 79]

scores_b = [88, 83, 97, 74, 72]

 

x = range(len(courses))

 

plt.bar(x, scores_a, width=0.4, color='red', label='甲')

plt.bar([i + 0.4 for i in x], scores_b, width=0.4, color='blue', label='乙')

 

plt.xticks(x, courses, rotation=45)

plt.xlabel('课程')

plt.ylabel('成绩')

plt.title('甲、乙学生成绩对比')

plt.legend()

 

plt.show()

作业13

绘制某学生2024年6月消费情况的圆环图,数据如下:

支出类别​伙食​零食​学习​通讯​服饰​交通​娱乐​其他

金额(元)​931​430​210​68​413​148​100​310

说明:

(1)伙食、服饰使用红色表示,零食、交通使用绿色表示,学习、娱乐使用蓝色表示,通讯、其他使用黄色表示。

(2)绘制标题“6月消费情况”。

(3)楔形宽度为0.75,半径为1.3,数值保留1位小数。

 

import matplotlib.pyplot as plt

 

categories = ['伙食', '零食', '学习', '通讯', '服饰', '交通', '娱乐', '其他']

amounts = [931, 430, 210, 68, 413, 148, 100, 310]

 

colors = ['red', 'green', 'blue', 'yellow','red', 'green', 'blue', 'yellow']  # 修正颜色对应

 

plt.pie(amounts, labels=categories, colors=colors, wedgeprops={'width': 0.75, 'radius': 1.3}, autopct='%.1f%%')

plt.title('6 月消费情况')

 

plt.axis('equal')  

plt.show()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值