我经常使用ggplot2它使渐变很好(点击此处查看示例).我需要在基地工作,我认为scales可以在那里使用来创建颜色渐变,但我严重偏离了如何.基本目标是生成n种颜色的调色板,范围从x颜色到y颜色.解决方案需要在基础上工作.这是一个起点,但没有地方输入n.
scale_colour_gradientn(colours=c("red", "blue"))
Run Code Online (Sandbox Code Playgroud)
我很清楚:
brewer.pal(8, "Spectral")
Run Code Online (Sandbox Code Playgroud)
来自RColorBrewer.我正在寻找更类似于ggplot2处理渐变的方法,这些渐变表示我有这两种颜色,我想要沿途有15种颜色.我怎样才能做到这一点?
我在XCode 4.2中使用GLUT和C编写了一个非常简单的程序.
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH);
glutInitWindowSize(640, 480);
glutCreateWindow("GLUT Program");
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutIdleFunc(idle);
glutMainLoop();
return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)
当窗口打开时,我无法通过左上角的红色按钮(Mac)关闭它,因为它显示为灰色.如果我所做的任何Java编程都是模型,那么应该有一些函数可以设置关闭操作,以便红色退出按钮起作用.我似乎也找不到最新版GLUT的文档.每当我谷歌它,我似乎得到OpenGL文档,这让我有点困惑,然后我在两者之间的关系(我认为GLUT是一个与OpenGL交互的跨平台接口).
我无法弄清楚如何从mpc正确查询mpd.
例如:我知道如何列出所有专辑
mpc list album
Run Code Online (Sandbox Code Playgroud)
但是我希望得到更多的名字.
如何查询mpd的专辑名称,专辑路径,艺术家,曲目编号,长度等.优选地,在一个查询中,但是多个查询也是可以的.
我试着阅读mpc手册页和mpd的官方文档但是无法弄明白.
我正在尝试使用QGraphicsView生成可单击的HVS颜色空间小部件。整个QGraphicsView的背景应类似于下图(无jpeg-artefacts)。单击位置x,y将显示光标下方的颜色。

我不想直接使用图像,而是想过要使用qstylesheets在两个方向(水平和垂直)上使用qlineargradient。实际上我不知道该怎么做!
简单地使用水平色标是直截了当的,我不知道如何添加额外的垂直(白色-黑色)渐变。我到目前为止(从QGraphicsView继承的类的内部构造函数中)得到的是:
QColor hsvColor[6];
hsvColor[0].setHsv(0, 255, 255);
hsvColor[1].setHsv(60, 255, 255);
hsvColor[2].setHsv(120, 255, 255);
hsvColor[3].setHsv(180, 255, 255);
hsvColor[4].setHsv(240, 255, 255);
hsvColor[5].setHsv(300, 255, 255);
QString styleH = QString("background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0,") +
QString("stop:0.000 rgba(%1, %2, %3, 255),").arg( hsvColor[0].red() ).arg( hsvColor[0].green() ).arg( hsvColor[0].blue() ) +
QString("stop:0.166 rgba(%1, %2, %3, 255),").arg( hsvColor[1].red() ).arg( hsvColor[1].green() ).arg( hsvColor[1].blue() ) +
QString("stop:0.333 rgba(%1, %2, %3, 255),").arg( hsvColor[2].red() ).arg( hsvColor[2].green() ).arg( hsvColor[2].blue() ) +
QString("stop:0.500 rgba(%1, %2, %3, 255),").arg( hsvColor[3].red() ).arg( hsvColor[3].green() ).arg( hsvColor[3].blue() ) …Run Code Online (Sandbox Code Playgroud) log2(x) := log(x) / log(2);
log2(8), float;
Run Code Online (Sandbox Code Playgroud)
但这并没有给出 3,而是得到log(8)/log(2)。
我想简化 log(8)/log(2)
我知道
log(8)/log(2) = log(2^3)/log(2) = 3*log(2)/log(2) = 3
Run Code Online (Sandbox Code Playgroud)
这在 Maxima 中是可能的,但对我不起作用:
Maxima 5.41.0 http://maxima.sourceforge.net
using Lisp GNU Common Lisp (GCL) GCL 2.6.12
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) log(8)/log(2);
log(8)
(%o1) ------
log(2)
(%i2) logexpand;
(%o2) true
(%i3) log(2^3)/log(2);
(%o3) log(8)
------
log(2)
(%i4) logexpand;
(%o4) true
Run Code Online (Sandbox Code Playgroud)
我用:
round(float(log(8)/log(2));
Run Code Online (Sandbox Code Playgroud)
但我认为这不是最好的解决方案(我使用整数)
问题:
我有一个C程序的问题.它在我进行一些更改之前工作(来自define do var声明).现在:
gcc m.c -lm -Wall -march=native所以我尝试使用gdb找到问题.现在我知道了更多:
Program received signal SIGSEGV, Segmentation fault.
0x0000000000400bbb in GivePeriod (Cx=-0,75, Cy=-0, Iteration_Max=650000,
precision=0,00033329999999999997) at m.c:137
137 orbit[0][0]=0.0;
Run Code Online (Sandbox Code Playgroud)
问题在于功能(代码没有改变),代码如下.
我怎样才能找到问题?
gcc版本4.8.1(Ubuntu/Linaro 4.8.1-10ubuntu9)
/*-------------------------------*/
// this function is based on program:
// Program MANCHAOS.BAS
// http://sprott.physics.wisc.edu/chaos/manchaos.bas
// (c) 1997 by J. C. Sprott
//
int GivePeriod(double Cx,double Cy, int Iteration_Max, double precision)
{
double Zx2, Zy2, /* Zx2=Zx*Zx; Zy2=Zy*Zy */
ZPrevieousX,ZPrevieousY,
ZNextX,ZNextY;
int Iteration,
I;
double orbit[Iteration_Max+1][2]; /* array elements are …Run Code Online (Sandbox Code Playgroud) 我有一个 maxima 列表,例如:
x:[1,3,7,98,211,3,2.44,23]
Run Code Online (Sandbox Code Playgroud)
我需要找到列表的最大值以及最大值位于哪个位置。
我唯一想到的是将列表重写为序列并应用“max”命令
max(first(x),second(x),...,last(x))
Run Code Online (Sandbox Code Playgroud)
但效率不高,而且我不知道得到最大值的索引。
有谁能够帮助我?
我尝试使用snprintf将一些数字转换为字符串.name1在逗号后应与name2具有相同的数字.
#include <stdio.h>
#define length 50
int main()
{
char name1 [length];
char name2 [length];
double step= 0.00001;
unsigned long long int iterMax =100000000000;
int k;
for (k = 0; k <= 20; k++)
{ printf("numbers : k = %2d ; k*step = %f ;", k, k*step);
snprintf(name1,length+1,"%f", iterMax+k*step); /* */
snprintf(name2,length+1, " %f", k*step); /* */
printf("strings : k*step = %s ; iterMax+k*step = %s \n",name2, name1);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
编译它:
gcc t.c -Wall
Run Code Online (Sandbox Code Playgroud)
输出是:
./a.out
numbers : …Run Code Online (Sandbox Code Playgroud)