赞
踩
禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/131217428
参考教程:B站视频讲解——https://space.bilibili.com/3546616042621301
附件中是某月每天的最高温度和最低温度数据,请绘制本月的高温曲线(红色、圆点标记坐标)和低温曲线(蓝色、星号标记坐标),线型、刻度如输出示例所示,线宽度默认值,并设置图表标题为"9月温度曲线图",标题字体为宋体(‘SimSun’),默认字号。
plt.rcParams['font.sans-serif'] = ['SimSun']
plt.rcParams['axes.unicode_minus'] = False
要求程序代码运行无误,按要求绘制温度曲线并保存为图片。
该题目没有输入
绘制结果写入文件’temp_curve.png’中
下图为示意图,具体效果需严格按照题目要求设置
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/131217428
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['axes.unicode_minus'] = False
plt.rcParams['font.sans-serif'] = ['SimSun']
with open('step2/9.1 某月温度.txt', 'r', encoding='utf-8') as f:
data = []
for lines in f.readlines():
data.append(list(map(int, lines.split())))
x = [d[0] for d in data]
y1 = [d[1] for d in data]
y2 = [d[2] for d in data]
plt.plot(x, y1, color = 'r', marker='o')
plt.plot(x, y2, color = 'b', marker='*')
plt.xticks(list(range(1, 32)))
plt.yticks(list(range(-10, 30, 5)))
plt.axhline(0, linestyle='--', color='b')
plt.title('9月温度曲线图')
plt.savefig('output/temp_curve.png')
plt.show()
根据附件中的数据文件绘制分态密度图,在同一个图中绘制多条曲线,数据中第一列为横坐标值,后面各列为纵坐标值,第一列与后面的每一列的数据组合可绘制一条态密度曲线,未明确要求的线型和宽度使用默认值。
(示例图与本题数据与要求不同,仅供参考)
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/131217428
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimSun']
plt.rcParams['axes.unicode_minus'] = False
color = ['blue', 'green', 'red', 'purple','gray','Navy','violet','Gold','Black']
with open('step3/DOS_SUM.txt', 'r', encoding='utf-8') as f:
data = []
for lines in f.readlines():
data.append([line for line in lines.strip().split() if line!=''])
for i in range(9):
x = [float(d[0]) for d in data]
y = [float(d[i+1]) for d in data]
plt.plot(x, y, color=color[i])
plt.axvline(0, linestyle='--', c='red', linewidth=1)
plt.xlabel("E-Ev(eV)")
plt.ylabel("DOS")
plt.title("BaTiO3 分态密度曲线图")
plt.savefig("output/stu.png")
plt.show()
根据附件中的数据,绘制如下图所示的态密度曲线:
Density of States(electrons/Ha)
此题无输入
要求本地调试、运行、绘制图形。
示例输出仅供参考
# 禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/131217428
import matplotlib.pyplot as plt
with open('step5/DosOfBaTiO3.txt', 'r', encoding='utf-8') as f:
data = []
for lines in f.readlines():
data.append(list(map(float, lines.strip().split('\t'))))
x, y = [], []
for d in data:
x.append(d[0])
y.append(d[1])
plt.plot(x, y, color='r', linewidth=1)
plt.xlabel('Energy(Ha)')
plt.ylabel('Density of States(electrons/Ha)')
plt.savefig('output/exam.png')
plt.show()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。