天道酬勤,学无止境

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.

评论

Individual font sizes can be controlled with the titlefontsize, tickfontsize, legendfontsize, tickfontsize, guidefontsize and legendtitlefontsize attributes, but I get that this can be quite tedious. There is also the thickness_scaling attribute.

plot(rand(10), thickness_scaling = 0.5)

However, this also affects the line widths. The third option is to call

Plots.scalefontsizes(α)

to scale all font sizes by a factor α. This changes the global fontsize defaults for all subsequent plots and can be undone with

Plots.scalefontsizes(1 / α)

Answer by Daniel Schwabeneder on 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 plot on Images with Plots.jl?
    I want using Plots.jl for plot on Images, for example simple sinusoid. Here my code: 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") But I get wrong result. How do this correctly?
  • 如何使Flutter应用根据不同的屏幕尺寸做出响应?(How to make flutter app responsive according to different screen size?)
    问题 我面临着使其难以根据各种屏幕尺寸做出响应的困难。 如何使其反应灵敏? @override Widget build(BuildContext context) { return new Container( decoration: new BoxDecoration(color: Colors.white), child: new Stack( children: [ new Padding( padding: const EdgeInsets.only(bottom: 350.0), child: new GradientAppBar(" "), ), new Positioned( bottom: 150.0, height: 260.0, left: 10.0, right: 10.0, child: new Padding( padding: new EdgeInsets.all(10.0), child: new Card( child: new Column( mainAxisSize: MainAxisSize.min, children: <Widget>[ const ListTile( title: const Text( 'LOGIN', textAlign: TextAlign.center, style: const TextStyle(
  • 与容器相比如何缩放文本大小(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 但是我不确定这是否适用于所有情况。 有更好的方法吗? 我认为可以通过一些内置功能来执行这样的常见任务。 免责声明:这不是(希望)不是“让我用谷歌为您解答”
  • 反应本机自适应字体大小(React Native Responsive Font Size)
    问题 我想问一下如何处理本机句柄或做响应字体。 例如,在iphone 4s中,我的fontSize:14,而在iphone 6中,我的fontSize:18。 回答1 您可以使用PixelRatio 例如: var React = require('react-native'); var {StyleSheet, PixelRatio} = React; var FONT_BACK_LABEL = 18; if (PixelRatio.get() <= 2) { FONT_BACK_LABEL = 14; } var styles = StyleSheet.create({ label: { fontSize: FONT_BACK_LABEL } }); 编辑: 另一个例子: import { Dimensions, Platform, PixelRatio } from 'react-native'; const { width: SCREEN_WIDTH, height: SCREEN_HEIGHT, } = Dimensions.get('window'); // based on iphone 5s's scale const scale = SCREEN_WIDTH / 320; export function normalize(size) { const
  • Coding and Paper Letter(八十)
    新一期资源整理。 文章目录 1 Coding:2 Paper: 1 Coding: 1.城市模拟综合。 UrbanSimulationSynthesis 2.基于 bookdown 的 ElegantBook。 ElegantBookdown 3.R语言包lifecycle,生命周期提供了一组工具和约定来管理导出功能的生命周期。 lifecycle 4.学习GitHub注册的基础知识,进行首次回购,上传文档/文件,分支,合并和拉取请求均在.ppt文档中进行了讨论 lunch and learn GitHub Basics ppt 5.这是MSU的PLP 847小组项目,由Greg Bonito教授。团队成员包括:Melini Jayawardana Austin McCoy Mitch Roth丽贝卡·谢伊。 TarSpot of Corn 6.弯嘴滨鹬和红颈滨鹬的迁徙方式和后果。 CurlewSands RedNStints 7.R语言包varstan,Varstan是一个使用哈密顿蒙特卡洛方法对结构化时间序列模型进行贝叶斯估计的软件包,该方法由Stan(一种C ++的概率语言模型)实现。 varstan 8.这是一个客户端库,可用于检测Python应用程序的分布式跟踪收集,并将这些跟踪发送到Jaeger。有关更多详细信息,请参见OpenTracing Python API。
  • 如何很好地重新调整格子图形?(How to nicely rescale lattice figures?)
    问题 在准备要打印的图形时,我经常需要使它们比屏幕上显示的要小得多。 将数字缩小到仅几厘米的情况并不少见。 使用标准图形包par(cex=...)可用于缩小整个图以适应如此小的区域,并且看起来仍然成比例。 是否有与格子包中的等效项? 基本上,如何以右侧面板的大小绘制下图,但保留左侧面板的比例? 这个问题trellis.par.get出现在我身上,它通常让我疯狂地trellis.par.get和trellis.par.set然后放弃并使用标准图形重新绘制整个图形(这非常乏味)。 当发现trellis.par.set(simpleTheme(cex=...))我以为我已经成功了,但它似乎没有做任何事情。 澄清 我想重新调整绘图中的所有内容,包括字体大小、边距和刻度大小。 很多。 我知道我可以简单地调整pdf(height=..., width=...)以获得我喜欢的比例,然后在排版中重新缩放它,例如 InDesign 或文字处理器,但我觉得如果每个pdf 将其预期尺寸嵌入文件中。 回答1 介绍 有几种方法可以缩放点阵图元素的大小。 一种选择是更改采用cex属性的所有参数,另一种选择是更改绘制所有内容的基本fontsize大小。 您想要的解决方案是后者,正如您稍后将看到的那样,但了解如何通过par.settings参数影响绘图的各个组件也par.settings性
  • 基于画布大小的 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
  • 基于容器宽度的字体缩放(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
  • 我应该如何在 SpriteKit 中调整标签节点的大小?(How should I resize label nodes in SpriteKit?)
    问题 所以我的场景中有几个SKLabelNodes ,如下所示: SKLabelNode *label1 = [SKLabelNode labelNodeWithFontNamed:@"Arial"]; label1.text = @"Hello World!"; label1.fontColor = [SKColor redColor]; label1.fontSize = 90; label1.position = CGPointMake(CGRectGetMidX(self.frame),CGRectGetMidY(self.frame)); [self addChild: label1]; 当场景开始时,我希望它们按比例放大。 我为此使用了 SKAction,但scaleBy导致文本模糊并且resizeTo不起作用。 另外我猜这不是使用字体的方法。 有没有更好的方法来做到这一点,还是应该使用 UILabels? 我不想这样做,因为那意味着我不能在它上面使用 SpriteKit 物理,或者我可以吗? 谢谢 回答1 这是我对您的问题的意见。 我永远不会扩大任何规模。 遵循一般准则,如果按比例缩小,通常会保持质量。 放大创造了像素艺术的感觉。 如果您不使用标签节点来显示经常更改的数字,请使用 SKSpriteNode。 使用基本的照片编辑器键入您的标签并将其保存为您将分配给
  • Matplotlib轴标签:如何找出它们的位置?(Matplotlib axis labels: how to find out where they will be located?)
    问题 我编写了一个例程来从大气模型输出中绘制垂直横截面。 一个例子如下所示。 我想做的是显示两个垂直轴:左侧以对数刻度显示压力值,而右侧以km为单位显示海拔高度。 我认为最好在模型级别的位置显示海拔高度-这就是为什么它们之间的间距不规则的原因。 除了右边的标签在底部附近重叠之外,其他所有方法都运行良好。 我发现我可以使用ax2.get_yticklabels()[index].set_visible(False)隐藏特定的标签。 我的问题是:如何确定要隐藏的标签(索引)? 我相信应该可以找到刻度标签的位置(在轴或图形坐标中)。 然后我可以像这样使用阈值距离 yp = -1 for t in ax2.get_yticklabels(): y = t.get_position().y0 # this doesn't yield any useful bbox! if y-yp < threshold: t.set_visible(False) else: yp = y 不幸的是,我还没有找到获取标签坐标的方法。 有什么提示吗? 这是示例图: 这是完成绘图的完整代码(数据是二维数组,x是纬度,y是压力值): def plotZM(data, x, y, plotOpt=None): """Create a zonal mean contour plot of one variable
  • Matplotlib axis labels: how to find out where they will be located?
    I have written a routine to draw vertical cross sections from atmospheric model output. An example is shown below. What I would like to do, is to show two vertical axes: on the left I display presure values on a log scale, and on the right I show altitudes in km. I thought it would be nice to show the altitudes at the locations of the model levels - this is why they are irregularly spaced. All works nicely, except that the labels on the right overlap near the bottom. I found out that I can hide specific labels using ax2.get_yticklabels()[index].set_visible(False). My problem is: how do I
  • 动画UILabel字体大小更改(Animating UILabel Font Size Change)
    问题 我目前正在制作一个使用自定义View Controller容器的应用程序。 一次在屏幕上显示多个视图,而当点击一个视图时,选定的视图控制器会设置为全屏动画。 这样做时,选定的视图控制器子视图也会缩放(帧,字体大小等)。尽管如此,UILabel的font属性无法设置动画,从而导致问题。 我尝试了多种解决方案,但全部失败了。 我尝试过的解决方案是: 截取较大视图的屏幕截图并为更改添加动画效果(类似于Flipboard的操作) 通过使用transform属性进行动画处理缩小UIScrollView并在全屏显示时将其放大。 设置将adjustsFontSizeToFitWidth设置为YES,并在动画之前设置fontSize 到目前为止,这是最好的解决方案,但我对此并不满意。 如果有人可以使用[UIView animate ..]进行动画设置,或者有人在使用UILabel替换动画,则我正在寻找其他建议。 这是一个很好的示例,类似于我希望UILabel进行的操作:http://www.cocoawithlove.com/2010/09/zoomingviewcontroller-to-animate-uiview.html 编辑:此代码有效 // Load View self.label = [[UILabel alloc] init]; self.label.text = @
  • 图表Js更改了Ox轴上的文本标签方向(Chart Js change text label orientation on Ox axis)
    问题 我正在使用chartJS库-http://www.chartjs.org/ 如果文本标签太大,则chartJs将以45度显示文本。请告诉我如何将文本旋转角度更改为30度。 请参阅以下内容: var data = { labels:['Large Text Very Large','Text1','Text2'], datasets:[ { label:'DS1', fillColor:'rgba(228,218,86,0.5)', strokeColor:'rgba(228,218,86,0.8)', highlightFill:'rgba(228,218,86,0.75)', highlightStroke: 'rgba(228,218,86,1)', data:[0,1,0] } ] } var options = { animation: false }; //Get the context of the canvas element we want to select var c = $('#myChart'); var ct = c.get(0).getContext('2d'); var ctx = document.getElementById("myChart").getContext("2d"); /*****************************
  • 自动调整Seaborn Heatmap中的字体大小(Auto adjust font size in seaborn heatmap)
    问题 使用seaborn heatmap时,是否可以自动调整字体大小以使其完全适合正方形? 例如在: sns.heatmap(corrmat, vmin=corrmat.values.min(), vmax=1, square=True, cmap="YlGnBu", linewidths=0.1, annot=True, annot_kws={"size":8}) 此处的大小在“ annot_kws”中设置。 回答1 您还可以执行以下操作: sns.heatmap(corrmat, vmin=corrmat.values.min(), vmax=1, square=True, cmap="YlGnBu", linewidths=0.1, annot=True, annot_kws={"fontsize":8}) 回答2 要调整seaborn heatmap的字体大小,可以使用不同的方法 import seaborn as sns # for data visualization flight = sns.load_dataset('flights') # load flights datset from GitHub seaborn repository # reshape flights dataeset in proper format to create seaborn
  • 如何使用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
  • 如何在iOS7中使用具有动态文本大小的自定义字体(How to use a custom font with dynamic text sizes in iOS7)
    问题 在iOS7中,有新的API用于获取一种字体,该字体会自动调整为用户在其首选项中设置的文本大小。 看起来像这样使用它: UIFont *myFont = [UIFont fontWithDescriptor:[UIFontDescriptor preferredFontDescriptorWithTextStyle:UIFontTextStyleHeadline] size:0]; 现在,当用户更改其系统文本大小设置时,您为其分配的任何文本都将在字体大小上下移动。 (记住,要听name:UIContentSizeCategoryDidChangeNotification通知,并更新您的视图以解决尺寸变化)。 如何使用带有默认Helvetica-Neue以外的字体的动态文本? 回答1 在该API的背后,苹果具有某种查找表,该表返回特定的字体系列,大小,有时还返回符号特征(如粗体)(例如UIFontTextStyleHeadline )和用户喜欢的文本大小。 后者是从sharedApplication提取的字符串,如下所示: [UIApplication sharedApplication].preferredContentSizeCategory; (我为Helvetica-Neue记录了所有动态文本大小的所有默认大小/字体/特征)。 此后,我们增加了对可访问性大小的处理
  • 如何使用 drawInRect:withAttributes: 而不是 drawAtPoint:forWidth:withFont:fontSize:lineBreakMode:baselineAdjustment: 在 iOS 7 中(How to use drawInRect:withAttributes: instead of drawAtPoint:forWidth:withFont:fontSize:lineBreakMode:baselineAdjustment: in iOS 7)
    问题 此方法在 iOS 7.0 中已弃用: drawAtPoint:forWidth:withFont:fontSize:lineBreakMode:baselineAdjustment: 现在使用drawInRect:withAttributes:代替。 我找不到fontSize 和baselineAdjustment 的attributeName。 编辑 谢谢@Puneet 的回答。 实际上,我的意思是如果没有这些密钥,如何在 iOS 7 中实现此方法? 像下面的方法: + (CGSize)drawWithString:(NSString *)string atPoint:(CGPoint)point forWidth:(CGFloat)width withFont:(UIFont *)font fontSize:(CGFloat)fontSize lineBreakMode:(IBLLineBreakMode)lineBreakMode baselineAdjustment:(UIBaselineAdjustment)baselineAdjustment { if (iOS7) { CGRect rect = CGRectMake(point.x, point.y, width, CGFLOAT_MAX); NSMutableParagraphStyle
  • 图表Js更改折线图在x轴上的标签方向(Chart Js Change Label orientation on x-Axis for Line Charts)
    问题 我正在使用chart.js。 与此问题类似,我想将x轴标签旋转90度。 目前,我的标签使用默认设置旋转了约80度。 有人可以帮助我将条形图解决方案调整为旋转标签,以便在折线图上使用它吗? 回答1 此答案适用于chartjs 1.X,涵盖2.X的答案请看@tabetomo的出色答案https://stackoverflow.com/a/39706986/2737978 使用与上一个答案相同的方法,唯一需要更改的是图形类型的扩展。 这次是在扩展折线图,并且设置有些不同,因为在构建比例中创建了折线图比例,因此这次是buildScale被覆盖,以便使用自定义比例,并且可以使用新选项overrideRotation传入的initialize也被覆盖,但仅是为了可以调用超级初始化,并在构建图形时产生作用。 var helpers = Chart.helpers; Chart.MyScale = Chart.Scale.extend({ calculateXLabelRotation: function() { //Get the width of each grid by calculating the difference //between x offsets between 0 and 1. this.ctx.font = this.font; var firstWidth =
  • gnuplot:小字体的副标题(gnuplot: subtitle with smaller fontsize)
    问题 有人知道如何在 gnuplot 中插入字体较小的副标题吗? 目前,我创建副标题的方式是在标题中使用\n 。 此外,我希望副标题的字体更小。 提前致谢。 回答1 这至少适用于 postscript 终端(出于某种原因, x11不想缩放我的字体。也许这是一个错误......): set term <whatever> enhanced set output "<whatever.ext>" set title "Big Title\n{/*0.5 subtitle}" {/*0.5}将字体{/*0.5}缩放为当前活动字体大小的一半。 您还可以明确指定字体大小: set title "{/=20 Big} Medium {/=5 Small}" 或者您可以更改文本区域的字体: set title "{/Helvetica foo} {/Symbol G}" 这些表单也可以组合以更改特定文本区域的字体和大小: set title "This is a big gamma {/Symbol=20 G}" 有关增强文本的更多信息,请参阅help enhanced 。 回答2 您可以使用label 。 您必须通过at尝试一些正确的位置: set title "Big Title" set label "Subtitle" at screen 0.5, 0.9 font "Arial,8"