【发布时间】:2020-06-03 15:30:02
【问题描述】:
我编写了一个代码,它给了我一个直方图和一个条形图。我的代码看起来是这样的: `
from math import pi, sin
import numpy as np
import matplotlib.pyplot as plt
plt.style.use('seaborn-whitegrid')
with open('output.txt', 'r') as f:
lines = f.readlines()
x = [float(line.split()[12]) for line in lines]
b=[]
a=np.histogram(x,bins=[90,92.5,95,97.5,100,102.5,105,107.5,110,112.5,115,117.5,120,122.5,125,127.5,130,132.5,135,137.5,140,142.5,145,147.5,150,152.5,155,157.5,160,162.5,165,167.5,170,172.5,175,177.5,180])
for i in range(len(a[0])):
a[0][i]=a[0][i]/sin((91.25 + 2.5*i)*pi/180)
b.append((91.25 + 2.5*i))
plt.bar(b,a[0],2.5,edgecolor='black')
plt.xlabel('angle($\Theta$)($\circ$)')
plt.ylabel('corrected Frequency')
plt.title('corrected angle distribution')
plt.savefig('Cone_corrected_angle_distribution.jpg', dpi=600)
plt.show()
plt.hist(x,bins=[90,92.5,95,97.5,100,102.5,105,107.5,110,112.5,115,117.5,120,122.5,125,127.5,130,132.5,135,137.5,140,142.5,145,147.5,150,152.5,155,157.5,160,162.5,165,167.5,170,172.5,175,177.5,180],edgecolor='black')
plt.xlabel('angle($\Theta$)($\circ$)')
plt.ylabel('Frequency')
plt.title('Angle distribution')
plt.savefig('angle_distribution.jpg', dpi=600)
plt.show()
` 现在,我想对图表做两处修改:
我想给直方图的条形着色,使每个条形都有唯一的颜色。条的颜色应根据 x 轴的值。并且x轴下方也应该有一个颜色条供参考。
我想绘制核分布函数和直方图。我尝试过的方法给了我一个归一化曲线。但我想沿着直方图绘制它。
这将是一个很大的帮助!
【问题讨论】:
标签: python matplotlib