小编Sez*_*zen的帖子

如何在rasterVis levelplot中将文本添加到特定/固定位置

实际上,这个问题包含针对相同行为的两个问题.

  1. 如何将文本(因每个面板而异)添加到面板区域中的固定位置?我知道panel.textlatticeExtra::layer 解决方案,但它使用绘图区域坐标添加文本.例如,我想在每个面板的右下角添加文本,即使它们的比例不同.

  2. 如何从levelplot面板区域添加文本?这里解释的方法要求levelplot有一个plot_01.legend.top.vp区域来添加我没有的文本,并且trellis之前绘制了对象.此外,我想在左下ylab图中添加文字.我ylab在这里用来说明行的含义但我需要第二个ylab来表示y轴值.我发现了这个问题的另一个 问题,但它不起作用.

样本图

上图是由raster::stack对象和rasterVis::levelplot方法创建的.我同意一个肮脏的解决方案,即使我更喜欢优雅的解决方案.尽管有上述问题,我仍然对其他使用的方法持开放态度levelplot.

r raster levelplot rastervis

7
推荐指数
1
解决办法
744
查看次数

错误:没有匹配的成员函数来调用“push_back”

为什么我在最后两行收到错误?目标是在集合中找到对象,并修改其内容。

using namespace std;

struct mystruct {
  int id;
  vector<int> y;
  mystruct(const int id):id(id) {}
  bool operator<(const mystruct& x) const { return id < x.id; }
  bool operator==(const mystruct& x) const { return id == x.id; }
};

void test() {
  std::set<mystruct> sx;
  mystruct x(1);
  x.y.push_back(1); x.y.push_back(2);
  sx.insert(x);
  //
  set<mystruct>::iterator i = sx.find(1);
  const mystruct* x1 = &(*i);
  const mystruct x2 = *x1;
  cout << &(i->y) << endl;
  cout << &(x1->y) << endl;
  cout << x2.id << endl;
  x2.y.push_back(3);
  i->y.push_back(4); …
Run Code Online (Sandbox Code Playgroud)

c++ struct vector set

5
推荐指数
1
解决办法
5974
查看次数

标签 统计

c++ ×1

levelplot ×1

r ×1

raster ×1

rastervis ×1

set ×1

struct ×1

vector ×1