p=plt.figure(figsize=(12,6),dpi=1080) n1=total_data[:10] x=n1['名称'].values y1=n1['男厕位'].values y2=n1['女厕位'].values y3=n1['第三卫生间'].values y_1=y1 y_2=y2 y_3=y3 plt.plot(x, y_1, color='orangered', marker='o', linestyle='-', label='男厕位') plt.plot(x, y_2, color='blueviolet', marker='D', linestyle='-.', label='女厕位') plt.plot(x, y_3, color='green', marker='*', linestyle=':', label='第三卫生间') plt.legend() # 显示图例 plt.xticks(x, rotation=45) plt.ylim(0,14) plt.xlabel("名称") # X轴标签 plt.ylabel("数量") # Y轴标签 plt.show()
时间: 2023-11-26 16:03:34 浏览: 86
这段代码主要是用来绘制各地区公共厕所男女厕位和第三卫生间数量的折线图。以下是一些可以进行优化的建议:
1. 将代码分成多行,使其更易读。例如,将 `x`、`y1`、`y2`、`y3` 的定义放在第一行后面。
2. 使用 `f-string` 来格式化字符串,可以让代码更简洁。例如,将 `plt.xlabel("名称")` 改为 `plt.xlabel(f"名称")`。
3. 使用 `ax` 对象来绘制图像。这样可以更好地控制图像的各个元素,并且可以更加方便地对图像进行优化。
4. 可以使用 `plt.subplots()` 函数来创建画布和子图,这样可以更加方便地控制画布大小和子图数量。
5. 将 `dpi` 的值调整为更合适的值,使图像在不同设备上显示效果更好。可以根据实际情况进行调整。
下面是优化后的代码:
```python
import matplotlib.pyplot as plt
# 数据
n1 = total_data[:10]
x = n1['名称'].values
y1 = n1['男厕位'].values
y2 = n1['女厕位'].values
y3 = n1['第三卫生间'].values
# 绘图
fig, ax = plt.subplots(figsize=(12, 6), dpi=150)
# 绘制折线图
ax.plot(x, y1, color='orangered', marker='o', linestyle='-', label='男厕位')
ax.plot(x, y2, color='blueviolet', marker='D', linestyle='-.', label='女厕位')
ax.plot(x, y3, color='green', marker='*', linestyle=':', label='第三卫生间')
# 添加图例
ax.legend()
# 设置X轴标签、Y轴标签、标题、刻度、范围
ax.set_xlabel(f"名称")
ax.set_ylabel("数量")
ax.set_title(f"各地区公共厕所男女厕位和第三卫生间数量折线图")
ax.set_xticks(x)
ax.set_xticklabels(x, rotation=45)
ax.set_ylim(0, 14)
# 显示图像
plt.show()
```
这样,代码更加清晰易读,并且具有更好的可维护性。
阅读全文