- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个文件所有者设置为此 View 的 nib 文件,它只有一个 View 设置了自定义类 CPTGraphHostingView。它通过一个导出连接到这个 View 。此 View 加载,但它显示的是一个非常小的条形图。我真的不确定为什么。此外,任何添加到 IB View 中的内容都会颠倒过来。
图表在哪一点设置了宽度?我假设使用 self.view.bounds 只会让图表用完所有可用的屏幕空间。
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:@"PollResultView" bundle:nil];
self.title = @"Results";
return self;
}
#pragma mark - View lifecycle
- (void)viewDidLoad {
[super viewDidLoad];
graph = [[CPTXYGraph alloc] initWithFrame:self.view.bounds];
CPTXYPlotSpace *barPlotSpace = [[[CPTXYPlotSpace alloc] init] autorelease];
barPlotSpace.xRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(0)
length:CPTDecimalFromFloat(100)];
barPlotSpace.yRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(0)
length:CPTDecimalFromFloat(30)];
[graph addPlotSpace:barPlotSpace];
CPTMutableLineStyle *majorGridLineStyle = [CPTMutableLineStyle lineStyle];
majorGridLineStyle.lineWidth = 1.0f;
majorGridLineStyle.lineColor = [[CPTColor whiteColor] colorWithAlphaComponent:0.75f];
CPTMutableLineStyle *minorGridLineStyle = [CPTMutableLineStyle lineStyle];
minorGridLineStyle.lineWidth = 1.0f;
minorGridLineStyle.lineColor = [[CPTColor whiteColor] colorWithAlphaComponent:0.25f];
CPTXYAxisSet *axisSet = (CPTXYAxisSet *)graph.axisSet;
CPTXYAxis *x = axisSet.xAxis;
x.majorIntervalLength = CPTDecimalFromInteger(10);
x.minorTicksPerInterval = 9;
x.orthogonalCoordinateDecimal = CPTDecimalFromInteger(0);
x.majorGridLineStyle = majorGridLineStyle;
x.minorGridLineStyle = minorGridLineStyle;
x.axisLineStyle = nil;
x.majorTickLineStyle = nil;
x.minorTickLineStyle = nil;
x.labelOffset = 10.0f;
x.visibleRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(-0.5f)
length:CPTDecimalFromFloat(10.0f)];
x.gridLinesRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(0.0f)
length:CPTDecimalFromFloat(100.0f)];
x.title = @"X Axis";
x.titleOffset = 30.0f;
x.titleLocation = CPTDecimalFromFloat(5.0f);
x.plotSpace = barPlotSpace;
CPTXYAxis *y = axisSet.yAxis;
y.majorIntervalLength = CPTDecimalFromInteger(10);
y.minorTicksPerInterval = 9;
y.orthogonalCoordinateDecimal = CPTDecimalFromInteger(-0.5);
y.preferredNumberOfMajorTicks = 8;
y.majorGridLineStyle = majorGridLineStyle;
y.minorGridLineStyle = minorGridLineStyle;
x.axisLineStyle = nil;
x.majorTickLineStyle = nil;
x.minorTickLineStyle = nil;
x.labelOffset = 10.0f;
y.labelRotation = M_PI/2;
y.visibleRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(0.0f)
length:CPTDecimalFromFloat(100.0f)];
y.gridLinesRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(-0.5f)
length:CPTDecimalFromFloat(10.0f)];
y.title = @"Y Axis";
y.titleOffset = 30.0f;
y.titleLocation = CPTDecimalFromInteger(55);
y.plotSpace = barPlotSpace;
graph.axisSet.axes = [NSArray arrayWithObjects:x, y, nil];
CPTMutableLineStyle *barLineStyle = [[[CPTMutableLineStyle alloc] init] autorelease];
barLineStyle.lineWidth = 1.0f;
barLineStyle.lineColor = [CPTColor whiteColor];
CPTBarPlot *barPlot = [[[CPTBarPlot alloc] init] autorelease];
barPlot.lineStyle = barLineStyle;
barPlot.fill = [CPTFill fillWithColor:[CPTColor colorWithComponentRed:1.0f
green:0.0f
blue:0.5f
alpha:0.5f]];
barPlot.barBasesVary = YES;
barPlot.barWidth = CPTDecimalFromFloat(0.5f); // bar is 50% of the available space
barPlot.barCornerRadius = 10.0f;
barPlot.barsAreHorizontal = NO;
CPTMutableTextStyle *whiteTextStyle = [CPTMutableTextStyle textStyle];
whiteTextStyle.color = [CPTColor whiteColor];
barPlot.barLabelTextStyle = whiteTextStyle;
// barPlot.delegate = self;
barPlot.dataSource = self;
barPlot.identifier = @"Bar Plot 1";
[graph addPlot:barPlot toPlotSpace:barPlotSpace];
CPTBarPlot *barPlot2 = [CPTBarPlot tubularBarPlotWithColor:[CPTColor blueColor]
horizontalBars:NO];
barPlot2.lineStyle = barLineStyle;
barPlot2.fill = [CPTFill fillWithColor:[CPTColor colorWithComponentRed:0.0f
green:1.0f
blue:0.5f
alpha:0.5f]];
barPlot2.barBasesVary = YES;
barPlot2.barWidth = CPTDecimalFromFloat(1.0f);
barPlot2.barCornerRadius = 2.0f;
barPlot2.barsAreHorizontal = NO;
//barPlot2.delegate = self;
barPlot2.dataSource = self;
barPlot2.identifier = @"Bar Plot 2";
[graph addPlot:barPlot2 toPlotSpace:barPlotSpace];
CPTLegend *theLegend = [CPTLegend legendWithGraph:graph];
theLegend.numberOfRows = 2;
theLegend.fill = [CPTFill fillWithColor:[CPTColor colorWithGenericGray:0.15]];
theLegend.borderLineStyle = barLineStyle;
theLegend.cornerRadius = 10.0;
theLegend.swatchSize = CGSizeMake(20.0, 20.0);
whiteTextStyle.fontSize = 16.0;
theLegend.textStyle = whiteTextStyle;
theLegend.rowMargin = 10.0;
theLegend.paddingLeft = 12.0;
theLegend.paddingTop = 12.0;
theLegend.paddingRight = 12.0;
theLegend.paddingBottom = 12.0;
NSArray *plotPoint = [NSArray arrayWithObjects:[NSNumber numberWithInteger:0], [NSNumber numberWithInteger:95], nil];
CPTPlotSpaceAnnotation *legendAnnotation = [[[CPTPlotSpaceAnnotation alloc] initWithPlotSpace:barPlotSpace anchorPlotPoint:plotPoint] autorelease];
legendAnnotation.contentLayer = theLegend;
legendAnnotation.contentAnchorPoint = CGPointMake(0.0f, 1.0f);
[graph.plotAreaFrame.plotArea addAnnotation:legendAnnotation];
graphHostingView.hostedGraph = graph;
}
最佳答案
托管 View 将使图形自动填充其边界。只要托管 View 的大小正确地适合其容器,初始化它时使用什么都没有关系。这里发生了几件事:
您在白色背景上使用白色网格线。他们很难这样看。 :-) 更改线条颜色或在图形上设置不同颜色的填充。
在 y 轴上复制/粘贴错误:
x.axisLineStyle = nil;
x.majorTickLineStyle = nil;
x.minorTickLineStyle = nil;
应该是
y.axisLineStyle = nil;
y.majorTickLineStyle = nil;
y.minorTickLineStyle = nil;
无需设置坐标轴的可见范围——反正您也不会绘制它们。
也无需设置 gridLinesRange——默认值是您正在使用的绘图范围。
使用 barBasesVary,确保您的数据源也为 CPTBarPlotFieldBarBase
字段提供数据。
使用绘图空间注释时,图例的 anchor 必须在绘图空间范围内(当前为 x:[0, 100] 和 y:[0, 30]),否则不会可见。
您需要在 graph.plotAreaFrame
上设置填充以使轴标签和标题可见。您还可以调整 graph
上的填充以设置绘图区域框架外的整体边距。
埃里克
关于objective-c - 如何使用 Core Plot 设置图表宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7060403/
这个问题已经有答案了: Is there any way to accept only numeric values in a JTextField? (20 个回答) It's possible i
我使用戴尔 XPS M1710。笔记本电脑的盖子、侧面扬声器和前置扬声器都有灯(3 组灯可以单独调节)和鼠标垫下方的灯。在 BIOS 中,我可以更改这些灯的颜色,至少是每个组。另外,我可以在鼠标垫下打
我知道我可以使用 在 iOS 5 中打开设置应用 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs://"
我有一个 Django 应用程序,我正在尝试为其设置文档。目录结构如下: - doc - project | - manage.py 我已经设置了路径以便 Sphinx 可以看到东西,但是当我尝试使用
我正在使用 768mb ram 运行 centos 5.5。我一直在日志中获取 server reached MaxClients setting, consider raising the MaxC
我在具有以下配置的服务器内运行了 Drupal 安装: StartServers 5 MinSpareServers 5 MaxSpareServers 15 MaxClien
是否可以使用 Microsoft.Web.Administration 包为给定的 location 配置 asp 设置? 我想以编程方式将以下部分添加到本地 IIS applicationHost.
我一直在阅读为 kube-proxy 提供参数的文档,但没有解释应该如何使用这些参数。我使用 az aks create 创建我的集群使用 azure-cli 程序,然后我获得凭据并使用 kubect
我想知道与在 PHP 中使用 setcookie() 函数相比,在客户端通过 JavaScript 设置一些 cookie 是否有任何明显的优势?我能想到的唯一原因是减少一些网络流量(第一次)。但不是
我有一个按钮可以将 body class 设置为 .blackout 我正在使用 js-cookie设置cookie,下面的代码与我的按钮相关联。 $('#boToggle').on('click'
我有一堆自定义的 HTML div。我将其中的 3 存储在具有 slide 类的 div 中。然后,我使用该幻灯片类调用 slick 函数并应用如下设置: $('.slide').slick({
我正在创建一个应该在 Windows 8(桌面)上运行的应用 我需要: 允许用户使用我的应用启动“文件历史记录”。我需要找到打开“文件历史记录”的命令行。 我需要能够显示“文件历史记录”的当前设置。
我刚买了一台新的 MacBook Pro,并尝试在系统中设置 RVM。我安装了 RVM 并将默认设置为 ➜ rvm list default Default Ruby (for new shells)
由于有关 Firestore 中时间戳行为即将发生变化的警告,我正在尝试更改我的应用的初始化代码。 The behavior for Date objects stored in Firestore
在 ICS 中,网络 -> 数据使用设置屏幕中现在有“限制后台数据”设置。 有没有办法以编程方式为我的应用程序设置“限制后台数据”? 或 有没有办法为我的应用程序调出具有选项的“数据使用”设置? 最佳
我正在尝试使用 NextJS 应用程序设置 Jest,目前在 jest.config.js : module.exports = { testPathIgnorePatterns: ["/.n
我最近升级到 FlashDevelop 4,这当然已经将我之前的所有设置恢复到原来的状态。 我遇到的问题是我无法在新设置窗口的哪个位置找到关闭它在方括号、大括号等之前插入的自动空格的选项。 即它会自动
有没有办法以编程方式访问 iPhone/iPod touch 设置? 谢谢。比兰奇 最佳答案 大多数用户设置可以通过读取存储在 /User/Library/Preferences/ 中的属性列表来访问
删除某些值时,我需要选择哪些设置来维护有序队列。我创建了带有自动增量和主键的 id 的表。当我第一次插入值时,没问题。就像 1,2,3,4,5... 当删除某些值时,顺序会发生变化,例如 1,5,3.
我正在尝试设置示例 Symfony2 项目,如此处所示 http://symfony.com/doc/current/quick_tour/the_big_picture.html 在访问 confi
我是一名优秀的程序员,十分优秀!