天道酬勤,学无止境

如何使用 Plots.jl 缩放字体大小(How to scale the fontsizes using Plots.jl)

问题

有没有办法一次重新调整所有字体大小(图例、刻度标签、轴标签……)?

Filippo Vicentini 在 Slack 上的原始问题。

回答1

可以使用titlefontsizetickfontsizelegendfontsizetickfontsizeguidefontsizelegendtitlefontsize属性控制单个字体大小,但我知道这可能非常乏味。 还有thickness_scaling属性。

plot(rand(10), thickness_scaling = 0.5)

然而,这也会影响线宽。 第三种选择是调用

Plots.scalefontsizes(α)

按因子α缩放所有字体大小。 这会更改所有后续绘图的全局字体大小默认值,并且可以使用以下命令撤消

Plots.scalefontsizes(1 / α)

Daniel Schwabeneder 在 Slack 上的回答。

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • How to scale the fontsizes using Plots.jl
    is there a way to rescale all the fontsizes (legend, tickslabels, axislabels…) at once? Original question from Filippo Vicentini on Slack.
  • PIL 如何根据图像大小缩放文本大小(PIL how to scale text size in relation to the size of the image)
    问题 我正在尝试动态缩放文本以放置在不同但已知尺寸的图像上。 文本将作为水印应用。 有没有办法根据图像尺寸缩放文本? 我不要求文本占据整个表面区域,只是为了足够可见,以便易于识别且难以删除。 我正在使用 Python 图像库版本 1.1.7。 在 Linux 上。 我希望能够设置文本大小与图像尺寸的比例,比如大小的 1/10 之类的。 我一直在查看字体大小属性来更改大小,但我没有成功创建算法来缩放它。 我想知道是否有更好的方法。 关于如何实现这一目标的任何想法? 谢谢 回答1 您可以增加字体大小,直到找到合适的字体。 font.getsize()是告诉您渲染文本有多大的函数。 from PIL import ImageFont, ImageDraw, Image image = Image.open('hsvwheel.png') draw = ImageDraw.Draw(image) txt = "Hello World" fontsize = 1 # starting font size # portion of image width you want text width to be img_fraction = 0.50 font = ImageFont.truetype("arial.ttf", fontsize) while font.getsize(txt)[0]
  • 与容器相比如何缩放文本大小(How to scale text size compared to container)
    问题 您将如何根据容器大小缩放文本大小。 其他问题说明它不能用 css 来完成,如果不是,你会怎么做? 回答1 这是一种设置文本以适应容器宽度的方法。 它的工作原理是逐渐增加隐藏 div 的字体大小,直到它小于要在其中放置文本的容器的宽度。 然后将容器的字体大小设置为隐藏 div 的字体大小。 这有点低效,可以通过缓存容器的旧宽度来优化,然后根据容器宽度的变化从旧字体大小增加到更大或更小的值。 jsFiddle :http://jsfiddle.net/sarathijh/XhXQk/ <div class="scale-text styles"> This is a test of scaling text to fit the container. Lorem Ipsum Dolor Sit Amet. </div> <div id="font-metrics"></div> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script> var fontMetrics = document.getElementById('font-metrics'); var scaleTexts = $('.scale-text'); $(window).on
  • Windows Store Universal App(W8.1 + WP8.1)中的字体大小缩放(font size scaling in Windows Store Universal App (W8.1 + WP8.1))
    问题 如何在Windows Store Universal App(W8.1 + WP8.1)中缩放文本? 基本上,无论使用哪种设备/分辨率,该应用程序的外观都应该相同。 当前的情况是,布局(基于动态网格的布局)和图像的缩放效果很好,除了文本(字体大小)以外。 显示的文本对于WVGA分辨率(480×800)看起来不错,但是对于1080p分辨率却很小。 我已经读了很多东西,例如缩放到像素密度的准则或支持多种屏幕尺寸的准则 但是我仍然不知道如何缩放文本以保持可读性,而不管显示分辨率/ DPI。 当然,我可以编写一个使用DisplayInformation.ResolutionScale属性将字体大小转换为适当值的类。 例子: 具有ScaleFactor 1x的WVGA上的FontSize 16等于FontSize 16 具有ScaleFactor 1.6x的WXGA上的FontSize 16等于FontSize 25,6 具有ScaleFactor 1.5x的7​​20p上的FontSize 16等于FontSize 24 使用ScaleFactor 2.25x的1080p上的FontSize 16等于FontSize 36 但是我不确定这是否适用于所有情况。 有更好的方法吗? 我认为可以通过一些内置功能来执行这样的常见任务。 免责声明:这不是(希望)不是“让我用谷歌为您解答”
  • 如何在 WPF 中使用不同的坐标系? (仅缩放)(How to use a different coordinate system in WPF? (scaling only))
    问题 (让我给你一些上下文)我目前正在设计一个应用程序,它应该根据一些数据生成可打印的 A4 页面。 自然地,WPF 的设备独立像素(96 像素/英寸)在纸张世界中并不是一个非常自然的测量单位。 像毫米这样的东西会更合适。 所以我拿出我的计算器,得出一个大约 3.779 的比例因子。 事实证明,在ScaleTransform中简单地将页面上应该出现的所有内容拍打会有一个令人讨厌的副作用:字体大小也被缩放(自然)。 然而,这不是我想要的。 我希望 12pt Arial 能够像 12pt Arial 一样正常渲染。 有没有其他方法可以改变坐标系而不必调用扩展或其他任何东西来转换每个坐标、长度、厚度等? - 或 - 有什么方法可以即时映射字体大小,是 DependencyProperties? 通过一个包含所有纸张内容的自定义控件,也许? 回答1 对于概述的要求,您根本不需要做任何特殊的事情,只需继续使用厘米作为 WPF 元素本身的测量单位(即没有任何转换)- WPF 设备独立性的本质允许您执行以下操作: <Window x:Class="WpfApplication1.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft
  • 基于容器宽度的字体缩放(Font scaling based on width of container)
    问题 我很难理解字体缩放。 我目前有一个网站的正文font-size为100%。 那是100%吗? 这似乎可以计算出16个像素。 我的印象是100%会以某种方式引用浏览器窗口的大小,但是显然不是因为将窗口缩小到移动宽度还是全尺寸的宽屏桌面总是16像素。 如何使文本相对于其容器在我的网站上缩放? 我尝试使用em ,但这也无法扩展。 我的理由是,当您调整大小时,菜单之类的东西会变得狭窄,因此我需要相对于容器的宽度减小.menuItem的px font-size 。 (例如,在大型桌面上的菜单中, 22px可以很好地工作。向下移动至平板电脑宽度,则16px更合适。) 我知道我可以添加断点,但是我确实希望文本能够缩放并具有额外的断点,否则,每控制100像素的宽度,我将得到数百个断点来控制文本。 回答1 编辑:如果容器不是正文,那么CSS Tricks将覆盖“将文本适合容器”中的所有选项。 如果容器是主体,则您要查找的是视口百分比长度: 视口百分比长度相对于初始包含块的大小。 更改初始包含块的高度或宽度时,将对其进行相应缩放。 但是,当根元素上的溢出值是auto时,将假定不存在任何滚动条。 值是: vw (视口宽度的百分比) vh (视口高度的百分比) vi (在根元素的内联轴方向上的视口大小的1%) vb (视口大小在根元素的块轴方向上的1%) vmin ( vw或vh的较小者) vmax
  • 精细控制学术论文 Seaborn 图中的字体大小(Fine control over the font size in Seaborn plots for academic papers)
    问题 我目前正在尝试使用 Seaborn 为我的学术论文创建图表。 绘图看起来很棒且易于生成,但我遇到的一个问题是对绘图中的字体大小进行精细控制。 我论文中的字体大小是 9pt,我想确保我的图中的字体大小是 9pt 或 10pt。 但是在 seaborn 中,字体大小主要是通过 font scale sns.set_context("paper", font_scale=0.9) 。 所以我很难找到合适的字体大小,除非通过反复试验。 有没有更有效的方法来做到这一点? 我还想确保不同 seaborn 图之间的字体大小是一致的。 但并非我所有的 seaborn 图都具有相同的尺寸,所以似乎在所有图上使用相同的 font_scale不一定在这些不同的图中创建相同的字体大小? 我在下面附上了我的代码。 我感谢任何关于如何格式化两栏学术论文的情节的评论。 我的目标是能够在不扭曲字体大小或绘图的情况下控制图形的大小。 我用 Latex 写论文。 # Seaborn setting sns.set(style='whitegrid', rc={"grid.linewidth": 0.1}) sns.set_context("paper", font_scale=0.9) plt.figure(figsize=(3.1, 3)) # Two column paper. Each column is
  • 按屏幕尺寸缩放文本标签(Scale text label by screen size)
    问题 是否有一种缩放文本的方式,以便无论设备大小如何,文本都可以占据相同的屏幕空间? 我发现,与iPhone相比,iPad尺寸的设备上的文字相对于屏幕尺寸而言太小。 以下是我要寻找的示例。 请注意,文本百分比大小与设备屏幕大小有关。 例子 回答1 要在标签上设置约束,请参见以下链接:如何快速将背景图像缩放到屏幕尺寸? 。 我知道您可能没有使用Swift(我使用的是Objective-C),但是第一个答案显示了如何在情节提要中做到这一点。 按照标签上的说明执行相同的操作。 然后,请参见下图,将标签的自动收缩选项从“固定字体大小”更改为“最小字体大小”(请参见下图)。 希望这可以帮助! 回答2 我有自己的修复程序,并非一键即可,但我觉得很值得。 步骤1: 测试不同屏幕尺寸的某些字体大小,记录字体大小和最相关的其他尺寸。 这就是我的意思 我将从普通的iPad屏幕开始,然后选择合适的字体大小。 因为我知道屏幕的整个高度会决定什么使字体大小合适,所以我记录了字体大小以及整个屏幕的高度。 因此,字体大小为50 ,高度为1024 。 然后,我切换到了iPhone SE 这非常糟糕,所以我固定了字体大小: 记录后,字体大小在25处有效,高度为568 。 第2步: 退出计算器应用程序,找到一个常数,该常数将字体大小与高度相关联(以我为例),花点时间花点时间。 这就是我的意思:
  • 禁用“输入”文本标签的自动缩放-iPhone上的Safari(Disable Auto Zoom in Input “Text” tag - Safari on iPhone)
    问题 我制作了一个带有<input>标记和type="text"的HTML页面。 当我使用iPhone上的Safari单击它时,页面变大(自动缩放)。 有人知道如何禁用此功能吗? 回答1 如果字体大小小于16px并且表单元素的默认字体大小为11px (至少在Chrome和Safari中),浏览器将缩放。 另外, select元素需要附加focus伪类。 input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="month"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="time"], input[type="url"], input[type="week"], select:focus, textarea { font-size: 16px; } 不必全部使用上述内容,您可以仅设置所需元素的样式,例如:仅text , number和textarea : input[type='text']
  • 如何使用seaborn FacetGrid更改字体大小?(How can I change the font size using seaborn FacetGrid?)
    问题 我已经在seaborn使用factorplot绘制了数据并获取了facetgrid对象,但是仍然无法理解如何在这种图中设置以下属性: 图例大小:当我绘制大量变量时,我得到的图例很小,字体也很小。 y和x标签的字体大小(与上面类似的问题) 回答1 您可以在对sns.set()调用中按比例放大字体。 import numpy as np import matplotlib.pyplot as plt import seaborn as sns x = np.random.normal(size=37) y = np.random.lognormal(size=37) # defaults sns.set() fig, ax = plt.subplots() ax.plot(x, y, marker='s', linestyle='none', label='small') ax.legend(loc='upper left', bbox_to_anchor=(0, 1.1)) sns.set(font_scale=5) # crazy big fig, ax = plt.subplots() ax.plot(x, y, marker='s', linestyle='none', label='big') ax.legend(loc='upper left', bbox_to
  • 如何自动缩小文本小部件中的字体以适应最大行数?(How do I auto scale down a font in a Text widget to fit the max number of lines?)
    问题 我正在尝试在FittedBox的 fit 属性中使用BoxFit.scaleDown来缩小Text小部件中的字体以适应不同长度的字符串。 但是,下面的代码将缩小整个字符串并使其适合一行,对于下面的示例,我希望将字体缩小,以便字符串可以适合两行(每个Text小部件的maxLines属性)。 import 'package:flutter/material.dart'; void main() => runApp(new MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return new MaterialApp( title: 'Multi-Line Label Demo', theme: new ThemeData( primarySwatch: Colors.blue, ), home: new MyHomePage(title: 'Multi-Line Label Demo'), ); } } class MyHomePage extends StatefulWidget { MyHomePage({Key key, this.title}) : super(key: key); final String title;
  • 如何使用 Plots.jl 在图像上绘图?(How plot on Images with Plots.jl?)
    问题 我想使用 Plots.jl 绘制图像,例如简单的正弦曲线。 这是我的代码: using Plots using Images gr() h = 400 w = 600 a = Array(RGB{FixedPointNumbers.UFixed{UInt8,8}}, h, w) img = Image(a) p=plot(img) x = collect(0:0.1:2π) plot!(x,sin(x)) png("Test") 但我得到错误的结果。 如何正确地做到这一点? 回答1 这是一个简单的例子,我希望能给你一些线索: julia> plot(img) julia> plot!(x->200sin(.05x)+300, 0, 700, w=5) 您可能只想确保绘制到与图像匹配的正确坐标。
  • JavaScript缩放文本以适合固定Div(JavaScript Scale Text to Fit in Fixed Div)
    问题 在JavaScript / jQuery中,如何在固定宽度的Div内缩放可变长度的文本行,以使一行始终适合Div内(作为一行)? 谢谢。 回答1 这有点hack,但是会做您想要的。 <div id="hidden-resizer" style="visibility: hidden"></div> 将其放置在页面底部,该位置将不会移动页面上的其他元素。 然后执行以下操作: var size; var desired_width = 50; var resizer = $("#hidden-resizer"); resizer.html("This is the text I want to resize."); while(resizer.width() > desired_width) { size = parseInt(resizer.css("font-size"), 10); resizer.css("font-size", size - 1); } $("#target-location").css("font-size", size).html(resizer.html()); 回答2 HTML: <div class="box" style="width:700px">This is a sentence</div> <div class="box" style
  • 缩放UILabel并以正确大小重新渲染字体(Zoom UILabel & Re-render font at correct size)
    问题 我有一个多行UILabel ,我想启用缩放功能。 我将其嵌入到UIScrollView ,并将最小缩放设置为.25,将最大缩放设置为4。这很好,但是我的UILabel字体在除1以外的任何缩放级别上看起来都很粗糙。 我可以处理这种方法: - (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale 为了将UILabel的字体调整为更大的尺寸,但视图仍在放大,因此它看起来总是很糟糕。 有什么方法可以使标签的文本重新呈现(我已经完成缩放)? 重要的是,用户当前在文本中的滚动位置不会丢失。 (要了解我要做什么,请注意在移动Safari中缩放文本时如何缩放/消除锯齿一秒钟,然后将其清除以在您当前的缩放比例下很好地呈现)。 回答1 UIScrollView的内置缩放比例仅对您的内容视图应用了转换,从而导致缩放比例大于1.0时出现任何模糊。 为了获得真正清晰的渲染,您需要自己处理缩放。 我在此答案中描述了该过程的大部分内容。 您需要手动跟踪内容视图的比例因子,然后在-scrollViewDidEndZooming:withView:atScale:委托方法中应用该比例。 对于您的UILabel,这意味着更改字体大小以反映新的比例。
  • 调整 ggmap 地图中的字体大小(Adjust font size in map plots in ggmap)
    问题 我正在尝试使用 ggmap 包在德国地图上绘制多个点,效果很好。 但是,我想进行一些具体更改,但不知道如何更改或是否可行。 为了制作地图,我执行以下操作(d 是带有经度和纬度的数据框): map <- get_map(location = c(10.25828, 51.11484), zoom = 6, maptype = "terrain") p <- ggmap(map) p <- p + scale_x_continuous(limits = c(6.09500,14.95306)) + scale_y_continuous(limits = c(47.39889,55.01250)+c(0,-0.1)) p <- p + xlab("Longitude") + ylab("Latitude") 然后在那张地图上,我绘制了一些点。 现在,如果我像上面一样设置 zoom = 6,那么地图就会非常详细,并且打印了很多城市名称,还有一些道路的白线。 这使得地图看起来有点过于“拥挤”。 这是地图的样子: pdf的大小也很大,如果我想要多张地图,这不是很实用。 另一方面,如果我设置缩放 = 5,则背景细节较少,显示的道路等较少,并且文件较小。 但是,城市和国家名称的印刷字体太大。 这是它的样子: 所以我的问题是:能否以某种方式获得带有缩放 = 5 中详细信息的地图
  • 基于画布大小的 HTML5 画布字体大小(HTML5 Canvas Font Size Based on Canvas Size)
    问题 我将画布大小设置为浏览器 window.innerHeight 和 window.innerWidth 的 1/3。 画布上的大多数元素也是根据画布的宽度和高度设置的,因此它们按比例缩小并根据画布的大小进行定位。 如何基于此缩放字体大小? 例如,我正在制作的游戏的打开屏幕的字体大小是 80pt。 如果浏览器真的很小,那就太大了。 它脱离了画布。 回答1 只需用一个因子缩放font-size 。 基础 假设您的画布默认大小为1000像素,字体大小为80像素(画布将 pt 转换为像素 - 为简单起见,我在这里使用80 ,见底部)。 这将创建以下关系: ratio = 80 / 1000 = 0.08 让我们通过乘以该比率来验证画布宽度何时为 1000: fontSize = 1000 * ratio = 80; 我们看到我们有 80 个字体。 现在画布尺寸变小了,假设为 500 像素: fontSize = 500 * ratio = 40; 那应该对应于关系。 请注意,字体不会像那样线性地表现,但它会大致正确。 现在只需设置字体的大小: ctx.font = (fontSize|0) + 'px myFont'; 解决方案 最终的代码本质上非常简单: var fontBase = 1000, // selected default width for canvas
  • Fabric js:使用鼠标调整大小时增加字体大小而不是仅缩放(Fabric js: Increase font size instead of just scaling when resize with mouse)
    问题 我正在开发fabric js应用程序,当我们用鼠标调整字体大小时,我需要增加/减少字体大小我试过的代码 var canvas = new fabric.Canvas('canvas'); $(document).ready(function() { $('#text-font-size').keyup(function() { var val = $(this).val(); if (isNaN(val)) { alert('please enter number'); $(this).val(''); } var activeObject = canvas.getActiveObject(); activeObject.fontSize = val; canvas.renderAll(); }); $('#add-text-btn').click(function() { if ($('#text-font-size').val()) { var txtfontsize = $('#text-font-size').val(); } else { var txtfontsize = 40; } var message = $('#add-text-value').val(); //var txtfontfamily = $('#font-family').val()
  • 如何自动缩放一组控件的字体大小?(How to automatically scale font size for a group of controls?)
    问题 我在WPF的网格中有一些TextBlock,我想根据它们的可用宽度/高度进行缩放。 当我搜索自动缩放字体大小时,通常的建议是将TextBlock放入ViewBox。 所以我这样做: <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> <ColumnDefinition Width="*" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <Viewbox MaxHeight="18" Grid.Column="0" Stretch="Uniform" Margin="5" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> <TextBlock Text="{Binding Text1}" /> </Viewbox> <Viewbox MaxHeight="18" Grid.Column="1" Stretch="Uniform" Margin="5" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> <TextBlock Text="{Binding Text2}" /> </Viewbox>
  • 如何在ffmpeg视频过滤器的字幕中添加字体大小(How to Add Font size in subtitles in ffmpeg video filter)
    问题 我正在使用此命令进行裁剪,缩放,然后将字幕添加为叠加 ffmpeg -i input.avi -vf "[in]crop=in_w:in_h-20:0:0 [crop]; [crop]scale=320:240 [scale];[scale]subtitles=srt.srt" -aspect 16:9 -vcodec libx264 -crf 23 oq.mp4 如何设置字幕的字体大小/颜色? 回答1 有两种使用字幕的方法:硬字幕和软字幕。 硬订阅 字幕视频过滤器可用于对字幕进行硬字幕或预烧。 这需要重新编码,并且字幕成为视频本身的一部分。 force_style选项 要自定义字幕,可以在subtitles过滤器中使用force_style选项。 使用字幕文件subs.srt并使用红色字体将字体大小设置为24的示例。 ffmpeg -i video.mp4 -vf "subtitles=subs.srt:force_style='Fontsize=24,PrimaryColour=&H0000ff&'" -c:a copy output.mp4 force_style使用SubStation Alpha(ASS)样式字段。 PrimaryColour以蓝色,绿色,红色的顺序为十六进制。 请注意,这是与HTML颜色代码相反的顺序。 颜色代码必须总是以&H和结束& 。 艾吉伯
  • 更改 material-ui 按钮的字体大小,并让按钮缩放?(changing font size of material-ui buttons, and having the buttons scale?)
    问题 我似乎在更改 Material-UI(用于 React)RaisedButton 上的字体大小以及让按钮本身正确缩放时遇到问题。 <RaisedButton label={<span className="buttonText">Log in Here</span>} /> CSS: .buttonText { font-size: 63px; } 文本大小会发生变化,但按钮本身不会随之缩放。 有谁知道正确的解决方案? 我想按文本大小进行缩放。 回答1 问题是 Material-UI 内联了其组件的所有样式,因此如果您尝试使用 CSS 选择器覆盖它们,它通常无法正常工作。 相反,尝试直接在组件上使用style属性覆盖您不想要的任何内联样式。 它看起来像这样: <RaisedButton style={{ fontSize: '63px' }} label='Log in Here' /> 如果它仍然看起来不太正确,只需检查该组件上所有生成的内联样式并查看您想要更改的内容,然后将其添加到style对象中。 http://www.material-ui.com/#/components/raised-button 回答2 使用labelSize覆盖元素的内联样式 http://www.material-ui.com/#/components/raised-button