2017-04-02 60 views
0

我有這樣的代碼,我想要繪製:如何更改標記,繪製點之間的直線MATLAB

battery_aH=55; 
hour_of_battery_work=12; 
one_battery_price=147.96; 
system_amper=1; 
while system_amper<20 
    discharge_battery=1; 
    [num_of_battery]=num_of_battery1(system_amper,hour_of_battery_work,battery_aH,discharge_battery); 
    [total_price]=total_price1(one_battery_price,num_of_battery); 
    plot(total_price,system_amper,'markersize', 30,) 
    system_amper=system_amper+1; 
end 
xlabel('price(€)','fontname','times','fontsize',16); 
ylabel('Energy of the system[aH]','fontname','times','fontsize',16); 

hold off 

的事情是,當我運行這段代碼我得到小點。 我可以通過代碼(而不是尺寸)更改標記的類型嗎?我可以通過代碼在這些點之間劃一條線,並在點消失之後?

回答

1

您可以指定任何line properties作爲plot的參數/值參數。在你的情況,你應該能夠指定MarkerMarkerSizeLineStyle性能

plot(total_price, system_amper, 'Marker', '*', 'MarkerSize', 30, 'LineStyle', '-') 

或者,你可以存儲圖形處理由plot產生的line對象,並使用set修改的屬性

h = plot(total_price, system_amper); 
set(h, 'Marker', '*', 'MarkerSize', 30, 'LineStyle', '-') 
+0

你解決了我的問題與標記類型!你知道我怎樣才能通過劇情代碼在這些點之間劃出一條線,然後讓這些點與while循環一起消失? – Ron

+0

@RonPotashnik這取決於。什麼是'num_of_battery1'和'total_price1'? – Suever

0

您正在'循環'循環中一個一個地繪製點。這就是爲什麼他們沒有連接在一起。

你想要做的是將所有的點存儲在一個數組中,然後一次繪製它們。然後您可以使用plot options更改線條並標記規格。

相關問題