请你编写python 代码随机生成五组数据,分别绘制箱线图,小提琴图,三位散点图,瀑布图
时间: 2024-04-29 19:26:05 浏览: 24
好的,我会根据您的要求编写代码来生成这些图表。以下是Python代码示例:
```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# 生成随机数据
data1 = np.random.normal(0, 1, 100)
data2 = np.random.normal(2, 1, 100)
data3 = np.random.normal(-2, 1, 100)
data4 = np.random.normal(1, 2, 100)
data5 = np.random.normal(-1, 2, 100)
# 将数据保存到DataFrame中
df = pd.DataFrame({'Group 1': data1, 'Group 2': data2, 'Group 3': data3, 'Group 4': data4, 'Group 5': data5})
# 绘制箱线图
sns.boxplot(data=df)
plt.title('Box Plot')
plt.show()
# 绘制小提琴图
sns.violinplot(data=df)
plt.title('Violin Plot')
plt.show()
# 绘制三维散点图
fig = plt.figure()
ax = fig.add_subplot(projection='3d')
ax.scatter(data1, data2, data3, c='r', marker='o')
ax.scatter(data4, data5, data1, c='b', marker='^')
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')
plt.title('3D Scatter Plot')
plt.show()
# 绘制瀑布图
index = ['Start', 'Group1', 'Group2', 'Group3', 'Group4', 'Group5', 'End']
data = [0, data1.mean(), data2.mean(), data3.mean(), data4.mean(), data5.mean(), 0]
plt.bar(index, data)
plt.plot([-1, 7], [0, 0], 'k--')
plt.title('Waterfall Plot')
plt.show()
```
以上代码将生成箱线图、小提琴图、三维散点图和瀑布图,每个图都有五组随机数据。希望这可以回答您的问题,并为您提供帮助!