中文字体显示问题
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"] = ["SimHei"] # 设置字体
plt.rcParams["axes.unicode_minus"] = False
绘制一个简单的折线图
import matplotlib.pyplot as plt
# 准备数据
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))
print(x)
# 创建画布
plt.figure(figsize=(20, 8), dpi=80)
# 绘制图像
plt.plot(x, y)
plt.savefig(fname="1.png")
# 图像显示
plt.show()
设置x、y轴刻度
mport 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))
print(x)
# 创建画布
plt.figure(figsize=(20, 8), dpi=80)
# 绘制图像
plt.plot(x, y)
# 添加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.savefig(fname="1.png")
# 图像显示
plt.show()
在画布中添加网格
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))
print(x)
# 创建画布
plt.figure(figsize=(20, 8), dpi=80)
# 绘制图像
plt.plot(x, y)
# 添加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.savefig(fname="1.png") # 图像保存要放在plt.show的前面
# 图像显示
plt.show()
添加图像描述
# 添加图像描述
plt.xlabel("日期")
plt.ylabel("收入")
plt.title("某天的收入情况")
版权声明:本文为F_123H原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。