为什么我的积分没有被绘制?

时间:2017-06-06 20:19:18

标签: python matplotlib graph coordinates

我目前正在创建一个分析吸收和浓度相关性的图表(比尔定律)。在创建图表时,我遇到了一些问题,现在我陷入困境。我的图表没有出现在我的图表中。是因为放置错误吗?如果可能的话,我想保留相同(或类似格式)的刻度,标签和标题。对于邋iness提前抱歉,试着让我的功能下降,然后才能让它变得漂亮。但无论如何,这是代码:

#importing matplotlib to create a graph
import matplotlib.pyplot as plt



#ploting out the points while labeling the graph
plt.plot([1.95E-06, 9.75E-06, 1.95E-05, 9.75E-05, 1.95E-04, 9.75E-04, 1.95E-
03],[0.2,0.4,0.6,0.8,1.0,1.2,1.4])
plt.xticks([1, 2, 3, 4, 5, 6, 7], [str('1.95E-03'), str('9.75E-04'), 
str('1.95E-04'), str('9.75E-05'),str('1.95E-05'), str('9.75E-06'), 
str('1.95E-06')])
plt.title('Red')
plt.ylabel('Absorption')
plt.xlabel('Concentration')
plt.grid(True)
plt.show()

3 个答案:

答案 0 :(得分:2)

您的xticks完全超出您的数据所在的范围。删除设置xticks的行,你的情节很好

import matplotlib.pyplot as plt

plt.plot([1.95E-06, 9.75E-06, 1.95E-05, 9.75E-05, 1.95E-04, 9.75E-04, 1.95E-03],
         [0.2,0.4,0.6,0.8,1.0,1.2,1.4])
plt.title('Red')
plt.ylabel('Absorption')
plt.xlabel('Concentration')
plt.grid(True)
plt.show()

enter image description here

如果要使用自定义刻度,则需要在数据范围内设置它们,即介于0到0.002之间,而不是介于1到7之间。

答案 1 :(得分:0)

plt.xticks的第一个参数应该是x-coords(不是刻度索引)。

答案 2 :(得分:0)

您的数据的x值远低于0.01,而您的滴答从1开始,因此您的数据将位于绘图的左侧。我建议使用对数x轴,就像下面的例子一样。这也将解决x值具有不同数量级的问题。请注意,我也以相反的顺序放置了刻度线,假设您错误地将它们反过来写入。如果没有,请继续并重新扭转它们!

#importing matplotlib to create a graph
import matplotlib.pyplot as plt


x = [1.95e-06, 9.75e-06, 1.95e-05, 9.75e-05, 1.95e-04, 9.75e-04, 1.95e-03]
#ploting out the points while labeling the graph
plt.semilogx(x ,[0.2,0.4,0.6,0.8,1.0,1.2,1.4])
plt.xticks(x, [str('1.95E-03'), str('9.75E-04'), str('1.95E-04'), str('9.75E-05'),str('1.95E-05'), str('9.75E-06'), str('1.95E-06')], rotation=45)
plt.title('Red')
plt.ylabel('Absorption')
plt.xlabel('Concentration')
plt.grid(True)
plt.tight_layout()
plt.savefig('points.png')
plt.show()

Semilogarithmic plot