2016-04-06 3 views
0

У меня есть следующий код для создания диаграммы, показывающей год по оси x, и суммы доллара по оси y. Как я могу отформатировать ось y, чтобы показать интервалы, такие как $ 4,000,000, $ 8,000,000, $ 12,000,000 ...matplot lib y-axis interval со знаком доллара

Прямо сейчас ось y показывает 0,2, 0,4 и 1е7 в левом верхнем углу.

from matplotlib import pyplot as plt 
    ... 
    plt.figure(figsize=(8,4)) 
    plt.plot(x_values, y_values) 
    plt.ylabel('Amount') 
    ... 
    plt.savefig(img_path) 
+0

Покажите нам свой участок. – Hun

+0

Посмотрите на эту страницу: http://matplotlib.org/examples/pylab_examples/custom_ticker1.html –

+0

Почему возникает вопрос с меткой 'matlab'? – kazemakase

ответ

0

Matlab Пример

% Years on x axis 
x = 2010:2016; 

% Dollar amount on y axis 
y = linspace(4000000,8000000,length(x)); 

% Plot and save the tick values that Matlab generates 
plot(x,y); 
yTicks = get(gca,'YTick'); 

% Turn ticks into non-exponential values 
a = textscan(num2str(yTicks),'%f'); 

% Format into strings representing dollar amount with delimiter etc. 
newYTickLabels = Sep1000Str(a{1}); 

% Set your new ticklabels 
set(gca,'YTickLabel',newYTickLabels) 

Где Sep1000Str() является:

function output = Sep1000Str(a) 
n = length(a); 
for k = 1:n 
    S = sprintf('$%.2f', a(k)); 
    S(2, length(S) - 6:-3:2) = ','; 
    S = {transpose(S(S ~= char(0)))}; 
    output(k) = S; 
end 
+0

это в python? – user1187968

+1

Я думаю, что это в Matlab, как он упомянул –

+0

Надеюсь, это решает вашу проблему, @ user1187968. Если да, пожалуйста, поддержите и примите ответ. Позвольте мне знать, если вам нужно что-нибудь еще. – JCKaz

Смежные вопросы