小马爱python 发表于 2020-7-6 16:55:38

python画图时y轴为啥是这样。。。(鱼币感谢)

想用python做人口预测,画图的时候y轴堆在一起。。。坐标轴名也显示不出来。求大神解答!
import matplotlib.pyplot as plt
import xlrd
import numpy as np

data_birth = []
data_death = []
data = xlrd.open_workbook(r'C:\\Users\\11139\\Desktop\\工作簿1.xlsx',encoding_override='utf-8')
table = data.sheets()
for i in range(1,table.nrows):
    alldata = table.row_values(i)
    data_birth.append(alldata)
    data_death.append(alldata)
    # print(alldata+','+alldata)
x_data = np.arange(1978,2018)
data_birth = np.array(data_birth)
data_death = np.array(data_death)
plt.xlabel('年份')
plt.ylabel('百分比')
plt.plot(x_data,data_birth,'g')
plt.plot(x_data,data_death,'r')
plt.show()

Twilight6 发表于 2020-7-6 17:05:37



matplotlib 不支持中文,要我们手动设置字体才行:
plt.rcParams['font.sans-serif']=['SIMHEI'] # 设置为微软雅黑

照成你重叠的原因是因为数据太多了,图片放不下,你可以用 yticks 设置下步长,来跨步长显示数据

plt.yticks(data_death[::10])# 这里设置步长为 10 ,你自己调整调整


小马爱python 发表于 2020-7-6 17:14:33

Twilight6 发表于 2020-7-6 17:05
matplotlib 不支持中文,要我们手动设置字体才行:




这两个图的数据不能放一块,还是感谢你的回答

Twilight6 发表于 2020-7-6 17:20:36

小马爱python 发表于 2020-7-6 17:14
这两个图的数据不能放一块,还是感谢你的回答


嗯,因为你的 y 值数据不一

你可以用 plt.subplot() 同个画布上 弄 两个折线图

可以参考参考我帖子里的基础操作:

【数据可视化】matplotlib.pyplot 绘制图表之——折线图
https://fishc.com.cn/thread-169010-1-1.html
(出处: 鱼C论坛)

aironeng 发表于 2020-11-21 10:49:15

学习一下
页: [1]
查看完整版本: python画图时y轴为啥是这样。。。(鱼币感谢)