数据可视化实验三:Matplotlib绘图

目录

一、绘制斜率为3和5的直线图

1.1 代码实现

1.2 绘制结果

二、使用Matplotlib绘制招聘职位数量关系的线图,通过Pandas读取数据绘制折线图

2.1 代码实现

2.2 绘制结果

三、使用Matplotlib绘制房价与房屋面积的散点图,数据通过Pandas读取表格

3.1 代码实现

3.2 绘制结果

四、使用Matplotlib绘制不同季度不同产品销售额的柱状图

4.1 代码实现

4.2 绘制结果

五、使用Matplotlib绘制不同季度不同产品销售额关系的饼状图

5.1 代码实现

5.2 绘制结果

六、使用Matplotlib绘制sin()和cos() 函数

6.1 代码实现

6.2 绘制结果

七、使用Matplotlib绘制不同季度单一产品销售额关系的柱状图

7.1 代码实现

7.2 绘制结果

结尾语


一、绘制斜率为3和5的直线图

通过Numpy生成10个0~100的线性平均数据,然后通过plot()函数分别绘制斜率为3和5的直线图。

1.1 代码实现

import numpy as np
import matplotlib.pyplot as plt
# 中文字体调整
plt.rcParams['font.family'] = ['Arial Unicode Ms']

# 生成10个0~100的线性平均数据
x = np.linspace(0, 100, 10)
y = np.mean(x)

# plt.xlim(0)
# plt.ylim(0)
# 绘制斜率为3的直线
plt.plot(x, 3*x, label='k=3 直线', color='blue')

# 绘制斜率为5的直线
plt.plot(x, 5*x, label='k=5 直线', color='red')

# 设置坐标名及图表标签
plt.xlabel('X轴')
plt.ylabel('Y轴')
plt.title('斜率为3和5的直线图')
plt.legend()
plt.show()

1.2 绘制结果

注:标签的位置可通过调参的方式动态调整

二、使用Matplotlib绘制招聘职位数量关系的线图,通过Pandas读取数据绘制折线图

数据集:招聘内容.csv

序号

编号

内容

岗位

结算方式

单价

单位

0

10001

APP调研测试90元/单

调查员

日结

90

小时

1

10002

热门手游推广注册300元每天

调查员

日结

300

2

10003

每天200元聘手机在线兼职操作员

网上兼职

日结

200

3

10004

每天180元招聘热门手游推广注册

网上兼职

日结

180

4

10005

卫生纸制品厂诚聘销售经理

店员

月结

200

5

10006

招夜班服务生

店员

月结

200

6

10007

力宝台球室招兼职服务员

店员

月结

100

7

10008

农贸城劳力工

其他

月结

3000

8

10009

招聘物流送货员

物流

月结

100

9

10010

招聘空调安装维修学徒工

店员

月结

130

10

10011

餐厅水果摆盘

店员

月结

130

2.1 代码实现

import pandas as pd
import matplotlib.pyplot as plt
# 中文字体调整
plt.rcParams['font.family'] = ['Arial Unicode Ms']

# 从Excel文件中读取数据
data = pd.read_excel('招聘内容.csv')


df = pd.DataFrame(data)

# 统计每个岗位招聘的人数
job_counts = df['岗位'].value_counts()
print(job_counts)

# 根据得到的结果绘制折线图
plt.figure(figsize=(10, 6))
job_counts.plot(kind='line', marker='o', color='red')
# 设置标题和轴标签的大小
plt.title('招聘岗位数量关系', fontsize=16)
plt.xlabel('岗位', fontsize=14)
plt.ylabel('招聘数量', fontsize=14)


plt.grid(True)
plt.show()

2.2 绘制结果

注:为了能更明显的观察折线图中每个点的具体数据,我设置了网格进行辅助绘制。

三、使用Matplotlib绘制房价与房屋面积的散点图,数据通过Pandas读取表格

3.1 代码实现

import pandas as pd
import matplotlib.pyplot as plt
# 中文字体调整
plt.rcParams['font.family'] = ['Arial Unicode Ms']


