实际上,这个问题包含针对相同行为的两个问题.
如何将文本(因每个面板而异)添加到面板区域中的固定位置?我知道panel.text并latticeExtra::layer
解决方案,但它使用绘图区域坐标添加文本.例如,我想在每个面板的右下角添加文本,即使它们的比例不同.
如何从levelplot面板区域添加文本?这里解释的方法要求levelplot有一个plot_01.legend.top.vp区域来添加我没有的文本,并且trellis之前绘制了对象.此外,我想在左下ylab图中添加文字.我ylab在这里用来说明行的含义但我需要第二个ylab来表示y轴值.我发现了这个问题的另一个
问题,但它不起作用.
上图是由raster::stack对象和rasterVis::levelplot方法创建的.我同意一个肮脏的解决方案,即使我更喜欢优雅的解决方案.尽管有上述问题,我仍然对其他使用的方法持开放态度levelplot.
为什么我在最后两行收到错误?目标是在集合中找到对象,并修改其内容。
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)