Display comma as decimal digits separator in simple 2D plots
Afficher commentaires plus anciens
Is it possible in a simple 2D plot display numbers with comma as decimal digits separator instead of the dot?
Maybe is there a label to add in the xtickformat command?
Réponse acceptée
Plus de réponses (2)
Roofus Milton
le 15 Nov 2019
This is possible by calling the .NET Framework string formatting functions. Without getting into a discussion of Cultures in the Framework, I have provided a simple function which provides the format.
NumberFormatMatlabAnswers([1000:1010]', 4, 'decimalSeparator', ',', 'numberGroupSeparator', '.')
function output = NumberFormatMatlabAnswers(nums, varargin)
% initialize the inputParser
ip = inputParser;
% add function parameters to inputParser
addRequired(ip, 'nums');
addOptional(ip, 'decimals', 2);
addParameter(ip, 'decimalSeparator', '.');
addParameter(ip, 'numberGroupSeparator', ',');
% validate the parameters
parse(ip, nums, varargin{:});
% create the .NET object to store format specifics
numFormatInfo = System.Globalization.NumberFormatInfo();
% pass the custom format specifics to their respective object properties
numFormatInfo.NumberDecimalSeparator = ip.Results.decimalSeparator;
numFormatInfo.NumberGroupSeparator = ip.Results.numberGroupSeparator;
% initialize the output cell array
output = cell(length(ip.Results.nums), 1);
% create the format string for .NET
formatString = strcat('{0:N', num2str(ip.Results.decimals), '}');
for p = 1:length(ip.Results.nums)
% get the formatted string from .NET
output{p} = char(System.String.Format(numFormatInfo, formatString, ip.Results.nums(p)));
end
end
1 commentaire
Walter Roberson
le 15 Nov 2019
And you would then have to pass output as the appropriate tick labels -- the above does not change how axes tick labels are constructed.
Elia Sironi
le 15 Nov 2019
0 votes
Catégories
En savoir plus sur Grid Lines, Tick Values, and Labels dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!