python画图显示中文标题及显示每个点的坐标
有时候我们需要Python进行数据可视化,绘制各种图形时,往往自己觉得大功告成,结果就是有问题,比如在画图时中文变成了乱码,程序如下:import numpy as npimport matplotlib.pyplot as pltx = np.arange(10)# 用numpy生成x坐标点y = x * x + x - 3# 生成y坐标的值plt.title("我就是喜欢中文标题啊。。。。。。
·
有时候我们需要Python进行数据可视化,绘制各种图形时,往往自己觉得大功告成,结果就是有问题,比如在画图时中文变成了乱码,程序如下:
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(10) # 用numpy生成x坐标点
y = x * x + x - 3
# 生成y坐标的值
plt.title("我就是喜欢中文标题啊。。。。。。") # 设置标题
plt.xlabel("x") # 设置x坐标标签
plt.ylabel("y") # 设置y坐标标签
plt.plot(x, y) # 绘图
plt.show() # 显示图片
运行结果如图所示
原因:标题默认英文,要想显示中文,必须加上以下语句:
# 解决中文显示问题
plt.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
要想显示每个点的坐标,只需添加这几句:
for a, b in zip(x, y): # 添加这个循坏显示坐标
plt.text(a, b, (a, b), ha='center', va='bottom', fontsize=10)
全部代码如下:
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(10) # 用numpy生成x坐标点
y = x * x + x - 3
# 生成y坐标的值
plt.title("我就是喜欢中文标题啊。。。。。。") # 设置标题
# 解决中文显示问题
plt.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
plt.xlabel("x") # 设置x坐标标签
plt.ylabel("y") # 设置y坐标标签
plt.plot(x, y, color='r', markerfacecolor='blue', marker='o') # 绘图
for a, b in zip(x, y): # 添加这个循环显示坐标
plt.text(a, b, (a, b), ha='center', va='bottom', fontsize=10)
plt.show() # 显示图片
效果如图:
更多推荐
已为社区贡献9条内容
所有评论(0)