我是iPhone开发的新手,目前正忙着重新创建我为Silverlight开发的图表工具.
目前我正在使用渐变来"填充"表示图表中条形的矩形.是否可以为此渐变设置动画,以便在用户触摸图表中的条形时更改颜色.
我查看了Apple提供的核心动画指南,但看不到以渐变为目标的属性.我想我可以在两个rects之间使用转换淡入淡出,其中一个具有我的起始渐变,第二个具有'触摸'版本,但这意味着显然为每个条形图绘制多个rect对象,我假设额外的性能开销.
有任何想法吗?
我有以下代码和LinearGradient,它与其他所有示例看起来非常相似.
public class CustomColourBar extends View
{
public CustomColourBar( Context context, AttributeSet attribs )
{
super( context, attribs );
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
{
setMeasuredDimension(170, 40);
}
@Override
protected synchronized void onDraw( Canvas canvas )
{
int height = this.getMeasuredHeight();
int width = this.getMeasuredWidth();
LinearGradient shader = new LinearGradient(
0, 0, 0, height,
Color.RED, Color.YELLOW,
Shader.TileMode.CLAMP );
Paint paint = new Paint();
paint.setShader(shader);
RectF fgRect = new RectF( 0, 0, width, height);
canvas.drawRoundRect(fgRect, 7f, 7f, paint); …Run Code Online (Sandbox Code Playgroud) 我正在尝试用CSS 3样式替换当前在网站上使用的基于sIFR的闪光效果.我使用CSS 3可以很好地处理文本渐变效果,但原始的sIFR实现有多种颜色,而不仅仅是一种颜色的简单渐变.
有人能为我提供一个使用沿水平轴的多种颜色样式化文本元素(例如H2)的示例吗?
谢谢,Brian.
我目前正在使用画布编写一个小游戏.对于游戏,我需要某种雾,它隐藏了地图的大部分区域,并且只能看到玩家周围的一小块区域.我使用第二个画布覆盖游戏发生的那个并用渐变填充(从透明到黑色):
function drawFog(){
fogc.clearRect(0,0,700,600);
// Create gradient
var grd=fogc.createRadialGradient(player.getPosX(),player.getPosY(),0,player.getPosX(),player.getPosY(),100);
grd.addColorStop(0,"rgba(50,50,50,0)");
grd.addColorStop(1,"black");
// Fill with gradient
fogc.fillStyle=grd;
fogc.fillRect(0,0,700,600);
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,这会导致巨大的性能问题,因为它会在每一帧重绘.
我想问一下是否有更好的解决方案可以达到同样的效果并获得更好的性能.
我正在做的工作基本上是随机走动,但每个步骤之后都有被捕的可能性。我从K个人开始,然后有一个图形绘制log(k)与n的关系,其中k是在n步中幸存的人数。
plt.plot(n,numpy.log(k)
Run Code Online (Sandbox Code Playgroud)
我需要找到该图的梯度,但也想做一条最合适的线,对您的帮助将不胜感激!
我有以下CSS代码:
.window-close {
margin-right: 3px;
background: rgba(234, 145, 116, 1);
background: url(http://obrazki.elektroda.pl/8243166200_1420736650.png), -moz-linear-gradient(top, rgba(234, 145, 116, 1) 0%, rgba(205, 74, 30, 1) 100%);
background: url(http://obrazki.elektroda.pl/8243166200_1420736650.png), -webkit-gradient(left top, left bottom, color-stop(0%, rgba(234, 145, 116, 1)), color-stop(100%, rgba(205, 74, 30, 1)));
background: url(http://obrazki.elektroda.pl/8243166200_1420736650.png), -webkit-linear-gradient(top, rgba(234, 145, 116, 1) 0%, rgba(205, 74, 30, 1) 100%);
background: url(http://obrazki.elektroda.pl/8243166200_1420736650.png), -o-linear-gradient(top, rgba(234, 145, 116, 1) 0%, rgba(205, 74, 30, 1) 100%);
background: url(http://obrazki.elektroda.pl/8243166200_1420736650.png), -ms-linear-gradient(top, rgba(234, 145, 116, 1) 0%, rgba(205, 74, 30, 1) 100%);
background: url(http://obrazki.elektroda.pl/8243166200_1420736650.png), …Run Code Online (Sandbox Code Playgroud) 为什么不采用绿色?它保持蓝色......
require(ggplot2)
data(iris)
ggplot(iris,aes(Sepal.Length,Sepal.Width,col=Petal.Length,pch=Species,size=Petal.Width))+
scale_fill_gradient(low="green",high="darkgreen")+
ggtitle('Why so blue?')+geom_point()
Run Code Online (Sandbox Code Playgroud)
有什么建议?
我想创建一个量规以可视化一个变量对另一个变量有或多或少的影响。
我建立了一个绘制仪表的函数,并用3种不同的颜色填充它。
gg.gauge <- function(pos,breaks=c(0,33,66,100),determinent) {
require(ggplot2)
get.poly <- function(a,b,r1=0.5,r2=1.0) {
th.start <- pi*(1-a/100)
th.end <- pi*(1-b/100)
th <- seq(th.start,th.end,length=100)
x <- c(r1*cos(th),rev(r2*cos(th)))
y <- c(r1*sin(th),rev(r2*sin(th)))
return(data.frame(x,y))
}
ggplot()+
geom_polygon(data=get.poly(breaks[1],breaks[2]),aes(x,y), fill = "red")+
geom_polygon(data=get.poly(breaks[2],breaks[3]),aes(x,y), fill = "gold")+
geom_polygon(data=get.poly(breaks[3],breaks[4]),aes(x,y), fill = "green")+
geom_polygon(data=get.poly(pos-1,pos+1,0.2),aes(x,y))+
geom_text(data=as.data.frame(breaks), size=5, fontface="bold", vjust=0,
aes(x=0.8*cos(pi*(1- breaks/100)),y=-0.1),label=c('Less','','',"More"))+
annotate("text",x=0,y=0,label=determinent,vjust=0,size=8,fontface="bold")+
coord_fixed()+
theme_bw()+
theme(axis.text=element_blank(),
axis.title=element_blank(),
axis.ticks=element_blank(),
panel.grid=element_blank(),
panel.border=element_blank(),
legend.position = "none")
}
Run Code Online (Sandbox Code Playgroud)
输出:
我想用令人愉悦的颜色填充,这样它就可以从红色(低)到绿色(高)淡出效果,而不会出现明显的切痕。
我尝试使用scale_fill_grdientn没有正面结果。
谢谢
我有XY我想使用曲线图的数据scatter plot,用R的plotly包.
set.seed(1)
df <- data.frame(x=c(rnorm(30,1,1),rnorm(30,5,1),rnorm(30,9,1)),
y=c(rnorm(30,1,1),rnorm(30,5,1),rnorm(30,9,1)),
group=c(rep("A",30),rep("B",30),rep("C",30)),score=runif(90,0,1))
Run Code Online (Sandbox Code Playgroud)
每个点都分配给三个组中的一个(df$group)并且在该[0,1]范围内具有分数.
我正在寻找一种方法来绘制数据图形,使每组用不同颜色着色,但颜色(或强度)的阴影反映了分数.
所以我认为这会奏效:
library(dplyr)
library(plotly)
plot_ly(marker=list(size=10),type='scatter',mode="markers",x=~df$x,y=~df$y,color=~df$score,colors=c("#66C2A5","#FC8D62","#8DA0CB")) %>%
layout(xaxis=list(title="X",zeroline=F,showticklabels=F),yaxis=list(title="Y",zeroline=F,showticklabels=F))
Run Code Online (Sandbox Code Playgroud)
如果我只是通过group以下颜色代码:
plot_ly(marker=list(size=10),type='scatter',mode="markers",x=~df$x,y=~df$y,color=~df$group,colors=c("#66C2A5","#FC8D62","#8DA0CB")) %>%
layout(xaxis=list(title="X",zeroline=F,showticklabels=F),yaxis=list(title="Y",zeroline=F,showticklabels=F))
Run Code Online (Sandbox Code Playgroud)
所以看起来它正在混合group颜色和score渐变.
我正在寻找的是有绿色的色调(比如从有色左下方组gray到darkgreen)对应于score(从低到高),与同为分别在橙色和蓝色,其他两组.