我目前正在创建一个分析吸收和浓度相关性的图表(比尔定律)。在创建图表时,我遇到了一些问题,现在我陷入困境。我的图表没有出现在我的图表中。是因为放置错误吗?如果可能的话,我想保留相同(或类似格式)的刻度,标签和标题。对于邋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()
答案 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()
如果要使用自定义刻度,则需要在数据范围内设置它们,即介于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()