我有想要用线图显示的数据(随时间变化的深度).为清楚起见,我想放大一个部分,但仍然向用户显示数据继续超出绘图范围.所以我希望线条停留在情节的边缘,而不是最后一点.这在基本图形中足够简单,但我无法在ggplot中使其工作.这是一个基础的例子:
d <- data.frame(x = 1:10, y = 1:10)
plot(d$x, d$y, xlim = c(2,9))
lines(d$x, d$y)
Run Code Online (Sandbox Code Playgroud)
与ggplot类似的方法不起作用; 线条停在最后一点.例:
d <- data.frame(x = 1:10, y = 1:10)
ggplot(d, aes(x, y)) + geom_point() + geom_line() + xlim(2,9)
Run Code Online (Sandbox Code Playgroud)
有没有办法让线条在ggplot中运行到情节的边缘?谢谢.
我正在尝试从Objective-C类中获取实例变量的名称.假设我有一个看起来像这样的类:
@interface MyClass : NSObject
@property (nonatomic, copy) NSSNumber *myVar;
@end
Run Code Online (Sandbox Code Playgroud)
鉴于myVar,我想获得"myVar".然后我可以在这样的日志中使用它:
MyClass *myObject = [[myClass alloc] init];
NSLog(@"The variable is named: %@", getVarName([myObject myVar]));
Run Code Online (Sandbox Code Playgroud)
然后日志会说:The variable is named myVar.谢谢您的帮助!
PS我想要这样做的原因是创建一个编码变量以进行归档的方法.所以当我编写我的encodeWithCoder方法时,我可以做这样的事情:
- (void)encodeWithCoder:(NSCoder *)aCoder
{
NSArray *varsForEncoding = [[NSArray alloc] initWithObjects:var1, var2, var3, nil];
for (NSObject *var in varsForEncoding)
{
[aCoder encodeObject:var forKey:getVarName(var)];
}
}
Run Code Online (Sandbox Code Playgroud)
然后反过来initWithCoder.这样可以防止打字错误,例如@"myVar"在编码时使用键但输入@"mVar"初始化程序.