4
I have a cloud of tags and want to change the font size of each tag as you use them.
I need to have a minimum size and a maximum size.
What would be the formula to calculate tag size?
4
I have a cloud of tags and want to change the font size of each tag as you use them.
I need to have a minimum size and a maximum size.
What would be the formula to calculate tag size?
6
I created some examples to clarify the delan’s response.
Basically the formula is:
(tagAtual.Usos / maiorNumeroDeUsos) * (fonteMaxima - fonteMinima) + fonteMinima
var tags =
[
{ Name: "c#", Uses: 100 },
{ Name: ".net", Uses: 75 },
{ Name: "typescript", Uses: 50 },
{ Name: "lua", Uses: 50 },
{ Name: "javascript", Uses: 25 },
{ Name: "jquery", Uses: 1 },
{ Name: "c++", Uses: 0 },
];
var max = 100; // Deve ser computado
var min = 0; // Deve ser computado
var fontMin = 10;
var fontMax = 20;
for (var i in tags)
{
var tag = tags[i];
var size = tag.Uses == min ? fontMin
: (tag.Uses / max) * (fontMax - fontMin) + fontMin;
}
Exit:
c# font-size: 20
.net font-size: 17.5
typescript font-size: 15
lua font-size: 15
javascript font-size: 12.5
jquery font-size: 10
c++ font-size: 10
var tags = new List<Tag>
{
new Tag { Name = "c#", Uses = 100 },
new Tag { Name = ".net", Uses = 75 },
new Tag { Name = "typescript", Uses = 50 },
new Tag { Name = "lua", Uses = 50 },
new Tag { Name = "javascript", Uses = 25 },
new Tag { Name = "jquery", Uses = 5 },
new Tag { Name = "c++", Uses = 5 },
};
int max = tags.Max(o => o.Uses);
int min = tags.Min(o => o.Uses);
double fontMax = 20;
double fontMin = 10;
foreach (var tag in tags)
{
double size = tag.Uses == min ? fontMin
: (tag.Uses / (double)max) * (fontMax - fontMin) + fontMin;
}
Exit:
c# font-size: 20
.net font-size: 17.5
typescript font-size: 15
lua font-size: 15
javascript font-size: 12.5
jquery font-size: 10
c++ font-size: 10
Browser other questions tagged css algorithm mathematics tag-cloud
You are not signed in. Login or sign up in order to post.