4.使用Matplotlib画散点图和直方图

使用Matplotlib画散点图和直方图

1.散点图

(1)plt.scatter散点图

plt.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, *, data=None, **kwargs)

解释:

x,y:表示的是大小为(n,)的数组,也就是我们即将绘制散点图的数据点

s:是一个实数或者是一个数组大小为(n,),这个是一个可选的参数。

c:表示的是颜色,也是一个可选项。默认是蓝色'b',表示的是标记的颜色,或者可以是一个表示颜色的字符,或者是一个长度为n的表示颜色的序列等等,感觉还没用到过现在不解释了。但是c不可以是一个单独的RGB数字,也不可以是一个RGBA的序列。可以是他们的2维数组(只有一行)。

marker:表示的是标记的样式,默认的是'o'

cmap:Colormap实体或者是一个colormap的名字,cmap仅仅当c是一个浮点数数组的时候才使用。如果没有申明就是image.cmap

norm:Normalize实体来将数据亮度转化到0-1之间,也是只有c是一个浮点数的数组的时候才使用。如果没有申明,就是默认为colors.Normalize。

vmin,vmax:实数,当norm存在的时候忽略。用来进行亮度数据的归一化。

alpha:实数,0-1之间。

linewidths:也就是标记点的长度。

 

import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文
# 显示所有列,同理:max_rows
pd.options.display.max_columns=None  # 显示所有列
# pd.options.display.max_rows=None  # 显示所有行
plt.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文
df = pd.read_excel(r'data/16.散点图.xlsx')
# print(df)
plt.title('身高体重散点图')
plt.xlabel('身高')
plt.ylabel('体重')
plt.scatter(df.身高,df.体重,s=df.身高,c='b',marker='o',alpha=0.6,linewidths=1)
plt.savefig('散点图.jpg')
plt.show()

2.直方图

首先需要区分清楚概念:直方图和条形图。

条形图:条形图用长条形表示每一个类别,长条形的长度表示类别的频数,宽度表示表示类别。

直方图:直方图是一种统计报告图,形式上也是一个个的长条形,但是直方图用长条形的面积表示频数,所以长条形的高度表示 频数/组距,宽度表示组距,其长度和宽度均有意义。当宽度相同时,一般就用长条形长度表示频数。

直方图一般用来描述等距数据,柱状图一般用来描述名称(类别)数据或顺序数据。直观上,直方图各个长条形是衔接在一起的,表示数据间的数学关系;条形图各长条形之间留有空隙,区分不同的类。

import pandas as pd
import matplotlib.pyplot as plt
# 显示所有列,同理:max_rows
pd.options.display.max_columns=None
plt.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文
df = pd.read_excel(r'data/17.直方图.xlsx')
plt.hist(df.身高,bins=30,facecolor='b',edgecolor='r',alpha=0.8)
plt.savefig('直方图.png')
plt.show()

 

`matplotlib` 是 Python 中最常用的数据可视化库之一,提供了丰富的图形绘制功能。以下是如何使用 `matplotlib` 创建常见的数据可视化图形: 1. **安装 matplotlib**(如果你还没有安装): ```bash pip install matplotlib ``` 2. **导入模块**: ```python import matplotlib.pyplot as plt import numpy as np # 用于生成随机数据 ``` ### 1. 创建折线图 要创建一个简单的折线图,你需要先创建 x y 值的数据,然后使用 `plt.plot()` 函数: ```python x = np.linspace(0, 10, 100) # 生成等差数列 y = np.sin(x) # 按正弦规律计算 # 绘制折线图 plt.plot(x, y) plt.xlabel('X-axis') # X轴标签 plt.ylabel('Y-axis') # Y轴标签 plt.title('Sine Wave') # 图形标题 plt.show() # 显示图表 ``` ### 2. 创建散点图 散点图通常用来表示两个变量之间的关系,用 `plt.scatter()` 函数绘制: ```python x = [1, 2, 3, 4, 5] # 第一列数据 y = [10, 20, 30, 40, 50] # 第二列数据 plt.scatter(x, y) plt.xlabel('X values') plt.ylabel('Y values') plt.title('Scatter Plot') plt.show() ``` ### 3. 创建直方图 直方图用于显示数据分布情况,用 `plt.hist()` 函数: ```python data = np.random.randn(1000) # 生成一组正态分布的随机数 plt.hist(data, bins=20) # 分为20个区间 plt.xlabel('Value') plt.ylabel('Frequency') plt.title('Histogram') plt.show() ``` 这些是基础示例,你可以根据实际需求调整数据、添加更多元素(如网格线、误差条、图例等),以及使用更高级的功能,比如子图颜色映射。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

python阿远

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值