# 从Excel文件中读取数据
df = pd.read_excel('房价.csv')
# 提取价格和面积数据
prices = df['价格']
areas = df['面积']

# 创建散点图
plt.figure(figsize=(8, 6))
plt.scatter(areas, prices, c=prices, s=areas/10, cmap='cool', alpha=0.6)  # 根据价格定制颜色和面积定制大小


# 添加标题和标签
plt.title('房价 vs 面积图')
plt.xlabel('面积')
plt.ylabel('价格')

# 显示散点图
plt.colorbar(label='价格')  # 添加颜色条
plt.show()

3.2 绘制结果

四、使用Matplotlib绘制不同季度不同产品销售额的柱状图

4.1 代码实现

import pandas as pd
import matplotlib.pyplot as plt

# 中文字体调整
plt.rcParams['font.family'] = ['Arial Unicode Ms']

# 从Excel文件中读取数据
data = pd.read_excel('销售额.csv')
# 创建DataFrame
df = pd.DataFrame(data)

# 设置图形大小和清晰度
plt.figure(figsize=(10, 6), dpi=99)

# 绘制多次柱状图,并设置宽度
bar_width = 0.2
# 组距
index = df.index
# 绘制柱状图并选择
plt.bar(index, df['产品A'], width=bar_width, label='产品A', color='skyblue')
plt.bar(index + bar_width, df['产品B'], width=bar_width, label='产品B', color='lightgreen')
plt.bar(index + 2 * bar_width, df['产品C'], width=bar_width, label='产品C', color='plum')
plt.bar(index + 3 * bar_width, df['产品D'], width=bar_width, label='产品D', color='lightsalmon')


# 添加标题和标签
plt.title('不同季度不同产品销售额关系')
plt.xlabel('季度')
plt.ylabel('销售额')
# 设置x坐标标签
plt.xticks(index + 1.5 * bar_width, df['季度'])
plt.legend()

# 显示图例
plt.legend()

# 显示图形
plt.show()

4.2 绘制结果

注:直接将不同季度不同产品的销售额关系显示出来,更加直观;同时为了图更加美观,选择了四种比较美观大方的颜色

五、使用Matplotlib绘制不同季度不同产品销售额关系的饼状图

数据集同上

5.1 代码实现

import pandas as pd
import matplotlib.pyplot as plt

# 中文字体调整
plt.rcParams['font.family'] = ['Arial Unicode Ms']

# 从 CSV 文件中读取数据
df = pd.read_csv('销售额.csv', encoding='utf-8', sep='\t', index_col=0)

# 绘制饼状图
fig, axs = plt.subplots(2, 2, figsize=(12, 12))  # 调整图表大小

for i, quarter in enumerate(df.index):
    row = i // 2
    col = i % 2
    axs[row, col].pie(df.loc[quarter], labels=df.columns, autopct='%1.1f%%', startangle=140)
axs[row, col].set_title(quarter)
plt.tight_layout()
plt.show()

5.2 绘制结果

六、使用Matplotlib绘制sin()和cos() 函数

6.1 代码实现

import numpy as np
import matplotlib.pyplot as plt

# 中文字体调整
plt.rcParams['font.family'] = ['Arial Unicode Ms']
# 生成 x 值,从 0 到 2π 之间均匀采样的 100 个点
x = np.linspace(0, 2 * np.pi, 100)

# 计算 sin 和 cos 值
y_sin = np.sin(x)
y_cos = np.cos(x)

# 绘制 sin 曲线
plt.plot(x, y_sin, label='sin(x)', color='blue')

# 绘制 cos 曲线
plt.plot(x, y_cos, label='cos(x)', color='red')

# 设置标签
plt.xlabel('x')
plt.ylabel('y')
plt.title(' sin(x)和cos(x)曲线图')
plt.legend()
plt.show()

6.2 绘制结果

七、使用Matplotlib绘制不同季度单一产品销售额关系的柱状图

7.1 代码实现

import pandas as pd
import matplotlib.pyplot as plt

