我需要使用semilogx(x,y)
來繪製圖表。我有x=[0 1 2 ... 10 15 20 30 50 75 100]
。問題是MATLAB不繪製x=0
,我知道這是因爲log(0)=undef
。那麼MATLAB中有另一種方法來傳播我的觀點嗎?因爲使用線性比例尺會在圖形寬度的1/10處擠壓所有第一點!如何在semilogx圖中繪製x = 0?
1
A
回答
1
通常情況下,在這種情況下所做的是將1
添加到所有x
,因此第一個值(原始爲0
)出現在原點處,並且所有值的迴轉換也是相同的。您可以添加除1
以外的任何其他小數值,並獲得類似的結果。但是,您不要添加的值太小的(如eps
),因爲那麼您將與下一個值有很大距離,這會導致所有其他值在圖的右側打包。
讓我們來看一個例子:
x = [0 logspace(0,2,5)];
% x = 0 1 3.1623 10 31.623 100
y = 2.*(x+1); % add 1 to all x
semilogx(x+1,y,'o','markerfacecolor','b')
如果用eps
替換0
而你得到:
x = [0 logspace(0,2,5)];
y = 2.*(x+eps); % add a tiny value too all x
semilogx(x+eps,y,'o','markerfacecolor','b')
+0
這解決了我的問題!非常感謝 ! – John
0
確實沒有定義log(0),但是你可以用一個非常小的數字替代它,例如eps
,它在Matlab中定義爲一個小號。
相關問題
- 1. 如何在Chart.js中繪製X軸(Y = 0處的線)?
- 2. 卸下在semilogx圖的x軸次刻度在MATLAB
- 3. 如何在掛鉤爲0時使用Highcharts繪製x軸線?
- 4. 如何在matlab中繪製x,y,z?
- 5. 如何繪製X軸,Y軸線圖?
- 6. 如何在x軸熊貓(matplotlib)中繪製HMS格式化圖
- 7. 如何在高圖中繪製值爲0的列
- 8. 如何在面積圖中的X軸上繪製日期?
- 9. 如何繪製(x,y,z)
- 10. 如何使用matplotlib(mpl3d)繪製X = 0平面?
- 11. 如何用gnuplot繪製一個隱函數f(x,y,z)= 0?
- 12. 如何使用核心繪圖沿X軸繪製NSDate
- 13. 如何在Matlab中繪製X-Y-color尺寸的3D圖形?
- 14. 在MS Chart控件中繪製x = 0的兩個y值
- 15. 繪製軸直通x = 0和y = 0的
- 16. 如何在圖像中繪製Qwt圖
- 17. 如何在一張圖中繪製lm(log(y)〜)和lm(y〜x + x^2)的ggplot
- 18. python2.7:如何繪製圖中x軸網格線的值
- 19. 如何在ios圖表中繪製CombinedChart
- 20. 如何在R中繪製顏色圖
- 21. 在x中繪製位圖可繪製平鋪,但在y中伸展
- 22. 如何在Swing中繪製此圖表?
- 23. 如何在圖中繪製pandas groupby值?
- 24. 如何在Mathematica中繪製圖表?
- 25. Excel:在x軸上繪製圖形
- 26. 如何在x軸上計數日期並在圖中繪製圖形
- 27. 如何在WPF中繪製函數圖?
- 28. 如何在plotly.js中繪製同一圖中的兩個繪圖
- 29. Matlab plotyy和semilogx
- 30. 如何在coreplot中繪製多個圖
你有沒有試過,如果要弄清楚有可能通過h來完成和先報道?記住日誌是爲所有x> 0定義的... –
是的,我知道,但是你知道其他東西使x軸的一部分大於其餘嗎? – John