可以再把他弄好看一点吗 比如立体直方图 更改一下颜色
时间: 2024-03-01 12:56:20 浏览: 82
当然可以,以下是一个稍微美化一些的示例代码,使用了立体直方图和不同的颜色:
```python
import matplotlib.pyplot as plt
import numpy as np
# 输入数据
data = [15, 20, 30, 35, 25, 20, 15, 10, 5, 10, 20, 30]
# 设置横轴标签
x_labels = ['4:10', '4:15', '4:20', '4:25', '4:30', '4:35', '4:40', '4:45', '4:50', '4:55', '5:00', '5:05']
# 设置每个直方之间的距离
spacing = 0.15
# 设置画布大小和投影类型
fig = plt.figure(figsize=(8, 6), dpi=80)
ax = fig.add_subplot(111, projection='3d')
# 绘制直方分布图
xpos = np.arange(len(x_labels))
ypos = [0] * len(x_labels)
zpos = [0] * len(x_labels)
dx = np.ones(len(x_labels)) * (1.0 - spacing)
dy = np.ones(len(x_labels))
dz = data
colors = ['#5DA5DA', '#FAA43A', '#60BD68', '#F17CB0', '#B2912F', '#B276B2', '#DECF3F', '#F15854', '#4D4D4D', '#7F7F7F', '#A65628', '#D9D9D9']
ax.bar3d(xpos, ypos, zpos, dx, dy, dz, color=colors)
# 添加标题和标签
plt.title('Vehicle Distribution', fontsize=18)
plt.xlabel('Time', fontsize=14)
plt.ylabel('Number of Vehicles', fontsize=14, labelpad=10)
# 设置坐标轴刻度标签的字体大小
plt.xticks(xpos, x_labels, fontsize=12, rotation=45)
plt.yticks(fontsize=12)
# 设置图例
plt.legend(['Number of Vehicles'], loc='upper right', fontsize=12)
# 设置边框的透明度和颜色
ax.w_xaxis.set_pane_color((0, 0, 0, 0))
ax.w_yaxis.set_pane_color((0, 0, 0, 0))
ax.w_zaxis.set_pane_color((0, 0, 0, 0))
ax.xaxis._axinfo['tick']['outward_factor'] = 0
ax.xaxis._axinfo['tick']['inward_factor'] = 0.4
ax.yaxis._axinfo['tick']['outward_factor'] = 0
ax.yaxis._axinfo['tick']['inward_factor'] = 0.4
ax.zaxis._axinfo['tick']['outward_factor'] = 0
ax.zaxis._axinfo['tick']['inward_factor'] = 0.4
# 调整绘图区域的大小和位置
plt.subplots_adjust(left=0.1, right=0.9, bottom=0.2, top=0.9, wspace=None, hspace=None)
# 显示图形
plt.show()
```
在这个示例代码中,我们使用了`matplotlib`的`mplot3d`模块绘制了一个立体直方图,并使用了不同的颜色。我们还使用了`labelpad`参数来增加y轴标签和y轴之间的距离,使用了`rotation`参数来旋转x轴标签,以及调整了坐标轴的内向和外向因素,使图形看起来更加立体感。
阅读全文