示例代码
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"] = ["SimHei"] # 设置字体
plt.rcParams["axes.unicode_minus"] = False # 该语句解决图像中的“-”负号的乱码问题
# 准备数据
y = [148, 85, 183, 89, 137, 116, 78, 115, 197, 125, 110, 168, 139, 189, 166, 100, 118, 107, 103, 115, 126, 99, 196, 119,
143, 125, 147, 97, 145,
117, 109, 158, 88, 92, 122, 103, 138, 102, 90, 111, 180, 133, 106, 171, 159, 180, 146, 71, 103, 105, 103, 101, 88,
176, 150, 73, 187, 100]
x = range(len(y))
y1 = [i + 100 for i in y]
x1 = x
print(x)
# 创建画布
plt.figure(figsize=(20, 8), dpi=80)
# 绘制图像
plt.plot(x, y, label="python程序员的输入") # 绘制第一个图
plt.plot(x1, y1, color='y', label="C++程序员的收入") # 绘制第二个图
# 添加x、y轴刻度
m = 3
x_ticks_label = ["{}月{}日".format(str((lambda i: m if i <= 31 else m + 1)(i + 1)),
str((lambda i: i if i <= 31 else i % 31)(i + 1))) for i in x]
y_ticks = range(200)
# 修改x、y刻度显示
plt.xticks(x[::5], x_ticks_label[::5]) # 坐标刻度不可以直接使用字符串
plt.yticks(y_ticks[::10])
# print(x_ticks_label)
# 显示网格
plt.grid(True, linestyle="-", alpha=1.0)
# 添加图像描述
plt.xlabel("日期")
plt.ylabel("收入")
plt.title("某天的收入情况")
# 添加图例
plt.legend(loc="best")
plt.savefig(fname="1.png")
# 图像显示
plt.show()
# plt.savefig(fname="1.png")
知识点解读
设置图形显示颜色
通过关键字参数color='y'
设置图像的显示颜色,该参数的取值如下表:
符号 | 颜色 |
---|---|
y | 黄色 |
w | 白色 |
c | 青色 |
k | 黑色 |
r | 红色 |
g | 绿色 |
b | 蓝色 |
plt.plot(x1, y1, color='y', label="C++程序员的收入")
设置线条形状
通过关键字参数linestyle="--"
设置线条形状,该参数的取值如下表:
符号 | 颜色 |
---|---|
-- | 虚线 |
- | 实线 |
-. | 点划线 |
: | 点虚线 |
plt.plot(x, y, linestyle="--", label="python程序员的输入")
添加图例
注意:添加图例要要设置label
参数的值。
可以通过设置关键字参数loc="best"
的值,控制图例显示的位置,该参数可以取如下值:'bset','upper right','upper left','lower left','lower right','right','center right','center left','lower center','upper center','center'
# 绘制图像
plt.plot(x, y, linestyle="--", label="python程序员的输入") # 绘制第一个图
plt.plot(x1, y1, color='y', label="C++程序员的收入") # 绘制第二个图
# 添加图例
plt.legend(loc="best")