我正在使用matplotlib互相绘制.csv文件的两列。 csv文件中的值未排序,并且采用科学计数法。从下面的图中可以看出,刻度标签不正确,这使我怀疑数据的绘制不正确。几乎就像每个点都绘制在单独的图形上一样,每个点都有一个刻度匹配,如果我减少点的数量,我只能减少刻度的数量。等等。
reader = csv.DictReader(open(filein),delimiter =',')
result = {}
对于阅读器中的行: 对于col_id,为row.items()中的值: result.setdefault(col_id.strip(),[])。append(value)
如果xnam =='NUV'和ynam =='FUV':
y = result.get(ynam)
x = []
x = result.get(xnam)
print("now plotting..")
fig, ax = plt.subplots()
plt.plot(0.000044778, 0.0028774343, marker='x', markersize=3, color="red", label='G Her')
plt.errorbar(x,y, marker=".", markersize=2, fmt='co')
every_nth = 70
for n, label in enumerate(ax.xaxis.get_ticklabels()):
if n % every_nth !=0:
label.set_visible(False)
every1_nth = 50
for n1, label in enumerate(ax.yaxis.get_ticklabels()):
if n1 % every1_nth !=0:
label.set_visible(False)
plt.suptitle('FUV/NUV for Cloudy Grid')
plt.xticks(rotation=10, size = 3)
plt.yticks(rotation=80, size = 3)
plt.rcParams["font.family"] = 'serif'
plt.suptitle('FUV/NUV for Cloudy Grid')
plt.xlabel('NUV (Jy)')
plt.ylabel('FUV (Jy)')
plt.savefig('try.png', dpi=300)
plt.clf()