# 创建数据,时间原因
data = {
    '季度': ['第一季度', '第二季度', '第三季度', '第四季度'],
    '产品A': [124, 117, 201, 156],
    '产品B': [159, 89, 169, 139],
    '产品C': [138, 156, 153, 128],
    '产品D': [161, 178, 158, 136]
}



# 设置中文字体
plt.rcParams['font.family'] = ['Arial Unicode MS']

# 创建子图
fig, axs = plt.subplots(2, 2, figsize=(6, 6))

# 绘制柱状图
products = ['产品A', '产品B', '产品C', '产品D']
colors = ['skyblue', 'salmon', 'palegreen', 'plum']
for i in range(2):
    for j in range(2):
        index = 2 * i + j
        axs[i, j].bar(df['季度'], df[products[index]], color=colors[index])
        axs[i, j].set_title(products[index])

plt.tight_layout()
plt.show()

7.2 绘制结果

注:分别绘制了四个产品在各季度的销售额情况(单一情况)

结尾语

Habseligkeit:生活中微小的确定的幸福

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/721316.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux中DNS搭建

文章目录 一、DNS介绍1.1、DNS是什么1.2、DNS的工作原理1.3、DNS的域名结构 二、Bind介绍2.1、bind概述2.2、bind主要配置文件 三、DNS安装四、主要配置文件解析(除/etc/named.conf)4.1、/etc/named.rfc1912.zones4.2、/etc/rc.d/init.d/named4.3、/etc/…

上海AI Lab推出8B模型,奥数成绩媲美GPT-4

只用1/200的参数,就能让大模型拥有和GPT-4一样的数学能力? 复旦大学和上海AI实验室的研究团队刚刚研发出了一款具有超强数学能力的模型。 这款模型名为MCTSr,以Llama 3为基础,参数量只有8B,却在奥赛级别的题目上取得了…

3.Nginx配置文件基本介绍

nginx配置文件所在路径:/usr/local/nginx/conf/nginx.conf nginx配置文件有三块: 1.全局块 从配置文件开始到events块之间的内容,主要会设置一些影响nginx服务器整体运行的配置指令。 配置运行nginx服务器的用户(组)允许生成的worker process数,Nginx服务器并发处理服务…

现货白银买卖网站靠什么生存?

现货白银交易平台的官网是该企业在互联网上的门面,它向外界展示了平台的形象、文化和价值观。通过官网,投资者可以了解一家现货白银交易平台的发展历程、服务特色等,从而形成对平台的整体印象。 现货白银平台的官网是其发布官方信息、新闻动态…

JVM 性能分析案列——使用 JProfiler 工具分析 dump.hprof 堆内存快照文件排查内存溢出问题

在 windows 环境下实现。 参考文档 一、配置 JVM 参数 配置两个 JVM 参数: -XX:HeapDumpOnOutOfMemoryError,配置这个参数,会在发生内存溢出时 dump 生成内存快照文件(xxx.hprof)-XX:HeapDumpPathF:\logs&#xff…

Android ViewModel实现和原理

ViewModel实现和原理 前言1. 使用1.1 gradle准备1.2 模拟场景1.3. LiveData和ViewModel1.4 更新数据 2. 原理与源码解读2.1 添加观察者2.2 setValue2.3 post 参考资料 前言 ViewModel的主要基于观察者的设计模式,他主要分为两个部分: 提供者Provider&a…

