iOS Core Plot - 散点图符号颜色外观
Posted
技术标签:
【中文标题】iOS Core Plot - 散点图符号颜色外观【英文标题】:iOS Core Plot - Scatter plot symbol color appearance 【发布时间】:2014-02-08 03:41:57 【问题描述】:我正在使用 CorePlot 进行散点图,并且想知道如何获得具有这种颜色效果的散点图的圆圈,就像这里 http://i.stack.imgur.com/7ZcqY.jpg 我想得到CPTXYScatterPlot - Can I set the Z order of plot symbols?中的颜色。
【问题讨论】:
【参考方案1】:在您的 symbolForScatterPlot
实现中,创建一个带有渐变填充的 circlePlotSymbol,如下所示:
CPTPlotSymbol *circlePlotSymbol = [CPTPlotSymbol ellipsePlotSymbol];
// Obviously for a real bubble chart you'll want to get the color from somewhere so they're not all the same
CPTColor *endColor = [CPTColor redColor];
CPTColor *startColor = [endColor colorWithAlphaComponent:0.4f];
CPTGradient *gradient = [CPTGradient gradientWithBeginningColor:startColor endingColor:endColor];
然后将渐变类型设置为径向,并将渐变设置为 plotSymbol 上的填充。如果您希望它看起来像是从某个角度照亮的,您可以将 startAnchor 设置为偏离中心的点:
gradient.gradientType = CPTGradientTypeRadial;
graphGradient.startAnchor = CGPointMake(0.35, 0.75);
circlePlotSymbol.fill = [CPTFill fillWithGradient:gradient];
如果您不希望圆圈周围有边框,请将线条样式颜色设置为清除和/或将宽度设置为 0.0f(可能不需要两者都做):
CPTMutableLineStyle *lineStyle = [[CPTMutableLineStyle alloc] init];
lineStyle.lineColor = [CPTColor clearColor];
lineStyle.lineWidth = 0.0f;
circlePlotSymbol.lineStyle = lineStyle;
[lineStyle release];
设置气泡的大小:
// For a real bubble chart, you'll need to calculate this from your data
circlePlotSymbol.size = CGSizeMake(50.0f, 50.0f);
并返回您的绘图符号:
return circlePlotSymbol;
应该这样做。我面前没有我的代码,所以我从这里记忆(请原谅任何拼写错误或语法错误,因为我现在也无法访问编译器),但希望这会很接近足以让你指向正确的方向。
【讨论】:
但是我无法得到你得到的效果。在您的绘图中,对于每个圆圈,最亮的点不在中心,而是向顶部倾斜。 @Dinesh - 那是因为我忘记了一步...将渐变上的 startAnchor 属性设置为偏离中心的位置。上面编辑的代码。以上是关于iOS Core Plot - 散点图符号颜色外观的主要内容,如果未能解决你的问题,请参考以下文章
R语言使用ggplot2包geom_jitter()函数绘制分组(strip plot,一维散点图)带状图(单色填充分组颜色填充)实战
python使用matplotlib可视化散点图(scatter plot)根据matplotlib中数据点的值更改数据点的颜色数值更大的点颜色更深
R语言使用ggplot2包geom_jitter()函数绘制分组(strip plot,一维散点图)带状图(颜色配置:连续色彩离散色彩色彩梯度)实战
R语言散点图可视化:自定义标题和标签拟合回归线lowess为散点图添加平滑拟合线修改散点图中点颜色和点符号分组散点图添加图例pairs可视化散点图矩阵ggplt2可视化lattice