使用Python,完成以下任务: 1、定义x变量为随机生从20到100之间的100个数据,y变量为5x2-1。 2、使用Matplotlib库绘制x和y的散点图,颜色为黄色,标题为"y=5x^2-1"。 3、使用Pandas库绘制x和y的散点图,颜色为黄色,标题为"y=5x^2-1"。 4、使用Seaborn库绘制x和y的散点图,颜色为黄色,标题为"y=5x^2-1"。 5、随机生成五组1-100之间的20个数据,计算他们的相关系数矩阵(pandas的dataframe有corr()方法可以计算相关系数矩阵),并绘制热力图,显示数字和保留2位小数,数字大小为8及字体颜色为白色。
时间: 2024-01-24 21:17:24 浏览: 57
任务一:
```python
import random
x = [random.randint(20, 100) for _ in range(100)]
y = [5 * num ** 2 - 1 for num in x]
```
任务二:
```python
import matplotlib.pyplot as plt
plt.scatter(x, y, color='yellow')
plt.title('y=5x^2-1')
plt.show()
```
任务三:
```python
import pandas as pd
df = pd.DataFrame({'x': x, 'y': y})
df.plot.scatter(x='x', y='y', color='yellow', title='y=5x^2-1')
plt.show()
```
任务四:
```python
import seaborn as sns
df = pd.DataFrame({'x': x, 'y': y})
sns.scatterplot(x='x', y='y', data=df, color='yellow')
plt.title('y=5x^2-1')
plt.show()
```
任务五:
```python
import numpy as np
data = []
for i in range(5):
data.append(np.random.randint(1, 101, (20,)))
df = pd.DataFrame(data).T
corr = df.corr()
sns.heatmap(corr, annot=True, fmt='.2f', cmap='coolwarm', vmin=-1, vmax=1, center=0, linewidths=.5, cbar_kws={"shrink": .5}, annot_kws={"size": 8, "color": "white"})
plt.show()
```
其中,`np.random.randint(1, 101, (20,))` 表示生成20个1-100之间的随机数。
阅读全文