RK3588/算能/Nvidia智能盒子:[AI智慧油站」,以安全为基,赋能精准经营

2021年9月,山东省应急管理厅印发了关于《全省危险化学品安全生产信息化建设与应用工作方案(2021-2022 年)》的通知,要求全省范围内加快推进危险化学品安全生产信息化、智能化建设与应用工作,建设完善全省危险化学品安全…

游戏服务器研究一:bigworld 开源代码的编译与运行

1. 前言 bigworld 已经开源了它的代码,而我对于大世界的 scale 很感兴趣,所以就尝试把代码跑起来研究。但是,整个过程比我原先预想的复杂得多。 虽然能找到一些官方的帮助文档,但这些文档要么过旧,要么过于详尽&…

0元体验苹果macOS系统,最简单的虚拟机部署macOS教程

前言 最近发现小伙伴热衷于在VMware上安装体验macOS系统,所以就有了今天的帖子。 正文开始 首先,鉴于小伙伴们热衷macOS,所以小白搜罗了一圈macOS系统,并开启了分享通道。 本次更新的系统版本是: macOS 10.13.6 ma…

B端业务需求分析的3大注意事项

通过深入分析业务需求,可以准确理解B端用户的具体需求,帮助项目团队设计出真正解决企业问题、提高工作效率的产品或服务。这减少了后期变更,节约了时间和资源。如果没有深入分析业务需求,产品或服务功能可能与实际业务需求脱节&am…

街道网格宣传稿件投稿我知道了好方法

作为街道信息宣传员,我的日常是将街道的每一项重要活动、每一份温暖故事编织成文字,传递给公众。这份工作既充满挑战又极具意义,但在最初,我却在这份看似简单的任务上屡屡受阻。那时,我的投稿方式单一且传统——依赖电子邮件,将稿件发送至各大媒体的投稿箱。我本以为,只要内容足…

【讲解下Pip换源】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

【Redis】java客户端(SpringData和jedis)

https://www.oz6.cn/articles/58 https://www.bilibili.com/video/BV1cr4y1671t/?p16 redis官网客户端介绍&#xff1a;https://redis.io/docs/latest/develop/connect/clients/ jedis maven引入依赖 <dependencies><!--引入Jedis依赖--><dependency><…

Jmeter 性能测试步骤是什么?

性能测试是软件开发过程中非常重要的一环。它可以帮助我们评估软件系统在不同负载下的性能表现&#xff0c;找出系统中的性能瓶颈&#xff0c;并提供改进方案。而JMeter作为一款功能强大且广泛使用的性能测试工具&#xff0c;可以帮助我们实现这一目标。 下面&#xff0c;我将…

算法课程笔记——线段树维护矩阵

算法课程笔记——线段树维护矩阵 2

Elasticsearch:简化数据流的数据生命周期管理

作者&#xff1a;来自 Elastic Andrei Dan 今天&#xff0c;我们将探索 Elasticsearch 针对数据流的新数据管理系统&#xff1a;数据流生命周期&#xff0c;从版本 8.14 开始提供。凭借其简单而强大的执行模型&#xff0c;数据流生命周期可让n 你专注于数据生命周期的业务相关方…

总结一下 C# 如何自定义特性 Attribute 并进行应用

前言 Attribute&#xff08;特性&#xff09;是一种用于为程序元素&#xff08;如类、方法、属性等&#xff09;提供元数据信息的方法。 特性是一种声明式的信息&#xff0c;附加到程序元素上&#xff0c;提供额外的数据用于描述和控制这些元素的行为。 在编译和运行时&…

项目准备和启动

1.什么是项目建议书&#xff1f; 2.项目建议书的内容 3.可行性分析方法 4.项目组织结构&#xff08;职能型 项目型 矩阵型&#xff09; 5.项目管理层决策层执行层之间的关系 6.软件项目的可行性分析包括哪几个方面&#xff1f;影响决策的关键因素又是什么&#xff1f; 软件项目…

Microsoft Visual C++ Redistributable 【安装包】【高速下载】

方法1、可以从官方下载&#xff0c;如下图 方法2 已经下载好并且已经整理好了2008--2022的所有版本点击下方链接即可高速下载 如果是win7-win8-win10-win11直接可以下载2015--2022版本&#xff0c;xp需要下载2015之前的 点击链接Microsoft Visual C Redistributable官方版本…

如何在不同的操作系统中查看路由器的IP地址?这里有详细步骤

如果你曾经需要访问路由器的设置页面来进行一些配置更改,你知道你需要路由器的IP地址才能访问。如果你忘记了这个IP地址是什么,下面是如何在几乎所有平台上找到它的。 为什么路由器的IP很有用 在网络世界中,默认网关是一个IP地址,当流量被发送到当前网络之外的目的地时,…