小编Dav*_*lot的帖子

如何在R中为所有plot.default,plot或line调用默认设置颜色

为了简化我的每日R互动,我想为我的所有情节设置默认颜色.例如,假设我想要用红线制作所有图(如gnuplot ...... :-))

到目前为止,这是我的.Rprofile的片段

setHook(packageEvent("grDevices", "onLoad"), 
    function(...) 
        grDevices::X11.options(width = 14, height = 8, type = "Xlib", xpos = 600,     ypos = 30, canvas = "grey87"))

suppressPackageStartupMessages( require(Defaults) )
suppressPackageStartupMessages( require(utils) )
suppressPackageStartupMessages( require(graphics) )

setDefaults("plot.default",frame.plot=FALSE, type='l', col=2)
Run Code Online (Sandbox Code Playgroud)

我在这里做的是:当grDevices加载包时(通过加载graphics包),我X11.options用我喜欢的参数调用:更宽的框,浅灰色背景,xlib调用(因为我正在做远程调用,而cairo in我当前的环境太慢了(另一个需要解决的问题))然后我默默加载3个包Defaults,utilsgraphics.需要第二个来避免find功能错误消息.

最后,魔术功能setDefaults设置3个参数到散点图函数plot.default.第3个参数col不是函数的参数plot.default而是一个参数par().

但是,setDefaults打电话par也不起作用.

欢迎任何解决方案......

plot default r colors

6
推荐指数
1
解决办法
2209
查看次数

如何在编译时打印模板参数的名称

问题很简单:如何在C++类中打印模板参数的名称并在编译时将其分配给类变量?似乎必须在运行时或至少某些部分评估both typeinfo(typeid)和boost :: typeindex.这显然不允许编译器完全解决constexpr包含对此函数之一的调用.

template<typename T>
class X
{
   public:
      static const char * name = /* SOME C++ code transforming T in a string (either std::string or char */
};
Run Code Online (Sandbox Code Playgroud)

我错过了什么?是否只能在运行时生成名称?在那种情况下,我真的需要一个实例化的对象吗?这对我来说似乎不对,因为以下完美的工作没有任何实例:

#include <iostream>
#include <string>
#include <boost/type_index.hpp>

using namespace std;

template<class T>
class X
{
        public:
                static std::string name()
                {
                        return boost::typeindex::type_id<T>().pretty_name();
                }
};

struct foobar {};

int main()
{
        cout << X<int>::name() << endl;
        cout << X<foobar>::name()<< endl;
}
Run Code Online (Sandbox Code Playgroud)

因此name(),我不想将其作为类变量,而是将其作为类变量.

c++ templates boost c++11

6
推荐指数
1
解决办法
642
查看次数

标签 统计

boost ×1

c++ ×1

c++11 ×1

colors ×1

default ×1

plot ×1

r ×1

templates ×1