plt.title ex.title 有什么区别
时间: 2024-04-27 11:20:41 浏览: 93
`plt.title`和`ex.title`都是用于设置图表标题的函数,但是它们的使用方式和作用域不同。
`plt.title`是Matplotlib库中的函数,用于设置当前图表的标题,它的作用域只限于当前图表。
而`ex.title`是指在使用Seaborn库绘制图表时,可以通过传递参数`title`来设置图表标题。它的作用域只限于当前图表,但是与Matplotlib的`plt.title`不同,在Seaborn中,使用`ex.title`可以设置更加丰富的标题格式,例如字体大小、颜色、加粗等。
因此,如果你使用Matplotlib库绘制图表,应该使用`plt.title`函数设置图表标题;如果你使用Seaborn库绘制图表,应该使用`ex.title`函数来设置图表标题。
相关问题
import numpy as np from scipy.fft import fft,fftfreq import matplotlib.pyplot as plt from scipy.io import loadmat a=loadmat("ex2_signal1.mat") a=a['signal1'] a=a[0,:] print(a.shape) t=np.linspace(0,1,200) plt.plot(t,a) plt.title("21351050102") plt.show() b=loadmat("ex2_signal2.mat") b=b['signal2'] b=b[0,:] t=np.linspace(0,1,200) plt.plot(t,b) plt.title("21351050102") plt.show() N=len(a) T=1 rate=N/T y1=fft(a) x1=fftfreq(N,T) sample_rate=600 duration=0.001 print("采样率为:",sample_rate/duration,"HZ") plt.plot(xf,np.abs(yf1)) plt.xlabel('Frequnency(HZ)') plt.ylabel('Magnitude') plt.title('Frequency domain 21351050102') plt.tight_layout() plt.show() y2=fft(a) x2=fftfreq(N,T) sample_rate=600 duration=0.001 print("采样率为:",sample_rate/duration,"HZ") plt.plot(xf,np.abs(yf2)) plt.xlabel('Frequnency(HZ)') plt.ylabel('Magnitude') plt.title('Frequency domain 21351050102') plt.tight_layout() plt.show() m=np.argmax(abs(y1)) y1[abs(y1<y1[m])]=0 plt.plot(x1,y1) plt.title("21351050102") plt.show() a=np.fft.ifft(y1) a=a.real plt.plot(t,a) plt.title("21351050102") plt.show()
好的,这段Python代码主要是用于对两个信号进行傅里叶变换以及傅里叶反变换等操作。下面逐行解释每行代码的含义和作用:
1. `import numpy as np`:导入NumPy库,用于数值计算。
2. `from scipy.fft import fft,fftfreq`:从SciPy库中导入傅里叶变换函数fft和傅里叶频率函数fftfreq。
3. `import matplotlib.pyplot as plt`:导入Matplotlib库,用于绘图。
4. `from scipy.io import loadmat`:从SciPy库中导入loadmat函数,用于加载.mat文件。
5. `a=loadmat("ex2_signal1.mat")`:加载名为"ex2_signal1.mat"的.mat文件,并将其赋值给变量a。
6. `a=a['signal1']`:获取a中名为"signal1"的变量。
7. `a=a[0,:]`:将a转换为一维数组。
8. `print(a.shape)`:输出a的形状。
9. `t=np.linspace(0,1,200)`:生成一个长度为200的等差数列,从0到1。
10. `plt.plot(t,a)`:绘制a关于t的折线图。
11. `plt.title("21351050102")`:设置图像标题为"21351050102"。
12. `plt.show()`:显示图像。
13. `b=loadmat("ex2_signal2.mat")`:加载名为"ex2_signal2.mat"的.mat文件,并将其赋值给变量b。
14. `b=b['signal2']`:获取b中名为"signal2"的变量。
15. `b=b[0,:]`:将b转换为一维数组。
16. `t=np.linspace(0,1,200)`:生成一个长度为200的等差数列,从0到1。
17. `plt.plot(t,b)`:绘制b关于t的折线图。
18. `plt.title("21351050102")`:设置图像标题为"21351050102"。
19. `plt.show()`:显示图像。
20. `N=len(a)`:获取a的长度。
21. `T=1`:设置采样周期为1。
22. `rate=N/T`:计算采样频率。
23. `y1=fft(a)`:对a进行傅里叶变换,并将结果赋值给y1。
24. `x1=fftfreq(N,T)`:生成傅里叶频率数组,并将其赋值给x1。
25. `sample_rate=600 duration=0.001`:设置采样率和采样时长。
26. `print("采样率为:",sample_rate/duration,"HZ")`:输出采样率。
27. `plt.plot(xf,np.abs(yf1))`:绘制傅里叶变换后的频域图像。
28. `plt.xlabel('Frequnency(HZ)')`:设置x轴标签为"Frequency(HZ)"。
29. `plt.ylabel('Magnitude')`:设置y轴标签为"Magnitude"。
30. `plt.title('Frequency domain 21351050102')`:设置图像标题为"Frequency domain 21351050102"。
31. `plt.tight_layout()`:自动调整子图参数,以便填充整个图像区域。
32. `plt.show()`:显示图像。
33. `y2=fft(a)`:对b进行傅里叶变换,并将结果赋值给y2。
34. `x2=fftfreq(N,T)`:生成傅里叶频率数组,并将其赋值给x2。
35. `sample_rate=600 duration=0.001`:设置采样率和采样时长。
36. `print("采样率为:",sample_rate/duration,"HZ")`:输出采样率。
37. `plt.plot(xf,np.abs(yf2))`:绘制傅里叶变换后的频域图像。
38. `plt.xlabel('Frequnency(HZ)')`:设置x轴标签为"Frequency(HZ)"。
39. `plt.ylabel('Magnitude')`:设置y轴标签为"Magnitude"。
40. `plt.title('Frequency domain 21351050102')`:设置图像标题为"Frequency domain 21351050102"。
41. `plt.tight_layout()`:自动调整子图参数,以便填充整个图像区域。
42. `plt.show()`:显示图像。
43. `m=np.argmax(abs(y1))`:获取y1中绝对值最大的位置。
44. `y1[abs(y1<y1[m])]=0`:将y1中绝对值小于y1[m]的元素置为0。
45. `plt.plot(x1,y1)`:绘制y1关于x1的折线图。
46. `plt.title("21351050102")`:设置图像标题为"21351050102"。
47. `plt.show()`:显示图像。
48. `a=np.fft.ifft(y1)`:对y1进行傅里叶反变换,并将结果赋值给a。
49. `a=a.real`:取a的实部。
50. `plt.plot(t,a)`:绘制a关于t的折线图。
51. `plt.title("21351050102")`:设置图像标题为"21351050102"。
52. `plt.show()`:显示图像。
给出Ex6-2操作实践,Ex6-3A,Ex6-3B、操作实践,Ex6-4A,Ex6-4BEx6--5A,Ex6-5B、操作实践的代码
### Ex6-2 操作实践
**任务描述**:
1. 读取`score.csv`文件到DataFrame,以姓名列为行标签,命名为`DF2B`。
2. 删除赵云的成绩。
3. 追加一行数据,index为"吕布",数据为52, 63, 64, 55, 53。
4. 在英语和物理列中插入新列,列标签为“体育”,列数据为["良", "中", "差", "优", "优", "良", "优", "中", "优"]。
5. 新增列,列标签为“物理新”,数据为物理成绩平方根再乘10。
6. 筛选出所有数学分数在90以上且体育成绩不是差的学生数据到名为`DFnew`的新DataFrame中。
7. 将除“物理”以外的列保存到`newscore.csv`文件里。
**示例代码**:
```python
import pandas as pd
# 1. 读取文件
DF2B = pd.read_csv('score.csv', index_col='姓名')
# 2. 删除赵云的成绩
DF2B.drop(index='赵云', inplace=True)
# 3. 追加一行数据
DF2B.loc['吕布'] = [52, 63, 64, 55, 53]
# 4. 插入新列
sports_scores = ["良", "中", "差", "优", "优", "良", "优", "中", "优"]
DF2B.insert(loc=2, column='体育', value=sports_scores)
# 5. 新增列
DF2B['物理新'] = (DF2B['物理'] ** 0.5) * 10
# 6. 筛选数据
DFnew = DF2B[(DF2B['数学'] > 90) & (DF2B['体育'] != '差')]
# 7. 保存数据
DF2B.drop(columns=['物理']).to_csv('newscore.csv')
```
### Ex6-3 A 操作引导
**任务描述**:
回忆课堂讲述的内容,完成折线图的绘制。
**示例代码**:
```python
import matplotlib.pyplot as plt
import pandas as pd
# 读取数据
data = pd.read_csv('AIDS_data.csv')
# 绘制折线图
plt.figure(figsize=(10, 6))
plt.plot(data['年份'], data['发病数'], color='red', linestyle='-', marker='o', linewidth=2, label='发病数')
plt.plot(data['年份'], data['既往感染转为病人数'], color='green', linestyle='--', marker='v', linewidth=4, label='既往感染转为病人数')
plt.plot(data['年份'], data['死亡数'], color='blue', linestyle='-.', marker='^', linewidth=1, label='死亡数')
# 设置标题和标签
plt.title('AIDS Data from 2012 to 2017')
plt.xlabel('Year')
plt.ylabel('Number of Cases')
# 显示图例
plt.legend()
# 保存图像
plt.savefig('aids.png')
plt.show()
```
### Ex6-3 B 操作实践
**任务描述**:
根据`AIDS_data.csv`文件的数据制作折线图,并保存为`aids.png`文件。
**示例代码**:
```python
import matplotlib.pyplot as plt
import pandas as pd
# 读取数据
data = pd.read_csv('AIDS_data.csv')
# 绘制折线图
plt.figure(figsize=(10, 6))
plt.plot(data['年份'], data['发病数'], color='red', linestyle='-', marker='o', linewidth=2, label='发病数')
plt.plot(data['年份'], data['既往感染转为病人数'], color='green', linestyle='--', marker='v', linewidth=4, label='既往感染转为病人数')
plt.plot(data['年份'], data['死亡数'], color='blue', linestyle='-.', marker='^', linewidth=1, label='死亡数')
# 设置标题和标签
plt.title('AIDS Data from 2012 to 2017')
plt.xlabel('Year')
plt.ylabel('Number of Cases')
# 显示图例
plt.legend()
# 保存图像
plt.savefig('aids.png')
plt.show()
```
### Ex6-4 A 操作引导
**任务描述**:
回忆课堂讲述的内容,完成散点图的绘制。
**示例代码**:
```python
import matplotlib.pyplot as plt
import pandas as pd
# 读取数据
data = pd.read_csv('metabolism.csv')
# 绘制散点图
plt.figure(figsize=(10, 6))
plt.scatter(data['体重'][:12], data['基础代谢'][:12], color='red', s=50, label='前12行')
plt.scatter(data['体重'][12:], data['基础代谢'][12:], color='blue', s=100, label='后8行')
# 设置标题和标签
plt.title('Metabolism vs Weight')
plt.xlabel('Weight (kg)')
plt.ylabel('Basal Metabolic Rate (kcal/day)')
# 显示图例
plt.legend()
# 保存图像
plt.savefig('result.png')
plt.show()
```
### Ex6-4 B 操作实践
**任务描述**:
根据`metabolism.csv`文件的数据绘制散点图,并保存为`result.png`文件。
**示例代码**:
```python
import matplotlib.pyplot as plt
import pandas as pd
# 读取数据
data = pd.read_csv('metabolism.csv')
# 绘制散点图
plt.figure(figsize=(10, 6))
plt.scatter(data['体重'][:12], data['基础代谢'][:12], color='red', s=50, label='前12行')
plt.scatter(data['体重'][12:], data['基础代谢'][12:], color='blue', s=100, label='后8行')
# 设置标题和标签
plt.title('Metabolism vs Weight')
plt.xlabel('Weight (kg)')
plt.ylabel('Basal Metabolic Rate (kcal/day)')
# 显示图例
plt.legend()
# 保存图像
plt.savefig('result.png')
plt.show()
```
### Ex6-5 A 操作引导
**任务描述**:
回忆课堂讲述的内容,完成条形图的绘制。
**示例代码**:
```python
import matplotlib.pyplot as plt
import numpy as np
# 数据
diseases = ['外伤中毒', '恶性肿瘤', '脑血管疾病', '呼吸系统疾病', '心血管疾病', '内分泌疾病']
deaths = [32, 187, 42, 29, 44, 38]
# 绘制条形图
plt.figure(figsize=(10, 6))
plt.bar(diseases, deaths, width=0.6, color='orange', edgecolor='blue')
# 设置标题和标签
plt.title('Death Rates by Disease')
plt.xlabel('Disease Type')
plt.ylabel('Number of Deaths')
# 显示图像
plt.show()
```
### Ex6-5 B 操作实践
**任务描述**:
根据`hospital.csv`文件的数据计算各地三级医院占当地医院总和的比例,并绘制柱形图。
**示例代码**:
```python
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
# 读取数据
data = pd.read_csv('hospital.csv')
# 计算比例
proportions = data['Tertiary'] / data['Total']
# 绘制条形图
plt.figure(figsize=(10, 6))
plt.bar(data.index, proportions, width=0.6, color='orange', edgecolor='blue')
# 设置标题和标签
plt.title('Proportion of Tertiary Hospitals')
plt.xlabel('Province')
plt.ylabel('Proportion')
# 添加省份名称
plt.xticks(data.index, data['Province'])
# 显示图像
plt.show()
```
### Ex6-6 A 操作实践
**任务描述**:
根据糖尿病患者一周内早餐前和早餐后的血糖值分别绘制折线图。
**示例代码**:
```python
import matplotlib.pyplot as plt
import pandas as pd
# 读取数据
data = pd.read_csv('blood_sugar.csv')
# 创建画布
fig, axs = plt.subplots(2, 2, figsize=(12, 8), facecolor='yellow')
# 绘制餐前血糖值
axs[0, 0].plot(data['日期'], data['餐前血糖'], color='red', label='餐前血糖')
axs[0, 0].set_title('餐前血糖')
axs[0, 0].set_xlabel('日期')
axs[0, 0].set_ylabel('血糖值')
# 绘制餐后血糖值
axs[1, 1].plot(data['日期'], data['餐后血糖'], color='blue', label='餐后血糖')
axs[1, 1].set_title('餐后血糖')
axs[1, 1].set_xlabel('日期')
axs[1, 1].set_ylabel('血糖值')
# 设置X轴刻度标签
dates = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
for ax in axs.flat:
ax.set_xticks(range(len(dates)))
ax.set_xticklabels(dates)
# 显示图像
plt.tight_layout()
plt.show()
```
阅读全文