我有一个垂直堆叠和对齐的数字的多图形散景图.因为我想垂直对齐图形,所以y轴标签旋转为垂直而不是水平.
在某些情况下,Bokeh产生太多的刻度,使得刻度标签完全重叠,使得难以辨认.这是一个例子:
import bokeh.plotting as bp
import numpy as np
y = np.random.uniform(0, 300, 50)
x = np.arange(len(y))
bp.output_file("/tmp/test.html", "test")
plot = bp.figure(plot_width=800, plot_height=200)
plot.yaxis.axis_label_text_font_size = "12pt"
plot.yaxis.major_label_orientation = 'vertical'
plot.line (x,y)
bp.show(plot)
Run Code Online (Sandbox Code Playgroud)
如果没有让渲染器足够聪明以自动生成更少的标签,是否有办法指示要放置在轴上的标签数量?
似乎生成的标签数量与数据的范围有关,就其与10的幂的亲和力而言.
假设我有一个值数组[a,b,c,d,...]和一个返回true或false的函数f(x,...).
[1,2,3,4].map {|x| f(x)} => [true true false true]
Run Code Online (Sandbox Code Playgroud)
首先,将结果列表折叠为真值或假值(通过AND)的最佳方法是什么?是否有一个允许我映射的函数:
[true true false true]
Run Code Online (Sandbox Code Playgroud)
至:
((true && true) && false) && true
Run Code Online (Sandbox Code Playgroud)
使用二进制&&运算符的累积成对应用?
在这种情况下,评估函数的成本是次要的,因此希望使用lisp样式的"和"来顺序评估参数(函数应用程序),直到其中一个为假.确定可以这样做:
!![1,2,3,4].each {|x| break false if !f(x) }
Run Code Online (Sandbox Code Playgroud)
这很难看.希望有更优雅的方式来做到这一点.我知道我可以为Array添加一个新的理解,但希望有一些内置的东西可以做得更好.谢谢
有没有办法来调整x_axis_label和y_axis_label字体/字体大小在背景虚化(0.70)?我知道一种使用title_text_font_size属性调整标题字体大小的方法,其中:
figure (..., title_text_font_size="12pt")
Run Code Online (Sandbox Code Playgroud)
有没有办法指定类似的东西:
figure (..., x_axis_label_text_font_size='10pt')
Run Code Online (Sandbox Code Playgroud)
(使用<name>_text_font_size 的约定)来指示字体大小属性.以上都行不通.如果不存在,有人可以就如何在cofeescript + API方面进行这种调整提出一些指示,那么可以回馈给项目吗?谢谢
我有一个主图和一些辅助信息,我想在它下面的另一个图中面对.Facetting工作得很好,除了我不知道如何控制一个方面与另一个方面使用的相对空间.我知道space ='free'但这仅在范围对应于所需的相对大小时才有用.
因此,例如,我可能想要一个图表,其中第一个方面占80%,第二个占20%.这是一个例子:
data <- rbind(
data.frame(x=1:500, y=rnorm(500,sd=1), type='A'),
data.frame(x=1:500, y=rnorm(500,sd=5), type='B'))
ggplot() +
geom_line(aes(x=x, y=y, colour=type), data=data) +
facet_grid(type ~ ., scale='free_y')
Run Code Online (Sandbox Code Playgroud)
以上创建了两个相等垂直维度的方面.加入在space='free'在facet_grid函数改变这样的尺寸使得下小面比上大致5倍的情况下(如预期).
假设我希望鞋面大小为2x,具有相同的数据集和facet的排序.我怎么能做到这一点?
是在重新调整数据设置一些挂羊头卖狗肉做到这一点的唯一方法和手动覆盖轴标签(如果有的话,怎么样)?
替代
如下所示,可以使用视口渲染为多个图形.我考虑过这个,实际上过去使用这种方法实现了标准的绘图和视口.
问题是很难让x轴与这种方法保持一致.因此,如果有办法修复 y轴标签区域的大小和图例区域的大小,则可以生成2个具有相同渲染区域的图形.
我在linux上安装了单声道2.10.4,并且一直在尝试编译依赖于.NET C#4的代码库.我已经能够在MonoDevelop中编译,但需要能够从命令行/构建工具进行编译.
执行:
gmcs -langversion:4 -target:library -out:foo.dll ... <sources>
Run Code Online (Sandbox Code Playgroud)
产生以下错误:
error CS1617: Invalid -langversion option `4'. It must be `ISO-1', `ISO-2', `3'
or `Default'
Run Code Online (Sandbox Code Playgroud)
编译器版本gmcs --version:
Mono C# compiler version 2.10.4.0
附加说明:
我有一个data.frame,其条目如下:
variable importance order
1 foo 0.06977263 1
2 bar 0.05532474 2
3 baz 0.03589902 3
4 alpha 0.03552195 4
5 beta 0.03489081 5
...
在使用breaks =变量绘制上述内容时,我希望保留顺序,而不是按字母顺序排列.
我正在渲染:
ggplot (data, aes(x=variable, weight=importance, fill=variable)) +
geom_bar() +
coord_flip() + opts(legend.position='none')
但是,变量名的顺序是按字母顺序排列的,而不是数据框中的顺序.我看过一篇关于在aes中使用"order"的帖子,但似乎没有任何效果.
我希望有一个与"订单"列一致的休息订单.
似乎有一个类似的问题如何在ggplot中改变离散x尺度的顺序,但坦率地说,在这种情况下没有理解答案.
我是scala的新手,在java NIO库(来自scala 2.10.x)中调用"泛型"函数时遇到了问题.将代码简化为简单测试:
import java.net._
import java.nio.channels.{MembershipKey, DatagramChannel}
object Test {
val channel = DatagramChannel.open(StandardProtocolFamily.INET)
.setOption(StandardSocketOptions.SO_REUSEADDR, true)
...
}
Run Code Online (Sandbox Code Playgroud)
这导致:
Error:(40, 48) type mismatch;
found : java.net.SocketOption[Boolean]
required: java.net.SocketOption[Any]
Note: Boolean <: Any, but Java-defined trait SocketOption is invariant in type T.
You may wish to investigate a wildcard type such as `_ <: Any`. (SLS 3.2.10)
channel.setOption(StandardSocketOptions.SO_REUSEADDR, true)
^
Run Code Online (Sandbox Code Playgroud)
我假设有一些方法可以解决这个问题,而无需在java中编写包装器.尝试过以各种方式重铸而没有成功.
问题:我该如何解决上述问题?
我有兴趣使用F#进行数值工作,但我的平台不是基于Windows的.对于生成大量短期对象的程序(对于函数式语言来说是典型的),Mono仍然会有显着的性能损失.
Silverlight可在OSX上使用.我看到一些引用表明以常规方式编译的程序集无法引用,但在细节上并不清楚.我对UI不感兴趣,但想知道是否可以有效地使用捆绑了silverlight的VM来执行?
我希望能够引用我在java中已经拥有的大型数值模型库(通过IKVM交叉编译到.NET程序集)和用F#编写的新代码库.我希望OSX上的Silverlight VM具有良好的性能,并且可以引用外部程序集和本机库.
这可行吗?