2017-06-06 51 views
0

我目前正在創建一個分析吸收和濃度(Beer定律)相關性的圖表。在創建圖表時,我遇到了一些問題,現在我陷入困境。我的圖表沒有顯示在我的圖表中。是否由於放置錯誤?如果可能的話,我想留下相同的(或類似的格式)蜱,標籤和標題。提前抱歉,我不喜歡它,試圖在使它變得漂亮之前讓它失效。但無論如何,這裏是代碼:爲什麼我的觀點不被繪製?

#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

現在,您可以選擇其中一個答案[接受](https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)這樣這個問題就被標記爲已解決。如果你還沒有這樣做,你可能還想看看[遊覽]頁面。 – ImportanceOfBeingErnest

回答

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

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之間。

0

plt.xticks的第一個參數應該是x座標(不是刻度索引)。